From 686e93016c6a8d0353a63ac0bbdeaf8aba4bc053 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 25 一月 2024 11:00:07 +0800
Subject: [PATCH] 分类授权,数据授权进一步测试完善bug修改

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

diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
index 2e37a1b..d6bc77c 100644
--- a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
+++ b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
@@ -123,6 +123,7 @@
         </el-dialog>
         <!-- 鍒嗙被鎺堟潈瀵硅瘽妗�-->
         <classify-auth-dialog
+          :TreeNode="TreeEditObj"
           :classifyData="classifyData"
           :visible.sync="classifyAuthVisible"
         ></classify-auth-dialog>
@@ -512,6 +513,7 @@
       Treedata: [],
       CloneTreedata: [],
       Treeoption: {
+        height:'auto',
         addBtn: false,
         editBtn: false,
         delBtn: false,
@@ -778,7 +780,7 @@
         this.$message.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹紒')
         return;
       }
-      this.classifyData = this.nodeClickList;
+      // this.classifyData = this.nodeClickList;
       this.classifyAuthVisible = true;
     },
     // 鏁版嵁鎺堟潈瀵硅瘽妗嗘墦寮�
@@ -787,7 +789,7 @@
         this.$message.warning('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹紒')
         return;
       }
-      this.classifyData = this.nodeClickList;
+      // this.classifyData = this.nodeClickList;
       this.dataAuthVisible = true;
     },
     flowingDependHandler() {
@@ -1151,6 +1153,10 @@
     },
     //鏍戠偣鍑讳簨浠�
     async nodeClick(data) {
+      const response = this.findTheTopLevelNode(data,this.Treedata)
+      this.classifyData = response;
+      // console.log(response)
+      // console.log('response',response.attributes.id)
       this.allButtons = true;
       getAuthButtonList({classifyId: data.oid, code: "classifyTree", authType: "classify_auth"}).then(res => {
         this.btnAuthList = res.data.data;
@@ -1196,6 +1202,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