Compare commits

..

3 Commits
master ... wr

Author SHA1 Message Date
WeiRan 4883f0834e Merge branch 'master' of https://gitea.qinmian.online/a_bazu/cloud-web into wr
# Conflicts:
#	src/views/market/apitest/index.vue
#	src/views/market/orders/index.vue
2024-09-09 21:06:35 +08:00
WeiRan c407e1cf82 Merge branch 'dev' of https://gitea.qinmian.online/a_bazu/cloud-web into wr
# Conflicts:
#	src/views/market/apitest/index.vue
#	src/views/market/orders/index.vue
2024-09-09 21:01:31 +08:00
WeiRan b521eb0c12 企业管理完善新增 2024-09-09 20:52:29 +08:00
19 changed files with 632 additions and 821 deletions

View File

@ -47,3 +47,10 @@ export function delapi(productId){
}) })
} }
export function getprice(productId){
return request({
url:"/background/apimanage/getprice/"+productId,
method: "POST",
})
}

View File

@ -71,14 +71,10 @@ export function getOut(){
export function updateByordersState1(data){ export function updateByordersState1(data){
return request({ return request({
url:"/market/orders/updateByordersState1",
method: "GET",
data: data
})}
export function listreclaim(data){
return request({
url:"/market/orders/listreclaim", url:"/market/orders/updateByordersState1",
method: "POST", method: "POST",
data: data data: data
})} })}

View File

@ -7,3 +7,12 @@ export function gethostportList(){
method: "GET", method: "GET",
}) })
} }
export function getcompany(){
return request({
url:"/market/company/selectcompany",
method: "POST",
})
}

View File

@ -148,7 +148,31 @@ export const constantRoutes = [
path: 'index', path: 'index',
name: 'apiupdmessage', name: 'apiupdmessage',
component: () => import('@/views/background/apiupdmessage/index.vue'), component: () => import('@/views/background/apiupdmessage/index.vue'),
meta: { title: '接口列表', icon: 'form' } meta: { title: '接口信息修改页面', icon: 'form' }
}
]
},
{
path: '/product',
component: Layout,
children: [
{
path: 'index',
name: 'product',
component: () => import('@/views/market/product/index.vue'),
meta: { title: '数据块', icon: 'form' }
}
]
},
{
path: '/Workbench',
component: Layout,
children: [
{
path: 'index',
name: 'Workbench',
component: () => import('@/views/market/workbench/index.vue'),
meta: { title: '信息', icon: 'form' }
} }
] ]
}, },

View File

@ -116,10 +116,12 @@
:total="total"> :total="total">
</el-pagination> </el-pagination>
<!--新增对话框-->
<el-dialog <el-dialog
title="提示" title="新增接口"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
width="30%" width="60%"
:before-close="handleClose"> :before-close="handleClose">
<center> <center>
<el-form :model="api" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm"> <el-form :model="api" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
@ -132,9 +134,6 @@
<el-form-item label="接口描述" prop="productContent" style="width: 70%"> <el-form-item label="接口描述" prop="productContent" style="width: 70%">
<el-input type="text" v-model="api.productContent" autocomplete="off"></el-input> <el-input type="text" v-model="api.productContent" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="接口价格" prop="productPrice" style="width: 70%">
<el-input type="text" v-model="api.productPrice" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="接口来源" prop="productFrom" style="width: 70%"> <el-form-item label="接口来源" prop="productFrom" style="width: 70%">
<el-input type="text" v-model="api.productFrom" autocomplete="off"></el-input> <el-input type="text" v-model="api.productFrom" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
@ -150,6 +149,28 @@
<el-form-item label="请求方式" prop="requestMethod" style="width: 70%"> <el-form-item label="请求方式" prop="requestMethod" style="width: 70%">
<el-input type="text" v-model="api.requestMethod" autocomplete="off"></el-input> <el-input type="text" v-model="api.requestMethod" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="选择默认规格" prop="requestMethod" style="width: 70%">
<el-select v-model="api.productSpecification" placeholder="请选择默认规格">
<el-option label="按次查询" value="按次查询"></el-option>
<el-option label="包日" value="包日"></el-option>
<el-option label="包月" value="包月"></el-option>
<el-option label="包年" value="包年"></el-option>
</el-select>
</el-form-item>
<el-divider></el-divider>
<span>价格</span>
<el-form-item label="按次查询" prop="requestMethod" style="width: 70%">
<el-input type="text" v-model="api.timemoney" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="包日" prop="requestMethod" style="width: 70%">
<el-input type="text" v-model="api.daymoney" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="包月" prop="requestMethod" style="width: 70%">
<el-input type="text" v-model="api.monthmoney" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="包年" prop="requestMethod" style="width: 70%">
<el-input type="text" v-model="api.yearmoney" autocomplete="off"></el-input>
</el-form-item>
</el-form> </el-form>
</center> </center>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
@ -171,14 +192,13 @@
//import from ', //import from ',
import { import {
addproduct, addproduct,
delapi, delapi, getprice,
productStateLis,
productStateList,
selectapiList, selectapiList,
UpdproductState UpdproductState
} from "@/api/background/apimanage"; } from "@/api/background/apimanage";
import {resetForm} from "@/utils/muyu"; import {resetForm} from "@/utils/muyu";
import {add} from "lodash/math"; import {add} from "lodash/math";
import api from "js-cookie";
export default { export default {
name: "Apimanage", name: "Apimanage",
@ -189,6 +209,13 @@ export default {
//" //"
return { return {
tableData:[], tableData:[],
moneyData:[],
money:{
timemoney:'',
daymoney:'',
monthmoney:'',
yearmoney:''
},
ruleForm:{ ruleForm:{
pageNum:1, pageNum:1,
pageSize:9, pageSize:9,
@ -253,7 +280,21 @@ export default {
}, },
// //
handleEdit(row){ handleEdit(row){
this.$router.push({path:"/apiupdmessage/index",query:{api:row}}) //
getprice(row.productId).then(response=>{
this.moneyData=response.data
this.money.timemoney=this.moneyData[0].middlePrice
this.money.daymoney=this.moneyData[1].middlePrice
this.money.monthmoney=this.moneyData[2].middlePrice
this.money.yearmoney=this.moneyData[3].middlePrice
row.timemoney = this.money.timemoney;
row.daymoney = this.money.daymoney;
row.monthmoney = this.money.monthmoney;
row.yearmoney = this.money.yearmoney;
this.$router.push({path:"/apiupdmessage/index",query:{api:row}})
})
}, },
// //
handleDelete(row){ handleDelete(row){

View File

@ -20,9 +20,6 @@
<el-form-item label="接口销量" prop="productSales" style="width: 70%"> <el-form-item label="接口销量" prop="productSales" style="width: 70%">
<el-input type="text" v-model="api.productSales" autocomplete="off"></el-input> <el-input type="text" v-model="api.productSales" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="接口价格" prop="productPrice" style="width: 70%">
<el-input type="text" v-model="api.productPrice" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="接口来源" prop="productFrom" style="width: 70%"> <el-form-item label="接口来源" prop="productFrom" style="width: 70%">
<el-input type="text" v-model="api.productFrom" autocomplete="off"></el-input> <el-input type="text" v-model="api.productFrom" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
@ -38,6 +35,28 @@
<el-form-item label="请求方式" prop="requestMethod" style="width: 70%"> <el-form-item label="请求方式" prop="requestMethod" style="width: 70%">
<el-input type="text" v-model="api.requestMethod" autocomplete="off"></el-input> <el-input type="text" v-model="api.requestMethod" autocomplete="off"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="选择默认规格" prop="requestMethod" style="width: 70%">
<el-select v-model="api.productSpecification" placeholder="请选择默认规格">
<el-option label="按次查询" value="按次查询"></el-option>
<el-option label="包日" value="包日"></el-option>
<el-option label="包月" value="包月"></el-option>
<el-option label="包年" value="包年"></el-option>
</el-select>
</el-form-item>
<el-divider></el-divider>
<span>价格</span>
<el-form-item label="按次查询" prop="requestMethod" style="width: 70%">
<el-input type="text" v-model="api.timemoney" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="包日" prop="requestMethod" style="width: 70%">
<el-input type="text" v-model="api.daymoney" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="包月" prop="requestMethod" style="width: 70%">
<el-input type="text" v-model="api.monthmoney" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="包年" prop="requestMethod" style="width: 70%">
<el-input type="text" v-model="api.yearmoney" autocomplete="off"></el-input>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="submitForm(api)"></el-button> <el-button type="primary" @click="submitForm(api)"></el-button>
<el-button @click="resetForm('ruleForm')"></el-button> <el-button @click="resetForm('ruleForm')"></el-button>

View File

@ -1,6 +1,12 @@
<template> <template>
<div> <div>
<span> <div>
<el-dialog
title="提示"
:visible.sync="dialogVisible"
width="30%"
>
<span>
<el-radio-group v-model="labelPosition" size="small"> <el-radio-group v-model="labelPosition" size="small">
<el-radio-button label="left">左对齐</el-radio-button> <el-radio-button label="left">左对齐</el-radio-button>
<el-radio-button label="right">右对齐</el-radio-button> <el-radio-button label="right">右对齐</el-radio-button>
@ -9,7 +15,7 @@
<div style="margin: 20px;"></div> <div style="margin: 20px;"></div>
<el-form :label-position="labelPosition" label-width="80px" :model="tableMsg"> <el-form :label-position="labelPosition" label-width="80px" :model="tableMsg">
<el-form-item label="任务id"> <el-form-item label="任务id">
<el-input v-model="tableMsg.taskId" :disabled="true"></el-input> <el-input v-model="tableMsg.id" :disabled="true"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="数据库id"> <el-form-item label="数据库id">
<el-input v-model="tableMsg.databaseId" :disabled="true"></el-input> <el-input v-model="tableMsg.databaseId" :disabled="true"></el-input>
@ -18,104 +24,41 @@
<el-cascader <el-cascader
v-model="tableMsg.tableName" v-model="tableMsg.tableName"
:options="tables" :options="tables"
:props="{ expandTrigger: 'hover',value:'name',label:'name',children:'tableNames' }" :props="{ expandTrigger: 'hover',value:'id',label:'name',children:'tableNames' }"
@change="handleChange"></el-cascader> @change="handleChange"></el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="表别名"> <el-form-item label="表别名">
<el-input v-model="tableMsg.tableAsName"></el-input> <el-input v-model="tableMsg.tableAsField"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</span> </span>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button> <el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="nextOne()"></el-button> <el-button type="primary" @click="dialogVisible = false"> </el-button>
</span> </span>
</el-dialog>
<el-dialog </div>
title="提示"
:visible.sync="dialogVisible1"
width="65%"
>
<el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column label="ID" width="120">
<template slot-scope="scope">{{ scope.row.id }}</template>
</el-table-column>
<el-table-column prop="field" label="字段名称" width="120"/>
<el-table-column prop="type" label="字段类型" width="120"/>
<el-table-column prop="collation" label="编码格式" width="120"/>
<el-table-column prop="nullable" label="是否为空" width="120"/>
<el-table-column prop="primarys" label="主键" width="120"/>
<el-table-column prop="annotation" label="注释" width="120"/>
<el-table-column label="表别名" width="120">
<template slot-scope="scope">{{ scope.row.dataField }}</template>
</el-table-column>
<el-table-column label="规则" width="120">
<template slot-scope="scope">
<el-select v-model="scope.row.fieldEngineId" placeholder="无规则">
<el-option label="无规则" value="1"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</template>
</el-table-column>
</el-table>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible1 = false"> </el-button>
<el-button type="primary" @click="doSure()"> </el-button>
</span>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
//jsjsjson, //jsjsjson,
//import from ', //import from ',
import {addTableField, addTaskInfo, extractDataName, selectByTableName} from "../../../api/etl/etl"; import {extractDataName} from "../../../api/etl/etl";
import node from "../../../components/ef/node.vue";
export default { export default {
name: "task", name: "task",
//import使" //import使"
components: {}, components: {},
props: ['nodesIds'], props: {},
data() { data() {
//" //"
return { return {
allFields:{
taskId: this.$route.query.id,
nodeId: this.nodesIds,
field:"",
asField:"",
isNull:"",
comment:""
},
tableData:[],
dataForm:true,
dialogVisible1: false,
tables:{},
tableMsg:{
//nodeId
nodeId: this.nodesIds,
//ID
taskId: this.$route.query.id,
//ID
databaseId:"",
//
tableName:"",
//
tableField:"",
//
tableAsName:"",
//
tableAsField:"",
//
fieldEngineId:""
},
labelPosition: 'right', labelPosition: 'right',
dialogVisible:false, dialogVisible:false,
multipleSelection: [], tableMsg:{},
fields:[] tables:{}
}; };
}, },
// data", // data",
@ -124,66 +67,19 @@ export default {
watch: {}, watch: {},
//", //",
methods: { methods: {
doSure(){
this.dialogVisible1 = false
this.$emit('taskInputForm', false);
this.tableMsg.taskId = this.$route.query.id
let detailData = [...new Set(this.multipleSelection)]
this.tableMsg.tableAsField = detailData.join(',');
this.fields.forEach(item => {
this.allFields.asField = item.dataField
this.allFields.field = item.field
this.allFields.isNull = item.nullable
this.allFields.comment = item.annotation
addTableField(this.allFields).then(res => {
console.log(res);
})
})
addTaskInfo(this.tableMsg).then(res =>{
if (res.code == 200){
this.$message.success("节点安置成功")
}
})
},
handleSelectionChange(val) {
this.fields = val
val.forEach(res =>{
this.multipleSelection.push(res.dataField);
})
console.log(this.fields);
},
nextOne(){
let tableName = this.tableMsg.tableName.toString();
selectByTableName(tableName).then(res => {
this.dialogVisible1 = true
this.tableData = res.data
this.tableData.forEach(item => {
this.tableMsg.tableField += ","+item.field
})
this.tableMsg.tableField = this.tableMsg.tableField.substring(1)
res.data.forEach(response => {
response.dataField = this.tableMsg.tableAsName+"_"+response.field
})
})
},
handleChange(value) { handleChange(value) {
this.tableMsg.databaseId = value[0] console.log(value);
this.tableMsg.tableName = value[1]
}, },
getDatabaseMessage(){ getDatabaseMessage(){
this.dialogVisible = true this.dialogVisible = true
extractDataName().then(res => { extractDataName().then(res => {
console.log(res);
this.tables = res.data this.tables = res.data
}) })
}, },
}, },
// - 访this", // - 访this",
created() { created() {
this.getDatabaseMessage()
}, },
// - 访DOM", // - 访DOM",
mounted() { mounted() {

View File

@ -80,9 +80,13 @@
<el-table-column label="操作" width="300"> <el-table-column label="操作" width="300">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" @click="handleEdit(scope.$index, scope.row)">编辑节点</el-button> <el-button
<el-button size="mini" @click="todoTask(scope.$index, scope.row)">执行任务</el-button> size="mini"
<el-button size="mini" type="danger" @click="handleDelete(scope.$index, scope.row)">删除</el-button> @click="handleEdit(scope.$index, scope.row)">编辑节点</el-button>
<el-button
size="mini"
type="danger"
@click="handleDelete(scope.$index, scope.row)">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -117,7 +121,7 @@
<script> <script>
//jsjsjson, //jsjsjson,
//import from ', //import from ',
import {addTask, delTask, showTask, todoTask} from "../../../api/etl/etl"; import {addTask, delTask, showTask} from "../../../api/etl/etl";
export default { export default {
name: "Task", name: "Task",
@ -145,15 +149,6 @@ export default {
watch: {}, watch: {},
//", //",
methods: { methods: {
todoTask(index,row){
todoTask(row.id).then(res => {
if (res.code == 200){
this.$message.success("操作成功")
}else {
this.$message.error(res.msg)
}
})
},
onSubmit(){ onSubmit(){
this.getData() this.getData()
}, },
@ -177,7 +172,8 @@ export default {
}) })
}, },
handleEdit(index, row) { handleEdit(index, row) {
this.$router.push({path:"/etl/active",query:{"id":row.id}}) let url = `http://21.12.0.10/easyFlow`
window.open(url,"_blank")
}, },
handleDelete(index, row) { handleDelete(index, row) {
console.log(index, row); console.log(index, row);

View File

@ -15,152 +15,90 @@
<div id="container" /> <div id="container" />
</div> </div>
</div> </div>
<el-dialog title="提示" :visible.sync="dialogVisible" width="30%"> <el-dialog
<task v-if="taskOpen" @taskInputForm="findFormValue" :nodes-ids="nodesIds"/> title="提示"
</el-dialog> :visible.sync="dialogVisible"
width="30%"
<el-dialog title="提示" :visible.sync="dialogVisible1" width="30%"> >
<el-table :data="nodeList" style="width: 100%"> <span>
<el-table-column prop="databaseId" label="数据库" width="180"></el-table-column> <el-radio-group v-model="labelPosition" size="small">
<el-table-column prop="tableAsName" label="表别名" width="180"></el-table-column> <el-radio-button label="left">左对齐</el-radio-button>
</el-table> <el-radio-button label="right">右对齐</el-radio-button>
<div style="margin: 20px;"></div> <el-radio-button label="top">顶部对齐</el-radio-button>
<el-form label-width="80px" :model="joinCheck"> </el-radio-group>
<el-form-item label="联查方式"> <div style="margin: 20px;"></div>
<el-select v-model="joinCheck.joinId" placeholder="联查方式"> <el-form :label-position="labelPosition" label-width="80px" :model="tableMsg">
<el-option label="左联查" value="1"></el-option> <el-form-item label="任务id">
<el-option label="右联查" value="2"></el-option> <el-input v-model="tableMsg.id" :disabled="true"></el-input>
<el-option label="内联查" value="3"></el-option> </el-form-item>
</el-select> <el-form-item label="数据库id">
</el-form-item> <el-input v-model="tableMsg.databaseId" :disabled="true"></el-input>
<el-form-item> </el-form-item>
<el-select v-model="joinCheck.firstCloumn" placeholder="请选择关联字段"> <el-form-item label="数据表">
<el-option <el-cascader
v-for="item in options1" v-model="tableMsg.tableName"
:key="item.nodeMsg" :options="tables"
:label="item.nodeMsg" :props="{ expandTrigger: 'hover',value:'name',label:'name',children:'tableNames' }"
:value="item.nodeMsg"> @change="handleChange"></el-cascader>
</el-option> </el-form-item>
</el-select> <el-form-item label="表别名">
</el-form-item> <el-input v-model="tableMsg.tableAsField"></el-input>
<el-form-item> </el-form-item>
<el-select v-model="joinCheck.secondCloumn" placeholder="请选择关联字段"> </el-form>
<el-option </span>
v-for="item in options2"
:key="item.nodeMsg"
:label="item.nodeMsg"
:value="item.nodeMsg">
</el-option>
</el-select>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible1 = false"> </el-button> <el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="todoSelect"> </el-button> <el-button type="primary" @click="nextOne()"></el-button>
</span> </span>
</el-dialog> </el-dialog>
<el-dialog <el-dialog
title="提示" title="提示"
:visible.sync="dialogVisible2" :visible.sync="dialogVisible1"
width="40%" width="30%"
> >
<el-table ref="multipleTable" :data="fields" tooltip-effect="dark" style="width: 100%" <el-table
@selection-change="SelectionChange"> ref="multipleTable"
<el-table-column type="selection" width="55"/> :data="tableData"
<el-table-column label="字段" width="120"><template slot-scope="scope">{{ scope.row.field }}</template></el-table-column> tooltip-effect="dark"
<el-table-column label="别名" width="120"><template slot-scope="scope">{{ scope.row.asField }}</template></el-table-column> style="width: 100%"
<el-table-column label="非空" width="120"><template slot-scope="scope">{{ scope.row.isNull }}</template></el-table-column> @selection-change="handleSelectionChange">
<el-table-column label="注释" width="120"><template slot-scope="scope">{{ scope.row.comment }}</template></el-table-column> <el-table-column
type="selection"
width="55">
</el-table-column>
<el-table-column
label="日期"
width="120">
<template slot-scope="scope">{{ scope.row.date }}</template>
</el-table-column>
<el-table-column
prop="name"
label="姓名"
width="120">
</el-table-column>
<el-table-column
prop="address"
label="地址"
show-overflow-tooltip>
</el-table-column>
</el-table> </el-table>
<br>
<el-cascader
v-model="toTable"
:options="tt"
:props="{ expandTrigger: 'hover',value:'name',label:'name',children:'tableNames' }"
@change="handleChange"></el-cascader>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible2 = false"> </el-button> <el-button @click="dialogVisible1 = false"> </el-button>
<el-button type="primary" @click="showTableFields"> </el-button> <el-button type="primary" @click="dialogVisible1 = false"> </el-button>
</span> </span>
</el-dialog> </el-dialog>
<el-dialog title="提示" :visible.sync="finalVisible" width="30%">
<el-table ref="multipleTable" :data="sqlList" tooltip-effect="dark" style="width: 100%"
@selection-change="SelectionChange">
<el-table-column label="输入字段" width="120">
<template slot-scope="scope">
{{ scope.row.asField }}
</template>
</el-table-column>
<el-table-column label="输出字段" width="120">
<el-select v-model="cloumns" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.id"
:label="item.field"
:value="item.field">
</el-option>
</el-select>
</el-table-column>
</el-table>
<span slot="footer" class="dialog-footer">
<el-button @click="finalVisible = false"> </el-button>
<el-button type="primary" @click="addSql"> </el-button>
</span>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { Graph } from "@antv/x6"; import { Graph } from "@antv/x6";
import { import {extractDataName, selectByTableName} from "../../../api/etl/etl";
addOutPut,
addSelect,
extractDataName, findBySelectId,
seeTableField, selectByAsField,
selectByNodeId,
selectByOne, selectByTableName,
} from "../../../api/etl/etl";
import task from "/src/views/components/task/index.vue"
export default { export default {
name: "antvX6", name: "antvX6",
components:{
task
},
data() { data() {
return { return {
sourceField:[],
outPuter:{
nodeId:"",
taskId:"",
tableFields:"",
tableAsFields:"",
targetDatabase:"",
targetTableName:""
},
options:{},
sqlList:[],
toTable:"",
tt:{},
fields:[],
finalVisible:false,
dialogVisible2:false,
options1:{},
options2:{},
nodeList:[],
neighbors:[],
nodesIds:"",
taskOpen:false,
joinCheck:{
nodeId:"",
joinId:"",
leftNodeId:"",
rightNodeId:"",
firstCloumn:"",
secondCloumn:""
},
asFields:[],
tableData:[], tableData:[],
dialogVisible1: false, dialogVisible1: false,
tables:{}, tables:{},
@ -168,21 +106,18 @@ export default {
tableName:"", tableName:"",
tableAsField:"" tableAsField:""
}, },
cloumns:'',
labelPosition: 'right', labelPosition: 'right',
dialogVisible:false, dialogVisible:false,
curSelectNode: "", curSelectNode: "",
tableFields:[],
tableDataNodeId:[],
moduleList: [ moduleList: [
{ {
id: 1, id: 1,
name: "开始", name: "表1",
image: require("@/assets/img/1.png"), image: require("@/assets/img/1.png"),
}, },
{ {
id: 8, id: 8,
name: "表", name: "表2",
image: require("@/assets/img/2.png"), image: require("@/assets/img/2.png"),
}, },
{ {
@ -192,130 +127,37 @@ export default {
}, },
{ {
id: 3, id: 3,
name: "导出", name: "节点4",
image: require("@/assets/img/4.png"), image: require("@/assets/img/4.png"),
}, },
], ],
graph: null graph: null
}; };
}, },
created() {
this.getDatabaseMessage()
},
methods: { methods: {
showTableFields(){ handleSelectionChange(val) {
this.finalVisible = true this.multipleSelection = val;
let fieldsList = [...new Set(this.tableFields)]
selectByAsField(fieldsList).then(res => {
this.sqlList = res.data
})
selectByTableName(this.toTable).then(res => {
this.options = res.data
})
}, },
addSql(){ nextOne(){
this.outPuter.taskId = this.$route.query.id let tableAsField = this.tableMsg.tableAsField;
let fieldsList = [...new Set(this.tableFields)] let tableName = this.tableMsg.tableName.toString();
let tableAsFieldList = [...new Set(this.sourceField)] selectByTableName(tableName).then(res => {
this.outPuter.tableFields = fieldsList.toString() this.dialogVisible1 = true
this.outPuter.tableAsFields = tableAsFieldList.toString() this.tableData = res.data
this.outPuter.targetTableName = this.toTable console.log(res);
addOutPut(this.outPuter).then(res => {
if (res.code == 200){
this.$message.success("输出节点放置成功")
}else {
this.$message.error("发生异常请联系管理员")
}
}) })
this.dialogVisible2 = false this.dialogVisible = false
this.finalVisible = false
}, },
handleChange(value){ handleChange(value) {
this.outPuter.targetDatabase = value[0]
this.toTable = value[1] this.tableMsg.tableName = value[1]
}, },
getDatabaseMessage(){ getDatabaseMessage(){
this.dialogVisible = true
extractDataName().then(res => { extractDataName().then(res => {
this.tt = res.data this.tables = res.data
}) })
}, },
SelectionChange(val){
val.forEach(res => {
this.tableFields.push(res.asField)
this.sourceField.push(res.field)
})
},
todoSelect(){
addSelect(this.joinCheck).then(res => {
if (res.code == 200){
this.$message.success("操作成功")
}else {
this.$message.error(res.msg)
}
})
this.dialogVisible1 = false
},
findFormValue(){
this.dialogVisible = false
this.taskOpen = false
},
openForm(data){
let textWrap = data.attrs.label.textWrap;
if (textWrap.text == "表"){
console.log("表节点ID=>"+data.id);
this.tableDataNodeId.push(data.id)
this.dialogVisible = true;
this.taskOpen=true;
}
if (textWrap.text == "联查"){
this.dialogVisible1 = true;
this.joinCheck.nodeId = data.id
console.log("联查节点ID=>"+data.id);
const edges = this.graph.getEdges().filter(edge => {
return edge.getSourceNode().id === data.id || edge.getTargetNode().id === data.id;
});
const neighbors = [];
edges.forEach(edge => {
const otherNodeId = edge.getSourceNode().id === data.id ? edge.getTargetNode().id : edge.getSourceNode().id;
if (!neighbors.includes(otherNodeId)) {
neighbors.push(otherNodeId);
}
});
this.neighbors = neighbors;
this.joinCheck.leftNodeId = neighbors[0]
this.joinCheck.rightNodeId = neighbors[1]
selectByOne(neighbors[0]).then(res =>{
this.options1 = res.data
})
selectByOne(neighbors[1]).then(res =>{
this.options2 = res.data
})
selectByNodeId(JSON.stringify(this.neighbors)).then(res => {
this.nodeList = res.data
})
}
if (textWrap.text == "导出"){
this.outPuter.nodeId = data.id
console.log("导出节点ID=>"+data.id);
this.dialogVisible2 = true
findBySelectId(this.neighbors[0]).then(res => {
if (res.data == null){
seeTableField(this.tableDataNodeId).then(res => {
this.fields = res.data
})
}else{
seeTableField(this.neighbors).then(res => {
this.fields = res.data
})
}
})
}
},
//todo //todo
nodeAddEvent() { nodeAddEvent() {
const { graph } = this; const { graph } = this;
@ -332,10 +174,8 @@ export default {
this.graph.on("node:mouseleave", () => { this.graph.on("node:mouseleave", () => {
changePortsVisible(false); changePortsVisible(false);
}); });
this.graph.on("node:dblclick",(evt) =>{ this.graph.on("node:dblclick",() =>{
let data = evt.node.store.data; this.getDatabaseMessage()
this.nodesIds = data.id;
this.openForm(data)
}) })
//todo //todo
this.graph.on("node:click", ({ e, x, y, node, view }) => { this.graph.on("node:click", ({ e, x, y, node, view }) => {
@ -439,7 +279,7 @@ export default {
} }
}); });
}, },
// todo //
handleDragEnd(e, item) { handleDragEnd(e, item) {
// //
this.addHandleNode( this.addHandleNode(

View File

@ -130,38 +130,20 @@
</el-table> </el-table>
</el-form-item> </el-form-item>
<el-form-item label="返回参数说明:"> <el-form-item label="返回参数说明:">
{{myapi.productContent}}
</el-form-item> </el-form-item>
<el-form-item label="JSON返回示例:"> <el-form-item label="JSON返回示例:">
<div style="width: 80px ; height: 30px; " ></div>
{{myapi}}
</el-form-item> </el-form-item>
<el-form-item label="XML返回示例:"> <el-form-item label="XML返回示例:">
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="错误码参照" name="second"> <el-tab-pane label="错误码参照" name="second">错误码参照</el-tab-pane>
错误码参照
<el-table
:data="errCode"
style="width: 100%">
<el-table-column
prop="code"
label="错误码"
width="180">
</el-table-column>
<el-table-column
prop="message"
label="错误描述"
width="180">
</el-table-column>
<el-table-column
prop="mesg"
label="解决方案">
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="数据统计" name="third">数据统计</el-tab-pane> <el-tab-pane label="数据统计" name="third">数据统计</el-tab-pane>
</el-tabs> </el-tabs>
</div></el-col> </div></el-col>
@ -304,7 +286,7 @@
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible1 = false"> </el-button> <el-button @click="dialogVisible1 = false"> </el-button>
<el-button type="primary" @click="confirmSelection(newapi)"> </el-button> <el-button type="primary" @click=" confirmSelection(row)"> </el-button>
</span> </span>
</el-dialog> </el-dialog>
@ -325,9 +307,8 @@ import {
} from "@/api/apitest/apitest"; } from "@/api/apitest/apitest";
import api from "js-cookie"; import api from "js-cookie";
import {companyauthentication, ifcompanyauthentication} from "@/api/authentication/authentication"; import {companyauthentication, ifcompanyauthentication} from "@/api/authentication/authentication";
import { selectproductspecification, showByproductId } from '@/api/market/product' import {selectproductspecification} from "@/api/market/product";
import myapi from "@/views/market/myapi/index.vue"; import myapi from "@/views/market/myapi/index.vue";
import { addordersup, updateOrders } from '@/api/market/orders'
export default { export default {
name: "Apitest", name: "Apitest",
@ -346,46 +327,14 @@ export default {
activeName: 'first', activeName: 'first',
dialogVisible: false, dialogVisible: false,
dialogVisible1: false, dialogVisible1: false,
productInfo: null,
ruleForm:{}, ruleForm:{},
tableData:[], tableData:[],
newapi:{}, newapi:{},
products: [],
orders: [],
// //
heanderData:[], heanderData:[],
// //
requestData:[], requestData:[]
errCode:[
{
code:'10000',
message:'服务调用成功',
mesg:'服务调用成功,不返回 subCode 和 subMessage'
}, {
code:'20000',
message:'服务不可用',
mesg:'错误信息详情查看错误码'
}, {
code:'40002',
message:'提示无效签名isv.invalid-signature等字样',
mesg:'可查看 自助排查签名验签问题。'
}, {
code:'40006',
message:'isv.insufficient-isv-permissions',
mesg:'1.请联系IoT开放平台技术支持并提供 IoT 开放平台上应用的 APPID。\n' +
'2.请联系IoT开放平台技术支持添加白名单。'
}, {
code:'E70201',
message:'system error',
mesg:'系统错误请联系IoT开放平台技术支持协助解决。'
}, {
code:'E70202',
message:'invalid parameter',
mesg:'\t\n' +
'系统入参检查失败请联系IoT开放平台技术支持。'
}, ]
}; };
}, },
// data", // data",
computed: {}, computed: {},
@ -477,7 +426,6 @@ export default {
productPrice: row.middlePrice, productPrice: row.middlePrice,
productContent:this.myapi.productContent, productContent:this.myapi.productContent,
} }
}, },
// //
noForm(ruleForm){ noForm(ruleForm){
@ -602,36 +550,15 @@ export default {
}); });
}}, }},
confirmSelection(row) { confirmSelection(row) {
if (this.selectedRow) { if (this.selectedRow) {
// //
// startPayment(this.selectedRow); // startPayment(this.selectedRow);
console.log(row) console.log(row)
window.open("http://21.12.0.10:80/prod-api/market/alipay/pay?ordersPrice=" + row.middlePrice) window.open("http://localhost:9701/alipay/pay?ordersPrice=" + row.middlePrice)
this.$message.success('付款成功') this.$message.success('付款成功')
showByproductId(row).then(
res =>{
this.$message.success(res.msg)
}
),
showByproductId().then(
response => {
this.productInfo = response.data;
const orderData = {
ordersProduct:this.productInfo.productId,
productName: this.productInfo.productName,
ordersPrice: this.productInfo.productPrice,
ordersSpecification : this.productInfo.productSpecification
};
return addordersup(orderData);
if (response.code==200){}
this.addordersoff=false
}).then(() => {
this.$message.success('订单添加成功');
})
location.reload();
} }
}, },
show(){ show(){

View File

@ -8,19 +8,18 @@
<el-row> <el-row>
<el-col :span="20"><div class="grid-content bg-purple"> <el-col :span="20"><div class="grid-content bg-purple">
<el-form :model="ruleForm" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm"> <el-form :model="ruleForm" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-select v-model="ruleForm.productState" placeholder="请选择状态"> <!-- <el-select v-model="ruleForm.productState" placeholder="请选择状态">-->
<el-option <!-- <el-option-->
v-for="item in options" <!-- v-for="item in options"-->
:key="item.value" <!-- :key="item.value"-->
:label="item.label" <!-- :label="item.label"-->
:value="item.value"> <!-- :value="item.value">-->
</el-option> <!-- </el-option>-->
</el-select> <!-- </el-select>-->
<el-input type="text" v-model="ruleForm.productName" style="width: 200px" autocomplete="off" placeholder="名称搜索"></el-input> <el-input type="text" v-model="ruleForm.productName" style="width: 200px" autocomplete="off" placeholder="名称搜索"></el-input>
<el-button type="primary" @click="submitForm('ruleForm')"></el-button> <el-button type="primary" @click="submitForm('ruleForm')"></el-button>
</el-form> </el-form>
</div></el-col> </div></el-col>
<el-col :span="4"><div class="grid-content bg-purple-light"><el-button type="primary">新增数据</el-button></div></el-col>
</el-row> </el-row>
<el-row :gutter="12"> <el-row :gutter="12">
@ -39,7 +38,7 @@
</el-form-item> </el-form-item>
<el-row> <el-row>
<el-col :span="6"><div class="grid-content bg-purple"> <el-col :span="6"><div class="grid-content bg-purple">
<el-button type="info" @click="test(myapi)"></el-button> <el-button type="success" @click="test(myapi)">使</el-button>
</div></el-col> </div></el-col>
</el-row> </el-row>
</el-form> </el-form>

View File

@ -78,7 +78,6 @@
</el-table-column> </el-table-column>
<el-table-column label="订单款项状态" width="110" align="center"> <el-table-column label="订单款项状态" width="110" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="margin-left: 10px" v-if="scope.row.ordersState==0"></span> <span style="margin-left: 10px" v-if="scope.row.ordersState==0"></span>
<span style="margin-left: 10px" v-if="scope.row.ordersState==1"></span> <span style="margin-left: 10px" v-if="scope.row.ordersState==1"></span>
<span style="margin-left: 10px" v-if="scope.row.ordersState==2"></span> <span style="margin-left: 10px" v-if="scope.row.ordersState==2"></span>
@ -162,14 +161,11 @@ import {
ordersDelete, ordersDelete,
pay, pay,
getOut, getOut,
updateByeExist, updateByeExist, updateByordersState1
updateByordersState1
} from '@/api/market/orders' } from '@/api/market/orders'
import { diGui } from "@/api/market/orders"; import { diGui } from "@/api/market/orders";
import axios from 'axios' import axios from 'axios'
import item from '@/layout/components/Sidebar/Item.vue' import item from '@/layout/components/Sidebar/Item.vue'
import { showByproductId } from '@/api/market/product'
import product from '@/views/market/product/index.vue'
//jsjsjson, //jsjsjson,
@ -186,8 +182,7 @@ export default {
pageNum:1, pageNum:1,
pageSize:10, pageSize:10,
total:1, total:1,
ordersId:3, typeId:0
productId:3
}, },
arr:[], arr:[],
type:[], type:[],
@ -201,7 +196,6 @@ export default {
addtitle:'', addtitle:'',
addordersoff:false, addordersoff:false,
ordersForm:{}, ordersForm:{},
productInfo: null,
options: [{ options: [{
value: ' ', value: ' ',
@ -319,17 +313,17 @@ export default {
}, },
pay(row){ pay(row){
console.log(row) console.log(row)
updateByordersState1(this.orders).then(res =>{ window.open("http://21.12.0.10:80/prod-api/market/alipay/pay?productName="+row.productName +"&ordersNum="+row.ordersNum+"&ordersPrice="+row.ordersPrice)
this.orders.ordersId=this.orders.ordersId; this.$message.success('付款成功')
this.orders.productId=this.orders.productId; updateByordersState1(ordersForm).then(response=>{
window.open("http://21.12.0.10:80/prod-api/market/alipay/pay?productName="+row.productName +"&ordersNum="+row.ordersNum+"&ordersPrice="+row.ordersPrice) alert(response.msg)
this.$message.success('付款成功') if (response.code==200){}
} this.addordersoff=false
) })
},
},
getOut(){ getOut(){
this.download('system/operlog/export', { this.download('system/operlog/export', {

View File

@ -11,94 +11,94 @@
<el-card class="box-card" style="width: 94%;transform: translateX(3%);margin-top: 30px"> <el-card class="box-card" style="width: 94%;transform: translateX(3%);margin-top: 30px">
<el-table :data="arr" style="width: 100%" @selection-change="handleSelectionChange"> <el-table :data="arr" style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55"></el-table-column> <el-table-column type="selection" width="55"></el-table-column>
<el-table-column label="编号" width="80" align="center"> <el-table-column label="编号" width="80" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.id }}</span> <span style="margin-left: 10px">{{ scope.row.id }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="商品图片" width="150" align="center"> <el-table-column label="商品图片" width="150" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<img :src="scope.row.picImg" alt="图片损坏"> <img :src="scope.row.picImg" alt="图片损坏">
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="商品名称" width="400" align="center"> <el-table-column label="商品名称" width="400" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.shopName }}</span> <span style="margin-left: 10px">{{ scope.row.shopName }}</span>
<br> <br>
品牌<span style="margin-left: 10px">{{ scope.row.brandName }}</span> 品牌<span style="margin-left: 10px">{{ scope.row.brandName }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="货号" width="150" align="center"> <el-table-column label="货号" width="150" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="margin-left: 10px">货号{{ scope.row.shopNum }}</span> <span style="margin-left: 10px">货号{{ scope.row.shopNum }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="标签" width="150" align="center"> <el-table-column label="标签" width="150" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
上架 上架
<el-switch <el-switch
v-model="scope.row.publishStatus" v-model="scope.row.publishStatus"
@change="updateShop(scope.row)" @change="updateShop(scope.row)"
active-color="#409EFF" active-color="#409EFF"
inactive-color="#C0CCDA" inactive-color="#C0CCDA"
:active-value="1" :active-value="1"
:inactive-value="0"> :inactive-value="0">
</el-switch> </el-switch>
<br> <br>
新品 新品
<el-switch <el-switch
v-model="scope.row.newStatus" v-model="scope.row.newStatus"
@change="updateShop(scope.row)" @change="updateShop(scope.row)"
active-color="#409EFF" active-color="#409EFF"
inactive-color="#C0CCDA" inactive-color="#C0CCDA"
:active-value="1" :active-value="1"
:inactive-value="0"> :inactive-value="0">
</el-switch> </el-switch>
<br> <br>
推荐 推荐
<el-switch <el-switch
v-model="scope.row.recommandStatus" v-model="scope.row.recommandStatus"
@change="updateShop(scope.row)" @change="updateShop(scope.row)"
active-color="#409EFF" active-color="#409EFF"
inactive-color="#C0CCDA" inactive-color="#C0CCDA"
:active-value="1" :active-value="1"
:inactive-value="0"> :inactive-value="0">
</el-switch> </el-switch>
<br> <br>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="排序" width="150" align="center"> <el-table-column label="排序" width="150" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.sort }}</span> <span style="margin-left: 10px">{{ scope.row.sort }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="销量" width="150" align="center"> <el-table-column label="销量" width="150" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.sale }}</span> <span style="margin-left: 10px">{{ scope.row.sale }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="审核状态" width="150" align="center"> <el-table-column label="审核状态" width="150" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="margin-left: 10px" v-if="scope.row.verifyStatus==0"></span> <span style="margin-left: 10px" v-if="scope.row.verifyStatus==0"></span>
<span style="margin-left: 10px" v-if="scope.row.verifyStatus==1"></span> <span style="margin-left: 10px" v-if="scope.row.verifyStatus==1"></span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
@click="handleEdit(scope.row)">编辑</el-button> @click="handleEdit(scope.row)">编辑</el-button>
<el-button <el-button
size="mini" size="mini"
type="danger" type="danger"
@click="handleDelete(scope.row)">删除</el-button> @click="handleDelete(scope.row)">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-card> </el-card>

View File

@ -61,6 +61,10 @@
</el-container> </el-container>
</el-container> </el-container>
</div> </div>
</template> </template>
@ -69,14 +73,13 @@
//import from ', //import from ',
import {selectList, selectTypeList} from "@/api/market/product"; import {ifbuy, selectList, selectTypeList} from "@/api/market/product";
export default { export default {
name: 'Product', name: 'Product',
//import使" //import使"
components: {}, components: {},
props: {}, props: {},
data() { data() {
//" //"
return { return {
@ -128,6 +131,12 @@ export default {
}, },
// //
test(product){ test(product){
//
ifbuy(product).then(response=>{
if (response.code!=200) {
alert(response.msg)
}
})
this.$router.push({path:"/apitest/index",query:{myapi:JSON.stringify(product)}}) this.$router.push({path:"/apitest/index",query:{myapi:JSON.stringify(product)}})
}, },
// test(product) { // test(product) {

View File

@ -9,7 +9,8 @@
<div class="text item"> <div class="text item">
<el-form ref="form" :model="orders" label-width="100px"> <el-form ref="form" :model="orders" label-width="100px">
<el-form-item> <el-form-item>
订单编号<el-input v-model="orders.ordersNum" placeholder="编号" style="width: 130px;margin-right: 50px"></el-input>
订单编号<el-input v-model="orders.ordersNum" placeholder="编号" style="width: 180px;margin-right: 50px"></el-input>
订单款项状态 订单款项状态
<el-select v-model="orders.ordersState" placeholder="请选择状态" style="margin-right: 30px" clearable> <el-select v-model="orders.ordersState" placeholder="请选择状态" style="margin-right: 30px" clearable>
<el-option v-for="item in options" <el-option v-for="item in options"
@ -18,21 +19,24 @@
:value="item.value"> :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
<br/> <br/>
选择时间: 选择时间:
<el-date-picker v-model="orders.startDate" type="date" placeholder="开始时间" style="width: 130px;"/> <el-date-picker v-model="orders.startDate" type="date" placeholder="开始时间" />
----- -----
<el-date-picker v-model="orders.endDate" type="date" placeholder="结束时间" style="width: 130px;"/> <el-date-picker v-model="orders.endDate" type="date" placeholder="结束时间"/>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
</el-card> </el-card>
<br>
<button style="float: right; padding: 3px 10px" type="text" @click="orderslist"></button> <br>
<br>
<el-card class="box-card" style="width: 94%;transform: translateX(3%);margin-top: 10px"> <el-card class="box-card" style="width: 94%;transform: translateX(3%);margin-top: 10px">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>回收站列表</span> <span>回收站列表</span>
<button @click="add(1)" style="float: right; padding: 3px 10px" type="text">添加</button>
</div> </div>
<el-table :data="arr" style="width: 100%" @selection-change="handleSelectionChange"> <el-table :data="arr" style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55"></el-table-column> <el-table-column type="selection" width="55"></el-table-column>
<el-table-column label="日期" width="150" align="center"> <el-table-column label="日期" width="150" align="center">
@ -40,81 +44,120 @@
<span style="margin-left: 10px">{{ scope.row.ordersLaunchdate }}</span> <span style="margin-left: 10px">{{ scope.row.ordersLaunchdate }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="购买信息"> <el-table-column label="购买信息">
<el-table-column label="订单编号" width="150" align="center"> <el-table-column label="订单编号" width="120" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="margin-left: 10px"> {{ scope.row.ordersNum }}</span> <span style="margin-left: 10px"> {{ scope.row.ordersNum }}</span>
</template> </template>
</el-table-column>
<el-table-column label="订单所属人" width="100" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.userName }}</span>
</template>
</el-table-column>
<el-table-column label="购买详情">
<el-table-column prop="province" label="购买接口" width="200" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.productName }}</span>
</template>
</el-table-column>
<el-table-column label="订单金额" width="100" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.ordersPrice }}</span>
</template>
</el-table-column>
<el-table-column label="订单规格" width="300" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.ordersSpecification }}</span>
</template>
</el-table-column>
<el-table-column label="订单款项状态" width="130" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px" v-if="scope.row.ordersState==0"></span>
<span style="margin-left: 10px" v-if="scope.row.ordersState==1"></span>
<span style="margin-left: 10px" v-if="scope.row.ordersState==2"></span>
<span style="margin-left: 10px" v-if="scope.row.ordersState==4">(退)</span>
<span style="margin-left: 10px" v-if="scope.row.ordersState==5">退</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button
size="mini"
@click="handleEdit(scope.row)">恢复</el-button>
<el-button
size="mini"
type="danger"
@click="ordersDelete(scope.row)">彻底删除</el-button>
</template>
</el-table-column>
</el-table-column>
</el-table-column> </el-table-column>
<el-table-column label="订单所属人" width="100" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.userName }}</span>
</template>
</el-table-column>
<el-table-column label="购买详情">
<el-table-column prop="province" label="购买接口" width="150" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.productName }}</span>
</template>
</el-table-column>
<el-table-column label="订单金额" width="100" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.ordersPrice }}</span>
</template>
</el-table-column>
<el-table-column label="订单规格" width="300" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px">{{ scope.row.ordersSpecification }}</span>
</template>
</el-table-column>
<el-table-column label="订单款项状态" width="110" align="center">
<template slot-scope="scope">
<span style="margin-left: 10px" v-if="scope.row.ordersState==0"></span>
<span style="margin-left: 10px" v-if="scope.row.ordersState==1"></span>
<span style="margin-left: 10px" v-if="scope.row.ordersState==2"></span>
<span style="margin-left: 10px" v-if="scope.row.ordersState==4">(退)</span>
<span style="margin-left: 10px" v-if="scope.row.ordersState==5">退</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button
size="mini"
@click="handleEdit(scope.row)">编辑</el-button>
<el-button
size="mini"
type="danger"
@click="ordersDelete(scope.row)">删除</el-button>
<el-button
type="primary"
size="small"
@click="pay(scope.row)" >支付</el-button>
<!-- v-if="scope.row.status === '待支付'"-->
</template>
</el-table-column>
</el-table-column>
</el-table-column>
</el-table> </el-table>
<el-pagination style="float: right" <el-pagination style="float: right"
@size-change="handleSizeChange" @size-change="handleSizeChange"
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
:current-page="orders.pageNum" :current-page="orders.pageNum"
:page-sizes="[5, 10, 50, 100]" :page-sizes="[2, 4, 6, 8]"
:page-size="orders.pageSize" :page-size="orders.pageSize"
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper"
:total="orders.total"> :total="orders.total">
</el-pagination> </el-pagination>
</el-card> </el-card>
</div> <el-dialog
:title="addtitle"
:visible.sync="addordersoff"
width="50%"
:before-close="handleClose">
<div v-if="this.index==1">
<h2>管理员慎重填写</h2><br>
<el-form :model="ordersForm" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="订单编号:" prop="ordersNum">
<el-input type="text" v-model="ordersForm.ordersNum" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="订单产品:" prop="ordersProduct">
<el-input type="text" v-model="ordersForm.ordersProduct" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="订单所属人:" prop="ordersUser">
<el-input type="text" v-model="ordersForm.ordersUser" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="订单金额:" prop="ordersPrice">
<el-input type="text" v-model="ordersForm.ordersPrice" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="订单规格:" prop="ordersSpecification">
<el-input type="text" v-model="ordersForm.ordersSpecification" autocomplete="off"></el-input>
</el-form-item>
</el-form>
<center>
<el-button @click="addordersoff = false"> </el-button>
<el-button type="primary" @click="addorders(ordersForm)"></el-button>
</center>
</div>
<span slot="footer" class="dialog-footer">
</span>
</el-dialog>
</div>
</template> </template>
<script> <script>
import { ordersDelete, listreclaim, updateByExist} from '@/api/market/orders' import { selectList, update, addordersup, ordersDelete ,pay} from '@/api/market/orders'
import { diGui } from "@/api/market/orders"; import { diGui } from "@/api/market/orders";
//jsjsjson, //jsjsjson,
//import from ', //import from ',
export default { export default {
dicts:['product_name','orders_num','orders_state','orders_launchdate'],
//import使" //import使"
components: {}, components: {},
props: {}, props: {},
@ -129,9 +172,15 @@ export default {
}, },
arr:[], arr:[],
type:[], type:[],
Cascader:{ expandTrigger:'hover',value:'id',label:'typeName',children:'parentPOS' },
typeId:[],
startDate: null, startDate: null,
endDate: null, endDate: null,
index:'', index:'',
addtitle:'',
addordersoff:false,
ordersForm:{}, ordersForm:{},
options: [{ options: [{
@ -161,83 +210,110 @@ export default {
watch: {}, watch: {},
//", //",
methods: { methods: {
//
ordersDelete(row){
ordersDelete(row.ordersId).then(
res => {
this.$message.success(res.msg)
this.selectList()
}
)
},
//
chong(){
this.orders={}
this.selectList()
},
//
handleSizeChange(val) {
this.orders.pageSize=val
this.selectList()
},
handleCurrentChange(val) {
this.orders.pageNum=val
this.selectList()
},
handleClose(done) {
this.$confirm('确认关闭?')
.then(_ => {
done();
})
.catch(_ => {});
},
pay(row){
window.open("http://localhost:9701/alipay/pay?subject=" + row.name
+ "&amp; traceNo=" + row.no + "&amp; totalAmount=" + row.ordersPrice)
this.$message.success('付款成功')
this.load();
}
,
//
updateShop(orders){
update(orders).then(
res => {
this.$message.success(res.msg)
this.selectList()
}
)
},
//
handleEdit(orders){
if (this.orders.serviceIds && typeof this.orders.serviceIds === 'string') {
orders.serviceid = this.orders.serviceIds.split(',');
// ...
}
console.log(JSON.stringify(orders))
orders.serviceid=orders.serviceIds.split(',').map(id => parseInt(id, 10));
console.log(JSON.stringify(orders))
this.$router.push({path:'/product/info/update',query:{orders:orders}})
},
addorders(ordersForm){
addordersup(ordersForm).then(response=>{
alert(response.msg)
if (response.code==200){}
this.addordersoff=false
})
location.reload();
},
//
findShop(){
this.selectList()
},
//
add(index){
this.index=index
if (this.index === 1) {
this.addtitle= '添加订单';
}
// else if (this.index === 2) {
// this.dialogtitle= '';
// }
this.addordersoff=true
},
//
handleSelectionChange(val) {
this.multipleSelection = val;
},
// //
listreclaim() { selectList() {
listreclaim(this.orders).then( selectList(this.orders).then(
res => { res => {
console.log(res) console.log(res)
this.arr = res.data.list this.arr = res.data.list
this.orders.total = res.data.total this.orders.total = res.data.total
} }
) )
},
//
handleEdit(row){
const result = window.confirm(`你确定要执行此操作吗?`);
if (result) {
updateByExist(row.ordersId).then(
res =>{
this.$message.success(res.msg)
this.listreclaim()
}
)
location.reload();
// 使 id
console.log(`用户点击了确定ID 为 ${id}`);
} else {
//
console.log('用户点击了取消');
}
},
//
ordersDelete(row){
const result = window.confirm(`你确定要执行此操作吗?`);
if (result) {
ordersDelete(row.ordersId).then(
res => {
this.$message.success(res.msg)
this.listreclaim()
}
)
location.reload();
// 使 id
console.log(`用户点击了确定ID 为 ${id}`);
} else {
//
console.log('用户点击了取消');
}
},
//
chong(){
this.orders={}
this.listreclaim()
},
//
handleSelectionChange(val) {
this.multipleSelection = val;
},
//
handleSizeChange(val) {
this.orders.pageSize=val
this.listreclaim()
},
handleCurrentChange(val) {
this.orders.pageNum=val
this.listreclaim()
},
orderslist(){
this.$router.push({path:"/market/orders"})
},
//
findShop(){
this.listreclaim()
} }
}, },
// - 访this", // - 访this",
created() { created() {
this.listreclaim() // this.diGui()
this.selectList()
}, },
// - 访DOM", // - 访DOM",
mounted() { mounted() {

View File

@ -1,43 +1,44 @@
<template> <template>
<div> <div>
{{orders}} {{orders}}
<br><br><br>
<center>
<el-form :model="orders" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="订单编号" prop="ordersNum" style="width: 70% " >
{{orders.ordersNum}}
</el-form-item>
<el-form-item label="订单产品" prop="productName" style="width: 70%">
<el-select v-model="orders.productName" placeholder="请选择产品">
<el-option v-model="orders.productName" :value="orders.productId"></el-option>
<el-option v-for="item in product" :label="item.productName" :key="item.productId" :value="item.productId" ></el-option>
</el-select>
</el-form-item>
<el-form-item label="订单所属人" prop="userName" style="width: 70%">
{{orders.userName}}
</el-form-item>
<el-form-item label="订单金额" prop="ordersPrice" style="width: 70%">
<el-input type="text" v-model="orders.ordersPrice" autocomplete="off" style="width: 100px"></el-input>
</el-form-item>
<el-form-item label="订单规格" prop="ordersSpecification" style="width: 70%">
<el-input type="text" v-model="orders.ordersSpecification" autocomplete="off" style="width: 250px"></el-input>
</el-form-item>
<el-form-item label="订单款项状态" prop="ordersState" style="width: 70%">
<el-select v-model="orders.ordersState" placeholder="订单款项状态" > <center>
<el-option label="待支付-0" value="0"></el-option> <el-form :model="api" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-option label="已支付-1" value="1"></el-option> <el-form-item label="序号" prop="productId" style="width: 70%">
<el-option label="未支付-2" value="2"></el-option> {{orders.productId}}
<el-option label="售后(审核退款)-3" value="3"></el-option>
<el-option label="退款成功-4" value="4"></el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="订单日期" prop="ordersLaunchdate" style="width: 70%"> <el-form-item label="接口名称" prop="productName" style="width: 70%">
{{orders.ordersLaunchdate}} {{orders.productName}}
</el-form-item>
<el-form-item label="接口类型" prop="productType" style="width: 70%">
{{orders.productType}}
</el-form-item>
<el-form-item label="接口描述" prop="productContent" style="width: 70%">
{{orders.productContent}}
</el-form-item>
<el-form-item label="接口销量" prop="productSales" style="width: 70%">
{{orders.productSales}}
</el-form-item>
<el-form-item label="接口价格" prop="productPrice" style="width: 70%">
{{orders.productPrice}}
</el-form-item>
<el-form-item label="接口来源" prop="productFrom" style="width: 70%">
{{orders.productFrom}}
</el-form-item>
<el-form-item label="重要路由" prop="apiRouter" style="width: 70%">
{{orders.apiRouter}}
</el-form-item>
<el-form-item label="接口地址" prop="apiAddress" style="width: 70%">
{{orders.apiAddress}}
</el-form-item>
<el-form-item label="返回格式" prop="returnFormat" style="width: 70%">
{{orders.returnFormat}}
</el-form-item>
<el-form-item label="请求方式" prop="requestMethod" style="width: 70%">
{{orders.requestMethod}}
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')"></el-button> <el-button type="primary" @click="submitForm('ruleForm')"></el-button>
<el-button type="primary" @click="update(row)"></el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</center> </center>
@ -47,18 +48,15 @@
<script> <script>
//jsjsjson, //jsjsjson,
//import from ', //import from ',
import { updateOrders } from '@/api/market/orders'
export default { export default {
name: "Apidetailmessage",
//import使" //import使"
components: {}, components: {},
props: {}, props: {},
data() { data() {
//" //"
return { return {
orders:{}, orders:{}
product:[]
}; };
}, },
// data", // data",
@ -68,15 +66,7 @@ export default {
//", //",
methods: { methods: {
submitForm(){ submitForm(){
this.$router.push("/market/orders") this.$router.push("/apimanage/index")
},
update(row){
updateOrders(this.orders).then(
res =>{
this.$message.success(res.msg)
}
)
} }
}, },
// - 访this", // - 访this",
@ -84,7 +74,7 @@ export default {
}, },
// - 访DOM", // - 访DOM",
mounted() { mounted() {
this.orders = this.$route.query.orders this.api = this.$route.query.api
}, },
beforeCreate() { beforeCreate() {
}, // - ", }, // - ",

View File

@ -44,13 +44,13 @@
</template> </template>
</div> </div>
</el-card> </el-card>
<!-- v-if="dataType === 'dataTable'--> <!-- v-if="dataType === 'dataTable'-->
<el-card class="box-card" style="margin-top: 20px"> <el-card class="box-card" style="margin-top: 20px">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<span>模型数据</span> <span>模型数据</span>
</div> </div>
<el-row :gutter="20"> <el-row :gutter="20">
<!-- --> <!-- -->
<el-col :span="6" v-for="DataValue in tableStructure" style="margin-top: 20px"> <el-col :span="6" v-for="DataValue in tableStructure" style="margin-top: 20px">
<el-descriptions :title="测试+'.'+tableBasic.name+'.'+DataValue.field" direction="vertical" <el-descriptions :title="测试+'.'+tableBasic.name+'.'+DataValue.field" direction="vertical"
border :column="1"> border :column="1">
@ -99,7 +99,6 @@
//jsjsjson, //jsjsjson,
//import from ', //import from ',
import { findTableValue, getExtractDataTableNameList, selectBasicList } from '@/api/property/asDisplay' import { findTableValue, getExtractDataTableNameList, selectBasicList } from '@/api/property/asDisplay'
import { tableStructureShow } from '@/api/property/astr'
export default { export default {
//import使" //import使"
@ -142,15 +141,11 @@ export default {
}, },
handleNodeClick(data){ handleNodeClick(data){
if (this.data.name!=data.name){ this.tableBasic=data
tableStructureShow(data).then(res=> { console.log(this.tableBasic)
this.tableBasic = data this.dataNum=data.tableFie.length
console.log(res) this.tableStructure=data.tableFie
this.dataNum = res.data.length console.log(this.tableStructure)
this.tableStructure = res.data
})
}
}, },
}, },
// - 访this", // - 访this",
@ -180,4 +175,5 @@ export default {
<style scoped> <style scoped>
</style> </style>

View File

@ -189,14 +189,12 @@ export default {
parseTime, parseTime,
//switch //switch
handleDeptAccreditChange(deptId, value) { handleDeptAccreditChange(deptId, value) {
this.AssetImPowerListReq.basicId = this.tableBasic.basicId
this.AssetImPowerListReq.tableId = this.tableBasic.id
this.AssetImPowerListReq.deptId = deptId
if (this.tableBasic.children != null) { if (this.tableBasic.children != null) {
this.AssetImPowerListReq.basicId = this.tableBasic.basicId
this.AssetImPowerListReq.deptId = deptId
this.AssetImPowerListReq.tableId = null; this.AssetImPowerListReq.tableId = null;
} else { } else {
this.AssetImPowerListReq.tableId = this.tableBasic.id
this.AssetImPowerListReq.deptId = deptId
this.AssetImPowerListReq.basicId = null; this.AssetImPowerListReq.basicId = null;
} }
@ -229,13 +227,12 @@ export default {
handleAccreditChange(userId, value) { handleAccreditChange(userId, value) {
console.log("userId的值:" + userId); console.log("userId的值:" + userId);
console.log("value的值" + value) console.log("value的值" + value)
this.AssetImPowerListReq.basicId = this.tableBasic.basicId
this.AssetImPowerListReq.tableId = this.tableBasic.id
this.AssetImPowerListReq.userId = userId
if (this.tableBasic.children != null) { if (this.tableBasic.children != null) {
this.AssetImPowerListReq.basicId = this.tableBasic.basicId
this.AssetImPowerListReq.userId = userId
this.AssetImPowerListReq.tableId = null; this.AssetImPowerListReq.tableId = null;
} else { } else {
this.AssetImPowerListReq.tableId = this.tableBasic.id
this.AssetImPowerListReq.userId = userId
this.AssetImPowerListReq.basicId = null; this.AssetImPowerListReq.basicId = null;
} }
@ -337,16 +334,14 @@ export default {
*/ */
handleNodeClick(data) { handleNodeClick(data) {
this.tableBasic = data this.tableBasic = data
this.AssetImPowerListReq.tableId = this.tableBasic.id
this.AssetImPowerListReq.basicId = this.tableBasic.basicId
this.AssetImPowerListReq.deptId = this.tableBasic.deptId
if (this.tableBasic.children != null) { if (this.tableBasic.children != null) {
this.AssetImPowerListReq.basicId = this.tableBasic.basicId
this.AssetImPowerListReq.deptId = this.tableBasic.deptId
this.AssetImPowerListReq.tableId = null; this.AssetImPowerListReq.tableId = null;
} else { } else {
this.AssetImPowerListReq.tableId = this.tableBasic.id
this.AssetImPowerListReq.basicId = null; this.AssetImPowerListReq.basicId = null;
} }
/** /**
* 查询资产赋权用户信息 * 查询资产赋权用户信息
* @param data 参数信息 * @param data 参数信息

View File

@ -87,7 +87,7 @@
//jsjsjson, //jsjsjson,
//import from ', //import from ',
import { getExtractDataTableNameList, tableStructureShow } from '@/api/property/astr' import { getExtractDataTableNameList } from '@/api/property/astr'
export default { export default {
//import使" //import使"
@ -123,18 +123,14 @@ export default {
this.data = res.data this.data = res.data
}) })
}, },
handleNodeClick(data) { handleNodeClick(data){
console.log(data) this.tableBasic=data
this.tableBasic = data this.dataNum=data.tableFie.length
this.tableStructure=data.tableFie
tableStructureShow(data).then(res => {
console.log(res)
this.dataNum = res.data.length
this.tableStructure = res.data
})
}, },
}, },
// - 访this", // - 访this",
created() { created() {
@ -163,4 +159,5 @@ export default {
<style scoped> <style scoped>
</style> </style>