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 @@
-