Commit 554beaf6e79707b214fddace4795a87afb1f2c50

Authored by RuoYi
1 parent a5c170fa

修改在角色管理页修改菜单权限偶尔未选中问题

ruoyi-ui/src/views/system/role/index.vue
... ... @@ -369,15 +369,15 @@ export default {
369 369 /** 根据角色ID查询菜单树结构 */
370 370 getRoleMenuTreeselect(roleId) {
371 371 roleMenuTreeselect(roleId).then(response => {
372   - this.getMenuTreeselect();
373   - this.$refs.menu.setCheckedKeys(response.data);
  372 + this.menuOptions = response.menus;
  373 + this.$refs.menu.setCheckedKeys(response.checkedKeys);
374 374 });
375 375 },
376 376 /** 根据角色ID查询部门树结构 */
377 377 getRoleDeptTreeselect(roleId) {
378 378 roleDeptTreeselect(roleId).then(response => {
379   - this.getDeptTreeselect();
380   - this.$refs.dept.setCheckedKeys(response.data);
  379 + this.deptOptions = response.depts;
  380 + this.$refs.dept.setCheckedKeys(response.checkedKeys);
381 381 });
382 382 },
383 383 // 角色状态修改
... ... @@ -407,8 +407,8 @@ export default {
407 407 },
408 408 // 表单重置
409 409 reset() {
410   - if (this.$refs.tree != undefined) {
411   - this.$refs.tree.setCheckedKeys([]);
  410 + if (this.$refs.menu != undefined) {
  411 + this.$refs.menu.setCheckedKeys([]);
412 412 }
413 413 this.form = {
414 414 roleId: undefined,
... ...
ruoyi/src/main/java/com/ruoyi/project/system/controller/SysDeptController.java
... ... @@ -70,7 +70,11 @@ public class SysDeptController extends BaseController
70 70 @GetMapping(value = "/roleDeptTreeselect/{roleId}")
71 71 public AjaxResult roleDeptTreeselect(@PathVariable("roleId") Long roleId)
72 72 {
73   - return AjaxResult.success(deptService.selectDeptListByRoleId(roleId));
  73 + List<SysDept> depts = deptService.selectDeptList(new SysDept());
  74 + AjaxResult ajax = AjaxResult.success();
  75 + ajax.put("checkedKeys", deptService.selectDeptListByRoleId(roleId));
  76 + ajax.put("depts", deptService.buildDeptTreeSelect(depts));
  77 + return ajax;
74 78 }
75 79  
76 80 /**
... ...
ruoyi/src/main/java/com/ruoyi/project/system/controller/SysMenuController.java
... ... @@ -80,7 +80,12 @@ public class SysMenuController extends BaseController
80 80 @GetMapping(value = "/roleMenuTreeselect/{roleId}")
81 81 public AjaxResult roleMenuTreeselect(@PathVariable("roleId") Long roleId)
82 82 {
83   - return AjaxResult.success(menuService.selectMenuListByRoleId(roleId));
  83 + LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
  84 + List<SysMenu> menus = menuService.selectMenuList(loginUser.getUser().getUserId());
  85 + AjaxResult ajax = AjaxResult.success();
  86 + ajax.put("checkedKeys", menuService.selectMenuListByRoleId(roleId));
  87 + ajax.put("menus", menuService.buildMenuTreeSelect(menus));
  88 + return ajax;
84 89 }
85 90  
86 91 /**
... ...
ruoyi/src/main/java/com/ruoyi/project/system/service/ISysMenuService.java
... ... @@ -16,6 +16,14 @@ public interface ISysMenuService
16 16 /**
17 17 * 根据用户查询系统菜单列表
18 18 *
  19 + * @param userId 用户ID
  20 + * @return 菜单列表
  21 + */
  22 + public List<SysMenu> selectMenuList(Long userId);
  23 +
  24 + /**
  25 + * 根据用户查询系统菜单列表
  26 + *
19 27 * @param menu 菜单信息
20 28 * @param userId 用户ID
21 29 * @return 菜单列表
... ...
ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysMenuServiceImpl.java
... ... @@ -39,6 +39,18 @@ public class SysMenuServiceImpl implements ISysMenuService
39 39 private SysRoleMenuMapper roleMenuMapper;
40 40  
41 41 /**
  42 + * 根据用户查询系统菜单列表
  43 + *
  44 + * @param userId 用户ID
  45 + * @return 菜单列表
  46 + */
  47 + @Override
  48 + public List<SysMenu> selectMenuList(Long userId)
  49 + {
  50 + return selectMenuList(new SysMenu(), userId);
  51 + }
  52 +
  53 + /**
42 54 * 查询系统菜单列表
43 55 *
44 56 * @param menu 菜单信息
... ... @@ -83,9 +95,9 @@ public class SysMenuServiceImpl implements ISysMenuService
83 95 }
84 96  
85 97 /**
86   - * 根据用户名称查询菜单
  98 + * 根据用户ID查询菜单
87 99 *
88   - * @param username 用户名称
  100 + * @param userId 用户名称
89 101 * @return 菜单列表
90 102 */
91 103 @Override
... ...
ruoyi/src/main/resources/mybatis/system/SysMenuMapper.xml
... ... @@ -117,7 +117,7 @@
117 117 update sys_menu
118 118 <set>
119 119 <if test="menuName != null and menuName != ''">menu_name = #{menuName},</if>
120   - <if test="parentId != null and parentId != 0">parent_id = #{parentId},</if>
  120 + <if test="parentId != null">parent_id = #{parentId},</if>
121 121 <if test="orderNum != null and orderNum != ''">order_num = #{orderNum},</if>
122 122 <if test="path != null and path != ''">path = #{path},</if>
123 123 <if test="component != null and component != ''">component = #{component},</if>
... ...