소스 검색

fix:<DrawFlow.vue> 修复上级节点有childNode情况下无法删除bug

xiaoyang 2 년 전
부모
커밋
16d069a255
2개의 변경된 파일113개의 추가작업 그리고 33개의 파일을 삭제
  1. 21 3
      src/components/DrawFlow/src/DrawFlow.vue
  2. 92 30
      src/views/Home.vue

+ 21 - 3
src/components/DrawFlow/src/DrawFlow.vue

@@ -86,13 +86,15 @@ export default {
      */
     addBranch(node) {
       let newNode = new CopyNode(node[0]);
-      this.selfConfig = this.selfConfig.concat([newNode]);
+      this.selfConfig.push(newNode);
     },
     creatBusNodeChange() {
       // EventBus.$on("nodeChange", this.nodeChange);
     },
     /**
      * 获取传参数据结构
+     * 已废弃
+     * @obsolete
      */
     getResData() {
       let list = JSON.parse(JSON.stringify(this.selfConfig));
@@ -106,7 +108,11 @@ export default {
       list = this.shakeDeleteNode(list);
       return list;
     },
-    // 删除没有上级的节点
+    /**
+     * 删除没有上级的节点
+     *  已废弃
+     * @obsolete
+     */
     shakeDeleteNode(list) {
       console.log(selfConfig, "list");
       let root = JSON.parse(JSON.stringify(list)).filter(i => i.isRoot)[0];
@@ -231,7 +237,18 @@ export default {
 
     // 删除节点
     deleteNode(selfConfig, node) {
-      selfConfig = selfConfig.map(i => i.id !== node.id && i).filter(Boolean);
+      console.log(selfConfig, "selfConfig");
+      selfConfig = selfConfig
+        .map(i => {
+          if (i.id !== node.id) {
+            if (!i.childNode) return i;
+            if (i.childNode.id === node.id) delete i.childNode;
+            return i;
+          }
+        })
+        .filter(Boolean);
+      console.log(selfConfig, "selfConfigend");
+
       return selfConfig;
     },
     //单独删除col下node
@@ -297,6 +314,7 @@ export default {
     //删除后重组数组
     repickDeleteArr(repickConfig) {
       let selfConfig = JSON.parse(JSON.stringify(this.selfConfig));
+      console.log("selfConfig", selfConfig);
       selfConfig.forEach(i => {
         if (i.isRow && i.groupId === repickConfig.id) {
           i.groupId = repickConfig.groupId;

+ 92 - 30
src/views/Home.vue

@@ -29,46 +29,108 @@ const arr = [
     type: "1",
     datas: null,
     createTime: null,
-    processId: 16
+    processId: 16,
+    isParent: true,
+    pids: [null]
   },
   {
-    pointId: 36,
-    content: "阿松大",
-    groupId: "root",
-    id: "am348i59pz39mikq",
-    isRoot: null,
-    isRow: true,
-    title: "审批人",
-    type: "2",
-    datas: 14,
-    createTime: null,
-    processId: 16
+    title: "title",
+    data: {},
+    id: "acahrafgsldnkvjz",
+    groupId: "a0hvltoived5fzrv",
+    type: "3",
+    content: "请设置条件",
+    groupPid: "root",
+    isRow: false,
+    isParent: true,
+    childNode: {
+      type: "2",
+      title: "你好",
+      content: "contentaygpbym9cjmuvm9a",
+      groupId: "acahrafgsldnkvjz",
+      id: "aygpbym9cjmuvm9a",
+      isRow: true,
+      data: {},
+      isParent: true,
+      pids: ["acahrafgsldnkvjz"]
+    },
+    pids: ["root"]
+  },
+  {
+    title: "title",
+    data: {},
+    id: "aqx5nqz26d4e07ck",
+    groupId: "a0hvltoived5fzrv",
+    type: "3",
+    content: "请设置条件",
+    groupPid: "root",
+    isRow: false,
+    isParent: true,
+    childNode: {
+      type: "2",
+      title: "你好",
+      content: "contenta50u2g1vzl03iqqy",
+      groupId: "aqx5nqz26d4e07ck",
+      id: "a50u2g1vzl03iqqy",
+      isRow: true,
+      data: {},
+      pids: ["aqx5nqz26d4e07ck"],
+      isParent: true
+    },
+    pids: ["root"]
   },
   {
-    pointId: 38,
-    content: "小弟二号",
-    groupId: "am348i59pz39mikq",
-    id: "a4jb4mgyj9g3fi9p",
-    isRoot: null,
+    type: "2",
+    title: "你好",
+    content: "contentaygpbym9cjmuvm9a",
+    groupId: "acahrafgsldnkvjz",
+    id: "aygpbym9cjmuvm9a",
     isRow: true,
-    title: "审批角色",
+    data: {},
+    isParent: true,
+    pids: ["acahrafgsldnkvjz"]
+  },
+  {
     type: "4",
-    datas: 3,
-    createTime: "2022-03-16T17:30:15.007",
-    processId: 16
+    title: "title",
+    content: "contenta5nujrwu2l5ejxat",
+    groupId: "aygpbym9cjmuvm9a",
+    id: "a5nujrwu2l5ejxat",
+    isRow: true,
+    data: {},
+    isParent: true,
+    pids: ["aygpbym9cjmuvm9a"]
   },
   {
-    pointId: 39,
-    content: "阿松大",
-    groupId: "a4jb4mgyj9g3fi9p",
-    id: "aebteyez2frhh6ts",
-    isRoot: null,
+    type: "2",
+    title: "你好",
+    content: "contentajuaf8atartvqk3v",
+    groupId: "a5nujrwu2l5ejxat",
+    id: "ajuaf8atartvqk3v",
     isRow: true,
-    title: "审批人",
+    data: {},
+    pids: ["a5nujrwu2l5ejxat"]
+  },
+  {
     type: "2",
-    datas: 14,
-    createTime: "2022-03-16T17:30:47.743",
-    processId: 16
+    title: "你好",
+    content: "contenta50u2g1vzl03iqqy",
+    groupId: "aqx5nqz26d4e07ck",
+    id: "a50u2g1vzl03iqqy",
+    isRow: true,
+    data: {},
+    pids: ["aqx5nqz26d4e07ck"],
+    isParent: true
+  },
+  {
+    type: "2",
+    title: "你好",
+    content: "contentadz6l2d7tcxtg19t",
+    groupId: "a50u2g1vzl03iqqy",
+    id: "adz6l2d7tcxtg19t",
+    isRow: true,
+    data: {},
+    pids: ["a50u2g1vzl03iqqy"]
   }
 ];