diff --git a/backend/Admin.NET.Core/Entity/SysCodeGenConfig.cs b/backend/Admin.NET.Core/Entity/SysCodeGenConfig.cs index c72c7818f7afb20e174e9a9b384f9d4de41efe03..aaa6f2b808ccaa63dca4dca067460c54dabb169e 100644 --- a/backend/Admin.NET.Core/Entity/SysCodeGenConfig.cs +++ b/backend/Admin.NET.Core/Entity/SysCodeGenConfig.cs @@ -4,141 +4,102 @@ using System.ComponentModel.DataAnnotations.Schema; namespace Admin.NET.Core { - /// - /// 代码生成字段配置表 - /// + /// 代码生成字段配置表 [Table("sys_code_gen_config")] [Comment("代码生成字段配置表")] public class SysCodeGenConfig : DEntityBase { - /// - /// 代码生成主表ID - /// + /// 代码生成主表ID [Comment("代码生成主表ID")] public long CodeGenId { get; set; } - /// - /// 数据库字段名 - /// + /// 数据库字段名 [Comment("数据库字段名")] [Required, MaxLength(100)] public string ColumnName { get; set; } - /// - /// 字段描述 - /// + /// 字段描述 [Comment("字段描述")] [MaxLength(100)] public string ColumnComment { get; set; } - /// - /// .NET数据类型 - /// + /// .NET数据类型 [Comment(".NET数据类型")] [MaxLength(50)] public string NetType { get; set; } - /// - /// 作用类型(字典) - /// + /// 作用类型(字典) [Comment("作用类型")] [MaxLength(50)] public string EffectType { get; set; } - /// - /// 外键实体名称 - /// + /// 外键实体名称 [Comment("外键实体名称")] [MaxLength(50)] public string FkEntityName { get; set; } - /// - /// 外键显示字段 - /// + /// 外键显示字段 [Comment("外键显示字段")] [MaxLength(50)] public string FkColumnName { get; set; } - /// - /// 外键显示字段.NET类型 - /// + /// 外键显示字段.NET类型 [Comment("外键显示字段.NET类型")] [MaxLength(50)] public string FkColumnNetType { get; set; } - /// - /// 字典code - /// + /// 字典code [Comment("字典Code")] [MaxLength(50)] public string DictTypeCode { get; set; } - /// - /// 列表是否缩进(字典) - /// + /// 列表是否缩进(字典) [Comment("列表是否缩进")] [MaxLength(5)] public string WhetherRetract { get; set; } - /// - /// 是否必填(字典) - /// + /// 是否必填(字典) [Comment("是否必填")] [MaxLength(5)] public string WhetherRequired { get; set; } - /// - /// 是否是查询条件 - /// + /// 是否是查询条件 [Comment("是否是查询条件")] [MaxLength(5)] public string QueryWhether { get; set; } - /// - /// 查询方式 - /// + /// 查询方式 [Comment("查询方式")] [MaxLength(10)] public string QueryType { get; set; } - /// - /// 列表显示 - /// + /// 列表显示 [Comment("列表显示")] [MaxLength(5)] public string WhetherTable { get; set; } - /// - /// 列表是否排序 - /// + + /// 列表是否排序 [Comment("列表是否排序")] [MaxLength(5)] public string WhetherOrderBy { get; set; } - /// - /// 增改 - /// + /// 增改 [Comment("增改")] [MaxLength(5)] public string WhetherAddUpdate { get; set; } - /// - /// 主键 - /// + /// 主键 [Comment("主键")] [MaxLength(5)] public string ColumnKey { get; set; } - /// - /// 数据库中类型(物理类型) - /// + /// 数据库中类型(物理类型) [Comment("数据库中类型")] [MaxLength(50)] public string DataType { get; set; } - /// - /// 是否通用字段 - /// + /// 是否通用字段 [Comment("是否通用字段")] [MaxLength(5)] public string WhetherCommon { get; set; } diff --git a/backend/Admin.NET.Core/Extension/PageInputOrder.cs b/backend/Admin.NET.Core/Extension/PageInputOrder.cs index e6c7be5f7a672bb3a82693441a75dccc2341c176..c0b8a91953118f2b17f8b8aa059e8fb5a3f27ed8 100644 --- a/backend/Admin.NET.Core/Extension/PageInputOrder.cs +++ b/backend/Admin.NET.Core/Extension/PageInputOrder.cs @@ -4,30 +4,26 @@ using MapsterMapper; namespace Admin.NET.Core { - /// - /// 列表通用排序 - /// + /// 通用输入帮助类 public class PageInputOrder { - /// - /// 排序方式(默认降序) - /// + /// 排序方式(默认降序) /// /// 默认排序字段 /// 是否降序 /// public static string OrderBuilder(T pageInput, string defualtSortField = "Id", bool descSort = true) { - string orderStr; + string orderStr = ""; // 约定默认每张表都有Id排序 if (!string.IsNullOrWhiteSpace(defualtSortField)) orderStr = descSort ? defualtSortField + " Desc" : defualtSortField + " Asc"; else throw Oops.Oh("排序字段不能为空!"); - - TypeAdapterConfig config = new(); + TypeAdapterConfig config = new TypeAdapterConfig(); + //映射规则 config.ForType().IgnoreNullValues(true); - Mapper mapper = new(config); // 务必将mapper设为单实例 + Mapper mapper = new Mapper(config);//务必将mapper设为单实例 PageInputBase nowPagerInput = mapper.Map(pageInput); ; // 排序是否可用-排序字段和排序顺序都为非空才启用排序 if (!string.IsNullOrEmpty(nowPagerInput.SortField) && !string.IsNullOrEmpty(nowPagerInput.SortOrder)) diff --git a/backend/Admin.NET.Core/Service/CodeGen/CodeGenConfigService.cs b/backend/Admin.NET.Core/Service/CodeGen/CodeGenConfigService.cs index 6082212b5d0750fff7400f0f4ff92e674c2653e6..c41d8a3933b5e659f9c159f10a99064483cae37b 100644 --- a/backend/Admin.NET.Core/Service/CodeGen/CodeGenConfigService.cs +++ b/backend/Admin.NET.Core/Service/CodeGen/CodeGenConfigService.cs @@ -12,9 +12,7 @@ using System.Threading.Tasks; namespace Admin.NET.Core.Service { - /// - /// 代码生成详细配置服务 - /// + /// 代码生成详细配置服务 [ApiDescriptionSettings(Name = "CodeGenConfig", Order = 100)] public class CodeGenConfigService : ICodeGenConfigService, IDynamicApiController, ITransient { @@ -25,11 +23,9 @@ namespace Admin.NET.Core.Service _sysCodeGenConfigRep = sysCodeGenConfigRep; } - /// - /// 代码生成详细配置列表 - /// - /// - /// + /// 代码生成详细配置列表 + /// + /// [HttpGet("/sysCodeGenerateConfig/list")] public async Task> List([FromQuery] CodeGenConfig input) { @@ -38,11 +34,9 @@ namespace Admin.NET.Core.Service .Select(u => u.Adapt()).ToListAsync(); } - /// - /// 增加 - /// - /// - /// + /// 增加 + /// + /// [NonAction] public async Task Add(CodeGenConfig input) { @@ -50,11 +44,9 @@ namespace Admin.NET.Core.Service await codeGenConfig.InsertAsync(); } - /// - /// 删除 - /// - /// - /// + /// 删除 + /// + /// [NonAction] public async Task Delete(long codeGenId) { @@ -62,11 +54,9 @@ namespace Admin.NET.Core.Service await _sysCodeGenConfigRep.DeleteAsync(codeGenConfigList); } - /// - /// 更新 - /// - /// - /// + /// 更新 + /// + /// [HttpPost("/sysCodeGenerateConfig/edit")] public async Task Update(List inputList) { @@ -79,22 +69,18 @@ namespace Admin.NET.Core.Service await Task.CompletedTask; } - /// - /// 详情 - /// - /// - /// + /// 详情 + /// + /// [HttpGet("/sysCodeGenerateConfig/detail")] public async Task Detail(CodeGenConfig input) { return await _sysCodeGenConfigRep.FirstOrDefaultAsync(u => u.Id == input.Id); } - /// - /// 批量增加 - /// - /// - /// + /// 批量增加 + /// + /// [NonAction] public void AddList(List tableColumnOuputList, SysCodeGen codeGenerate) { @@ -127,6 +113,7 @@ namespace Admin.NET.Core.Service codeGenConfig.WhetherRetract = YesOrNot.N.ToString(); codeGenConfig.WhetherRequired = YesOrNot.N.ToString(); + codeGenConfig.QueryWhether = YesOrNo; codeGenConfig.WhetherAddUpdate = YesOrNo; codeGenConfig.WhetherTable = YesOrNo; diff --git a/backend/Admin.NET.Web.Entry/Admin.NET.db b/backend/Admin.NET.Web.Entry/Admin.NET.db index 1dfef2f4bb3b427dc2eb825351ad055db93b079a..e604dfa92432bd1de19faa15709765f113989deb 100644 Binary files a/backend/Admin.NET.Web.Entry/Admin.NET.db and b/backend/Admin.NET.Web.Entry/Admin.NET.db differ diff --git a/backend/Admin.NET.Web.Entry/wwwroot/Template/Service.cs.vm b/backend/Admin.NET.Web.Entry/wwwroot/Template/Service.cs.vm index f2647ac54f723d8694959afd40675dab50ab091b..78ef9dfc1bf0995080032f285b0507aead0c8b71 100644 --- a/backend/Admin.NET.Web.Entry/wwwroot/Template/Service.cs.vm +++ b/backend/Admin.NET.Web.Entry/wwwroot/Template/Service.cs.vm @@ -9,6 +9,7 @@ using Microsoft.EntityFrameworkCore; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using System.Linq.Dynamic.Core; namespace @Model.NameSpace { @@ -64,6 +65,7 @@ if (@column.QueryType == "like"){ } } } + .OrderBy(PageInputOrder.OrderBuilder<@(@Model.ClassName)Input>(input)) .ToPagedListAsync(input.PageNo, input.PageSize); var result = XnPageResult<@(@Model.ClassName)>.PageResult<@(@Model.ClassName)Dto>(entities); await DtoMapper(result.Rows); diff --git a/backend/Admin.NET.Web.Entry/wwwroot/Template/index.vue.vm b/backend/Admin.NET.Web.Entry/wwwroot/Template/index.vue.vm index 3f0f0dd5fa0579cfff4baeba4766b8c372e889f7..24aa0e6c311ff1be9e6c0c62bb790da92168c0f4 100644 --- a/backend/Admin.NET.Web.Entry/wwwroot/Template/index.vue.vm +++ b/backend/Admin.NET.Web.Entry/wwwroot/Template/index.vue.vm @@ -199,6 +199,9 @@ columnDataColumns++; @:{ @:title: '@column.ColumnComment', @:align: 'center', +if (@column.WhetherOrderBy == "Y"){ +@:sorter: true, +} if(@column.EffectType == "switch"){ @:customRender: (vlaue) => (vlaue ? True : False), } diff --git a/frontend/src/views/gen/codeGenerate/indexConfig.vue b/frontend/src/views/gen/codeGenerate/indexConfig.vue index b132b21525a522c8cfb8f32319a4f41b6166560f..e33873620c9b42f23ea9468c4d305cebe75147a4 100644 --- a/frontend/src/views/gen/codeGenerate/indexConfig.vue +++ b/frontend/src/views/gen/codeGenerate/indexConfig.vue @@ -16,7 +16,7 @@ -