From c327574106f470c72638e9f34c7f8cd26d78a2bf Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 24 一月 2024 23:48:36 +0800
Subject: [PATCH] 分类授权,数据授权接口修改

---
 Source/UBCS-WEB/src/components/Master/MasterTree.vue |   74 +++++++++++++++++++++++++-----------
 1 files changed, 51 insertions(+), 23 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/Master/MasterTree.vue b/Source/UBCS-WEB/src/components/Master/MasterTree.vue
index 4f1f707..3abe4a1 100644
--- a/Source/UBCS-WEB/src/components/Master/MasterTree.vue
+++ b/Source/UBCS-WEB/src/components/Master/MasterTree.vue
@@ -1,12 +1,17 @@
 <template>
-  <div class="app" style="display: flex;">
+  <div class="app" style="position: relative;">
     <avue-tree ref="tree" v-model="CloneTreeAvueform" v-loading="loading" :data="Treedata" :defaultExpandAll="false"
                :option="Treeoption" style="width: fit-content;" @node-click="nodeClick">
       <template slot-scope="{ node }">
-        <span v-html="node.label"></span>
+        <el-tooltip :content="$createElement('div', { domProps: { innerHTML: node.label } })" class="item" effect="dark"
+                    open-delay="350" placement="right-start">
+          <span id="labelSize" v-html="node.label"></span>
+        </el-tooltip>
       </template>
     </avue-tree>
-    <div style="display: inline-block;"><i class="el-icon-refresh refresh-icon" @click="getTreeLists"></i></div>
+    <div style="position: absolute; right: 3px; top: -1px;">
+      <el-link class="refresh-icon" icon="el-icon-refresh" @click="getTreeLists"></el-link>
+    </div>
   </div>
 </template>
 
@@ -34,6 +39,7 @@
     return {
       TreeValue: '',
       idData: '',
+      referTreeId: '',
       masterVrBtnList: [],
       tableHeadFindData: [],
       tableHeadDataFateher: [],
@@ -51,16 +57,16 @@
         delBtn: false,
         defaultExpandAll: false,
         menu: false,
-        lazy: true,
-        // treeLoad:function (node,resolve){
-        //   console.log(node)
-        //   console.log(resolve)
-        // }
-        treeLoad: function (node, resolve) {
+        // lazy: true,
+        treeLoad: (node, resolve) => {
           if (node.data != false) {
             const parentId = (node.level === 0) ? 0 : node.data.oid;
-            const parentBtmName = node.data.attributes.btmname
-            getTreeList({parentOid: parentId, parentBtmName: parentBtmName}).then(res => {
+            const parentBtmName = node.data.attributes.btmname;
+            getTreeList({
+              parentOid: parentId,
+              parentBtmName: parentBtmName,
+              'conditionMap[btmTypeId]': this.referTreeId
+            }).then(res => {
               resolve(res.data.map(item => {
                 return {
                   ...item,
@@ -95,9 +101,15 @@
     getTreeLists() {
       const index = this.$route.query.id.indexOf('@');
       const result = this.$route.query.id.substring(0, index);
-      this.idData = result
-      // console.log(this.$route)
-      getTreeList({'conditionMap[id]': this.idData}).then(res => {
+      this.idData = result;
+      this.removeList();
+      let conditionMaps = {};
+      conditionMaps["conditionMap[id]"] = this.idData;
+      conditionMaps["conditionMap[authType]"] = "data_auth";
+      conditionMaps["conditionMap[buttonCode]"] = this.idData;
+      // 鏁版嵁鎺堟潈涓槸鍚﹀叿澶囨煡鐪嬫潈闄�
+      conditionMaps["conditionMap[menuCode]"] = "data_view";
+      getTreeList(conditionMaps).then(res => {
         if (res) {
           if (res.data.length === 0) {
             this.$message.error("涓绘暟鎹垎绫绘煡璇负绌猴紒");
@@ -105,6 +117,8 @@
             this.Treedata = res.data;
             const [firstProperty] = res.data;
             this.ModifyProperties(this.Treedata, 'text', 'label');
+            this.referTreeId = firstProperty.attributes.btmTypeId;
+            // console.log(this.referTreeId)
             this.codeClassifyOid = firstProperty.oid;
             this.coderuleoid = firstProperty.attributes.coderuleoid;
             this.$emit("coderuleoid", this.coderuleoid)
@@ -114,15 +128,19 @@
             });
             this.$emit("coderuleoid", this.coderuleoid)
             this.$emit('Treedata', this.Treedata)
-            console.log(this.Treedata)
           }
         }
       }).catch(res => {
-        // console.log(res)
         this.$message.error(res)
       });
     },
-
+    removeList() {
+      this.$emit('tableHeadDataFateher', []);
+      this.$emit('tableHeadFindData', []);
+      this.$emit('tableHeadBttoms', []);
+      this.$emit('tableDataArray', [])
+      this.$emit('total', null)
+    },
     //瀹氫箟涓�涓慨鏀规暟鎹睘鎬у悕鐨勬柟娉�
     ModifyProperties(obj, oldName, newName) {
       for (let key in obj) {
@@ -137,12 +155,17 @@
     },
     //琛ㄦ牸鍒锋柊
     TableRend() {
+      this.loading = true;
+      this.$emit('loading', this.loading)
       TableData({
         templateOid: this.templateOids,
         codeClassifyOid: this.nodeClickList.oid,
         page: this.currentPage,
         limit: this.pageSize,
       }).then(res => {
+        // console.log('tab',res)
+        this.loading = false;
+        this.$emit('loading', this.loading)
         this.tableDataArray = res.data.data;
         this.$emit('tableDataArray', this.tableDataArray)
         this.$emit('total', res.data.total)
@@ -171,10 +194,11 @@
           List.forEach(item => {
             let columnItem = {
               label: item.title,
-              prop: item.queryField,
+              prop: item.field,
               // type: this.columnType[item.type],
               sortable: item.sort,
-              width: item.minWidth
+              width: item.minWidth,
+              query: item.queryField
             };
             this.tableHeadFindData.push(Object.assign(item, columnItem))
           })
@@ -190,7 +214,7 @@
     //鏍戠偣鍑讳簨浠�
     async nodeClick(data) {
       try {
-        // console.log(data)
+        console.log(data)
         this.TreeValue = data.label.split("</span>")[1].trim();
         // console.log('TreeValue',this.TreeValue)
         this.$emit('TreeValue', this.TreeValue)
@@ -199,10 +223,10 @@
         this.tableHeadFindData = []
         await this.TableHeadRend(); // 鍏堟墽琛� TableHeadRend()
         this.TableRend(); // TableHeadRend() 鏂规硶瀹屾垚鍚庡啀鎵ц TableRend()
-        this.$emit('nodeClick', this.templateOids)
+        this.$emit('nodeClickTemplateOids', this.templateOids)
         this.$emit("codeClassifyOid", this.nodeClickList.oid)
+        this.$emit("nodeClickList", this.nodeClickList)
       } catch (error) {
-        // 澶勭悊閿欒
         this.$message.error(error)
       }
     }
@@ -213,7 +237,7 @@
 <style lang="scss" scoped>
 .app {
   overflow: auto;
-  height: calc(100vh - 150px);
+  height: calc(100vh - 145px);
 }
 
 .app::-webkit-scrollbar {
@@ -237,4 +261,8 @@
   margin-left: 6px;
   font-size: 18px;
 }
+
+#labelSize {
+  font-size: 14px !important;
+}
 </style>

--
Gitblit v1.9.3