Browse Source

当前人员查询新增角色时,只能添加自己有的权限,超管除外

develop-lawyerExampaper
胡超1 2 years ago
parent
commit
6858816c51
  1. 53
      24Hour/Controllers/system/SystemControllerController.cs

53
24Hour/Controllers/system/SystemControllerController.cs

@ -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>

Loading…
Cancel
Save