Эх сурвалжийг харах

新增自定义节点判断

duy 1 жил өмнө
parent
commit
e310941056

+ 7 - 17
src/views/data-fill/division.vue

@@ -701,31 +701,21 @@ const loadMenu = ({ node, item, level }, resolve)=>{
     { icon: 'delete-bin', label: '删除节点', key: 'del' },
 ]
     let menusArr = ElTreeMenu.value
-    const { childNodes } = node
- 
-    //自定义节点类型下如果有划分节点,就不允许新增自定义节点
-    let iscan = false
-    iscan = childNodes.some(obj => obj.data.isCustom !== 1)
-    console.log(iscan, 'iscan')
-
-       //自定义节点类型下如果有自定义节点,就不允许新增节点
-    let iscan1 = false
-    iscan1 = childNodes.some(obj => obj.data.isCustom === 1)
-
+    const { isCustomChild, notExsitChild } = item //isCustomChild===1//代表子级是自定义节点
     const { isCustom } = item
-    if (isCustom === 1 && iscan1 && !iscan) {
+    if (isCustom === 1 && isCustomChild === 0 && notExsitChild) {//无子级,显示两个按钮
         menusArr.unshift( { icon: 'add-circle', label: '新增自定义节点', key: 'add1' })
-       let menusArr1 = arrDelKey(menusArr, 'label', '新增节点') // [{id:1}]
-        console.log(menusArr1, 'menusArr')
-        resolve(menusArr1)
-    } else if (isCustom === 1 && !iscan) {
+        resolve(menusArr)
+    } else if (isCustom === 1 && isCustomChild === 1) {//自定义节点类型下如果有自定义节点,就不允许新增节点
         menusArr.unshift( { icon: 'add-circle', label: '新增自定义节点', key: 'add1' })
+        let menusArr1 = arrDelKey(menusArr, 'label', '新增节点') // [{id:1}]
+        resolve(menusArr1)
+    } else if (isCustom === 1 && isCustomChild === 0 && !notExsitChild) { //自定义节点类型下如果有划分节点,就不允许新增自定义节点
         resolve(menusArr)
     } else if (level === 1) {
         menusArr = [ { icon: 'add-circle', label: '新增自定义节点', key: 'add1' }]
         resolve(menusArr)
     } else {
-      
         resolve(menusArr)
     }
 }

+ 7 - 17
src/views/data-fill/wbs.vue

@@ -2024,31 +2024,21 @@ const ElTreeNodeCheck = (_, { checkedKeys }) => {
 const loadMenu = ({ node, item, level }, resolve)=>{
     setElTreeMenu(contractInfo.value?.contractType)
     let menusArr = ElTreeMenu.value
-    const { childNodes } = node
- 
-    //自定义节点类型下如果有划分节点,就不允许新增自定义节点
-    let iscan = false
-    iscan = childNodes.some(obj => obj.data.isCustom !== 1)
-    console.log(iscan, 'iscan')
-
-       //自定义节点类型下如果有自定义节点,就不允许新增节点
-    let iscan1 = false
-    iscan1 = childNodes.some(obj => obj.data.isCustom === 1)
-
+    const { isCustomChild, notExsitChild } = item //isCustomChild===1//代表子级是自定义节点
     const { isCustom } = item
-    if (isCustom === 1 && iscan1 && !iscan) {
+    if (isCustom === 1 && isCustomChild === 0 && notExsitChild) {//无子级,显示两个按钮
         menusArr.unshift( { icon: 'add-circle', label: '新增自定义节点', key: 'add1' })
-       let menusArr1 = arrDelKey(menusArr, 'label', '新增节点') // [{id:1}]
-        console.log(menusArr1, 'menusArr')
-        resolve(menusArr1)
-    } else if (isCustom === 1 && !iscan) {
+        resolve(menusArr)
+    } else if (isCustom === 1 && isCustomChild === 1) {//自定义节点类型下如果有自定义节点,就不允许新增节点
         menusArr.unshift( { icon: 'add-circle', label: '新增自定义节点', key: 'add1' })
+        let menusArr1 = arrDelKey(menusArr, 'label', '新增节点') // [{id:1}]
+        resolve(menusArr1)
+    } else if (isCustom === 1 && isCustomChild === 0 && !notExsitChild) { //自定义节点类型下如果有划分节点,就不允许新增自定义节点
         resolve(menusArr)
     } else if (level === 1) {
         menusArr = [ { icon: 'add-circle', label: '新增自定义节点', key: 'add1' }]
         resolve(menusArr)
     } else {
-      
         resolve(menusArr)
     }
 }