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',