WIP Поправил отправку данных с формы создания мед.карты

This commit is contained in:
DwCay
2023-03-10 15:47:02 +03:00
parent ff81fdd6fa
commit 703d7775e3
3 changed files with 23 additions and 15 deletions

View File

@@ -17,7 +17,7 @@
)
.flex.flex-col.h-full.table-container.w-full.mt-8.mb-3
base-modal(v-model="showMedicalCard")
form-create-medical-card(:selected-client-id="selectedClientId")
form-create-medical-card(:selected-client-id="selectedClientId" :fetch-clients="fetchDataClients" v-model="showMedicalCard")
clients-table-header(:check="selectedCheck" :is-check="selectAll")
.flex.flex-col
clients-table-row(

View File

@@ -26,10 +26,12 @@ import MedicalIdentityDocuments from "@/pages/medicalCard/components/MedicalIden
import MedicalPolicyDocuments from "@/pages/medicalCard/components/MedicalPolicyDocuments";
import { requestMedicalCardData } from "@/pages/clients/utils/wrapperClientForm";
import { fetchWrapper } from "@/shared/fetchWrapper.js";
import { v_model } from "@/shared/mixins/v-model";
import BaseStepperQuasar from "@/components/base/BaseStepperQuasar";
export default {
name: "FormCreateMedicalCard",
mixins: [v_model],
components: {
BaseInput,
BaseSelect,
@@ -40,6 +42,7 @@ export default {
},
props: {
selectedClientId: String,
fetchClients: Function,
},
data() {
return {
@@ -86,10 +89,15 @@ export default {
finishCreateCard() {
requestMedicalCardData(this.clientData, this.sourceСlientDetail).then(
() =>
fetchWrapper.post(`medical_card/medical_history/create/`, {
fetchWrapper
.post(`medical_card/medical_history/create/`, {
person: this.sourceСlientDetail.id,
organization: "3883e8f5-cede-4645-97a3-6d1511e63d10",
agreement: false,
agreement: true,
})
.then(() => {
this.value = false;
this.fetchClients();
})
);
},

View File

@@ -110,14 +110,14 @@ export async function requestContacts(data, dataInit) {
}
export async function requestIdentityDoc(data, dataInit) {
let identityInit = dataInit.identity_documents.find(
const receivedDoc = dataInit.identity_documents.find(
(doc) => doc.kind === "PASSPORT"
);
identityInit = {
...identityInit,
const transformReceivedDoc = {
...receivedDoc,
series_number:
identityInit?.series && identityInit?.number
? `${identityInit.series} ${identityInit.number}`
receivedDoc?.series && receivedDoc?.number
? `${receivedDoc.series} ${receivedDoc.number}`
: "",
};
const dataIdentity = {
@@ -128,19 +128,19 @@ export async function requestIdentityDoc(data, dataInit) {
};
const notEmptyIdentityDoc = {};
Object.keys(dataIdentity).forEach((key) => {
if (dataIdentity[key] && dataIdentity[key] !== identityInit[key]) {
if (dataIdentity[key] && dataIdentity[key] !== transformReceivedDoc[key]) {
notEmptyIdentityDoc[key] = dataIdentity[key];
}
});
if (Object.keys(notEmptyIdentityDoc).length) {
if (!identityInit) {
if (!receivedDoc) {
return fetchWrapper.post(`general/identity_document/create/`, {
...notEmptyIdentityDoc,
person: dataInit.id,
});
} else {
return fetchWrapper.post(
`general/identity_document/${identityInit.id}/update/`,
`general/identity_document/${receivedDoc.id}/update/`,
{
...notEmptyIdentityDoc,
}
@@ -192,7 +192,7 @@ export async function requestPolicy(data, dataInit) {
}
}
export async function requestMedicalCardData(data, init) {
return Promise.all([
return Promise.allSettled([
updatePerson(data, init),
requestAddress(data, init),
requestContacts(data, init),