123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- <template>
- <Dialog :title="modelTitle" v-model="modelVisible">
- <el-form
- ref="formRef"
- :model="formData"
- :rules="formRules"
- label-width="100px"
- v-loading="formLoading"
- >
- #foreach($column in $columns)
- #if ($column.createOperation || $column.updateOperation)
- #set ($dictType = $column.dictType)
- #set ($javaField = $column.javaField)
- #set ($AttrName = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
- #set ($comment = $column.columnComment)
- #set ($dictMethod = "getDictOptions") ## 计算使用哪个 dict 字典方法
- #if ($javaType == "Integer" || $javaType == "Long" || $javaType == "Byte" || $javaType == "Short")
- #set ($dictMethod = "getIntDictOptions")
- #elseif ($javaType == "String")
- #set ($dictMethod = "getStrDictOptions")
- #elseif ($javaType == "Boolean")
- #set ($dictMethod = "getBoolDictOptions")
- #end
- #if ($column.htmlType == "input" && !$column.primaryKey) ## 忽略主键,不用在表单里
- <el-form-item label="${comment}" prop="${javaField}">
- <el-input v-model="form.${javaField}" placeholder="请输入${comment}" />
- </el-form-item>
- #elseif($column.htmlType == "imageUpload")## 图片上传 TODO 芋艿:待测试
- #set ($hasImageUploadColumn = true)
- <el-form-item label="${comment}">
- <imageUpload v-model="form.${javaField}"/>
- </el-form-item>
- #elseif($column.htmlType == "fileUpload")## 文件上传 TODO 芋艿:待测试
- #set ($hasFileUploadColumn = true)
- <el-form-item label="${comment}">
- <fileUpload v-model="form.${javaField}"/>
- </el-form-item>
- #elseif($column.htmlType == "editor")## 文本编辑器 TODO 芋艿:待测试
- #set ($hasEditorColumn = true)
- <el-form-item label="${comment}">
- <editor v-model="form.${javaField}" :min-height="192"/>
- </el-form-item>
- #elseif($column.htmlType == "select")## 下拉框
- <el-form-item label="${comment}" prop="${javaField}">
- <el-select v-model="form.${javaField}" placeholder="请选择${comment}">
- #if ("" != $dictType)## 有数据字典
- #if (!$dictMethods.contains($dictMethod)) ## 如果不存在,则添加到 dictMethods 数组中,后续好 import
- #( $dictMethods.add($dictMethod) )
- #end
- <el-option
- v-for="dict in $dictMethod(DICT_TYPE.$dictType.toUpperCase())"
- :key="dict.value"
- :label="dict.label"
- :value="dict.value"
- />
- #else##没数据字典
- <el-option label="请选择字典生成" value="" />
- #end
- </el-select>
- </el-form-item>
- #elseif($column.htmlType == "checkbox")## 多选框 TODO 芋艿:待测试
- <el-form-item label="${comment}" prop="${javaField}">
- <el-checkbox-group v-model="form.${javaField}">
- #if ("" != $dictType)## 有数据字典
- #if (!$dictMethods.contains($dictMethod)) ## 如果不存在,则添加到 dictMethods 数组中,后续好 import
- #( $dictMethods.add($dictMethod) )
- #end
- <el-checkbox
- v-for="dict in $dictMethod(DICT_TYPE.$dictType.toUpperCase())"
- key="dict.value"
- :label="dict.value">
- {{dict.label}}
- </el-checkbox>
- #else##没数据字典
- <el-checkbox>请选择字典生成</el-checkbox>
- #end
- </el-checkbox-group>
- </el-form-item>
- #elseif($column.htmlType == "radio")## 单选框
- <el-form-item label="${comment}" prop="${javaField}">
- <el-radio-group v-model="form.${javaField}">
- #if ("" != $dictType)## 有数据字典
- #if (!$dictMethods.contains($dictMethod)) ## 如果不存在,则添加到 dictMethods 数组中,后续好 import
- #( $dictMethods.add($dictMethod) )
- #end
- <el-radio
- v-for="dict in $dictMethod(DICT_TYPE.$dictType.toUpperCase())"
- :key="dict.value"
- :label="dict.value">
- {{dict.label}}
- </el-radio>
- #else##没数据字典
- <el-radio label="1">请选择字典生成</el-radio>
- #end
- </el-radio-group>
- </el-form-item>
- #elseif($column.htmlType == "datetime")## 时间框 TODO 芋艿:待测试
- <el-form-item label="${comment}" prop="${javaField}">
- <el-date-picker clearable v-model="form.${javaField}" type="date" value-format="timestamp" placeholder="选择${comment}" />
- </el-form-item>
- #elseif($column.htmlType == "textarea")## 文本框 TODO 芋艿:待测试
- <el-form-item label="${comment}" prop="${javaField}">
- <el-input v-model="form.${javaField}" type="textarea" placeholder="请输入内容" />
- </el-form-item>
- #end
- #end
- #end
- </el-form>
- <template #footer>
- <div class="dialog-footer">
- <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button>
- <el-button @click="modelVisible = false">取 消</el-button>
- </div>
- </template>
- </Dialog>
- </template>
|