From acb99302249209e0d94fcd79aed2780482bc1083 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期二, 15 九月 2020 15:36:21 +0800
Subject: [PATCH] 代码生成支持富文本控件
---
src/main/java/com/ruoyi/common/constant/GenConstants.java | 3 +++
src/main/resources/vm/vue/index-tree.vue.vm | 20 +++++++++++++++++++-
src/main/resources/vm/vue/index.vue.vm | 16 ++++++++++++++++
src/main/java/com/ruoyi/project/tool/gen/util/GenUtils.java | 5 +++++
src/main/java/com/ruoyi/project/tool/gen/domain/GenTableColumn.java | 2 +-
5 files changed, 44 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/ruoyi/common/constant/GenConstants.java b/src/main/java/com/ruoyi/common/constant/GenConstants.java
index 04b6b7d..52485cf 100644
--- a/src/main/java/com/ruoyi/common/constant/GenConstants.java
+++ b/src/main/java/com/ruoyi/common/constant/GenConstants.java
@@ -74,6 +74,9 @@
/** 鏃ユ湡鎺т欢 */
public static final String HTML_DATETIME = "datetime";
+ /** 瀵屾枃鏈帶浠� */
+ public static final String HTML_EDITOR = "editor";
+
/** 瀛楃涓茬被鍨� */
public static final String TYPE_STRING = "String";
diff --git a/src/main/java/com/ruoyi/project/tool/gen/domain/GenTableColumn.java b/src/main/java/com/ruoyi/project/tool/gen/domain/GenTableColumn.java
index eb9fbfb..476777d 100644
--- a/src/main/java/com/ruoyi/project/tool/gen/domain/GenTableColumn.java
+++ b/src/main/java/com/ruoyi/project/tool/gen/domain/GenTableColumn.java
@@ -59,7 +59,7 @@
/** 鏌ヨ鏂瑰紡锛圗Q绛変簬銆丯E涓嶇瓑浜庛�丟T澶т簬銆丩T灏忎簬銆丩IKE妯$硦銆丅ETWEEN鑼冨洿锛� */
private String queryType;
- /** 鏄剧ず绫诲瀷锛坕nput鏂囨湰妗嗐�乼extarea鏂囨湰鍩熴�乻elect涓嬫媺妗嗐�乧heckbox澶嶉�夋銆乺adio鍗曢�夋銆乨atetime鏃ユ湡鎺т欢锛� */
+ /** 鏄剧ず绫诲瀷锛坕nput鏂囨湰妗嗐�乼extarea鏂囨湰鍩熴�乻elect涓嬫媺妗嗐�乧heckbox澶嶉�夋銆乺adio鍗曢�夋銆乨atetime鏃ユ湡鎺т欢銆乪ditor瀵屾枃鏈帶浠讹級 */
private String htmlType;
/** 瀛楀吀绫诲瀷 */
diff --git a/src/main/java/com/ruoyi/project/tool/gen/util/GenUtils.java b/src/main/java/com/ruoyi/project/tool/gen/util/GenUtils.java
index 525e1fb..dd7ed09 100644
--- a/src/main/java/com/ruoyi/project/tool/gen/util/GenUtils.java
+++ b/src/main/java/com/ruoyi/project/tool/gen/util/GenUtils.java
@@ -111,6 +111,11 @@
{
column.setHtmlType(GenConstants.HTML_SELECT);
}
+ // 鍐呭瀛楁璁剧疆瀵屾枃鏈帶浠�
+ else if (StringUtils.endsWithIgnoreCase(columnName, "content"))
+ {
+ column.setHtmlType(GenConstants.HTML_EDITOR);
+ }
}
/**
diff --git a/src/main/resources/vm/vue/index-tree.vue.vm b/src/main/resources/vm/vue/index-tree.vue.vm
index ba7dd18..10a9862 100644
--- a/src/main/resources/vm/vue/index-tree.vue.vm
+++ b/src/main/resources/vm/vue/index-tree.vue.vm
@@ -139,6 +139,10 @@
<el-form-item label="${comment}" prop="${field}">
<el-input v-model="form.${field}" placeholder="璇疯緭鍏�${comment}" />
</el-form-item>
+#elseif($column.htmlType == "editor")
+ <el-form-item label="${comment}">
+ <editor v-model="form.${field}" :min-height="192"/>
+ </el-form-item>
#elseif($column.htmlType == "select" && "" != $dictType)
<el-form-item label="${comment}" prop="${field}">
<el-select v-model="form.${field}" placeholder="璇烽�夋嫨${comment}">
@@ -221,10 +225,24 @@
import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName}, export${BusinessName} } from "@/api/${moduleName}/${businessName}";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+#foreach($column in $columns)
+#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "editor")
+import Editor from '@/components/Editor';
+#break
+#end
+#end
export default {
name: "${BusinessName}",
- components: { Treeselect },
+ components: {
+#foreach($column in $columns)
+#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "editor")
+ Editor,
+#break
+#end
+#end
+ Treeselect
+ },
data() {
return {
// 閬僵灞�
diff --git a/src/main/resources/vm/vue/index.vue.vm b/src/main/resources/vm/vue/index.vue.vm
index b5e45f5..e37e112 100644
--- a/src/main/resources/vm/vue/index.vue.vm
+++ b/src/main/resources/vm/vue/index.vue.vm
@@ -168,6 +168,10 @@
<el-form-item label="${comment}" prop="${field}">
<el-input v-model="form.${field}" placeholder="璇疯緭鍏�${comment}" />
</el-form-item>
+#elseif($column.htmlType == "editor")
+ <el-form-item label="${comment}">
+ <editor v-model="form.${field}" :min-height="192"/>
+ </el-form-item>
#elseif($column.htmlType == "select" && "" != $dictType)
<el-form-item label="${comment}" prop="${field}">
<el-select v-model="form.${field}" placeholder="璇烽�夋嫨${comment}">
@@ -248,9 +252,21 @@
<script>
import { list${BusinessName}, get${BusinessName}, del${BusinessName}, add${BusinessName}, update${BusinessName}, export${BusinessName} } from "@/api/${moduleName}/${businessName}";
+#foreach($column in $columns)
+#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "editor")
+import Editor from '@/components/Editor';
+#break
+#end
+#end
export default {
name: "${BusinessName}",
+#foreach($column in $columns)
+#if($column.insert && !$column.superColumn && !$column.pk && $column.htmlType == "editor")
+ components: { Editor },
+#break
+#end
+#end
data() {
return {
// 閬僵灞�
--
Gitblit v1.9.3