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