Explorar o código

代码生成支持上传控件

RuoYi %!s(int64=5) %!d(string=hai) anos
pai
achega
cdc813c453

+ 3 - 0
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/GenConstants.java

@@ -74,6 +74,9 @@ public class GenConstants
74 74
     /** 日期控件 */
75 75
     public static final String HTML_DATETIME = "datetime";
76 76
 
77
+    /** 上传控件 */
78
+    public static final String HTML_UPLOAD_IMAGE = "uploadImage";
79
+
77 80
     /** 富文本控件 */
78 81
     public static final String HTML_EDITOR = "editor";
79 82
 

+ 1 - 1
ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/domain/GenTableColumn.java

@@ -60,7 +60,7 @@ public class GenTableColumn extends BaseEntity
60 60
     /** 查询方式(EQ等于、NE不等于、GT大于、LT小于、LIKE模糊、BETWEEN范围) */
61 61
     private String queryType;
62 62
 
63
-    /** 显示类型(input文本框、textarea文本域、select下拉框、checkbox复选框、radio单选框、datetime日期控件、editor富文本控件) */
63
+    /** 显示类型(input文本框、textarea文本域、select下拉框、checkbox复选框、radio单选框、datetime日期控件、upload上传控件、editor富文本控件) */
64 64
     private String htmlType;
65 65
 
66 66
     /** 字典类型 */

+ 5 - 0
ruoyi-modules/ruoyi-gen/src/main/java/com/ruoyi/gen/util/GenUtils.java

@@ -111,6 +111,11 @@ public class GenUtils
111 111
         {
112 112
             column.setHtmlType(GenConstants.HTML_SELECT);
113 113
         }
114
+        // 文件字段设置上传控件
115
+        else if (StringUtils.endsWithIgnoreCase(columnName, "image"))
116
+        {
117
+            column.setHtmlType(GenConstants.HTML_UPLOAD_IMAGE);
118
+        }
114 119
         // 内容字段设置富文本控件
115 120
         else if (StringUtils.endsWithIgnoreCase(columnName, "content"))
116 121
         {

+ 16 - 0
ruoyi-modules/ruoyi-gen/src/main/resources/vm/vue/index-tree.vue.vm

@@ -139,6 +139,10 @@
139 139
         <el-form-item label="${comment}" prop="${field}">
140 140
           <el-input v-model="form.${field}" placeholder="请输入${comment}" />
141 141
         </el-form-item>
142
+#elseif($column.htmlType == "uploadImage")
143
+        <el-form-item label="${comment}">
144
+          <uploadImage v-model="form.${field}"/>
145
+        </el-form-item>
142 146
 #elseif($column.htmlType == "editor")
143 147
         <el-form-item label="${comment}">
144 148
           <editor v-model="form.${field}" :min-height="192"/>
@@ -226,6 +230,12 @@ import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${Busin
226 230
 import Treeselect from "@riophae/vue-treeselect";
227 231
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
228 232
 #foreach($column in $columns)
233
+#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "uploadImage")
234
+import UploadImage from '@/components/UploadImage';
235
+#break
236
+#end
237
+#end
238
+#foreach($column in $columns)
229 239
 #if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "editor")
230 240
 import Editor from '@/components/Editor';
231 241
 #break
@@ -236,6 +246,12 @@ export default {
236 246
   name: "${BusinessName}",
237 247
   components: {
238 248
 #foreach($column in $columns)
249
+#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "uploadImage")
250
+    UploadImage,
251
+#break
252
+#end
253
+#end
254
+#foreach($column in $columns)
239 255
 #if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "editor")
240 256
     Editor,
241 257
 #break

+ 19 - 1
ruoyi-modules/ruoyi-gen/src/main/resources/vm/vue/index.vue.vm

@@ -168,6 +168,10 @@
168 168
         <el-form-item label="${comment}" prop="${field}">
169 169
           <el-input v-model="form.${field}" placeholder="请输入${comment}" />
170 170
         </el-form-item>
171
+#elseif($column.htmlType == "uploadImage")
172
+        <el-form-item label="${comment}">
173
+          <uploadImage v-model="form.${field}"/>
174
+        </el-form-item>
171 175
 #elseif($column.htmlType == "editor")
172 176
         <el-form-item label="${comment}">
173 177
           <editor v-model="form.${field}" :min-height="192"/>
@@ -253,6 +257,12 @@
253 257
 <script>
254 258
 import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName} } from "@/api/${moduleName}/${businessName}";
255 259
 #foreach($column in $columns)
260
+#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "uploadImage")
261
+import UploadImage from '@/components/UploadImage';
262
+#break
263
+#end
264
+#end
265
+#foreach($column in $columns)
256 266
 #if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "editor")
257 267
 import Editor from '@/components/Editor';
258 268
 #break
@@ -261,12 +271,20 @@ import Editor from '@/components/Editor';
261 271
 
262 272
 export default {
263 273
   name: "${BusinessName}",
274
+  components: {
275
+#foreach($column in $columns)
276
+#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "uploadImage")
277
+    UploadImage,
278
+#break
279
+#end
280
+#end
264 281
 #foreach($column in $columns)
265 282
 #if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "editor")
266
-  components: { Editor },
283
+    Editor,
267 284
 #break
268 285
 #end
269 286
 #end
287
+  },
270 288
   data() {
271 289
     return {
272 290
       // 遮罩层

+ 1 - 0
ruoyi-ui/src/views/tool/gen/editTable.vue

@@ -90,6 +90,7 @@
90 90
                 <el-option label="单选框" value="radio" />
91 91
                 <el-option label="复选框" value="checkbox" />
92 92
                 <el-option label="日期控件" value="datetime" />
93
+				<el-option label="上传控件" value="uploadImage" />
93 94
                 <el-option label="富文本控件" value="editor" />
94 95
               </el-select>
95 96
             </template>