From 07dcbafd02e169ecd69e4e9209e4ca85b3571d8a Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期六, 17 二月 2024 16:25:03 +0800
Subject: [PATCH] #

---
 zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/BetterGenerator.java |  102 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 96 insertions(+), 6 deletions(-)

diff --git a/zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/BetterGenerator.java b/zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/BetterGenerator.java
index ede2c73..d92e88d 100644
--- a/zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/BetterGenerator.java
+++ b/zy-asrs-framework/src/main/java/com/zy/asrs/framework/generators/BetterGenerator.java
@@ -792,8 +792,13 @@
                 sb.append("            copyable: true,\n");
             }
             sb.append("            filterDropdown: (props) => <").append(getAntProFilterType(column)).append("\n")
-                    .append("                name='").append(column.getHumpName()).append("'\n")
-                    .append("                {...props}\n")
+                    .append("                name='").append(column.getHumpName()).append("'\n");
+
+            if (!Cools.isEmpty(column.getForeignKey())) {
+                sb.append("                major='").append(GeneratorUtils.firstCharConvert(column.getForeignKey())).append("'\n");
+            }
+
+            sb.append("                {...props}\n")
                     .append("                actionRef={actionRef}\n")
                     .append("                setSearchParam={setSearchParam}\n");
             if (!Cools.isEmpty(column.getEnums())) {
@@ -861,16 +866,101 @@
             ) {
                 continue;
             }
-
             if (times%2 == 0) {
-
+                sb.append("                    <ProForm.Group>\n");
             }
 
+            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");
+            }
+            if ("Date".equals(column.getType()) || !Cools.isEmpty(column.getEnums()) || !Cools.isEmpty(column.getForeignKeyMajor())){
+                // 鏃堕棿銆佹灇涓�  鏍煎紡鍖�  涓婚敭淇グ
+                sb.append("                            placeholder=\"璇烽�夋嫨\"\n");
+            } else {
+                sb.append("                            placeholder=\"璇疯緭鍏"\n");
+            }
+
+            // 闈炵┖
+            if (column.isNotNull()) {
+                sb.append("                            rules={[{ required: true, message: \"").append(column.getComment()).append("涓嶈兘涓虹┖锛乗" }]}\n");
+            }
+
+            // 鏋氫妇
+            if (!Cools.isEmpty(column.getEnums())) {
+                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");
+            }
+
+            // 鏃堕棿
+            if ("Date".equals(column.getType())) {
+                sb.append("                            transform={(value) => moment(value).toISOString()}\n");
+            }
+
+            // 鍏宠仈琛�
+            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("                        }}\n");
+            }
+
+            sb.append("                    />\n");
+
+            if (times%2 == 0) {
+                sb.append("                    </ProForm.Group>\n");
+            }
             times++;
         }
         return sb.toString();
     }
-
-
 
 }

--
Gitblit v1.9.1