From 797cc9c1a5c90f413d46c5cb88e1ee5e3a84b071 Mon Sep 17 00:00:00 2001
From: “dzb” <2632970487@qq.com>
Date: 星期二, 04 十月 2022 11:51:05 +0800
Subject: [PATCH] 修改用户只能分配单一角色
---
src/views/systemSetting/baseSetting/role/updateUser/index.vue | 62 +++++++++++++++++++++---------
1 files changed, 43 insertions(+), 19 deletions(-)
diff --git a/src/views/systemSetting/baseSetting/role/updateUser/index.vue b/src/views/systemSetting/baseSetting/role/updateUser/index.vue
index d0d18e1..5905a11 100644
--- a/src/views/systemSetting/baseSetting/role/updateUser/index.vue
+++ b/src/views/systemSetting/baseSetting/role/updateUser/index.vue
@@ -4,8 +4,9 @@
<div class="mainContent">
<div class="my-tree">
<div class="my-tree__wrap">
- <el-tree :data="roleList" :props="defaultProps" @node-click="handleNodeClick" show-checkbox
- @check-change="handleCheckChange" default-expand-all node-key="id">
+ <!-- @node-click="handleNodeClick" -->
+ <el-tree ref="tree" :data="roleList" :props="defaultProps" show-checkbox
+ @check="handleCheck" :default-checked-keys="checkedIds" default-expand-all node-key="id">
</el-tree>
</div>
<div class="my-tree__bottom"></div>
@@ -41,6 +42,7 @@
},
created() {
const that = this;
+ this.getRoleMenus(this.userInfo.id);
this.getMenuList();
},
methods: {
@@ -72,7 +74,6 @@
})
.then(res => {
this.roleList = res.data;
- console.log(res);
})
},
// 鐐瑰嚮鏍戣妭鐐�
@@ -83,31 +84,54 @@
this.treeId = id;
},
- // 鏍戝舰鎺т欢閫変腑鏇存敼
- handleCheckChange(data, checked, indeterminate) {
- // console.log(data,checked,indeterminate);
- if (checked) {
- this.checkedIds.push(data.id);
- } else {
- let index = 0;
- this.checkedIds.forEach((item, idx) => {
- if (item.id === data.id) {
- index = idx;
- }
- })
- this.checkedIds.splice(index, 1);
- }
+ // 鏍戝舰鎺т欢澶嶉�夋鐐瑰嚮浜嬩欢
+ handleCheck(data, checked) {
+ console.log(checked.checkedKeys);
+ this.checkedIds = checked.checkedKeys;
console.log(this.checkedIds);
},
// 淇濆瓨role
saveRole() {
this.resCheckedIds = [];
+ const {userInfo} = this;
this.resCheckedIds = this.checkedIds;
- this.$emit('changeDialog',{dialogUpdate:false});
+ this.$axios({
+ method:'post',
+ url:'sccg/role/allocMenu?roleId='+userInfo.id + '&menuIds=' + this.checkedIds,
+ })
+ .then(res=>{
+ if(res.code === 200){
+ this.$message({
+ type:'success',
+ message:'淇敼瑙掕壊鏉冮檺鎴愬姛',
+ })
+ this.getRoleMenus(userInfo.id);
+ }else{
+ this.$message({
+ type:'warning',
+ message:res.message
+ })
+ }
+ })
+ // this.$emit('changeDialog',{dialogUpdate:false});
},
// 娑堥櫎role
resetRole() {
- this.resCheckedIds = []
+ this.resCheckedIds = [];
+ this.$emit('changeDialog',{dialogUpdate:false});
+ },
+ // 鑾峰彇瑙掕壊鑿滃崟
+ getRoleMenus(roleId){
+ this.$axios({
+ method:'get',
+ url:`sccg/role/listMenu/${roleId}`
+ })
+ .then(res=>{
+ this.checkedIds = [];
+ res.data.forEach(item=>{
+ this.checkedIds.push(item.id);
+ })
+ })
}
},
props: ['userInfo', 'updateFlag', 'getUserList', 'changeDialog']
--
Gitblit v1.8.0