From 0f84ec41ea5962a1b7eb76743cce77b627299adb Mon Sep 17 00:00:00 2001 From: yxh Date: Sat, 22 Apr 2023 14:58:52 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E5=AE=8C=E5=96=84=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.ts | 2 +- src/views/system/role/component/editRole.vue | 13 ++++++++++--- src/views/system/user/component/editUser.vue | 12 ++++++++++-- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/main.ts b/src/main.ts index c092855..6561639 100644 --- a/src/main.ts +++ b/src/main.ts @@ -34,7 +34,7 @@ app.component('pagination', pagination) app.use(pinia) .use(uploader) .use(router) - .use(ElementPlus, { i18n: i18n.global.t }) + .use(ElementPlus) .use(i18n) .use(VueGridLayout) .use(VueUeditorWrap) diff --git a/src/views/system/role/component/editRole.vue b/src/views/system/role/component/editRole.vue index bb89e24..a24816b 100644 --- a/src/views/system/role/component/editRole.vue +++ b/src/views/system/role/component/editRole.vue @@ -89,6 +89,7 @@ interface RoleState { menuProps: { children: string; label: string; + disabled: string; }; rules: object; } @@ -108,7 +109,7 @@ export default defineComponent({ status: 1, listOrder: 0, remark: '', - menuIds:[] + menuIds:[], }, // 表单校验 rules: { @@ -123,6 +124,7 @@ export default defineComponent({ menuProps: { children: 'children', label: 'title', + disabled:'disabled' }, }); // 打开弹窗 @@ -182,7 +184,12 @@ export default defineComponent({ // 获取菜单结构数据 const getMenuData = () => { getRoleParams().then((res:any)=>{ - state.menuData = proxy.handleTree(res.data.menu, "id","pid"); + const menus = res.data.menu??[] + const accessMenus = res.data.accessMenus??[] + menus.map((item:any)=>{ + item.disabled = !accessMenus.includes(item.id) + }) + state.menuData = proxy.handleTree(menus, "id","pid"); }) }; const resetForm = ()=>{ @@ -195,7 +202,7 @@ export default defineComponent({ status: 1, listOrder: 0, remark: '', - menuIds:[] + menuIds:[], } }; /** 树权限(展开/折叠)*/ diff --git a/src/views/system/user/component/editUser.vue b/src/views/system/user/component/editUser.vue index de132fe..2fe57e7 100644 --- a/src/views/system/user/component/editUser.vue +++ b/src/views/system/user/component/editUser.vue @@ -25,7 +25,8 @@ v-for="role in roleList" :key="'role-'+role.id" :label="role.name" - :value="role.id"> + :value="role.id" + :disabled="role.disabled"> @@ -245,7 +246,14 @@ export default defineComponent({ const initTableData = () => { //获取角色岗位选项 getParams().then((res:any)=>{ - roleList.value = res.data.roleList??[]; + const roles = res.data.roleList??[]; + const roleAccess = res.data.roleAccess??[]; + roles.map((item:any)=>{ + if(!roleAccess.includes(item.id)){ + item.disabled = true + } + }) + roleList.value = roles postList.value = res.data.posts??[]; }); };