mirror of
https://gitee.com/huangge1199_admin/vue-pro.git
synced 2024-11-22 23:31:52 +08:00
fix: vue3 vben 代码生成支持创建和更新两种表单
This commit is contained in:
parent
28f4456bbe
commit
1df0fd1bf8
@ -74,7 +74,7 @@ export const searchFormSchema: FormSchema[] = [
|
||||
#end
|
||||
]
|
||||
|
||||
export const formSchema: FormSchema[] = [
|
||||
export const createFormSchema: FormSchema[] = [
|
||||
{
|
||||
label: '编号',
|
||||
field: 'id',
|
||||
@ -82,7 +82,80 @@ export const formSchema: FormSchema[] = [
|
||||
component: 'Input'
|
||||
},
|
||||
#foreach($column in $columns)
|
||||
#if ($column.createOperation || $column.updateOperation)
|
||||
#if ($column.createOperation)
|
||||
#set ($dictType = $column.dictType)
|
||||
#set ($javaField = $column.javaField)
|
||||
#set ($AttrName = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
|
||||
#set ($comment = $column.columnComment)
|
||||
#if (!$column.primaryKey)## 忽略主键,不用在表单里
|
||||
{
|
||||
label: '${comment}',
|
||||
field: '${javaField}',
|
||||
#if (($column.createOperation || $column.updateOperation) && !$column.nullable && !${column.primaryKey})## 创建或者更新操作 && 要求非空 && 非主键
|
||||
required: true,
|
||||
#end
|
||||
#if ($column.htmlType == "input")
|
||||
component: 'Input'
|
||||
#elseif($column.htmlType == "imageUpload")## 图片上传
|
||||
component: 'Upload'
|
||||
#elseif($column.htmlType == "fileUpload")## 文件上传
|
||||
component: 'Upload'
|
||||
#elseif($column.htmlType == "editor")## 文本编辑器
|
||||
component: 'InputTextArea'
|
||||
#elseif($column.htmlType == "select")## 下拉框
|
||||
component: 'Select',
|
||||
componentProps: {
|
||||
#if ("" != $dictType)## 有数据字典
|
||||
#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
|
||||
options: $dictMethod(DICT_TYPE.$dictType.toUpperCase())
|
||||
#else##没数据字典
|
||||
options:[]
|
||||
#end
|
||||
}
|
||||
#elseif($column.htmlType == "checkbox")## 多选框
|
||||
component: 'Checkbox',
|
||||
componentProps: {
|
||||
#if ("" != $dictType)## 有数据字典
|
||||
options: getIntDictOptions(DICT_TYPE.COMMON_STATUS)
|
||||
#else##没数据字典
|
||||
options:[]
|
||||
#end
|
||||
}
|
||||
#elseif($column.htmlType == "radio")## 单选框
|
||||
component: 'Radio',
|
||||
componentProps: {
|
||||
#if ("" != $dictType)## 有数据字典
|
||||
options: getIntDictOptions(DICT_TYPE.COMMON_STATUS)
|
||||
#else##没数据字典
|
||||
options:[]
|
||||
#end
|
||||
}
|
||||
#elseif($column.htmlType == "datetime")## 时间框
|
||||
component: 'DatePicker'
|
||||
#elseif($column.htmlType == "textarea")## 文本域
|
||||
component: 'InputTextArea'
|
||||
#end
|
||||
},
|
||||
#end
|
||||
#end
|
||||
#end
|
||||
]
|
||||
|
||||
export const updateFormSchema: FormSchema[] = [
|
||||
{
|
||||
label: '编号',
|
||||
field: 'id',
|
||||
show: false,
|
||||
component: 'Input'
|
||||
},
|
||||
#foreach($column in $columns)
|
||||
#if ($column.updateOperation)
|
||||
#set ($dictType = $column.dictType)
|
||||
#set ($javaField = $column.javaField)
|
||||
#set ($AttrName = $column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
|
||||
|
@ -9,7 +9,7 @@ import { useI18n } from '@/hooks/web/useI18n'
|
||||
import { useMessage } from '@/hooks/web/useMessage'
|
||||
import { BasicForm, useForm } from '@/components/Form'
|
||||
import { BasicModal, useModalInner } from '@/components/Modal'
|
||||
import { formSchema } from './${classNameVar}.data'
|
||||
import { createFormSchema, updateFormSchema } from './${classNameVar}.data'
|
||||
import { create${simpleClassName}, get${simpleClassName}, update${simpleClassName} } from '@/api/${table.moduleName}/${classNameVar}'
|
||||
|
||||
const { t } = useI18n()
|
||||
@ -20,7 +20,7 @@ const isUpdate = ref(true)
|
||||
const [registerForm, { setFieldsValue, resetFields, validate }] = useForm({
|
||||
labelWidth: 120,
|
||||
baseColProps: { span: 24 },
|
||||
schemas: formSchema,
|
||||
schemas: isUpdate? updateFormSchema : createFormSchema,
|
||||
showActionButtonGroup: false,
|
||||
actionColOptions: { span: 23 }
|
||||
})
|
||||
|
Loading…
Reference in New Issue
Block a user