From 3bb462376277f76377e7888f62e37427069da0a7 Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期四, 23 七月 2020 16:57:08 +0800 Subject: [PATCH] 代码生成支持复选框 --- src/main/resources/vm/vue/index-tree.vue.vm | 32 +++++++++++++++ src/main/resources/vm/vue/index.vue.vm | 32 +++++++++++++++ sql/ry_20200723.sql | 2 3 files changed, 63 insertions(+), 3 deletions(-) diff --git a/sql/ry_20200629.sql b/sql/ry_20200723.sql similarity index 99% rename from sql/ry_20200629.sql rename to sql/ry_20200723.sql index 7c8e8c8..727ac6c 100644 --- a/sql/ry_20200629.sql +++ b/sql/ry_20200723.sql @@ -120,7 +120,7 @@ -- ---------------------------- -- 鍒濆鍖�-瑙掕壊淇℃伅琛ㄦ暟鎹� -- ---------------------------- -insert into sys_role values('1', '绯荤粺绠$悊鍛�', 'admin', 1, 1, '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '绯荤粺绠$悊鍛�'); +insert into sys_role values('1', '瓒呯骇绠$悊鍛�', 'admin', 1, 1, '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '瓒呯骇绠$悊鍛�'); insert into sys_role values('2', '鏅�氳鑹�', 'common', 2, 2, '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '鏅�氳鑹�'); diff --git a/src/main/resources/vm/vue/index-tree.vue.vm b/src/main/resources/vm/vue/index-tree.vue.vm index fb10ed6..7435ae7 100644 --- a/src/main/resources/vm/vue/index-tree.vue.vm +++ b/src/main/resources/vm/vue/index-tree.vue.vm @@ -157,6 +157,23 @@ <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" /> </el-select> </el-form-item> +#elseif($column.htmlType == "checkbox" && "" != $dictType) + <el-form-item label="${comment}"> + <el-checkbox-group v-model="form.${field}"> + <el-checkbox + v-for="dict in ${field}Options" + :key="dict.dictValue" + :label="dict.dictValue"> + {{dict.dictLabel}} + </el-checkbox> + </el-checkbox-group> + </el-form-item> +#elseif($column.htmlType == "checkbox" && $dictType) + <el-form-item label="${comment}"> + <el-checkbox-group v-model="form.${field}"> + <el-checkbox>璇烽�夋嫨瀛楀吀鐢熸垚</el-checkbox> + </el-checkbox-group> + </el-form-item> #elseif($column.htmlType == "radio" && "" != $dictType) <el-form-item label="${comment}"> <el-radio-group v-model="form.${field}"> @@ -312,7 +329,7 @@ #end // $comment瀛楀吀缈昏瘧 ${column.javaField}Format(row, column) { - return this.selectDictLabel(this.${column.javaField}Options, row.${column.javaField}); + return this.selectDictLabel#if($column.htmlType == "checkbox")s#end(this.${column.javaField}Options, row.${column.javaField}); }, #end #end @@ -327,6 +344,9 @@ #foreach ($column in $columns) #if($column.htmlType == "radio") $column.javaField: "0"#if($velocityCount != $columns.size()),#end + +#elseif($column.htmlType == "checkbox") + $column.javaField: []#if($velocityCount != $columns.size()),#end #else $column.javaField: undefined#if($velocityCount != $columns.size()),#end @@ -361,6 +381,11 @@ } get${BusinessName}(row.${pkColumn.javaField}).then(response => { this.form = response.data; +#foreach ($column in $columns) +#if($column.htmlType == "checkbox") + this.form.$column.javaField = this.form.${column.javaField}.split(","); +#end +#end this.open = true; this.title = "淇敼${functionName}"; }); @@ -369,6 +394,11 @@ submitForm: function() { this.#[[$]]#refs["form"].validate(valid => { if (valid) { +#foreach ($column in $columns) +#if($column.htmlType == "checkbox") + this.form.$column.javaField = this.form.${column.javaField}.join(","); +#end +#end if (this.form.${pkColumn.javaField} != undefined) { update${BusinessName}(this.form).then(response => { if (response.code === 200) { diff --git a/src/main/resources/vm/vue/index.vue.vm b/src/main/resources/vm/vue/index.vue.vm index 0b64a0c..df2890e 100644 --- a/src/main/resources/vm/vue/index.vue.vm +++ b/src/main/resources/vm/vue/index.vue.vm @@ -185,6 +185,23 @@ <el-option label="璇烽�夋嫨瀛楀吀鐢熸垚" value="" /> </el-select> </el-form-item> +#elseif($column.htmlType == "checkbox" && "" != $dictType) + <el-form-item label="${comment}"> + <el-checkbox-group v-model="form.${field}"> + <el-checkbox + v-for="dict in ${field}Options" + :key="dict.dictValue" + :label="dict.dictValue"> + {{dict.dictLabel}} + </el-checkbox> + </el-checkbox-group> + </el-form-item> +#elseif($column.htmlType == "checkbox" && $dictType) + <el-form-item label="${comment}"> + <el-checkbox-group v-model="form.${field}"> + <el-checkbox>璇烽�夋嫨瀛楀吀鐢熸垚</el-checkbox> + </el-checkbox-group> + </el-form-item> #elseif($column.htmlType == "radio" && "" != $dictType) <el-form-item label="${comment}"> <el-radio-group v-model="form.${field}"> @@ -326,7 +343,7 @@ #end // $comment瀛楀吀缈昏瘧 ${column.javaField}Format(row, column) { - return this.selectDictLabel(this.${column.javaField}Options, row.${column.javaField}); + return this.selectDictLabel#if($column.htmlType == "checkbox")s#end(this.${column.javaField}Options, row.${column.javaField}); }, #end #end @@ -341,6 +358,9 @@ #foreach ($column in $columns) #if($column.htmlType == "radio") $column.javaField: "0"#if($velocityCount != $columns.size()),#end + +#elseif($column.htmlType == "checkbox") + $column.javaField: []#if($velocityCount != $columns.size()),#end #else $column.javaField: undefined#if($velocityCount != $columns.size()),#end @@ -378,6 +398,11 @@ const ${pkColumn.javaField} = row.${pkColumn.javaField} || this.ids get${BusinessName}(${pkColumn.javaField}).then(response => { this.form = response.data; +#foreach ($column in $columns) +#if($column.htmlType == "checkbox") + this.form.$column.javaField = this.form.${column.javaField}.split(","); +#end +#end this.open = true; this.title = "淇敼${functionName}"; }); @@ -386,6 +411,11 @@ submitForm: function() { this.#[[$]]#refs["form"].validate(valid => { if (valid) { +#foreach ($column in $columns) +#if($column.htmlType == "checkbox") + this.form.$column.javaField = this.form.${column.javaField}.join(","); +#end +#end if (this.form.${pkColumn.javaField} != undefined) { update${BusinessName}(this.form).then(response => { if (response.code === 200) { -- Gitblit v1.9.3