diff --git a/Admin.NET/Admin.NET.Core/Entity/SysCodeGenConfig.cs b/Admin.NET/Admin.NET.Core/Entity/SysCodeGenConfig.cs
index f6cc1a42..6b87ffd8 100644
--- a/Admin.NET/Admin.NET.Core/Entity/SysCodeGenConfig.cs
+++ b/Admin.NET/Admin.NET.Core/Entity/SysCodeGenConfig.cs
@@ -210,4 +210,10 @@ public partial class SysCodeGenConfig : EntityBase
///
[SugarColumn(ColumnDescription = "字段验证规则", ColumnDataType = StaticConfig.CodeFirst_BigString)]
public string? Rules { get; set; }
+
+ ///
+ /// 默认值
+ ///
+ [SugarColumn(ColumnDescription = "默认值", Length = 256)]
+ public string? DefaultValue { get; set; }
}
\ No newline at end of file
diff --git a/Admin.NET/Admin.NET.Core/Service/CodeGen/Dto/CodeGenConfig.cs b/Admin.NET/Admin.NET.Core/Service/CodeGen/Dto/CodeGenConfig.cs
index a7722048..7fee73e9 100644
--- a/Admin.NET/Admin.NET.Core/Service/CodeGen/Dto/CodeGenConfig.cs
+++ b/Admin.NET/Admin.NET.Core/Service/CodeGen/Dto/CodeGenConfig.cs
@@ -198,6 +198,11 @@ public class CodeGenConfig
///
public string Rules { get; set; }
+ ///
+ /// 默认值
+ ///
+ public string? DefaultValue { get; set; }
+
#region 不在数据库中的字段
///
diff --git a/Admin.NET/Admin.NET.Core/Service/CodeGen/Dto/ColumnOuput.cs b/Admin.NET/Admin.NET.Core/Service/CodeGen/Dto/ColumnOuput.cs
index 6b3e88d2..1b5894bb 100644
--- a/Admin.NET/Admin.NET.Core/Service/CodeGen/Dto/ColumnOuput.cs
+++ b/Admin.NET/Admin.NET.Core/Service/CodeGen/Dto/ColumnOuput.cs
@@ -55,4 +55,9 @@ public class ColumnOuput
/// 主外键
///
public string ColumnKey { get; set; }
+
+ ///
+ /// 默认值
+ ///
+ public string DefaultValue { get; set; }
}
\ No newline at end of file
diff --git a/Admin.NET/Admin.NET.Core/Service/CodeGen/SysCodeGenConfigService.cs b/Admin.NET/Admin.NET.Core/Service/CodeGen/SysCodeGenConfigService.cs
index 81606aa2..a67c8ca0 100644
--- a/Admin.NET/Admin.NET.Core/Service/CodeGen/SysCodeGenConfigService.cs
+++ b/Admin.NET/Admin.NET.Core/Service/CodeGen/SysCodeGenConfigService.cs
@@ -151,6 +151,7 @@ public class SysCodeGenConfigService : IDynamicApiController, ITransient
codeGenConfig.EffectType = CodeGenUtil.DataTypeToEff(codeGenConfig.NetType);
codeGenConfig.QueryType = GetDefaultQueryType(codeGenConfig); // QueryTypeEnum.eq.ToString();
codeGenConfig.OrderNo = orderNo;
+ codeGenConfig.DefaultValue = GetDefaultValue(tableColumn.DefaultValue);
codeGenConfigs.Add(codeGenConfig);
orderNo += 10; // 每个配置排序间隔10
@@ -174,4 +175,34 @@ public class SysCodeGenConfigService : IDynamicApiController, ITransient
_ => "==",
};
}
+
+ ///
+ /// 获取默认值
+ ///
+ ///
+ ///
+ private static string? GetDefaultValue(string dataValue)
+ {
+ if (dataValue == null) return null;
+ string value = "";
+ // 正则表达式模式
+ // \( 和 \) 用来匹配字面量的括号
+ // .+ 用来匹配一个或多个任意字符,但不包括换行符
+ string pattern = @"\((.+)\)";//适合MSSQL其他数据库没有测试
+
+ // 使用 Regex 类进行匹配
+ Match match = Regex.Match(dataValue, pattern);
+
+ // 如果找到了匹配项
+ if (match.Success)
+ {
+ // 提取括号内的值
+ value = match.Groups[1].Value.Trim('\'');
+ }
+ else
+ {
+ value = dataValue;
+ }
+ return value;
+ }
}
\ No newline at end of file
diff --git a/Admin.NET/Admin.NET.Core/Service/CodeGen/SysCodeGenService.cs b/Admin.NET/Admin.NET.Core/Service/CodeGen/SysCodeGenService.cs
index 22a71766..96dd1834 100644
--- a/Admin.NET/Admin.NET.Core/Service/CodeGen/SysCodeGenService.cs
+++ b/Admin.NET/Admin.NET.Core/Service/CodeGen/SysCodeGenService.cs
@@ -234,7 +234,8 @@ public class SysCodeGenService : IDynamicApiController, ITransient
ColumnKey = u.IsPrimarykey.ToString(),
NetType = CodeGenUtil.ConvertDataType(u, provider.CurrentConnectionConfig.DbType),
DataType = u.DataType,
- ColumnComment = string.IsNullOrWhiteSpace(u.ColumnDescription) ? u.DbColumnName : u.ColumnDescription
+ ColumnComment = string.IsNullOrWhiteSpace(u.ColumnDescription) ? u.DbColumnName : u.ColumnDescription,
+ DefaultValue = u.DefaultValue,
}).ToList();
// 获取实体的属性信息,赋值给PropertyName属性(CodeFirst模式应以PropertyName为实际使用名称)
diff --git a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_views_index.vue.vm b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_views_index.vue.vm
index 26aac671..bbbd1678 100644
--- a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_views_index.vue.vm
+++ b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_views_index.vue.vm
@@ -355,7 +355,19 @@ const resetQuery = async () => {
// 打开新增页面
const handleAdd = () => {
state.title = '添加@(@Model.BusName)';
- editDialogRef.value?.openDialog({ type: 1 });
+ let data = {
+ @foreach (var column in Model.TableField){
+ if(@column.WhetherAddUpdate == "Y"&&@column.DefaultValue!=null){
+ if(@column.NetType.StartsWith("int")||@column.NetType.StartsWith("decimal")){
+ @:@column.LowerPropertyName:@(@column.DefaultValue),
+ }
+ if(@column.NetType.StartsWith("string")){
+ @:@column.LowerPropertyName:'@(@column.DefaultValue)',
+ }
+ }
+ }
+ };
+ editDialogRef.value?.openDialog(data);
};
// 打开编辑页面