Просмотр исходного кода

Merge branch 'v2' of https://gitee.com/zuohuaijun/Admin.NET into v2

# Conflicts:
#	Web/src/api-services/models/move-db-column-input.ts
Cyrus Zhou 9 месяцев назад
Родитель
Сommit
f4cd56406e
30 измененных файлов с 672 добавлено и 437 удалено
  1. 2 2
      Admin.NET/Admin.NET.Application/Configuration/CDConfig.json
  2. 19 19
      Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj
  3. 1 0
      Admin.NET/Admin.NET.Core/SeedData/SysDictDataSeedData.cs
  4. 0 1
      Admin.NET/Admin.NET.Core/Service/Auth/SysAuthService.cs
  5. 3 1
      Admin.NET/Admin.NET.Core/Service/CodeGen/CustomViewEngine.cs
  6. 233 231
      Admin.NET/Admin.NET.Core/Service/CodeGen/Dto/CodeGenConfig.cs
  7. 4 5
      Admin.NET/Admin.NET.Core/Service/CodeGen/SysCodeGenService.cs
  8. 1 1
      Admin.NET/Admin.NET.Core/Service/Dict/SysDictTypeService.cs
  9. 12 2
      Admin.NET/Admin.NET.Core/Service/User/SysUserService.cs
  10. 4 4
      Admin.NET/Admin.NET.Test/Admin.NET.Test.csproj
  11. 1 1
      Admin.NET/Admin.NET.Web.Core/Admin.NET.Web.Core.csproj
  12. 5 3
      Admin.NET/Admin.NET.Web.Core/Startup.cs
  13. 2 2
      Admin.NET/Admin.NET.Web.Entry/wwwroot/template/Output.cs.vm
  14. 3 3
      Admin.NET/Admin.NET.Web.Entry/wwwroot/template/data.data.ts.vm
  15. 2 2
      Admin.NET/Admin.NET.Web.Entry/wwwroot/template/dataModal.vue.vm
  16. 17 2
      Admin.NET/Admin.NET.Web.Entry/wwwroot/template/editDialog.vue.vm
  17. 1 1
      Admin.NET/Plugins/Admin.NET.Plugin.ReZero/Admin.NET.Plugin.ReZero.csproj
  18. 4 4
      Web/api_build/build.bat
  19. 28 28
      Web/package.json
  20. 30 14
      Web/src/api-services/apis/sys-code-gen-config-api.ts
  21. 84 0
      Web/src/api-services/apis/sys-database-api.ts
  22. 76 0
      Web/src/api-services/apis/sys-user-api.ts
  23. 8 0
      Web/src/api-services/models/code-gen-config.ts
  24. 8 0
      Web/src/api-services/models/column-ouput.ts
  25. 71 69
      Web/src/api-services/models/db-column-input.ts
  26. 1 0
      Web/src/api-services/models/index.ts
  27. 8 0
      Web/src/api-services/models/sys-code-gen-config.ts
  28. 41 39
      Web/src/api-services/models/update-db-column-input.ts
  29. 1 1
      Web/src/components/table/search.vue
  30. 2 2
      Web/src/views/system/user/component/orgTree.vue

+ 2 - 2
Admin.NET/Admin.NET.Application/Configuration/CDConfig.json

@@ -3,9 +3,9 @@
 
   "CDConfig": {
     "Enabled": true, // 启用持续部署
-    "Owner": "jasondom", // gitee用户名
+    "Owner": "zuohuaijun", // gitee用户名
     "Repo": "Admin.NET", // 仓库名
-    "Branch": "next", // 分支名
+    "Branch": "v2", // 分支名
     "AccessToken": "xxxxxxxxxxxxxxxxxxxxxxxxx", // gitee用户授权码
     "UpdateInterval": 0, // 最小更新间隔(分钟),0不限制
     "BackupCount": 10, // 备份文件保留数量,0不限制

+ 19 - 19
Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj

@@ -14,26 +14,26 @@
 
   <ItemGroup>
     <PackageReference Include="AlibabaCloud.SDK.Dysmsapi20170525" Version="4.0.0" />
-    <PackageReference Include="AlipaySDKNet.Standard" Version="4.9.600" />
+    <PackageReference Include="AlipaySDKNet.Standard" Version="4.9.627" />
     <PackageReference Include="AngleSharp" Version="1.3.0" />
     <PackageReference Include="AspectCore.Extensions.Reflection" Version="2.4.0" />
     <PackageReference Include="AspNetCoreRateLimit" Version="5.0.0" />
-    <PackageReference Include="Elastic.Clients.Elasticsearch" Version="9.0.6" />
-    <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.85" />
-    <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.85" />
-    <PackageReference Include="Furion.Pure" Version="4.9.7.85" />
+    <PackageReference Include="Elastic.Clients.Elasticsearch" Version="9.0.7" />
+    <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.7.96" />
+    <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.7.96" />
+    <PackageReference Include="Furion.Pure" Version="4.9.7.96" />
 	<PackageReference Include="Hardware.Info" Version="101.0.1.1" />
     <PackageReference Include="Hashids.net" Version="1.7.0" />
     <PackageReference Include="IPTools.China" Version="1.6.0" />
     <PackageReference Include="IPTools.International" Version="1.6.0" />
     <PackageReference Include="log4net" Version="3.1.0" />
-    <PackageReference Include="Magicodes.IE.Excel" Version="2.7.5.2" />
-    <PackageReference Include="Magicodes.IE.Pdf" Version="2.7.5.2" />
-    <PackageReference Include="Magicodes.IE.Word" Version="2.7.5.2" />
-    <PackageReference Include="MailKit" Version="4.12.1" />
-    <PackageReference Include="MiniExcel" Version="1.41.2" />
+    <PackageReference Include="Magicodes.IE.Excel" Version="2.7.6" />
+    <PackageReference Include="Magicodes.IE.Pdf" Version="2.7.6" />
+    <PackageReference Include="Magicodes.IE.Word" Version="2.7.6" />
+    <PackageReference Include="MailKit" Version="4.13.0" />
+    <PackageReference Include="MiniExcel" Version="1.41.3" />
     <PackageReference Include="MiniWord" Version="0.9.2" />
-    <PackageReference Include="NewLife.Redis" Version="6.2.2025.601" />
+    <PackageReference Include="NewLife.Redis" Version="6.3.2025.701" />
     <PackageReference Include="Novell.Directory.Ldap.NETStandard" Version="4.0.0" />
 	<PackageReference Include="OnceMi.AspNetCore.OSS" Version="1.2.0" />
     <PackageReference Include="QRCoder" Version="1.6.0" />
@@ -41,12 +41,12 @@
     <PackageReference Include="SixLabors.ImageSharp.Web" Version="3.1.5" />
     <PackageReference Include="SKIT.FlurlHttpClient.Wechat.Api" Version="3.10.0" />
     <PackageReference Include="SKIT.FlurlHttpClient.Wechat.TenpayV3" Version="3.12.0" />
-    <PackageReference Include="SqlSugarCore" Version="5.1.4.196" />
+    <PackageReference Include="SqlSugarCore" Version="5.1.4.197" />
     <PackageReference Include="SSH.NET" Version="2025.0.0" />
     <PackageReference Include="System.Linq.Dynamic.Core" Version="1.6.6" />
     <PackageReference Include="System.Net.Http" Version="4.3.4" />
     <PackageReference Include="System.Private.Uri" Version="4.3.2" />
-    <PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1259" />
+    <PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1273" />
     <PackageReference Include="UAParser" Version="3.1.47" />
     <PackageReference Include="Yitter.IdGenerator" Version="1.0.14" />
     <PackageReference Include="BouncyCastle.Cryptography" Version="2.6.1" Aliases="BouncyCastleV2" />
@@ -59,18 +59,18 @@
     <PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="8.0.11" />
     <PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson" Version="8.0.11" />
     <PackageReference Include="Microsoft.AspNetCore.SignalR.StackExchangeRedis" Version="8.0.11" />
-	<PackageReference Include="Microsoft.PowerShell.SDK" Version="7.4.7" />  
+	<PackageReference Include="Microsoft.PowerShell.SDK" Version="7.4.11" />  
   </ItemGroup>
 
   <ItemGroup Condition=" '$(TargetFramework)' == 'net9.0' ">
     <PackageReference Include="AspNet.Security.OAuth.Gitee" Version="9.4.0" />
     <PackageReference Include="AspNet.Security.OAuth.Weixin" Version="9.4.0" />
     <PackageReference Include="Lazy.Captcha.Core" Version="2.1.0" />
-    <PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="9.0.6" />
-    <PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson" Version="9.0.6" />
-    <PackageReference Include="Microsoft.AspNetCore.SignalR.StackExchangeRedis" Version="9.0.6" />
-	<PackageReference Include="Microsoft.PowerShell.SDK" Version="7.5.1" />
-	<PackageReference Include="XiHan.Framework.Utils" Version="0.9.13-preview.6" />
+    <PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="9.0.7" />
+    <PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson" Version="9.0.7" />
+    <PackageReference Include="Microsoft.AspNetCore.SignalR.StackExchangeRedis" Version="9.0.7" />
+	<PackageReference Include="Microsoft.PowerShell.SDK" Version="7.5.2" />
+	<PackageReference Include="XiHan.Framework.Utils" Version="0.11.5" />
   </ItemGroup>
 
 </Project>

+ 1 - 0
Admin.NET/Admin.NET.Core/SeedData/SysDictDataSeedData.cs

@@ -31,6 +31,7 @@ public class SysDictDataSeedData : ISqlSugarEntitySeedData<SysDictData>
             new SysDictData{ Id=1300000000109, DictTypeId=typeList[0].Id, Label="文本域", Value="InputTextArea", OrderNo=100, Remark="文本域", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
             new SysDictData{ Id=1300000000110, DictTypeId=typeList[0].Id, Label="上传", Value="Upload", OrderNo=100, Remark="上传", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
             new SysDictData{ Id=1300000000111, DictTypeId=typeList[0].Id, Label="开关", Value="Switch", OrderNo=100, Remark="开关", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000112, DictTypeId=typeList[0].Id, Label="上传单文件", Value="Upload_SingleFile", OrderNo=120, Remark="上传单文件", Status=StatusEnum.Enable, CreateTime= DateTime.Now },
 
             new SysDictData{ Id=1300000000201, DictTypeId=typeList[1].Id, Label="等于", Value="==", OrderNo=1, Remark="等于", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
             new SysDictData{ Id=1300000000202, DictTypeId=typeList[1].Id, Label="模糊", Value="like", OrderNo=1, Remark="模糊", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },

+ 0 - 1
Admin.NET/Admin.NET.Core/Service/Auth/SysAuthService.cs

@@ -333,7 +333,6 @@ public class SysAuthService : IDynamicApiController, ITransient
         loginUser.CurrentTenantId = currentTenantId > 0 ? currentTenantId : user.TenantId;
 
         return loginUser;
-
     }
 
     /// <summary>

+ 3 - 1
Admin.NET/Admin.NET.Core/Service/CodeGen/CustomViewEngine.cs

@@ -103,7 +103,7 @@ public class CustomViewEngine : ViewEngineModel
     /// 默认值列表
     /// </summary>
     public List<CodeGenConfig> DefaultValueList { get; set; }
-    
+
     /// <summary>
     /// 判断字段是否为状态字段
     /// </summary>
@@ -163,9 +163,11 @@ public class CustomViewEngine : ViewEngineModel
                         case "InputNumber":
                             content += $"{item.LowerPropertyName}: {item.DefaultValue},";
                             break;
+
                         case "Switch":
                             content += $"{item.LowerPropertyName}: {(item.DefaultValue == "1" ? true.ToString().ToLower() : false.ToString().ToLower())},";
                             break;
+
                         default:
                             content += $"{item.LowerPropertyName}: '{item.DefaultValue}',";
                             break;

+ 233 - 231
Admin.NET/Admin.NET.Core/Service/CodeGen/Dto/CodeGenConfig.cs

@@ -1,232 +1,234 @@
-// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
-//
-// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
-//
-// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
-
-namespace Admin.NET.Core.Service;
-
-/// <summary>
-/// 代码生成详细配置参数
-/// </summary>
-public class CodeGenConfig
-{
-    /// <summary>
-    /// 主键Id
-    /// </summary>
-    public long Id { get; set; }
-
-    /// <summary>
-    /// 代码生成主表ID
-    /// </summary>
-    public long CodeGenId { get; set; }
-
-    /// <summary>
-    /// 数据库字段名
-    /// </summary>
-    public string ColumnName { get; set; }
-
-    /// <summary>
-    /// 主外键
-    /// </summary>
-    public string ColumnKey { get; set; }
-
-    /// <summary>
-    /// 实体属性名
-    /// </summary>
-    public string PropertyName { get; set; }
-
-    /// <summary>
-    /// 字段数据长度
-    /// </summary>
-    public int ColumnLength { get; set; }
-
-    /// <summary>
-    /// 数据库字段名(首字母小写)
-    /// </summary>
-    public string LowerPropertyName => string.IsNullOrWhiteSpace(PropertyName) ? null : PropertyName[..1].ToLower() + PropertyName[1..];
-
-    /// <summary>
-    /// 字段描述
-    /// </summary>
-    public string ColumnComment { get; set; }
-
-    /// <summary>
-    /// .NET类型
-    /// </summary>
-    public string NetType { get; set; }
-
-    /// <summary>
-    /// 数据库中类型(物理类型)
-    /// </summary>
-    public string DataType { get; set; }
-
-    /// <summary>
-    /// 字段数据默认值
-    /// </summary>
-    public string DefaultValue { get; set; }
-    /// <summary>
-    /// 可空.NET类型
-    /// </summary>
-    public string NullableNetType => Regex.IsMatch(NetType ?? "", "(.*?Enum|bool|char|int|long|double|float|decimal)[?]?") ? NetType.TrimEnd('?') + "?" : NetType;
-
-    /// <summary>
-    /// 作用类型(字典)
-    /// </summary>
-    public string EffectType { get; set; }
-
-    /// <summary>
-    /// 外键库标识
-    /// </summary>
-    public string FkConfigId { get; set; }
-
-    /// <summary>
-    /// 外键实体名称
-    /// </summary>
-    public string FkEntityName { get; set; }
-
-    /// <summary>
-    /// 外键表名称
-    /// </summary>
-    public string FkTableName { get; set; }
-
-    /// <summary>
-    /// 外键实体名称(首字母小写)
-    /// </summary>
-    public string LowerFkEntityName => string.IsNullOrWhiteSpace(FkEntityName) ? null : FkEntityName[..1].ToLower() + FkEntityName[1..];
-
-    /// <summary>
-    /// 外键链接字段
-    /// </summary>
-    public string FkLinkColumnName { get; set; }
-
-    /// <summary>
-    /// 外键显示字段
-    /// </summary>
-    [Newtonsoft.Json.JsonIgnore]
-    [System.Text.Json.Serialization.JsonIgnore]
-    public string FkDisplayColumns { get; set; }
-
-    /// <summary>
-    /// 外键显示字段
-    /// </summary>
-    public List<string> FkDisplayColumnList { get; set; }
-
-    /// <summary>
-    /// 外键显示字段(首字母小写)
-    /// </summary>
-    public List<string> LowerFkDisplayColumnsList => FkDisplayColumnList?.Select(name => name[..1].ToLower() + name[1..]).ToList();
-
-    /// <summary>
-    /// 外键显示字段.NET类型
-    /// </summary>
-    public string FkColumnNetType { get; set; }
-
-    /// <summary>
-    /// 父级字段
-    /// </summary>
-    public string PidColumn { get; set; }
-
-    /// <summary>
-    /// 字典code
-    /// </summary>
-    public string DictTypeCode { get; set; }
-
-    /// <summary>
-    /// 查询方式
-    /// </summary>
-    public string QueryType { get; set; }
-
-    /// <summary>
-    /// 是否是查询条件
-    /// </summary>
-    public string WhetherQuery { get; set; }
-
-    /// <summary>
-    /// 列表是否缩进(字典)
-    /// </summary>
-    public string WhetherRetract { get; set; }
-
-    /// <summary>
-    /// 是否必填(字典)
-    /// </summary>
-    public string WhetherRequired { get; set; }
-
-    /// <summary>
-    /// 是否可排序(字典)
-    /// </summary>
-    public string WhetherSortable { get; set; }
-
-    /// <summary>
-    /// 列表显示
-    /// </summary>
-    public string WhetherTable { get; set; }
-
-    /// <summary>
-    /// 增改
-    /// </summary>
-    public string WhetherAddUpdate { get; set; }
-
-    /// <summary>
-    /// 导入
-    /// </summary>
-    public string WhetherImport { get; set; }
-
-    /// <summary>
-    /// 是否是通用字段
-    /// </summary>
-    public string WhetherCommon { get; set; }
-
-    /// <summary>
-    /// 排序
-    /// </summary>
-    public int OrderNo { get; set; }
-
-    /// <summary>
-    /// 是否是选择器控件
-    /// </summary>
-    public bool IsSelectorEffectType => Regex.IsMatch(EffectType ?? "", "Selector$|ForeignKey", RegexOptions.IgnoreCase);
-
-    /// <summary>
-    /// 去掉尾部Id的属性名
-    /// </summary>
-    public string PropertyNameTrimEndId => PropertyName.TrimEnd("Id");
-
-    /// <summary>
-    /// 去掉尾部Id的属性名
-    /// </summary>
-    public string LowerPropertyNameTrimEndId => LowerPropertyName.TrimEnd("Id");
-
-    /// <summary>
-    /// 扩展属性名称
-    /// </summary>
-    public string ExtendedPropertyName => EffectType switch
-    {
-        "ForeignKey" => $"{PropertyName.TrimEnd("Id")}FkDisplayName",
-        "ApiTreeSelector" => $"{PropertyName.TrimEnd("Id")}DisplayName",
-        "DictSelector" => $"{PropertyName.TrimEnd("Id")}DictLabel",
-        "Upload" => $"{PropertyName.TrimEnd("Id")}Attachment",
-        _ => PropertyName
-    };
-
-    /// <summary>
-    /// 首字母小写的扩展属性名称
-    /// </summary>
-    public string LowerExtendedPropertyName
-    {
-        get
-        {
-            var displayPropertyName = ExtendedPropertyName;
-            if (string.IsNullOrWhiteSpace(displayPropertyName)) return null;
-            return displayPropertyName[..1].ToLower() + displayPropertyName[1..];
-        }
-    }
-
-    /// <summary>
-    /// 获取外键显示值语句
-    /// </summary>
-    /// <param name="tableAlias">表别名</param>
-    /// <param name="separator">多字段时的连接符</param>
-    /// <returns></returns>
-    public string GetDisplayColumn(string tableAlias, string separator = "-") => "$\"" + string.Join(separator, FkDisplayColumnList?.Select(name => $"{{{tableAlias}.{name}}}") ?? new List<string>()) + "\"";
+// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
+//
+// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
+//
+// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
+
+namespace Admin.NET.Core.Service;
+
+/// <summary>
+/// 代码生成详细配置参数
+/// </summary>
+public class CodeGenConfig
+{
+    /// <summary>
+    /// 主键Id
+    /// </summary>
+    public long Id { get; set; }
+
+    /// <summary>
+    /// 代码生成主表ID
+    /// </summary>
+    public long CodeGenId { get; set; }
+
+    /// <summary>
+    /// 数据库字段名
+    /// </summary>
+    public string ColumnName { get; set; }
+
+    /// <summary>
+    /// 主外键
+    /// </summary>
+    public string ColumnKey { get; set; }
+
+    /// <summary>
+    /// 实体属性名
+    /// </summary>
+    public string PropertyName { get; set; }
+
+    /// <summary>
+    /// 字段数据长度
+    /// </summary>
+    public int ColumnLength { get; set; }
+
+    /// <summary>
+    /// 数据库字段名(首字母小写)
+    /// </summary>
+    public string LowerPropertyName => string.IsNullOrWhiteSpace(PropertyName) ? null : PropertyName[..1].ToLower() + PropertyName[1..];
+
+    /// <summary>
+    /// 字段描述
+    /// </summary>
+    public string ColumnComment { get; set; }
+
+    /// <summary>
+    /// .NET类型
+    /// </summary>
+    public string NetType { get; set; }
+
+    /// <summary>
+    /// 数据库中类型(物理类型)
+    /// </summary>
+    public string DataType { get; set; }
+
+    /// <summary>
+    /// 字段数据默认值
+    /// </summary>
+    public string DefaultValue { get; set; }
+
+    /// <summary>
+    /// 可空.NET类型
+    /// </summary>
+    public string NullableNetType => Regex.IsMatch(NetType ?? "", "(.*?Enum|bool|char|int|long|double|float|decimal)[?]?") ? NetType.TrimEnd('?') + "?" : NetType;
+
+    /// <summary>
+    /// 作用类型(字典)
+    /// </summary>
+    public string EffectType { get; set; }
+
+    /// <summary>
+    /// 外键库标识
+    /// </summary>
+    public string FkConfigId { get; set; }
+
+    /// <summary>
+    /// 外键实体名称
+    /// </summary>
+    public string FkEntityName { get; set; }
+
+    /// <summary>
+    /// 外键表名称
+    /// </summary>
+    public string FkTableName { get; set; }
+
+    /// <summary>
+    /// 外键实体名称(首字母小写)
+    /// </summary>
+    public string LowerFkEntityName => string.IsNullOrWhiteSpace(FkEntityName) ? null : FkEntityName[..1].ToLower() + FkEntityName[1..];
+
+    /// <summary>
+    /// 外键链接字段
+    /// </summary>
+    public string FkLinkColumnName { get; set; }
+
+    /// <summary>
+    /// 外键显示字段
+    /// </summary>
+    [Newtonsoft.Json.JsonIgnore]
+    [System.Text.Json.Serialization.JsonIgnore]
+    public string FkDisplayColumns { get; set; }
+
+    /// <summary>
+    /// 外键显示字段
+    /// </summary>
+    public List<string> FkDisplayColumnList { get; set; }
+
+    /// <summary>
+    /// 外键显示字段(首字母小写)
+    /// </summary>
+    public List<string> LowerFkDisplayColumnsList => FkDisplayColumnList?.Select(name => name[..1].ToLower() + name[1..]).ToList();
+
+    /// <summary>
+    /// 外键显示字段.NET类型
+    /// </summary>
+    public string FkColumnNetType { get; set; }
+
+    /// <summary>
+    /// 父级字段
+    /// </summary>
+    public string PidColumn { get; set; }
+
+    /// <summary>
+    /// 字典code
+    /// </summary>
+    public string DictTypeCode { get; set; }
+
+    /// <summary>
+    /// 查询方式
+    /// </summary>
+    public string QueryType { get; set; }
+
+    /// <summary>
+    /// 是否是查询条件
+    /// </summary>
+    public string WhetherQuery { get; set; }
+
+    /// <summary>
+    /// 列表是否缩进(字典)
+    /// </summary>
+    public string WhetherRetract { get; set; }
+
+    /// <summary>
+    /// 是否必填(字典)
+    /// </summary>
+    public string WhetherRequired { get; set; }
+
+    /// <summary>
+    /// 是否可排序(字典)
+    /// </summary>
+    public string WhetherSortable { get; set; }
+
+    /// <summary>
+    /// 列表显示
+    /// </summary>
+    public string WhetherTable { get; set; }
+
+    /// <summary>
+    /// 增改
+    /// </summary>
+    public string WhetherAddUpdate { get; set; }
+
+    /// <summary>
+    /// 导入
+    /// </summary>
+    public string WhetherImport { get; set; }
+
+    /// <summary>
+    /// 是否是通用字段
+    /// </summary>
+    public string WhetherCommon { get; set; }
+
+    /// <summary>
+    /// 排序
+    /// </summary>
+    public int OrderNo { get; set; }
+
+    /// <summary>
+    /// 是否是选择器控件
+    /// </summary>
+    public bool IsSelectorEffectType => Regex.IsMatch(EffectType ?? "", "Selector$|ForeignKey", RegexOptions.IgnoreCase);
+
+    /// <summary>
+    /// 去掉尾部Id的属性名
+    /// </summary>
+    public string PropertyNameTrimEndId => PropertyName.TrimEnd("Id");
+
+    /// <summary>
+    /// 去掉尾部Id的属性名
+    /// </summary>
+    public string LowerPropertyNameTrimEndId => LowerPropertyName.TrimEnd("Id");
+
+    /// <summary>
+    /// 扩展属性名称
+    /// </summary>
+    public string ExtendedPropertyName => EffectType switch
+    {
+        "ForeignKey" => $"{PropertyName.TrimEnd("Id")}FkDisplayName",
+        "ApiTreeSelector" => $"{PropertyName.TrimEnd("Id")}DisplayName",
+        "DictSelector" => $"{PropertyName.TrimEnd("Id")}DictLabel",
+        "Upload" => $"{PropertyName.TrimEnd("Id")}Attachment",
+        "Upload_SingleFile" => $"{PropertyName.TrimEnd("Id")}Attachment",
+        _ => PropertyName
+    };
+
+    /// <summary>
+    /// 首字母小写的扩展属性名称
+    /// </summary>
+    public string LowerExtendedPropertyName
+    {
+        get
+        {
+            var displayPropertyName = ExtendedPropertyName;
+            if (string.IsNullOrWhiteSpace(displayPropertyName)) return null;
+            return displayPropertyName[..1].ToLower() + displayPropertyName[1..];
+        }
+    }
+
+    /// <summary>
+    /// 获取外键显示值语句
+    /// </summary>
+    /// <param name="tableAlias">表别名</param>
+    /// <param name="separator">多字段时的连接符</param>
+    /// <returns></returns>
+    public string GetDisplayColumn(string tableAlias, string separator = "-") => "$\"" + string.Join(separator, FkDisplayColumnList?.Select(name => $"{{{tableAlias}.{name}}}") ?? new List<string>()) + "\"";
 }

+ 4 - 5
Admin.NET/Admin.NET.Core/Service/CodeGen/SysCodeGenService.cs

@@ -115,7 +115,6 @@ public class SysCodeGenService : IDynamicApiController, ITransient
             _codeGenConfigService.AddList(GetColumnList(input.Adapt<AddCodeGenInput>()), codeGen);
             //}
             _db.AsTenant().CommitTran();
-
         }
         catch (Exception ex)
         {
@@ -452,12 +451,12 @@ public class SysCodeGenService : IDynamicApiController, ITransient
             TableField = tableFieldList,
             QueryWhetherList = tableFieldList.Where(u => u.WhetherQuery == "Y").ToList(),
             ImportFieldList = tableFieldList.Where(u => u.WhetherImport == "Y").ToList(),
-            UploadFieldList = tableFieldList.Where(u => u.EffectType == "Upload").ToList(),
+            UploadFieldList = tableFieldList.Where(u => u.EffectType == "Upload" || u.EffectType == "Upload_SingleFile").ToList(),
             PrimaryKeyFieldList = tableFieldList.Where(c => c.ColumnKey == "True").ToList(),
             AddUpdateFieldList = tableFieldList.Where(u => u.WhetherAddUpdate == "Y").ToList(),
             ApiTreeFieldList = tableFieldList.Where(u => u.EffectType == "ApiTreeSelector").ToList(),
             DropdownFieldList = tableFieldList.Where(u => u.EffectType is "ForeignKey" or "ApiTreeSelector").ToList(),
-            DefaultValueList = tableFieldList.Where(u => u.DefaultValue != null && u.DefaultValue.Length>0).ToList(),
+            DefaultValueList = tableFieldList.Where(u => u.DefaultValue != null && u.DefaultValue.Length > 0).ToList(),
 
             HasJoinTable = joinTableList.Count > 0,
             HasDictField = tableFieldList.Any(u => u.EffectType == "DictSelector"),
@@ -490,7 +489,7 @@ public class SysCodeGenService : IDynamicApiController, ITransient
         }
         return (tableFieldList, result);
     }
-    
+
     /// <summary>
     /// 添加或更新菜单
     /// </summary>
@@ -570,7 +569,7 @@ public class SysCodeGenService : IDynamicApiController, ITransient
             });
         }
 
-        foreach (var column in tableFieldList.Where(u => u.EffectType == "Upload"))
+        foreach (var column in tableFieldList.Where(u => u.EffectType == "Upload" || u.EffectType == "Upload_SingleFile"))
         {
             newButtons.Add(new SysMenu
             {

+ 1 - 1
Admin.NET/Admin.NET.Core/Service/Dict/SysDictTypeService.cs

@@ -39,7 +39,7 @@ public class SysDictTypeService : IDynamicApiController, ITransient
             .WhereIF(!_userManager.SuperAdmin, u => u.IsTenant == YesNoEnum.Y)
             .WhereIF(!string.IsNullOrEmpty(input.Code?.Trim()), u => u.Code.Contains(input.Code))
             .WhereIF(!string.IsNullOrEmpty(input.Name?.Trim()), u => u.Name.Contains(input.Name));
-            //.OrderBy(u => new { u.OrderNo, u.Code })
+        //.OrderBy(u => new { u.OrderNo, u.Code })
         return await query.OrderBuilder(input).ToPagedListAsync(input.Page, input.PageSize);
     }
 

+ 12 - 2
Admin.NET/Admin.NET.Core/Service/User/SysUserService.cs

@@ -289,7 +289,17 @@ public class SysUserService : IDynamicApiController, ITransient
     [DisplayName("查看用户基本信息")]
     public virtual async Task<SysUser> GetBaseInfo()
     {
-        return await _sysUserRep.GetByIdAsync(_userManager.UserId);
+        return await _sysUserRep.AsQueryable().ClearFilter().FirstAsync(c => c.Id == _userManager.UserId);
+    }
+
+    /// <summary>
+    /// 查询用户组织机构信息 🔖
+    /// </summary>
+    /// <returns></returns>
+    [DisplayName("查询用户组织机构信息")]
+    public virtual async Task<List<SysOrg>> GetOrgInfo()
+    {
+        return await _sysOrgService.GetList(new OrgInput { Id = 0 });
     }
 
     /// <summary>
@@ -380,7 +390,7 @@ public class SysUserService : IDynamicApiController, ITransient
         input.PasswordOld = CryptogramUtil.SM2Decrypt(input.PasswordOld);
         input.PasswordNew = CryptogramUtil.SM2Decrypt(input.PasswordNew);
 
-        var user = await _sysUserRep.GetByIdAsync(_userManager.UserId) ?? throw Oops.Oh(ErrorCodeEnum.D0009);
+        var user = await _sysUserRep.AsQueryable().ClearFilter().FirstAsync(c => c.Id == _userManager.UserId) ?? throw Oops.Oh(ErrorCodeEnum.D0009);
         if (CryptogramUtil.CryptoType == CryptogramEnum.MD5.ToString())
         {
             if (user.Password != MD5Encryption.Encrypt(input.PasswordOld))

+ 4 - 4
Admin.NET/Admin.NET.Test/Admin.NET.Test.csproj

@@ -12,11 +12,11 @@
     </PropertyGroup>
 
     <ItemGroup>
-      <PackageReference Include="Furion.Xunit" Version="4.9.7.85" />
+      <PackageReference Include="Furion.Xunit" Version="4.9.7.96" />
       <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
-      <PackageReference Include="Selenium.Support" Version="4.33.0" />
-      <PackageReference Include="Selenium.WebDriver" Version="4.33.0" />
-      <PackageReference Include="Selenium.WebDriver.MSEdgeDriver" Version="136.0.3240.76" />
+      <PackageReference Include="Selenium.Support" Version="4.34.0" />
+      <PackageReference Include="Selenium.WebDriver" Version="4.34.0" />
+      <PackageReference Include="Selenium.WebDriver.MSEdgeDriver" Version="138.0.3351.65" />
       <PackageReference Include="xunit.assert" Version="2.9.3" />
     </ItemGroup>
 

+ 1 - 1
Admin.NET/Admin.NET.Web.Core/Admin.NET.Web.Core.csproj

@@ -11,7 +11,7 @@
 
   <ItemGroup>
     <PackageReference Include="IGeekFan.AspNetCore.Knife4jUI" Version="0.0.16" />
-    <PackageReference Include="System.Security.Cryptography.Pkcs" Version="9.0.6" />
+    <PackageReference Include="System.Security.Cryptography.Pkcs" Version="9.0.7" />
   </ItemGroup>
 
   <ItemGroup>

+ 5 - 3
Admin.NET/Admin.NET.Web.Core/Startup.cs

@@ -331,19 +331,21 @@ public class Startup : AppStartup
         app.UseScheduleUI(options =>
         {
             options.RequestPath = "/schedule"; // 必须以 / 开头且不以 / 结尾
-            options.DisableOnProduction = true; // 是否在生产环境中关闭
+            options.DisableOnProduction = false; // 是否在生产环境中关闭
             options.DisplayEmptyTriggerJobs = true; // 是否显示空作业触发器的作业
             options.DisplayHead = false; // 是否显示页头
             options.DefaultExpandAllJobs = false; // 是否默认展开所有作业
             options.EnableDirectoryBrowsing = false; // 是否启用目录浏览
             options.Title = "定时任务看板"; // 自定义看板标题
 
-            options.LoginHandle = async (username, password, httpContext) =>
+            options.LoginConfig.OnLoging = async (username, password, httpContext) =>
             {
                 var res = await httpContext.RequestServices.GetRequiredService<SysAuthService>().SwaggerSubmitUrl(new SpecificationAuth { UserName = username, Password = password });
                 return res == 200;
             };
-            options.LoginSessionKey = "schedule_session_key"; // 登录客户端存储的 Session 键
+            options.LoginConfig.DefaultUsername = "";
+            options.LoginConfig.DefaultPassword = "";
+            options.LoginConfig.SessionKey = "schedule_session_key"; // 登录客户端存储的 Session 键
         });
 
         // 配置Swagger-Knife4UI(路由前缀一致代表独立,不同则代表共存)

+ 2 - 2
Admin.NET/Admin.NET.Web.Entry/wwwroot/template/Output.cs.vm

@@ -1,4 +1,4 @@
-// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
+// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
 //
 // 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
 //
@@ -22,7 +22,7 @@ public class @(Model.ClassName)Output
     @:/// @(column.ColumnComment) 描述
     @:/// </summary>
     @:public string @(column.ExtendedPropertyName) { get; set; } 
-    }else if(column.EffectType == "Upload"){
+    }else if(column.EffectType == "Upload" || column.EffectType == "Upload_SingleFile"){
     @:
     @:/// <summary>
     @:/// @(column.ColumnComment) 附件信息

+ 3 - 3
Admin.NET/Admin.NET.Web.Entry/wwwroot/template/data.data.ts.vm

@@ -1,7 +1,7 @@
 import { h } from 'vue';
 import { BasicColumn, FormSchema } from '/@@/components/Table';
 @foreach (var column in Model.TableField){
-if(column.EffectType == "Upload"){
+if(column.EffectType == "Upload" || column.EffectType == "Upload_SingleFile"){
 @:import { uploadFile } from '/@@/api/sys/admin';
 }else if(column.EffectType == "ForeignKey"){
 @:import { get@(column.FkEntityName)Dropdown } from '/@@/api/main/@(Model.ClassName)';
@@ -22,7 +22,7 @@ export const columns: BasicColumn[] = [
     @:title: '@column.ColumnComment',
     @:dataIndex: '@column.LowerPropertyName',    
     @:sorter: true,
-if(column.EffectType == "Upload"){
+if(column.EffectType == "Upload" || column.EffectType == "Upload_SingleFile"){
     @:slots: { customRender: '@(column.LowerPropertyName)' },
 }else if(column.EffectType == "ForeignKey"){
     @:customRender: ({ record }) => {
@@ -144,7 +144,7 @@ if(column.EffectType == "ForeignKey"){
     }else{
     @:required: false,
     }
-    if(column.EffectType == "Upload"){
+    if(column.EffectType == "Upload" || column.EffectType == "Upload_SingleFile"){
     @:componentProps: {
       @:maxNumber: 1,
       @:api: uploadFile,

+ 2 - 2
Admin.NET/Admin.NET.Web.Entry/wwwroot/template/dataModal.vue.vm

@@ -32,7 +32,7 @@
             ...data.record,
           });
 @foreach (var column in Model.TableField){
-if(column.EffectType == "Upload"){
+if(column.EffectType == "Upload"  || column.EffectType == "Upload_SingleFile"){
           @:if (data.record.@(column.LowerPropertyName)) {
             @:setFieldsValue({
               @:@(column.LowerPropertyName): [data.record.@(column.LowerPropertyName)Attachment],
@@ -47,7 +47,7 @@ if(column.EffectType == "Upload"){
         try {
           var values = await validate();
 @foreach (var column in Model.TableField){
-if(column.EffectType == "Upload"){
+if(column.EffectType == "Upload"  || column.EffectType == "Upload_SingleFile"){
           @:if (values.@(column.LowerPropertyName)) {
             @:values = { ...values, @(column.LowerPropertyName): values.@(column.LowerPropertyName)[0].id };
           @:}

+ 17 - 2
Admin.NET/Admin.NET.Web.Entry/wwwroot/template/editDialog.vue.vm

@@ -6,7 +6,7 @@ import type { FormRules } from "element-plus";
 @:import { formatDate } from '/@@/utils/formatTime';
 }
 @if(Model.UploadFieldList.Count > 0) {
-@:import { Plus } from "@@element-plus/icons-vue";
+@:import { Plus,Document } from "@@element-plus/icons-vue";
 @:import { UploadRequestOptions } from "element-plus";
 }
 @if(Model.HasConstField) {
@@ -143,7 +143,22 @@ defineExpose({ openDialog });
 									@:style="width: 100%; height: 100%; object-fit: contain"/>
 									@:<el-icon v-else><Plus /></el-icon>
 							@:</el-upload>
-						} else if (column.EffectType == "InputNumber") {
+						}else if (column.EffectType == "Upload_SingleFile") {
+							@:<el-upload 
+							  @::show-file-list="false"
+							  @::http-request="upload@(column.PropertyName)Handle">
+								@:<template #trigger="">
+									@:<el-button class="mr10" type="primary" icon="ele-MostlyCloudy">选择文件</el-button> 
+									@:</template>
+								@:</el-upload>
+							@:<a
+							  @::href="state.ruleForm.@(column.LowerPropertyName)" target="_blank"
+							  @:v-if="state.ruleForm.@(column.LowerPropertyName)">
+								@:<el-icon class="mr5"><Document /></el-icon>
+								@:<span>{{ state.ruleForm.@(column.LowerPropertyName).split('/').pop() }}</span>
+								@:</a>
+							}
+                             else if (column.EffectType == "InputNumber") {
 							@:<el-input-number v-model="state.ruleForm.@(column.LowerPropertyName)" placeholder="请输入@(column.ColumnComment)" clearable />
 						} else if (column.EffectType == "Switch") {
 							@:<el-switch v-model="state.ruleForm.@(column.LowerPropertyName)" active-text="是" inactive-text="否" />

+ 1 - 1
Admin.NET/Plugins/Admin.NET.Plugin.ReZero/Admin.NET.Plugin.ReZero.csproj

@@ -26,7 +26,7 @@
   <ItemGroup>
     <PackageReference Include="DocumentFormat.OpenXml" Version="3.3.0" />
     <PackageReference Include="Microsoft.CodeAnalysis.CSharp.Scripting" Version="4.14.0" />
-    <PackageReference Include="Rezero.Api" Version="1.8.23" />
+    <PackageReference Include="Rezero.Api" Version="1.8.24" />
   </ItemGroup>
 
   <ItemGroup>

+ 4 - 4
Web/api_build/build.bat

@@ -18,15 +18,15 @@ if "%1"=="approvalFlow" (
 ) else if "%1"=="goView" (
   set moduleName=goView
   set apiServicesPath=%dir%..\src\api-plugins\goView\
-  set apiUrl=http://localhost:5005/swagger/GoView/swagger.json
+  set apiUrl=http://localhost:5005/swagger/GoView%%20%%E5%%A4%%A7%%E5%%B1%%8F%%E5%%8F%%AF%%E8%%A7%%86%%E5%%8C%%96/swagger.json
 )
 
 if exist %apiServicesPath% (
-    echo "================================ 删除目录 %apiServicesPath% ================================"
+    echo ================================ 删除目录 %moduleName% ================================
     rd /s /q %apiServicesPath%
 )
 
-echo "================================ 开始生成 %moduleName% ================================"
+echo ================================ 开始生成 %moduleName% ================================
 
 java -jar %dir%swagger-codegen-cli.jar generate -i %apiUrl% -l typescript-axios -o %apiServicesPath%
 
@@ -40,4 +40,4 @@ del /q %apiServicesPath%package.json
 del /q %apiServicesPath%README.md
 del /q %apiServicesPath%tsconfig.json
 
-echo "================================ 生成结束 ================================"
+echo ================================ 生成结束 ================================

+ 28 - 28
Web/package.json

@@ -2,7 +2,7 @@
 	"name": "admin.net",
 	"type": "module",
 	"version": "2.4.33",
-	"lastBuildTime": "2025.06.12",
+	"lastBuildTime": "2025.07.12",
 	"description": "Admin.NET 站在巨人肩膀上的 .NET 通用权限开发框架",
 	"author": "zuohuaijun",
 	"license": "MIT",
@@ -19,34 +19,34 @@
 	},
 	"dependencies": {
 		"@element-plus/icons-vue": "^2.3.1",
-		"@logicflow/core": "^2.0.15",
-		"@logicflow/extension": "^2.0.20",
+		"@logicflow/core": "^2.0.16",
+		"@logicflow/extension": "^2.0.21",
 		"@microsoft/signalr": "^8.0.7",
 		"@vue-office/docx": "^1.6.3",
 		"@vue-office/excel": "^1.7.14",
 		"@vue-office/pdf": "^2.0.10",
-		"@vueuse/core": "^13.2.0",
+		"@vueuse/core": "^13.5.0",
 		"@wangeditor/editor": "^5.1.23",
 		"@wangeditor/editor-for-vue": "^5.1.12",
 		"animate.css": "^4.1.1",
 		"async-validator": "^4.2.5",
-		"axios": "^1.9.0",
+		"axios": "^1.10.0",
 		"countup.js": "^2.8.2",
 		"cropperjs": "^1.6.2",
 		"echarts": "^5.6.0",
 		"echarts-gl": "^2.0.9",
 		"echarts-wordcloud": "^2.1.0",
-		"element-plus": "^2.10.1",
-		"ezuikit-js": "^8.1.9-beta.3",
+		"element-plus": "^2.10.4",
+		"ezuikit-js": "^8.1.12-beta.1",
 		"js-cookie": "^3.0.5",
 		"js-table2excel": "^1.1.2",
 		"json-editor-vue": "^0.18.1",
 		"jsplumb": "^2.15.6",
 		"lodash-es": "^4.17.21",
-		"md-editor-v3": "^5.6.1",
+		"md-editor-v3": "^5.7.1",
 		"mitt": "^3.0.1",
 		"monaco-editor": "^0.52.2",
-		"mqtt": "^5.13.1",
+		"mqtt": "^5.13.2",
 		"nprogress": "^0.2.0",
 		"pinia": "^3.0.3",
 		"print-js": "^1.6.0",
@@ -60,13 +60,13 @@
 		"splitpanes": "^4.0.4",
 		"vcrontab-3": "^3.3.22",
 		"vform3-builds": "^3.0.10",
-		"vue": "^3.5.14",
+		"vue": "^3.5.17",
 		"vue-clipboard3": "^2.0.0",
 		"vue-demi": "^0.14.10",
 		"vue-draggable-plus": "^0.6.0",
 		"vue-grid-layout": "3.0.0-beta1",
-		"vue-i18n": "^11.1.4",
-		"vue-json-pretty": "^2.4.0",
+		"vue-i18n": "^11.1.9",
+		"vue-json-pretty": "^2.5.0",
 		"vue-plugin-hiprint": "^0.0.60",
 		"vue-router": "^4.5.1",
 		"vue-signature-pad": "^3.0.2",
@@ -75,32 +75,32 @@
 	},
 	"devDependencies": {
 		"@eslint/eslintrc": "^3.3.1",
-		"@eslint/js": "^9.27.0",
+		"@eslint/js": "^9.31.0",
 		"@plugin-web-update-notification/vite": "^2.0.0",
 		"@types/lodash-es": "^4.17.12",
-		"@types/node": "^22.15.30",
+		"@types/node": "^22.15.35",
 		"@types/nprogress": "^0.2.3",
 		"@types/sortablejs": "^1.15.8",
-		"@typescript-eslint/eslint-plugin": "^8.34.0",
-		"@typescript-eslint/parser": "^8.34.0",
-		"@vitejs/plugin-vue": "^5.2.4",
-		"@vitejs/plugin-vue-jsx": "^4.2.0",
-		"@vue/compiler-sfc": "^3.5.14",
-		"code-inspector-plugin": "^0.20.10",
-		"eslint": "^9.27.0",
-		"eslint-plugin-vue": "^10.2.0",
-		"globals": "^16.2.0",
+		"@typescript-eslint/eslint-plugin": "^8.36.0",
+		"@typescript-eslint/parser": "^8.36.0",
+		"@vitejs/plugin-vue": "^6.0.0",
+		"@vitejs/plugin-vue-jsx": "^5.0.1",
+		"@vue/compiler-sfc": "^3.5.17",
+		"code-inspector-plugin": "^0.20.15",
+		"eslint": "^9.31.0",
+		"eslint-plugin-vue": "^10.3.0",
+		"globals": "^16.3.0",
 		"less": "^4.3.0",
-		"prettier": "^3.5.3",
+		"prettier": "^3.6.2",
 		"rollup-plugin-visualizer": "^6.0.3",
 		"sass": "^1.89.2",
-		"terser": "^5.42.0",
+		"terser": "^5.43.1",
 		"typescript": "^5.8.3",
-		"vite": "^6.3.5",
+		"vite": "^7.0.4",
 		"vite-plugin-cdn-import": "^1.0.1",
-		"vite-plugin-compression2": "^2.0.1",
+		"vite-plugin-compression2": "^2.2.0",
 		"vite-plugin-vue-setup-extend": "^0.4.0",
-		"vue-eslint-parser": "^10.1.3"
+		"vue-eslint-parser": "^10.2.0"
 	},
 	"pnpm": {
 		"onlyBuiltDependencies": [

+ 30 - 14
Web/src/api-services/apis/sys-code-gen-config-api.ts

@@ -39,6 +39,7 @@ export const SysCodeGenConfigApiAxiosParamCreator = function (configuration?: Co
          * @param {string} [columnComment] 字段描述
          * @param {string} [netType] .NET类型
          * @param {string} [dataType] 数据库中类型(物理类型)
+         * @param {string} [defaultValue] 字段数据默认值
          * @param {string} [nullableNetType] 可空.NET类型
          * @param {string} [effectType] 作用类型(字典)
          * @param {string} [fkConfigId] 外键库标识
@@ -70,7 +71,7 @@ export const SysCodeGenConfigApiAxiosParamCreator = function (configuration?: Co
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        apiSysCodeGenConfigDetailGet: async (id?: number, codeGenId?: number, columnName?: string, columnKey?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, dataType?: string, nullableNetType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkLinkColumnName?: string, fkDisplayColumns?: string, fkDisplayColumnList?: Array<string>, lowerFkDisplayColumnsList?: Array<string>, fkColumnNetType?: string, pidColumn?: string, dictTypeCode?: string, queryType?: string, whetherQuery?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, whetherTable?: string, whetherAddUpdate?: string, whetherImport?: string, whetherCommon?: string, orderNo?: number, isSelectorEffectType?: boolean, propertyNameTrimEndId?: string, lowerPropertyNameTrimEndId?: string, extendedPropertyName?: string, lowerExtendedPropertyName?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+        apiSysCodeGenConfigDetailGet: async (id?: number, codeGenId?: number, columnName?: string, columnKey?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, dataType?: string, defaultValue?: string, nullableNetType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkLinkColumnName?: string, fkDisplayColumns?: string, fkDisplayColumnList?: Array<string>, lowerFkDisplayColumnsList?: Array<string>, fkColumnNetType?: string, pidColumn?: string, dictTypeCode?: string, queryType?: string, whetherQuery?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, whetherTable?: string, whetherAddUpdate?: string, whetherImport?: string, whetherCommon?: string, orderNo?: number, isSelectorEffectType?: boolean, propertyNameTrimEndId?: string, lowerPropertyNameTrimEndId?: string, extendedPropertyName?: string, lowerExtendedPropertyName?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
             const localVarPath = `/api/sysCodeGenConfig/detail`;
             // use dummy base URL string because the URL constructor only accepts absolute URLs.
             const localVarUrlObj = new URL(localVarPath, 'https://example.com');
@@ -131,6 +132,10 @@ export const SysCodeGenConfigApiAxiosParamCreator = function (configuration?: Co
                 localVarQueryParameter['DataType'] = dataType;
             }
 
+            if (defaultValue !== undefined) {
+                localVarQueryParameter['DefaultValue'] = defaultValue;
+            }
+
             if (nullableNetType !== undefined) {
                 localVarQueryParameter['NullableNetType'] = nullableNetType;
             }
@@ -272,6 +277,7 @@ export const SysCodeGenConfigApiAxiosParamCreator = function (configuration?: Co
          * @param {string} [columnComment] 字段描述
          * @param {string} [netType] .NET类型
          * @param {string} [dataType] 数据库中类型(物理类型)
+         * @param {string} [defaultValue] 字段数据默认值
          * @param {string} [nullableNetType] 可空.NET类型
          * @param {string} [effectType] 作用类型(字典)
          * @param {string} [fkConfigId] 外键库标识
@@ -303,7 +309,7 @@ export const SysCodeGenConfigApiAxiosParamCreator = function (configuration?: Co
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        apiSysCodeGenConfigListGet: async (id?: number, codeGenId?: number, columnName?: string, columnKey?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, dataType?: string, nullableNetType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkLinkColumnName?: string, fkDisplayColumns?: string, fkDisplayColumnList?: Array<string>, lowerFkDisplayColumnsList?: Array<string>, fkColumnNetType?: string, pidColumn?: string, dictTypeCode?: string, queryType?: string, whetherQuery?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, whetherTable?: string, whetherAddUpdate?: string, whetherImport?: string, whetherCommon?: string, orderNo?: number, isSelectorEffectType?: boolean, propertyNameTrimEndId?: string, lowerPropertyNameTrimEndId?: string, extendedPropertyName?: string, lowerExtendedPropertyName?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+        apiSysCodeGenConfigListGet: async (id?: number, codeGenId?: number, columnName?: string, columnKey?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, dataType?: string, defaultValue?: string, nullableNetType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkLinkColumnName?: string, fkDisplayColumns?: string, fkDisplayColumnList?: Array<string>, lowerFkDisplayColumnsList?: Array<string>, fkColumnNetType?: string, pidColumn?: string, dictTypeCode?: string, queryType?: string, whetherQuery?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, whetherTable?: string, whetherAddUpdate?: string, whetherImport?: string, whetherCommon?: string, orderNo?: number, isSelectorEffectType?: boolean, propertyNameTrimEndId?: string, lowerPropertyNameTrimEndId?: string, extendedPropertyName?: string, lowerExtendedPropertyName?: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
             const localVarPath = `/api/sysCodeGenConfig/list`;
             // use dummy base URL string because the URL constructor only accepts absolute URLs.
             const localVarUrlObj = new URL(localVarPath, 'https://example.com');
@@ -364,6 +370,10 @@ export const SysCodeGenConfigApiAxiosParamCreator = function (configuration?: Co
                 localVarQueryParameter['DataType'] = dataType;
             }
 
+            if (defaultValue !== undefined) {
+                localVarQueryParameter['DefaultValue'] = defaultValue;
+            }
+
             if (nullableNetType !== undefined) {
                 localVarQueryParameter['NullableNetType'] = nullableNetType;
             }
@@ -562,6 +572,7 @@ export const SysCodeGenConfigApiFp = function(configuration?: Configuration) {
          * @param {string} [columnComment] 字段描述
          * @param {string} [netType] .NET类型
          * @param {string} [dataType] 数据库中类型(物理类型)
+         * @param {string} [defaultValue] 字段数据默认值
          * @param {string} [nullableNetType] 可空.NET类型
          * @param {string} [effectType] 作用类型(字典)
          * @param {string} [fkConfigId] 外键库标识
@@ -593,8 +604,8 @@ export const SysCodeGenConfigApiFp = function(configuration?: Configuration) {
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async apiSysCodeGenConfigDetailGet(id?: number, codeGenId?: number, columnName?: string, columnKey?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, dataType?: string, nullableNetType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkLinkColumnName?: string, fkDisplayColumns?: string, fkDisplayColumnList?: Array<string>, lowerFkDisplayColumnsList?: Array<string>, fkColumnNetType?: string, pidColumn?: string, dictTypeCode?: string, queryType?: string, whetherQuery?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, whetherTable?: string, whetherAddUpdate?: string, whetherImport?: string, whetherCommon?: string, orderNo?: number, isSelectorEffectType?: boolean, propertyNameTrimEndId?: string, lowerPropertyNameTrimEndId?: string, extendedPropertyName?: string, lowerExtendedPropertyName?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSysCodeGenConfig>>> {
-            const localVarAxiosArgs = await SysCodeGenConfigApiAxiosParamCreator(configuration).apiSysCodeGenConfigDetailGet(id, codeGenId, columnName, columnKey, propertyName, columnLength, lowerPropertyName, columnComment, netType, dataType, nullableNetType, effectType, fkConfigId, fkEntityName, fkTableName, lowerFkEntityName, fkLinkColumnName, fkDisplayColumns, fkDisplayColumnList, lowerFkDisplayColumnsList, fkColumnNetType, pidColumn, dictTypeCode, queryType, whetherQuery, whetherRetract, whetherRequired, whetherSortable, whetherTable, whetherAddUpdate, whetherImport, whetherCommon, orderNo, isSelectorEffectType, propertyNameTrimEndId, lowerPropertyNameTrimEndId, extendedPropertyName, lowerExtendedPropertyName, options);
+        async apiSysCodeGenConfigDetailGet(id?: number, codeGenId?: number, columnName?: string, columnKey?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, dataType?: string, defaultValue?: string, nullableNetType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkLinkColumnName?: string, fkDisplayColumns?: string, fkDisplayColumnList?: Array<string>, lowerFkDisplayColumnsList?: Array<string>, fkColumnNetType?: string, pidColumn?: string, dictTypeCode?: string, queryType?: string, whetherQuery?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, whetherTable?: string, whetherAddUpdate?: string, whetherImport?: string, whetherCommon?: string, orderNo?: number, isSelectorEffectType?: boolean, propertyNameTrimEndId?: string, lowerPropertyNameTrimEndId?: string, extendedPropertyName?: string, lowerExtendedPropertyName?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSysCodeGenConfig>>> {
+            const localVarAxiosArgs = await SysCodeGenConfigApiAxiosParamCreator(configuration).apiSysCodeGenConfigDetailGet(id, codeGenId, columnName, columnKey, propertyName, columnLength, lowerPropertyName, columnComment, netType, dataType, defaultValue, nullableNetType, effectType, fkConfigId, fkEntityName, fkTableName, lowerFkEntityName, fkLinkColumnName, fkDisplayColumns, fkDisplayColumnList, lowerFkDisplayColumnsList, fkColumnNetType, pidColumn, dictTypeCode, queryType, whetherQuery, whetherRetract, whetherRequired, whetherSortable, whetherTable, whetherAddUpdate, whetherImport, whetherCommon, orderNo, isSelectorEffectType, propertyNameTrimEndId, lowerPropertyNameTrimEndId, extendedPropertyName, lowerExtendedPropertyName, options);
             return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
                 const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
                 return axios.request(axiosRequestArgs);
@@ -613,6 +624,7 @@ export const SysCodeGenConfigApiFp = function(configuration?: Configuration) {
          * @param {string} [columnComment] 字段描述
          * @param {string} [netType] .NET类型
          * @param {string} [dataType] 数据库中类型(物理类型)
+         * @param {string} [defaultValue] 字段数据默认值
          * @param {string} [nullableNetType] 可空.NET类型
          * @param {string} [effectType] 作用类型(字典)
          * @param {string} [fkConfigId] 外键库标识
@@ -644,8 +656,8 @@ export const SysCodeGenConfigApiFp = function(configuration?: Configuration) {
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async apiSysCodeGenConfigListGet(id?: number, codeGenId?: number, columnName?: string, columnKey?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, dataType?: string, nullableNetType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkLinkColumnName?: string, fkDisplayColumns?: string, fkDisplayColumnList?: Array<string>, lowerFkDisplayColumnsList?: Array<string>, fkColumnNetType?: string, pidColumn?: string, dictTypeCode?: string, queryType?: string, whetherQuery?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, whetherTable?: string, whetherAddUpdate?: string, whetherImport?: string, whetherCommon?: string, orderNo?: number, isSelectorEffectType?: boolean, propertyNameTrimEndId?: string, lowerPropertyNameTrimEndId?: string, extendedPropertyName?: string, lowerExtendedPropertyName?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListCodeGenConfig>>> {
-            const localVarAxiosArgs = await SysCodeGenConfigApiAxiosParamCreator(configuration).apiSysCodeGenConfigListGet(id, codeGenId, columnName, columnKey, propertyName, columnLength, lowerPropertyName, columnComment, netType, dataType, nullableNetType, effectType, fkConfigId, fkEntityName, fkTableName, lowerFkEntityName, fkLinkColumnName, fkDisplayColumns, fkDisplayColumnList, lowerFkDisplayColumnsList, fkColumnNetType, pidColumn, dictTypeCode, queryType, whetherQuery, whetherRetract, whetherRequired, whetherSortable, whetherTable, whetherAddUpdate, whetherImport, whetherCommon, orderNo, isSelectorEffectType, propertyNameTrimEndId, lowerPropertyNameTrimEndId, extendedPropertyName, lowerExtendedPropertyName, options);
+        async apiSysCodeGenConfigListGet(id?: number, codeGenId?: number, columnName?: string, columnKey?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, dataType?: string, defaultValue?: string, nullableNetType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkLinkColumnName?: string, fkDisplayColumns?: string, fkDisplayColumnList?: Array<string>, lowerFkDisplayColumnsList?: Array<string>, fkColumnNetType?: string, pidColumn?: string, dictTypeCode?: string, queryType?: string, whetherQuery?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, whetherTable?: string, whetherAddUpdate?: string, whetherImport?: string, whetherCommon?: string, orderNo?: number, isSelectorEffectType?: boolean, propertyNameTrimEndId?: string, lowerPropertyNameTrimEndId?: string, extendedPropertyName?: string, lowerExtendedPropertyName?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListCodeGenConfig>>> {
+            const localVarAxiosArgs = await SysCodeGenConfigApiAxiosParamCreator(configuration).apiSysCodeGenConfigListGet(id, codeGenId, columnName, columnKey, propertyName, columnLength, lowerPropertyName, columnComment, netType, dataType, defaultValue, nullableNetType, effectType, fkConfigId, fkEntityName, fkTableName, lowerFkEntityName, fkLinkColumnName, fkDisplayColumns, fkDisplayColumnList, lowerFkDisplayColumnsList, fkColumnNetType, pidColumn, dictTypeCode, queryType, whetherQuery, whetherRetract, whetherRequired, whetherSortable, whetherTable, whetherAddUpdate, whetherImport, whetherCommon, orderNo, isSelectorEffectType, propertyNameTrimEndId, lowerPropertyNameTrimEndId, extendedPropertyName, lowerExtendedPropertyName, options);
             return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
                 const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
                 return axios.request(axiosRequestArgs);
@@ -687,6 +699,7 @@ export const SysCodeGenConfigApiFactory = function (configuration?: Configuratio
          * @param {string} [columnComment] 字段描述
          * @param {string} [netType] .NET类型
          * @param {string} [dataType] 数据库中类型(物理类型)
+         * @param {string} [defaultValue] 字段数据默认值
          * @param {string} [nullableNetType] 可空.NET类型
          * @param {string} [effectType] 作用类型(字典)
          * @param {string} [fkConfigId] 外键库标识
@@ -718,8 +731,8 @@ export const SysCodeGenConfigApiFactory = function (configuration?: Configuratio
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async apiSysCodeGenConfigDetailGet(id?: number, codeGenId?: number, columnName?: string, columnKey?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, dataType?: string, nullableNetType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkLinkColumnName?: string, fkDisplayColumns?: string, fkDisplayColumnList?: Array<string>, lowerFkDisplayColumnsList?: Array<string>, fkColumnNetType?: string, pidColumn?: string, dictTypeCode?: string, queryType?: string, whetherQuery?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, whetherTable?: string, whetherAddUpdate?: string, whetherImport?: string, whetherCommon?: string, orderNo?: number, isSelectorEffectType?: boolean, propertyNameTrimEndId?: string, lowerPropertyNameTrimEndId?: string, extendedPropertyName?: string, lowerExtendedPropertyName?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSysCodeGenConfig>> {
-            return SysCodeGenConfigApiFp(configuration).apiSysCodeGenConfigDetailGet(id, codeGenId, columnName, columnKey, propertyName, columnLength, lowerPropertyName, columnComment, netType, dataType, nullableNetType, effectType, fkConfigId, fkEntityName, fkTableName, lowerFkEntityName, fkLinkColumnName, fkDisplayColumns, fkDisplayColumnList, lowerFkDisplayColumnsList, fkColumnNetType, pidColumn, dictTypeCode, queryType, whetherQuery, whetherRetract, whetherRequired, whetherSortable, whetherTable, whetherAddUpdate, whetherImport, whetherCommon, orderNo, isSelectorEffectType, propertyNameTrimEndId, lowerPropertyNameTrimEndId, extendedPropertyName, lowerExtendedPropertyName, options).then((request) => request(axios, basePath));
+        async apiSysCodeGenConfigDetailGet(id?: number, codeGenId?: number, columnName?: string, columnKey?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, dataType?: string, defaultValue?: string, nullableNetType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkLinkColumnName?: string, fkDisplayColumns?: string, fkDisplayColumnList?: Array<string>, lowerFkDisplayColumnsList?: Array<string>, fkColumnNetType?: string, pidColumn?: string, dictTypeCode?: string, queryType?: string, whetherQuery?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, whetherTable?: string, whetherAddUpdate?: string, whetherImport?: string, whetherCommon?: string, orderNo?: number, isSelectorEffectType?: boolean, propertyNameTrimEndId?: string, lowerPropertyNameTrimEndId?: string, extendedPropertyName?: string, lowerExtendedPropertyName?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSysCodeGenConfig>> {
+            return SysCodeGenConfigApiFp(configuration).apiSysCodeGenConfigDetailGet(id, codeGenId, columnName, columnKey, propertyName, columnLength, lowerPropertyName, columnComment, netType, dataType, defaultValue, nullableNetType, effectType, fkConfigId, fkEntityName, fkTableName, lowerFkEntityName, fkLinkColumnName, fkDisplayColumns, fkDisplayColumnList, lowerFkDisplayColumnsList, fkColumnNetType, pidColumn, dictTypeCode, queryType, whetherQuery, whetherRetract, whetherRequired, whetherSortable, whetherTable, whetherAddUpdate, whetherImport, whetherCommon, orderNo, isSelectorEffectType, propertyNameTrimEndId, lowerPropertyNameTrimEndId, extendedPropertyName, lowerExtendedPropertyName, options).then((request) => request(axios, basePath));
         },
         /**
          * 
@@ -734,6 +747,7 @@ export const SysCodeGenConfigApiFactory = function (configuration?: Configuratio
          * @param {string} [columnComment] 字段描述
          * @param {string} [netType] .NET类型
          * @param {string} [dataType] 数据库中类型(物理类型)
+         * @param {string} [defaultValue] 字段数据默认值
          * @param {string} [nullableNetType] 可空.NET类型
          * @param {string} [effectType] 作用类型(字典)
          * @param {string} [fkConfigId] 外键库标识
@@ -765,8 +779,8 @@ export const SysCodeGenConfigApiFactory = function (configuration?: Configuratio
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async apiSysCodeGenConfigListGet(id?: number, codeGenId?: number, columnName?: string, columnKey?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, dataType?: string, nullableNetType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkLinkColumnName?: string, fkDisplayColumns?: string, fkDisplayColumnList?: Array<string>, lowerFkDisplayColumnsList?: Array<string>, fkColumnNetType?: string, pidColumn?: string, dictTypeCode?: string, queryType?: string, whetherQuery?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, whetherTable?: string, whetherAddUpdate?: string, whetherImport?: string, whetherCommon?: string, orderNo?: number, isSelectorEffectType?: boolean, propertyNameTrimEndId?: string, lowerPropertyNameTrimEndId?: string, extendedPropertyName?: string, lowerExtendedPropertyName?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListCodeGenConfig>> {
-            return SysCodeGenConfigApiFp(configuration).apiSysCodeGenConfigListGet(id, codeGenId, columnName, columnKey, propertyName, columnLength, lowerPropertyName, columnComment, netType, dataType, nullableNetType, effectType, fkConfigId, fkEntityName, fkTableName, lowerFkEntityName, fkLinkColumnName, fkDisplayColumns, fkDisplayColumnList, lowerFkDisplayColumnsList, fkColumnNetType, pidColumn, dictTypeCode, queryType, whetherQuery, whetherRetract, whetherRequired, whetherSortable, whetherTable, whetherAddUpdate, whetherImport, whetherCommon, orderNo, isSelectorEffectType, propertyNameTrimEndId, lowerPropertyNameTrimEndId, extendedPropertyName, lowerExtendedPropertyName, options).then((request) => request(axios, basePath));
+        async apiSysCodeGenConfigListGet(id?: number, codeGenId?: number, columnName?: string, columnKey?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, dataType?: string, defaultValue?: string, nullableNetType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkLinkColumnName?: string, fkDisplayColumns?: string, fkDisplayColumnList?: Array<string>, lowerFkDisplayColumnsList?: Array<string>, fkColumnNetType?: string, pidColumn?: string, dictTypeCode?: string, queryType?: string, whetherQuery?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, whetherTable?: string, whetherAddUpdate?: string, whetherImport?: string, whetherCommon?: string, orderNo?: number, isSelectorEffectType?: boolean, propertyNameTrimEndId?: string, lowerPropertyNameTrimEndId?: string, extendedPropertyName?: string, lowerExtendedPropertyName?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListCodeGenConfig>> {
+            return SysCodeGenConfigApiFp(configuration).apiSysCodeGenConfigListGet(id, codeGenId, columnName, columnKey, propertyName, columnLength, lowerPropertyName, columnComment, netType, dataType, defaultValue, nullableNetType, effectType, fkConfigId, fkEntityName, fkTableName, lowerFkEntityName, fkLinkColumnName, fkDisplayColumns, fkDisplayColumnList, lowerFkDisplayColumnsList, fkColumnNetType, pidColumn, dictTypeCode, queryType, whetherQuery, whetherRetract, whetherRequired, whetherSortable, whetherTable, whetherAddUpdate, whetherImport, whetherCommon, orderNo, isSelectorEffectType, propertyNameTrimEndId, lowerPropertyNameTrimEndId, extendedPropertyName, lowerExtendedPropertyName, options).then((request) => request(axios, basePath));
         },
         /**
          * 
@@ -801,6 +815,7 @@ export class SysCodeGenConfigApi extends BaseAPI {
      * @param {string} [columnComment] 字段描述
      * @param {string} [netType] .NET类型
      * @param {string} [dataType] 数据库中类型(物理类型)
+     * @param {string} [defaultValue] 字段数据默认值
      * @param {string} [nullableNetType] 可空.NET类型
      * @param {string} [effectType] 作用类型(字典)
      * @param {string} [fkConfigId] 外键库标识
@@ -833,8 +848,8 @@ export class SysCodeGenConfigApi extends BaseAPI {
      * @throws {RequiredError}
      * @memberof SysCodeGenConfigApi
      */
-    public async apiSysCodeGenConfigDetailGet(id?: number, codeGenId?: number, columnName?: string, columnKey?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, dataType?: string, nullableNetType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkLinkColumnName?: string, fkDisplayColumns?: string, fkDisplayColumnList?: Array<string>, lowerFkDisplayColumnsList?: Array<string>, fkColumnNetType?: string, pidColumn?: string, dictTypeCode?: string, queryType?: string, whetherQuery?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, whetherTable?: string, whetherAddUpdate?: string, whetherImport?: string, whetherCommon?: string, orderNo?: number, isSelectorEffectType?: boolean, propertyNameTrimEndId?: string, lowerPropertyNameTrimEndId?: string, extendedPropertyName?: string, lowerExtendedPropertyName?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSysCodeGenConfig>> {
-        return SysCodeGenConfigApiFp(this.configuration).apiSysCodeGenConfigDetailGet(id, codeGenId, columnName, columnKey, propertyName, columnLength, lowerPropertyName, columnComment, netType, dataType, nullableNetType, effectType, fkConfigId, fkEntityName, fkTableName, lowerFkEntityName, fkLinkColumnName, fkDisplayColumns, fkDisplayColumnList, lowerFkDisplayColumnsList, fkColumnNetType, pidColumn, dictTypeCode, queryType, whetherQuery, whetherRetract, whetherRequired, whetherSortable, whetherTable, whetherAddUpdate, whetherImport, whetherCommon, orderNo, isSelectorEffectType, propertyNameTrimEndId, lowerPropertyNameTrimEndId, extendedPropertyName, lowerExtendedPropertyName, options).then((request) => request(this.axios, this.basePath));
+    public async apiSysCodeGenConfigDetailGet(id?: number, codeGenId?: number, columnName?: string, columnKey?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, dataType?: string, defaultValue?: string, nullableNetType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkLinkColumnName?: string, fkDisplayColumns?: string, fkDisplayColumnList?: Array<string>, lowerFkDisplayColumnsList?: Array<string>, fkColumnNetType?: string, pidColumn?: string, dictTypeCode?: string, queryType?: string, whetherQuery?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, whetherTable?: string, whetherAddUpdate?: string, whetherImport?: string, whetherCommon?: string, orderNo?: number, isSelectorEffectType?: boolean, propertyNameTrimEndId?: string, lowerPropertyNameTrimEndId?: string, extendedPropertyName?: string, lowerExtendedPropertyName?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSysCodeGenConfig>> {
+        return SysCodeGenConfigApiFp(this.configuration).apiSysCodeGenConfigDetailGet(id, codeGenId, columnName, columnKey, propertyName, columnLength, lowerPropertyName, columnComment, netType, dataType, defaultValue, nullableNetType, effectType, fkConfigId, fkEntityName, fkTableName, lowerFkEntityName, fkLinkColumnName, fkDisplayColumns, fkDisplayColumnList, lowerFkDisplayColumnsList, fkColumnNetType, pidColumn, dictTypeCode, queryType, whetherQuery, whetherRetract, whetherRequired, whetherSortable, whetherTable, whetherAddUpdate, whetherImport, whetherCommon, orderNo, isSelectorEffectType, propertyNameTrimEndId, lowerPropertyNameTrimEndId, extendedPropertyName, lowerExtendedPropertyName, options).then((request) => request(this.axios, this.basePath));
     }
     /**
      * 
@@ -849,6 +864,7 @@ export class SysCodeGenConfigApi extends BaseAPI {
      * @param {string} [columnComment] 字段描述
      * @param {string} [netType] .NET类型
      * @param {string} [dataType] 数据库中类型(物理类型)
+     * @param {string} [defaultValue] 字段数据默认值
      * @param {string} [nullableNetType] 可空.NET类型
      * @param {string} [effectType] 作用类型(字典)
      * @param {string} [fkConfigId] 外键库标识
@@ -881,8 +897,8 @@ export class SysCodeGenConfigApi extends BaseAPI {
      * @throws {RequiredError}
      * @memberof SysCodeGenConfigApi
      */
-    public async apiSysCodeGenConfigListGet(id?: number, codeGenId?: number, columnName?: string, columnKey?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, dataType?: string, nullableNetType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkLinkColumnName?: string, fkDisplayColumns?: string, fkDisplayColumnList?: Array<string>, lowerFkDisplayColumnsList?: Array<string>, fkColumnNetType?: string, pidColumn?: string, dictTypeCode?: string, queryType?: string, whetherQuery?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, whetherTable?: string, whetherAddUpdate?: string, whetherImport?: string, whetherCommon?: string, orderNo?: number, isSelectorEffectType?: boolean, propertyNameTrimEndId?: string, lowerPropertyNameTrimEndId?: string, extendedPropertyName?: string, lowerExtendedPropertyName?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListCodeGenConfig>> {
-        return SysCodeGenConfigApiFp(this.configuration).apiSysCodeGenConfigListGet(id, codeGenId, columnName, columnKey, propertyName, columnLength, lowerPropertyName, columnComment, netType, dataType, nullableNetType, effectType, fkConfigId, fkEntityName, fkTableName, lowerFkEntityName, fkLinkColumnName, fkDisplayColumns, fkDisplayColumnList, lowerFkDisplayColumnsList, fkColumnNetType, pidColumn, dictTypeCode, queryType, whetherQuery, whetherRetract, whetherRequired, whetherSortable, whetherTable, whetherAddUpdate, whetherImport, whetherCommon, orderNo, isSelectorEffectType, propertyNameTrimEndId, lowerPropertyNameTrimEndId, extendedPropertyName, lowerExtendedPropertyName, options).then((request) => request(this.axios, this.basePath));
+    public async apiSysCodeGenConfigListGet(id?: number, codeGenId?: number, columnName?: string, columnKey?: string, propertyName?: string, columnLength?: number, lowerPropertyName?: string, columnComment?: string, netType?: string, dataType?: string, defaultValue?: string, nullableNetType?: string, effectType?: string, fkConfigId?: string, fkEntityName?: string, fkTableName?: string, lowerFkEntityName?: string, fkLinkColumnName?: string, fkDisplayColumns?: string, fkDisplayColumnList?: Array<string>, lowerFkDisplayColumnsList?: Array<string>, fkColumnNetType?: string, pidColumn?: string, dictTypeCode?: string, queryType?: string, whetherQuery?: string, whetherRetract?: string, whetherRequired?: string, whetherSortable?: string, whetherTable?: string, whetherAddUpdate?: string, whetherImport?: string, whetherCommon?: string, orderNo?: number, isSelectorEffectType?: boolean, propertyNameTrimEndId?: string, lowerPropertyNameTrimEndId?: string, extendedPropertyName?: string, lowerExtendedPropertyName?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListCodeGenConfig>> {
+        return SysCodeGenConfigApiFp(this.configuration).apiSysCodeGenConfigListGet(id, codeGenId, columnName, columnKey, propertyName, columnLength, lowerPropertyName, columnComment, netType, dataType, defaultValue, nullableNetType, effectType, fkConfigId, fkEntityName, fkTableName, lowerFkEntityName, fkLinkColumnName, fkDisplayColumns, fkDisplayColumnList, lowerFkDisplayColumnsList, fkColumnNetType, pidColumn, dictTypeCode, queryType, whetherQuery, whetherRetract, whetherRequired, whetherSortable, whetherTable, whetherAddUpdate, whetherImport, whetherCommon, orderNo, isSelectorEffectType, propertyNameTrimEndId, lowerPropertyNameTrimEndId, extendedPropertyName, lowerExtendedPropertyName, options).then((request) => request(this.axios, this.basePath));
     }
     /**
      * 

+ 84 - 0
Web/src/api-services/apis/sys-database-api.ts

@@ -28,6 +28,7 @@ import { DbColumnInput } from '../models';
 import { DbTableInput } from '../models';
 import { DeleteDbColumnInput } from '../models';
 import { DeleteDbTableInput } from '../models';
+import { MoveDbColumnInput } from '../models';
 import { UpdateDbColumnInput } from '../models';
 import { UpdateDbTableInput } from '../models';
 /**
@@ -514,6 +515,54 @@ export const SysDatabaseApiAxiosParamCreator = function (configuration?: Configu
                 options: localVarRequestOptions,
             };
         },
+        /**
+         * 
+         * @summary 移动列位置 🔖
+         * @param {MoveDbColumnInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysDatabaseMoveColumnPost: async (body?: MoveDbColumnInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysDatabase/moveColumn`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+            const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
+            localVarRequestOptions.data =  needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
         /**
          * 
          * @summary 获取表列表 🔖
@@ -850,6 +899,20 @@ export const SysDatabaseApiFp = function(configuration?: Configuration) {
                 return axios.request(axiosRequestArgs);
             };
         },
+        /**
+         * 
+         * @summary 移动列位置 🔖
+         * @param {MoveDbColumnInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseMoveColumnPost(body?: MoveDbColumnInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
+            const localVarAxiosArgs = await SysDatabaseApiAxiosParamCreator(configuration).apiSysDatabaseMoveColumnPost(body, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
         /**
          * 
          * @summary 获取表列表 🔖
@@ -1013,6 +1076,16 @@ export const SysDatabaseApiFactory = function (configuration?: Configuration, ba
         async apiSysDatabaseListGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListVisualDb>> {
             return SysDatabaseApiFp(configuration).apiSysDatabaseListGet(options).then((request) => request(axios, basePath));
         },
+        /**
+         * 
+         * @summary 移动列位置 🔖
+         * @param {MoveDbColumnInput} [body] 
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysDatabaseMoveColumnPost(body?: MoveDbColumnInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
+            return SysDatabaseApiFp(configuration).apiSysDatabaseMoveColumnPost(body, options).then((request) => request(axios, basePath));
+        },
         /**
          * 
          * @summary 获取表列表 🔖
@@ -1171,6 +1244,17 @@ export class SysDatabaseApi extends BaseAPI {
     public async apiSysDatabaseListGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListVisualDb>> {
         return SysDatabaseApiFp(this.configuration).apiSysDatabaseListGet(options).then((request) => request(this.axios, this.basePath));
     }
+    /**
+     * 
+     * @summary 移动列位置 🔖
+     * @param {MoveDbColumnInput} [body] 
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysDatabaseApi
+     */
+    public async apiSysDatabaseMoveColumnPost(body?: MoveDbColumnInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
+        return SysDatabaseApiFp(this.configuration).apiSysDatabaseMoveColumnPost(body, options).then((request) => request(this.axios, this.basePath));
+    }
     /**
      * 
      * @summary 获取表列表 🔖

+ 76 - 0
Web/src/api-services/apis/sys-user-api.ts

@@ -21,6 +21,7 @@ import { AddUserInput } from '../models';
 import { AdminResultInt32 } from '../models';
 import { AdminResultInt64 } from '../models';
 import { AdminResultListInt64 } from '../models';
+import { AdminResultListSysOrg } from '../models';
 import { AdminResultListSysUserExtOrg } from '../models';
 import { AdminResultSqlSugarPagedListUserOutput } from '../models';
 import { AdminResultString } from '../models';
@@ -281,6 +282,49 @@ export const SysUserApiAxiosParamCreator = function (configuration?: Configurati
                 options: localVarRequestOptions,
             };
         },
+        /**
+         * 
+         * @summary 查询用户组织机构信息 🔖
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysUserOrgInfoGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysUser/orgInfo`;
+            // use dummy base URL string because the URL constructor only accepts absolute URLs.
+            const localVarUrlObj = new URL(localVarPath, 'https://example.com');
+            let baseOptions;
+            if (configuration) {
+                baseOptions = configuration.baseOptions;
+            }
+            const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options};
+            const localVarHeaderParameter = {} as any;
+            const localVarQueryParameter = {} as any;
+
+            // authentication Bearer required
+            // http bearer authentication required
+            if (configuration && configuration.accessToken) {
+                const accessToken = typeof configuration.accessToken === 'function'
+                    ? await configuration.accessToken()
+                    : await configuration.accessToken;
+                localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
+            }
+
+            const query = new URLSearchParams(localVarUrlObj.search);
+            for (const key in localVarQueryParameter) {
+                query.set(key, localVarQueryParameter[key]);
+            }
+            for (const key in options.params) {
+                query.set(key, options.params[key]);
+            }
+            localVarUrlObj.search = (new URLSearchParams(query)).toString();
+            let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
+            localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
+
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
         /**
          * 
          * @summary 获取用户扩展机构集合 🔖
@@ -704,6 +748,19 @@ export const SysUserApiFp = function(configuration?: Configuration) {
                 return axios.request(axiosRequestArgs);
             };
         },
+        /**
+         * 
+         * @summary 查询用户组织机构信息 🔖
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserOrgInfoGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListSysOrg>>> {
+            const localVarAxiosArgs = await SysUserApiAxiosParamCreator(configuration).apiSysUserOrgInfoGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
         /**
          * 
          * @summary 获取用户扩展机构集合 🔖
@@ -884,6 +941,15 @@ export const SysUserApiFactory = function (configuration?: Configuration, basePa
         async apiSysUserGrantRolePost(body?: UserRoleInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
             return SysUserApiFp(configuration).apiSysUserGrantRolePost(body, options).then((request) => request(axios, basePath));
         },
+        /**
+         * 
+         * @summary 查询用户组织机构信息 🔖
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysUserOrgInfoGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListSysOrg>> {
+            return SysUserApiFp(configuration).apiSysUserOrgInfoGet(options).then((request) => request(axios, basePath));
+        },
         /**
          * 
          * @summary 获取用户扩展机构集合 🔖
@@ -1039,6 +1105,16 @@ export class SysUserApi extends BaseAPI {
     public async apiSysUserGrantRolePost(body?: UserRoleInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
         return SysUserApiFp(this.configuration).apiSysUserGrantRolePost(body, options).then((request) => request(this.axios, this.basePath));
     }
+    /**
+     * 
+     * @summary 查询用户组织机构信息 🔖
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysUserApi
+     */
+    public async apiSysUserOrgInfoGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListSysOrg>> {
+        return SysUserApiFp(this.configuration).apiSysUserOrgInfoGet(options).then((request) => request(this.axios, this.basePath));
+    }
     /**
      * 
      * @summary 获取用户扩展机构集合 🔖

+ 8 - 0
Web/src/api-services/models/code-gen-config.ts

@@ -100,6 +100,14 @@ export interface CodeGenConfig {
      */
     dataType?: string | null;
 
+    /**
+     * 字段数据默认值
+     *
+     * @type {string}
+     * @memberof CodeGenConfig
+     */
+    defaultValue?: string | null;
+
     /**
      * 可空.NET类型
      *

+ 8 - 0
Web/src/api-services/models/column-ouput.ts

@@ -52,6 +52,14 @@ export interface ColumnOuput {
      */
     dataType?: string | null;
 
+    /**
+     * 字段数据默认值
+     *
+     * @type {string}
+     * @memberof ColumnOuput
+     */
+    defaultValue?: string | null;
+
     /**
      * 是否为主键
      *

+ 71 - 69
Web/src/api-services/models/db-column-input.ts

@@ -1,86 +1,88 @@
 /* tslint:disable */
-
+/* eslint-disable */
 /**
  * Admin.NET 通用权限开发平台
  * 让 .NET 开发更简单、更通用、更流行。整合最新技术,模块插件式开发,前后端分离,开箱即用。<br/><u><b><font color='FF0000'> 👮不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!</font></b></u>
  *
  * OpenAPI spec version: 1.0.0
- *
+ * 
  *
  * NOTE: This class is auto generated by the swagger code generator program.
  * https://github.com/swagger-api/swagger-codegen.git
  * Do not edit the class manually.
  */
-/**
+
+ /**
+ * 
  *
  * @export
  * @interface DbColumnInput
  */
 export interface DbColumnInput {
-	/**
-	 *
-	 * @type {string}
-	 * @memberof DbColumnInput
-	 */
-	configId?: string | null;
-	/**
-	 *
-	 * @type {string}
-	 * @memberof DbColumnInput
-	 */
-	tableName?: string | null;
-	/**
-	 *
-	 * @type {string}
-	 * @memberof DbColumnInput
-	 */
-	dbColumnName?: string | null;
-	/**
-	 *
-	 * @type {string}
-	 * @memberof DbColumnInput
-	 */
-	dataType?: string | null;
-	/**
-	 *
-	 * @type {number}
-	 * @memberof DbColumnInput
-	 */
-	length?: number;
-	/**
-	 *
-	 * @type {string}
-	 * @memberof DbColumnInput
-	 */
-	columnDescription?: string | null;
-	/**
-	 *
-	 * @type {number}
-	 * @memberof DbColumnInput
-	 */
-	isNullable?: number;
-	/**
-	 *
-	 * @type {number}
-	 * @memberof DbColumnInput
-	 */
-	isIdentity?: number;
-	/**
-	 *
-	 * @type {number}
-	 * @memberof DbColumnInput
-	 */
-	isPrimarykey?: number;
-	/**
-	 *
-	 * @type {number}
-	 * @memberof DbColumnInput
-	 */
-	decimalDigits?: number;
-	/**
-	 *
-	 * @type {string}
-	 * @memberof DbColumnInput
-	 */
-	defaultValue?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof DbColumnInput
+     */
+    configId?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof DbColumnInput
+     */
+    tableName?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof DbColumnInput
+     */
+    dbColumnName?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof DbColumnInput
+     */
+    dataType?: string | null;
+
+    /**
+     * @type {number}
+     * @memberof DbColumnInput
+     */
+    length?: number;
+
+    /**
+     * @type {string}
+     * @memberof DbColumnInput
+     */
+    columnDescription?: string | null;
+
+    /**
+     * @type {number}
+     * @memberof DbColumnInput
+     */
+    isNullable?: number;
+
+    /**
+     * @type {number}
+     * @memberof DbColumnInput
+     */
+    isIdentity?: number;
+
+    /**
+     * @type {number}
+     * @memberof DbColumnInput
+     */
+    isPrimarykey?: number;
+
+    /**
+     * @type {number}
+     * @memberof DbColumnInput
+     */
+    decimalDigits?: number;
+
+    /**
+     * @type {string}
+     * @memberof DbColumnInput
+     */
+    defaultValue?: string | null;
 }

+ 1 - 0
Web/src/api-services/models/index.ts

@@ -252,6 +252,7 @@ export * from './method-impl-attributes';
 export * from './method-info';
 export * from './module';
 export * from './module-handle';
+export * from './move-db-column-input';
 export * from './notice-input';
 export * from './notice-status-enum';
 export * from './notice-type-enum';

+ 8 - 0
Web/src/api-services/models/sys-code-gen-config.ts

@@ -140,6 +140,14 @@ export interface SysCodeGenConfig {
      */
     netType?: string | null;
 
+    /**
+     * 字段数据默认值
+     *
+     * @type {string}
+     * @memberof SysCodeGenConfig
+     */
+    defaultValue?: string | null;
+
     /**
      * 作用类型(字典)
      *

+ 41 - 39
Web/src/api-services/models/update-db-column-input.ts

@@ -1,56 +1,58 @@
 /* tslint:disable */
-
+/* eslint-disable */
 /**
  * Admin.NET 通用权限开发平台
  * 让 .NET 开发更简单、更通用、更流行。整合最新技术,模块插件式开发,前后端分离,开箱即用。<br/><u><b><font color='FF0000'> 👮不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!</font></b></u>
  *
  * OpenAPI spec version: 1.0.0
- *
+ * 
  *
  * NOTE: This class is auto generated by the swagger code generator program.
  * https://github.com/swagger-api/swagger-codegen.git
  * Do not edit the class manually.
  */
-/**
+
+ /**
+ * 
  *
  * @export
  * @interface UpdateDbColumnInput
  */
 export interface UpdateDbColumnInput {
-	/**
-	 *
-	 * @type {string}
-	 * @memberof UpdateDbColumnInput
-	 */
-	configId?: string | null;
-	/**
-	 *
-	 * @type {string}
-	 * @memberof UpdateDbColumnInput
-	 */
-	tableName?: string | null;
-	/**
-	 *
-	 * @type {string}
-	 * @memberof UpdateDbColumnInput
-	 */
-	columnName?: string | null;
-	/**
-	 *
-	 * @type {string}
-	 * @memberof UpdateDbColumnInput
-	 */
-	oldColumnName?: string | null;
-	/**
-	 *
-	 * @type {string}
-	 * @memberof UpdateDbColumnInput
-	 */
-	description?: string | null;
-	/**
-	 *
-	 * @type {string}
-	 * @memberof DbColumnInput
-	 */
-	defaultValue?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof UpdateDbColumnInput
+     */
+    configId?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof UpdateDbColumnInput
+     */
+    tableName?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof UpdateDbColumnInput
+     */
+    columnName?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof UpdateDbColumnInput
+     */
+    oldColumnName?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof UpdateDbColumnInput
+     */
+    description?: string | null;
+
+    /**
+     * @type {string}
+     * @memberof UpdateDbColumnInput
+     */
+    defaultValue?: string | null;
 }

+ 1 - 1
Web/src/components/table/search.vue

@@ -173,7 +173,7 @@ const onReset = (formEl: FormInstance | undefined) => {
 const userStore = useUserInfo();
 const getSelectOptions = (val: TableSearchType) => {
 	if (val.options) return val.options;
-	if (val.dictCode) return userStore.getDictDataByCode('TemplateTypeEnum');
+	if (val.dictCode) return userStore.getDictDataByCode(val.dictCode);
 	return [];
 };
 

+ 2 - 2
Web/src/views/system/user/component/orgTree.vue

@@ -36,7 +36,7 @@ import { storeToRefs } from 'pinia';
 import { useUserInfo } from '/@/stores/userInfo';
 
 import { getAPI } from '/@/utils/axios-utils';
-import { SysOrgApi } from '/@/api-services/api';
+import { SysUserApi } from '/@/api-services/api';
 
 const stores = useUserInfo();
 const { userInfos } = storeToRefs(stores);
@@ -57,7 +57,7 @@ const state = reactive({
 
 onMounted(async () => {
 	state.loading = true;
-	var res = await getAPI(SysOrgApi).apiSysOrgListGet(0);
+	var res = await getAPI(SysUserApi).apiSysUserOrgInfoGet();
 	var d = res.data.result ?? [];
 	state.orgData = d[0] ?? []; // 默认第一个树分支
 	if (state.orgData.id == userInfos.value.orgId) state.orgData.style = currentNodeStyle;