From bcecf05a2509a870d6712a3c74541b5f76999cb0 Mon Sep 17 00:00:00 2001 From: haha Date: Sat, 13 Jul 2024 00:14:43 +0800 Subject: [PATCH] update code --- src/components/flow/nodes/BaseNode.js | 6 +- src/views/connection/edit.vue | 122 ++++++++++++++++---------- src/views/connection/nodePanel.vue | 9 +- src/views/connection/paramShow.vue | 34 +++++++ 4 files changed, 120 insertions(+), 51 deletions(-) create mode 100644 src/views/connection/paramShow.vue diff --git a/src/components/flow/nodes/BaseNode.js b/src/components/flow/nodes/BaseNode.js index 9df3530..b8cbbb2 100644 --- a/src/components/flow/nodes/BaseNode.js +++ b/src/components/flow/nodes/BaseNode.js @@ -5,7 +5,11 @@ const makeX = (arr) => { let i = len % 2 == 0 ? (len / 2) * -1 : ((len - 1) / 2) * -1; let res = []; for (let j = i; j <= i * -1; j++) { - res.push(30 * j); + if(len%2==0 && j==0){ + + }else{ + res.push(30 * j); + } } return res; }; diff --git a/src/views/connection/edit.vue b/src/views/connection/edit.vue index 01b2204..2ab236a 100644 --- a/src/views/connection/edit.vue +++ b/src/views/connection/edit.vue @@ -75,33 +75,38 @@ 算子说明: {{ selNode.info.operator_desc }} -
+
输入参数: - - +
+ {{ it.input_id }} +
+ + - {{ it.key }}: - {{ it.value }} + +
-
+
输出参数: - - - {{ it.key }}: - {{ it.value }} +
+
+ {{ it.output_id }} +
+ + + + - +
-
+
处理参数: - - - {{ it.key }}: - {{ it.value }} - + +
@@ -121,6 +126,7 @@ import nodePanel from './nodePanel.vue' import editFlow from './editFlow.vue' import ConnApi from '@/api/connection' import EditParamDlg from './editParamDlg.vue' +import paramShow from './paramShow.vue' const router = useRouter(); const editForm = ref(ElForm) const route = useRoute() @@ -150,35 +156,34 @@ const selNode = reactive({ let lf = ref(null) let edFlow = ref() const ndPanel = ref() -const doFlowInput = () => { - let tmps = info.nodes.filter(d => d.id == selNode.info.id); - if (tmps.length == 0) { - info.nodes.push(selNode.info) - } else { - tmps[0].inputParams = selNode.info.inputParams; - tmps[0].outputParams = selNode.info.outputParams; - tmps[0].processParams = selNode.info.processParams; - - } +const doOutputSelected=idx=>{ + selNode.info.parameters.outputs.forEach((it,i)=>{ + it.selected=i==idx; + }); +} +const doInputSelected=idx=>{ + selNode.info.parameters.inputs.forEach((it,i)=>{ + it.selected=i==idx; + }); } const doEditSuccess = (obj) => { let t = info.editObj.type; if (t == 'i') { - selNode.info.inputParams = obj; + selNode.info.inputs = obj; } if (t == 'o') { - selNode.info.outputParams = obj; + selNode.info.outputs = obj; } if (t == 'p') { - selNode.info.processParams = obj; + selNode.info.process = obj; } let tmps = info.nodes.filter(d => d.id == selNode.info.id); if (tmps.length == 0) { info.nodes.push(selNode.info) } else { - tmps[0].inputParams = selNode.info.inputParams; - tmps[0].outputParams = selNode.info.outputParams; - tmps[0].processParams = selNode.info.processParams; + tmps[0].inputs = selNode.info.parameters.inputs; + tmps[0].outputs = selNode.info.parameters.outputs; + tmps[0].process = selNode.info.parameters.process; } }; const doEdit = (obj, title, t) => { @@ -188,7 +193,7 @@ const doEdit = (obj, title, t) => { type: t } editDlg.value.showDialog({ - obj: t == 'i' ? obj.inputParams : t == 'o' ? obj.outputParams : obj.processParams, + obj: t == 'i' ? obj.inputs : t == 'o' ? obj.outputs : obj.process, title: title }); } @@ -204,17 +209,31 @@ const doUpdateNode = (data) => { ndPanel.value.updateNode(data) } } -const doNodeClick = (node) => { - if (node) { - selNode.info = node.data.properties.data; +const doNodeClick = (node) => { + if (node) { + selNode.info = node.data.properties.data; let tmps = info.nodes.filter(d => d.id == selNode.info.id); if (tmps.length == 0) { info.nodes.push(selNode.info); } else { - selNode.info.inputParams = tmps[0].inputParams; - selNode.info.outputParams = tmps[0].outputParams; - selNode.info.processParams = tmps[0].processParams; + selNode.info.parameters.inputs = tmps[0].parameters.inputs; + selNode.info.parameters.outputs = tmps[0].parameters.outputs; + selNode.info.parameters.process = tmps[0].parameters.process; } + + selNode.info.parameters.inputs.forEach(d=>{ + d.selected=false; + }); + selNode.info.parameters.outputs.forEach(d=>{ + d.selected=false; + }); + if(selNode.info.parameters.inputs.length>0){ + selNode.info.parameters.inputs[0].selected=true; + } + if(selNode.info.parameters.outputs.length>0){ + selNode.info.parameters.outputs[0].selected=true; + } + } else { selNode.info = null; @@ -229,7 +248,6 @@ const doSave = () => { ElMessage.error("请绘制算子互联流程图!"); return; } - debugger let isNoConnect=false; let nodeObj={}; let operator_list=[]; @@ -241,9 +259,9 @@ const doSave = () => { parameters:{} } if(node.length>0){ - oper.parameters.inputParams=node[0].inputParams; - oper.parameters.outputParams=node[0].outputParams; - oper.parameters.processParams=node[0].processParams; + oper.parameters.inputs=node[0].inputs; + oper.parameters.outputs=node[0].outputs; + oper.parameters.process=node[0].process; } operator_list.push(oper); let tmps=flowData.edges.filter(e=>e.sourceNodeId==n.id||e.targetNodeId==n.id); @@ -414,6 +432,20 @@ onMounted(() => { flex-grow: 1; display: block; } + .div-param{ + .div-navs{ + .sp-nav{ + display: inline-block; + line-height:24px; + padding:0px 12px; + cursor: pointer; + &.active{ + background-color: #409EFF; + color:#fff; + } + } + } + } } } } diff --git a/src/views/connection/nodePanel.vue b/src/views/connection/nodePanel.vue index 1ce19a1..b592b9f 100644 --- a/src/views/connection/nodePanel.vue +++ b/src/views/connection/nodePanel.vue @@ -92,13 +92,12 @@ const updateNode = (nodes) => { } -const doEdit=(nd)=>{ - debugger +const doEdit=(nd)=>{ let tmps=info.all.filter(d=>d.id==nd.id); if(tmps.length>0){ - tmps[0].inputParams=nd.inputParams; - tmps[0].outputParams=nd.inputParams; - tmps[0].processParams=nd.processParams; + tmps[0].inputs=nd.inputs; + tmps[0].outputs=nd.outputs; + tmps[0].process=nd.process; } } defineExpose({ diff --git a/src/views/connection/paramShow.vue b/src/views/connection/paramShow.vue new file mode 100644 index 0000000..0620036 --- /dev/null +++ b/src/views/connection/paramShow.vue @@ -0,0 +1,34 @@ + + + + \ No newline at end of file