diff --git a/src/pages/newMedicalCard/components/BasicDataForms/DocumentsForm.vue b/src/pages/newMedicalCard/components/BasicDataForms/DocumentsForm.vue index 9381fdf..95742fe 100644 --- a/src/pages/newMedicalCard/components/BasicDataForms/DocumentsForm.vue +++ b/src/pages/newMedicalCard/components/BasicDataForms/DocumentsForm.vue @@ -6,7 +6,7 @@ :cancel="cancelEdit", :open-edit="openEdit", :save="saveChange" - ) + ) q-form.form-wrap.gap-24.w-full(ref="documentForm", :no-error-focus="true") .data-section.flex.flex-col.gap-4(v-for="data in configData", :key="data.dataLabel") .font-semibold.text-sm.whitespace-nowrap {{data.dataLabel}} @@ -93,6 +93,7 @@ export default { docData: null, isCheckChange: false, isLoadingData: true, + approvedPassportData: false, copiedFields: [ "series", "number", @@ -141,8 +142,10 @@ export default { .getValidationComponents() .filter((elem) => !this.personDataField.includes(elem.name)) .forEach((elem) => elem.resetValidation()); + this.approvedPassportData = true; return true; } + this.approvedPassportData = false; return defaultRule(val); }, removeImage(docKey, field) { @@ -193,11 +196,13 @@ export default { let passportFormData = new FormData(); let documentsFormData = new FormData(); form.getValidationComponents().forEach((elem) => { - if (!this.personDataField.includes(elem.name)) - passportFormData.append(elem.name, elem.modelValue ?? ""); - else documentsFormData.append(elem.name, elem.modelValue ?? ""); + if (!this.personDataField.includes(elem.name)) { + if (!this.approvedPassportData) + passportFormData.append(elem.name, elem.modelValue ?? ""); + } else documentsFormData.append(elem.name, elem.modelValue ?? ""); }); - this.checkChengePhoto("passport", "photo", passportFormData); + if (!this.approvedPassportData) + this.checkChengePhoto("passport", "photo", passportFormData); this.checkChengePhoto( "insurance_number", "photo_insurance_number", @@ -209,25 +214,27 @@ export default { documentsFormData ); let request = []; - if (!this.initialDocData.passport?.id) { - passportFormData.append("kind", "PASSPORT"); - passportFormData.append( - "person", - this.$store.state.medical?.basicData?.personalData?.id - ); - request.push( - this.sendData( - "general/identity_document/create/", - passportFormData - ) - ); - } else - request.push( - this.sendData( - `general/identity_document/${this.initialDocData.passport?.id}/update/`, - passportFormData - ) - ); + if (!this.approvedPassportData) { + if (!this.initialDocData.passport?.id) { + passportFormData.append("kind", "PASSPORT"); + passportFormData.append( + "person", + this.$store.state.medical?.basicData?.personalData?.id + ); + request.push( + this.sendData( + "general/identity_document/create/", + passportFormData + ) + ); + } else + request.push( + this.sendData( + `general/identity_document/${this.initialDocData.passport?.id}/update/`, + passportFormData + ) + ); + } request.push( this.sendData( `general/person/${this.$store.state.medical?.basicData?.personalData?.id}/update/`, @@ -238,7 +245,7 @@ export default { this.$store.dispatch("getMedicalCardData"); this.isEdit = false; this.isCheckChange = false; - this.$refs.form.resetValidation(); + this.$refs.form?.resetValidation(); }); } });