Browse Source

复制节点更改

duy 2 years ago
parent
commit
31b901a079
2 changed files with 43 additions and 12 deletions
  1. 20 3
      src/views/data-fill/division.vue
  2. 23 9
      src/views/data-fill/wbs.vue

+ 20 - 3
src/views/data-fill/division.vue

@@ -687,6 +687,20 @@ const copyNodeElTreeClick = ({data}) => {
         // if (type === 6 && (data['type'] === 4 || data['type'] === 5 || data['type'] === 6)) {
         //     setCopyNodeTable(data, title)
         // }
+
+        if (type === 6 && (data['type'] === 4 || data['type'] === 5 || data['type'] == 6)) {
+             //限制复制数据不能复制到本身节点下
+                if (data['id'] !== formCopyNodeModel.value.id) {
+                    if (data['notExsitChild']) {
+                        //限制一个节点不能点击多次
+                        let oldarr = copyNodeTable.value
+                        let result = oldarr.some(item => item.primaryKeyId === data['primaryKeyId']) //true
+                        if (!result) {
+                            setCopyNodeTable(data, data?.title)
+                        }
+                    }
+            }
+        }
         if (type === 6 && (data['type'] === 4 || data['type'] === 5 || data['type'] !== 6)) {
             setCopyNodeTable(data, title)
         }
@@ -732,7 +746,9 @@ const setCopyNodeTable = (data, title) => {
     copyNodeTable.value.push({
         title: data?.title || '',
         nodeName: title || '',
-        primaryKeyId: data?.primaryKeyId || ''
+        primaryKeyId: data?.primaryKeyId || '',
+        parentId:data?.parentId || '',
+        id:data?.id || '',
     })
 }
 
@@ -777,9 +793,10 @@ const copyNodeClick = async () => {
         classify = arr.join(',')
     }
     //isSameNode 是否同节点 1=同节点,0=跨节点
-    if(table.length>0){
+    //isSameNode 是否同节点 1=同节点,0=跨节点
+     if(table.length>0){
         table.forEach((ele)=>{
-            if(ele.primaryKeyId===formCopyNodeModel.value.primaryKeyId){
+            if(ele.parentId===formCopyNodeModel.value.parentId||ele.id===formCopyNodeModel.value.parentId){
                ele.isSameNode =1 
             }else{
                 ele.isSameNode =0

+ 23 - 9
src/views/data-fill/wbs.vue

@@ -1221,9 +1221,20 @@ const copyNodeElTreeClick = ({data}) => {
     if (TabKey === '2') {
         //1 单位工程,2 分部工程,3 子分部工程,4 分项工程, 5 子分项工程,6 工序
         //工序节点不能复制到工序节点下面
-        // if (type === 6 && (data['type'] === 4 || data['type'] === 5 || data['type'] == 6)) {
-        //     setCopyNodeTable(data, title)
-        // }
+        if (type === 6 && (data['type'] === 4 || data['type'] === 5 || data['type'] == 6)) {
+             //限制复制数据不能复制到本身节点下
+                if (data['id'] !== formCopyNodeModel.value.id) {
+                    if (data['notExsitChild']) {
+                        //限制一个节点不能点击多次
+                        let oldarr = copyNodeTable.value
+                        let result = oldarr.some(item => item.primaryKeyId === data['primaryKeyId']) //true
+                        if (!result) {
+                            setCopyNodeTable(data, data?.title)
+                        }
+                    }
+            }
+        }
+
         if (type === 6 && (data['type'] === 4 || data['type'] === 5 || data['type'] !== 6)) {
             setCopyNodeTable(data, title, partitionCode)
         }
@@ -1243,6 +1254,7 @@ const copyNodeElTreeClick = ({data}) => {
             setCopyNodeTable(data, title, partitionCode)
         }
     } else if (TabKey === '3') {
+        console.log(1111111);
         //限制复制数据不能复制到本身节点下
         if (data['id'] !== formCopyNodeModel.value.id) {
             // console.log(formCopyNodeModel.value,'formCopyNodeModel.value');
@@ -1270,6 +1282,8 @@ const setCopyNodeTable = (data, title) => {
         title: data?.title || '',
         nodeName: title || '',
         primaryKeyId: data?.primaryKeyId || '',
+        parentId:data?.parentId || '',
+        id:data?.id || '',
 
     })
 }
@@ -1321,12 +1335,12 @@ const copyNodeClick = async () => {
         classify = arr.join(',')
     }
     //isSameNode 是否同节点 1=同节点,0=跨节点
-    if (table.length > 0) {
-        table.forEach((ele) => {
-            if (ele.primaryKeyId === formCopyNodeModel.value.primaryKeyId) {
-                ele.isSameNode = 1
-            } else {
-                ele.isSameNode = 0
+     if(table.length>0){
+        table.forEach((ele)=>{
+            if(ele.parentId===formCopyNodeModel.value.parentId||ele.id===formCopyNodeModel.value.parentId){
+               ele.isSameNode =1 
+            }else{
+                ele.isSameNode =0
             }
         })
     }