diff --git a/src/components/Template/BaseInfoFormPcakge.vue b/src/components/Template/BaseInfoFormPcakge.vue index 5544400..70aa4ae 100644 --- a/src/components/Template/BaseInfoFormPcakge.vue +++ b/src/components/Template/BaseInfoFormPcakge.vue @@ -321,6 +321,9 @@ export default { } } }, + validateFormData(){ + + }, getFormData() { const { formFields, allFieldsConfig } = this; const { templateStatus } = this.$store.state.template; @@ -332,6 +335,7 @@ export default { for (const key in allFieldsConfig) { if (!formFields[key]) { const o = allFieldsConfig[key]; + // 其他字段需要判断是否显示再校验 if (o.label === "其他" && !this.isShowOther(formFields[o.parentKey])) { continue } diff --git a/src/components/Template/Step.vue b/src/components/Template/Step.vue index 0af4db2..cc401a9 100644 --- a/src/components/Template/Step.vue +++ b/src/components/Template/Step.vue @@ -230,6 +230,21 @@ export default { // 公共方法:获取所有步骤数据 getFormData() { return new Promise((resolve, reject) => { + // 校验所有步骤是否填写完整 + const validation = this.validateSteps() + if (!validation.isValid) { + this.$message.error(validation.errors[0]) + reject(validation.errors[0]) + return + } + + // 检查是否有步骤数据 + if (this.steps.length === 0) { + this.$message.error(this.$t('template.common.addStepError')) + reject(this.$t('template.common.addStepError')) + return + } + const stepData = this.steps.map(step => ({ type: step.type, ...step.formData diff --git a/src/views/business/comps/template/comps/sp/SWYPFXRYPZB.vue b/src/views/business/comps/template/comps/sp/SWYPFXRYPZB.vue index 7b392dd..0c12df4 100644 --- a/src/views/business/comps/template/comps/sp/SWYPFXRYPZB.vue +++ b/src/views/business/comps/template/comps/sp/SWYPFXRYPZB.vue @@ -278,6 +278,7 @@ export default { return; } const remarkData = await this.$refs.remarkRef.getFormData(); + return { ...baseData, ...conditionData, @@ -287,8 +288,12 @@ export default { } }, async onSave() { - const formData = await this.getFormData(); - console.log(formData, "formData") + // const formData = await this.getFormData(); + const result = await Promise.all([this.$refs.baseInfoRef.getFormData(), this.$refs.storageConditionRef.getFormData()]).catch(()=>{ + console.log("error") + }); + console.log(result,"res") + // console.log(formData, "formData") }, }