From f5c045998cf9325590dc371e58eef3b7c0c0a58f Mon Sep 17 00:00:00 2001 From: Daria Golova Date: Mon, 31 Oct 2022 23:13:06 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B8?= =?UTF-8?q?=D0=BB=D0=B0=20=D1=81=D0=BE=D1=85=D1=80=D0=B0=D0=BD=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=A4=D0=98=D0=9E=20=D0=B8=D1=81=D0=BF=D0=BE?= =?UTF-8?q?=D0=BB=D0=BD=D0=B8=D1=82=D0=B5=D0=BB=D1=8F=20=D0=B2=20=D1=84?= =?UTF-8?q?=D0=BE=D1=80=D0=BC=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server.js | 4 +- src/components/base/BaseSelect.vue | 16 ++--- src/pages/calendar/TheCalendar.vue | 23 ++++--- .../components/CalendarFormAddEvent.vue | 65 +++++++++++++++---- .../calendar/components/CalendarSchedule.vue | 41 ++++-------- 5 files changed, 89 insertions(+), 60 deletions(-) diff --git a/server.js b/server.js index 84d67da..e9284ac 100644 --- a/server.js +++ b/server.js @@ -494,7 +494,7 @@ export function clientsServer() { id: "db831a14-e836-481f-a653-6325de7c311e", last_name: "Жмыхов", first_name: "Егор", - patronymic: "Сергеевич", + patronymic: "Александрович", }, role: null, }, @@ -537,7 +537,7 @@ export function clientsServer() { id: "db831a14-e836-481f-a653-6325de7c311e", last_name: "Жмыхов", first_name: "Егор", - patronymic: "Сергеевич", + patronymic: "Александрович", }, role: "owner", }, diff --git a/src/components/base/BaseSelect.vue b/src/components/base/BaseSelect.vue index f03dc5b..674afaa 100644 --- a/src/components/base/BaseSelect.vue +++ b/src/components/base/BaseSelect.vue @@ -15,21 +15,21 @@ :id="id" ) .option.px-4.py-1( - v-for="responsible in listData" + v-for="data in listData" @click="(e) => chooseOption(e)" - :key="responsible" - :id="responsible" - ) {{responsible}} + :key="data.id || data" + :id="data.id || data" + ) {{data.name || data}} .flex.select.cursor-pointer.w-full.text-xl.items-center.networks(v-if="forNetworks" :class="optionData, 'px-2.5'") .absolute.options.top-11.left-0( v-show="isSelectOpen" :id="id") .flex.option.justify-center.py-1.text-xl( - v-for="responsible in listData" + v-for="data in listData" @click="(e) => chooseOption(e)" - :key="responsible.network" - :id="responsible.network" - :class="responsible.icon" + :key="data.network" + :id="data.network" + :class="data.icon" ) .select-form-separator.cursor-pointer.mr-6px(v-if="separator") .text-xsm.ml-2.pt-1.icon-down-arrow.icon.text-center(v-if="!forNetworks" :class="{ open: isSelectOpen}") diff --git a/src/pages/calendar/TheCalendar.vue b/src/pages/calendar/TheCalendar.vue index f54cb7e..a6d1ad0 100644 --- a/src/pages/calendar/TheCalendar.vue +++ b/src/pages/calendar/TheCalendar.vue @@ -1,9 +1,10 @@ diff --git a/src/pages/calendar/components/CalendarSchedule.vue b/src/pages/calendar/components/CalendarSchedule.vue index b07280d..4388c02 100644 --- a/src/pages/calendar/components/CalendarSchedule.vue +++ b/src/pages/calendar/components/CalendarSchedule.vue @@ -77,6 +77,12 @@ export default { }, }, sidebarWidth: String, + ownersData: { + type: Array, + default() { + return []; + }, + }, }, data() { return { @@ -138,34 +144,15 @@ export default { }, filteredOwners() { let filteredArray = []; - let ownerAbsence = { - id: null, - last_name: null, - first_name: null, - patronymic: null, - }; - this.eventsData.forEach(({ employees }) => { - let findedElement = employees.find((elem) => elem.role === "owner"); - let emptyDataPresence = this.findObjectInArray( - filteredArray, - ownerAbsence - ); - if (!findedElement && !emptyDataPresence) { - filteredArray.push(ownerAbsence); - } - if (findedElement) { - let ownerPresence = this.findObjectInArray( - filteredArray, - findedElement.employee - ); - if (!ownerPresence) { - filteredArray.push(findedElement.employee); - } - } + this.ownersData.forEach((elem) => { + filteredArray.push({ + id: elem.id, + last_name: elem.last_name, + first_name: elem.first_name, + patronymic: elem.patronymic, + }); }); - return filteredArray.sort( - (previous, subsequent) => Boolean(subsequent.id) - Boolean(previous.id) - ); + return filteredArray; }, ownersCount() { return this.filteredOwners.length;