From 7d05c69630d066c0992368423f90e440e3638f91 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期日, 29 九月 2024 11:01:51 +0800
Subject: [PATCH] 整合代码

---
 Source/UBCS-WEB/src/views/integration/systemInfo.vue |   77 ++++++++++++++++++++++++++------------
 1 files changed, 52 insertions(+), 25 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/integration/systemInfo.vue b/Source/UBCS-WEB/src/views/integration/systemInfo.vue
index f7e2560..90d9aac 100644
--- a/Source/UBCS-WEB/src/views/integration/systemInfo.vue
+++ b/Source/UBCS-WEB/src/views/integration/systemInfo.vue
@@ -1,13 +1,16 @@
 <template>
   <basic-container>
-    <avue-crud ref="crud" :data="data" :option="option" :page.sync="page" :search.sync="search" :table-loading="loading"
+    <avue-crud ref="crud" :data="data" :option="option" :page.sync="page" :permission="permissionList"
+               :search.sync="search"
+               :table-loading="loading"
                @on-load="getDataList" @row-save="handleSave" @row-del="handleDelete" @row-update="handleEdit"
                @refresh-change="handleRefresh" @size-change="handleSizePage" @current-change="handleCurrentPage"
                @selection-change="selectionChange" @row-click="handleRowClick">
       <template slot="menuLeft">
         <!-- <el-button icon="el-icon-search" size="small" type="primary" @click="handleStatus">鏌� 璇�
         </el-button> -->
-        <el-button icon="el-icon-delete" size="small" type="danger" @click="handleDeleteByIds">鍒� 闄�
+        <el-button v-if="permissionList.delBtn" icon="el-icon-delete" size="small" type="danger"
+                   @click="handleDeleteByIds">鍒� 闄�
         </el-button>
       </template>
       <template slot="search" slot-scope="{row,size}">
@@ -19,10 +22,11 @@
                   :size="size" clearable style="width:300px;margin-left: 10px;"
                   @clear="handleClear" @keyup.enter.native="handleEnter"></el-input>
       </template>
-      <template #menu="{row,index,size}">
+      <template v-if="permissionList.empower" #menu="{row,index,size}">
         <el-button icon="el-icon-menu" size="small" type="text" @click="classifyHandler(row)">鍒嗙被鎺堟潈</el-button>
-
       </template>
+
+
     </avue-crud>
     <el-dialog :visible.sync="dialogVisible" append-to-body class="avue-dialog avue-dialog--top" title="鍒嗙被鎺堟潈"
                top="-50px">
@@ -54,6 +58,7 @@
   sysInfoTree,
   batchAddSave
 } from '@/api/integration/sysInfo.js'
+import {mapGetters} from "vuex";
 
 export default {
   data() {
@@ -90,8 +95,25 @@
       search: {},
       delIds: [],
       data: [],
-      option: {
+
+    }
+  },
+  created() {
+  },
+  computed: {
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        addBtn: this.vaildData(this.permission.systemInfo.systemInfo_add, false),
+        editBtn: this.vaildData(this.permission.systemInfo.systemInfo_edit, false),
+        delBtn: this.vaildData(this.permission.systemInfo.systemInfo_delete, false),
+        empower: this.vaildData(this.permission.systemInfo.systemInfo_empower, false),
+      }
+    },
+    option() {
+      return {
         height: "auto",
+        calcHeight: 20,
         tip: false,
         border: true,
         align: 'center',
@@ -134,23 +156,21 @@
             type: 'textarea'
           }
         ]
-      },
+      }
     }
-  },
-  created() {
   },
   methods: {
     //閲嶇疆
-    resetting(){
+    resetting() {
       this.$refs.tree.setCheckedKeys([])
       // console.log(this.ParentList)
     },
     empower() {
       batchAddSave(this.checkAll.oid, this.checkAll.id, this.ParentList).then(res => {
         // console.log(res.data)
-        if(res.data.code === 200){
+        if (res.data.code === 200) {
           this.$message.success(res.data.msg)
-          this.dialogVisible=false;
+          this.dialogVisible = false;
         }
       })
     },
@@ -159,35 +179,35 @@
       if (checked) {
         this.addAllChildren(row.children);
         this.addToParentList(row);
-        // 鍕鹃�夎鏃讹紝灏嗗綋鍓嶈浠ュ強鍏舵墍鏈夊瓙鑺傜偣娣诲姞鍒癙arentList涓�
+        // 鍕鹃�夎鏃跺皢鎵�鏈夎妭鐐规坊鍔犲埌ParentList涓�
       } else {
         this.removeAllChildren(row.children);
         this.removeFromParentList(row);
-        // 鍙栨秷鍕鹃�夎鏃讹紝灏嗗綋鍓嶈浠ュ強鍏舵墍鏈夊瓙鑺傜偣浠嶱arentList涓Щ闄�
+        // 鍙栨秷鍕鹃�夊皢鎵�鏈夎妭鐐规坊鍔犱粠ParentList涓Щ闄�
       }
-
       // console.table(this.ParentList);
     },
+    //瀛愯妭鐐规坊鍔�
     addAllChildren(children) {
       for (let child of children) {
         this.addToParentList(child);
         // 灏嗗瓙鑺傜偣娣诲姞鍒� ParentList 涓�
         if (child.children && child.children.length > 0) {
           this.addAllChildren(child.children);
-          // 閫掑綊璋冪敤缁х画娣诲姞瀛愯妭鐐圭殑瀛愯妭鐐�
         }
       }
     },
+    //瀛愯妭鐐圭Щ闄�
     removeAllChildren(children) {
       for (let child of children) {
         this.removeFromParentList(child);
         // 灏嗗瓙鑺傜偣浠� ParentList 涓Щ闄�
         if (child.children && child.children.length > 0) {
           this.removeAllChildren(child.children);
-          // 閫掑綊璋冪敤缁х画绉婚櫎瀛愯妭鐐圭殑瀛愯妭鐐�
         }
       }
     },
+    //褰撳墠鐖惰妭鐐规坊鍔�
     addToParentList(item) {
       const classifyOid = item.attributes.classifyOid;
       if (!this.isClassifyOidExists(classifyOid)) {
@@ -197,9 +217,9 @@
           classifyOid: classifyOid,
         };
         this.ParentList.push(record);
-        // 灏嗚妭鐐规坊鍔犲埌ParentList涓�
       }
     },
+    //褰撳墠鐖惰妭鐐圭Щ闄�
     removeFromParentList(item) {
       const classifyOid = item.attributes.classifyOid;
       if (this.isClassifyOidExists(classifyOid)) {
@@ -207,12 +227,13 @@
         if (index !== -1) {
           this.ParentList.splice(index, 1);
         }
-        // 灏嗚妭鐐逛粠ParentList涓Щ闄�
       }
     },
+    //鍒ら噸-ParentList
     isClassifyOidExists(classifyOid) {
       return this.ParentList.some(item => item.classifyOid === classifyOid);
     },
+    //鏌ユ壘index浣嶇疆
     findIndexByClassifyOid(classifyOid) {
       return this.ParentList.findIndex(item => item.classifyOid === classifyOid);
     },
@@ -223,16 +244,17 @@
       sysInfoTree({systemOid: row.oid, systemId: row.id}).then(res => {
         let List = [];
         let value = 0;
-        let NumberList= [];
+        let NumberList = [];
+
         function traverse(obj, parent) {
           //閲嶆柊鏋勫缓涓�娆¢�変腑褰撳墠row鐨勬暟鎹�
           const record = {
             label: obj.text,
             oid: obj.oid,
-            attributes:{
+            attributes: {
               classifyId: obj.attributes.classifyId,
               classifyOid: obj.attributes.classifyOid,
-              selected:obj.attributes.selected
+              selected: obj.attributes.selected
             },
             classParentOid: obj.parentId,
             value: value,
@@ -265,6 +287,7 @@
             }
           }
         }
+
         for (let item of res.data) {
           traverse(item, null);
         }
@@ -330,6 +353,7 @@
             message: '鏂板鏁版嵁鎴愬姛锛�'
           })
           done(row)
+          await this.getDataList();
           // this.$refs.crud.refreshTable()
           // this.getDataList()
         }
@@ -350,6 +374,7 @@
           })
           done(row)
         }
+        await this.getDataList();
       } catch {
         loading()
       }
@@ -385,7 +410,7 @@
             type: 'success',
             message: '鍒犻櫎鎴愬姛!'
           });
-          this.getDataList()
+          await this.getDataList()
         }
       })
     },
@@ -436,7 +461,9 @@
 }
 </script>
 <style lang="scss" scoped>
-::v-deep(.avue-crud .el-select) {
-  width: 100px !important;
-}
+  ::v-deep{
+      .avue-crud .el-select {
+      width: 100px !important;
+    }
+  }
 </style>

--
Gitblit v1.9.3