From d186b4d37394e4816e0f271fcced4d06b3069454 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期一, 16 十二月 2024 15:31:28 +0800
Subject: [PATCH] 路由query添加当前页面id&&人员组织管理模块下所有页面按钮权限控制

---
 Source/plt-web/plt-web-ui/src/views/system/user/index.vue |   70 ++++++++++++++++++++++++++---------
 1 files changed, 52 insertions(+), 18 deletions(-)

diff --git a/Source/plt-web/plt-web-ui/src/views/system/user/index.vue b/Source/plt-web/plt-web-ui/src/views/system/user/index.vue
index 971b60b..b856de2 100644
--- a/Source/plt-web/plt-web-ui/src/views/system/user/index.vue
+++ b/Source/plt-web/plt-web-ui/src/views/system/user/index.vue
@@ -28,21 +28,37 @@
       </template>
 
       <template #menu="{row,index,size}">
-        <el-button icon="el-icon-edit" size="small" type="text" @click.stop="rowEditHandler(row,index)">缂栬緫</el-button>
-        <el-button icon="el-icon-delete" size="small" type="text" @click.stop="rowDeleteHandler(row)">鍒犻櫎</el-button>
-        <el-button size="small" type="text" @click.stop="stopUserHandler(row)">
+        <el-button v-if="permissionList.editBtn" icon="el-icon-edit" size="small" type="text"
+                   @click.stop="rowEditHandler(row,index)">缂栬緫
+        </el-button>
+        <el-button v-if="permissionList.delBtn" icon="el-icon-delete" size="small" type="text"
+                   @click.stop="rowDeleteHandler(row)">鍒犻櫎
+        </el-button>
+        <el-button v-if="permissionList.stopActionBtn" size="small" type="text" @click.stop="stopUserHandler(row)">
           <span v-if="row.status === 0" style="color: #fa3434"><i class="el-icon-video-pause"></i> 鍋滅敤</span>
           <span v-if="row.status === 1" style="color: #55b61d"><i class="el-icon-video-play"></i> 鍚敤</span>
         </el-button>
       </template>
 
       <template slot="menuLeft" slot-scope="scope">
-        <el-button icon="el-icon-delete" plain size="small" type="danger" @click="allDelHandler">鍒犻櫎</el-button>
-        <el-button icon="el-icon-user" plain size="small" type="primary" @click="roleHandler">鍒嗛厤瑙掕壊</el-button>
-        <el-button icon="el-icon-school" plain size="small" type="primary" @click="departmentHandler">鍒嗛厤閮ㄩ棬</el-button>
-        <el-button icon="el-icon-key" plain size="small" type="success" @click="setPwsHandler">璁剧疆瀵嗙爜绛栫暐</el-button>
-        <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="uploadUser">瀵煎叆浜哄憳</el-button>
-        <el-button icon="el-icon-download" plain size="small" type="primary" @click="downloadHandler">涓嬭浇瀵煎叆妯℃澘</el-button>
+        <el-button v-if="permissionList.editBtn" icon="el-icon-delete" plain size="small" type="danger"
+                   @click="allDelHandler">鍒犻櫎
+        </el-button>
+        <el-button v-if="permissionList.assigningRolesBtn" icon="el-icon-user" plain size="small" type="primary"
+                   @click="roleHandler">鍒嗛厤瑙掕壊
+        </el-button>
+        <el-button v-if="permissionList.distributionDepartmentBtn" icon="el-icon-school" plain size="small"
+                   type="primary" @click="departmentHandler">鍒嗛厤閮ㄩ棬
+        </el-button>
+        <el-button v-if="permissionList.setPasswordPolicyBtn" icon="el-icon-key" plain size="small" type="success"
+                   @click="setPwsHandler">璁剧疆瀵嗙爜绛栫暐
+        </el-button>
+        <el-button v-if="permissionList.importPersonnelBtn" icon="el-icon-upload2" plain size="small" type="primary"
+                   @click="uploadUser">瀵煎叆浜哄憳
+        </el-button>
+        <el-button v-if="permissionList.downloadImportTemplateBtn" icon="el-icon-download" plain size="small"
+                   type="primary" @click="downloadHandler">涓嬭浇瀵煎叆妯℃澘
+        </el-button>
       </template>
     </avue-crud>
 
@@ -124,6 +140,7 @@
 } from '@/api/system/user/api'
 import {column} from "./option"
 import func from '@/util/func'
+import {mapGetters} from "vuex";
 
 export default {
   name: "userManage",
@@ -173,14 +190,6 @@
       pwdList: [],
       tableLoading: false,
       tableData: [],
-      option: {
-        ...basicOption,
-        editBtn: false,
-        delBtn: false,
-        dialogWidth: '50%',
-        calcHeight: -60,
-        column: column
-      },
       page: {
         currentPage: 1,
         pageSize: 10,
@@ -196,7 +205,32 @@
       lastIndex: null,
     }
   },
-  created() {
+  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),
+        assigningRolesBtn: this.vaildData(this.permission[this.$route.query.id].assigningRoles, false),
+        distributionDepartmentBtn: this.vaildData(this.permission[this.$route.query.id].distributionDepartment, false),
+        downloadImportTemplateBtn: this.vaildData(this.permission[this.$route.query.id].downloadImportTemplate, false),
+        importPersonnelBtn: this.vaildData(this.permission[this.$route.query.id].importPersonnel, false),
+        setPasswordPolicyBtn: this.vaildData(this.permission[this.$route.query.id].setPasswordPolicy, false),
+        stopActionBtn: this.vaildData(this.permission[this.$route.query.id].stopAction, false),
+      };
+    },
+    option() {
+      return {
+        ...basicOption,
+        addBtn: this.permissionList.addBtn,
+        editBtn: false,
+        delBtn: false,
+        dialogWidth: '50%',
+        calcHeight: -60,
+        column: column
+      }
+    }
   },
   methods: {
     // 琛ㄦ牸璇锋眰

--
Gitblit v1.9.3