function getTrigger(component) {
|
let trigger = ''
|
|
if (component.FComponentType && component.FComponentType === 'oneText') {
|
trigger = 'blur'
|
} else if (component.FComponentType && component.FComponentType === 'datePicker') {
|
trigger = 'change'
|
} else if (component.FComponentType && component.FComponentType === 'select') {
|
trigger = 'change'
|
} else if (component.FComponentType && component.FComponentType === 'multiText') {
|
trigger = 'blur'
|
} else if (component.FComponentType && component.FComponentType === 'radio') {
|
trigger = 'change'
|
} else if (component.FComponentType && component.FComponentType === 'checkbox') {
|
trigger = 'change'
|
} else if (component.FComponentType && component.FComponentType === 'dateRange') {
|
trigger = 'change'
|
} else if (component.FComponentType && component.FComponentType === 'timePicker') {
|
trigger = 'change'
|
} else if (component.FComponentType && component.FComponentType === 'timeRange') {
|
trigger = 'change'
|
} else if (component.FComponentType && component.FComponentType === 'inputNumber') {
|
trigger = 'blur'
|
} else if (component.FComponentType && component.FComponentType === 'upload') {
|
trigger = ''
|
}
|
|
return trigger
|
}
|
|
function getRules(component) {
|
const config = component.__config__
|
const rules = []
|
|
if (config.required) {
|
rules.push({
|
required: true,
|
message: component.placeholder ? component.placeholder : `${config.label}不能为空`,
|
trigger: getTrigger(component)
|
})
|
}
|
|
if (config.regList && Array.isArray(config.regList)) {
|
config.regList.forEach(item => {
|
if (item.pattern) {
|
rules.push({
|
pattern: item.pattern,
|
message: item.message,
|
trigger: 'blur'
|
})
|
}
|
})
|
}
|
|
return rules
|
}
|
|
// 构建表单数据
|
export function buildFormData(formJson, component, data) {
|
// data.formData.name = ''
|
data[formJson.formModel][component.__vModel__] = component.__config__.defaultValue ? component.__config__.defaultValue : ''
|
}
|
|
// 构建表单校验规则
|
export function buildFormRules(formJson, component, data) {
|
const rules = getRules(component)
|
if (rules.length > 0) {
|
// data.rules.name = [{required: true, message: '请输入姓名', trigger: 'blur'}]
|
data[formJson.formRules][component.__vModel__] = rules
|
}
|
}
|
|
// 构建表单数据
|
export function buildDialogFormData(formJson, component, dialog, data) {
|
// data.cityDialogFormData.name = ''
|
data[dialog.FFormDataParamName][component.__vModel__] = component.__config__.defaultValue ? component.__config__.defaultValue : ''
|
}
|
|
// 构建表单校验规则
|
export function buildDialogFormRules(formJson, component, dialog, data) {
|
const rules = getRules(component)
|
if (rules.length > 0) {
|
// data.cityDialogFormRules.name = [{required: true, message: '请输入姓名', trigger: 'blur'}]
|
data[dialog.FFormRulesParamName][component.__vModel__] = rules
|
}
|
}
|