Merge branch 'UC-210' into 'master'
WIP Поправил отправку данных с формы создания мед.карты See merge request andrusyakka/urban-couscous!280
This commit is contained in:
@@ -17,7 +17,7 @@
|
|||||||
)
|
)
|
||||||
.flex.flex-col.h-full.table-container.w-full.mt-8.mb-3
|
.flex.flex-col.h-full.table-container.w-full.mt-8.mb-3
|
||||||
base-modal(v-model="showMedicalCard")
|
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")
|
clients-table-header(:check="selectedCheck" :is-check="selectAll")
|
||||||
.flex.flex-col
|
.flex.flex-col
|
||||||
clients-table-row(
|
clients-table-row(
|
||||||
|
|||||||
@@ -26,10 +26,12 @@ import MedicalIdentityDocuments from "@/pages/medicalCard/components/MedicalIden
|
|||||||
import MedicalPolicyDocuments from "@/pages/medicalCard/components/MedicalPolicyDocuments";
|
import MedicalPolicyDocuments from "@/pages/medicalCard/components/MedicalPolicyDocuments";
|
||||||
import { requestMedicalCardData } from "@/pages/clients/utils/wrapperClientForm";
|
import { requestMedicalCardData } from "@/pages/clients/utils/wrapperClientForm";
|
||||||
import { fetchWrapper } from "@/shared/fetchWrapper.js";
|
import { fetchWrapper } from "@/shared/fetchWrapper.js";
|
||||||
|
import { v_model } from "@/shared/mixins/v-model";
|
||||||
import BaseStepperQuasar from "@/components/base/BaseStepperQuasar";
|
import BaseStepperQuasar from "@/components/base/BaseStepperQuasar";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "FormCreateMedicalCard",
|
name: "FormCreateMedicalCard",
|
||||||
|
mixins: [v_model],
|
||||||
components: {
|
components: {
|
||||||
BaseInput,
|
BaseInput,
|
||||||
BaseSelect,
|
BaseSelect,
|
||||||
@@ -40,6 +42,7 @@ export default {
|
|||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
selectedClientId: String,
|
selectedClientId: String,
|
||||||
|
fetchClients: Function,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@@ -86,11 +89,16 @@ export default {
|
|||||||
finishCreateCard() {
|
finishCreateCard() {
|
||||||
requestMedicalCardData(this.clientData, this.sourceСlientDetail).then(
|
requestMedicalCardData(this.clientData, this.sourceСlientDetail).then(
|
||||||
() =>
|
() =>
|
||||||
fetchWrapper.post(`medical_card/medical_history/create/`, {
|
fetchWrapper
|
||||||
person: this.sourceСlientDetail.id,
|
.post(`medical_card/medical_history/create/`, {
|
||||||
organization: "3883e8f5-cede-4645-97a3-6d1511e63d10",
|
person: this.sourceСlientDetail.id,
|
||||||
agreement: false,
|
organization: "3883e8f5-cede-4645-97a3-6d1511e63d10",
|
||||||
})
|
agreement: true,
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.value = false;
|
||||||
|
this.fetchClients();
|
||||||
|
})
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
fetchClientDetail() {
|
fetchClientDetail() {
|
||||||
|
|||||||
@@ -110,14 +110,14 @@ export async function requestContacts(data, dataInit) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export async function requestIdentityDoc(data, dataInit) {
|
export async function requestIdentityDoc(data, dataInit) {
|
||||||
let identityInit = dataInit.identity_documents.find(
|
const receivedDoc = dataInit.identity_documents.find(
|
||||||
(doc) => doc.kind === "PASSPORT"
|
(doc) => doc.kind === "PASSPORT"
|
||||||
);
|
);
|
||||||
identityInit = {
|
const transformReceivedDoc = {
|
||||||
...identityInit,
|
...receivedDoc,
|
||||||
series_number:
|
series_number:
|
||||||
identityInit?.series && identityInit?.number
|
receivedDoc?.series && receivedDoc?.number
|
||||||
? `${identityInit.series} ${identityInit.number}`
|
? `${receivedDoc.series} ${receivedDoc.number}`
|
||||||
: "",
|
: "",
|
||||||
};
|
};
|
||||||
const dataIdentity = {
|
const dataIdentity = {
|
||||||
@@ -128,19 +128,19 @@ export async function requestIdentityDoc(data, dataInit) {
|
|||||||
};
|
};
|
||||||
const notEmptyIdentityDoc = {};
|
const notEmptyIdentityDoc = {};
|
||||||
Object.keys(dataIdentity).forEach((key) => {
|
Object.keys(dataIdentity).forEach((key) => {
|
||||||
if (dataIdentity[key] && dataIdentity[key] !== identityInit[key]) {
|
if (dataIdentity[key] && dataIdentity[key] !== transformReceivedDoc[key]) {
|
||||||
notEmptyIdentityDoc[key] = dataIdentity[key];
|
notEmptyIdentityDoc[key] = dataIdentity[key];
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if (Object.keys(notEmptyIdentityDoc).length) {
|
if (Object.keys(notEmptyIdentityDoc).length) {
|
||||||
if (!identityInit) {
|
if (!receivedDoc) {
|
||||||
return fetchWrapper.post(`general/identity_document/create/`, {
|
return fetchWrapper.post(`general/identity_document/create/`, {
|
||||||
...notEmptyIdentityDoc,
|
...notEmptyIdentityDoc,
|
||||||
person: dataInit.id,
|
person: dataInit.id,
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
return fetchWrapper.post(
|
return fetchWrapper.post(
|
||||||
`general/identity_document/${identityInit.id}/update/`,
|
`general/identity_document/${receivedDoc.id}/update/`,
|
||||||
{
|
{
|
||||||
...notEmptyIdentityDoc,
|
...notEmptyIdentityDoc,
|
||||||
}
|
}
|
||||||
@@ -192,7 +192,7 @@ export async function requestPolicy(data, dataInit) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
export async function requestMedicalCardData(data, init) {
|
export async function requestMedicalCardData(data, init) {
|
||||||
return Promise.all([
|
return Promise.allSettled([
|
||||||
updatePerson(data, init),
|
updatePerson(data, init),
|
||||||
requestAddress(data, init),
|
requestAddress(data, init),
|
||||||
requestContacts(data, init),
|
requestContacts(data, init),
|
||||||
|
|||||||
Reference in New Issue
Block a user