From 1b84a05dd84e535284ac6e2d2b360d76a4b8e7ac Mon Sep 17 00:00:00 2001
From: 田源 <tianyuan@vci-tech.com>
Date: 星期二, 17 十二月 2024 16:11:30 +0800
Subject: [PATCH] 查询模板&&功能权限模块添加按钮权限

---
 Source/plt-web/plt-web-ui/环境配置.txt                                                         |    2 
 Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue                   |   26 ++
 Source/plt-web/plt-web-ui/src/views/authority/secure/classification/index.vue              |   17 +
 Source/plt-web/plt-web-ui/src/views/authority/ui/uiAuthorization/index.vue                 |   39 ++--
 Source/plt-web/plt-web-ui/src/views/authority/ui/dataAuthorization/index.vue               |   17 +
 Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/index.vue                     |   29 ++
 Source/plt-web/plt-web-ui/src/views/authority/ui/typeAction/index.vue                      |   23 ++
 Source/plt-web/plt-web-ui/src/views/authority/function/functionView/index.vue              |   14 +
 Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/index.vue |   23 ++
 Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/queryDefine/index.vue       |   17 +
 Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/index.vue                       |  240 ++++++++++++++++-------------
 Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue     |   23 ++
 12 files changed, 304 insertions(+), 166 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/views/authority/function/functionView/index.vue b/Source/plt-web/plt-web-ui/src/views/authority/function/functionView/index.vue
index a5a323e..ff67598 100644
--- a/Source/plt-web/plt-web-ui/src/views/authority/function/functionView/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/authority/function/functionView/index.vue
@@ -22,8 +22,8 @@
       <basic-container v-loading="treeLoading">
         <h3 style="margin: 0 0 10px 0">鍔熻兘鏉冮檺閰嶇疆</h3>
         <div>
-          <el-button icon="el-icon-place" plain size="small" type="primary" @click="saveHandler">鎺堟潈</el-button>
-          <el-button icon="el-icon-close" plain size="small" style="margin-right: 40px;" type="primary"
+          <el-button v-if="permissionList.rightBtn" icon="el-icon-place" plain size="small" type="primary" @click="saveHandler">鎺堟潈</el-button>
+          <el-button v-if="permissionList.resetBtn" icon="el-icon-close" plain size="small" style="margin-right: 40px;" type="primary"
                      @click="clearValue">閲嶇疆
           </el-button>
         </div>
@@ -46,6 +46,7 @@
 <script>
 import {gridRoles} from "@/api/system/role/api";
 import {getSysModelAuthTreeMenuByPID, getSysModelAuth, saveRoleRight} from "@/api/authority/functionView/api"
+import {mapGetters} from "vuex";
 
 export default {
   name: "index",
@@ -83,6 +84,15 @@
       contextData: []
     }
   },
+  computed:{
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        rightBtn: this.vaildData(this.permission[this.$route.query.id].RIGHT, false),
+        resetBtn: this.vaildData(this.permission[this.$route.query.id].reset, false),
+      };
+    },
+  },
   created() {
     this.getTreeList();
     this.getUITree();
diff --git a/Source/plt-web/plt-web-ui/src/views/authority/secure/classification/index.vue b/Source/plt-web/plt-web-ui/src/views/authority/secure/classification/index.vue
index 86fe00f..bf9d7e3 100644
--- a/Source/plt-web/plt-web-ui/src/views/authority/secure/classification/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/authority/secure/classification/index.vue
@@ -8,6 +8,7 @@
 
 <script>
 import {getSecretGradeConfig, saveSecretGrade} from "@/api/authority/secure/classification";
+import {mapGetters} from "vuex";
 
 export default {
   name: "index",
@@ -16,8 +17,18 @@
       form:{
         type:[],
       },
-      formOption:{
-        submitBtn: true,
+    }
+  },
+  computed: {
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        saveBtn: this.vaildData(this.permission[this.$route.query.id].save, false),
+      };
+    },
+    formOption() {
+      return {
+        submitBtn: this.permissionList.saveBtn,
         submitText:"淇濆瓨",
         emptyBtn: false,
         menuPosition:'left',
@@ -32,7 +43,7 @@
             { label: '鏈哄櫒瀵嗙骇', value: 1 },
           ]
         }]
-      },
+      }
     }
   },
   created() {
diff --git a/Source/plt-web/plt-web-ui/src/views/authority/ui/dataAuthorization/index.vue b/Source/plt-web/plt-web-ui/src/views/authority/ui/dataAuthorization/index.vue
index 592c8b0..bf46f53 100644
--- a/Source/plt-web/plt-web-ui/src/views/authority/ui/dataAuthorization/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/authority/ui/dataAuthorization/index.vue
@@ -28,9 +28,9 @@
           @refresh-change="handleRefresh"
           @current-row-change="rowClickHandler">
           <template slot="menuLeft">
-            <el-button icon="el-icon-plus" size="small" type="primary" @click="addHandler">娣诲姞</el-button>
-            <el-button icon="el-icon-plus" size="small" type="primary" @click="editHandler">淇敼</el-button>
-            <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">鍒犻櫎</el-button>
+            <el-button v-if="permissionList.addBtn" icon="el-icon-plus" size="small" type="primary" @click="addHandler">娣诲姞</el-button>
+            <el-button v-if="permissionList.editBtn" icon="el-icon-plus" size="small" type="primary" @click="editHandler">淇敼</el-button>
+            <el-button v-if="permissionList.delBtn" icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">鍒犻櫎</el-button>
             <!--<el-button icon="el-icon-view" plain size="small" type="primary" @click="viewAuthHandler">鏌ョ湅鎺堟潈缁撴灉</el-button>-->
           </template>
         </avue-crud>
@@ -133,6 +133,7 @@
 import {getData,saveGrand,delGrand,authResult,queryBusiness} from "@/api/authority/ui/dataAuthor";
 import {listUserByUserType, listRoleByUserOid, listDeptByUserOid} from "@/api/system/user/api";
 import func from "@/util/func";
+import {mapGetters} from "vuex";
 export default {
   name: "index",
   components:{dataView},
@@ -229,6 +230,16 @@
       }
     }
   },
+  computed:{
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false),
+        delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false),
+        editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false),
+      };
+    },
+  },
   created() {
     this.getTreeList();
   },
diff --git a/Source/plt-web/plt-web-ui/src/views/authority/ui/typeAction/index.vue b/Source/plt-web/plt-web-ui/src/views/authority/ui/typeAction/index.vue
index 7cd0fb4..c1f6102 100644
--- a/Source/plt-web/plt-web-ui/src/views/authority/ui/typeAction/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/authority/ui/typeAction/index.vue
@@ -2,7 +2,7 @@
   <!--绫诲瀷Action-->
   <el-container>
     <el-aside>
-      <basic-container>
+      <basic-container v-loadng="treeLoading">
         <div ref="TreeBox" style="height: calc(100vh - 154px);!important;">
           <!-- 宸︿晶鏍�         -->
           <div style="height:  calc(100vh - 190px);">
@@ -32,8 +32,8 @@
           @selection-change="selectChangeHandler"
           @row-click="rowClickHandler">
           <template slot="menuLeft">
-            <el-button icon="el-icon-plus" size="small" type="primary" @click="addHandler">娣诲姞</el-button>
-            <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">绉婚櫎</el-button>
+            <el-button v-if="permissionList.addBtn" icon="el-icon-plus" size="small" type="primary" @click="addHandler">娣诲姞</el-button>
+            <el-button v-if="permissionList.delBtn" icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">绉婚櫎</el-button>
           </template>
         </avue-crud>
         <action-dialog ref="actionDialog" :is-muti="true" @updataAction="actionSaveHandler"></action-dialog>
@@ -49,12 +49,14 @@
 import {getTypeActionByType,savePLTypeAction,delPLTypeActions} from "@/api/authority/ui/typeAction"
 import func from "@/util/func";
 import actionDialog from "@/views/modelingMenu/ui/Aciton/components/dialog"
+import {mapGetters} from "vuex";
 
 export default {
   name: "index",
   components:{actionDialog},
   data() {
     return {
+      treeLoading:false,
       treeOption: {
         height: 'auto',
         defaultExpandAll: true,
@@ -130,18 +132,27 @@
       data: [],
     }
   },
+  computed:{
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false),
+        delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false),
+      };
+    },
+  },
   created() {
     this.getTreeList();
   },
   methods: {
     //鏍戣〃鏌ヨ
     getTreeList() {
-      const loading = this.$loading({});
+      this.treeLoading = true;
       getBizTree().then(res => {
         this.treeData = [res.data.obj];
-        loading.close();
+        this.treeLoading = false;
       }).catch(error => {
-        loading.close();
+        this.treeLoading = false;
       })
     },
     // 鏍戠偣鍑�
diff --git a/Source/plt-web/plt-web-ui/src/views/authority/ui/uiAuthorization/index.vue b/Source/plt-web/plt-web-ui/src/views/authority/ui/uiAuthorization/index.vue
index a77bb26..b22e484 100644
--- a/Source/plt-web/plt-web-ui/src/views/authority/ui/uiAuthorization/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/authority/ui/uiAuthorization/index.vue
@@ -1,7 +1,7 @@
 <template>
   <el-container>
     <el-aside>
-      <basic-container>
+      <basic-container v-loading="treeLoading">
         <div ref="TreeBox" style="height: calc(100vh - 154px);!important;">
           <!-- 宸︿晶鏍�         -->
           <div style="height:  calc(100vh - 195px);">
@@ -19,11 +19,11 @@
     </el-aside>
 
     <el-main>
-      <basic-container v-loading="treeLoading">
+      <basic-container v-loading="mainLoading">
         <h3 style="margin: 0 0 10px 0">UI鏉冮檺閰嶇疆</h3>
         <div>
-          <el-button icon="el-icon-place" plain size="small" type="primary" @click="saveHandler">鎺堟潈</el-button>
-          <el-button icon="el-icon-close" plain size="small" style="margin-right: 40px;" type="primary"
+          <el-button v-if="permissionList.rightBtn" icon="el-icon-place" plain size="small" type="primary" @click="saveHandler">鎺堟潈</el-button>
+          <el-button v-if="permissionList.resetBtn" icon="el-icon-close" plain size="small" style="margin-right: 40px;" type="primary"
                      @click="clearValue">閲嶇疆
           </el-button>
           涓氬姟绫诲瀷锛�
@@ -68,12 +68,14 @@
 import {gridRoles, getRightListByRoleId} from "@/api/system/role/api";
 import {getUIAuthor, authorizedUI} from "@/api/authority/ui/uiAuthor";
 import {getBizTree, gridUIContextData} from "@/api/UI/uiDefine";
+import {mapGetters} from "vuex";
 
 export default {
   name: "index",
   data() {
     return {
       treeLoading: false,
+      mainLoading:false,
       type: '',//涓氬姟绫诲瀷
       context: '',//UI涓婁笅鏂嘽ode
       treeOption: {
@@ -105,6 +107,15 @@
       contextData: []
     }
   },
+  computed:{
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        rightBtn: this.vaildData(this.permission[this.$route.query.id].RIGHT, false),
+        resetBtn: this.vaildData(this.permission[this.$route.query.id].reset, false),
+      };
+    },
+  },
   created() {
     this.getTreeList();
     // this.getUITree();
@@ -112,12 +123,12 @@
   },
   methods: {
     getTreeList() {
-      const loading = this.$loading({});
+      this.treeLoading = true;
       gridRoles().then(res => {
         this.treeData = res.data.data;
-        loading.close();
+        this.treeLoading = false;
       }).catch(error => {
-        loading.close();
+        this.treeLoading = false;
       })
     },
 
@@ -125,18 +136,10 @@
     nodeClick(row) {
       this.nodeRow = row;
       this.getUITree();
-      // const params = {
-      //   roleId: row.oid
-      // }
-      // getRightListByRoleId(params).then(res => {
-      //   const data = res.data.data.map(item => item.funcId);
-      //   console.log(data);
-      //   this.$refs.uiTree.setCheckedKeys(data);
-      // })
     },
 
     getUITree() {
-      this.treeLoading = true;
+      this.mainLoading = true;
       const params = {
         'conditionMap[roleId]': this.nodeRow.oid,
         'conditionMap[type]': this.type,
@@ -161,9 +164,9 @@
         const checkedData = this.findCheckedOids(res.data.data[0]);
         this.$refs.uiTree.setCheckedKeys(checkedData);
 
-        this.treeLoading = false;
+        this.mainLoading = false;
       }).catch(error => {
-        this.treeLoading = false;
+        this.mainLoading = false;
       })
     },
 
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/index.vue
index 1c23959..ef198e4 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/businessTypeQuery/index.vue
@@ -22,11 +22,11 @@
     <el-main>
       <basic-container>
         <div v-if="this.nodeRow && this.nodeRow.label">
-          <el-button icon="el-icon-plus" size="small" type="primary" @click="addHandler">鍒涘缓</el-button>
-          <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editHandler">淇敼</el-button>
-          <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">鍒犻櫎</el-button>
-          <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭</el-button>
-          <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">瀵煎叆</el-button>
+          <el-button v-if="permissionList.addBtn" icon="el-icon-plus" size="small" type="primary" @click="addHandler">鍒涘缓</el-button>
+          <el-button v-if="permissionList.editBtn" icon="el-icon-edit" plain size="small" type="primary" @click="editHandler">淇敼</el-button>
+          <el-button v-if="permissionList.delBtn" icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">鍒犻櫎</el-button>
+          <el-button v-if="permissionList.importBtn" icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">瀵煎叆</el-button>
+          <el-button v-if="permissionList.exportBtn" icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭</el-button>
         </div>
         <avue-crud  ref="crud"
                     @selection-change="selectionChange"
@@ -65,6 +65,7 @@
 import {dateFormat} from "@/util/date";
 import FormDialog from "./formDialog.vue"
 import formQueryDialog from "@/views/modelingMenu/queryTemplate/linkTypeQuery/formQueryDialog.vue";
+import {mapGetters} from "vuex";
 export default {
   name: "index",
   components: {FormDialog,formQueryDialog},
@@ -136,6 +137,18 @@
       levelFlag:0
     }
   },
+  computed:{
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false),
+        delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false),
+        editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false),
+        exportBtn: this.vaildData(this.permission[this.$route.query.id].EXPORT, false),
+        importBtn: this.vaildData(this.permission[this.$route.query.id].IMPORT, false),
+      };
+    },
+  },
   created() {
     this.getTreeList();
   },
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue
index c150e3e..b4657da 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/linkTypeQuery/index.vue
@@ -21,11 +21,11 @@
     <el-main>
       <basic-container>
         <div v-if="this.nodeRow && this.nodeRow.label">
-          <el-button icon="el-icon-plus" size="small" type="primary" @click="addHandler">鍒涘缓</el-button>
-          <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editHandler">淇敼</el-button>
-          <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">鍒犻櫎</el-button>
-          <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭</el-button>
-          <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">瀵煎叆</el-button>
+          <el-button v-if="permissionList.addBtn" icon="el-icon-plus" size="small" type="primary" @click="addHandler">鍒涘缓</el-button>
+          <el-button v-if="permissionList.editBtn" icon="el-icon-edit" plain size="small" type="primary" @click="editHandler">淇敼</el-button>
+          <el-button v-if="permissionList.delBtn" icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">鍒犻櫎</el-button>
+          <el-button v-if="permissionList.importBtn" icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">瀵煎叆</el-button>
+          <el-button v-if="permissionList.exportBtn" icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭</el-button>
         </div>
         <avue-crud  ref="crud"
                     @selection-change="selectionChange"
@@ -61,6 +61,7 @@
 import FormDialog from "./formDialog.vue"
 import func from "@/util/func";
 import formQueryDialog from "@/views/modelingMenu/queryTemplate/linkTypeQuery/formQueryDialog.vue";
+import {mapGetters} from "vuex";
 
 export default {
   name: "index",
@@ -171,6 +172,18 @@
       levelFlag:0
     }
   },
+  computed:{
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false),
+        delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false),
+        editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false),
+        exportBtn: this.vaildData(this.permission[this.$route.query.id].EXPORT, false),
+        importBtn: this.vaildData(this.permission[this.$route.query.id].IMPORT, false),
+      };
+    },
+  },
   created() {
     this.getTreeList();
   },
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/queryDefine/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/queryDefine/index.vue
index 749b9f9..a685dd0 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/queryDefine/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/queryTemplate/queryDefine/index.vue
@@ -28,9 +28,9 @@
         <avue-crud  ref="queryCrud"
           :data="attrData" :option="attrOption" :table-loading="tableLoading" style="margin-top: 10px">
           <template slot="menuLeft" slot-scope="scope">
-            <el-button icon="el-icon-plus" size="small" type="primary" @click="addHandler">鍒涘缓</el-button>
-            <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editHandler">淇敼</el-button>
-            <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">鍒犻櫎</el-button>
+            <el-button v-if="permissionList.addBtn" icon="el-icon-plus" size="small" type="primary" @click="addHandler">鍒涘缓</el-button>
+            <el-button v-if="permissionList.editBtn" icon="el-icon-edit" plain size="small" type="primary" @click="editHandler">淇敼</el-button>
+            <el-button v-if="permissionList.delBtn" icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">鍒犻櫎</el-button>
           </template>
         </avue-crud>
       </basic-container>
@@ -70,6 +70,7 @@
 import {gridTemplate,saveTemplate,updateTemplate,deleteTemplate} from "@/api/queryTemplate/queryDefine";
 import basicOption from "@/util/basic-option";
 import func from "@/util/func";
+import {mapGetters} from "vuex";
 
 export default {
   name: "index",
@@ -160,6 +161,16 @@
       dialogSelectionRow:[]
     }
   },
+  computed:{
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false),
+        delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false),
+        editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false),
+      };
+    },
+  },
   created() {
     this.getTreeList();
   },
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/index.vue
index 5a2a9f3..55a088a 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/Aciton/index.vue
@@ -4,15 +4,15 @@
       <basic-container>
         <div ref="TreeBox" style="height: calc(100vh - 144px);!important;">
           <div class="headerCon">
-            <el-button icon="el-icon-plus" plain size="small" type="primary" @click="addTreeClickHandler">鍒涘缓
+            <el-button v-if="permissionList.addBtn" icon="el-icon-plus" plain size="small" type="primary" @click="addTreeClickHandler">鍒涘缓
             </el-button>
-            <el-button icon="el-icon-edit" plain size="small" type="primary" @click="editTreeClickHandler">淇敼
+            <el-button v-if="permissionList.editBtn" icon="el-icon-edit" plain size="small" type="primary" @click="editTreeClickHandler">淇敼
             </el-button>
-            <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delTreeClickHandler">鍒犻櫎
+            <el-button v-if="permissionList.delBtn" icon="el-icon-delete" plain size="small" type="danger" @click="delTreeClickHandler">鍒犻櫎
             </el-button>
-            <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭
+            <el-button v-if="permissionList.importBtn" icon="el-icon-upload2" plain size="small" type="primary" @click="uploadClickHandler">瀵煎叆
             </el-button>
-            <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="uploadClickHandler">瀵煎叆
+            <el-button v-if="permissionList.exportBtn" icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭
             </el-button>
           </div>
           <!-- 宸︿晶鏍� -->
@@ -61,10 +61,10 @@
               </el-tag>
             </template>
             <template slot="menuLeft" slot-scope="scope">
-              <el-button v-if="treeNodeRow.id !== 'root'" icon="el-icon-plus" plain size="small" type="primary"
+              <el-button v-if="treeNodeRow.id !== 'root' && permissionList.actionTopAddBtn" icon="el-icon-plus" plain size="small" type="primary"
                          @click="addClickHandler">澧炲姞
               </el-button>
-              <el-button icon="el-icon-download" plain size="small" type="success" @click="downLoadHandler">瀵煎嚭
+              <el-button v-if="permissionList.actionTopExportBtn" icon="el-icon-download" plain size="small" type="success" @click="downLoadHandler">瀵煎嚭
               </el-button>
             </template>
           </avue-crud>
@@ -82,7 +82,7 @@
             @row-del="BottomRowDelHandler"
           >
             <template slot="menuLeft" slot-scope="scope">
-              <el-button icon="el-icon-plus" plain size="small" type="primary" @click="bottomAddClickHandler">澧炲姞
+              <el-button v-if="permissionList.actionBottomAddBtn" icon="el-icon-plus" plain size="small" type="primary" @click="bottomAddClickHandler">澧炲姞
               </el-button>
             </template>
             <template slot="menuForm" slot-scope="scope">
@@ -133,6 +133,7 @@
 } from '@/api/UI/Action/api'
 import func from "@/util/func";
 import basicOption from "@/util/basic-option";
+import {mapGetters} from "vuex";
 
 export default {
   name: "index",
@@ -151,46 +152,98 @@
       bottomTableLoading: false,
       bottomForm:{},
       bottomData: [],
-      bottomOption: {
-        ...basicOption,
-        addBtn: false,
-        calcHeight: -30,
-        selection: false,
-        refreshBtn: false,
-        dialogWidth:'700',
-        saveBtn:false,
-        // height:'auto',
-        column: [
-          {
-            label: '鍙傛暟鍚嶇О',
-            prop: 'name',
-            rules: [
-              {
-                required: true,
-                message: '璇疯緭鍏ュ弬鏁板悕绉�',
-                trigger: 'blur'
-              }
-            ]
-          },
-          {
-            label: '榛樿鍊�',
-            prop: 'defaultValue',
-          },
-          {
-            label: '鎻愮ず淇℃伅',
-            prop: 'description',
-            span: 24,
-            type: 'textarea',
-            rows: 4
-          },
-        ],
-      },
       tableLoading: false,
       lastIndex: null,
       selectList: [],
       data: [],
-      option: {
+      treeNodeRow: {},
+      treeForm: {},
+      treeOption: {
+        addBtn: false,
+        defaultExpandedKeys: ['root'],
+        props: {
+          label: 'name',
+          value: 'id',
+          children: 'childs'
+        },
+        dialogWidth:'800',
+        dialogMenuPosition: 'right',
+        formOption: {
+          dialogMenuPosition: 'right',
+          column: [
+            {
+              label: '鍒嗙被鍚嶇О',
+              prop: 'name',
+              rules: [
+                {
+                  required: true,
+                  message: '璇疯緭鍏ュ垎绫诲悕绉�',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '鍒嗙被搴忓彿',
+              prop: 'serialno',
+              rules: [
+                {
+                  required: true,
+                  message: '璇疯緭鍏ュ垎绫诲簭鍙�',
+                  trigger: 'blur'
+                }
+              ]
+            },
+            {
+              label: '鍒涘缓鑰�',
+              prop: 'creator',
+              disabled: true,
+            },
+            {
+              label: '鍒涘缓鏃堕棿',
+              prop: 'createTime',
+              disabled: true,
+            },
+            {
+              label: '鐖朵富绫�',
+              prop: 'pidName',
+              disabled: true,
+              span:24
+            },
+            {
+              label: '澶囨敞',
+              prop: 'description',
+              type:'textarea',
+              span:24
+            },
+          ],
+        }
+      },
+      treeData: [],
+    }
+  },
+  computed:{
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false),
+        delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false),
+        editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false),
+        exportBtn: this.vaildData(this.permission[this.$route.query.id].EXPORT, false),
+        importBtn: this.vaildData(this.permission[this.$route.query.id].IMPORT, false),
+        actionTopAddBtn: this.vaildData(this.permission[this.$route.query.id].actionTopAdd, false),
+        actionTopDelBtn: this.vaildData(this.permission[this.$route.query.id].actionTopDel, false),
+        actionTopEditBtn: this.vaildData(this.permission[this.$route.query.id].actionTopEdit, false),
+        actionTopExportBtn: this.vaildData(this.permission[this.$route.query.id].actionTopExport, false),
+        actionBottomAddBtn: this.vaildData(this.permission[this.$route.query.id].actionBottomAdd, false),
+        actionBottomDelBtn: this.vaildData(this.permission[this.$route.query.id].actionBottomDel, false),
+        actionBottomEditBtn: this.vaildData(this.permission[this.$route.query.id].actionBottomEdit, false),
+      };
+    },
+    option() {
+      return {
         ...basicOption,
+        editBtn:this.permissionList.actionTopEditBtn,
+        delBtn:this.permissionList.actionTopDelBtn,
         addBtn: false,
         height: 350,
         highlightCurrentRow: true,
@@ -287,70 +340,45 @@
             type: 'textarea'
           },
         ]
-      },
-      treeNodeRow: {},
-      treeForm: {},
-      treeOption: {
+      }
+    },
+    bottomOption(){
+      return {
+        ...basicOption,
         addBtn: false,
-        defaultExpandedKeys: ['root'],
-        props: {
-          label: 'name',
-          value: 'id',
-          children: 'childs'
-        },
-        dialogWidth:'800',
-        dialogMenuPosition: 'right',
-        formOption: {
-          dialogMenuPosition: 'right',
-          column: [
-            {
-              label: '鍒嗙被鍚嶇О',
-              prop: 'name',
-              rules: [
-                {
-                  required: true,
-                  message: '璇疯緭鍏ュ垎绫诲悕绉�',
-                  trigger: 'blur'
-                }
-              ]
-            },
-            {
-              label: '鍒嗙被搴忓彿',
-              prop: 'serialno',
-              rules: [
-                {
-                  required: true,
-                  message: '璇疯緭鍏ュ垎绫诲簭鍙�',
-                  trigger: 'blur'
-                }
-              ]
-            },
-            {
-              label: '鍒涘缓鑰�',
-              prop: 'creator',
-              disabled: true,
-            },
-            {
-              label: '鍒涘缓鏃堕棿',
-              prop: 'createTime',
-              disabled: true,
-            },
-            {
-              label: '鐖朵富绫�',
-              prop: 'pidName',
-              disabled: true,
-              span:24
-            },
-            {
-              label: '澶囨敞',
-              prop: 'description',
-              type:'textarea',
-              span:24
-            },
-          ],
-        }
-      },
-      treeData: [],
+        editBtn:this.permissionList.actionBottomEditBtn,
+        delBtn:this.permissionList.actionBottomDelBtn,
+        calcHeight: -30,
+        selection: false,
+        refreshBtn: false,
+        dialogWidth:'700',
+        saveBtn:false,
+        // height:'auto',
+        column: [
+          {
+            label: '鍙傛暟鍚嶇О',
+            prop: 'name',
+            rules: [
+              {
+                required: true,
+                message: '璇疯緭鍏ュ弬鏁板悕绉�',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
+            label: '榛樿鍊�',
+            prop: 'defaultValue',
+          },
+          {
+            label: '鎻愮ず淇℃伅',
+            prop: 'description',
+            span: 24,
+            type: 'textarea',
+            rows: 4
+          },
+        ],
+      }
     }
   },
   created() {
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue
index 83f30a9..7c4962c 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/formDefine/index.vue
@@ -26,12 +26,12 @@
     <el-main>
       <basic-container>
         <div v-if="!tableStatus" style="display: flex;justify-content: left;margin-top: 15px">
-          <el-button icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">澧炲姞</el-button>
-          <el-button icon="el-icon-delete" plain size="small" type="danger" @click="deleteClickHandler">鍒犻櫎</el-button>
-          <el-button icon="el-icon-document-add" plain size="small" type="primary" @click="copyClickHandler">鍏嬮殕
+          <el-button v-if="permissionList.addBtn" icon="el-icon-plus" plain size="small" type="primary" @click="addClickHandler">澧炲姞</el-button>
+          <el-button v-if="permissionList.delBtn" icon="el-icon-delete" plain size="small" type="danger" @click="deleteClickHandler">鍒犻櫎</el-button>
+          <el-button v-if="permissionList.cloneBtn" icon="el-icon-document-add" plain size="small" type="primary" @click="copyClickHandler">鍏嬮殕
           </el-button>
-          <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">瀵煎叆</el-button>
-          <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭
+          <el-button v-if="permissionList.importBtn" icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">瀵煎叆</el-button>
+          <el-button v-if="permissionList.exportBtn" icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭
           </el-button>
         </div>
         <avue-crud
@@ -58,9 +58,9 @@
             </div>
           </template>
           <template slot="menu" slot-scope="scope">
-            <el-button icon="el-icon-edit" size="small" type="text" @click="editBtnClick(scope.row)">缂栬緫
+            <el-button v-if="permissionList.editBtn" icon="el-icon-edit" size="small" type="text" @click="editBtnClick(scope.row)">缂栬緫
             </el-button>
-            <el-button icon="el-icon-delete" size="small" type="text" @click="rowDeleteHandler(scope.row)">鍒犻櫎
+            <el-button v-if="permissionList.delBtn" icon="el-icon-delete" size="small" type="text" @click="rowDeleteHandler(scope.row)">鍒犻櫎
             </el-button>
           </template>
         </avue-crud>
@@ -116,6 +116,7 @@
 import {getBizTypes} from "@/api/modeling/businessType/api";
 import {gridLink} from "@/api/modeling/linkType/api";
 import func from "@/util/func";
+import {mapGetters} from "vuex";
 
 export default {
   name: "index",
@@ -188,6 +189,17 @@
     this.getTreeList();
   },
   computed: {
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false),
+        delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false),
+        editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false),
+        exportBtn: this.vaildData(this.permission[this.$route.query.id].EXPORT, false),
+        importBtn: this.vaildData(this.permission[this.$route.query.id].IMPORT, false),
+        cloneBtn: this.vaildData(this.permission[this.$route.query.id].clone, false),
+      };
+    },
     tableStatus() {
       return func.isEmptyObject(this.nodeRow);
     }
diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/index.vue
index 2938f67..b403c07 100644
--- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/ui/uiDefine/index.vue
@@ -33,21 +33,21 @@
           @search-reset="handleReset"
           @row-click="rowClickHandler">
           <template slot="menuLeft">
-            <el-button icon="el-icon-plus" size="small" type="primary" @click="addHandler">鍒涘缓</el-button>
+            <el-button v-if="permissionList.addBtn" icon="el-icon-plus" size="small" type="primary" @click="addHandler">鍒涘缓</el-button>
             <!--<el-button icon="el-icon-edit" plain size="small" type="primary" @click="editHandler">淇敼</el-button>
             <el-button icon="el-icon-delete" plain size="small" type="danger" @click="delHandler">鍒犻櫎</el-button>-->
-            <el-button icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭
+            <el-button v-if="permissionList.importBtn" icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">瀵煎叆
             </el-button>
-            <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadClickHandler">瀵煎叆
+            <el-button v-if="permissionList.exportBtn" icon="el-icon-download" plain size="small" type="primary" @click="exportClickHandler">瀵煎嚭
             </el-button>
-            <el-button icon="el-icon-place" plain size="small" type="primary" @click="uiAuthorHandler">鎺堟潈</el-button>
+            <el-button v-if="permissionList.RIGHTBtn" icon="el-icon-place" plain size="small" type="primary" @click="uiAuthorHandler">鎺堟潈</el-button>
           </template>
           <template slot="menu" slot-scope="scope">
-            <el-button icon="el-icon-edit" size="small" type="text" @click="rowEditBtnClick(scope.row)">缂栬緫
+            <el-button v-if="permissionList.editBtn" icon="el-icon-edit" size="small" type="text" @click="rowEditBtnClick(scope.row)">缂栬緫
             </el-button>
-            <el-button icon="el-icon-delete" size="small" type="text" @click="rowDeleteHandler(scope.row)">鍒犻櫎
+            <el-button v-if="permissionList.delBtn" icon="el-icon-delete" size="small" type="text" @click="rowDeleteHandler(scope.row)">鍒犻櫎
             </el-button>
-            <el-button icon="el-icon-document-copy" size="small" type="text" @click="rowCloneHandler(scope.row)">鍏嬮殕
+            <el-button v-if="permissionList.cloneBtn" icon="el-icon-document-copy" size="small" type="text" @click="rowCloneHandler(scope.row)">鍏嬮殕
             </el-button>
           </template>
           <template slot="plName" slot-scope="{row}">
@@ -164,6 +164,7 @@
 import func from "@/util/func";
 import plShow from "@/views/modelingMenu/ui/uiDefine/rightRegion/plShow";
 import uiAuthor from "@/views/authority/ui/uiAuthorization/UIDialog"
+import {mapGetters} from "vuex";
 
 export default {
   name: "index",
@@ -358,6 +359,20 @@
       }
     }
   },
+  computed: {
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        addBtn: this.vaildData(this.permission[this.$route.query.id].ADD, false),
+        delBtn: this.vaildData(this.permission[this.$route.query.id].DELETE, false),
+        editBtn: this.vaildData(this.permission[this.$route.query.id].EDIT, false),
+        exportBtn: this.vaildData(this.permission[this.$route.query.id].EXPORT, false),
+        importBtn: this.vaildData(this.permission[this.$route.query.id].IMPORT, false),
+        cloneBtn: this.vaildData(this.permission[this.$route.query.id].clone, false),
+        RIGHTBtn: this.vaildData(this.permission[this.$route.query.id].RIGHT, false),
+      };
+    },
+  },
   created() {
     this.getTreeList();
   },
diff --git "a/Source/plt-web/plt-web-ui/\347\216\257\345\242\203\351\205\215\347\275\256.txt" "b/Source/plt-web/plt-web-ui/\347\216\257\345\242\203\351\205\215\347\275\256.txt"
index 757e7d4..8d27baa 100644
--- "a/Source/plt-web/plt-web-ui/\347\216\257\345\242\203\351\205\215\347\275\256.txt"
+++ "b/Source/plt-web/plt-web-ui/\347\216\257\345\242\203\351\205\215\347\275\256.txt"
@@ -1,2 +1,2 @@
 node.js鐗堟湰锛�18.0.0
-node-sass锛�8.0.0
\ No newline at end of file
+node-sass锛�8.0.0

--
Gitblit v1.9.3