update 字典结构更改. 扩展值可编辑为json

This commit is contained in:
2021-05-20 20:39:46 +08:00
parent e7fea323bd
commit ad08df1150
25 changed files with 1033 additions and 144 deletions

View File

@@ -3989,6 +3989,36 @@
子节点集合
</summary>
</member>
<member name="P:Ewide.Core.Service.DictTreeNode.Id">
<summary>
Id
</summary>
</member>
<member name="P:Ewide.Core.Service.DictTreeNode.ParentId">
<summary>
父Id
</summary>
</member>
<member name="P:Ewide.Core.Service.DictTreeNode.Title">
<summary>
名称
</summary>
</member>
<member name="P:Ewide.Core.Service.DictTreeNode.Value">
<summary>
</summary>
</member>
<member name="P:Ewide.Core.Service.DictTreeNode.Weight">
<summary>
排序,越小优先级越高
</summary>
</member>
<member name="P:Ewide.Core.Service.DictTreeNode.Children">
<summary>
子节点
</summary>
</member>
<member name="T:Ewide.Core.Service.DictTypeInput">
<summary>
字典类型参数
@@ -4086,11 +4116,11 @@
<param name="input"></param>
<returns></returns>
</member>
<member name="M:Ewide.Core.Service.SysDictDataService.DeleteDictDataBatch(System.Collections.Generic.List{System.String})">
<member name="M:Ewide.Core.Service.SysDictDataService.DeleteDictDataBatch(System.String[])">
<summary>
删除字典值 id数组传入
</summary>
<param name="idList"></param>
<param name="ids"></param>
<returns></returns>
</member>
<member name="M:Ewide.Core.Service.SysDictDataService.UpdateDictData(Ewide.Core.Service.UpdateDictDataInput)">

View File

@@ -57,4 +57,52 @@ namespace Ewide.Core.Service
Children = (List<DictTreeOutput>)children;
}
}
public class DictTreeNode : ITreeNode
{
/// <summary>
/// Id
/// </summary>
public string Id { get; set; }
/// <summary>
/// 父Id
/// </summary>
public string ParentId { get; set; }
/// <summary>
/// 名称
/// </summary>
public string Title { get; set; }
/// <summary>
/// 值
/// </summary>
public string Value { get; set; }
/// <summary>
/// 排序,越小优先级越高
/// </summary>
public int Weight { get; set; }
/// <summary>
/// 子节点
/// </summary>
public List<DictTreeNode> Children { get; set; } = new List<DictTreeNode>();
public string GetId()
{
return Id;
}
public string GetPid()
{
return ParentId;
}
public void SetChildren(IList children)
{
Children = (List<DictTreeNode>)children;
}
}
}

View File

@@ -7,6 +7,7 @@ namespace Ewide.Core.Service
/// </summary>
public class DictTypeInput : PageInputBase
{
public string Pid { get; set; }
/// <summary>
/// 名称
/// </summary>
@@ -17,6 +18,8 @@ namespace Ewide.Core.Service
/// </summary>
public virtual string Code { get; set; }
public int Type { get; set; }
/// <summary>
/// 排序
/// </summary>

View File

@@ -14,6 +14,7 @@ namespace Ewide.Core.Service
Task<dynamic> GetDictDataListByDictTypeId(string dictTypeId);
Task<dynamic> GetDictDataListByDictTypeIds(SysDictType[] dictTypes);
Task<dynamic> QueryDictDataPageList([FromQuery] DictDataInput input);
Task DeleteDictDataBatch(string[] Ids);
Task UpdateDictData(UpdateDictDataInput input);
}
}

View File

@@ -9,7 +9,7 @@ namespace Ewide.Core.Service
Task AddDictType(AddDictTypeInput input);
Task ChangeDictTypeStatus(UpdateDictTypeInput input);
Task DeleteDictType(DeleteDictTypeInput input);
Task<List<DictTreeOutput>> GetDictTree();
Task<List<DictTreeNode>> GetDictTree();
Task<dynamic> GetDictType([FromQuery] QueryDictTypeInfoInput input);
Task<dynamic> GetDictTypeDropDown([FromQuery] DropDownDictTypeInput input);
Task<dynamic> GetDictTypeDropDowns([FromQuery] DropDownDictTypesInput input);

View File

@@ -95,12 +95,12 @@ namespace Ewide.Core.Service
/// <summary>
/// 删除字典值 id数组传入
/// </summary>
/// <param name="idList"></param>
/// <param name="ids"></param>
/// <returns></returns>
[HttpPost("/sysDictData/deleteBatch")]
public async Task DeleteDictDataBatch(List<string> idList)
public async Task DeleteDictDataBatch([FromBody] string[] ids)
{
var dictDataList = await _sysDictDataRep.Where(s => idList.Contains(s.Id)).ToListAsync();
var dictDataList = await _sysDictDataRep.Where(s => ids.Contains(s.Id)).ToListAsync();
if (dictDataList.Count == 0) throw Oops.Oh(ErrorCode.D3004);
dictDataList.ForEach(s =>
{

View File

@@ -40,9 +40,13 @@ namespace Ewide.Core.Service
{
var code = !string.IsNullOrEmpty(input.Code?.Trim());
var name = !string.IsNullOrEmpty(input.Name?.Trim());
var pId = !string.IsNullOrEmpty(input.Pid?.Trim());
var type = input.Type > 0;
var dictTypes = await _sysDictTypeRep.DetachedEntities
.Where(pId, u => EF.Functions.Like(u.Pids, $"%[{input.Pid.Trim()}]%") || u.Id == input.Pid.Trim())
.Where((code, u => EF.Functions.Like(u.Code, $"%{input.Code.Trim()}%")),
(name, u => EF.Functions.Like(u.Name, $"%{input.Name.Trim()}%")))
.Where(type, u => input.Type == 1 ? string.IsNullOrEmpty(u.Code) : !string.IsNullOrEmpty(u.Code))
.Where(u => u.Status != CommonStatus.DELETED).OrderBy(u => u.Sort)
//.ToPagedListAsync(input.PageNo, input.PageSize);
.ToPageData(input);
@@ -176,18 +180,18 @@ namespace Ewide.Core.Service
/// <returns></returns>
[AllowAnonymous]
[HttpGet("/sysDictType/tree")]
public async Task<List<DictTreeOutput>> GetDictTree()
public async Task<List<DictTreeNode>> GetDictTree()
{
var DictTypeList = await _sysDictTypeRep.AsQueryable().ToListAsync();
return new TreeBuildUtil<DictTreeOutput>().DoTreeBuild(DictTypeList.Select(u => new DictTreeOutput
{
Name=u.Name,
Code = u.Code,
Pid=u.Pid,
Id=u.Id,
Remark=u.Remark,
Sort =u.Sort
}).OrderBy(s => s.Sort).ToList());
var DictTypeList = await _sysDictTypeRep.AsQueryable().Where(p => string.IsNullOrEmpty(p.Code)).ToListAsync();
return new TreeBuildUtil<DictTreeNode>().DoTreeBuild(DictTypeList
.OrderBy(s => s.Sort)
.Select(u => new DictTreeNode
{
Title = u.Name,
ParentId = u.Pid,
Id = u.Id,
Value = u.Id
}).ToList());
}
/// <summary>
/// 创建Pids格式