|
|
|
@ -943,7 +943,7 @@ namespace _24Hour.Controllers.system
|
|
|
|
|
_db.BeginTran(); |
|
|
|
|
//删除角色下的菜单 |
|
|
|
|
await _db.Deleteable(list).ExecuteCommandAsync(); |
|
|
|
|
var RoleMenulist = RoleMenudata.RoleMenuIds.Split(","); |
|
|
|
|
var RoleMenulist = RoleMenudata.RoleMenuIds.Split(",").ToList(); |
|
|
|
|
var menulist = new List<App_Sys_RoleMenuModel>(); |
|
|
|
|
if (RoleMenulist.Length > 0) |
|
|
|
|
{ |
|
|
|
@ -1465,15 +1465,64 @@ namespace _24Hour.Controllers.system
|
|
|
|
|
[Route("QueryMenuTree")] |
|
|
|
|
public async Task<Result> QueryMenuTree(App_Sys_MenuInput Menudata) |
|
|
|
|
{ |
|
|
|
|
var roleids = new List<string?>(); |
|
|
|
|
if (_userdata.phone != "admin") |
|
|
|
|
{ |
|
|
|
|
var userroleinfo = await _db.Queryable<App_Sys_RoleUserModel>().FirstAsync(x => x.roleuserId == _userdata.Id); |
|
|
|
|
roleids = await _db.Queryable<App_Sys_RoleMenuModel>() |
|
|
|
|
.WhereIF(!userroleinfo.roleId.IsNull(), q => q.roleId == userroleinfo.roleId) |
|
|
|
|
.Where(q => q.IsDelete == 0).Select(x => x.menuId).ToListAsync(); |
|
|
|
|
} |
|
|
|
|
var treelist = await _db.Queryable<App_Sys_MenuTree>() |
|
|
|
|
.WhereIF(!Menudata.name.IsNull(), q => q.name.Contains(Menudata.name)) |
|
|
|
|
.WhereIF(!Menudata.title.IsNull(), q => q.title.Contains(Menudata.title)) |
|
|
|
|
.Where(q => q.IsDelete == 0).OrderBy(q => q.sortnum, OrderByType.Asc).ToTreeAsync(it => it.children, it => it.pid, null); |
|
|
|
|
.Where(q => q.IsDelete == 0) |
|
|
|
|
.OrderBy(q => q.sortnum, OrderByType.Asc) |
|
|
|
|
.ToTreeAsync(it => it.children, it => it.pid, null); |
|
|
|
|
if (_userdata.phone != "admin") |
|
|
|
|
{ |
|
|
|
|
foreach (var item in treelist) |
|
|
|
|
{ |
|
|
|
|
if (roleids.Contains(item.Id)) |
|
|
|
|
{ |
|
|
|
|
if (item.children != null) |
|
|
|
|
{ |
|
|
|
|
item.children = item.children.Where(x => roleids.Contains(x.Id)).ToList(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
if (item.children == null) |
|
|
|
|
{ |
|
|
|
|
item.IsDelete = -1; |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
if (item.children.Any(x => roleids.Contains(x.Id))) |
|
|
|
|
{ |
|
|
|
|
item.children = item.children.Where(x => roleids.Contains(x.Id)).ToList(); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
item.IsDelete = -1; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
treelist = treelist.Where(x => x.IsDelete != -1).ToList(); |
|
|
|
|
|
|
|
|
|
result.IsSucceed = true; |
|
|
|
|
result.result = treelist; |
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
result.IsSucceed = true; |
|
|
|
|
result.result = treelist; |
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
/// <summary> |
|
|
|
|
/// 菜单分页查询 |
|
|
|
|
/// </summary> |
|
|
|
|