diff --git a/ZR.Service/System/SysMenuService.cs b/ZR.Service/System/SysMenuService.cs index 18763e7..27d6cb9 100644 --- a/ZR.Service/System/SysMenuService.cs +++ b/ZR.Service/System/SysMenuService.cs @@ -32,16 +32,17 @@ namespace ZR.Service public List SelectTreeMenuList(MenuQueryDto menu, long userId) { List menuList; - if (SysRoleService.IsAdmin(userId)) - { - menuList = SelectTreeMenuList(menu); - } - else - { - var userRoles = SysRoleService.SelectUserRoles(userId); - menuList = SelectTreeMenuListByRoles(menu, userRoles); - } - return menuList ?? new List(); + //if (SysRoleService.IsAdmin(userId)) + //{ + // menuList = SelectTreeMenuList(menu); + //} + //else + //{ + // var userRoles = SysRoleService.SelectUserRoles(userId); + // menuList = SelectTreeMenuListByRoles(menu, userRoles); + //} + menuList = BuildMenuTree(SelectMenuList(menu, userId)); + return menuList; } /// @@ -53,7 +54,7 @@ namespace ZR.Service List menuList; if (SysRoleService.IsAdmin(userId)) { - menuList = SelectAllMenuList(menu); + menuList = SelectMenuList(menu); } else { @@ -238,12 +239,13 @@ namespace ZR.Service /// 获取所有菜单 /// /// - private List SelectAllMenuList(MenuQueryDto menu) + private List SelectMenuList(MenuQueryDto menu) { return Queryable() .WhereIF(!string.IsNullOrEmpty(menu.MenuName), it => it.MenuName.Contains(menu.MenuName)) .WhereIF(!string.IsNullOrEmpty(menu.Visible), it => it.Visible == menu.Visible) .WhereIF(!string.IsNullOrEmpty(menu.Status), it => it.Status == menu.Status) + .WhereIF(!string.IsNullOrEmpty(menu.MenuTypeIds), it => menu.MenuTypeIdArr.Contains(it.MenuType)) .WhereIF(menu.ParentId != null, it => it.ParentId == menu.ParentId) .OrderBy(it => new { it.ParentId, it.OrderNum }) .ToList(); @@ -411,7 +413,7 @@ namespace ZR.Service /// 下拉树结构列表 public List BuildMenuTree(List menus) { - List returnList = new List(); + List returnList = new(); List tempList = menus.Select(f => f.MenuId).ToList(); foreach (var menu in menus)