Browse Source

超级管理员可以查看所有菜单

develop-lawyerExampaper
胡超1 2 years ago
parent
commit
abdf52221a
  1. 42
      24Hour/Controllers/system/SystemControllerController.cs

42
24Hour/Controllers/system/SystemControllerController.cs

@ -1,4 +1,5 @@
using AutoMapper;
using com.sun.corba.se.spi.orbutil.fsm;
using com.sun.org.apache.bcel.@internal.generic;
using com.sun.xml.@internal.ws.api.model;
using Elight.Entity;
@ -88,12 +89,16 @@ namespace _24Hour.Controllers.system
//获取部门信息
var Departlist = await _db.Queryable<App_Sys_DepartModel>().Where(q => q.IsDelete == 0).ToListAsync();
//获取角色信息
var RoleModel = _db.Queryable<App_Sys_RoleUserModel>().LeftJoin<App_Sys_RoleModel>((o, i) => o.roleId == i.Id && o.IsDelete == 0 && i.IsDeleted == 0).Select((o, i) => new App_Sys_RoleDto { Id = o.roleId, name = i.name, userId = o.roleuserId }).ToList();
var RoleModel = _db.Queryable<App_Sys_RoleUserModel>()
.LeftJoin<App_Sys_RoleModel>((o, i) => o.roleId == i.Id && o.IsDelete == 0 && i.IsDeleted == 0)
.Select((o, i) => new App_Sys_RoleDto { Id = o.roleId, name = i.name, userId = o.roleuserId })
.ToList();
var list = await _db.Queryable<App_Sys_UserModel>()
.WhereIF(!UserModel.name.IsNull(), q => q.name.Contains(UserModel.name))
.WhereIF(!UserModel.phone.IsNull(), q => q.phone.Contains(UserModel.phone))
.WhereIF(!UserModel.duties.IsNull(), q => q.duties.Contains(UserModel.duties))
.WhereIF(!UserModel.cardId.IsNull(), q => q.cardId.Contains(UserModel.cardId))
.Where(q => q.IsDeleted == 0 && q.phone != "admin" && q.usertype == 0)
.ToPageListAsync(UserModel.PageIndex, UserModel.PageSize, totalNumber);
UserModel.RowsCount = totalNumber;
@ -332,7 +337,8 @@ namespace _24Hour.Controllers.system
{
try
{
var model = await _db.Queryable<App_Sys_UserModel>().Where(x => x.Id == _userdata.Id && x.IsDeleted == 0).FirstAsync();
var model = await _db.Queryable<App_Sys_UserModel>()
.FirstAsync(x => x.Id == _userdata.Id && x.IsDeleted == 0);
if (model != null)
{
model.wechatId = string.Empty;
@ -715,7 +721,7 @@ namespace _24Hour.Controllers.system
userlist.ForEach(q =>
{
//头像地址
q.cardIdphoto= photo;
q.cardIdphoto = photo;
});
var num = await _db.Updateable(userlist).ExecuteCommandAsync();
_db.CommitTran();
@ -945,10 +951,10 @@ namespace _24Hour.Controllers.system
await _db.Deleteable(list).ExecuteCommandAsync();
var RoleMenulist = RoleMenudata.RoleMenuIds.Split(",").ToList();
var menulist = new List<App_Sys_RoleMenuModel>();
if (RoleMenulist.Length > 0)
if (RoleMenulist.Count > 0)
{
//添加角色菜单
for (int i = 0; i < RoleMenulist.Length; i++)
for (int i = 0; i < RoleMenulist.Count; i++)
{
var App_Sys_RoleMenuModel = new App_Sys_RoleMenuModel()
{
@ -1669,18 +1675,31 @@ namespace _24Hour.Controllers.system
//获取父级菜单
var pidlist = await _db.Queryable<App_Sys_MenuModel>().Where(q => q.IsDelete == 0 && string.IsNullOrEmpty(q.pid)).ToListAsync();
//联表查询该用户菜单
var menulist = await _db.Queryable<App_Sys_RoleUserModel>().Where(x => x.roleuserId == _userdata.Id)
var menulist = await Task.Run(async () =>
{
if (_userdata.phone == "admin")
{
return await _db.Queryable<App_Sys_MenuModel>()
.Where(x => x.IsDelete == 0)
.ToListAsync();
}
else
{
return await _db.Queryable<App_Sys_RoleUserModel>()
.Where(x => x.roleuserId == _userdata.Id)
.LeftJoin<App_Sys_RoleMenuModel>((o, cus) => o.roleId == cus.roleId)
.LeftJoin<App_Sys_MenuModel>((o, cus, menu) => cus.menuId == menu.Id)
.Where((o, cus, menu) => o.IsDelete == 0 && cus.IsDelete == 0 && menu.IsDelete == 0)
.Select((o, cus, menu) => menu)
.ToListAsync();
if (_userdata.phone == "admin")
{
menulist = await _db.Queryable<App_Sys_MenuModel>().Where(x => x.IsDelete == 0).ToListAsync();
}
});
//通过分组父级菜单
var datalist = menulist.OrderBy(q => q.sortnum).GroupBy(q => q.pid).Select(q => new { pid = q.Key, dalist = q.OrderBy(q => q.sortnum).ToList() }).ToList();
var datalist = menulist.OrderBy(q => q.sortnum)
.GroupBy(q => q.pid)
.Select(q => new { pid = q.Key, dalist = q.OrderBy(q => q.sortnum).ToList() })
.ToList();
if (datalist.Count > 0)
{
pidlist.OrderBy(q => q.sortnum).ToList().ForEach(item =>
@ -1694,6 +1713,7 @@ namespace _24Hour.Controllers.system
{
childrenlist.Add(new
{
path = it.path,
name = it.name,
component = it.component,
@ -1713,9 +1733,11 @@ namespace _24Hour.Controllers.system
var fjdata = datalist.Where(q => string.IsNullOrEmpty(q.pid)).FirstOrDefault()?.dalist.FirstOrDefault(q => q.Id == item.Id);
if (childrenlist.Count > 0 || fjdata != null)
{
//添加父级菜单
list.Add(new
{
path = item.path,
name = item.name,
component = item.component,

Loading…
Cancel
Save