用户部门查询

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>
</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>
<param name="user"></param>
<param name="page"></param>
<param name="deptId"></param>
<returns></returns>
</member>
<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>
/// <param name="user"></param>
/// <param name="page"></param>
/// <param name="deptId"></param>
/// <returns></returns>
[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>

View File

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

View File

@@ -118,7 +118,7 @@ namespace Yi.Framework.Service
List<UserPostEntity> userPostEntities = new();
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)
{
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)
@@ -160,7 +160,7 @@ namespace Yi.Framework.Service
if (!string.IsNullOrEmpty(menu.PermissionCode))
{
userRoleMenu.PermissionCodes.Add(menu.PermissionCode);
}
userRoleMenu.Menus.Add(menu);
@@ -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);
}
@@ -217,7 +225,7 @@ namespace Yi.Framework.Service
var res1 = await _repository.UpdateIgnoreNullAsync(userDto.User);
var res2 = await GiveUserSetRole(new List<long> { userDto.User.Id }, userDto.RoleIds);
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)
@@ -226,7 +234,7 @@ namespace Yi.Framework.Service
var res1 = await _repository.InsertReturnSnowflakeIdAsync(userDto.User);
var res2 = await GiveUserSetRole(new List<long> { res1 }, userDto.RoleIds);
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)

View File

@@ -165,8 +165,10 @@
</el-col>
<el-col :span="12">
<el-form-item label="状态">
{{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-group>
</el-form-item>
@@ -353,7 +355,6 @@ function handleQuery() {
};
/** 重置按钮操作 */
function resetQuery() {
dateRange.value = [];
proxy.resetForm("queryRef");
handleQuery();
};