diff --git a/src/components/LoggedInLayout.vue b/src/components/LoggedInLayout.vue
index 6c7c8d7..ea8b749 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-form="isOpenForm", :close-form="closeForm", :open-form="openForm")
.flex.flex-auto
the-sidebar
- router-view
+ router-view(:open-form="openForm")
diff --git a/src/components/TheHeader.vue b/src/components/TheHeader.vue
index 4f8b174..e21ba51 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="isOpenForm", :close-form="closeForm")
.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="openForm"
)
button.header-buttons.flex.justify-center.items-center.mr-8.p-0(@click="logout")
.icon-bell.text-xxl
@@ -34,6 +34,11 @@ import BaseClientFormCreate from "@/components/base/BaseClientFormCreate";
export default {
name: "TheHeader",
components: { HeaderInputs, BaseAvatar, BaseButton, BaseClientFormCreate },
+ props: {
+ openForm: Function,
+ closeForm: Function,
+ isOpenForm: Boolean,
+ },
data() {
return {
avatarSrc: img,
@@ -41,13 +46,9 @@ export default {
avatarSrc: chargePersonAvatar,
name: "Гордеев Николай Степанович",
},
- isOpenCreate: false,
};
},
methods: {
- closeFormCreate() {
- this.isOpenCreate = false;
- },
logout() {
localStorage.clear();
this.$router.push("/login");
diff --git a/src/components/base/BaseClientFormCreate.vue b/src/components/base/BaseClientFormCreate.vue
index 04018ad..841adf2 100644
--- a/src/components/base/BaseClientFormCreate.vue
+++ b/src/components/base/BaseClientFormCreate.vue
@@ -20,7 +20,7 @@
:save-client="saveClient"
:choose-option="chooseOptionNetworks"
:choose-priority="choosePriority"
- :priority-list="getPriorityList"
+ :priority-list="priorityList"
:current-year="currentYear"
)
.flex(:style="{display :'none'}" ref="doc")
@@ -75,7 +75,10 @@ export default {
basic: {
full_name: "",
birth_date: "",
- priority: "",
+ priority: {
+ id: null,
+ label: "",
+ },
contacts: [
{
id: "network",
@@ -146,19 +149,19 @@ export default {
],
priorityList: [
{
- id: "1",
+ id: 1,
label: "Высокий",
},
{
- id: "2",
+ id: 2,
label: "Средний",
},
{
- id: "3",
+ id: 3,
label: "Низкий",
},
{
- id: "4",
+ id: 4,
label: "-",
},
],
diff --git a/src/pages/clients/TheClients.vue b/src/pages/clients/TheClients.vue
index bfe6a5f..92c4dc8 100644
--- a/src/pages/clients/TheClients.vue
+++ b/src/pages/clients/TheClients.vue
@@ -1,5 +1,5 @@
- clients-wrapper
+ clients-wrapper(:open-form="openForm")
diff --git a/src/pages/clients/components/ClientsTable.vue b/src/pages/clients/components/ClientsTable.vue
index b9cebc2..8c174d2 100644
--- a/src/pages/clients/components/ClientsTable.vue
+++ b/src/pages/clients/components/ClientsTable.vue
@@ -1,7 +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")
- clients-table-hat(:is-open-actions="marked.length" :open-form-create="openFormCreateClient")
+ clients-table-hat(:is-open-actions="marked.length" :open-form="openForm")
.flex.flex-col.h-full.gap-y-2.table-container.w-full
clients-table-header(:check="selectedCheck" :is-check="selectAll")
.flex.flex-col
@@ -32,6 +31,10 @@ export default {
ClientsTableHeader,
BaseClientFormCreate,
},
+ props: {
+ openForm: Function,
+ },
+
data() {
return {
isOpenFormCreate: false,
@@ -41,13 +44,6 @@ export default {
};
},
methods: {
- openFormCreateClient() {
- this.isOpenFormCreate = true;
- },
- closeFormCreateClient() {
- this.isOpenFormCreate = false;
- this.fetchDataClients();
- },
saveDataClients(data) {
this.dataClients = data.results;
},
diff --git a/src/pages/clients/components/ClientsTableHat.vue b/src/pages/clients/components/ClientsTableHat.vue
index c35e1db..de4fe02 100644
--- a/src/pages/clients/components/ClientsTableHat.vue
+++ b/src/pages/clients/components/ClientsTableHat.vue
@@ -9,7 +9,7 @@
clients-table-header-actions(v-if="!!isOpenActions" :is-selected-one="isOpenActions===1")
.flex.w-fit.h-fit.gap-x-2
base-button(left-icon="icon-download" :icon-left-size="16" :size="40" :outlined="true")
- base-button(left-icon="icon-plus" :icon-left-size="13" :size="40" @click="openFormCreate")
+ base-button(left-icon="icon-plus" :icon-left-size="13" :size="40" @click="openForm")
span.font-semibold Создать
@@ -25,7 +25,7 @@ export default {
BaseButton,
},
props: {
- openFormCreate: Function,
+ openForm: Function,
isOpenActions: Number,
},
};
diff --git a/src/pages/clients/components/ClientsWrapper.vue b/src/pages/clients/components/ClientsWrapper.vue
index c0114d1..50a2dbc 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(:open-form="openForm")
diff --git a/src/pages/clients/components/FormCreateAddresses.vue b/src/pages/clients/components/FormCreateAddresses.vue
index a9214c9..8daf2b8 100644
--- a/src/pages/clients/components/FormCreateAddresses.vue
+++ b/src/pages/clients/components/FormCreateAddresses.vue
@@ -12,8 +12,12 @@
span.text-sm.separator.px-2 или
.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="Выберите город")
+ .text-info.text-xxs.font-semibold Город
+ base-custom-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 +41,27 @@
diff --git a/src/pages/clients/components/FormCreateBasicInfo.vue b/src/pages/clients/components/FormCreateBasicInfo.vue
index de540af..769bc45 100644
--- a/src/pages/clients/components/FormCreateBasicInfo.vue
+++ b/src/pages/clients/components/FormCreateBasicInfo.vue
@@ -3,7 +3,7 @@
.grid.grid-cols-2.gap-x-4.gap-y-6.px-4
.flex.flex-col(class="gap-y-1.5")
span.text-sm Приоритет
- base-select(
+ base-custom-select(
:items="priorityList",
placeholder="Приоритет клиента",
v-model="basicInfo.priority"
@@ -55,14 +55,14 @@ import BaseButton from "@/components/base/BaseButton";
import BaseInput from "@/components/base/BaseInput";
import BaseAddingNetwork from "@/components/base/BaseAddingNetwork";
import { column } from "@/pages/clients/utils/tableConfig";
-import BaseSelect from "@/components/base/BaseSelect";
+import BaseCustomSelect from "@/components/base/BaseCustomSelect";
export default {
name: "FormCreateBasicInfo",
components: {
BaseInput,
BaseAddingNetwork,
BaseButton,
- BaseSelect,
+ BaseCustomSelect,
},
props: {
choosePriority: Function,