From ec7f3f3675efc96b59caa40c5ada96600eb60650 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期四, 26 十月 2023 17:17:01 +0800 Subject: [PATCH] 前端按钮权限功能增加: 接口权限界面、应用管理界面、编码规则管理界面、数据权限界面、菜单权限界面、岗位管理界面、角色权限管理界面、租户管理界面、顶部菜单界面 --- Source/UBCS-WEB/src/views/authority/role.vue | 104 +++++++++++++++++++++++++++++++--------------------- 1 files changed, 62 insertions(+), 42 deletions(-) diff --git a/Source/UBCS-WEB/src/views/authority/role.vue b/Source/UBCS-WEB/src/views/authority/role.vue index 0384af2..6ac1858 100644 --- a/Source/UBCS-WEB/src/views/authority/role.vue +++ b/Source/UBCS-WEB/src/views/authority/role.vue @@ -1,43 +1,48 @@ <template> <basic-container> <avue-crud :option="option" - :table-loading="loading" - :data="data" - ref="crud" - v-model="form" - :permission="permissionList" - :before-open="beforeOpen" - @row-del="rowDel" - @row-update="rowUpdate" - @row-save="rowSave" - @search-change="searchChange" - @search-reset="searchReset" - @selection-change="selectionChange" - @current-change="currentChange" - @size-change="sizeChange" - @refresh-change="refreshChange" - @on-load="onLoad"> + :table-loading="loading" + :data="data" + ref="crud" + :page.sync="page" + v-model="form" + :permission="permissionList" + :before-open="beforeOpen" + @row-del="rowDel" + @row-update="rowUpdate" + @row-save="rowSave" + @search-change="searchChange" + @search-reset="searchReset" + @row-click="clickRowChange" + @selection-change="selectionChange" + @current-change="currentChange" + @size-change="sizeChange" + @refresh-change="refreshChange" + @on-load="onLoad"> <template slot="menuLeft"> - <el-button type="danger" - size="small" - icon="el-icon-delete" - v-if="permission.role_delete" - plain - @click="handleDelete">鍒� 闄� + <el-button v-if="permissionList.delBtn" + type="danger" + size="small" + icon="el-icon-delete" + plain + @click="handleDelete"> + 鍒� 闄� </el-button> - <el-button size="small" - icon="el-icon-setting" - @click="handleRole" - v-if="userInfo.role_name.includes('admin')" - plain>鏉冮檺璁剧疆 + <!-- v-if="userInfo.role_name.includes('admin')" --> + <el-button v-if="permissionList.authSettingBtn" + size="small" + icon="el-icon-setting" + @click="handleRole" + plain>鏉冮檺璁剧疆 </el-button> </template> </avue-crud> <el-dialog title="瑙掕壊鏉冮檺閰嶇疆" - append-to-body - :visible.sync="box" - width="345px"> - <el-tabs type="border-card"> + append-to-body + :visible.sync="box" + width="350px" + style="height: 115vh; margin-top: -13vh; overflow: hidden"> + <el-tabs type="border-card" style="overflow-y: auto; height: 72vh"> <el-tab-pane label="鑿滃崟鏉冮檺"> <el-tree :data="menuGrantList" show-checkbox @@ -78,9 +83,10 @@ </template> <script> - import {add, getList, getRole, getRoleTreeById, grant, grantTree, remove, update} from "@/api/system/role"; + import {add, getPage, getRole, getRoleTreeById, grant, grantTree, remove, update} from "@/api/system/role"; import {mapGetters} from "vuex"; import website from '@/config/website'; + import {setStore, getStore} from '@/util/store' export default { data() { @@ -107,8 +113,10 @@ total: 0 }, option: { + height: "auto", tip: false, - simplePage: true, + columnBtn:false, + // simplePage: true, searchShow: true, searchMenuSpan: 6, tree: true, @@ -118,6 +126,7 @@ viewBtn: true, dialogWidth: 900, dialogClickModal: false, + highlightCurrentRow: true, //琛岄�変腑鏃堕珮浜� column: [ { label: "瑙掕壊鍚嶇О", @@ -137,8 +146,8 @@ prop: "tenantId", type: "tree", dicUrl: "/api/ubcs-system/tenant/select", - addDisplay: false, - editDisplay: false, + addDisplay: website.tenantId === getStore({name: 'tenantId'}), + editDisplay: website.tenantId === getStore({name: 'tenantId'}), viewDisplay: website.tenantMode, span: 24, props: { @@ -149,7 +158,7 @@ search: website.tenantMode, rules: [{ required: true, - message: "璇疯緭鍏ユ墍灞炵鎴�", + message: "璇烽�夋嫨鎵�灞炵鎴�", trigger: "click" }] }, @@ -206,10 +215,11 @@ ...mapGetters(["userInfo", "permission"]), permissionList() { return { - addBtn: this.vaildData(this.permission.role_add, false), - viewBtn: this.vaildData(this.permission.role_view, false), - delBtn: this.vaildData(this.permission.role_delete, false), - editBtn: this.vaildData(this.permission.role_edit, false) + addBtn: this.vaildData(this.permission.role.role_add, false), + viewBtn: this.vaildData(this.permission.role.role_view, false), + delBtn: this.vaildData(this.permission.role.role_delete, false), + editBtn: this.vaildData(this.permission.role.role_edit, false), + authSettingBtn: this.vaildData(this.permission.role.role_auth_setting,false), }; }, ids() { @@ -304,6 +314,13 @@ }, selectionChange(list) { this.selectionList = list; + this.$refs.crud.setCurrentRow(this.selectionList[list.length-1]); + }, + clickRowChange(row){ + this.selectionList = row; + this.$refs.crud.toggleSelection(); + this.$refs.crud.setCurrentRow(row); + this.$refs.crud.toggleRowSelection(row); //閫変腑褰撳墠琛� }, selectionClear() { this.selectionList = []; @@ -360,6 +377,7 @@ }, currentChange(currentPage) { this.page.currentPage = currentPage; + }, sizeChange(pageSize) { this.page.pageSize = pageSize; @@ -369,8 +387,10 @@ }, onLoad(page, params = {}) { this.loading = true; - getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { - this.data = res.data.data; + getPage(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { + const data = res.data.data; + this.data = data.records; + this.page.total = data.total; this.loading = false; this.selectionClear(); }); -- Gitblit v1.9.3