From bb65cd1976231dc2665b9ba208b7ff26e325afd0 Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期四, 24 二月 2022 09:28:51 +0800 Subject: [PATCH] 代码生成子表支持日期/字典配置 --- ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java | 18 ++++++++ ruoyi-ui/src/views/system/notice/index.vue | 2 ruoyi-generator/src/main/resources/vm/vue/index.vue.vm | 35 +++++++++++++++-- ruoyi-ui/src/views/system/user/index.vue | 6 +- ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm | 40 ++++++++++++++++++-- ruoyi-ui/src/views/monitor/job/index.vue | 2 6 files changed, 89 insertions(+), 14 deletions(-) diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java index 6bce127..9ddf265 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java +++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java @@ -271,6 +271,23 @@ { List<GenTableColumn> columns = genTable.getColumns(); Set<String> dicts = new HashSet<String>(); + addDicts(dicts, columns); + if (StringUtils.isNotNull(genTable.getSubTable())) + { + List<GenTableColumn> subColumns = genTable.getSubTable().getColumns(); + addDicts(dicts, subColumns); + } + return StringUtils.join(dicts, ", "); + } + + /** + * 娣诲姞瀛楀吀鍒楄〃 + * + * @param dicts 瀛楀吀鍒楄〃 + * @param columns 鍒楅泦鍚� + */ + public static void addDicts(Set<String> dicts, List<GenTableColumn> columns) + { for (GenTableColumn column : columns) { if (!column.isSuperColumn() && StringUtils.isNotEmpty(column.getDictType()) && StringUtils.equalsAny( @@ -280,7 +297,6 @@ dicts.add("'" + column.getDictType() + "'"); } } - return StringUtils.join(dicts, ", "); } /** diff --git a/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm b/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm index e7687b7..f034d7d 100644 --- a/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm +++ b/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm @@ -44,7 +44,7 @@ v-model="queryParams.${column.javaField}" type="date" value-format="yyyy-MM-dd" - placeholder="閫夋嫨${comment}"> + placeholder="璇烽�夋嫨${comment}"> </el-date-picker> </el-form-item> #elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN") @@ -269,7 +269,7 @@ v-model="form.${field}" type="date" value-format="yyyy-MM-dd" - placeholder="閫夋嫨${comment}"> + placeholder="璇烽�夋嫨${comment}"> </el-date-picker> </el-form-item> #elseif($column.htmlType == "textarea") @@ -302,12 +302,39 @@ #set($comment=$column.columnComment) #end #if($column.pk || $javaField == ${subTableFkclassName}) -#elseif($column.list && "" != $javaField) - <el-table-column label="$comment" prop="${javaField}"> +#elseif($column.list && $column.htmlType == "input") + <el-table-column label="$comment" prop="${javaField}" width="150"> <template slot-scope="scope"> <el-input v-model="scope.row.$javaField" placeholder="璇疯緭鍏�$comment" /> </template> </el-table-column> +#elseif($column.list && $column.htmlType == "datetime") + <el-table-column label="$comment" prop="${javaField}" width="240"> + <template slot-scope="scope"> + <el-date-picker clearable v-model="scope.row.$javaField" type="date" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨$comment" /> + </template> + </el-table-column> +#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" != $column.dictType) + <el-table-column label="$comment" prop="${javaField}" width="150"> + <template slot-scope="scope"> + <el-select v-model="scope.row.$javaField" placeholder="璇烽�夋嫨$comment"> + <el-option + v-for="dict in dict.type.$column.dictType" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> + </el-select> + </template> + </el-table-column> +#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" == $column.dictType) + <el-table-column label="$comment" prop="${javaField}" width="150"> + <template slot-scope="scope"> + <el-select v-model="scope.row.$javaField" placeholder="璇烽�夋嫨$comment"> + <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" /> + </el-select> + </template> + </el-table-column> #end #end </el-table> diff --git a/ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm b/ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm index 08bb071..a363ef3 100644 --- a/ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm +++ b/ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm @@ -43,7 +43,7 @@ v-model="queryParams.${column.javaField}" type="date" value-format="YYYY-MM-DD" - placeholder="閫夋嫨${comment}"> + placeholder="璇烽�夋嫨${comment}"> </el-date-picker> </el-form-item> #elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN") @@ -260,7 +260,7 @@ v-model="form.${field}" type="date" value-format="YYYY-MM-DD" - placeholder="閫夋嫨${comment}"> + placeholder="璇烽�夋嫨${comment}"> </el-date-picker> </el-form-item> #elseif($column.htmlType == "textarea") @@ -293,12 +293,44 @@ #set($comment=$column.columnComment) #end #if($column.pk || $javaField == ${subTableFkclassName}) -#elseif($column.list && "" != $javaField) - <el-table-column label="$comment" prop="${javaField}"> +#elseif($column.list && $column.htmlType == "input") + <el-table-column label="$comment" prop="${javaField}" width="150"> <template #default="scope"> <el-input v-model="scope.row.$javaField" placeholder="璇疯緭鍏�$comment" /> </template> </el-table-column> +#elseif($column.list && $column.htmlType == "datetime") + <el-table-column label="$comment" prop="${javaField}" width="240"> + <template #default="scope"> + <el-date-picker clearable + v-model="scope.row.$javaField" + type="date" + value-format="YYYY-MM-DD" + placeholder="璇烽�夋嫨$comment"> + </el-date-picker> + </template> + </el-table-column> +#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" != $column.dictType) + <el-table-column label="$comment" prop="${javaField}" width="150"> + <template #default="scope"> + <el-select v-model="scope.row.$javaField" placeholder="璇烽�夋嫨$comment"> + <el-option + v-for="dict in $column.dictType" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> + </el-select> + </template> + </el-table-column> +#elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" == $column.dictType) + <el-table-column label="$comment" prop="${javaField}" width="150"> + <template #default="scope"> + <el-select v-model="scope.row.$javaField" placeholder="璇烽�夋嫨$comment"> + <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" /> + </el-select> + </template> + </el-table-column> #end #end </el-table> diff --git a/ruoyi-ui/src/views/monitor/job/index.vue b/ruoyi-ui/src/views/monitor/job/index.vue index 84ea6af..eba8e0f 100644 --- a/ruoyi-ui/src/views/monitor/job/index.vue +++ b/ruoyi-ui/src/views/monitor/job/index.vue @@ -165,7 +165,7 @@ </el-col> <el-col :span="12"> <el-form-item label="浠诲姟鍒嗙粍" prop="jobGroup"> - <el-select v-model="form.jobGroup" placeholder="璇烽�夋嫨"> + <el-select v-model="form.jobGroup" placeholder="璇烽�夋嫨浠诲姟鍒嗙粍"> <el-option v-for="dict in dict.type.sys_job_group" :key="dict.value" diff --git a/ruoyi-ui/src/views/system/notice/index.vue b/ruoyi-ui/src/views/system/notice/index.vue index 22b2ad5..53bb3b4 100644 --- a/ruoyi-ui/src/views/system/notice/index.vue +++ b/ruoyi-ui/src/views/system/notice/index.vue @@ -135,7 +135,7 @@ </el-col> <el-col :span="12"> <el-form-item label="鍏憡绫诲瀷" prop="noticeType"> - <el-select v-model="form.noticeType" placeholder="璇烽�夋嫨"> + <el-select v-model="form.noticeType" placeholder="璇烽�夋嫨鍏憡绫诲瀷"> <el-option v-for="dict in dict.type.sys_notice_type" :key="dict.value" diff --git a/ruoyi-ui/src/views/system/user/index.vue b/ruoyi-ui/src/views/system/user/index.vue index 4b00e03..ea1fd45 100644 --- a/ruoyi-ui/src/views/system/user/index.vue +++ b/ruoyi-ui/src/views/system/user/index.vue @@ -248,7 +248,7 @@ <el-row> <el-col :span="12"> <el-form-item label="鐢ㄦ埛鎬у埆"> - <el-select v-model="form.sex" placeholder="璇烽�夋嫨"> + <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆"> <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" @@ -273,7 +273,7 @@ <el-row> <el-col :span="12"> <el-form-item label="宀椾綅"> - <el-select v-model="form.postIds" multiple placeholder="璇烽�夋嫨"> + <el-select v-model="form.postIds" multiple placeholder="璇烽�夋嫨宀椾綅"> <el-option v-for="item in postOptions" :key="item.postId" @@ -286,7 +286,7 @@ </el-col> <el-col :span="12"> <el-form-item label="瑙掕壊"> - <el-select v-model="form.roleIds" multiple placeholder="璇烽�夋嫨"> + <el-select v-model="form.roleIds" multiple placeholder="璇烽�夋嫨瑙掕壊"> <el-option v-for="item in roleOptions" :key="item.roleId" -- Gitblit v1.9.3