Bläddra i källkod

fix: 三甲树逻辑修改

johnsen 7 månader sedan
förälder
incheckning
e7abf721fc
1 ändrade filer med 21 tillägg och 1 borttagningar
  1. 21 1
      src/views/docManages/left-tree.vue

+ 21 - 1
src/views/docManages/left-tree.vue

@@ -125,10 +125,11 @@ export default {
             tiaoKuanJianCheng: t.tiao_kuan_jian_ch,
             ...t
           }))
+          const findFaterTree = this.findFaterTree(treeData)
           if (!data.some((t) => t.parentId === '-1')) {
             treeData.push({
               name: '任务分类',
-              id: '1417522060971737088',
+              id: findFaterTree[0] ? findFaterTree[0].parentId : '-1',
               parentId: '-1'
             })
           }
@@ -166,6 +167,25 @@ export default {
       //   this.$emit('treeData', response.data)
       // })
     },
+    findFaterTree(treeData) {
+      // 第一步:收集所有节点的id(用于判断父级是否存在)​
+      const allIds = new Set()
+      treeData.forEach((item) => {
+        if (item.id !== null && item.id !== '') {
+          allIds.add(item.id)
+        }
+      })
+      // 第二步:筛选“parentId不在allIds中”的节点(父级不存在,即最上级)​
+      const topLevelData = treeData.filter((item) => {
+        // 若parentId为null/undefined/空字符串,视为无父级(最上级)​
+        if (!item.parentId) {
+          return true
+        }
+        // 若parentId存在,但不在allIds中(父级不存在,即最上级)​
+        return !allIds.has(item.parentId)
+      })
+      return topLevelData
+    },
     handleTreeAction(command, position, selection, data) {
       switch (command) {
         case 'refresh': // 查询