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

代码生成支持富文本控件

RuoYi лет назад: 5
Родитель
Сommit
9277d7173d

+ 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_EDITOR = "editor";
79
+
77
     /** 字符串类型 */
80
     /** 字符串类型 */
78
     public static final String TYPE_STRING = "String";
81
     public static final String TYPE_STRING = "String";
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日期控件) */
63
+    /** 显示类型(input文本框、textarea文本域、select下拉框、checkbox复选框、radio单选框、datetime日期控件、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, "content"))
116
+        {
117
+            column.setHtmlType(GenConstants.HTML_EDITOR);
118
+        }
114
     }
119
     }
115
 
120
 
116
     /**
121
     /**

+ 19 - 1
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 == "editor")
143
+        <el-form-item label="${comment}">
144
+          <editor v-model="form.${field}" :min-height="192"/>
145
+        </el-form-item>
142
 #elseif($column.htmlType == "select" && "" != $dictType)
146
 #elseif($column.htmlType == "select" && "" != $dictType)
143
         <el-form-item label="${comment}" prop="${field}">
147
         <el-form-item label="${comment}" prop="${field}">
144
           <el-select v-model="form.${field}" placeholder="请选择${comment}">
148
           <el-select v-model="form.${field}" placeholder="请选择${comment}">
@@ -221,10 +225,24 @@
221
 import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName}, export${BusinessName} } from "@/api/${moduleName}/${businessName}";
225
 import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName}, export${BusinessName} } from "@/api/${moduleName}/${businessName}";
222
 import Treeselect from "@riophae/vue-treeselect";
226
 import Treeselect from "@riophae/vue-treeselect";
223
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
227
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
228
+#foreach($column in $columns)
229
+#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "editor")
230
+import Editor from '@/components/Editor';
231
+#break
232
+#end
233
+#end
224
 
234
 
225
 export default {
235
 export default {
226
   name: "${BusinessName}",
236
   name: "${BusinessName}",
227
-  components: { Treeselect },
237
+  components: {
238
+#foreach($column in $columns)
239
+#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "editor")
240
+    Editor,
241
+#break
242
+#end
243
+#end
244
+    Treeselect
245
+  },
228
   data() {
246
   data() {
229
     return {
247
     return {
230
       // 遮罩层
248
       // 遮罩层

+ 16 - 0
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 == "editor")
172
+        <el-form-item label="${comment}">
173
+          <editor v-model="form.${field}" :min-height="192"/>
174
+        </el-form-item>
171
 #elseif($column.htmlType == "select" && "" != $dictType)
175
 #elseif($column.htmlType == "select" && "" != $dictType)
172
         <el-form-item label="${comment}" prop="${field}">
176
         <el-form-item label="${comment}" prop="${field}">
173
           <el-select v-model="form.${field}" placeholder="请选择${comment}">
177
           <el-select v-model="form.${field}" placeholder="请选择${comment}">
@@ -248,9 +252,21 @@
248
 
252
 
249
 <script>
253
 <script>
250
 import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName} } from "@/api/${moduleName}/${businessName}";
254
 import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName} } from "@/api/${moduleName}/${businessName}";
255
+#foreach($column in $columns)
256
+#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "editor")
257
+import Editor from '@/components/Editor';
258
+#break
259
+#end
260
+#end
251
 
261
 
252
 export default {
262
 export default {
253
   name: "${BusinessName}",
263
   name: "${BusinessName}",
264
+#foreach($column in $columns)
265
+#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "editor")
266
+  components: { Editor },
267
+#break
268
+#end
269
+#end
254
   data() {
270
   data() {
255
     return {
271
     return {
256
       // 遮罩层
272
       // 遮罩层

+ 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="editor" />
93
               </el-select>
94
               </el-select>
94
             </template>
95
             </template>
95
           </el-table-column>
96
           </el-table-column>