From d69d8c1f77dacd2e9d15c3be21d945786a7ac2f3 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期一, 29 七月 2024 15:36:30 +0800
Subject: [PATCH] #
---
zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/VueGenerator.java | 173 ++++++++++++++++++++++++++++-----------------------------
1 files changed, 84 insertions(+), 89 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 23373e9..e04e49e 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
@@ -42,6 +42,7 @@
public String password;
public String table;
public String tableName;
+ public String rootPackagePath;
public String packagePath;
public boolean controller = true;
public boolean service = true;
@@ -73,6 +74,7 @@
private String itemName;
private String tableColumns;
private String formEditColumns;
+ private String formEditForeignKeyColumns;
public void build() throws Exception {
init();
@@ -120,12 +122,12 @@
break;
case "Index":
pass = vue;
- directory = frontendPrefixPath + "/src/views/" + simpleEntityName + "/";
+ directory = frontendPrefixPath + "/src/views/" + itemName + "/" + simpleEntityName + "/";
fileName = "index.vue";
break;
case "Edit":
pass = vue;
- directory = frontendPrefixPath + "/src/views/" + simpleEntityName + "/";
+ directory = frontendPrefixPath + "/src/views/" + itemName + "/" + simpleEntityName + "/";
fileName = "edit.vue";
break;
default:
@@ -200,6 +202,7 @@
.replaceAll("@\\{SIMPLEENTITYNAME}", simpleEntityName)
.replaceAll("@\\{UENTITYNAME}", simpleEntityName)
.replaceAll("@\\{COMPANYNAME}",packagePath)
+ .replaceAll("@\\{ROOTPACKAGEPATH}",rootPackagePath)
.replaceAll("@\\{ITEMNAME}",itemName)
// .replaceAll("@\\{XMLCONTENT}", xmlContent)
.replaceAll("@\\{HTMLCONTENT}", htmlContent)
@@ -217,6 +220,7 @@
.replaceAll("@\\{SYSTEMPACKAGE}",systemPackage)
.replaceAll("@\\{TABLECOLUMNS}", tableColumns)
.replaceAll("@\\{FORMEDITCOLUMNS}", formEditColumns)
+ .replaceAll("@\\{FORMEDITFOREIGNKEYCOLUMNS}", formEditForeignKeyColumns)
;
writerFile.createNewFile();
BufferedWriter writer=new BufferedWriter(new FileWriter(writerFile));
@@ -777,28 +781,33 @@
continue;
}
sb.append(" {\n")
- .append(" title: '").append(column.getComment()).append("',\n")
+ .append(" title: formatMessage('db.").append(table).append(".").append(column.getName()).append("', '").append(column.getComment()).append("'),").append("\n")
.append(" dataIndex: '");
+ StringBuilder rowKey = new StringBuilder();
if ("Date".equals(column.getType()) || !Cools.isEmpty(column.getEnums()) || !Cools.isEmpty(column.getForeignKeyMajor())){
// 鏃堕棿銆佹灇涓� 鏍煎紡鍖� 涓婚敭淇グ
- sb.append(column.getHumpName()).append("\\$");
+ rowKey.append(column.getHumpName()).append("\\$");
} else {
- sb.append(column.getHumpName());
+ rowKey.append(column.getHumpName());
}
+ sb.append(rowKey);
sb.append("',\n")
- .append(" width: 140,\n");
- if (!Cools.isEmpty(column.getEnums())) {
- sb.append(" customRender: (column) => {\n");
- sb.append(" let typeMap = {");
- for (Map<String, Object> map : column.getEnums()) {
- for (Map.Entry<String, Object> entry : map.entrySet()){
- sb.append(" ").append(entry.getKey()).append(": ");
- sb.append(" { text: '").append(entry.getValue()).append("'").append(" },\n");
- }
- }
- sb.append(" }\n");
- sb.append(" }\n");
- }
+ .append(" width: 140,\n")
+ .append(" ellipsis: true,\n")
+ .append(" ...getColumnSearchProps('").append(rowKey).append("'),\n");
+// if (!Cools.isEmpty(column.getEnums())) {
+// sb.append(" customRender: (column) => {\n");
+// sb.append(" let typeMap = {");
+// for (Map<String, Object> map : column.getEnums()) {
+// for (Map.Entry<String, Object> entry : map.entrySet()){
+// sb.append(" ").append(entry.getKey()).append(": ");
+// sb.append(" { text: '").append(entry.getValue()).append("'").append(" },\n");
+// }
+// }
+// sb.append(" }\n");
+// sb.append(" return typeMap[column.value].text;");
+// sb.append(" }\n");
+// }
sb.append(" },\n");
}
return sb.toString();
@@ -846,109 +855,95 @@
private String createFormEditColumns() {
StringBuilder sb = new StringBuilder();
- int times = 0;
- boolean has = false;boolean init = false;
+ 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")
) {
continue;
}
- if (times%2 == 0) {
- sb.append(" <ProForm.Group>\n");
- has = true;init=true;
- }
- String itemType = "ProFormText";
- String precision = "";
- switch (column.getType()) {
- case "Boolean":
- itemType = "ProFormText";
- break;
- case "Short":
- itemType = "ProFormDigit";
- precision = "0";
- break;
- case "Integer":
- itemType = "ProFormDigit";
- precision = "0";
- break;
- case "Long":
- itemType = "ProFormDigit";
- precision = "0";
- break;
- case "Double":
- itemType = "ProFormDigit";
- precision = "2";
- break;
- case "String":
- itemType = "ProFormText";
- break;
- case "Date":
- itemType = "ProFormDateTimePicker";
- break;
- default:
- break;
- }
- if (!Cools.isEmpty(column.getEnums())) {
- itemType = "ProFormSelect";
- }
- if (!Cools.isEmpty(column.getForeignKey())) {
- itemType = "ProFormSelect";
- }
-
- sb.append(" <").append(itemType).append("\n")
- .append(" name=\"").append(column.getHumpName()).append("\"\n")
- .append(" label=\"").append(column.getComment()).append("\"\n")
- .append(" colProps={{ md: 12, xl: 12 }}\n");
- // 鏁板瓧灏忔暟鐐�
- if (!Cools.isEmpty(precision) && Cools.isEmpty(column.getEnums())) {
- sb.append(" fieldProps={{ precision: ").append(precision).append(" }}\n");
- }
+ sb.append(" <a-form-item \n");
+ sb.append(" :label=\"formatMessage('db.").append(table).append(".").append(column.getName()).append("', '").append(column.getComment()).append("') ").append("\" \n");
+ sb.append(" name=\"").append(column.getHumpName()).append("\" \n");
+ sb.append(" style=\"width: 250px;\" \n");
// 闈炵┖
if (column.isNotNull()) {
- sb.append(" rules={[{ required: true }]}\n");
+ sb.append(" :rules=\"[{ required: true }]\"\n");
}
+ sb.append(" >\n");
// 鏋氫妇
if (!Cools.isEmpty(column.getEnums())) {
- sb.append(" options={[\n");
+ sb.append(" <a-select \n");
+ sb.append(" v-model:value=\"formData.").append(column.getHumpName()).append("\" \n");
+ sb.append(" :options=\"[\n");
for (Map<String, Object> map : column.getEnums()) {
for (Map.Entry<String, Object> entry : map.entrySet()){
sb.append(" { label: '").append(entry.getValue()).append("', value: ").append(entry.getKey()).append(" },\n");
}
}
- sb.append(" ]}\n");
+ sb.append(" ]\"\n");
+ sb.append(" >\n");
+ sb.append(" </a-select>\n");
+ has = false;
}
// 鏃堕棿
if ("Date".equals(column.getType())) {
- sb.append(" transform={(value) => moment(value).toISOString()}\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 (!Cools.isEmpty(column.getForeignKey$())) {
+ 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$()).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");
- sb.append(" />\n");
+ foreignKeyContains.add(column.getForeignKey$());
+ }
- if (times%2 != 0) {
- sb.append(" </ProForm.Group>\n");
+ sb.append(" <a-select \n");
+ sb.append(" v-model:value=\"formData.").append(column.getHumpName()).append("\" \n");
+ sb.append(" :placeholder=\"formatMessage('common.select', '璇烽�夋嫨')\" \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;
}
- times++;
+
+ 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");
+
}
- if (init && has) {
- sb.append(" </ProForm.Group>\n");
- }
+
+ formEditForeignKeyColumns = sb2.toString();
return sb.toString();
}
--
Gitblit v1.9.1