From 11af24f8bc2b19fba3a6a2127e3343698d5543a5 Mon Sep 17 00:00:00 2001 From: megavrilinvv Date: Mon, 23 Jan 2023 12:56:20 +0300 Subject: [PATCH] =?UTF-8?q?[WIP]=20=D0=A4=D0=B8=D0=BA=D1=81=20create=20?= =?UTF-8?q?=D1=82=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/schedule/TheSchedule.vue | 3 ++- .../schedule/components/ScheduleTable.vue | 25 ++++++++----------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/src/pages/schedule/TheSchedule.vue b/src/pages/schedule/TheSchedule.vue index 27c9966..c5c0af9 100644 --- a/src/pages/schedule/TheSchedule.vue +++ b/src/pages/schedule/TheSchedule.vue @@ -202,7 +202,7 @@ export default { }; if (this.insideSchedules?.length > 0) { this.postUpdateSchedule(); - if (this.outsideSchedules) + if (this.outsideSchedules) { this.outsideSchedules.forEach((el) => { fetchWrapper.post("accounts/schedules/create/", { ...data, @@ -210,6 +210,7 @@ export default { end_date: el.end_date, }); }); + } } else { fetchWrapper .post("accounts/schedules/create/", { diff --git a/src/pages/schedule/components/ScheduleTable.vue b/src/pages/schedule/components/ScheduleTable.vue index 5c5cc85..de182e5 100644 --- a/src/pages/schedule/components/ScheduleTable.vue +++ b/src/pages/schedule/components/ScheduleTable.vue @@ -81,13 +81,6 @@ export default { choiceCell(day, id, schedule) { if (this.showTime) return; let formatTime = day.format("YYYY-MM-DD"); - let insideSchedules = schedule?.schedules.filter( - (el) => - (el.date > this.dateInterval.start && - el.date < this.dateInterval.end) || - el.date === this.dateInterval.start || - el.date === this.dateInterval.end - ); if (this.dateInterval.id !== id) { this.dateInterval.start = ""; @@ -100,14 +93,18 @@ export default { this.dateInterval.id = id; } else if (day.isAfter(this.dateInterval.start)) { this.dateInterval.end = formatTime; - } else this.dateInterval.start = formatTime; + } else { + this.dateInterval.start = formatTime; + } this.$emit("schedule-employee", this.dateInterval, id); - if ( - !this.selectEmployee.label && - this.dateInterval.start && - this.dateInterval.end && - insideSchedules - ) + let insideSchedules = schedule?.schedules.filter( + (el) => + (el.date > this.dateInterval.start && + el.date < this.dateInterval.end) || + el.date === this.dateInterval.start || + el.date === this.dateInterval.end + ); + if (!this.selectEmployee.label && !!insideSchedules) this.rangeSchdedules(schedule, insideSchedules, id); }, rangeSchdedules(schedule, insideSchedules, id) {