|
|
@ -1,4 +1,5 @@ |
|
|
|
using AutoMapper; |
|
|
|
using AutoMapper; |
|
|
|
|
|
|
|
using com.sun.corba.se.spi.orbutil.fsm; |
|
|
|
using com.sun.org.apache.bcel.@internal.generic; |
|
|
|
using com.sun.org.apache.bcel.@internal.generic; |
|
|
|
using com.sun.xml.@internal.ws.api.model; |
|
|
|
using com.sun.xml.@internal.ws.api.model; |
|
|
|
using Elight.Entity; |
|
|
|
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 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>() |
|
|
|
var list = await _db.Queryable<App_Sys_UserModel>() |
|
|
|
.WhereIF(!UserModel.name.IsNull(), q => q.name.Contains(UserModel.name)) |
|
|
|
.WhereIF(!UserModel.name.IsNull(), q => q.name.Contains(UserModel.name)) |
|
|
|
.WhereIF(!UserModel.phone.IsNull(), q => q.phone.Contains(UserModel.phone)) |
|
|
|
.WhereIF(!UserModel.phone.IsNull(), q => q.phone.Contains(UserModel.phone)) |
|
|
|
.WhereIF(!UserModel.duties.IsNull(), q => q.duties.Contains(UserModel.duties)) |
|
|
|
.WhereIF(!UserModel.duties.IsNull(), q => q.duties.Contains(UserModel.duties)) |
|
|
|
.WhereIF(!UserModel.cardId.IsNull(), q => q.cardId.Contains(UserModel.cardId)) |
|
|
|
.WhereIF(!UserModel.cardId.IsNull(), q => q.cardId.Contains(UserModel.cardId)) |
|
|
|
|
|
|
|
|
|
|
|
.Where(q => q.IsDeleted == 0 && q.phone != "admin" && q.usertype == 0) |
|
|
|
.Where(q => q.IsDeleted == 0 && q.phone != "admin" && q.usertype == 0) |
|
|
|
.ToPageListAsync(UserModel.PageIndex, UserModel.PageSize, totalNumber); |
|
|
|
.ToPageListAsync(UserModel.PageIndex, UserModel.PageSize, totalNumber); |
|
|
|
UserModel.RowsCount = totalNumber; |
|
|
|
UserModel.RowsCount = totalNumber; |
|
|
@ -332,7 +337,8 @@ namespace _24Hour.Controllers.system |
|
|
|
{ |
|
|
|
{ |
|
|
|
try |
|
|
|
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) |
|
|
|
if (model != null) |
|
|
|
{ |
|
|
|
{ |
|
|
|
model.wechatId = string.Empty; |
|
|
|
model.wechatId = string.Empty; |
|
|
@ -715,7 +721,7 @@ namespace _24Hour.Controllers.system |
|
|
|
userlist.ForEach(q => |
|
|
|
userlist.ForEach(q => |
|
|
|
{ |
|
|
|
{ |
|
|
|
//头像地址 |
|
|
|
//头像地址 |
|
|
|
q.cardIdphoto= photo; |
|
|
|
q.cardIdphoto = photo; |
|
|
|
}); |
|
|
|
}); |
|
|
|
var num = await _db.Updateable(userlist).ExecuteCommandAsync(); |
|
|
|
var num = await _db.Updateable(userlist).ExecuteCommandAsync(); |
|
|
|
_db.CommitTran(); |
|
|
|
_db.CommitTran(); |
|
|
@ -785,7 +791,7 @@ namespace _24Hour.Controllers.system |
|
|
|
[HttpPost] |
|
|
|
[HttpPost] |
|
|
|
[Route("QueryRole")] |
|
|
|
[Route("QueryRole")] |
|
|
|
public async Task<Result> QueryRole(App_Sys_RoleInput roledata) |
|
|
|
public async Task<Result> QueryRole(App_Sys_RoleInput roledata) |
|
|
|
{ |
|
|
|
{ |
|
|
|
RefAsync<int> totalNumber = 0;//总数据 |
|
|
|
RefAsync<int> totalNumber = 0;//总数据 |
|
|
|
var list = await _db.Queryable<App_Sys_RoleModel>() |
|
|
|
var list = await _db.Queryable<App_Sys_RoleModel>() |
|
|
|
.WhereIF(roledata.name.NotNull(), q => q.name.Contains(roledata.name)) |
|
|
|
.WhereIF(roledata.name.NotNull(), q => q.name.Contains(roledata.name)) |
|
|
@ -945,10 +951,10 @@ namespace _24Hour.Controllers.system |
|
|
|
await _db.Deleteable(list).ExecuteCommandAsync(); |
|
|
|
await _db.Deleteable(list).ExecuteCommandAsync(); |
|
|
|
var RoleMenulist = RoleMenudata.RoleMenuIds.Split(",").ToList(); |
|
|
|
var RoleMenulist = RoleMenudata.RoleMenuIds.Split(",").ToList(); |
|
|
|
var menulist = new List<App_Sys_RoleMenuModel>(); |
|
|
|
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() |
|
|
|
var App_Sys_RoleMenuModel = new App_Sys_RoleMenuModel() |
|
|
|
{ |
|
|
|
{ |
|
|
@ -1464,64 +1470,64 @@ namespace _24Hour.Controllers.system |
|
|
|
[HttpPost] |
|
|
|
[HttpPost] |
|
|
|
[Route("QueryMenuTree")] |
|
|
|
[Route("QueryMenuTree")] |
|
|
|
public async Task<Result> QueryMenuTree(App_Sys_MenuInput Menudata) |
|
|
|
public async Task<Result> QueryMenuTree(App_Sys_MenuInput Menudata) |
|
|
|
{ |
|
|
|
{ |
|
|
|
var roleids = new List<string?>(); |
|
|
|
var roleids = new List<string?>(); |
|
|
|
if (_userdata.phone != "admin") |
|
|
|
if (_userdata.phone != "admin") |
|
|
|
{ |
|
|
|
{ |
|
|
|
var userroleinfo = await _db.Queryable<App_Sys_RoleUserModel>().FirstAsync(x => x.roleuserId == _userdata.Id); |
|
|
|
var userroleinfo = await _db.Queryable<App_Sys_RoleUserModel>().FirstAsync(x => x.roleuserId == _userdata.Id); |
|
|
|
roleids = await _db.Queryable<App_Sys_RoleMenuModel>() |
|
|
|
roleids = await _db.Queryable<App_Sys_RoleMenuModel>() |
|
|
|
.WhereIF(!userroleinfo.roleId.IsNull(), q => q.roleId == userroleinfo.roleId) |
|
|
|
.WhereIF(!userroleinfo.roleId.IsNull(), q => q.roleId == userroleinfo.roleId) |
|
|
|
.Where(q => q.IsDelete == 0).Select(x => x.menuId).ToListAsync(); |
|
|
|
.Where(q => q.IsDelete == 0).Select(x => x.menuId).ToListAsync(); |
|
|
|
} |
|
|
|
} |
|
|
|
var treelist = await _db.Queryable<App_Sys_MenuTree>() |
|
|
|
var treelist = await _db.Queryable<App_Sys_MenuTree>() |
|
|
|
.WhereIF(!Menudata.name.IsNull(), q => q.name.Contains(Menudata.name)) |
|
|
|
.WhereIF(!Menudata.name.IsNull(), q => q.name.Contains(Menudata.name)) |
|
|
|
.WhereIF(!Menudata.title.IsNull(), q => q.title.Contains(Menudata.title)) |
|
|
|
.WhereIF(!Menudata.title.IsNull(), q => q.title.Contains(Menudata.title)) |
|
|
|
.Where(q => q.IsDelete == 0) |
|
|
|
.Where(q => q.IsDelete == 0) |
|
|
|
.OrderBy(q => q.sortnum, OrderByType.Asc) |
|
|
|
.OrderBy(q => q.sortnum, OrderByType.Asc) |
|
|
|
.ToTreeAsync(it => it.children, it => it.pid, null); |
|
|
|
.ToTreeAsync(it => it.children, it => it.pid, null); |
|
|
|
if (_userdata.phone != "admin") |
|
|
|
if (_userdata.phone != "admin") |
|
|
|
{ |
|
|
|
{ |
|
|
|
foreach (var item in treelist) |
|
|
|
foreach (var item in treelist) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (roleids.Contains(item.Id)) |
|
|
|
if (roleids.Contains(item.Id)) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (item.children != null) |
|
|
|
if (item.children != null) |
|
|
|
{ |
|
|
|
{ |
|
|
|
item.children = item.children.Where(x => roleids.Contains(x.Id)).ToList(); |
|
|
|
item.children = item.children.Where(x => roleids.Contains(x.Id)).ToList(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
else |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (item.children == null) |
|
|
|
if (item.children == null) |
|
|
|
{ |
|
|
|
{ |
|
|
|
item.IsDelete = -1; |
|
|
|
item.IsDelete = -1; |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
else |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (item.children.Any(x => roleids.Contains(x.Id))) |
|
|
|
if (item.children.Any(x => roleids.Contains(x.Id))) |
|
|
|
{ |
|
|
|
{ |
|
|
|
item.children = item.children.Where(x => roleids.Contains(x.Id)).ToList(); |
|
|
|
item.children = item.children.Where(x => roleids.Contains(x.Id)).ToList(); |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
else |
|
|
|
{ |
|
|
|
{ |
|
|
|
item.IsDelete = -1; |
|
|
|
item.IsDelete = -1; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
treelist = treelist.Where(x => x.IsDelete != -1).ToList(); |
|
|
|
treelist = treelist.Where(x => x.IsDelete != -1).ToList(); |
|
|
|
|
|
|
|
|
|
|
|
result.IsSucceed = true; |
|
|
|
result.IsSucceed = true; |
|
|
|
result.result = treelist; |
|
|
|
result.result = treelist; |
|
|
|
return result; |
|
|
|
return result; |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
else |
|
|
|
{ |
|
|
|
{ |
|
|
|
result.IsSucceed = true; |
|
|
|
result.IsSucceed = true; |
|
|
|
result.result = treelist; |
|
|
|
result.result = treelist; |
|
|
|
return result; |
|
|
|
return result; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
/// <summary> |
|
|
|
/// <summary> |
|
|
|
/// 菜单分页查询 |
|
|
|
/// 菜单分页查询 |
|
|
@ -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 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 () => |
|
|
|
.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(); |
|
|
|
if (_userdata.phone == "admin") |
|
|
|
} |
|
|
|
{ |
|
|
|
//通过分组父级菜单 |
|
|
|
return await _db.Queryable<App_Sys_MenuModel>() |
|
|
|
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(); |
|
|
|
.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(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//通过分组父级菜单 |
|
|
|
|
|
|
|
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) |
|
|
|
if (datalist.Count > 0) |
|
|
|
{ |
|
|
|
{ |
|
|
|
pidlist.OrderBy(q => q.sortnum).ToList().ForEach(item => |
|
|
|
pidlist.OrderBy(q => q.sortnum).ToList().ForEach(item => |
|
|
@ -1694,6 +1713,7 @@ namespace _24Hour.Controllers.system |
|
|
|
{ |
|
|
|
{ |
|
|
|
childrenlist.Add(new |
|
|
|
childrenlist.Add(new |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
path = it.path, |
|
|
|
path = it.path, |
|
|
|
name = it.name, |
|
|
|
name = it.name, |
|
|
|
component = it.component, |
|
|
|
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); |
|
|
|
var fjdata = datalist.Where(q => string.IsNullOrEmpty(q.pid)).FirstOrDefault()?.dalist.FirstOrDefault(q => q.Id == item.Id); |
|
|
|
if (childrenlist.Count > 0 || fjdata != null) |
|
|
|
if (childrenlist.Count > 0 || fjdata != null) |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
//添加父级菜单 |
|
|
|
//添加父级菜单 |
|
|
|
list.Add(new |
|
|
|
list.Add(new |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
path = item.path, |
|
|
|
path = item.path, |
|
|
|
name = item.name, |
|
|
|
name = item.name, |
|
|
|
component = item.component, |
|
|
|
component = item.component, |
|
|
|