Merge pull request #208 from dderbentsov/UC-165
WIP Добавлено открытие формы от двойного клика
This commit is contained in:
@@ -4,7 +4,7 @@
|
|||||||
:url="url",
|
:url="url",
|
||||||
:team-data="employeesData",
|
:team-data="employeesData",
|
||||||
:open-form-create="openFormCreateEvent",
|
:open-form-create="openFormCreateEvent",
|
||||||
:event-status="eventStatus",
|
:event-statuses="eventStatuses",
|
||||||
@width="changeWidth",
|
@width="changeWidth",
|
||||||
)
|
)
|
||||||
calendar-schedule(
|
calendar-schedule(
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
:time-information="timeInformation",
|
:time-information="timeInformation",
|
||||||
:events-data="eventsData",
|
:events-data="eventsData",
|
||||||
:sidebar-width="sidebarWidth",
|
:sidebar-width="sidebarWidth",
|
||||||
:event-status="eventStatus",
|
:event-statuses="eventStatuses",
|
||||||
:change-form-was-closed="changeFormWasClosed",
|
:change-form-was-closed="changeFormWasClosed",
|
||||||
@previous-date="switchPreviousDate",
|
@previous-date="switchPreviousDate",
|
||||||
@next-date="switchNextDate",
|
@next-date="switchNextDate",
|
||||||
@@ -22,7 +22,8 @@
|
|||||||
@open-change-form="openFormCreateEvent",
|
@open-change-form="openFormCreateEvent",
|
||||||
@reset-change-form="resetChangeFormState",
|
@reset-change-form="resetChangeFormState",
|
||||||
@selected-event="writeEventData",
|
@selected-event="writeEventData",
|
||||||
@delete-event="openModal"
|
@delete-event="openModal",
|
||||||
|
@dblclick="openFormCreateEvent"
|
||||||
)
|
)
|
||||||
transition(name="form")
|
transition(name="form")
|
||||||
calendar-form-add-event(
|
calendar-form-add-event(
|
||||||
@@ -30,7 +31,7 @@
|
|||||||
:close-form="closeFormCreateEvent",
|
:close-form="closeFormCreateEvent",
|
||||||
:owners-data="employeesData",
|
:owners-data="employeesData",
|
||||||
:selected-event-data="selectedEvent",
|
:selected-event-data="selectedEvent",
|
||||||
:event-status="eventStatus",
|
:event-statuses="eventStatuses",
|
||||||
:time-information="timeInformation",
|
:time-information="timeInformation",
|
||||||
@clear-selected-event-data="clearSelectedEvent",
|
@clear-selected-event-data="clearSelectedEvent",
|
||||||
@close-change-form="setChangeFormState"
|
@close-change-form="setChangeFormState"
|
||||||
@@ -40,7 +41,7 @@
|
|||||||
title="Удаление события"
|
title="Удаление события"
|
||||||
)
|
)
|
||||||
calendar-delete-modal(
|
calendar-delete-modal(
|
||||||
:event-types="eventStatus",
|
:event-statuses="eventStatuses",
|
||||||
:owner-event="selectedEvent",
|
:owner-event="selectedEvent",
|
||||||
:close-modal="changeShowModal",
|
:close-modal="changeShowModal",
|
||||||
@update-events="fetchEventsData"
|
@update-events="fetchEventsData"
|
||||||
@@ -82,7 +83,7 @@ export default {
|
|||||||
employeesData: [],
|
employeesData: [],
|
||||||
isOpenForm: false,
|
isOpenForm: false,
|
||||||
changeFormWasClosed: false,
|
changeFormWasClosed: false,
|
||||||
eventStatus: [
|
eventStatuses: [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
label: "Планируется прием",
|
label: "Планируется прием",
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
:key="event.id + index",
|
:key="event.id + index",
|
||||||
:id="event.id",
|
:id="event.id",
|
||||||
:ownerEvent="event",
|
:ownerEvent="event",
|
||||||
:event-status="eventStatus",
|
:event-statuses="eventStatuses",
|
||||||
:style="eventCardPosition(event.start, event.end)",
|
:style="eventCardPosition(event.start, event.end)",
|
||||||
:change-form-was-closed="changeFormWasClosed",
|
:change-form-was-closed="changeFormWasClosed",
|
||||||
@selected-event="transmitEventData",
|
@selected-event="transmitEventData",
|
||||||
@@ -45,7 +45,7 @@ export default {
|
|||||||
dayEvents: Array,
|
dayEvents: Array,
|
||||||
dayEndTime: Number,
|
dayEndTime: Number,
|
||||||
dayStartTime: Number,
|
dayStartTime: Number,
|
||||||
eventStatus: Array,
|
eventStatuses: Array,
|
||||||
changeFormWasClosed: Boolean,
|
changeFormWasClosed: Boolean,
|
||||||
scheduleBodyRef: Node,
|
scheduleBodyRef: Node,
|
||||||
url: String,
|
url: String,
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
.card-container
|
.card-container
|
||||||
calendar-event-description-card(
|
calendar-event-description-card(
|
||||||
disabled,
|
disabled,
|
||||||
:event-types="eventTypes",
|
:event-statuses="eventStatuses",
|
||||||
:owner-event="ownerEvent"
|
:owner-event="ownerEvent"
|
||||||
)
|
)
|
||||||
.flex.gap-x-3.mt-6.font-semibold
|
.flex.gap-x-3.mt-6.font-semibold
|
||||||
@@ -35,7 +35,7 @@ export default {
|
|||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
ownerEvent: Object,
|
ownerEvent: Object,
|
||||||
eventTypes: {
|
eventStatuses: {
|
||||||
type: Array,
|
type: Array,
|
||||||
default() {
|
default() {
|
||||||
return [];
|
return [];
|
||||||
|
|||||||
@@ -21,11 +21,11 @@
|
|||||||
.col
|
.col
|
||||||
ul
|
ul
|
||||||
li.mt-2(v-for="elem in descriptionColumns.rightColumn" :key="elem") {{ elem }}
|
li.mt-2(v-for="elem in descriptionColumns.rightColumn" :key="elem") {{ elem }}
|
||||||
transition(name="description")
|
transition(name="description")
|
||||||
calendar-event-description-card(
|
calendar-event-description-card(
|
||||||
v-if="isOpenDescriptionCard",
|
v-if="isOpenDescriptionCard",
|
||||||
:owner-event="ownerEvent",
|
:owner-event="ownerEvent",
|
||||||
:event-status="eventStatus",
|
:event-statuses="eventStatuses",
|
||||||
@selected-event="transmitEventData",
|
@selected-event="transmitEventData",
|
||||||
@close-description-card="closeDescriptionCard",
|
@close-description-card="closeDescriptionCard",
|
||||||
@delete-event="transmitDeleteEvent",
|
@delete-event="transmitDeleteEvent",
|
||||||
@@ -41,7 +41,7 @@ export default {
|
|||||||
props: {
|
props: {
|
||||||
changeFormWasClosed: Boolean,
|
changeFormWasClosed: Boolean,
|
||||||
ownerEvent: Object,
|
ownerEvent: Object,
|
||||||
eventStatus: {
|
eventStatuses: {
|
||||||
type: Array,
|
type: Array,
|
||||||
default() {
|
default() {
|
||||||
return [];
|
return [];
|
||||||
@@ -102,59 +102,59 @@ export default {
|
|||||||
},
|
},
|
||||||
themeColors() {
|
themeColors() {
|
||||||
switch (this.ownerEvent.status) {
|
switch (this.ownerEvent.status) {
|
||||||
case this.eventStatus[1].value:
|
case this.eventStatuses[1].value:
|
||||||
return {
|
return {
|
||||||
"--bg-color": "var(--bg-event-grey-color-0)",
|
"--bg-color": "var(--bg-event-grey-color-0)",
|
||||||
"--bg-active": this.eventStatus[1].color,
|
"--bg-active": this.eventStatuses[1].color,
|
||||||
"--bg-hover": "var(--bg-event-grey-color-1)",
|
"--bg-hover": "var(--bg-event-grey-color-1)",
|
||||||
"--font-color": "var(--font-black-color)",
|
"--font-color": "var(--font-black-color)",
|
||||||
"--font-active-color": "var(--default-white)",
|
"--font-active-color": "var(--default-white)",
|
||||||
"--count-color": this.eventStatus[1].color,
|
"--count-color": this.eventStatuses[1].color,
|
||||||
};
|
};
|
||||||
case this.eventStatus[2].value:
|
case this.eventStatuses[2].value:
|
||||||
return {
|
return {
|
||||||
"--bg-color": "var(--bg-event-yellow-color-0)",
|
"--bg-color": "var(--bg-event-yellow-color-0)",
|
||||||
"--bg-active": this.eventStatus[2].color,
|
"--bg-active": this.eventStatuses[2].color,
|
||||||
"--bg-hover": "var(--bg-event-yellow-color-1)",
|
"--bg-hover": "var(--bg-event-yellow-color-1)",
|
||||||
"--font-color": "var(--font-black-color)",
|
"--font-color": "var(--font-black-color)",
|
||||||
"--font-active-color": "var(--font-black-color)",
|
"--font-active-color": "var(--font-black-color)",
|
||||||
"--count-color": "var(--font-black-color)",
|
"--count-color": "var(--font-black-color)",
|
||||||
};
|
};
|
||||||
case this.eventStatus[3].value:
|
case this.eventStatuses[3].value:
|
||||||
return {
|
return {
|
||||||
"--bg-color": "var(--bg-event-orange-color-0)",
|
"--bg-color": "var(--bg-event-orange-color-0)",
|
||||||
"--bg-active": this.eventStatus[3].color,
|
"--bg-active": this.eventStatuses[3].color,
|
||||||
"--bg-hover": "var(--bg-event-orange-color-1)",
|
"--bg-hover": "var(--bg-event-orange-color-1)",
|
||||||
"--font-color": "var(--font-black-color)",
|
"--font-color": "var(--font-black-color)",
|
||||||
"--font-active-color": "var(--font-black-color)",
|
"--font-active-color": "var(--font-black-color)",
|
||||||
"--count-color": "var(--font-black-color)",
|
"--count-color": "var(--font-black-color)",
|
||||||
};
|
};
|
||||||
case this.eventStatus[4].value:
|
case this.eventStatuses[4].value:
|
||||||
return {
|
return {
|
||||||
"--bg-color": "var(--bg-event-blue-color-0)",
|
"--bg-color": "var(--bg-event-blue-color-0)",
|
||||||
"--bg-active": this.eventStatus[4].color,
|
"--bg-active": this.eventStatuses[4].color,
|
||||||
"--bg-hover": "var(--bg-event-blue-color-1)",
|
"--bg-hover": "var(--bg-event-blue-color-1)",
|
||||||
"--font-color": "var(--font-black-color)",
|
"--font-color": "var(--font-black-color)",
|
||||||
"--font-active-color": "var(--default-white)",
|
"--font-active-color": "var(--default-white)",
|
||||||
"--count-color": this.eventStatus[4].color,
|
"--count-color": this.eventStatuses[4].color,
|
||||||
};
|
};
|
||||||
case this.eventStatus[5].value:
|
case this.eventStatuses[5].value:
|
||||||
return {
|
return {
|
||||||
"--bg-color": "var(--bg-event-green-color-0)",
|
"--bg-color": "var(--bg-event-green-color-0)",
|
||||||
"--bg-active": this.eventStatus[5].color,
|
"--bg-active": this.eventStatuses[5].color,
|
||||||
"--bg-hover": "var(--bg-event-green-color-1)",
|
"--bg-hover": "var(--bg-event-green-color-1)",
|
||||||
"--font-color": "var(--font-black-color)",
|
"--font-color": "var(--font-black-color)",
|
||||||
"--font-active-color": "var(--default-white)",
|
"--font-active-color": "var(--default-white)",
|
||||||
"--count-color": this.eventStatus[5].color,
|
"--count-color": this.eventStatuses[5].color,
|
||||||
};
|
};
|
||||||
case this.eventStatus[6].value:
|
case this.eventStatuses[6].value:
|
||||||
return {
|
return {
|
||||||
"--bg-color": "var(--bg-event-red-color-0)",
|
"--bg-color": "var(--bg-event-red-color-0)",
|
||||||
"--bg-active": this.eventStatus[6].color,
|
"--bg-active": this.eventStatuses[6].color,
|
||||||
"--bg-hover": "var(--bg-event-red-color-1)",
|
"--bg-hover": "var(--bg-event-red-color-1)",
|
||||||
"--font-color": "var(--font-black-color)",
|
"--font-color": "var(--font-black-color)",
|
||||||
"--font-active-color": "var(--default-white)",
|
"--font-active-color": "var(--default-white)",
|
||||||
"--count-color": this.eventStatuss[6].color,
|
"--count-color": this.eventStatuses[6].color,
|
||||||
};
|
};
|
||||||
default:
|
default:
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ export default {
|
|||||||
name: "CalendarEventDescriptionCard",
|
name: "CalendarEventDescriptionCard",
|
||||||
props: {
|
props: {
|
||||||
ownerEvent: Object,
|
ownerEvent: Object,
|
||||||
eventStatus: {
|
eventStatuses: {
|
||||||
type: Array,
|
type: Array,
|
||||||
default() {
|
default() {
|
||||||
return [];
|
return [];
|
||||||
@@ -57,35 +57,35 @@ export default {
|
|||||||
},
|
},
|
||||||
typeColor() {
|
typeColor() {
|
||||||
switch (this.ownerEvent.status) {
|
switch (this.ownerEvent.status) {
|
||||||
case this.eventStatus[1].value:
|
case this.eventStatuses[1].value:
|
||||||
return {
|
return {
|
||||||
"--bg-color": "var(--bg-event-grey-color-0)",
|
"--bg-color": "var(--bg-event-grey-color-0)",
|
||||||
"--font-color": this.eventStatus[1].color,
|
"--font-color": this.eventStatuses[1].color,
|
||||||
};
|
};
|
||||||
case this.eventStatus[2].value:
|
case this.eventStatuses[2].value:
|
||||||
return {
|
return {
|
||||||
"--bg-color": "var(--bg-event-yellow-color-0)",
|
"--bg-color": "var(--bg-event-yellow-color-0)",
|
||||||
"--font-color": "var(--font-black-color)",
|
"--font-color": "var(--font-black-color)",
|
||||||
};
|
};
|
||||||
case this.eventStatus[3].value:
|
case this.eventStatuses[3].value:
|
||||||
return {
|
return {
|
||||||
"--bg-color": "var(--bg-event-orange-color-0)",
|
"--bg-color": "var(--bg-event-orange-color-0)",
|
||||||
"--font-color": "var(--font-black-color)",
|
"--font-color": "var(--font-black-color)",
|
||||||
};
|
};
|
||||||
case this.eventStatus[4].value:
|
case this.eventStatuses[4].value:
|
||||||
return {
|
return {
|
||||||
"--bg-color": "var(--bg-event-blue-color-0)",
|
"--bg-color": "var(--bg-event-blue-color-0)",
|
||||||
"--font-color": this.eventStatus[4].color,
|
"--font-color": this.eventStatuses[4].color,
|
||||||
};
|
};
|
||||||
case this.eventStatus[5].value:
|
case this.eventStatuses[5].value:
|
||||||
return {
|
return {
|
||||||
"--bg-color": "var(--bg-event-green-color-0)",
|
"--bg-color": "var(--bg-event-green-color-0)",
|
||||||
"--font-color": this.eventStatus[5].color,
|
"--font-color": this.eventStatuses[5].color,
|
||||||
};
|
};
|
||||||
case this.eventStatus[6].value:
|
case this.eventStatuses[6].value:
|
||||||
return {
|
return {
|
||||||
"--bg-color": "var(--bg-event-red-color-0)",
|
"--bg-color": "var(--bg-event-red-color-0)",
|
||||||
"--font-color": this.eventStatus[6].color,
|
"--font-color": this.eventStatuses[6].color,
|
||||||
};
|
};
|
||||||
default:
|
default:
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -3,26 +3,33 @@
|
|||||||
v-click-outside="clearForm"
|
v-click-outside="clearForm"
|
||||||
)
|
)
|
||||||
.flex.justify-between
|
.flex.justify-between
|
||||||
span.title.text-xl.font-bold {{!selectedEventData.id ? "Назначение события" : "Изменение события"}}
|
span.title.text-xl.font-bold {{!selectedEventData.id ? "Запись на прием" : "Изменение записи"}}
|
||||||
.flex.pt-2
|
.flex.pt-2
|
||||||
.icon-cancel.close-icon.tesxt-xs.cursor-pointer(@click="clearForm")
|
.icon-cancel.close-icon.tesxt-xs.cursor-pointer(@click="clearForm")
|
||||||
.flex.flex-col.gap-y-8
|
.flex.flex-col.gap-y-8
|
||||||
.flex.flex-col.gap-y-2
|
.flex.flex-col.gap-y-2
|
||||||
span.text-xs.opacity-40.font-bold.leading-3 Вид события
|
span.text-xxs.opacity-40.font-bold.leading-3 Статус приема
|
||||||
base-custom-select.select(
|
base-custom-select.select(
|
||||||
v-model="kind",
|
v-if="selectedEventData.id"
|
||||||
:items="eventStatus",
|
v-model="status",
|
||||||
placeholder="Вид события"
|
:items="eventStatuses",
|
||||||
|
placeholder="Статус приема"
|
||||||
|
)
|
||||||
|
base-input(
|
||||||
|
v-else,
|
||||||
|
disabled,
|
||||||
|
v-model:value="status.label"
|
||||||
)
|
)
|
||||||
.flex.flex-col(class="gap-y-1.5")
|
.flex.flex-col(class="gap-y-1.5")
|
||||||
span.text-sm Сотрудник
|
span.text-xxs.opacity-40.font-bold Сотрудник
|
||||||
base-custom-select.select(
|
base-custom-select.select(
|
||||||
:items="ownersList",
|
:items="ownersList",
|
||||||
v-model="employees.employee",
|
v-model="employees.employee",
|
||||||
placeholder="Выберите сотрудника"
|
placeholder="Выберите сотрудника"
|
||||||
)
|
)
|
||||||
|
|
||||||
.flex.flex-col(class="gap-y-1.5")
|
.flex.flex-col(class="gap-y-1.5")
|
||||||
span.text-sm Клиент
|
span.text-xxs.opacity-40.font-bold Клиент
|
||||||
base-custom-select.select(
|
base-custom-select.select(
|
||||||
:items="membersList",
|
:items="membersList",
|
||||||
v-model="members.person",
|
v-model="members.person",
|
||||||
@@ -32,18 +39,18 @@
|
|||||||
.flex.gap-x-4
|
.flex.gap-x-4
|
||||||
.flex.gap-x-2
|
.flex.gap-x-2
|
||||||
.flex.flex-col(class="gap-y-1.5")
|
.flex.flex-col(class="gap-y-1.5")
|
||||||
span.text-xs.opacity-40.font-bold.leading-3 Дата
|
span.text-xxs.opacity-40.font-bold.leading-3.font-bold Дата
|
||||||
base-input-date.select(v-model:value="eventDate")
|
base-input-date.select(v-model:value="eventDate")
|
||||||
.flex.gap-x-2.items-center
|
.flex.gap-x-2.items-center
|
||||||
.flex.flex-col(class="gap-y-1.5")
|
.flex.flex-col(class="gap-y-1.5")
|
||||||
span.text-xs.opacity-40.font-bold.leading-3 Начало
|
span.text-xxs.opacity-40.font-bold.leading-3.font-bold Начало
|
||||||
base-input-time.item-input.text-base.select(
|
base-input-time.item-input.text-base.select(
|
||||||
v-model:value="startTime",
|
v-model:value="startTime",
|
||||||
:width-input="72"
|
:width-input="72"
|
||||||
)
|
)
|
||||||
span.mt-4 —
|
span.mt-4 —
|
||||||
.flex.flex-col(class="gap-y-1.5")
|
.flex.flex-col(class="gap-y-1.5")
|
||||||
span.text-xs.opacity-40.font-bold.leading-3 Конец
|
span.text-xxs.opacity-40.font-bold.leading-3.font-bold Конец
|
||||||
base-input-time.item-input.text-base.select(
|
base-input-time.item-input.text-base.select(
|
||||||
v-model:value="endTime",
|
v-model:value="endTime",
|
||||||
:width-input="72"
|
:width-input="72"
|
||||||
@@ -73,6 +80,7 @@ import BaseSelect from "@/components/base/BaseSelect.vue";
|
|||||||
import BaseCustomSelect from "@/components/base/BaseCustomSelect.vue";
|
import BaseCustomSelect from "@/components/base/BaseCustomSelect.vue";
|
||||||
import BaseButton from "@/components/base/BaseButton";
|
import BaseButton from "@/components/base/BaseButton";
|
||||||
import * as moment from "moment/moment";
|
import * as moment from "moment/moment";
|
||||||
|
import { statusesDictionary } from "../utils/statusesDictionary.js";
|
||||||
export default {
|
export default {
|
||||||
name: "FormChangeEvent",
|
name: "FormChangeEvent",
|
||||||
components: {
|
components: {
|
||||||
@@ -99,7 +107,7 @@ export default {
|
|||||||
return {};
|
return {};
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
eventStatus: {
|
eventStatuses: {
|
||||||
type: Array,
|
type: Array,
|
||||||
default() {
|
default() {
|
||||||
return [];
|
return [];
|
||||||
@@ -116,13 +124,14 @@ export default {
|
|||||||
return {
|
return {
|
||||||
EMPLOYEE_TYPE: "owner",
|
EMPLOYEE_TYPE: "owner",
|
||||||
MEMBER_TYPE: "primary",
|
MEMBER_TYPE: "primary",
|
||||||
|
EVENT_KIND: "Прием",
|
||||||
eventData: {},
|
eventData: {},
|
||||||
startTime: "",
|
startTime: "",
|
||||||
endTime: "",
|
endTime: "",
|
||||||
members: {},
|
members: {},
|
||||||
employees: {},
|
employees: {},
|
||||||
eventDate: "",
|
eventDate: "",
|
||||||
kind: "",
|
status: {},
|
||||||
id: null,
|
id: null,
|
||||||
ifClearedForm: true,
|
ifClearedForm: true,
|
||||||
membersData: [],
|
membersData: [],
|
||||||
@@ -170,7 +179,7 @@ export default {
|
|||||||
this.endTime &&
|
this.endTime &&
|
||||||
this.members.person.label &&
|
this.members.person.label &&
|
||||||
this.employees.employee.label &&
|
this.employees.employee.label &&
|
||||||
this.kind.label
|
this.status.label
|
||||||
) {
|
) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -183,7 +192,7 @@ export default {
|
|||||||
this.eventDate === start.format("YYYY-MM-DD") &&
|
this.eventDate === start.format("YYYY-MM-DD") &&
|
||||||
this.startTime === start.format("HH:mm") &&
|
this.startTime === start.format("HH:mm") &&
|
||||||
this.endTime === end.format("HH:mm") &&
|
this.endTime === end.format("HH:mm") &&
|
||||||
this.kind.label === this.selectedEventData.kind &&
|
this.status.label === this.selectedEventData.status &&
|
||||||
this.employees.employee.id ===
|
this.employees.employee.id ===
|
||||||
this.personId(this.selectedEventData.employees, "employee") &&
|
this.personId(this.selectedEventData.employees, "employee") &&
|
||||||
this.members.person.id ===
|
this.members.person.id ===
|
||||||
@@ -258,14 +267,14 @@ export default {
|
|||||||
role: this.MEMBER_TYPE,
|
role: this.MEMBER_TYPE,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
eventKind() {
|
eventStatus() {
|
||||||
return this.selectedEventData.kind
|
return this.selectedEventData.status
|
||||||
? {
|
? {
|
||||||
label: this.selectedEventData.kind,
|
label: statusesDictionary[this.selectedEventData.status],
|
||||||
id: null,
|
id: null,
|
||||||
}
|
}
|
||||||
: {
|
: {
|
||||||
label: "",
|
label: statusesDictionary["PLANNED"],
|
||||||
id: null,
|
id: null,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@@ -274,6 +283,11 @@ export default {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
findStatus(value) {
|
||||||
|
return Object.keys(statusesDictionary).find(
|
||||||
|
(key) => statusesDictionary[key] === value
|
||||||
|
);
|
||||||
|
},
|
||||||
checkTimeLimits(eventTime, scheduleTime, timeType) {
|
checkTimeLimits(eventTime, scheduleTime, timeType) {
|
||||||
if (timeType === "start")
|
if (timeType === "start")
|
||||||
return (
|
return (
|
||||||
@@ -354,7 +368,8 @@ export default {
|
|||||||
this.eventData = {
|
this.eventData = {
|
||||||
start: this.mergeDate(this.eventDate, this.startTime),
|
start: this.mergeDate(this.eventDate, this.startTime),
|
||||||
end: this.mergeDate(this.eventDate, this.endTime),
|
end: this.mergeDate(this.eventDate, this.endTime),
|
||||||
kind: this.kind.label,
|
status: this.findStatus(this.status.label),
|
||||||
|
kind: this.EVENT_KIND,
|
||||||
employees: [
|
employees: [
|
||||||
this.findPerson(this.ownersData, this.employees, "employee"),
|
this.findPerson(this.ownersData, this.employees, "employee"),
|
||||||
],
|
],
|
||||||
@@ -375,7 +390,7 @@ export default {
|
|||||||
this.eventData = {
|
this.eventData = {
|
||||||
start: this.mergeDate(this.eventDate, this.startTime),
|
start: this.mergeDate(this.eventDate, this.startTime),
|
||||||
end: this.mergeDate(this.eventDate, this.endTime),
|
end: this.mergeDate(this.eventDate, this.endTime),
|
||||||
kind: this.kind.label,
|
status: this.findStatus(this.status.label),
|
||||||
employees: [
|
employees: [
|
||||||
this.findPerson(this.ownersData, this.employees, "employee"),
|
this.findPerson(this.ownersData, this.employees, "employee"),
|
||||||
],
|
],
|
||||||
@@ -498,7 +513,7 @@ export default {
|
|||||||
handler(newDate) {
|
handler(newDate) {
|
||||||
if (newDate) {
|
if (newDate) {
|
||||||
this.id = this.eventId;
|
this.id = this.eventId;
|
||||||
this.kind = this.eventKind;
|
this.status = this.eventStatus;
|
||||||
this.employees = this.eventEmployee;
|
this.employees = this.eventEmployee;
|
||||||
this.members = this.eventMember;
|
this.members = this.eventMember;
|
||||||
}
|
}
|
||||||
@@ -561,7 +576,7 @@ export default {
|
|||||||
|
|
||||||
.select
|
.select
|
||||||
height: 40px
|
height: 40px
|
||||||
border: 2px solid var(--border-light-grey-color)
|
border: 1.5px solid var(--border-light-grey-color)
|
||||||
border-radius: 4px
|
border-radius: 4px
|
||||||
|
|
||||||
.update-button
|
.update-button
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
:day-start-time="validateStartTime",
|
:day-start-time="validateStartTime",
|
||||||
:day-end-time="validateEndTime",
|
:day-end-time="validateEndTime",
|
||||||
:style="columnSize",
|
:style="columnSize",
|
||||||
:event-status="eventStatus",
|
:event-statuses="eventStatuses",
|
||||||
:change-form-was-closed="changeFormWasClosed",
|
:change-form-was-closed="changeFormWasClosed",
|
||||||
@selected-event="transmitEventData",
|
@selected-event="transmitEventData",
|
||||||
@reset-change-form="transmitResetChangeForm",
|
@reset-change-form="transmitResetChangeForm",
|
||||||
@@ -97,7 +97,7 @@ export default {
|
|||||||
return [];
|
return [];
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
eventStatus: {
|
eventStatuses: {
|
||||||
type: Array,
|
type: Array,
|
||||||
default() {
|
default() {
|
||||||
return [];
|
return [];
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
@click="openFormCreate",
|
@click="openFormCreate",
|
||||||
v-else
|
v-else
|
||||||
) Создать событие
|
) Создать событие
|
||||||
calendar-sidebar-event(:is-open="isOpen", :event-status="eventStatus")
|
calendar-sidebar-event(:is-open="isOpen", :event-statuses="eventStatuses")
|
||||||
calendar-sidebar-teammate(:team-data="teamData", :is-open="isOpen", :url="url")
|
calendar-sidebar-teammate(:team-data="teamData", :is-open="isOpen", :url="url")
|
||||||
.button-wrapper.flex.justify-center.mb-23px
|
.button-wrapper.flex.justify-center.mb-23px
|
||||||
base-button(
|
base-button(
|
||||||
@@ -47,7 +47,7 @@ export default {
|
|||||||
props: {
|
props: {
|
||||||
teamData: Array,
|
teamData: Array,
|
||||||
openFormCreate: Function,
|
openFormCreate: Function,
|
||||||
eventStatus: Array,
|
eventStatuses: Array,
|
||||||
url: String,
|
url: String,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
.flex.flex-col.items-center(v-if="!isOpen")
|
.flex.flex-col.items-center(v-if="!isOpen")
|
||||||
base-button(left-icon="icon-plus", rounded, :size="24", :icon-left-size="10", secondary)
|
base-button(left-icon="icon-plus", rounded, :size="24", :icon-left-size="10", secondary)
|
||||||
.flex.flex-col.gap-y-2.items-center.mt-4
|
.flex.flex-col.gap-y-2.items-center.mt-4
|
||||||
.event.flex.items-center.justify-center(v-for="event in eventStatus" :key="event.id")
|
.event.flex.items-center.justify-center(v-for="event in eventStatuses" :key="event.id")
|
||||||
.event-type(:style="{ background: event.color }")
|
.event-type(:style="{ background: event.color }")
|
||||||
.flex.flex-col.gap-y-4.w-full(v-else)
|
.flex.flex-col.gap-y-4.w-full(v-else)
|
||||||
.flex.items-center.justify-between
|
.flex.items-center.justify-between
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
secondary
|
secondary
|
||||||
)
|
)
|
||||||
.flex.flex-col.gap-y-2
|
.flex.flex-col.gap-y-2
|
||||||
.relative.flex.items-center.gap-x-3.h-8(v-for="event in eventStatus")
|
.relative.flex.items-center.gap-x-3.h-8(v-for="event in eventStatuses")
|
||||||
input.custom-input.py-2.pl-6.h-full.not-italic.font-medium.text-xxs(
|
input.custom-input.py-2.pl-6.h-full.not-italic.font-medium.text-xxs(
|
||||||
:placeholder="event.label"
|
:placeholder="event.label"
|
||||||
:key="event.id"
|
:key="event.id"
|
||||||
@@ -34,7 +34,7 @@ export default {
|
|||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
isOpen: Boolean,
|
isOpen: Boolean,
|
||||||
eventStatus: Array,
|
eventStatuses: Array,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user