You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
438 lines
9.9 KiB
438 lines
9.9 KiB
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' |
|
}
|
|
|