Merge branch 'UC-208' into 'master'

WIP Добавил запрос на данные медицинской карты и переход на страницу карты

See merge request andrusyakka/urban-couscous!230
This commit is contained in:
Aleksey Demin
2022-12-27 16:11:31 +00:00
3 changed files with 35 additions and 20 deletions

View File

@@ -32,9 +32,8 @@
:update-data-client="updateDataClient",
:fetch-data-clients="fetchDataClients",
:fetch-created-client-data="fetchCreatedClientData",
:create-medical-card="medicalCardHandler",
@handler-click-popup="handlerClickPopup",
:created-client-name="createdClientName",
@delete-client="deleteClientHandler",
@recover-client="clearDeletedRowId",
)
client-table-pagination(
@@ -115,6 +114,7 @@ export default {
marked: [],
dataClients: [
{
medical_history: [],
initialization: true,
},
],
@@ -127,6 +127,7 @@ export default {
currentPage: 0,
length: 0,
},
medicalHistory: {},
showModal: false,
clientId: "",
deletedRowId: "",
@@ -160,6 +161,9 @@ export default {
saveDataClients(data) {
this.dataClients = data.results;
},
saveDataMedicalHistory(data) {
this.medicalHistory = data;
},
saveClientsCount(data) {
if (!this.clientsCount) this.clientsCount = data.count;
},
@@ -254,30 +258,34 @@ export default {
openModal() {
this.showModal = true;
},
medicalCardHandler() {
async handlerClickPopup(action, id) {
this.modalConfig = this.modalConfig.map((el) => {
return el.name === "medical"
return el.name === action
? { ...el, view: true }
: { ...el, view: false };
});
if (action === "delete") {
this.clientId = id;
this.titleModal = "Удалить клиента";
this.openModal();
}
if (action === "medical") {
if (id) {
fetchWrapper
.get(`medical_card/medical_history/${id}/detail/`)
.then((res) => this.saveDataMedicalHistory(res));
this.$router.push("medical-card");
} else {
this.titleModal = "Создать мед.карту";
this.openModal();
}
}
},
createMedicalCard(id) {
this.selectedClientId = id;
this.showMedicalCard = true;
this.closeModal();
},
deleteClientHandler(id) {
this.clientId = id;
this.modalConfig = this.modalConfig.map((el) => {
return el.name === "delete"
? { ...el, view: true }
: { ...el, view: false };
});
this.titleModal = "Удалить клиента";
this.openModal();
},
writeDeletedRowId() {
this.deletedRowId = this.clientId;
this.closeModal();

View File

@@ -24,7 +24,7 @@
:client-id="client.id",
:disabled-delete="!!deletedClientId && !rowOverlay",
@delete-client="transmitDeleteClient",
:create-medical-card="createMedicalCard"
:create-medical-card="transmitMedicalCard"
)
.flex.z-10(
v-if="isOpenChange && !rowOverlay",
@@ -268,7 +268,7 @@ export default {
"Дата рождения позже текущего дня"
);
this.dataClient.age = this.client.birth_date || "";
} else if (!Object.keys(data).length == 0)
} else if (!Object.keys(data).length === 0)
fetchWrapper
.post(`general/person/${this.client.id}/update/`, {
...data,
@@ -395,9 +395,16 @@ export default {
openChangeData() {
this.isOpenChange = true;
},
transmitMedicalCard() {
this.$emit(
"handler-click-popup",
"medical",
this.client?.medical_history[0]?.id
);
},
transmitDeleteClient() {
this.isOpenDetailInfo = false;
this.$emit("delete-client", this.client.id);
this.$emit("handler-click-popup", "delete", this.client.id);
},
async deleteClient() {
await fetchWrapper.del(`general/person/${this.client.id}/delete/`);

View File

@@ -38,7 +38,7 @@ export default createRouter({
{ path: "calendar", component: TheCalendar },
{ path: "clients", component: TheUser },
{ path: "settings", component: TheSettings },
{ path: "medicalCard", component: TheMedicalCard },
{ path: "medical-card", component: TheMedicalCard },
],
},
],