diff --git a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/service_InputDto.cs.vm b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/service_InputDto.cs.vm index 3a7272cf..c5c9d3d4 100644 --- a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/service_InputDto.cs.vm +++ b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/service_InputDto.cs.vm @@ -86,7 +86,7 @@ if (@column.WhetherAddUpdate == "Y"){ @if(@column.WhetherRequired=="Y"){ @:[Required(ErrorMessage = "@(@column.ColumnComment)不能为空")] } - @if(@column.NetType.StartsWith("string")&&!@column.RuleItems.Any(t=>t.Type=="length")){ + @if(@column.NetType.StartsWith("string")&&!@column.RuleItems.Any(t=>t.Type=="length")&&@column.ColumnLength>0){ @:[StringLength(@(@column.ColumnLength), ErrorMessage = "@(@column.ColumnComment)不能超过@(@column.ColumnLength)个字符")] } @if(@column.AnyRule){ @@ -143,7 +143,7 @@ if (@column.WhetherAddUpdate == "Y"){ @if(@column.WhetherRequired=="Y"){ @:[Required(ErrorMessage = "@(@column.ColumnComment)不能为空")] } - @if(@column.NetType.StartsWith("string")&&!@column.RuleItems.Any(t=>t.Type=="length")){ + @if(@column.NetType.StartsWith("string")&&!@column.RuleItems.Any(t=>t.Type=="length")&&@column.ColumnLength>0){ @:[StringLength(@(@column.ColumnLength), ErrorMessage = "@(@column.ColumnComment)不能超过@(@column.ColumnLength)个字符")] } @if(@column.AnyRule){ diff --git a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/service_Service.cs.vm b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/service_Service.cs.vm index e616a1e5..c9f0901c 100644 --- a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/service_Service.cs.vm +++ b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/service_Service.cs.vm @@ -116,7 +116,11 @@ if (@column.QueryWhether == "Y"){ } else { @:.Select<@(@Model.ClassName)Output>(); } - return await query.OrderBuilder(input).ToPagedListAsync(input.Page, input.PageSize); + @if(@Model.TableField.Any(x=>x.EffectType == "fk")){ + @:return await query.OrderBuilder(input,"[u].","[@(PKName)]").ToPagedListAsync(input.Page, input.PageSize); + } else { + @:return await query.OrderBuilder(input).ToPagedListAsync(input.Page, input.PageSize); + } } /// @@ -214,7 +218,7 @@ if(@column.EffectType == "fk" && (@column.WhetherAddUpdate == "Y" || column.Quer @:/// 获取@(@column.ColumnComment)列表 @:/// @:/// - @:[ApiDescriptionSettings(Name = "@(@column.FkEntityName)@(@column.PropertyName)Dropdown", Description = "获取@(@column.ColumnComment)列表"), HttpGet] + @:[ApiDescriptionSettings(Name = "@(LowerFirstLetter(@column.FkEntityName))@(@column.PropertyName)Dropdown", Description = "获取@(@column.ColumnComment)列表", Order = 940), HttpGet] @:[DisplayName("获取@(@column.ColumnComment)列表")] @:public async Task> @(@column.FkEntityName)@(@column.PropertyName)Dropdown() @:{ @@ -236,7 +240,7 @@ if(@column.EffectType == "Upload"){ @:/// @:/// @:/// - @:[ApiDescriptionSettings(Name = "Upload@(@column.PropertyName)", Description = "上传@(@column.ColumnComment)", HttpPost] + @:[ApiDescriptionSettings(Name = "upload@(@column.PropertyName)", Description = "上传@(@column.ColumnComment)", Order = 930), HttpPost] @:[DisplayName("上传@(@column.ColumnComment)")] @:public async Task Upload@(@column.PropertyName)([Required] IFormFile file) @:{ @@ -249,7 +253,7 @@ if(@column.EffectType == "Upload"){ @foreach (var column in Model.TableField){ if(@column.EffectType == "ApiTreeSelect" && !definedObjects.ContainsKey("@(@column.FkEntityName)Tree")){ @{definedObjects.Add("@(@column.FkEntityName)Tree", 1);} - @:[ApiDescriptionSettings(Name = ""@(@column.FkEntityName)Tree"", Description = "获取@(@column.ColumnComment)列表", HttpGet] + @:[ApiDescriptionSettings(Name = "@(LowerFirstLetter(@column.FkEntityName))Tree", Description = "获取@(@column.ColumnComment)列表", Order = 920), HttpGet] @:[DisplayName("获取@(@column.FkEntityName)Tree")] @:public async Task @(@column.FkEntityName)Tree() @:{ @@ -264,7 +268,7 @@ if(@column.EffectType == "ApiTreeSelect" && !definedObjects.ContainsKey("@(@colu @:/// @:/// 检查字段参数 @:/// - @:[ApiDescriptionSettings(Name = "exists@(RemoteField)",Description = "检查@(RemoteField)字段是否可用", Order = 940), HttpPost] + @:[ApiDescriptionSettings(Name = "exists@(RemoteField)",Description = "检查@(RemoteField)字段是否可用", Order = 910), HttpPost] @:[DisplayName("检查@(RemoteField)字段是否可用")] @:public async Task Exists@(RemoteField)Async(Exists@(RemoteField)Input param) @:{ @@ -286,3 +290,10 @@ if(@column.EffectType == "ApiTreeSelect" && !definedObjects.ContainsKey("@(@colu } } + +@{ +string LowerFirstLetter(string text) +{ +return text.ToString()[..1].ToLower() + text[1..]; // 首字母小写 +} +} diff --git a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_api.ts.vm b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_api.ts.vm index e53cab1a..f16aefb5 100644 --- a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_api.ts.vm +++ b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_api.ts.vm @@ -23,10 +23,10 @@ enum Api { } @foreach (var column in Model.TableField){ if(@column.EffectType == "fk" && (@column.WhetherAddUpdate == "Y" || column.QueryWhether == "Y")){ - @:Get@(@column.FkEntityName)@(@column.PropertyName)Dropdown = '/api/@(@Model.LowerClassName)/@(@column.FkEntityName)@(@column.PropertyName)Dropdown', + @:Get@(@column.FkEntityName)@(@column.PropertyName)Dropdown = '/api/@(@Model.LowerClassName)/@(LowerFirstLetter(@column.FkEntityName))@(@column.PropertyName)Dropdown', }else if(@column.EffectType == "ApiTreeSelect" && !definedObjects.ContainsKey("Get@(@column.FkEntityName)Tree")){ @{definedObjects.Add("Get@(@column.FkEntityName)Tree", 1);} - @:Get@(@column.FkEntityName)Tree = '/api/@(@Model.LowerClassName)/@(@column.FkEntityName)Tree', + @:Get@(@column.FkEntityName)Tree = '/api/@(@Model.LowerClassName)/@(LowerFirstLetter(@column.FkEntityName))Tree', }else if(@column.EffectType == "Upload"){ @:Upload@(@column.PropertyName) = '/api/@(@Model.LowerClassName)/upload@(@column.PropertyName)', } @@ -136,4 +136,11 @@ if(@column.EffectType == "Upload"){ @:method: 'post', @:data: params, @:}); +} + +@{ +string LowerFirstLetter(string text) +{ +return text.ToString()[..1].ToLower() + text[1..]; // 首字母小写 +} } \ No newline at end of file diff --git a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_views_editDialog.vue.vm b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_views_editDialog.vue.vm index ea75bc04..870d5af4 100644 --- a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_views_editDialog.vue.vm +++ b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_views_editDialog.vue.vm @@ -72,7 +72,11 @@ }else if(@column.EffectType == "InputTextArea"){ @: @: - @: + @:0){ + @:maxlength="@(@column.ColumnLength)" + } + @:show-word-limit clearable /> }else if(@column.EffectType == "Select"){ @@ -94,7 +98,11 @@ }else if(@column.EffectType == "Switch"){ @: @: - @: + @: }else if(@column.EffectType == "DatePicker"){ diff --git a/Web/src/views/system/codeGen/index.vue b/Web/src/views/system/codeGen/index.vue index 142f2e7d..8e7a170c 100644 --- a/Web/src/views/system/codeGen/index.vue +++ b/Web/src/views/system/codeGen/index.vue @@ -228,7 +228,7 @@ const handleConfig = (row: any) => { // 开始生成代码 const handleGenerate = (row: any) => { - ElMessageBox.confirm(`确定要生成吗?`, '提示', { + ElMessageBox.confirm(`确定要生成【${row.tableName}】表吗?`, '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning',