瀏覽代碼

修复-> 代码生成 -> 配置-> 外键设置窗口值不刷新问题

Cyrus Zhou 2 年之前
父節點
當前提交
8adc6821a1

+ 7 - 0
Admin.NET/Admin.NET.Core/Entity/SysCodeGenConfig.cs

@@ -60,6 +60,13 @@ public partial class SysCodeGenConfig : EntityBase
     [MaxLength(64)]
     public string? EffectType { get; set; }
 
+    /// <summary>
+    /// 外键库标识
+    /// </summary>
+    [SugarColumn(ColumnDescription = "外键库标识", Length = 20)]
+    [MaxLength(20)]
+    public string? FkConfigId { get; set; }
+
     /// <summary>
     /// 外键实体名称
     /// </summary>

+ 5 - 0
Admin.NET/Admin.NET.Core/Service/CodeGen/Dto/CodeGenConfig.cs

@@ -56,6 +56,11 @@ public class CodeGenConfig
     /// </summary>
     public string EffectType { get; set; }
 
+    /// <summary>
+    /// 外键库标识
+    /// </summary>
+    public string FkConfigId { get; set; }
+
     /// <summary>
     /// 外键实体名称
     /// </summary>

+ 17 - 2
Web/src/views/system/codeGen/component/fkDialog.vue

@@ -104,8 +104,17 @@ const getColumnInfoList = async () => {
 };
 
 // 打开弹窗
-const openDialog = (row: any) => {
+const openDialog = async (row: any) => {
 	rowdata = row;
+	if (rowdata.fkConfigId) {
+		await getDbList();
+		state.ruleForm.tableName = rowdata.fkTableName;
+		state.ruleForm.columnName = rowdata.fkColumnName;
+		state.ruleForm.linkColumnName = rowdata.fkLinkColumnName;
+		state.ruleForm.configId = rowdata.fkConfigId;
+		await DbChanged();
+		await TableChanged();
+	}
 	state.isShowDialog = true;
 };
 
@@ -116,15 +125,21 @@ const closeDialog = () => {
 	rowdata.fkEntityName = tableData.length == 0 ? '' : tableData[0].entityName;
 	rowdata.fkColumnName = state.ruleForm.columnName;
 	rowdata.fkLinkColumnName = state.ruleForm.linkColumnName;
+	rowdata.fkConfigId = state.ruleForm.configId;
 	let columnData = state.columnData.filter((x) => x.columnName == state.ruleForm.columnName);
 	rowdata.fkColumnNetType = columnData.length == 0 ? '' : columnData[0].netType;
 	emits('submitRefreshFk', rowdata);
-	state.isShowDialog = false;
+	cancel();
 };
 
 // 取消
 const cancel = () => {
 	state.isShowDialog = false;
+	ruleFormRef.value?.resetFields();
+	state.ruleForm = {};
+	state.dbData.value = [];
+	state.tableData.value = [];
+	state.columnData.value = [];
 };
 
 // 提交