Merge branch 'UC-210' into 'master'

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

See merge request andrusyakka/urban-couscous!280
This commit is contained in:
Aleksey Demin
2023-03-10 12:48:40 +00:00
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 .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(

View File

@@ -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,10 +89,15 @@ 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
.post(`medical_card/medical_history/create/`, {
person: this.sourceСlientDetail.id, person: this.sourceСlientDetail.id,
organization: "3883e8f5-cede-4645-97a3-6d1511e63d10", 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) { 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),