439 lines
9.5 KiB
JavaScript
439 lines
9.5 KiB
JavaScript
|
export const formConf = {
|
|||
|
formRef: 'elForm',
|
|||
|
formModel: 'formData',
|
|||
|
size: 'medium',
|
|||
|
labelPosition: 'right',
|
|||
|
labelWidth: 100,
|
|||
|
formRules: 'rules',
|
|||
|
gutter: 15,
|
|||
|
disabled: false,
|
|||
|
span: 24,
|
|||
|
formBtns: true
|
|||
|
}
|
|||
|
|
|||
|
export const inputComponents = [
|
|||
|
{
|
|||
|
label: '单行文本',
|
|||
|
tag: 'el-input',
|
|||
|
tagIcon: 'input',
|
|||
|
placeholder: '请输入',
|
|||
|
defaultValue: undefined,
|
|||
|
span: 24,
|
|||
|
labelWidth: null,
|
|||
|
style: { width: '100%' },
|
|||
|
clearable: true,
|
|||
|
prepend: '',
|
|||
|
append: '',
|
|||
|
'prefix-icon': '',
|
|||
|
'suffix-icon': '',
|
|||
|
maxlength: null,
|
|||
|
'show-word-limit': false,
|
|||
|
readonly: false,
|
|||
|
disabled: false,
|
|||
|
required: true,
|
|||
|
regList: [],
|
|||
|
changeTag: true,
|
|||
|
document: 'https://element.eleme.cn/#/zh-CN/component/input'
|
|||
|
},
|
|||
|
{
|
|||
|
label: '多行文本',
|
|||
|
tag: 'el-input',
|
|||
|
tagIcon: 'textarea',
|
|||
|
type: 'textarea',
|
|||
|
placeholder: '请输入',
|
|||
|
defaultValue: undefined,
|
|||
|
span: 24,
|
|||
|
labelWidth: null,
|
|||
|
autosize: {
|
|||
|
minRows: 4,
|
|||
|
maxRows: 4
|
|||
|
},
|
|||
|
style: { width: '100%' },
|
|||
|
maxlength: null,
|
|||
|
'show-word-limit': false,
|
|||
|
readonly: false,
|
|||
|
disabled: false,
|
|||
|
required: true,
|
|||
|
regList: [],
|
|||
|
changeTag: true,
|
|||
|
document: 'https://element.eleme.cn/#/zh-CN/component/input'
|
|||
|
},
|
|||
|
{
|
|||
|
label: '密码',
|
|||
|
tag: 'el-input',
|
|||
|
tagIcon: 'password',
|
|||
|
placeholder: '请输入',
|
|||
|
defaultValue: undefined,
|
|||
|
span: 24,
|
|||
|
'show-password': true,
|
|||
|
labelWidth: null,
|
|||
|
style: { width: '100%' },
|
|||
|
clearable: true,
|
|||
|
prepend: '',
|
|||
|
append: '',
|
|||
|
'prefix-icon': '',
|
|||
|
'suffix-icon': '',
|
|||
|
maxlength: null,
|
|||
|
'show-word-limit': false,
|
|||
|
readonly: false,
|
|||
|
disabled: false,
|
|||
|
required: true,
|
|||
|
regList: [],
|
|||
|
changeTag: true,
|
|||
|
document: 'https://element.eleme.cn/#/zh-CN/component/input'
|
|||
|
},
|
|||
|
{
|
|||
|
label: '计数器',
|
|||
|
tag: 'el-input-number',
|
|||
|
tagIcon: 'number',
|
|||
|
placeholder: '',
|
|||
|
defaultValue: undefined,
|
|||
|
span: 24,
|
|||
|
labelWidth: null,
|
|||
|
min: undefined,
|
|||
|
max: undefined,
|
|||
|
step: undefined,
|
|||
|
'step-strictly': false,
|
|||
|
precision: undefined,
|
|||
|
'controls-position': '',
|
|||
|
disabled: false,
|
|||
|
required: true,
|
|||
|
regList: [],
|
|||
|
changeTag: true,
|
|||
|
document: 'https://element.eleme.cn/#/zh-CN/component/input-number'
|
|||
|
}
|
|||
|
]
|
|||
|
|
|||
|
export const selectComponents = [
|
|||
|
{
|
|||
|
label: '下拉选择',
|
|||
|
tag: 'el-select',
|
|||
|
tagIcon: 'select',
|
|||
|
placeholder: '请选择',
|
|||
|
defaultValue: undefined,
|
|||
|
span: 24,
|
|||
|
labelWidth: null,
|
|||
|
style: { width: '100%' },
|
|||
|
clearable: true,
|
|||
|
disabled: false,
|
|||
|
required: true,
|
|||
|
filterable: false,
|
|||
|
multiple: false,
|
|||
|
options: [{
|
|||
|
label: '选项一',
|
|||
|
value: 1
|
|||
|
}, {
|
|||
|
label: '选项二',
|
|||
|
value: 2
|
|||
|
}],
|
|||
|
regList: [],
|
|||
|
changeTag: true,
|
|||
|
document: 'https://element.eleme.cn/#/zh-CN/component/select'
|
|||
|
},
|
|||
|
{
|
|||
|
label: '级联选择',
|
|||
|
tag: 'el-cascader',
|
|||
|
tagIcon: 'cascader',
|
|||
|
placeholder: '请选择',
|
|||
|
defaultValue: [],
|
|||
|
span: 24,
|
|||
|
labelWidth: null,
|
|||
|
style: { width: '100%' },
|
|||
|
props: {
|
|||
|
props: {
|
|||
|
multiple: false
|
|||
|
}
|
|||
|
},
|
|||
|
'show-all-levels': true,
|
|||
|
disabled: false,
|
|||
|
clearable: true,
|
|||
|
filterable: false,
|
|||
|
required: true,
|
|||
|
options: [{
|
|||
|
id: 1,
|
|||
|
value: 1,
|
|||
|
label: '选项1',
|
|||
|
children: [{
|
|||
|
id: 2,
|
|||
|
value: 2,
|
|||
|
label: '选项1-1'
|
|||
|
}]
|
|||
|
}],
|
|||
|
dataType: 'dynamic',
|
|||
|
labelKey: 'label',
|
|||
|
valueKey: 'value',
|
|||
|
childrenKey: 'children',
|
|||
|
separator: '/',
|
|||
|
regList: [],
|
|||
|
changeTag: true,
|
|||
|
document: 'https://element.eleme.cn/#/zh-CN/component/cascader'
|
|||
|
},
|
|||
|
{
|
|||
|
label: '单选框组',
|
|||
|
tag: 'el-radio-group',
|
|||
|
tagIcon: 'radio',
|
|||
|
defaultValue: undefined,
|
|||
|
span: 24,
|
|||
|
labelWidth: null,
|
|||
|
style: {},
|
|||
|
optionType: 'default',
|
|||
|
border: false,
|
|||
|
size: 'medium',
|
|||
|
disabled: false,
|
|||
|
required: true,
|
|||
|
options: [{
|
|||
|
label: '选项一',
|
|||
|
value: 1
|
|||
|
}, {
|
|||
|
label: '选项二',
|
|||
|
value: 2
|
|||
|
}],
|
|||
|
regList: [],
|
|||
|
changeTag: true,
|
|||
|
document: 'https://element.eleme.cn/#/zh-CN/component/radio'
|
|||
|
},
|
|||
|
{
|
|||
|
label: '多选框组',
|
|||
|
tag: 'el-checkbox-group',
|
|||
|
tagIcon: 'checkbox',
|
|||
|
defaultValue: [],
|
|||
|
span: 24,
|
|||
|
labelWidth: null,
|
|||
|
style: {},
|
|||
|
optionType: 'default',
|
|||
|
border: false,
|
|||
|
size: 'medium',
|
|||
|
disabled: false,
|
|||
|
required: true,
|
|||
|
options: [{
|
|||
|
label: '选项一',
|
|||
|
value: 1
|
|||
|
}, {
|
|||
|
label: '选项二',
|
|||
|
value: 2
|
|||
|
}],
|
|||
|
regList: [],
|
|||
|
changeTag: true,
|
|||
|
document: 'https://element.eleme.cn/#/zh-CN/component/checkbox'
|
|||
|
},
|
|||
|
{
|
|||
|
label: '开关',
|
|||
|
tag: 'el-switch',
|
|||
|
tagIcon: 'switch',
|
|||
|
defaultValue: false,
|
|||
|
span: 24,
|
|||
|
labelWidth: null,
|
|||
|
style: {},
|
|||
|
disabled: false,
|
|||
|
required: true,
|
|||
|
'active-text': '',
|
|||
|
'inactive-text': '',
|
|||
|
'active-color': null,
|
|||
|
'inactive-color': null,
|
|||
|
'active-value': true,
|
|||
|
'inactive-value': false,
|
|||
|
regList: [],
|
|||
|
changeTag: true,
|
|||
|
document: 'https://element.eleme.cn/#/zh-CN/component/switch'
|
|||
|
},
|
|||
|
{
|
|||
|
label: '滑块',
|
|||
|
tag: 'el-slider',
|
|||
|
tagIcon: 'slider',
|
|||
|
defaultValue: null,
|
|||
|
span: 24,
|
|||
|
labelWidth: null,
|
|||
|
disabled: false,
|
|||
|
required: true,
|
|||
|
min: 0,
|
|||
|
max: 100,
|
|||
|
step: 1,
|
|||
|
'show-stops': false,
|
|||
|
range: false,
|
|||
|
regList: [],
|
|||
|
changeTag: true,
|
|||
|
document: 'https://element.eleme.cn/#/zh-CN/component/slider'
|
|||
|
},
|
|||
|
{
|
|||
|
label: '时间选择',
|
|||
|
tag: 'el-time-picker',
|
|||
|
tagIcon: 'time',
|
|||
|
placeholder: '请选择',
|
|||
|
defaultValue: null,
|
|||
|
span: 24,
|
|||
|
labelWidth: null,
|
|||
|
style: { width: '100%' },
|
|||
|
disabled: false,
|
|||
|
clearable: true,
|
|||
|
required: true,
|
|||
|
'picker-options': {
|
|||
|
selectableRange: '00:00:00-23:59:59'
|
|||
|
},
|
|||
|
format: 'HH:mm:ss',
|
|||
|
'value-format': 'HH:mm:ss',
|
|||
|
regList: [],
|
|||
|
changeTag: true,
|
|||
|
document: 'https://element.eleme.cn/#/zh-CN/component/time-picker'
|
|||
|
},
|
|||
|
{
|
|||
|
label: '时间范围',
|
|||
|
tag: 'el-time-picker',
|
|||
|
tagIcon: 'time-range',
|
|||
|
defaultValue: null,
|
|||
|
span: 24,
|
|||
|
labelWidth: null,
|
|||
|
style: { width: '100%' },
|
|||
|
disabled: false,
|
|||
|
clearable: true,
|
|||
|
required: true,
|
|||
|
'is-range': true,
|
|||
|
'range-separator': '至',
|
|||
|
'start-placeholder': '开始时间',
|
|||
|
'end-placeholder': '结束时间',
|
|||
|
format: 'HH:mm:ss',
|
|||
|
'value-format': 'HH:mm:ss',
|
|||
|
regList: [],
|
|||
|
changeTag: true,
|
|||
|
document: 'https://element.eleme.cn/#/zh-CN/component/time-picker'
|
|||
|
},
|
|||
|
{
|
|||
|
label: '日期选择',
|
|||
|
tag: 'el-date-picker',
|
|||
|
tagIcon: 'date',
|
|||
|
placeholder: '请选择',
|
|||
|
defaultValue: null,
|
|||
|
type: 'date',
|
|||
|
span: 24,
|
|||
|
labelWidth: null,
|
|||
|
style: { width: '100%' },
|
|||
|
disabled: false,
|
|||
|
clearable: true,
|
|||
|
required: true,
|
|||
|
format: 'yyyy-MM-dd',
|
|||
|
'value-format': 'yyyy-MM-dd',
|
|||
|
readonly: false,
|
|||
|
regList: [],
|
|||
|
changeTag: true,
|
|||
|
document: 'https://element.eleme.cn/#/zh-CN/component/date-picker'
|
|||
|
},
|
|||
|
{
|
|||
|
label: '日期范围',
|
|||
|
tag: 'el-date-picker',
|
|||
|
tagIcon: 'date-range',
|
|||
|
defaultValue: null,
|
|||
|
span: 24,
|
|||
|
labelWidth: null,
|
|||
|
style: { width: '100%' },
|
|||
|
type: 'daterange',
|
|||
|
'range-separator': '至',
|
|||
|
'start-placeholder': '开始日期',
|
|||
|
'end-placeholder': '结束日期',
|
|||
|
disabled: false,
|
|||
|
clearable: true,
|
|||
|
required: true,
|
|||
|
format: 'yyyy-MM-dd',
|
|||
|
'value-format': 'yyyy-MM-dd',
|
|||
|
readonly: false,
|
|||
|
regList: [],
|
|||
|
changeTag: true,
|
|||
|
document: 'https://element.eleme.cn/#/zh-CN/component/date-picker'
|
|||
|
},
|
|||
|
{
|
|||
|
label: '评分',
|
|||
|
tag: 'el-rate',
|
|||
|
tagIcon: 'rate',
|
|||
|
defaultValue: 0,
|
|||
|
span: 24,
|
|||
|
labelWidth: null,
|
|||
|
style: {},
|
|||
|
max: 5,
|
|||
|
'allow-half': false,
|
|||
|
'show-text': false,
|
|||
|
'show-score': false,
|
|||
|
disabled: false,
|
|||
|
required: true,
|
|||
|
regList: [],
|
|||
|
changeTag: true,
|
|||
|
document: 'https://element.eleme.cn/#/zh-CN/component/rate'
|
|||
|
},
|
|||
|
{
|
|||
|
label: '颜色选择',
|
|||
|
tag: 'el-color-picker',
|
|||
|
tagIcon: 'color',
|
|||
|
defaultValue: null,
|
|||
|
labelWidth: null,
|
|||
|
'show-alpha': false,
|
|||
|
'color-format': '',
|
|||
|
disabled: false,
|
|||
|
required: true,
|
|||
|
size: 'medium',
|
|||
|
regList: [],
|
|||
|
changeTag: true,
|
|||
|
document: 'https://element.eleme.cn/#/zh-CN/component/color-picker'
|
|||
|
},
|
|||
|
{
|
|||
|
label: '上传',
|
|||
|
tag: 'el-upload',
|
|||
|
tagIcon: 'upload',
|
|||
|
action: 'https://jsonplaceholder.typicode.com/posts/',
|
|||
|
defaultValue: null,
|
|||
|
labelWidth: null,
|
|||
|
disabled: false,
|
|||
|
required: true,
|
|||
|
accept: '',
|
|||
|
name: 'file',
|
|||
|
'auto-upload': true,
|
|||
|
showTip: false,
|
|||
|
buttonText: '点击上传',
|
|||
|
fileSize: 2,
|
|||
|
sizeUnit: 'MB',
|
|||
|
'list-type': 'text',
|
|||
|
multiple: false,
|
|||
|
regList: [],
|
|||
|
changeTag: true,
|
|||
|
document: 'https://element.eleme.cn/#/zh-CN/component/upload'
|
|||
|
}
|
|||
|
]
|
|||
|
|
|||
|
export const layoutComponents = [
|
|||
|
{
|
|||
|
layout: 'rowFormItem',
|
|||
|
tagIcon: 'row',
|
|||
|
type: 'default',
|
|||
|
justify: 'start',
|
|||
|
align: 'top',
|
|||
|
label: '行容器',
|
|||
|
layoutTree: true,
|
|||
|
children: [],
|
|||
|
document: 'https://element.eleme.cn/#/zh-CN/component/layout'
|
|||
|
},
|
|||
|
{
|
|||
|
layout: 'colFormItem',
|
|||
|
label: '按钮',
|
|||
|
changeTag: true,
|
|||
|
labelWidth: null,
|
|||
|
tag: 'el-button',
|
|||
|
tagIcon: 'button',
|
|||
|
span: 24,
|
|||
|
default: '主要按钮',
|
|||
|
type: 'primary',
|
|||
|
icon: 'el-icon-search',
|
|||
|
size: 'medium',
|
|||
|
disabled: false,
|
|||
|
document: 'https://element.eleme.cn/#/zh-CN/component/button'
|
|||
|
}
|
|||
|
]
|
|||
|
|
|||
|
// 组件rule的触发方式,无触发方式的组件不生成rule
|
|||
|
export const trigger = {
|
|||
|
'el-input': 'blur',
|
|||
|
'el-input-number': 'blur',
|
|||
|
'el-select': 'change',
|
|||
|
'el-radio-group': 'change',
|
|||
|
'el-checkbox-group': 'change',
|
|||
|
'el-cascader': 'change',
|
|||
|
'el-time-picker': 'change',
|
|||
|
'el-date-picker': 'change',
|
|||
|
'el-rate': 'change'
|
|||
|
}
|