From 2952cb2c4fd1c51e28c6a6d6728f505155d4ee47 Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期日, 21 八月 2022 22:54:25 +0800 Subject: [PATCH] 优化多角色数据权限匹配规则 --- src/views/system/role/index.vue | 11 ++--- src/views/system/user/index.vue | 20 ++-------- src/api/system/user.js | 8 ++++ src/api/system/role.js | 8 ++++ src/api/system/dept.js | 16 -------- 5 files changed, 25 insertions(+), 38 deletions(-) diff --git a/src/api/system/dept.js b/src/api/system/dept.js index 0535e8a..9ca6966 100644 --- a/src/api/system/dept.js +++ b/src/api/system/dept.js @@ -25,22 +25,6 @@ }) } -// 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� -export function treeselect() { - return request({ - url: '/system/dept/treeselect', - method: 'get' - }) -} - -// 鏍规嵁瑙掕壊ID鏌ヨ閮ㄩ棬鏍戠粨鏋� -export function roleDeptTreeselect(roleId) { - return request({ - url: '/system/dept/roleDeptTreeselect/' + roleId, - method: 'get' - }) -} - // 鏂板閮ㄩ棬 export function addDept(data) { return request({ diff --git a/src/api/system/role.js b/src/api/system/role.js index 7710cc2..528cd18 100644 --- a/src/api/system/role.js +++ b/src/api/system/role.js @@ -109,3 +109,11 @@ params: data }) } + +// 鏍规嵁瑙掕壊ID鏌ヨ閮ㄩ棬鏍戠粨鏋� +export function deptTreeSelect(roleId) { + return request({ + url: '/system/role/deptTree/' + roleId, + method: 'get' + }) +} diff --git a/src/api/system/user.js b/src/api/system/user.js index ad227f9..9b949e9 100644 --- a/src/api/system/user.js +++ b/src/api/system/user.js @@ -125,3 +125,11 @@ params: data }) } + +// 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� +export function deptTreeSelect() { + return request({ + url: '/system/user/deptTree', + method: 'get' + }) +} diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue index cf71f5c..ee2e11d 100644 --- a/src/views/system/role/index.vue +++ b/src/views/system/role/index.vue @@ -262,9 +262,8 @@ </template> <script setup name="Role"> -import { addRole, changeRoleStatus, dataScope, delRole, getRole, listRole, updateRole } from "@/api/system/role"; +import { addRole, changeRoleStatus, dataScope, delRole, getRole, listRole, updateRole, deptTreeSelect } from "@/api/system/role"; import { roleMenuTreeselect, treeselect as menuTreeselect } from "@/api/system/menu"; -import { treeselect as deptTreeselect, roleDeptTreeselect } from "@/api/system/dept"; const router = useRouter(); const { proxy } = getCurrentInstance(); @@ -462,8 +461,8 @@ }); } /** 鏍规嵁瑙掕壊ID鏌ヨ閮ㄩ棬鏍戠粨鏋� */ -function getRoleDeptTreeselect(roleId) { - return roleDeptTreeselect(roleId).then(response => { +function getDeptTree(roleId) { + return deptTreeSelect(roleId).then(response => { deptOptions.value = response.depts; return response; }); @@ -543,12 +542,12 @@ /** 鍒嗛厤鏁版嵁鏉冮檺鎿嶄綔 */ function handleDataScope(row) { reset(); - const roleDeptTreeselect = getRoleDeptTreeselect(row.roleId); + const deptTreeSelect = getDeptTree(row.roleId); getRole(row.roleId).then(response => { form.value = response.data; openDataScope.value = true; nextTick(() => { - roleDeptTreeselect.then(res => { + deptTreeSelect.then(res => { nextTick(() => { if (deptRef.value) { deptRef.value.setCheckedKeys(res.checkedKeys); diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index da3a501..8326e6f 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -350,8 +350,7 @@ <script setup name="User"> import { getToken } from "@/utils/auth"; -import { treeselect } from "@/api/system/dept"; -import { changeUserStatus, listUser, resetUserPwd, delUser, getUser, updateUser, addUser } from "@/api/system/user"; +import { changeUserStatus, listUser, resetUserPwd, delUser, getUser, updateUser, addUser, deptTreeSelect } from "@/api/system/user"; const router = useRouter(); const { proxy } = getCurrentInstance(); @@ -429,8 +428,8 @@ proxy.$refs["deptTreeRef"].filter(val); }); /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ -function getTreeselect() { - treeselect().then(response => { +function getDeptTree() { + deptTreeSelect().then(response => { deptOptions.value = response.data; }); }; @@ -550,15 +549,6 @@ function submitFileForm() { proxy.$refs["uploadRef"].submit(); }; -/** 鍒濆鍖栭儴闂ㄦ暟鎹� */ -function initTreeData() { - // 鍒ゆ柇閮ㄩ棬鐨勬暟鎹槸鍚﹀瓨鍦紝瀛樺湪涓嶈幏鍙栵紝涓嶅瓨鍦ㄥ垯鑾峰彇 - if (deptOptions.value === undefined) { - treeselect().then(response => { - deptOptions.value = response.data; - }); - } -}; /** 閲嶇疆鎿嶄綔琛ㄥ崟 */ function reset() { form.value = { @@ -585,7 +575,6 @@ /** 鏂板鎸夐挳鎿嶄綔 */ function handleAdd() { reset(); - initTreeData(); getUser().then(response => { postOptions.value = response.posts; roleOptions.value = response.roles; @@ -597,7 +586,6 @@ /** 淇敼鎸夐挳鎿嶄綔 */ function handleUpdate(row) { reset(); - initTreeData(); const userId = row.userId || ids.value; getUser(userId).then(response => { form.value = response.data; @@ -631,6 +619,6 @@ }); }; -getTreeselect(); +getDeptTree(); getList(); </script> -- Gitblit v1.9.3