diff --git a/src/components/LoggedInLayout.vue b/src/components/LoggedInLayout.vue
index 6c7c8d7..44ff92e 100644
--- a/src/components/LoggedInLayout.vue
+++ b/src/components/LoggedInLayout.vue
@@ -1,9 +1,9 @@
.flex.flex-col.w-full.h-full.gap-y-2
- the-header
+ the-header(:is-open-create-client="isOpenCreateClient", @is-close-header-form="changeCloseHeaderForm")
.flex.flex-auto
the-sidebar
- router-view
+ router-view(@create-client="transmitOpenCreateClient", :is-close-header-form="isCloseHeaderForm")
diff --git a/src/components/TheHeader.vue b/src/components/TheHeader.vue
index 4f8b174..e1a8edd 100644
--- a/src/components/TheHeader.vue
+++ b/src/components/TheHeader.vue
@@ -1,6 +1,6 @@
.header-wrapper.relative.flex.justify-center.box-border.py-2.pl-4_75px.pr-6
- base-client-form-create(v-if="isOpenCreate", @blure="isOpenCreate=false", :close-form="closeFormCreate")
+ base-client-form-create(v-if="this.isOpenCreateClient || this.isOpenFormCreate", :close-form="closeFormCreate")
.flex.items-center.box-border.cursor-pointer.mr-auto
img.logo-img.mr-29_25px(src="@/assets/images/logo.svg", alt="Logo")
header-inputs
@@ -13,7 +13,7 @@
:size="40",
right-icon="icon-person",
:icon-right-size="18",
- @click="isOpenCreate=true"
+ @click="openFormCreate"
)
button.header-buttons.flex.justify-center.items-center.mr-8.p-0(@click="logout")
.icon-bell.text-xxl
@@ -34,6 +34,9 @@ import BaseClientFormCreate from "@/components/base/BaseClientFormCreate";
export default {
name: "TheHeader",
components: { HeaderInputs, BaseAvatar, BaseButton, BaseClientFormCreate },
+ props: {
+ isOpenCreateClient: Boolean,
+ },
data() {
return {
avatarSrc: img,
@@ -41,12 +44,17 @@ export default {
avatarSrc: chargePersonAvatar,
name: "Гордеев Николай Степанович",
},
- isOpenCreate: false,
+ isOpenFormCreate: false,
};
},
methods: {
closeFormCreate() {
- this.isOpenCreate = false;
+ this.isOpenFormCreate = false;
+ this.$emit("is-close-header-form", this.isOpenFormCreate);
+ },
+ openFormCreate() {
+ this.isOpenFormCreate = true;
+ this.$emit("is-close-header-from", this.isOpenFormCreate);
},
logout() {
localStorage.clear();
diff --git a/src/pages/clients/TheClients.vue b/src/pages/clients/TheClients.vue
index bfe6a5f..c9f0938 100644
--- a/src/pages/clients/TheClients.vue
+++ b/src/pages/clients/TheClients.vue
@@ -1,5 +1,5 @@
- clients-wrapper
+ clients-wrapper(@create-client="transmitOpenCreateForm", :is-close-header-form="isCloseHeaderForm")
diff --git a/src/pages/clients/components/ClientsTable.vue b/src/pages/clients/components/ClientsTable.vue
index b9cebc2..7bd219d 100644
--- a/src/pages/clients/components/ClientsTable.vue
+++ b/src/pages/clients/components/ClientsTable.vue
@@ -1,6 +1,6 @@
.wrapper-table.relative.flex.flex-col.gap-y-8.px-6.py-6.h-full.w-full
- base-client-form-create(v-if="isOpenFormCreate" :close-form="closeFormCreateClient")
+ //- base-client-form-create(v-if="isOpenFormCreate" :close-form="closeFormCreateClient")
clients-table-hat(:is-open-actions="marked.length" :open-form-create="openFormCreateClient")
.flex.flex-col.h-full.gap-y-2.table-container.w-full
clients-table-header(:check="selectedCheck" :is-check="selectAll")
@@ -32,20 +32,27 @@ export default {
ClientsTableHeader,
BaseClientFormCreate,
},
+ props: {
+ isCloseHeaderForm: Boolean,
+ },
+
data() {
return {
isOpenFormCreate: false,
selectAll: false,
marked: [],
dataClients: [],
+ isOpen: false,
};
},
methods: {
openFormCreateClient() {
this.isOpenFormCreate = true;
+ this.$emit("create-client", this.isOpenFormCreate);
},
closeFormCreateClient() {
this.isOpenFormCreate = false;
+ this.$emit("create-client", this.isOpenFormCreate);
this.fetchDataClients();
},
saveDataClients(data) {
@@ -79,6 +86,16 @@ export default {
mounted() {
this.fetchDataClients();
},
+ watch: {
+ isCloseHeaderForm: {
+ immediate: true,
+ handler(newValue) {
+ if (newValue === false) {
+ this.closeFormCreateClient();
+ }
+ },
+ },
+ },
};
diff --git a/src/pages/clients/components/ClientsWrapper.vue b/src/pages/clients/components/ClientsWrapper.vue
index c0114d1..bf3683a 100644
--- a/src/pages/clients/components/ClientsWrapper.vue
+++ b/src/pages/clients/components/ClientsWrapper.vue
@@ -1,6 +1,10 @@
.wrapper.flex.w-full.relative.mx-6
- clients-table(:open-form-create="openFormCreateClient")
+ clients-table(
+ :open-form-create="openFormCreateClient",
+ @create-client="transmitOpenCreateForm",
+ :is-close-header-form="isCloseHeaderForm"
+ )
diff --git a/src/pages/clients/components/FormCreateAddresses.vue b/src/pages/clients/components/FormCreateAddresses.vue
index a9214c9..cd9ae64 100644
--- a/src/pages/clients/components/FormCreateAddresses.vue
+++ b/src/pages/clients/components/FormCreateAddresses.vue
@@ -13,7 +13,14 @@
.grid.grid-cols-2.gap-y-6.gap-x-4
.flex.flex-col(class="gap-y-1.5")
span.text-sm.font-semibold Город
- base-input.input-info(placeholder="Выберите город")
+ base-input.input-info(placeholder="Выберите город", :items="cities")
+ .flex.flex-col(class="gap-y-1.5")
+ .text-info.text-xxs.font-semibold Город
+ base-select(
+ placeholder="Выберите город",
+ :items="cities",
+ v-model="currentCity"
+ )
.flex.flex-col(class="gap-y-1.5")
span.text-sm.font-semibold Область
base-input.input-info(placeholder="Введите область")
@@ -37,16 +44,27 @@