diff --git a/ZR.Service/System/SysMenuService.cs b/ZR.Service/System/SysMenuService.cs
index 045046b..7db43f3 100644
--- a/ZR.Service/System/SysMenuService.cs
+++ b/ZR.Service/System/SysMenuService.cs
@@ -1,6 +1,5 @@
using Infrastructure.Attribute;
using Infrastructure.Extensions;
-using JinianNet.JNTemplate.Dynamic;
using SqlSugar;
using System;
using System.Collections.Generic;
@@ -34,17 +33,11 @@ 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);
- //}
- menuList = BuildMenuTree(SelectMenuList(menu, userId));
+ if (menu.ParentId != null)
+ {
+ return GetMenusByMenuId(menu.ParentId.ParseToInt(), userId);
+ }
+ List menuList = BuildMenuTree(SelectMenuList(menu, userId));
return menuList;
}
@@ -274,14 +267,17 @@ namespace ZR.Service
///
private List SelectMenuList(MenuQueryDto menu)
{
+ var menuExp = Expressionable.Create();
+ menuExp.AndIF(!string.IsNullOrEmpty(menu.MenuName), it => it.MenuName.Contains(menu.MenuName));
+ menuExp.AndIF(!string.IsNullOrEmpty(menu.Visible), it => it.Visible == menu.Visible);
+ menuExp.AndIF(!string.IsNullOrEmpty(menu.Status), it => it.Status == menu.Status);
+ menuExp.AndIF(!string.IsNullOrEmpty(menu.MenuTypeIds), it => menu.MenuTypeIdArr.Contains(it.MenuType));
+ menuExp.AndIF(menu.ParentId != null, it => it.ParentId == menu.ParentId);
+
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();
+ .Where(menuExp.ToExpression())
+ .OrderBy(it => new { it.ParentId, it.OrderNum })
+ .ToList();
}
///