diff --git a/Api/Ewide.Core/Ewide.Core.xml b/Api/Ewide.Core/Ewide.Core.xml index 30f8f5c..f66618b 100644 --- a/Api/Ewide.Core/Ewide.Core.xml +++ b/Api/Ewide.Core/Ewide.Core.xml @@ -4014,6 +4014,11 @@ 编码 + + + 编码 + + 字典值服务 @@ -4104,6 +4109,13 @@ + + + + + + + 添加字典类型 diff --git a/Api/Ewide.Core/Service/Dict/Dto/DictTypeInput.cs b/Api/Ewide.Core/Service/Dict/Dto/DictTypeInput.cs index 4ac3bc7..40e6366 100644 --- a/Api/Ewide.Core/Service/Dict/Dto/DictTypeInput.cs +++ b/Api/Ewide.Core/Service/Dict/Dto/DictTypeInput.cs @@ -75,6 +75,15 @@ namespace Ewide.Core.Service public string Code { get; set; } } + public class DropDownDictTypesInput + { + /// + /// 编码 + /// + [Required(ErrorMessage = "字典类型编码不能为空")] + public string[] Code { get; set; } + } + public class QueryDictTypeInfoInput : DeleteDictTypeInput { diff --git a/Api/Ewide.Core/Service/Dict/ISysDictDataService.cs b/Api/Ewide.Core/Service/Dict/ISysDictDataService.cs index d9ee8ca..b89fb9d 100644 --- a/Api/Ewide.Core/Service/Dict/ISysDictDataService.cs +++ b/Api/Ewide.Core/Service/Dict/ISysDictDataService.cs @@ -12,6 +12,7 @@ namespace Ewide.Core.Service Task GetDictData([FromQuery] QueryDictDataInput input); Task GetDictDataList([FromQuery] QueryDictDataListInput input); Task GetDictDataListByDictTypeId(string dictTypeId); + Task GetDictDataListByDictTypeIds(SysDictType[] dictTypes); Task QueryDictDataPageList([FromQuery] DictDataInput input); Task UpdateDictData(UpdateDictDataInput input); } diff --git a/Api/Ewide.Core/Service/Dict/ISysDictTypeService.cs b/Api/Ewide.Core/Service/Dict/ISysDictTypeService.cs index 024830c..e0df868 100644 --- a/Api/Ewide.Core/Service/Dict/ISysDictTypeService.cs +++ b/Api/Ewide.Core/Service/Dict/ISysDictTypeService.cs @@ -12,6 +12,7 @@ namespace Ewide.Core.Service Task> GetDictTree(); Task GetDictType([FromQuery] QueryDictTypeInfoInput input); Task GetDictTypeDropDown([FromQuery] DropDownDictTypeInput input); + Task GetDictTypeDropDowns([FromQuery] DropDownDictTypesInput input); Task GetDictTypeList(); Task QueryDictTypePageList([FromQuery] DictTypeInput input); Task UpdateDictType(UpdateDictTypeInput input); diff --git a/Api/Ewide.Core/Service/Dict/SysDictDataService.cs b/Api/Ewide.Core/Service/Dict/SysDictDataService.cs index aec83b6..6e9859d 100644 --- a/Api/Ewide.Core/Service/Dict/SysDictDataService.cs +++ b/Api/Ewide.Core/Service/Dict/SysDictDataService.cs @@ -10,6 +10,7 @@ using Microsoft.EntityFrameworkCore; using System; using System.Linq; using System.Threading.Tasks; +using System.Collections.Generic; namespace Ewide.Core.Service { @@ -150,6 +151,27 @@ namespace Ewide.Core.Service }).ToListAsync(); } + [NonAction] + public async Task GetDictDataListByDictTypeIds(SysDictType[] dictTypes) + { + var dictTypeIds = dictTypes.Select(u => u.Id); + var dictData = await _sysDictDataRep.DetachedEntities.Where(u => dictTypeIds.Contains(u.SysDictType.Id)) + .Where(u => u.Status != CommonStatus.DELETED).OrderBy(u => u.Sort) + .ToListAsync(); + var result = new Dictionary(); + foreach (var dictType in dictTypes) + { + result.Add(dictType.Code, dictData.Where(u => u.TypeId == dictType.Id) + .Select(u => new + { + u.Code, + u.Value, + u.Remark + })); + } + return result; + } + /// /// 删除字典下所有值 /// diff --git a/Api/Ewide.Core/Service/Dict/SysDictTypeService.cs b/Api/Ewide.Core/Service/Dict/SysDictTypeService.cs index c9074bc..c40da1c 100644 --- a/Api/Ewide.Core/Service/Dict/SysDictTypeService.cs +++ b/Api/Ewide.Core/Service/Dict/SysDictTypeService.cs @@ -64,7 +64,6 @@ namespace Ewide.Core.Service /// /// /// - [AllowAnonymous] [HttpGet("/sysDictType/dropDown")] public async Task GetDictTypeDropDown([FromQuery] DropDownDictTypeInput input) { @@ -73,6 +72,19 @@ namespace Ewide.Core.Service return await _sysDictDataService.GetDictDataListByDictTypeId(dictType.Id); } + /// + /// + /// + /// + /// + [HttpGet("/sysDictType/dropDowns")] + public async Task GetDictTypeDropDowns([FromQuery] DropDownDictTypesInput input) + { + var dictTypes = await _sysDictTypeRep.Where(u => input.Code.Contains(u.Code), false).ToArrayAsync(); + if (dictTypes.Length == 0) throw Oops.Oh(ErrorCode.D3000); + return await _sysDictDataService.GetDictDataListByDictTypeIds(dictTypes); + } + /// /// 添加字典类型 /// diff --git a/Api/Ewide.Core/applicationconfig.json b/Api/Ewide.Core/applicationconfig.json index 7b21268..b4c45c0 100644 --- a/Api/Ewide.Core/applicationconfig.json +++ b/Api/Ewide.Core/applicationconfig.json @@ -71,5 +71,19 @@ "maxSize": 1048576, "contentType": [ "image/jpg", "image/png", "image/jpeg", "image/gif", "image/bmp", "text/plain", "application/pdf", "application/msword", "application/vnd.ms-excel", "application/vnd.openxmlformats-officedocument.presentationml.presentation" ] } + }, + + "CoreSettings": { + "DefalutRoute": [ + "getLoginUser", + "logout", + "sysDictType:dropDown", + "sysFileInfo:upload", + "sysFileInfo:download", + "sysFileInfo:preview", + "sysUser:updateInfo", + "sysUser:updatePwd", + "sysUser:updateAvatar" + ] } } \ No newline at end of file diff --git a/Api/Ewide.Web.Core/Ewide.Web.Core.csproj b/Api/Ewide.Web.Core/Ewide.Web.Core.csproj index 0e1feae..979345d 100644 --- a/Api/Ewide.Web.Core/Ewide.Web.Core.csproj +++ b/Api/Ewide.Web.Core/Ewide.Web.Core.csproj @@ -20,10 +20,4 @@ - - - Always - - - diff --git a/Api/Ewide.Web.Core/core.settings.json b/Api/Ewide.Web.Core/core.settings.json deleted file mode 100644 index d6ee02a..0000000 --- a/Api/Ewide.Web.Core/core.settings.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "CoreSettings": { - "DefalutRoute": [ - "getLoginUser", - "logout", - "sysFileInfo:upload", - "sysFileInfo:download", - "sysFileInfo:preview", - "sysUser:updateInfo", - "sysUser:updatePwd", - "sysUser:updateAvatar" - ] - } -} \ No newline at end of file