Browse Source

新增自定义节点

duy 1 year ago
parent
commit
cc1273eddb
2 changed files with 27 additions and 7 deletions
  1. 1 1
      src/views/data-fill/components/HcTreeNode.vue
  2. 26 6
      src/views/data-fill/wbs.vue

+ 1 - 1
src/views/data-fill/components/HcTreeNode.vue

@@ -27,7 +27,7 @@
 </template>
 </template>
 
 
 <script setup>
 <script setup>
-import { nextTick, onActivated, onMounted, ref, watch } from 'vue'
+import { nextTick, onMounted, ref, watch } from 'vue'
 import { getArrValue } from 'js-fast-way'
 import { getArrValue } from 'js-fast-way'
 import wbsApi from '~api/data-fill/wbs'
 import wbsApi from '~api/data-fill/wbs'
 
 

+ 26 - 6
src/views/data-fill/wbs.vue

@@ -42,7 +42,8 @@
                         </el-scrollbar>
                         </el-scrollbar>
                         <el-scrollbar v-show="!isSearchTree" class="scroll-bar-right-16">
                         <el-scrollbar v-show="!isSearchTree" class="scroll-bar-right-16">
                             <HcLazyTree
                             <HcLazyTree
-                                ref="wbstree"
+                                ref="wbstree"	
+                                is-load-menu
                                 :auto-expand-keys="TreeAutoExpandKeys"
                                 :auto-expand-keys="TreeAutoExpandKeys"
                                 :is-mark="TreeMark"
                                 :is-mark="TreeMark"
                                 :menus="ElTreeMenu"
                                 :menus="ElTreeMenu"
@@ -55,6 +56,7 @@
                                 @node-loading="ElTreeNodeLoading"
                                 @node-loading="ElTreeNodeLoading"
                                 @node-tap="wbsElTreeClick"
                                 @node-tap="wbsElTreeClick"
                                 @check="ElTreeNodeCheck"
                                 @check="ElTreeNodeCheck"
+                                @load-menu="loadMenu"
                             />
                             />
                         </el-scrollbar>
                         </el-scrollbar>
                     </div>
                     </div>
@@ -770,8 +772,7 @@ const TreeMark = ref(false)
 const setElTreeMenu = (contractType) => {
 const setElTreeMenu = (contractType) => {
     let newArr = []
     let newArr = []
     if (contractType === 1) {
     if (contractType === 1) {
-        //新增自定义节点功能
-        newArr.push({ icon: 'add-circle', label: '新增自定义节点', key: 'add1' })
+  
         if (HcIsButton('wbs_tree_add')) {
         if (HcIsButton('wbs_tree_add')) {
             newArr.push({ icon: 'add-circle', label: '新增节点', key: 'add' })
             newArr.push({ icon: 'add-circle', label: '新增节点', key: 'add' })
         }
         }
@@ -798,8 +799,7 @@ const setElTreeMenu = (contractType) => {
             newArr.push({ icon: 'folder-shared', label: '工程划分', key: 'nodetree' })
             newArr.push({ icon: 'folder-shared', label: '工程划分', key: 'nodetree' })
         }
         }
     } else if (contractType === 2) {
     } else if (contractType === 2) {
-          //新增自定义节点功能
-          newArr.push({ icon: 'add-circle', label: '新增自定义节点', key: 'add1' })
+      
         if (HcIsButton('wbs_tree_add')) {
         if (HcIsButton('wbs_tree_add')) {
             newArr.push({ icon: 'add-circle', label: '新增节点', key: 'add' })
             newArr.push({ icon: 'add-circle', label: '新增节点', key: 'add' })
         }
         }
@@ -848,6 +848,7 @@ const treeLoadNode = async ({ node, item, level }, resolve) => {
         contractIdRelation = nodeData?.contractIdRelation || ''
         contractIdRelation = nodeData?.contractIdRelation || ''
         parentId = contractIdRelation ? nodeData?.primaryKeyId : nodeData?.id
         parentId = contractIdRelation ? nodeData?.primaryKeyId : nodeData?.id
         primaryKeyId = nodeData?.id || ''
         primaryKeyId = nodeData?.id || ''
+     
     }
     }
     //获取数据
     //获取数据
     const { data } = await queryApi.queryWbsTreeData({
     const { data } = await queryApi.queryWbsTreeData({
@@ -860,6 +861,7 @@ const treeLoadNode = async ({ node, item, level }, resolve) => {
         tableOwner:authBtnTabKey.value,
         tableOwner:authBtnTabKey.value,
     })
     })
     treeLoading.value = false
     treeLoading.value = false
+    
     resolve(getArrValue(data))
     resolve(getArrValue(data))
 }
 }
 
 
@@ -921,7 +923,9 @@ const ElTreeMenuClick = async ({ key, node, data, keys }) => {
     TreeAutoExpandKeys.value = keys || []
     TreeAutoExpandKeys.value = keys || []
     setTreeMenuDataClick({ key, node, data })
     setTreeMenuDataClick({ key, node, data })
 }
 }
-
+const treeMenuClick = (data)=>{
+    console.log(data, 'data1')
+}
 //导图结构数据
 //导图结构数据
 const NodeTreeRef = ref(null)
 const NodeTreeRef = ref(null)
 
 
@@ -1980,6 +1984,22 @@ const treeSelectNode = ref([])
 const ElTreeNodeCheck = (_, { checkedKeys }) => {
 const ElTreeNodeCheck = (_, { checkedKeys }) => {
     treeSelectNode.value = getArrValue(checkedKeys)
     treeSelectNode.value = getArrValue(checkedKeys)
 }
 }
+const loadMenu = ({ node, item, level }, resolve)=>{
+    setElTreeMenu(contractInfo.value?.contractType)
+    let menusArr = ElTreeMenu.value
+    console.log(node, item, level)
+    const { isCustom } = item
+    if (isCustom === 1) {
+        menusArr.unshift( { icon: 'add-circle', label: '新增自定义节点', key: 'add1' })
+        resolve(menusArr)
+    } else if (level === 1) {
+        menusArr = [ { icon: 'add-circle', label: '新增自定义节点', key: 'add1' }]
+        resolve(menusArr)
+    } else {
+      
+        resolve(menusArr)
+    }
+}
 
 
 //批量保存
 //批量保存
 const nodeSaveLoading = ref(false)
 const nodeSaveLoading = ref(false)