From af29aadba6b583dbe8ca29879caec62a06dcc21c Mon Sep 17 00:00:00 2001 From: DwCay Date: Mon, 26 Dec 2022 20:47:07 +0300 Subject: [PATCH] =?UTF-8?q?WIP=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BC=D0=BE=D0=B4=D0=B0=D0=BB=D0=BA=D1=83=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20=D0=BC=D0=B5=D0=B4.=20=D0=BA=D0=B0=D1=80=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...leDeleteModal.vue => ClientTableModal.vue} | 18 ++--- src/pages/clients/components/ClientsTable.vue | 69 ++++++++++++++----- 2 files changed, 60 insertions(+), 27 deletions(-) rename src/pages/clients/components/{ClientTableDeleteModal.vue => ClientTableModal.vue} (63%) diff --git a/src/pages/clients/components/ClientTableDeleteModal.vue b/src/pages/clients/components/ClientTableModal.vue similarity index 63% rename from src/pages/clients/components/ClientTableDeleteModal.vue rename to src/pages/clients/components/ClientTableModal.vue index e52419c..808f06f 100644 --- a/src/pages/clients/components/ClientTableDeleteModal.vue +++ b/src/pages/clients/components/ClientTableModal.vue @@ -1,6 +1,6 @@ diff --git a/src/pages/clients/components/ClientsTable.vue b/src/pages/clients/components/ClientsTable.vue index 4dc7774..42d456b 100644 --- a/src/pages/clients/components/ClientsTable.vue +++ b/src/pages/clients/components/ClientsTable.vue @@ -32,7 +32,7 @@ :update-data-client="updateDataClient", :fetch-data-clients="fetchDataClients", :fetch-created-client-data="fetchCreatedClientData", - :create-medical-card="createMedicalCard", + :create-medical-card="medicalCardHandler", :created-client-name="createdClientName", @delete-client="deleteClientHandler", @recover-client="clearDeletedRowId", @@ -46,12 +46,15 @@ ) base-modal( v-model="showModal", - title="Удалить клиента" + :title="titleModal", ) - client-table-delete-modal( + client-table-modal( + v-for="modal in modalConfig" + v-show="modal.view" :close-modal="closeModal", - :deleted-client-id="deletedClientId", - @delete-client="writeDeletedRowId" + :click-confirm="modal.clickConfirm" + :confirm-title="modal.titleConfirm" + :body-text="modal.bodyText" ) @@ -64,7 +67,7 @@ import ClientsTableCheckbox from "@/pages/clients/components/ClientsTableCheckbo import BaseClientFormCreate from "@/components/base/BaseClientFormCreate"; import ClientTablePagination from "./ClientTablePagination.vue"; import BaseModal from "@/components/base/BaseModal.vue"; -import ClientTableDeleteModal from "./ClientTableDeleteModal.vue"; +import ClientTableModal from "./ClientTableModal.vue"; import FormCreateMedicalCard from "@/pages/clients/components/FormCreateMedicalCard"; import BaseLoader from "@/components/Loader/BaseLoader.vue"; export default { @@ -77,7 +80,7 @@ export default { BaseClientFormCreate, ClientTablePagination, BaseModal, - ClientTableDeleteModal, + ClientTableModal, FormCreateMedicalCard, BaseLoader, }, @@ -91,6 +94,23 @@ export default { data() { return { + modalConfig: [ + { + name: "delete", + bodyText: "Вы действительно хотите удалить клиента?", + titleConfirm: "Удалить", + clickConfirm: this.writeDeletedRowId, + view: false, + }, + { + name: "medical", + bodyText: "Медицинская карта отсутствует. Создать мед.карту?", + titleConfirm: "Создать", + clickConfirm: this.createMedicalCard, + view: false, + }, + ], + titleModal: "", selectAll: false, marked: [], dataClients: [ @@ -108,7 +128,7 @@ export default { length: 0, }, showModal: false, - deletedClientId: "", + clientId: "", deletedRowId: "", clearingTextSearch: false, showMedicalCard: false, @@ -233,21 +253,38 @@ export default { openModal() { this.showModal = true; }, - createMedicalCard() { - this.showMedicalCard = true; - }, - deleteClientHandler(id) { - this.deletedClientId = id; + medicalCardHandler() { + this.modalConfig = this.modalConfig.map((el) => { + return el.name === "medical" + ? { ...el, view: true } + : { ...el, view: false }; + }); + this.titleModal = "Создать мед.карту"; this.openModal(); }, - writeDeletedRowId(id) { - this.deletedRowId = id; + createMedicalCard() { + 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(); }, clearDeletedRowId() { this.deletedRowId = ""; }, clearDeletedClientId() { - this.deletedClientId = ""; + this.clientId = ""; }, changeClearingTextSearch() { this.clearingTextSearch = false;