From 80fbf18b10333979e2cd0e267cef3c4027fa0d2e Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期一, 01 七月 2024 18:31:33 +0800 Subject: [PATCH] # --- zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/VueGenerator.java | 48 +++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 41 insertions(+), 7 deletions(-) diff --git a/zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/VueGenerator.java b/zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/VueGenerator.java index 3fe2222..2adb39a 100644 --- a/zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/VueGenerator.java +++ b/zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/VueGenerator.java @@ -73,6 +73,7 @@ private String itemName; private String tableColumns; private String formEditColumns; + private String formEditForeignKeyColumns; public void build() throws Exception { init(); @@ -217,6 +218,7 @@ .replaceAll("@\\{SYSTEMPACKAGE}",systemPackage) .replaceAll("@\\{TABLECOLUMNS}", tableColumns) .replaceAll("@\\{FORMEDITCOLUMNS}", formEditColumns) + .replaceAll("@\\{FORMEDITFOREIGNKEYCOLUMNS}", formEditForeignKeyColumns) ; writerFile.createNewFile(); BufferedWriter writer=new BufferedWriter(new FileWriter(writerFile)); @@ -847,7 +849,10 @@ private String createFormEditColumns() { StringBuilder sb = new StringBuilder(); + StringBuilder sb2 = new StringBuilder(); + ArrayList<String> foreignKeyContains = new ArrayList<>(); for (Column column : columns) { + boolean has = true; if (column.isPrimaryKey() || column.getHumpName().equals("deleted") || column.getHumpName().equals("hostId") @@ -879,31 +884,60 @@ sb.append(" ]\"\n"); sb.append(" >\n"); sb.append(" </a-select>\n"); + has = false; } // 鏃堕棿 if ("Date".equals(column.getType())) { - sb.append(" <a-select \n"); + sb.append(" <a-date-picker \n"); sb.append(" v-model:value=\"formData.").append(column.getHumpName()).append("\" \n"); sb.append(" show-time \n"); sb.append(" format=\"YYYY-MM-DD HH:mm:ss\" \n"); sb.append(" value-format=\"YYYY-MM-DD HH:mm:ss\" \n"); sb.append(" /> \n"); + has = false; } // 鍏宠仈琛� if (!Cools.isEmpty(column.getForeignKey())) { -// sb.append(" showSearch\n") -// .append(" debounceTime={300}\n") -// .append(" request={async ({ keyWords }) => {\n") -// .append(" const resp = await Http.doPostForm('api/").append(GeneratorUtils.firstCharConvert(column.getForeignKey())).append("/query', { condition: keyWords });\n") -// .append(" return resp.data;\n") -// .append(" }}\n"); + if (!foreignKeyContains.contains(column.getForeignKey())) { + sb2.append("const ").append(column.getForeignKey()).append("QueryList = ref(null); \n"); + sb2.append(column.getForeignKey()).append("Query();\n"); + sb2.append("function ").append(column.getForeignKey()).append("Query() { \n"); + sb2.append(" postForm('/api/").append(column.getForeignKey().toLowerCase()).append("/query', {}).then(resp => { \n"); + sb2.append(" let result = resp.data;\n"); + sb2.append(" ").append(column.getForeignKey()).append("QueryList.value = result.data;\n"); + sb2.append(" })\n"); + sb2.append("}\n"); + + foreignKeyContains.add(column.getForeignKey()); + } + + sb.append(" <a-select \n"); + sb.append(" v-model:value=\"formData.").append(column.getHumpName()).append("\" \n"); + sb.append(" placeholder=\"Select users\" \n"); + sb.append(" style=\"width: 100%\" \n"); + sb.append(" show-search \n"); + sb.append(" :options=\"").append(column.getForeignKey()).append("QueryList\" \n"); + sb.append(" optionFilterProp=\"label\" \n"); + sb.append(" optionLabelProp=\"label\" \n"); + sb.append(" > \n"); + sb.append(" </a-select>\n"); + has = false; + } + + if (has) { + sb.append(" <a-input \n"); + sb.append(" v-model:value=\"formData.").append(column.getHumpName()).append("\" \n"); + sb.append(" /> \n"); + has = false; } sb.append(" </a-form-item>\n"); } + + formEditForeignKeyColumns = sb2.toString(); return sb.toString(); } -- Gitblit v1.9.1