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