CzRger 3 months ago
parent
commit
5de1ea8bd9

+ 15 - 2
src/views/workflow/chart/index.vue

@@ -274,8 +274,21 @@ const initChart = () => {
       allowLoop: false,  //  是否允许创建循环连线,即边的起始节点和终止节点为同一节点
       allowNode: false,  //  是否允许边连接到节点
       allowEdge: false,  //  是否允许边链接到另一个边
-      allowPort: ({sourcePort, targetPort}: any) => {  //  是否允许边链接到连接桩
-        return !sourcePort?.includes('start') && targetPort?.includes('start')
+      allowPort: (args: any) => {  //  是否允许边链接到连接桩
+        // console.log(args)
+        if (args.sourcePort?.includes('start')) {
+          return false
+        }
+        if (!args.targetPort?.includes('start')) {
+          return false
+        }
+        // if (state.graph.isSuccessor(args.sourceCell, args.targetCell)) {
+        //   return false
+        // }
+        // if (state.graph.getPredecessors(args.sourceCell)[0] && state.graph.getPredecessors(args.targetCell)[0] && state.graph.getPredecessors(args.sourceCell)[0] === state.graph.getPredecessors(args.targetCell)[0]) {
+        //   return false
+        // }
+        return true
       },
       allowMulti: 'withPort', //  当设置为 'withPort' 时,在起始和终止节点的相同连接桩之间只允许创建一条边(即,起始和终止节点之间可以创建多条边,但必须要要链接在不同的连接桩上)
       highlight: true,

+ 1 - 1
src/views/workflow/chart/node-port.vue

@@ -129,7 +129,7 @@ onMounted(() => {
   }
   &.highlight {
     >div {
-      background-color: var(--czr-main-color);
+      background-color: #df7e11;
       width: calc(100% + 1px);
       height: calc(100% + 4px);
       opacity: 0.5;

+ 37 - 3
src/views/workflow/mockJson.ts

@@ -928,8 +928,8 @@ export const data3 = {
   "nodes": [
     {
       "id": "3ba412bb-3772-4f61-85de-095f4017858c",
-      "x": -650,
-      "y": -250,
+      "x": -990,
+      "y": -260,
       "data": {
         "id": "3ba412bb-3772-4f61-85de-095f4017858c",
         "title": "开始",
@@ -973,7 +973,41 @@ export const data3 = {
         "type": "answer",
         "edgeSource": "3ba412bb-3772-4f61-85de-095f4017858c_end"
       }
+    },
+    {
+      "id": "1bfeff23-b480-4d13-bec3-374be8dac07d",
+      "x": -610,
+      "y": -70,
+      "data": {
+        "id": "1bfeff23-b480-4d13-bec3-374be8dac07d",
+        "title": "测试节点",
+        "subTitle": "",
+        "inVars": [],
+        "outVars": [
+          {
+            "label": "参数1",
+            "key": "param1",
+            "type": "String"
+          },
+          {
+            "label": "参数2",
+            "key": "param2",
+            "type": "Number"
+          }
+        ],
+        "type": "test",
+        "edgeSource": "3ba412bb-3772-4f61-85de-095f4017858c_end"
+      }
     }
   ],
-  "edges": []
+  "edges": [
+    {
+      "target": "1bfeff23-b480-4d13-bec3-374be8dac07d",
+      "source": "3ba412bb-3772-4f61-85de-095f4017858c"
+    },
+    {
+      "target": "081e032b-312e-4ebc-b663-73ce5615a3bf",
+      "source": "1bfeff23-b480-4d13-bec3-374be8dac07d"
+    }
+  ]
 }