WIP Добавил модалку для создания мед. карты
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
<template lang="pug">
|
<template lang="pug">
|
||||||
.flex.flex-col.mb-1.mt-4
|
.flex.flex-col.mb-1.mt-4
|
||||||
span.font-medium.text-base.modal-text Вы действительно хотите удалить клиента?
|
span.font-medium.text-base.modal-text {{ bodyText }}
|
||||||
.flex.gap-x-3.mt-6.font-semibold
|
.flex.gap-x-3.mt-6.font-semibold
|
||||||
base-button(
|
base-button(
|
||||||
outlined,
|
outlined,
|
||||||
@@ -10,26 +10,22 @@
|
|||||||
base-button(
|
base-button(
|
||||||
outlined-red,
|
outlined-red,
|
||||||
:size=40,
|
:size=40,
|
||||||
@click="transmitDeleteClient"
|
@click="clickConfirm"
|
||||||
) Удалить
|
) {{ confirmTitle }}
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import BaseButton from "@/components/base/BaseButton.vue";
|
import BaseButton from "@/components/base/BaseButton.vue";
|
||||||
export default {
|
export default {
|
||||||
name: "ClientTableDeleteModal",
|
name: "ClientTableModal",
|
||||||
components: {
|
components: {
|
||||||
BaseButton,
|
BaseButton,
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
|
confirmTitle: String,
|
||||||
|
bodyText: String,
|
||||||
closeModal: Function,
|
closeModal: Function,
|
||||||
deletedClientId: String,
|
clickConfirm: Function,
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
transmitDeleteClient() {
|
|
||||||
this.$emit("delete-client", this.deletedClientId);
|
|
||||||
this.closeModal();
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
:update-data-client="updateDataClient",
|
:update-data-client="updateDataClient",
|
||||||
:fetch-data-clients="fetchDataClients",
|
:fetch-data-clients="fetchDataClients",
|
||||||
:fetch-created-client-data="fetchCreatedClientData",
|
:fetch-created-client-data="fetchCreatedClientData",
|
||||||
:create-medical-card="createMedicalCard",
|
:create-medical-card="medicalCardHandler",
|
||||||
:created-client-name="createdClientName",
|
:created-client-name="createdClientName",
|
||||||
@delete-client="deleteClientHandler",
|
@delete-client="deleteClientHandler",
|
||||||
@recover-client="clearDeletedRowId",
|
@recover-client="clearDeletedRowId",
|
||||||
@@ -46,12 +46,15 @@
|
|||||||
)
|
)
|
||||||
base-modal(
|
base-modal(
|
||||||
v-model="showModal",
|
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",
|
:close-modal="closeModal",
|
||||||
:deleted-client-id="deletedClientId",
|
:click-confirm="modal.clickConfirm"
|
||||||
@delete-client="writeDeletedRowId"
|
:confirm-title="modal.titleConfirm"
|
||||||
|
:body-text="modal.bodyText"
|
||||||
)
|
)
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -64,7 +67,7 @@ import ClientsTableCheckbox from "@/pages/clients/components/ClientsTableCheckbo
|
|||||||
import BaseClientFormCreate from "@/components/base/BaseClientFormCreate";
|
import BaseClientFormCreate from "@/components/base/BaseClientFormCreate";
|
||||||
import ClientTablePagination from "./ClientTablePagination.vue";
|
import ClientTablePagination from "./ClientTablePagination.vue";
|
||||||
import BaseModal from "@/components/base/BaseModal.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 FormCreateMedicalCard from "@/pages/clients/components/FormCreateMedicalCard";
|
||||||
import BaseLoader from "@/components/Loader/BaseLoader.vue";
|
import BaseLoader from "@/components/Loader/BaseLoader.vue";
|
||||||
export default {
|
export default {
|
||||||
@@ -77,7 +80,7 @@ export default {
|
|||||||
BaseClientFormCreate,
|
BaseClientFormCreate,
|
||||||
ClientTablePagination,
|
ClientTablePagination,
|
||||||
BaseModal,
|
BaseModal,
|
||||||
ClientTableDeleteModal,
|
ClientTableModal,
|
||||||
FormCreateMedicalCard,
|
FormCreateMedicalCard,
|
||||||
BaseLoader,
|
BaseLoader,
|
||||||
},
|
},
|
||||||
@@ -91,6 +94,23 @@ export default {
|
|||||||
|
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
modalConfig: [
|
||||||
|
{
|
||||||
|
name: "delete",
|
||||||
|
bodyText: "Вы действительно хотите удалить клиента?",
|
||||||
|
titleConfirm: "Удалить",
|
||||||
|
clickConfirm: this.writeDeletedRowId,
|
||||||
|
view: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "medical",
|
||||||
|
bodyText: "Медицинская карта отсутствует. Создать мед.карту?",
|
||||||
|
titleConfirm: "Создать",
|
||||||
|
clickConfirm: this.createMedicalCard,
|
||||||
|
view: false,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
titleModal: "",
|
||||||
selectAll: false,
|
selectAll: false,
|
||||||
marked: [],
|
marked: [],
|
||||||
dataClients: [
|
dataClients: [
|
||||||
@@ -108,7 +128,7 @@ export default {
|
|||||||
length: 0,
|
length: 0,
|
||||||
},
|
},
|
||||||
showModal: false,
|
showModal: false,
|
||||||
deletedClientId: "",
|
clientId: "",
|
||||||
deletedRowId: "",
|
deletedRowId: "",
|
||||||
clearingTextSearch: false,
|
clearingTextSearch: false,
|
||||||
showMedicalCard: false,
|
showMedicalCard: false,
|
||||||
@@ -233,21 +253,38 @@ export default {
|
|||||||
openModal() {
|
openModal() {
|
||||||
this.showModal = true;
|
this.showModal = true;
|
||||||
},
|
},
|
||||||
createMedicalCard() {
|
medicalCardHandler() {
|
||||||
this.showMedicalCard = true;
|
this.modalConfig = this.modalConfig.map((el) => {
|
||||||
},
|
return el.name === "medical"
|
||||||
deleteClientHandler(id) {
|
? { ...el, view: true }
|
||||||
this.deletedClientId = id;
|
: { ...el, view: false };
|
||||||
|
});
|
||||||
|
this.titleModal = "Создать мед.карту";
|
||||||
this.openModal();
|
this.openModal();
|
||||||
},
|
},
|
||||||
writeDeletedRowId(id) {
|
createMedicalCard() {
|
||||||
this.deletedRowId = 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();
|
||||||
},
|
},
|
||||||
clearDeletedRowId() {
|
clearDeletedRowId() {
|
||||||
this.deletedRowId = "";
|
this.deletedRowId = "";
|
||||||
},
|
},
|
||||||
clearDeletedClientId() {
|
clearDeletedClientId() {
|
||||||
this.deletedClientId = "";
|
this.clientId = "";
|
||||||
},
|
},
|
||||||
changeClearingTextSearch() {
|
changeClearingTextSearch() {
|
||||||
this.clearingTextSearch = false;
|
this.clearingTextSearch = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user