From 35bddc227b55da543a1a58e6b8457834f0ba33c6 Mon Sep 17 00:00:00 2001 From: megavrilinvv Date: Thu, 29 Dec 2022 12:28:28 +0300 Subject: [PATCH] =?UTF-8?q?[WIP]=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BE=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D1=82=D0=B5=D0=BA=D1=83=D1=89=D0=B5=D0=B3=D0=BE?= =?UTF-8?q?=20=D0=B2=D1=80=D0=B5=D0=BC=D0=BD=D0=B8=20=D0=B2=20=D1=80=D0=B0?= =?UTF-8?q?=D1=81=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D0=B8=D0=B8=20=D0=B8?= =?UTF-8?q?=20=D0=B0=D0=BD=D0=B8=D0=BC=D0=B0=D1=86=D0=B8=D1=8E=20=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=BE=D0=BA=D0=BE=D1=88=D0=BA=D0=BE=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D1=8B=20=D1=81=D0=BC=D0=B5=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/schedule/TheSchedule.vue | 18 +++++++++- .../schedule/components/FormChangeShift.vue | 12 +++++-- .../schedule/components/ScheduleHeader.vue | 33 +++++++++++++++---- 3 files changed, 53 insertions(+), 10 deletions(-) diff --git a/src/pages/schedule/TheSchedule.vue b/src/pages/schedule/TheSchedule.vue index ded7da4..2f735cd 100644 --- a/src/pages/schedule/TheSchedule.vue +++ b/src/pages/schedule/TheSchedule.vue @@ -3,6 +3,7 @@ .schedule-wrapper.relative.flex.flex-col.px-6.py-6.h-full.w-full.gap-y-5 schedule-header( :start-month="startMonth", + :times-shift="timesShift", @switch-previous-month="switchPreviousMonth", @switch-next-month="switchNextMonth" ) @@ -24,7 +25,7 @@ :buttons="buttons", :clear-employee="clearEmployee", :times="times", - :create-schedules="postCreateSchedules" + :create-schedules="postCreateSchedules", ) @@ -50,6 +51,7 @@ export default { endTime: "", }, times: { start_time: "", end_time: "" }, + timesShift: { start_time: "", end_time: "" }, buttons: [ { class: "button-work", @@ -217,6 +219,19 @@ export default { switchNextMonth() { this.startMonth = this.startMonth.clone().add(1, "M"); }, + houres() { + let now = new Date(); + let hour = now.getHours(); + let minute = now.getMinutes(); + let localDatetime = + (hour < 10 ? "0" + hour.toString() : hour) + + ":" + + (minute < 10 ? "0" + minute.toString() : minute); + this.times.start_time = localDatetime; + this.times.end_time = localDatetime; + this.timesShift.start_time = localDatetime; + this.timesShift.end_time = localDatetime; + }, }, watch: { startMonth() { @@ -225,6 +240,7 @@ export default { }, mounted() { this.fetchSchedules(); + this.houres(); }, }; diff --git a/src/pages/schedule/components/FormChangeShift.vue b/src/pages/schedule/components/FormChangeShift.vue index 322bc1f..b65a0f4 100644 --- a/src/pages/schedule/components/FormChangeShift.vue +++ b/src/pages/schedule/components/FormChangeShift.vue @@ -19,10 +19,16 @@ .time-wrapper.flex.justify-center .flex.flex-col.py-14px.px-4.gap-y-14px.items-center .text-xxs.opacity-40.font-bold Начало - base-input-time.item-input.text-base.select(:width-input="40") + base-input-time.item-input.text-base.select( + :width-input="40", + v-model:value="timesShift.start_time" + ) .flex.flex-col.py-14px.px-4.gap-y-14px.items-center .text-xxs.opacity-40.font-bold Конец - base-input-time.item-input.text-base.select(:width-input="40") + base-input-time.item-input.text-base.select( + :width-input="40", + v-model:value="timesShift.end_time" + ) .flex.justify-center base-button.font-semibold(:size="40") Сохранить @@ -36,7 +42,7 @@ import BaseButton from "@/components/base/BaseButton.vue"; export default { name: "FormChangeShift", components: { BaseCustomSelect, BaseInputDate, BaseInputTime, BaseButton }, - props: { closeForm: Function }, + props: { closeForm: Function, timesShift: Object }, data() { return { currentEmployee: { label: "", id: null }, diff --git a/src/pages/schedule/components/ScheduleHeader.vue b/src/pages/schedule/components/ScheduleHeader.vue index 31b0a77..2293caf 100644 --- a/src/pages/schedule/components/ScheduleHeader.vue +++ b/src/pages/schedule/components/ScheduleHeader.vue @@ -1,7 +1,12 @@ @@ -37,6 +41,7 @@ export default { components: { BaseButton, FormChangeShift }, props: { startMonth: Object, + timesShift: Object, }, data() { return { @@ -99,6 +104,22 @@ export default { .text color: var(--font-dark-blue-color) -.today - opacity: 0.5 +.form-enter-from + opacity: 0 + transform: translateY(300px) + pointer-events: none + +.form-enter-active + transition: 0.5s ease + +.form-leave-to + opacity: 0 + transform: translateY(300px) + pointer-events: none + +.form-leave-active + transition: 0.5s ease + +.form-move + transition: 0.5s ease