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