Просмотр исходного кода

代码生成支持上传控件

RuoYi лет назад: 5
Родитель
Сommit
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
     public static final String HTML_DATETIME = "datetime";
75
     public static final String HTML_DATETIME = "datetime";
76
 
76
 
77
+    /** 上传控件 */
78
+    public static final String HTML_UPLOAD_IMAGE = "uploadImage";
79
+
77
     /** 富文本控件 */
80
     /** 富文本控件 */
78
     public static final String HTML_EDITOR = "editor";
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
     /** 查询方式(EQ等于、NE不等于、GT大于、LT小于、LIKE模糊、BETWEEN范围) */
60
     /** 查询方式(EQ等于、NE不等于、GT大于、LT小于、LIKE模糊、BETWEEN范围) */
61
     private String queryType;
61
     private String queryType;
62
 
62
 
63
-    /** 显示类型(input文本框、textarea文本域、select下拉框、checkbox复选框、radio单选框、datetime日期控件、editor富文本控件) */
63
+    /** 显示类型(input文本框、textarea文本域、select下拉框、checkbox复选框、radio单选框、datetime日期控件、upload上传控件、editor富文本控件) */
64
     private String htmlType;
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
             column.setHtmlType(GenConstants.HTML_SELECT);
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
         else if (StringUtils.endsWithIgnoreCase(columnName, "content"))
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
         <el-form-item label="${comment}" prop="${field}">
139
         <el-form-item label="${comment}" prop="${field}">
140
           <el-input v-model="form.${field}" placeholder="请输入${comment}" />
140
           <el-input v-model="form.${field}" placeholder="请输入${comment}" />
141
         </el-form-item>
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
 #elseif($column.htmlType == "editor")
146
 #elseif($column.htmlType == "editor")
143
         <el-form-item label="${comment}">
147
         <el-form-item label="${comment}">
144
           <editor v-model="form.${field}" :min-height="192"/>
148
           <editor v-model="form.${field}" :min-height="192"/>
@@ -226,6 +230,12 @@ import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${Busin
226
 import Treeselect from "@riophae/vue-treeselect";
230
 import Treeselect from "@riophae/vue-treeselect";
227
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
231
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
228
 #foreach($column in $columns)
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
 #if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "editor")
239
 #if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "editor")
230
 import Editor from '@/components/Editor';
240
 import Editor from '@/components/Editor';
231
 #break
241
 #break
@@ -236,6 +246,12 @@ export default {
236
   name: "${BusinessName}",
246
   name: "${BusinessName}",
237
   components: {
247
   components: {
238
 #foreach($column in $columns)
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
 #if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "editor")
255
 #if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "editor")
240
     Editor,
256
     Editor,
241
 #break
257
 #break

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

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

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

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