fix: 修复角色管理菜单权限树加载问题

- 前端:修复菜单树和部门树数据路径(response.data.menus)
- 后端:角色菜单树只返回可见菜单(visible='0')
This commit is contained in:
神码-方晓辉 2026-02-02 17:20:01 +08:00
parent 7e327e2131
commit 31322a9ecc
2 changed files with 9 additions and 6 deletions

View File

@ -96,7 +96,10 @@ public class SysMenuController extends BaseController {
@SaCheckPermission("system:menu:query") @SaCheckPermission("system:menu:query")
@GetMapping(value = "/roleMenuTreeselect/{roleId}") @GetMapping(value = "/roleMenuTreeselect/{roleId}")
public R<MenuTreeSelectVo> roleMenuTreeselect(@PathVariable("roleId") Long roleId) { public R<MenuTreeSelectVo> roleMenuTreeselect(@PathVariable("roleId") Long roleId) {
List<SysMenuVo> menus = menuService.selectMenuList(LoginHelper.getUserId()); // 只查询可见的菜单visible='0'
SysMenuBo menuQuery = new SysMenuBo();
menuQuery.setVisible("0");
List<SysMenuVo> menus = menuService.selectMenuList(menuQuery, LoginHelper.getUserId());
MenuTreeSelectVo selectVo = new MenuTreeSelectVo( MenuTreeSelectVo selectVo = new MenuTreeSelectVo(
menuService.selectMenuListByRoleId(roleId), menuService.selectMenuListByRoleId(roleId),
menuService.buildMenuTreeSelect(menus)); menuService.buildMenuTreeSelect(menus));

View File

@ -378,7 +378,7 @@ function handleAuthUser(row) {
/** 查询菜单树结构 */ /** 查询菜单树结构 */
function getMenuTreeselect() { function getMenuTreeselect() {
menuTreeselect().then(response => { menuTreeselect().then(response => {
menuOptions.value = response.data menuOptions.value = response.data || []
}) })
} }
@ -450,16 +450,16 @@ function handleUpdate(row) {
/** 根据角色ID查询菜单树结构 */ /** 根据角色ID查询菜单树结构 */
function getRoleMenuTreeselect(roleId) { function getRoleMenuTreeselect(roleId) {
return roleMenuTreeselect(roleId).then(response => { return roleMenuTreeselect(roleId).then(response => {
menuOptions.value = response.menus menuOptions.value = response.data.menus
return response return response.data
}) })
} }
/** 根据角色ID查询部门树结构 */ /** 根据角色ID查询部门树结构 */
function getDeptTree(roleId) { function getDeptTree(roleId) {
return deptTreeSelect(roleId).then(response => { return deptTreeSelect(roleId).then(response => {
deptOptions.value = response.depts deptOptions.value = response.data.depts
return response return response.data
}) })
} }