Commit be2ba5be283bd085ad65ba2a0029c4d8021e28e3

Authored by YunaiV
1 parent 2651f9bc

完成角色的授权的功能

ruoyi-system/src/main/java/com/ruoyi/system/service/ISysMenuService.java
@@ -8,14 +8,14 @@ import com.ruoyi.system.domain.vo.RouterVo; @@ -8,14 +8,14 @@ import com.ruoyi.system.domain.vo.RouterVo;
8 8
9 /** 9 /**
10 * 菜单 业务层 10 * 菜单 业务层
11 - * 11 + *
12 * @author ruoyi 12 * @author ruoyi
13 */ 13 */
14 public interface ISysMenuService 14 public interface ISysMenuService
15 { 15 {
16 /** 16 /**
17 * 根据用户查询系统菜单列表 17 * 根据用户查询系统菜单列表
18 - * 18 + *
19 * @param userId 用户ID 19 * @param userId 用户ID
20 * @return 菜单列表 20 * @return 菜单列表
21 */ 21 */
@@ -23,7 +23,7 @@ public interface ISysMenuService @@ -23,7 +23,7 @@ public interface ISysMenuService
23 23
24 /** 24 /**
25 * 根据用户查询系统菜单列表 25 * 根据用户查询系统菜单列表
26 - * 26 + *
27 * @param menu 菜单信息 27 * @param menu 菜单信息
28 * @param userId 用户ID 28 * @param userId 用户ID
29 * @return 菜单列表 29 * @return 菜单列表
@@ -32,105 +32,18 @@ public interface ISysMenuService @@ -32,105 +32,18 @@ public interface ISysMenuService
32 32
33 /** 33 /**
34 * 根据用户ID查询权限 34 * 根据用户ID查询权限
35 - * 35 + *
36 * @param userId 用户ID 36 * @param userId 用户ID
37 * @return 权限列表 37 * @return 权限列表
38 */ 38 */
39 public Set<String> selectMenuPermsByUserId(Long userId); 39 public Set<String> selectMenuPermsByUserId(Long userId);
40 40
41 /** 41 /**
42 - * 根据用户ID查询菜单树信息  
43 - *  
44 - * @param userId 用户ID  
45 - * @return 菜单列表  
46 - */  
47 - public List<SysMenu> selectMenuTreeByUserId(Long userId);  
48 -  
49 - /**  
50 - * 根据角色ID查询菜单树信息  
51 - *  
52 - * @param roleId 角色ID  
53 - * @return 选中菜单列表  
54 - */  
55 - public List<Integer> selectMenuListByRoleId(Long roleId);  
56 -  
57 - /**  
58 - * 构建前端路由所需要的菜单  
59 - *  
60 - * @param menus 菜单列表  
61 - * @return 路由列表  
62 - */  
63 - public List<RouterVo> buildMenus(List<SysMenu> menus);  
64 -  
65 - /**  
66 - * 构建前端所需要树结构  
67 - *  
68 - * @param menus 菜单列表  
69 - * @return 树结构列表  
70 - */  
71 - public List<SysMenu> buildMenuTree(List<SysMenu> menus);  
72 -  
73 - /**  
74 - * 构建前端所需要下拉树结构  
75 - *  
76 - * @param menus 菜单列表  
77 - * @return 下拉树结构列表  
78 - */  
79 - public List<TreeSelect> buildMenuTreeSelect(List<SysMenu> menus);  
80 -  
81 - /**  
82 - * 根据菜单ID查询信息  
83 - *  
84 - * @param menuId 菜单ID  
85 - * @return 菜单信息  
86 - */  
87 - public SysMenu selectMenuById(Long menuId);  
88 -  
89 - /**  
90 - * 是否存在菜单子节点  
91 - *  
92 - * @param menuId 菜单ID  
93 - * @return 结果 true 存在 false 不存在  
94 - */  
95 - public boolean hasChildByMenuId(Long menuId);  
96 -  
97 - /**  
98 * 查询菜单是否存在角色 42 * 查询菜单是否存在角色
99 - * 43 + *
100 * @param menuId 菜单ID 44 * @param menuId 菜单ID
101 * @return 结果 true 存在 false 不存在 45 * @return 结果 true 存在 false 不存在
102 */ 46 */
103 public boolean checkMenuExistRole(Long menuId); 47 public boolean checkMenuExistRole(Long menuId);
104 48
105 - /**  
106 - * 新增保存菜单信息  
107 - *  
108 - * @param menu 菜单信息  
109 - * @return 结果  
110 - */  
111 - public int insertMenu(SysMenu menu);  
112 -  
113 - /**  
114 - * 修改保存菜单信息  
115 - *  
116 - * @param menu 菜单信息  
117 - * @return 结果  
118 - */  
119 - public int updateMenu(SysMenu menu);  
120 -  
121 - /**  
122 - * 删除菜单管理信息  
123 - *  
124 - * @param menuId 菜单ID  
125 - * @return 结果  
126 - */  
127 - public int deleteMenuById(Long menuId);  
128 -  
129 - /**  
130 - * 校验菜单名称是否唯一  
131 - *  
132 - * @param menu 菜单信息  
133 - * @return 结果  
134 - */  
135 - public String checkMenuNameUnique(SysMenu menu);  
136 } 49 }
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysRoleService.java
@@ -2,130 +2,30 @@ package com.ruoyi.system.service; @@ -2,130 +2,30 @@ package com.ruoyi.system.service;
2 2
3 import java.util.List; 3 import java.util.List;
4 import java.util.Set; 4 import java.util.Set;
  5 +
5 import com.ruoyi.common.core.domain.entity.SysRole; 6 import com.ruoyi.common.core.domain.entity.SysRole;
6 7
7 /** 8 /**
8 * 角色业务层 9 * 角色业务层
9 - * 10 + *
10 * @author ruoyi 11 * @author ruoyi
11 */ 12 */
12 -public interface ISysRoleService  
13 -{  
14 - /**  
15 - * 根据条件分页查询角色数据  
16 - *  
17 - * @param role 角色信息  
18 - * @return 角色数据集合信息  
19 - */  
20 - public List<SysRole> selectRoleList(SysRole role); 13 +public interface ISysRoleService {
21 14
22 /** 15 /**
23 * 根据用户ID查询角色 16 * 根据用户ID查询角色
24 - * 17 + *
25 * @param userId 用户ID 18 * @param userId 用户ID
26 * @return 权限列表 19 * @return 权限列表
27 */ 20 */
28 public Set<String> selectRolePermissionByUserId(Long userId); 21 public Set<String> selectRolePermissionByUserId(Long userId);
29 22
30 /** 23 /**
31 - * 查询所有角色  
32 - *  
33 - * @return 角色列表  
34 - */  
35 - public List<SysRole> selectRoleAll();  
36 -  
37 - /**  
38 - * 根据用户ID获取角色选择框列表  
39 - *  
40 - * @param userId 用户ID  
41 - * @return 选中角色ID列表  
42 - */  
43 - public List<Integer> selectRoleListByUserId(Long userId);  
44 -  
45 - /**  
46 - * 通过角色ID查询角色  
47 - *  
48 - * @param roleId 角色ID  
49 - * @return 角色对象信息  
50 - */  
51 - public SysRole selectRoleById(Long roleId);  
52 -  
53 - /**  
54 - * 校验角色名称是否唯一  
55 - *  
56 - * @param role 角色信息  
57 - * @return 结果  
58 - */  
59 - public String checkRoleNameUnique(SysRole role);  
60 -  
61 - /**  
62 - * 校验角色权限是否唯一  
63 - *  
64 - * @param role 角色信息  
65 - * @return 结果  
66 - */  
67 - public String checkRoleKeyUnique(SysRole role);  
68 -  
69 - /**  
70 - * 校验角色是否允许操作  
71 - *  
72 - * @param role 角色信息  
73 - */  
74 - public void checkRoleAllowed(SysRole role);  
75 -  
76 - /**  
77 - * 通过角色ID查询角色使用数量  
78 - *  
79 - * @param roleId 角色ID  
80 - * @return 结果  
81 - */  
82 - public int countUserRoleByRoleId(Long roleId);  
83 -  
84 - /**  
85 - * 新增保存角色信息  
86 - *  
87 - * @param role 角色信息  
88 - * @return 结果  
89 - */  
90 - public int insertRole(SysRole role);  
91 -  
92 - /**  
93 - * 修改保存角色信息  
94 - *  
95 - * @param role 角色信息  
96 - * @return 结果  
97 - */  
98 - public int updateRole(SysRole role);  
99 -  
100 - /**  
101 - * 修改角色状态  
102 - *  
103 - * @param role 角色信息  
104 - * @return 结果  
105 - */  
106 - public int updateRoleStatus(SysRole role);  
107 -  
108 - /**  
109 * 修改数据权限信息 24 * 修改数据权限信息
110 - * 25 + *
111 * @param role 角色信息 26 * @param role 角色信息
112 * @return 结果 27 * @return 结果
113 */ 28 */
114 public int authDataScope(SysRole role); 29 public int authDataScope(SysRole role);
115 30
116 - /**  
117 - * 通过角色ID删除角色  
118 - *  
119 - * @param roleId 角色ID  
120 - * @return 结果  
121 - */  
122 - public int deleteRoleById(Long roleId);  
123 -  
124 - /**  
125 - * 批量删除角色信息  
126 - *  
127 - * @param roleIds 需要删除的角色ID  
128 - * @return 结果  
129 - */  
130 - public int deleteRoleByIds(Long[] roleIds);  
131 } 31 }
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
@@ -32,7 +32,6 @@ import com.ruoyi.system.service.ISysMenuService; @@ -32,7 +32,6 @@ import com.ruoyi.system.service.ISysMenuService;
32 */ 32 */
33 @Service 33 @Service
34 public class SysMenuServiceImpl implements ISysMenuService { 34 public class SysMenuServiceImpl implements ISysMenuService {
35 - public static final String PREMISSION_STRING = "perms[\"{0}\"]";  
36 35
37 /** 36 /**
38 * 根据用户查询系统菜单列表 37 * 根据用户查询系统菜单列表
@@ -99,29 +98,4 @@ public class SysMenuServiceImpl implements ISysMenuService { @@ -99,29 +98,4 @@ public class SysMenuServiceImpl implements ISysMenuService {
99 return getChildPerms(menus, 0); 98 return getChildPerms(menus, 0);
100 } 99 }
101 100
102 - /**  
103 - * 根据角色ID查询菜单树信息  
104 - *  
105 - * @param roleId 角色ID  
106 - * @return 选中菜单列表  
107 - */  
108 - @Override  
109 - public List<Integer> selectMenuListByRoleId(Long roleId) {  
110 - SysRole role = roleMapper.selectRoleById(roleId);  
111 - return menuMapper.selectMenuListByRoleId(roleId, role.isMenuCheckStrictly());  
112 - }  
113 -  
114 - /**  
115 - * 查询菜单使用数量  
116 - *  
117 - * @param menuId 菜单ID  
118 - * @return 结果  
119 - */  
120 - @Override  
121 - public boolean checkMenuExistRole(Long menuId) {  
122 - int result = roleMenuMapper.checkMenuExistRole(menuId);  
123 - return result > 0 ? true : false;  
124 - }  
125 -  
126 -  
127 } 101 }
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
@@ -5,6 +5,7 @@ import java.util.Arrays; @@ -5,6 +5,7 @@ import java.util.Arrays;
5 import java.util.HashSet; 5 import java.util.HashSet;
6 import java.util.List; 6 import java.util.List;
7 import java.util.Set; 7 import java.util.Set;
  8 +
8 import org.springframework.beans.factory.annotation.Autowired; 9 import org.springframework.beans.factory.annotation.Autowired;
9 import org.springframework.stereotype.Service; 10 import org.springframework.stereotype.Service;
10 import org.springframework.transaction.annotation.Transactional; 11 import org.springframework.transaction.annotation.Transactional;
@@ -28,19 +29,7 @@ import com.ruoyi.system.service.ISysRoleService; @@ -28,19 +29,7 @@ import com.ruoyi.system.service.ISysRoleService;
28 * @author ruoyi 29 * @author ruoyi
29 */ 30 */
30 @Service 31 @Service
31 -public class SysRoleServiceImpl implements ISysRoleService  
32 -{  
33 - @Autowired  
34 - private SysRoleMapper roleMapper;  
35 -  
36 - @Autowired  
37 - private SysRoleMenuMapper roleMenuMapper;  
38 -  
39 - @Autowired  
40 - private SysUserRoleMapper userRoleMapper;  
41 -  
42 - @Autowired  
43 - private SysRoleDeptMapper roleDeptMapper; 32 +public class SysRoleServiceImpl implements ISysRoleService {
44 33
45 /** 34 /**
46 * 根据条件分页查询角色数据 35 * 根据条件分页查询角色数据
@@ -50,86 +39,11 @@ public class SysRoleServiceImpl implements ISysRoleService @@ -50,86 +39,11 @@ public class SysRoleServiceImpl implements ISysRoleService
50 */ 39 */
51 @Override 40 @Override
52 @DataScope(deptAlias = "d") 41 @DataScope(deptAlias = "d")
53 - public List<SysRole> selectRoleList(SysRole role)  
54 - { 42 + public List<SysRole> selectRoleList(SysRole role) {
55 return roleMapper.selectRoleList(role); 43 return roleMapper.selectRoleList(role);
56 } 44 }
57 45
58 /** 46 /**
59 - * 根据用户ID查询权限  
60 - *  
61 - * @param userId 用户ID  
62 - * @return 权限列表  
63 - */  
64 - @Override  
65 - public Set<String> selectRolePermissionByUserId(Long userId)  
66 - {  
67 - List<SysRole> perms = roleMapper.selectRolePermissionByUserId(userId);  
68 - Set<String> permsSet = new HashSet<>();  
69 - for (SysRole perm : perms)  
70 - {  
71 - if (StringUtils.isNotNull(perm))  
72 - {  
73 - permsSet.addAll(Arrays.asList(perm.getRoleKey().trim().split(",")));  
74 - }  
75 - }  
76 - return permsSet;  
77 - }  
78 -  
79 - /**  
80 - * 查询所有角色  
81 - *  
82 - * @return 角色列表  
83 - */  
84 - @Override  
85 - public List<SysRole> selectRoleAll()  
86 - {  
87 - return SpringUtils.getAopProxy(this).selectRoleList(new SysRole());  
88 - }  
89 -  
90 - /**  
91 - * 根据用户ID获取角色选择框列表  
92 - *  
93 - * @param userId 用户ID  
94 - * @return 选中角色ID列表  
95 - */  
96 - @Override  
97 - public List<Integer> selectRoleListByUserId(Long userId)  
98 - {  
99 - return roleMapper.selectRoleListByUserId(userId);  
100 - }  
101 -  
102 - /**  
103 - * 通过角色ID查询角色  
104 - *  
105 - * @param roleId 角色ID  
106 - * @return 角色对象信息  
107 - */  
108 - @Override  
109 - public SysRole selectRoleById(Long roleId)  
110 - {  
111 - return roleMapper.selectRoleById(roleId);  
112 - }  
113 -  
114 - /**  
115 - * 校验角色名称是否唯一  
116 - *  
117 - * @param role 角色信息  
118 - * @return 结果  
119 - */  
120 - @Override  
121 - public String checkRoleNameUnique(SysRole role)  
122 - {  
123 - Long roleId = StringUtils.isNull(role.getRoleId()) ? -1L : role.getRoleId();  
124 - SysRole info = roleMapper.checkRoleNameUnique(role.getRoleName());  
125 - if (StringUtils.isNotNull(info) && info.getRoleId().longValue() != roleId.longValue())  
126 - {  
127 - return UserConstants.NOT_UNIQUE;  
128 - }  
129 - return UserConstants.UNIQUE;  
130 - }  
131 -  
132 - /**  
133 * 修改数据权限信息 47 * 修改数据权限信息
134 * 48 *
135 * @param role 角色信息 49 * @param role 角色信息
@@ -137,8 +51,7 @@ public class SysRoleServiceImpl implements ISysRoleService @@ -137,8 +51,7 @@ public class SysRoleServiceImpl implements ISysRoleService
137 */ 51 */
138 @Override 52 @Override
139 @Transactional 53 @Transactional
140 - public int authDataScope(SysRole role)  
141 - { 54 + public int authDataScope(SysRole role) {
142 // 修改角色信息 55 // 修改角色信息
143 roleMapper.updateRole(role); 56 roleMapper.updateRole(role);
144 // 删除角色与部门关联 57 // 删除角色与部门关联
@@ -148,71 +61,6 @@ public class SysRoleServiceImpl implements ISysRoleService @@ -148,71 +61,6 @@ public class SysRoleServiceImpl implements ISysRoleService
148 } 61 }
149 62
150 /** 63 /**
151 - * 新增角色菜单信息  
152 - *  
153 - * @param role 角色对象  
154 - */  
155 - public int insertRoleMenu(SysRole role)  
156 - {  
157 - int rows = 1;  
158 - // 新增用户与角色管理  
159 - List<SysRoleMenu> list = new ArrayList<SysRoleMenu>();  
160 - for (Long menuId : role.getMenuIds())  
161 - {  
162 - SysRoleMenu rm = new SysRoleMenu();  
163 - rm.setRoleId(role.getRoleId());  
164 - rm.setMenuId(menuId);  
165 - list.add(rm);  
166 - }  
167 - if (list.size() > 0)  
168 - {  
169 - rows = roleMenuMapper.batchRoleMenu(list);  
170 - }  
171 - return rows;  
172 - }  
173 -  
174 - /**  
175 - * 新增角色部门信息(数据权限)  
176 - *  
177 - * @param role 角色对象  
178 - */  
179 - public int insertRoleDept(SysRole role)  
180 - {  
181 - int rows = 1;  
182 - // 新增角色与部门(数据权限)管理  
183 - List<SysRoleDept> list = new ArrayList<SysRoleDept>();  
184 - for (Long deptId : role.getDeptIds())  
185 - {  
186 - SysRoleDept rd = new SysRoleDept();  
187 - rd.setRoleId(role.getRoleId());  
188 - rd.setDeptId(deptId);  
189 - list.add(rd);  
190 - }  
191 - if (list.size() > 0)  
192 - {  
193 - rows = roleDeptMapper.batchRoleDept(list);  
194 - }  
195 - return rows;  
196 - }  
197 -  
198 - /**  
199 - * 通过角色ID删除角色  
200 - *  
201 - * @param roleId 角色ID  
202 - * @return 结果  
203 - */  
204 - @Override  
205 - @Transactional  
206 - public int deleteRoleById(Long roleId)  
207 - {  
208 - // 删除角色与菜单关联  
209 - roleMenuMapper.deleteRoleMenuByRoleId(roleId);  
210 - // 删除角色与部门关联  
211 - roleDeptMapper.deleteRoleDeptByRoleId(roleId);  
212 - return roleMapper.deleteRoleById(roleId);  
213 - }  
214 -  
215 - /**  
216 * 批量删除角色信息 64 * 批量删除角色信息
217 * 65 *
218 * @param roleIds 需要删除的角色ID 66 * @param roleIds 需要删除的角色ID
@@ -220,14 +68,11 @@ public class SysRoleServiceImpl implements ISysRoleService @@ -220,14 +68,11 @@ public class SysRoleServiceImpl implements ISysRoleService
220 */ 68 */
221 @Override 69 @Override
222 @Transactional 70 @Transactional
223 - public int deleteRoleByIds(Long[] roleIds)  
224 - {  
225 - for (Long roleId : roleIds)  
226 - { 71 + public int deleteRoleByIds(Long[] roleIds) {
  72 + for (Long roleId : roleIds) {
227 checkRoleAllowed(new SysRole(roleId)); 73 checkRoleAllowed(new SysRole(roleId));
228 SysRole role = selectRoleById(roleId); 74 SysRole role = selectRoleById(roleId);
229 - if (countUserRoleByRoleId(roleId) > 0)  
230 - { 75 + if (countUserRoleByRoleId(roleId) > 0) {
231 throw new CustomException(String.format("%1$s已分配,不能删除", role.getRoleName())); 76 throw new CustomException(String.format("%1$s已分配,不能删除", role.getRoleName()));
232 } 77 }
233 } 78 }
ruoyi-ui/src/views/system/menu/index.vue
@@ -45,7 +45,7 @@ @@ -45,7 +45,7 @@
45 row-key="id" 45 row-key="id"
46 :tree-props="{children: 'children', hasChildren: 'hasChildren'}" 46 :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
47 > 47 >
48 - <el-table-column prop="name" label="菜单名称" :show-overflow-tooltip="true" width="160"></el-table-column> 48 + <el-table-column prop="name" label="菜单名称" :show-overflow-tooltip="true" width="200"></el-table-column>
49 <el-table-column prop="icon" label="图标" align="center" width="100"> 49 <el-table-column prop="icon" label="图标" align="center" width="100">
50 <template slot-scope="scope"> 50 <template slot-scope="scope">
51 <svg-icon :icon-class="scope.row.icon" /> 51 <svg-icon :icon-class="scope.row.icon" />
@@ -156,7 +156,7 @@ @@ -156,7 +156,7 @@
156 </el-col> 156 </el-col>
157 <el-col :span="12"> 157 <el-col :span="12">
158 <el-form-item v-if="form.type != '1'" label="权限标识"> 158 <el-form-item v-if="form.type != '1'" label="权限标识">
159 - <el-input v-model="form.perms" placeholder="请权限标识" maxlength="50" /> 159 + <el-input v-model="form.permission" placeholder="请权限标识" maxlength="50" />
160 </el-form-item> 160 </el-form-item>
161 </el-col> 161 </el-col>
162 <el-col :span="12"> 162 <el-col :span="12">
ruoyi-ui/src/views/system/role/index.vue
@@ -112,14 +112,14 @@ @@ -112,14 +112,14 @@
112 type="text" 112 type="text"
113 icon="el-icon-circle-check" 113 icon="el-icon-circle-check"
114 @click="handleMenu(scope.row)" 114 @click="handleMenu(scope.row)"
115 - v-hasPermi="['system:role:edit']" 115 + v-hasPermi="['system:permission:assign-role-menu']"
116 >菜单权限</el-button> 116 >菜单权限</el-button>
117 <el-button 117 <el-button
118 size="mini" 118 size="mini"
119 type="text" 119 type="text"
120 icon="el-icon-circle-check" 120 icon="el-icon-circle-check"
121 @click="handleDataScope(scope.row)" 121 @click="handleDataScope(scope.row)"
122 - v-hasPermi="['system:role:edit']" 122 + v-hasPermi="['system:permission:assign-role-data-scope']"
123 >数据权限</el-button> 123 >数据权限</el-button>
124 <el-button 124 <el-button
125 size="mini" 125 size="mini"
@@ -214,7 +214,6 @@ @@ -214,7 +214,6 @@
214 <el-input v-model="form.code" :disabled="true" /> 214 <el-input v-model="form.code" :disabled="true" />
215 </el-form-item> 215 </el-form-item>
216 <el-form-item label="菜单权限"> 216 <el-form-item label="菜单权限">
217 - <el-checkbox v-model="!form.menuCheckStrictly" @change="handleCheckedTreeConnect($event, 'menu')">父子联动(选中父节点,自动选择子节点)</el-checkbox>  
218 <el-checkbox v-model="menuExpand" @change="handleCheckedTreeExpand($event, 'menu')">展开/折叠</el-checkbox> 217 <el-checkbox v-model="menuExpand" @change="handleCheckedTreeExpand($event, 'menu')">展开/折叠</el-checkbox>
219 <el-checkbox v-model="menuNodeAll" @change="handleCheckedTreeNodeAll($event, 'menu')">全选/全不选</el-checkbox> 218 <el-checkbox v-model="menuNodeAll" @change="handleCheckedTreeNodeAll($event, 'menu')">全选/全不选</el-checkbox>
220 <el-tree 219 <el-tree
@@ -356,15 +355,6 @@ export default { @@ -356,15 +355,6 @@ export default {
356 this.deptOptions = response.data; 355 this.deptOptions = response.data;
357 }); 356 });
358 }, 357 },
359 - // 所有菜单节点数据  
360 - getMenuAllCheckedKeys() {  
361 - // 目前被选中的菜单节点  
362 - let checkedKeys = this.$refs.menu.getCheckedKeys();  
363 - // 半选中的菜单节点  
364 - let halfCheckedKeys = this.$refs.menu.getHalfCheckedKeys();  
365 - checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys);  
366 - return checkedKeys;  
367 - },  
368 // 所有部门节点数据 358 // 所有部门节点数据
369 getDeptAllCheckedKeys() { 359 getDeptAllCheckedKeys() {
370 // 目前被选中的部门节点 360 // 目前被选中的部门节点
@@ -434,7 +424,6 @@ export default { @@ -434,7 +424,6 @@ export default {
434 sort: 0, 424 sort: 0,
435 deptIds: [], 425 deptIds: [],
436 menuIds: [], 426 menuIds: [],
437 - menuCheckStrictly: false, // 非严格,菜单弹窗的父子级联动  
438 deptCheckStrictly: false, 427 deptCheckStrictly: false,
439 remark: undefined 428 remark: undefined
440 }; 429 };
@@ -515,12 +504,8 @@ export default { @@ -515,12 +504,8 @@ export default {
515 }); 504 });
516 // 获得角色拥有的菜单集合 505 // 获得角色拥有的菜单集合
517 listRoleMenus(id).then(response => { 506 listRoleMenus(id).then(response => {
518 - // 设置为严格,避免设置父节点自动选中子节点,解决半选中问题  
519 - // this.form.menuCheckStrictly = true  
520 // 设置选中 507 // 设置选中
521 - this.$refs.menu.setCheckedKeys(response.data, false);  
522 - // 设置为非严格,继续使用半选中  
523 - // this.form.menuCheckStrictly = false 508 + this.$refs.menu.setCheckedKeys(response.data, true, false);
524 }) 509 })
525 }, 510 },
526 /** 分配数据权限操作 */ 511 /** 分配数据权限操作 */
@@ -575,7 +560,7 @@ export default { @@ -575,7 +560,7 @@ export default {
575 if (this.form.id !== undefined) { 560 if (this.form.id !== undefined) {
576 assignRoleMenu({ 561 assignRoleMenu({
577 roleId: this.form.id, 562 roleId: this.form.id,
578 - menuIds: this.getMenuAllCheckedKeys() 563 + menuIds: this.$refs.menu.getCheckedKeys(true)
579 }).then(response => { 564 }).then(response => {
580 this.msgSuccess("修改成功"); 565 this.msgSuccess("修改成功");
581 this.openMenu = false; 566 this.openMenu = false;
src/main/java/cn/iocoder/dashboard/modules/system/controller/permission/SysPermissionController.java
@@ -59,4 +59,6 @@ public class SysPermissionController { @@ -59,4 +59,6 @@ public class SysPermissionController {
59 // return success(true); 59 // return success(true);
60 // } 60 // }
61 61
  62 +// system:permission:assign-role-data-scope TODO
  63 +
62 } 64 }