From eac13244556686dfecf5aaeb6efee931745b9cd7 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 25 一月 2024 10:08:10 +0800
Subject: [PATCH] 主题库查找顶层节点id,主数据右侧表格bug

---
 Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
index 2e37a1b..4f35749 100644
--- a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
+++ b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
@@ -1151,6 +1151,8 @@
     },
     //鏍戠偣鍑讳簨浠�
     async nodeClick(data) {
+        const response = this.findTheTopLevelNode(data,this.Treedata)
+        console.log('response',response.label)
       this.allButtons = true;
       getAuthButtonList({classifyId: data.oid, code: "classifyTree", authType: "classify_auth"}).then(res => {
         this.btnAuthList = res.data.data;
@@ -1196,6 +1198,32 @@
       }
     },
 
+    // 閫掑綊鏌ユ壘椤跺眰鑺傜偣Id
+    findTheTopLevelNode(data,TreeData){
+      if(data.parentId === ""){
+        return data;
+      }
+      const parentNode = this.findParentNode(data.parentId, TreeData);
+      if (parentNode) {
+        return this.findTheTopLevelNode(parentNode, TreeData); // 缁х画鏌ユ壘鐖惰妭鐐�
+      }
+    },
+    // 閫掑綊鏌ユ壘鍑烘潵澶氬眰鑺傜偣鐨勭埗鑺傜偣
+    findParentNode(parentId, TreeData){
+      for (const node of TreeData) {
+        if (node.oid === parentId) {
+          return node;
+        }
+        // 濡傛灉褰撳墠鑺傜偣杩樻湁瀛愯妭鐐癸紝缁х画鍘绘煡瀛愯妭鐐圭殑鐖惰妭鐐�
+        if (node.children) {
+          const parentNode = this.findParentNode(parentId, node.children);
+          if (parentNode) {
+            return parentNode;
+          }
+        }
+      }
+      return null;
+    },
     async gridCode() {
       try {
         const res = await gridCodeClassifyTemplateAttr({

--
Gitblit v1.9.3