From ea3ab34e0d3af27887cbeef5e5871cefd1cc459e Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 26 十月 2023 11:30:54 +0800
Subject: [PATCH] 主题库定义-按钮权限

---
 Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue      |   96 +++++++++++++++++++++----------
 Source/UBCS-WEB/src/views/code/code.vue                     |    8 +-
 Source/UBCS-WEB/src/views/system/menu.vue                   |    1 
 Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue |   45 +++++++++-----
 4 files changed, 97 insertions(+), 53 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue b/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
index 9066963..369da39 100644
--- a/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
+++ b/Source/UBCS-WEB/src/components/Theme/ThemeAttrCrud.vue
@@ -3,67 +3,81 @@
     <div v-if="this.crudArrayFlag" class="app" style="display: flex;flex-wrap: wrap; display: inline-block">
       <el-button-group>
         <!--鏂板-->
-        <el-button
-          v-if="attrEditVisible == false && attrFlagChiledren==false && editOpenFlag &&  (!checkStatus || crudLCStatus=='Editing' )"
-          icon="el-icon-plus" plain size="small" type="primary" @click="busineHandle">娣诲姞 {{ msg }}
+        <span v-if="permissionList.busineStatus">
+           <el-button
+             v-if="attrEditVisible == false && attrFlagChiledren==false && editOpenFlag &&  (!checkStatus || crudLCStatus=='Editing' )"
+             icon="el-icon-plus" plain size="small" type="primary" @click="busineHandle" >娣诲姞 {{ msg }}
         </el-button>
+        </span>
         <!--        鍏ㄥ睆缂栬緫-->
-        <el-button
-          v-if=" attrEditVisible == false && attrFlagChiledren==false && editOpenFlag&&(!checkStatus || crudLCStatus=='Editing')"
-          icon="el-icon-full-screen" size="small" @click="fullscreenHandle">鍏ㄥ睆缂栬緫
+        <span  v-if="permissionList.fullscreenStatus">
+            <el-button
+              v-if=" attrEditVisible == false && attrFlagChiledren==false && editOpenFlag&&(!checkStatus || crudLCStatus=='Editing')"
+              icon="el-icon-full-screen" size="small" @click="fullscreenHandle">鍏ㄥ睆缂栬緫
         </el-button>
-        <!--        楠岃瘉瑙勫垯-->
+        </span>
+        <span v-if="permissionList.ruleStatus">
+           <!--        楠岃瘉瑙勫垯-->
         <el-button v-if="(!checkStatus || crudLCStatus=='Editing' )&& editOpenFlag" icon="el-icon-info" size="small"
-                   @click="ruleAddHandler">楠岃瘉瑙勫垯
+                   @click="ruleAddHandler" >楠岃瘉瑙勫垯
         </el-button>
-        <!--        灞炴�у垎缁�-->
+        </span>
+       <span  v-if="permissionList.attrStatus">
+          <!--        灞炴�у垎缁�-->
         <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-menu" size="small"
                    @click="attrVisibleHandle">灞炴�у垎缁�
         </el-button>
+       </span>
       </el-button-group>
       <el-button-group>
-        <!--    淇濆瓨-->
+        <span v-if="permissionList.saveStatus">
+           <!--    淇濆瓨-->
         <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-check" plain
                    size="small"
-                   type="success" @click.prevent="addsHandler">淇濆瓨
+                   type="success" @click.prevent="addsHandler" >淇濆瓨
         </el-button>
-        <!--    棰勮鎺掑簭-->
-        <el-button icon="el-icon-arrow-down" size="small" @click="orderHandle">棰勮鎺掑簭</el-button>
-        <!--    鍒犻櫎-->
+        </span>
+                <!--    棰勮鎺掑簭-->
+        <el-button icon="el-icon-arrow-down" size="small" @click="orderHandle" v-if="permissionList.orderStatus">棰勮鎺掑簭</el-button>
+        <span v-if="permissionList.removeStatus">
+           <!--    鍒犻櫎-->
         <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-delete" size="small"
-                   @click="CrudRemove">鍒犻櫎
+                   @click="CrudRemove" >鍒犻櫎
         </el-button>
+        </span>
         <!--    閲嶇疆-->
-        <el-button icon="el-icon-refresh-right" size="small" @click="reset">閲嶇疆</el-button>
+        <el-button icon="el-icon-refresh-right" size="small" @click="resetHandler" v-if="permissionList.resetStatus">閲嶇疆</el-button>
       </el-button-group>
       <el-button-group>
-        <!--鏂板-->
-        <!--        鍒嗙被娉ㄥ叆-->
+       <span v-if="permissionList.injectStatus"><!--        鍒嗙被娉ㄥ叆-->
         <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-magic-stick"
-                   size="small" @click="injectBtn">鍒嗙被娉ㄥ叆
-        </el-button>
-        <!--    缁勫悎瑙勫垯-->
+                   size="small" @click="injectBtn" >鍒嗙被娉ㄥ叆
+        </el-button></span>
+        <span  v-if="permissionList.isShowStatus"> <!--    缁勫悎瑙勫垯-->
         <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-film" size="small"
                    @click="isShowHandler">缁勫悎瑙勫垯
-        </el-button>
-        <!--        鏋氫妇娉ㄥ叆-->
+        </el-button></span>
+        <span v-if="permissionList.enumStatus"> <!--        鏋氫妇娉ㄥ叆-->
         <el-button v-if="(!checkStatus || crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-c-scale-to-original"
-                   size="small" @click="enmuVisHandle">鏋氫妇娉ㄥ叆
-        </el-button>
-        <!--    绾ц仈灞炴��-->
+                   size="small" @click="enumVisHandle" >鏋氫妇娉ㄥ叆
+        </el-button></span>
+
+        <span  v-if="permissionList.cascadStatus">
+               <!--    绾ц仈灞炴��-->
         <el-button v-if="(!checkStatus|| crudLCStatus=='Editing') && editOpenFlag" icon="el-icon-coin" size="small"
                    @click="CascadeHandle">绾ц仈灞炴��
         </el-button>
+        </span>
       </el-button-group>
 
       <el-button-group>
         <!--    鍚屾鍒板叾浠栨ā鏉�-->
-        <el-button icon="el-icon-share" size="small" @click="syncHandle">鍚屾鍒板叾浠栨ā鏉�</el-button>
+        <el-button icon="el-icon-share" size="small" @click="syncHandle" v-if="permissionList.syncStatus">鍚屾鍒板叾浠栨ā鏉�</el-button>
       </el-button-group>
 
       <el-button-group>
         <!--    缂栫爜鐢宠棰勮-->
-        <el-button icon="el-icon-view" size="small" style="" @click="applicationHandle">缂栫爜鐢宠棰勮</el-button>
+        <el-button icon="el-icon-view" size="small" style="" @click="applicationHandle" v-if="permissionList.applicationStatus">缂栫爜鐢宠棰勮</el-button>
 
       </el-button-group>
       <!-- 鏄惁寮�鍚紪杈�     -->
@@ -292,7 +306,6 @@
           <el-button size="small" type="primary" @click="addVisible=false">鍙栨秷</el-button>
         </div>
       </el-dialog>
-
       <!--      鍙傜収閰嶇疆-->
       <refer-config-dialog
         :display="referConfigVisble"
@@ -382,7 +395,7 @@
 import {getList} from "@/api/refer/table";
 import func from "@/util/func";
 import {getCurrentInstance} from "vue";
-
+import {mapGetters} from "vuex";
 export default {
   name: "attrCrud .vue",
   props: {
@@ -1530,6 +1543,25 @@
     }
   },
   computed: {
+    ...mapGetters(["permission"]),
+    permissionList(){
+      return{
+        busineStatus:this.vaildData(this.permission.classifyTree.attr_add,false),
+        fullscreenStatus:this.vaildData(this.permission.classifyTree.attr_view_edit,false),
+        ruleStatus:this.vaildData(this.permission.classifyTree.attr_rule,false),
+        attrStatus:this.vaildData(this.permission.classifyTree.attr_group,false),
+        saveStatus:this.vaildData(this.permission.classifyTree.attr_save,false),
+        resetStatus:this.vaildData(this.permission.classifyTree.attr_reset,false),
+        injectStatus:this.vaildData(this.permission.classifyTree.attr_inject,false),
+        isShowStatus:this.vaildData(this.permission.classifyTree.attr_formrule,false),
+        enumStatus:this.vaildData(this.permission.classifyTree.attr_enum,false),
+        cascadStatus:this.vaildData(this.permission.classifyTree.attr_parentcode,false),
+        syncStatus:this.vaildData(this.permission.classifyTree.attr_sync,false),
+        applicationStatus:this.vaildData(this.permission.classifyTree.attr_application,false),
+        orderStatus:this.vaildData(this.permission.classifyTree.attr_sort,false),
+        removeStatus:this.vaildData(this.permission.classifyTree.attr_delete,false),
+      }
+    },
     attrOids() {
       let oids = [];
       this.attrSelectList.forEach(ele => {
@@ -1921,7 +1953,7 @@
       this.tableData.splice(row.$index, 1)
     },
     //鏋氫妇娉ㄥ叆鎸夐挳
-    enmuVisHandle() {
+    enumVisHandle() {
       if (this.attrSelectList.length > 1) {
         this.$message.warning('鍙兘閫夋嫨涓�鏉℃ā鏉垮睘鎬�')
       } else if (this.attrSelectList < 1) {
@@ -2091,7 +2123,7 @@
       })
     },
     //琛ㄦ牸閲嶇疆
-    reset() {
+    resetHandler() {
       this.CrudRend()
     },
     //鍚屾鍒板叾浠栨ā鏉�
diff --git a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
index 2a2a987..c78fbf7 100644
--- a/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
+++ b/Source/UBCS-WEB/src/components/Theme/ThemeClassifyTrees.vue
@@ -8,16 +8,16 @@
           <div>
             <div style="display: flex; flex-direction: column;">
               <div style="display: flex;">
-                <el-button plain size="small" type="primary" @click="TreeAdd">娣诲姞</el-button>
-                <el-button plain size="small" type="primary" @click="TreeEdit">淇敼</el-button>
-                <el-button plain size="small" type="primary" @click="TreeDel">鍒犻櫎</el-button>
-                <el-button plain size="small" type="primary" @click="flushed">鍒锋柊</el-button>
+                <el-button plain size="small" type="primary" @click="TreeAdd" v-if="permissionList.TreeAddStatus">娣诲姞</el-button>
+                <el-button plain size="small" type="primary" @click="TreeEdit" v-if="permissionList.TreeEditStatus">淇敼</el-button>
+                <el-button plain size="small" type="primary" @click="TreeDel" v-if="permissionList.TreeDelStatus">鍒犻櫎</el-button>
+                <el-button plain size="small" type="primary" @click="flushed" v-if="permissionList.flushedStatus">鍒锋柊</el-button>
               </div>
               <div style="display: flex; margin-top: 10px">
-                <el-button plain size="small" type="primary" @click="Enable">鍚敤</el-button>
-                <el-button plain size="small" type="primary" @click="Deactivate">鍋滅敤</el-button>
-                <el-button plain size="small" type="primary" @click.native="ImportExcel">瀵煎叆</el-button>
-                <el-button plain size="small" type="primary" @click="ExportExcel">瀵煎嚭</el-button>
+                <el-button plain size="small" type="primary" @click="Enable" v-if="permissionList.EnableStatus">鍚敤</el-button>
+                <el-button plain size="small" type="primary" @click="Deactivate" v-if="permissionList.DeactivateStatus">鍋滅敤</el-button>
+                <el-button plain size="small" type="primary" @click.native="ImportExcel" v-if="permissionList.ImportExcelStatus">瀵煎叆</el-button>
+                <el-button plain size="small" type="primary" @click="ExportExcel" v-if="permissionList.ExportExcelStatus">瀵煎嚭</el-button>
               </div>
             </div>
             <div style="display: flex;justify-content: space-around;margin-top: 5px;margin-bottom: 5px">
@@ -104,9 +104,9 @@
                   </template>
 
             <template slot="menuLeft">
-              <el-button plain size="small" type="primary" @click="FindeHanler">鏌ヨ</el-button>
-              <el-button plain size="small" type="primary" @click="TemRefresh">鍒锋柊</el-button>
-              <el-button plain size="small" type="primary" @click="CloneBtn">浠庡叾瀹冩ā鏉垮厠闅�</el-button>
+              <el-button plain size="small" type="primary" @click="FindeHanler" v-if="permissionList.FindStatus">鏌ヨ</el-button>
+              <el-button plain size="small" type="primary" @click="TemRefresh" v-if="permissionList.TemRefreshStatus">鍒锋柊</el-button>
+              <el-button plain size="small" type="primary" @click="CloneBtn" v-if="permissionList.CloneBtnStuatus">浠庡叾瀹冩ā鏉垮厠闅�</el-button>
               <!--              鏌ヨ瀵硅瘽妗�-->
            <el-dialog :visible.sync="FindFormVisible" append-to-body title="楂樼骇鏌ヨ">
               <div>
@@ -401,12 +401,9 @@
 } from "@/api/template/templateAttr";
 import {defaultReferDataGrid, referDataGrid} from '@/api/MasterData/master'
 import func from "@/util/func";
-
+import {mapGetters} from "vuex";
 export default {
   name: "classifyTrees.vue",
-  //浣跨敤inject鎺ユ敹鍙傛暟
-  //Treeoption宸︿晶鏍戞柊澧炶〃鍗曢」 Treedata宸︿晶鏍戣妭鐐� 閰嶇疆椤� crudTreeOption鍙充晶琛ㄦ牸閰嶇疆椤� crudTreeData鍙充晶琛ㄦ牸鏄剧ず鍐呭
-  //Treeform鍙充晶琛ㄥ崟閰嶇疆椤�
   inject: ["crudTreeData"],
   data() {
     return {
@@ -764,7 +761,6 @@
     }
   },
   watch: {},
-  //tab鏍忛粯璁ゆ槸琛ㄦ牸
   mounted() {
     this.type = this.tabOption.column[0];
     this.getAttr();
@@ -779,6 +775,22 @@
     }, true)
   },
   computed: {
+    ...mapGetters(["permission"]),
+    permissionList(){
+      return{
+        TreeAddStatus:this.vaildData(this.permission.classifyTree.tree_add,false),
+        TreeEditStatus:this.vaildData(this.permission.classifyTree.tree_edit,false),
+        TreeDelStatus:this.vaildData(this.permission.classifyTree.tree_delete,false),
+        flushedStatus:this.vaildData(this.permission.classifyTree.tree_break,false),
+        EnableStatus:this.vaildData(this.permission.classifyTree.tree_enable,false),
+        DeactivateStatus:this.vaildData(this.permission.classifyTree.tree_stop,false),
+        ImportExcelStatus:this.vaildData(this.permission.classifyTree.tree_import,false),
+        ExportExcelStatus:this.vaildData(this.permission.classifyTree.tree_export,false),
+        FindStatus:this.vaildData(this.permission.classifyTree.manage_search,false),
+        TemRefreshStatus:this.vaildData(this.permission.classifyTree.manage_break,false),
+        CloneBtnStuatus:this.vaildData(this.permission.classifyTree.manage_clone,false),
+      }
+    },
     crudTreeOption() {
       return {
         index: true,
@@ -837,7 +849,6 @@
     }
   },
   created() {
-
   },
   methods: {
     //瀛樺偍鐨勪笟鍔$被鍨嬪叧闂�
diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue
index 1c397cf..3e6a917 100644
--- a/Source/UBCS-WEB/src/views/code/code.vue
+++ b/Source/UBCS-WEB/src/views/code/code.vue
@@ -1,5 +1,5 @@
 <template>
-  <basic-container class="code-total" style="height: 100%">
+  <basic-container class="code-total" style=" height: 100%">
     <!-- 缂栫爜瑙勫垯淇℃伅灞曠ず鍖哄煙 -->
     <basic-container class="code-rule-container">
       <p
@@ -2600,9 +2600,9 @@
     onLoad(page, params = {}) {
       this.loading = true;
       gridCodeRule(
-        page.currentPage, 
-        page.pageSize, 
-        Object.assign({},params,this.query), 
+        page.currentPage,
+        page.pageSize,
+        Object.assign({},params,this.query),
       ).then((res) => {
         //console.log(res.data);
         const data = res.data.data;
diff --git a/Source/UBCS-WEB/src/views/system/menu.vue b/Source/UBCS-WEB/src/views/system/menu.vue
index 6c8f412..3f4ac08 100644
--- a/Source/UBCS-WEB/src/views/system/menu.vue
+++ b/Source/UBCS-WEB/src/views/system/menu.vue
@@ -127,6 +127,7 @@
             label: "鑿滃崟鍚嶇О",
             prop: "name",
             search: true,
+            width:220,
             rules: [
               {
                 required: true,

--
Gitblit v1.9.3