From 86cb7555ebfd6c3e03aeeaf310df7523abcff8ce Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: Thu, 02 Apr 2026 11:08:38 +0800
Subject: [PATCH] 代码生成支持表单布局选项
---
ruoyi-modules/ruoyi-gen/src/main/resources/vm/vue/v3/index-tree.vue.vm | 203 +++++++++++++++++++++++++++++---------------------
1 files changed, 119 insertions(+), 84 deletions(-)
diff --git a/ruoyi-modules/ruoyi-gen/src/main/resources/vm/vue/v3/index-tree.vue.vm b/ruoyi-modules/ruoyi-gen/src/main/resources/vm/vue/v3/index-tree.vue.vm
index 765a5e3..5290236 100644
--- a/ruoyi-modules/ruoyi-gen/src/main/resources/vm/vue/v3/index-tree.vue.vm
+++ b/ruoyi-modules/ruoyi-gen/src/main/resources/vm/vue/v3/index-tree.vue.vm
@@ -144,8 +144,16 @@
</el-table>
<!-- 添加或修改${functionName}对话框 -->
- <el-dialog :title="title" v-model="open" width="500px" append-to-body>
- <el-form ref="${businessName}Ref" :model="form" :rules="rules" label-width="80px">
+#if($table.formColNum == 2)
+#set($dialogWidth = "800px")
+#elseif($table.formColNum == 3)
+#set($dialogWidth = "1100px")
+#else
+#set($dialogWidth = "500px")
+#end
+ <el-dialog :title="title" v-model="open" width="${dialogWidth}" append-to-body>
+ <el-form ref="${businessName}Ref" :model="form" :rules="rules" label-width="100px">
+ <el-row>
#foreach($column in $columns)
#set($field=$column.javaField)
#if($column.insert && !$column.pk)
@@ -158,107 +166,134 @@
#end
#set($dictType=$column.dictType)
#if("" != $treeParentCode && $column.javaField == $treeParentCode)
- <el-form-item label="${comment}" prop="${treeParentCode}">
- <el-tree-select
- v-model="form.${treeParentCode}"
- :data="${businessName}Options"
- :props="{ value: '${treeCode}', label: '${treeName}', children: 'children' }"
- value-key="${treeCode}"
- placeholder="请选择${comment}"
- check-strictly
- />
- </el-form-item>
+ <el-col :span="${colSpan}">
+ <el-form-item label="${comment}" prop="${treeParentCode}">
+ <el-tree-select
+ v-model="form.${treeParentCode}"
+ :data="${businessName}Options"
+ :props="{ value: '${treeCode}', label: '${treeName}', children: 'children' }"
+ value-key="${treeCode}"
+ placeholder="请选择${comment}"
+ check-strictly
+ />
+ </el-form-item>
+ </el-col>
#elseif($column.htmlType == "input")
- <el-form-item label="${comment}" prop="${field}">
- <el-input v-model="form.${field}" placeholder="请输入${comment}" />
- </el-form-item>
+ <el-col :span="${colSpan}">
+ <el-form-item label="${comment}" prop="${field}">
+ <el-input v-model="form.${field}" placeholder="请输入${comment}" />
+ </el-form-item>
+ </el-col>
#elseif($column.htmlType == "imageUpload")
- <el-form-item label="${comment}" prop="${field}">
- <image-upload v-model="form.${field}"/>
- </el-form-item>
+ <el-col :span="${colSpan}">
+ <el-form-item label="${comment}" prop="${field}">
+ <image-upload v-model="form.${field}"/>
+ </el-form-item>
+ </el-col>
#elseif($column.htmlType == "fileUpload")
- <el-form-item label="${comment}" prop="${field}">
- <file-upload v-model="form.${field}"/>
- </el-form-item>
+ <el-col :span="${colSpan}">
+ <el-form-item label="${comment}" prop="${field}">
+ <file-upload v-model="form.${field}"/>
+ </el-form-item>
+ </el-col>
#elseif($column.htmlType == "editor")
- <el-form-item label="${comment}">
- <editor v-model="form.${field}" :min-height="192"/>
- </el-form-item>
+ <el-col :span="24">
+ <el-form-item label="${comment}">
+ <editor v-model="form.${field}" :min-height="192"/>
+ </el-form-item>
+ </el-col>
#elseif($column.htmlType == "select" && "" != $dictType)
- <el-form-item label="${comment}" prop="${field}">
- <el-select v-model="form.${field}" placeholder="请选择${comment}">
- <el-option
- v-for="dict in ${dictType}"
- :key="dict.value"
- :label="dict.label"
+ <el-col :span="${colSpan}">
+ <el-form-item label="${comment}" prop="${field}">
+ <el-select v-model="form.${field}" placeholder="请选择${comment}">
+ <el-option
+ v-for="dict in ${dictType}"
+ :key="dict.value"
+ :label="dict.label"
#if($column.javaType == "Integer" || $column.javaType == "Long")
- :value="parseInt(dict.value)"
+ :value="parseInt(dict.value)"
#else
- :value="dict.value"
+ :value="dict.value"
#end
- ></el-option>
- </el-select>
- </el-form-item>
+ ></el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
#elseif($column.htmlType == "select" && $dictType)
- <el-form-item label="${comment}" prop="${field}">
- <el-select v-model="form.${field}" placeholder="请选择${comment}">
- <el-option label="请选择字典生成" value="" />
- </el-select>
- </el-form-item>
+ <el-col :span="${colSpan}">
+ <el-form-item label="${comment}" prop="${field}">
+ <el-select v-model="form.${field}" placeholder="请选择${comment}">
+ <el-option label="请选择字典生成" value="" />
+ </el-select>
+ </el-form-item>
+ </el-col>
#elseif($column.htmlType == "checkbox" && "" != $dictType)
- <el-form-item label="${comment}" prop="${field}">
- <el-checkbox-group v-model="form.${field}">
- <el-checkbox
- v-for="dict in ${dictType}"
- :key="dict.value"
- :label="dict.value">
- {{dict.label}}
- </el-checkbox>
- </el-checkbox-group>
- </el-form-item>
+ <el-col :span="${colSpan}">
+ <el-form-item label="${comment}" prop="${field}">
+ <el-checkbox-group v-model="form.${field}">
+ <el-checkbox
+ v-for="dict in ${dictType}"
+ :key="dict.value"
+ :label="dict.value">
+ {{dict.label}}
+ </el-checkbox>
+ </el-checkbox-group>
+ </el-form-item>
+ </el-col>
#elseif($column.htmlType == "checkbox" && $dictType)
- <el-form-item label="${comment}" prop="${field}">
- <el-checkbox-group v-model="form.${field}">
- <el-checkbox>请选择字典生成</el-checkbox>
- </el-checkbox-group>
- </el-form-item>
+ <el-col :span="${colSpan}">
+ <el-form-item label="${comment}" prop="${field}">
+ <el-checkbox-group v-model="form.${field}">
+ <el-checkbox>请选择字典生成</el-checkbox>
+ </el-checkbox-group>
+ </el-form-item>
+ </el-col>
#elseif($column.htmlType == "radio" && "" != $dictType)
- <el-form-item label="${comment}" prop="${field}">
- <el-radio-group v-model="form.${field}">
- <el-radio
- v-for="dict in ${dictType}"
- :key="dict.value"
+ <el-col :span="${colSpan}">
+ <el-form-item label="${comment}" prop="${field}">
+ <el-radio-group v-model="form.${field}">
+ <el-radio
+ v-for="dict in ${dictType}"
+ :key="dict.value"
#if($column.javaType == "Integer" || $column.javaType == "Long")
- :label="parseInt(dict.value)"
+ :label="parseInt(dict.value)"
#else
- :label="dict.value"
+ :label="dict.value"
#end
- >{{dict.label}}</el-radio>
- </el-radio-group>
- </el-form-item>
+ >{{dict.label}}</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
#elseif($column.htmlType == "radio" && $dictType)
- <el-form-item label="${comment}" prop="${field}">
- <el-radio-group v-model="form.${field}">
- <el-radio label="1">请选择字典生成</el-radio>
- </el-radio-group>
- </el-form-item>
+ <el-col :span="${colSpan}">
+ <el-form-item label="${comment}" prop="${field}">
+ <el-radio-group v-model="form.${field}">
+ <el-radio label="1">请选择字典生成</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
#elseif($column.htmlType == "datetime")
- <el-form-item label="${comment}" prop="${field}">
- <el-date-picker clearable
- v-model="form.${field}"
- type="date"
- value-format="YYYY-MM-DD"
- placeholder="选择${comment}">
- </el-date-picker>
- </el-form-item>
+ <el-col :span="${colSpan}">
+ <el-form-item label="${comment}" prop="${field}">
+ <el-date-picker clearable
+ v-model="form.${field}"
+ type="date"
+ value-format="YYYY-MM-DD"
+ placeholder="选择${comment}">
+ </el-date-picker>
+ </el-form-item>
+ </el-col>
#elseif($column.htmlType == "textarea")
- <el-form-item label="${comment}" prop="${field}">
- <el-input v-model="form.${field}" type="textarea" placeholder="请输入内容" />
- </el-form-item>
+ <el-col :span="24">
+ <el-form-item label="${comment}" prop="${field}">
+ <el-input v-model="form.${field}" type="textarea" placeholder="请输入内容" />
+ </el-form-item>
+ </el-col>
#end
#end
#end
#end
+ </el-row>
</el-form>
<template #footer>
<div class="dialog-footer">
@@ -334,7 +369,7 @@
#foreach ($column in $columns)
#if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
- if (null != daterange${AttrName} && '' != daterange${AttrName}) {
+ if (null != daterange${AttrName}.value && '' != daterange${AttrName}.value) {
queryParams.value.params["begin${AttrName}"] = daterange${AttrName}.value[0]
queryParams.value.params["end${AttrName}"] = daterange${AttrName}.value[1]
}
@@ -444,13 +479,13 @@
#end
#end
if (form.value.${pkColumn.javaField} != null) {
- update${BusinessName}(form.value).then(response => {
+ update${BusinessName}(form.value).then(() => {
proxy.#[[$modal]]#.msgSuccess("修改成功")
open.value = false
getList()
})
} else {
- add${BusinessName}(form.value).then(response => {
+ add${BusinessName}(form.value).then(() => {
proxy.#[[$modal]]#.msgSuccess("新增成功")
open.value = false
getList()
--
Gitblit v1.9.3