用户部门查询

This commit is contained in:
陈淳
2022-09-13 19:39:16 +08:00
parent e78e9d8e55
commit 011d9d639b
6 changed files with 35 additions and 24 deletions

View File

@@ -394,12 +394,13 @@
用户管理 用户管理
</summary> </summary>
</member> </member>
<member name="M:Yi.Framework.ApiMicroservice.Controllers.UserController.PageList(Yi.Framework.Model.Models.UserEntity,Yi.Framework.Common.Models.PageParModel)"> <member name="M:Yi.Framework.ApiMicroservice.Controllers.UserController.PageList(Yi.Framework.Model.Models.UserEntity,Yi.Framework.Common.Models.PageParModel,System.Nullable{System.Int64})">
<summary> <summary>
动态条件分页查询 动态条件分页查询
</summary> </summary>
<param name="user"></param> <param name="user"></param>
<param name="page"></param> <param name="page"></param>
<param name="deptId"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Yi.Framework.ApiMicroservice.Controllers.UserController.UpdateStatus(System.Int64,System.Boolean)"> <member name="M:Yi.Framework.ApiMicroservice.Controllers.UserController.UpdateStatus(System.Int64,System.Boolean)">

View File

@@ -34,11 +34,12 @@ namespace Yi.Framework.ApiMicroservice.Controllers
/// </summary> /// </summary>
/// <param name="user"></param> /// <param name="user"></param>
/// <param name="page"></param> /// <param name="page"></param>
/// <param name="deptId"></param>
/// <returns></returns> /// <returns></returns>
[HttpGet] [HttpGet]
public async Task<Result> PageList([FromQuery] UserEntity user, [FromQuery] PageParModel page) public async Task<Result> PageList([FromQuery] UserEntity user, [FromQuery] PageParModel page,[FromQuery] long? deptId)
{ {
return Result.Success().SetData(await _iUserService.SelctPageList(user, page)); return Result.Success().SetData(await _iUserService.SelctPageList(user, page, deptId));
} }
/// <summary> /// <summary>

View File

@@ -76,7 +76,7 @@ namespace Yi.Framework.Interface
/// <param name="user"></param> /// <param name="user"></param>
/// <param name="page"></param> /// <param name="page"></param>
/// <returns></returns> /// <returns></returns>
Task<PageModel<List<UserEntity>>> SelctPageList(UserEntity user, PageParModel page); Task<PageModel<List<UserEntity>>> SelctPageList(UserEntity user, PageParModel page,long ? deptId);
/// <summary> /// <summary>

View File

@@ -118,7 +118,7 @@ namespace Yi.Framework.Service
List<UserPostEntity> userPostEntities = new(); List<UserPostEntity> userPostEntities = new();
foreach (var post in postIds) foreach (var post in postIds)
{ {
userPostEntities.Add(new UserPostEntity() { UserId = userId,PostId = post }); userPostEntities.Add(new UserPostEntity() { UserId = userId, PostId = post });
} }
//一次性批量添加 //一次性批量添加
@@ -131,7 +131,7 @@ namespace Yi.Framework.Service
public async Task<UserEntity> GetInfoById(long userId) public async Task<UserEntity> GetInfoById(long userId)
{ {
return await _repository._DbQueryable.Includes(u => u.Roles).Includes(u=>u.Posts).Includes(u=>u.Dept).InSingleAsync(userId); return await _repository._DbQueryable.Includes(u => u.Roles).Includes(u => u.Posts).Includes(u => u.Dept).InSingleAsync(userId);
} }
public async Task<UserRoleMenuDto> GetUserAllInfo(long userId) public async Task<UserRoleMenuDto> GetUserAllInfo(long userId)
@@ -184,21 +184,29 @@ namespace Yi.Framework.Service
public async Task<PageModel<List<UserEntity>>> SelctPageList(UserEntity user, PageParModel page) public async Task<PageModel<List<UserEntity>>> SelctPageList(UserEntity user, PageParModel page, long? deptId)
{ {
RefAsync<int> total = 0;
var data = await _repository._DbQueryable
.WhereIF(!string.IsNullOrEmpty(user.UserName), u => u.UserName.Contains(user.UserName))
.WhereIF(!string.IsNullOrEmpty(user.Name), u => u.Name.Contains(user.Name))
.WhereIF(!string.IsNullOrEmpty(user.Phone), u => u.Phone.Contains(user.Phone))
.WhereIF(page.StartTime.IsNotNull() && page.EndTime.IsNotNull(), u => u.CreateTime >= page.StartTime && u.CreateTime <= page.EndTime)
.WhereIF(user.IsDeleted.IsNotNull(),u => u.IsDeleted == user.IsDeleted)
.Includes(u => u.Roles)
.Includes(u=>u.Posts)
.Includes(u=>u.Dept)
.OrderBy(u => u.OrderNum, OrderByType.Desc)
.ToPageListAsync(page.PageNum, page.PageSize, total);
RefAsync<int> total = 0;
List<UserEntity> data = null;
var query = _repository._DbQueryable
.WhereIF(!string.IsNullOrEmpty(user.UserName), u => u.UserName.Contains(user.UserName))
.WhereIF(!string.IsNullOrEmpty(user.Name), u => u.Name.Contains(user.Name))
.WhereIF(!string.IsNullOrEmpty(user.Phone), u => u.Phone.Contains(user.Phone))
.WhereIF(page.StartTime.IsNotNull() && page.EndTime.IsNotNull(), u => u.CreateTime >= page.StartTime && u.CreateTime <= page.EndTime)
.WhereIF(user.IsDeleted.IsNotNull(), u => u.IsDeleted == user.IsDeleted)
.Includes(u => u.Roles)
.Includes(u => u.Posts)
.Includes(u => u.Dept);
if (deptId is not null)
{
//如果deptId不为空部门id以下及自己都可以
List<long> deptIds = (await _repository._Db.Queryable<DeptEntity>().ToChildListAsync(it => it.ParentId, deptId)).Select(d => d.Id).ToList();
query = query.Where(u => u.DeptId!=null&& deptIds.Contains((long)u.DeptId));
}
data = await query.OrderBy(u => u.OrderNum, OrderByType.Desc)
.ToPageListAsync(page.PageNum, page.PageSize, total);
return new PageModel<List<UserEntity>>(data, total); return new PageModel<List<UserEntity>>(data, total);
} }
@@ -217,7 +225,7 @@ namespace Yi.Framework.Service
var res1 = await _repository.UpdateIgnoreNullAsync(userDto.User); var res1 = await _repository.UpdateIgnoreNullAsync(userDto.User);
var res2 = await GiveUserSetRole(new List<long> { userDto.User.Id }, userDto.RoleIds); var res2 = await GiveUserSetRole(new List<long> { userDto.User.Id }, userDto.RoleIds);
var res3 = await GiveUserSetPost(new List<long> { userDto.User.Id }, userDto.PostIds); var res3 = await GiveUserSetPost(new List<long> { userDto.User.Id }, userDto.PostIds);
return res1 && res2&& res3; return res1 && res2 && res3;
} }
public async Task<bool> AddInfo(UserInfoDto userDto) public async Task<bool> AddInfo(UserInfoDto userDto)
@@ -226,7 +234,7 @@ namespace Yi.Framework.Service
var res1 = await _repository.InsertReturnSnowflakeIdAsync(userDto.User); var res1 = await _repository.InsertReturnSnowflakeIdAsync(userDto.User);
var res2 = await GiveUserSetRole(new List<long> { res1 }, userDto.RoleIds); var res2 = await GiveUserSetRole(new List<long> { res1 }, userDto.RoleIds);
var res3 = await GiveUserSetPost(new List<long> { res1 }, userDto.PostIds); var res3 = await GiveUserSetPost(new List<long> { res1 }, userDto.PostIds);
return !0.Equals(res1) && res2&& res3; return !0.Equals(res1) && res2 && res3;
} }
public async Task<bool> RestPassword(long userId, string password) public async Task<bool> RestPassword(long userId, string password)

View File

@@ -165,8 +165,10 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="状态"> <el-form-item label="状态">
{{form.user.isDeleted}}
<el-radio-group v-model="form.user.isDeleted"> <el-radio-group v-model="form.user.isDeleted">
<el-radio v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.value">{{ dict.label
<el-radio v-for="dict in sys_normal_disable" :key="dict.value" :label="dict.value">{{dict.value+ dict.label
}}</el-radio> }}</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
@@ -353,7 +355,6 @@ function handleQuery() {
}; };
/** 重置按钮操作 */ /** 重置按钮操作 */
function resetQuery() { function resetQuery() {
dateRange.value = [];
proxy.resetForm("queryRef"); proxy.resetForm("queryRef");
handleQuery(); handleQuery();
}; };