Browse Source

修复代码生成修改无法绑定默认值,前端表名改回大写,否则生成的代码目录和文件都带下划线,修复代码生成问题。

jjwsoft 2 years ago
parent
commit
87b0b3f00f

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

@@ -190,15 +190,16 @@ public class SysCodeGenService : IDynamicApiController, ITransient
     /// <returns></returns>
     private List<ColumnOuput> GetColumnList([FromQuery] AddCodeGenInput input)
     {
-        var entityType = GetEntityInfos().GetAwaiter().GetResult().FirstOrDefault(u => u.DbTableName == input.TableName);
+        var config = App.GetOptions<DbConnectionOptions>().ConnectionConfigs.FirstOrDefault(u => u.ConfigId.ToString() == input.ConfigId);
+        var dbTableName = config.DbSettings.EnableUnderLine ? UtilMethods.ToUnderLine(input.TableName) : input.TableName;
+
+        var entityType = GetEntityInfos().GetAwaiter().GetResult().FirstOrDefault(u => u.DbTableName == dbTableName);
         if (entityType == null)
             return null;
 
         // 切库---多库代码生成用
         var provider = _db.AsTenant().GetConnectionScope(!string.IsNullOrEmpty(input.ConfigId) ? input.ConfigId : SqlSugarConst.MainConfigId);
 
-        var config = App.GetOptions<DbConnectionOptions>().ConnectionConfigs.FirstOrDefault(u => u.ConfigId.ToString() == input.ConfigId);
-        var dbTableName = config.DbSettings.EnableUnderLine ? UtilMethods.ToUnderLine(entityType.DbTableName) : entityType.DbTableName;
         var entityBasePropertyNames = _codeGenOptions.EntityBaseColumn[nameof(EntityTenant)];
         var columnInfos = provider.DbMaintenance.GetColumnInfosByTableName(dbTableName, false);
         var result = columnInfos.Select(u => new ColumnOuput

+ 4 - 6
Web/src/views/system/codeGen/component/editCodeGenDialog.vue

@@ -45,7 +45,7 @@
 					</el-col>
 					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
 						<el-form-item label="生成表" prop="tableName" :rules="[{ required: true, message: '生成表不能为空', trigger: 'blur' }]">
-							<el-select v-model="state.tableName" @change="tableChanged" value-key="value" filterable clearable class="w100">
+							<el-select v-model="state.ruleForm.tableName" @change="tableChanged" value-key="value" filterable clearable class="w100">
 								<el-option v-for="item in state.tableData" :key="item.entityName" :label="item.entityName + ' ( ' + item.tableName + ' )'" :value="item" />
 							</el-select>
 						</el-form-item>
@@ -134,8 +134,7 @@ const ruleFormRef = ref();
 const state = reactive({
 	isShowDialog: false,
 	ruleForm: {} as UpdateCodeGenInput,
-	tableData: [] as any,
-	tableName: '',
+	tableData: [] as any,	
 	dbData: [] as any,
 	menuData: [] as Array<SysMenu>,
 	codeGenTypeList: [] as any,
@@ -172,9 +171,8 @@ const dbChanged = async () => {
 };
 
 // table改变
-const tableChanged = (item: any) => {
-	state.tableName = item.tableName;
-	state.ruleForm.tableName = item.tableName;
+const tableChanged = (item: any) => {	
+	state.ruleForm.tableName = item.entityName;
 	state.ruleForm.busName = item.tableComment;
 };