|
|
@ -72,7 +72,7 @@ const layouts = { |
|
|
|
|
|
|
|
function renderFrom (h) { |
|
|
|
const { formConfCopy } = this |
|
|
|
|
|
|
|
console.log(">>>",this[formConfCopy.formRules]) |
|
|
|
return ( |
|
|
|
<el-row gutter={formConfCopy.gutter}> |
|
|
|
<el-form |
|
|
@ -515,6 +515,7 @@ export default { |
|
|
|
this.$refs[this.formConf.formRef].resetFields() |
|
|
|
}, |
|
|
|
submitForm () { |
|
|
|
// debugger |
|
|
|
this.$refs[this.formConf.formRef].validate(valid => { |
|
|
|
if (!valid) { |
|
|
|
// 未选中自动高亮 |
|
|
@ -527,6 +528,23 @@ export default { |
|
|
|
}, 100) |
|
|
|
return false |
|
|
|
} |
|
|
|
|
|
|
|
// 填鸭的必填校验,对于刚开始显示不出来的逻辑题目无效,这里手动校验一下 |
|
|
|
// 先生成校验逻辑 |
|
|
|
let checkRules = {} |
|
|
|
this.formConf.fields.forEach(f => { |
|
|
|
checkRules[f.__vModel__] = { |
|
|
|
"fieldLabel":f.__config__.label, |
|
|
|
"required":f.__config__.required |
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
for (let fieldName in this.formData) { |
|
|
|
if (!this.requiredFieldCheck(checkRules, fieldName, this.formData[fieldName])) { |
|
|
|
return; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 触发sumit事件 |
|
|
|
this.$emit('submit', { |
|
|
|
formModel: this[this.formConf.formModel], |
|
|
@ -534,8 +552,19 @@ export default { |
|
|
|
}) |
|
|
|
return true |
|
|
|
}) |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
requiredFieldCheck(checkRules, fieldName, fieldValue) { |
|
|
|
let fieldCheckRule = checkRules[fieldName] |
|
|
|
let fieldShowed = document.querySelector(`div[cid="${fieldName.replace('field', '')}"]`).style.display != 'none' |
|
|
|
if (fieldShowed && fieldCheckRule && fieldCheckRule.required && !fieldValue) { |
|
|
|
this.$message.error("请填写:" + fieldCheckRule.fieldLabel) |
|
|
|
return false; |
|
|
|
} |
|
|
|
return true; |
|
|
|
}, |
|
|
|
}, |
|
|
|
|
|
|
|
render (h) { |
|
|
|
return renderFrom.call(this, h) |
|
|
|
} |
|
|
|