diff --git a/src/components/LoggedInLayout.vue b/src/components/LoggedInLayout.vue
index 6c7c8d7..e3d7272 100644
--- a/src/components/LoggedInLayout.vue
+++ b/src/components/LoggedInLayout.vue
@@ -1,9 +1,15 @@
.flex.flex-col.w-full.h-full.gap-y-2
- the-header
+ the-header(
+ :is-open-page-form="isOpenPageForm",
+ @is-open-header-form="changeHeaderFormState"
+ )
.flex.flex-auto
the-sidebar
- router-view
+ router-view(
+ :is-open-header-form="isOpenHeaderForm",
+ @is-open-page-form="changePageFormState",
+ )
diff --git a/src/components/TheHeader.vue b/src/components/TheHeader.vue
index 8d4f529..27c441b 100644
--- a/src/components/TheHeader.vue
+++ b/src/components/TheHeader.vue
@@ -13,7 +13,7 @@
:size="40",
right-icon="icon-person",
:icon-right-size="18",
- @click="isOpenCreate=true"
+ @click="changeFormState"
)
button.header-buttons.flex.justify-center.items-center.mr-8.p-0(@click="logout")
.icon-bell.text-xxl
@@ -34,6 +34,12 @@ import BaseClientFormCreate from "@/components/base/BaseClientFormCreate";
export default {
name: "TheHeader",
components: { HeaderInputs, BaseAvatar, BaseButton, BaseClientFormCreate },
+ props: {
+ isOpenPageForm: {
+ type: Boolean,
+ default: false,
+ },
+ },
data() {
return {
avatarSrc: img,
@@ -47,11 +53,16 @@ export default {
methods: {
closeFormCreate() {
this.isOpenCreate = false;
+ this.$emit("is-open-header-form", this.isOpenCreate);
},
logout() {
localStorage.clear();
this.$router.push("/login");
},
+ changeFormState() {
+ this.isOpenCreate = !this.isOpenPageForm;
+ this.$emit("is-open-header-form", this.isOpenCreate);
+ },
},
};
diff --git a/src/pages/calendar/TheCalendar.vue b/src/pages/calendar/TheCalendar.vue
index 52ce866..dbbf066 100644
--- a/src/pages/calendar/TheCalendar.vue
+++ b/src/pages/calendar/TheCalendar.vue
@@ -36,6 +36,12 @@ export default {
CalendarSidebar,
CalendarFormAddEvent,
},
+ props: {
+ isOpenHeaderForm: {
+ type: Boolean,
+ default: false,
+ },
+ },
data() {
return {
sidebarWidth: "72px",
@@ -93,16 +99,21 @@ export default {
this.sidebarWidth = value;
},
openFormCreateEvent() {
- this.isOpenForm = true;
+ this.isOpenForm = !this.isOpenHeaderForm;
+ this.$emit("is-open-page-form", this.isOpenForm);
},
closeFormCreateEvent() {
this.isOpenForm = false;
+ this.$emit("is-open-page-form", this.isOpenForm);
},
},
mounted() {
this.fetchPersonsData();
this.fetchEventsData();
},
+ beforeUnmount() {
+ this.closeFormCreateEvent();
+ },
};
diff --git a/src/pages/calendar/components/CalendarFormAddEvent.vue b/src/pages/calendar/components/CalendarFormAddEvent.vue
index 34e4268..a1d9ffe 100644
--- a/src/pages/calendar/components/CalendarFormAddEvent.vue
+++ b/src/pages/calendar/components/CalendarFormAddEvent.vue
@@ -1,5 +1,5 @@
- .flex.flex-col.gap-y-6.pt-6.pb-7.px-8.event-form.absolute.left-0.top-14
+ .flex.flex-col.gap-y-6.pt-6.pb-7.px-8.event-form.absolute.right-0.bottom-14
.flex.justify-between
span.title.text-xl.font-bold Назначение события
.flex.pt-2
diff --git a/src/pages/clients/TheClients.vue b/src/pages/clients/TheClients.vue
index bfe6a5f..b0a6874 100644
--- a/src/pages/clients/TheClients.vue
+++ b/src/pages/clients/TheClients.vue
@@ -1,5 +1,5 @@
- clients-wrapper
+ clients-wrapper(@is-open-client-add-form="transmitPageFormState")
diff --git a/src/pages/clients/components/ClientsTable.vue b/src/pages/clients/components/ClientsTable.vue
index 357cdfe..c2463bb 100644
--- a/src/pages/clients/components/ClientsTable.vue
+++ b/src/pages/clients/components/ClientsTable.vue
@@ -43,9 +43,11 @@ export default {
methods: {
openFormCreateClient() {
this.isOpenFormCreate = true;
+ this.$emit("is-open-client-add-form", this.isOpenFormCreate);
},
closeFormCreateClient() {
this.isOpenFormCreate = false;
+ this.$emit("is-open-client-add-form", this.isOpenFormCreate);
this.fetchDataClients();
},
saveDataClients(data) {
@@ -79,6 +81,9 @@ export default {
mounted() {
this.fetchDataClients();
},
+ beforeUnmount() {
+ this.closeFormCreateClient();
+ },
};
diff --git a/src/pages/clients/components/ClientsWrapper.vue b/src/pages/clients/components/ClientsWrapper.vue
index c0114d1..ee4e3f3 100644
--- a/src/pages/clients/components/ClientsWrapper.vue
+++ b/src/pages/clients/components/ClientsWrapper.vue
@@ -1,6 +1,6 @@
.wrapper.flex.w-full.relative.mx-6
- clients-table(:open-form-create="openFormCreateClient")
+ clients-table(@is-open-client-add-form="transmitPageFormState")