RuoYi
2026-04-02 86cb7555ebfd6c3e03aeeaf310df7523abcff8ce
ruoyi-modules/ruoyi-gen/src/main/resources/vm/vue/v3/index.vue.vm
@@ -163,8 +163,16 @@
    />
    <!-- 添加或修改${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)
@@ -177,22 +185,31 @@
#end
#set($dictType=$column.dictType)
#if($column.htmlType == "input")
          <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-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-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-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-col :span="${colSpan}">
        <el-form-item label="${comment}" prop="${field}">
          <el-select v-model="form.${field}" placeholder="请选择${comment}">
            <el-option
@@ -207,13 +224,17 @@
            ></el-option>
          </el-select>
        </el-form-item>
          </el-col>
#elseif($column.htmlType == "select" && $dictType)
          <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-col :span="${colSpan}">
        <el-form-item label="${comment}" prop="${field}">
          <el-checkbox-group v-model="form.${field}">
            <el-checkbox
@@ -224,13 +245,17 @@
            </el-checkbox>
          </el-checkbox-group>
        </el-form-item>
          </el-col>
#elseif($column.htmlType == "checkbox" && $dictType)
          <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-col :span="${colSpan}">
        <el-form-item label="${comment}" prop="${field}">
          <el-radio-group v-model="form.${field}">
            <el-radio
@@ -244,13 +269,17 @@
            >{{dict.label}}</el-radio>
          </el-radio-group>
        </el-form-item>
          </el-col>
#elseif($column.htmlType == "radio" && $dictType)
          <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-col :span="${colSpan}">
        <el-form-item label="${comment}" prop="${field}">
          <el-date-picker clearable
            v-model="form.${field}"
@@ -259,14 +288,18 @@
            placeholder="请选择${comment}">
          </el-date-picker>
        </el-form-item>
          </el-col>
#elseif($column.htmlType == "textarea")
          <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>
#if($table.sub)
        <el-divider content-position="center">${subTable.functionName}信息</el-divider>
        <el-row :gutter="10" class="mb8">
@@ -277,9 +310,13 @@
            <el-button type="danger" icon="Delete" @click="handleDelete${subClassName}">删除</el-button>
          </el-col>
        </el-row>
        <el-table :data="${subclassName}List" :row-class-name="row${subClassName}Index" @selection-change="handle${subClassName}SelectionChange" ref="${subclassName}">
        <el-table :data="${subclassName}List" @selection-change="handle${subClassName}SelectionChange" ref="${subclassName}">
          <el-table-column type="selection" width="50" align="center" />
          <el-table-column label="序号" align="center" prop="index" width="50"/>
          <el-table-column label="序号" width="60">
            <template #default="{ $index }">
              {{ $index + 1 }}
            </template>
          </el-table-column>
#foreach($column in $subTable.columns)
#set($javaField=$column.javaField)
#set($parentheseIndex=$column.columnComment.indexOf("("))
@@ -515,13 +552,13 @@
      form.value.${subclassName}List = ${subclassName}List.value
#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()
@@ -543,11 +580,6 @@
}
#if($table.sub)
/** ${subTable.functionName}序号 */
function row${subClassName}Index({ row, rowIndex }) {
  row.index = rowIndex + 1
}
/** ${subTable.functionName}添加按钮操作 */
function handleAdd${subClassName}() {
  let obj = {}