[WIP] Добавил отображение текущего времни в расписаниии и анимацию на окошко замены смен
This commit is contained in:
@@ -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",
|
||||
)
|
||||
</template>
|
||||
|
||||
@@ -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();
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -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") Сохранить
|
||||
</template>
|
||||
@@ -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 },
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
<template lang="pug">
|
||||
.flex.flex-col.gap-y-5
|
||||
.flex.justify-center.pl-8.pr-20.font-bold.text-xl Планировщик смен
|
||||
form-change-shift(v-if="showForm", :close-form="closeForm")
|
||||
transition(name="form")
|
||||
form-change-shift(
|
||||
v-if="showForm",
|
||||
:close-form="closeForm",
|
||||
:times-shift="timesShift"
|
||||
)
|
||||
.flex
|
||||
.calendar-header-wrapper.flex.items-center.justify-between.py-3.pl-5.pr-6
|
||||
.flex
|
||||
@@ -22,9 +27,8 @@
|
||||
:size="32"
|
||||
)
|
||||
.text.flex.items-center
|
||||
span.text.font-medium.text-base {{ dateString }}
|
||||
span.today.font-bold.text-xxs.ml-2(v-if="isCurrentMonth") Текущий
|
||||
//.flex.text-xl Жмых Олег Анатольевич
|
||||
.text.font-medium.text-base {{ dateString }}
|
||||
.opacity-50.font-bold.text-xxs.ml-2(v-if="isCurrentMonth") Текущий
|
||||
base-button.font-semibold(:size="40", @click="openForm") Замена смен
|
||||
</template>
|
||||
|
||||
@@ -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
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user