作者 RuoYi

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

@@ -369,15 +369,15 @@ export default { @@ -369,15 +369,15 @@ export default {
369 /** 根据角色ID查询菜单树结构 */ 369 /** 根据角色ID查询菜单树结构 */
370 getRoleMenuTreeselect(roleId) { 370 getRoleMenuTreeselect(roleId) {
371 roleMenuTreeselect(roleId).then(response => { 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 /** 根据角色ID查询部门树结构 */ 376 /** 根据角色ID查询部门树结构 */
377 getRoleDeptTreeselect(roleId) { 377 getRoleDeptTreeselect(roleId) {
378 roleDeptTreeselect(roleId).then(response => { 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,8 +407,8 @@ export default {
407 }, 407 },
408 // 表单重置 408 // 表单重置
409 reset() { 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 this.form = { 413 this.form = {
414 roleId: undefined, 414 roleId: undefined,
@@ -70,7 +70,11 @@ public class SysDeptController extends BaseController @@ -70,7 +70,11 @@ public class SysDeptController extends BaseController
70 @GetMapping(value = "/roleDeptTreeselect/{roleId}") 70 @GetMapping(value = "/roleDeptTreeselect/{roleId}")
71 public AjaxResult roleDeptTreeselect(@PathVariable("roleId") Long roleId) 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 /**
@@ -80,7 +80,12 @@ public class SysMenuController extends BaseController @@ -80,7 +80,12 @@ public class SysMenuController extends BaseController
80 @GetMapping(value = "/roleMenuTreeselect/{roleId}") 80 @GetMapping(value = "/roleMenuTreeselect/{roleId}")
81 public AjaxResult roleMenuTreeselect(@PathVariable("roleId") Long roleId) 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 /**
@@ -16,6 +16,14 @@ public interface ISysMenuService @@ -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 * @param menu 菜单信息 27 * @param menu 菜单信息
20 * @param userId 用户ID 28 * @param userId 用户ID
21 * @return 菜单列表 29 * @return 菜单列表
@@ -39,6 +39,18 @@ public class SysMenuServiceImpl implements ISysMenuService @@ -39,6 +39,18 @@ public class SysMenuServiceImpl implements ISysMenuService
39 private SysRoleMenuMapper roleMenuMapper; 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 * @param menu 菜单信息 56 * @param menu 菜单信息
@@ -83,9 +95,9 @@ public class SysMenuServiceImpl implements ISysMenuService @@ -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 * @return 菜单列表 101 * @return 菜单列表
90 */ 102 */
91 @Override 103 @Override
@@ -117,7 +117,7 @@ @@ -117,7 +117,7 @@
117 update sys_menu 117 update sys_menu
118 <set> 118 <set>
119 <if test="menuName != null and menuName != ''">menu_name = #{menuName},</if> 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 <if test="orderNum != null and orderNum != ''">order_num = #{orderNum},</if> 121 <if test="orderNum != null and orderNum != ''">order_num = #{orderNum},</if>
122 <if test="path != null and path != ''">path = #{path},</if> 122 <if test="path != null and path != ''">path = #{path},</if>
123 <if test="component != null and component != ''">component = #{component},</if> 123 <if test="component != null and component != ''">component = #{component},</if>