update 区域增加树结构显示

This commit is contained in:
2021-05-21 17:45:50 +08:00
parent c8530039eb
commit 179843f98e
7 changed files with 130 additions and 74 deletions

View File

@@ -71,12 +71,13 @@ namespace Ewide.Core.Service.Area
/// 获取区域目录树
/// </summary>
/// <returns></returns>
public async Task<List<AreaTreeNode>> GetAreaCodeTree()
public async Task<List<AreaTreeNode>> GetAreaCodeTree(int? level)
{
level = level.GetValueOrDefault(100);
var cachedAreaCodes = await _sysCacheService.GetAreaCode();
if (cachedAreaCodes == null || cachedAreaCodes.Count < 0)
{
cachedAreaCodes = await _areaCodeRep.DetachedEntities.ToListAsync();
cachedAreaCodes = await _areaCodeRep.DetachedEntities.Where(p => p.LevelType <= level).ToListAsync();
await _sysCacheService.SetAreaCode(cachedAreaCodes);
}
return new TreeBuildUtil<AreaTreeNode>().DoTreeBuild(cachedAreaCodes.Select(u => new AreaTreeNode
@@ -99,9 +100,10 @@ namespace Ewide.Core.Service.Area
{
var AreaCodes = await _areaCodeRep.DetachedEntities
.Where(input.LevelType.HasValue, a => a.LevelType == input.LevelType)
.Where(!string.IsNullOrEmpty(input.Code), a => a.Code.StartsWith(input.Code))
.Where(!string.IsNullOrEmpty(input.AdCode), a => a.AdCode.StartsWith(input.AdCode))
.Where(!string.IsNullOrEmpty(input.Name), a => a.Name.StartsWith(input.Name))
.Where(!string.IsNullOrEmpty(input.Code), a => a.Code.Contains(input.Code))
.Where(!string.IsNullOrEmpty(input.AdCode), a => a.AdCode.Contains(input.AdCode))
.Where(!string.IsNullOrEmpty(input.Name), a => a.Name.Contains(input.Name))
.Where(!string.IsNullOrEmpty(input.Pcode), a => a.Code.StartsWith(input.Pcode))
.ToPageData(input);
return XnPageResult<SysAreaCode>.PageResult(AreaCodes);
}

View File

@@ -15,6 +15,7 @@ namespace Ewide.Core.Service.Area.Dto
public int? LevelType { get; set; }
public string Note { get; set; }
public int Sort { get; set; }
public string Pcode { get; set; }
}
public class UpdateAreaCodeInput
{

View File

@@ -16,7 +16,7 @@ namespace Ewide.Core.Service.Area
Task<SysAreaCode> GetAreaCode(string code);
Task<List<SysAreaCode>> GetAreaCodeWithChildren(string code);
Task<List<AreaTreeNode>> GetAreaCodeTree();
Task<List<AreaTreeNode>> GetAreaCodeTree(int? level);
Task<dynamic> QueryAreaCodePageList([FromQuery] AreaCodeInput input);
}