WIP EmployeesList подтягивается из Schedules

This commit is contained in:
Daria Golova
2022-12-22 17:26:05 +03:00
parent 4aecbbca36
commit 79faa743fb
5 changed files with 123 additions and 55 deletions

View File

@@ -2,14 +2,14 @@
.calendar-container.flex
calendar-sidebar(
:url="url",
:team-data="employeesData",
:schedules-data="schedulesData",
:open-form-create="openFormCreateEvent",
:event-statuses="eventStatuses",
@width="changeWidth",
)
calendar-schedule(
:url="url",
:owners-data="employeesData",
:schedules-data="schedulesData",
:current-date="currentDate",
:time-information="timeInformation",
:events-data="eventsData",
@@ -31,6 +31,7 @@
:selected-event-data="selectedEvent",
:event-statuses="eventStatuses",
:time-information="timeInformation",
:current-date="currentDate",
@clear-selected-event-data="clearSelectedEvent",
@close-change-form="setChangeFormState"
)
@@ -78,8 +79,9 @@ export default {
dayEndTime: "22:00",
},
eventsData: [],
employeesData: [],
schedulesData: [],
isOpenForm: false,
WORKING_STATUS: "WORKS",
changeFormWasClosed: false,
eventStatuses: [
{
@@ -140,13 +142,28 @@ export default {
saveEventsData(res) {
this.eventsData = res.results;
},
saveEmployeesData(res) {
this.employeesData = res.results;
saveSchedulesData(res) {
if (res.results.length === 0) {
this.schedulesData = [];
return;
}
let filteredEmployees = res.results.filter(
(elem) => elem.status === this.WORKING_STATUS
);
if (filteredEmployees.length === 0) {
this.schedulesData = [];
return;
}
this.schedulesData = filteredEmployees;
},
fetchEmployeesData() {
fetchSchedulesData() {
fetchWrapper
.get(`general/employee/?date=${this.currentDate.format("YYYY-MM-DD")}`)
.then((res) => this.saveEmployeesData(res));
.get(
`accounts/schedules/?date_after=${this.currentDate.format(
"YYYY-MM-DD"
)}&date_before=${this.currentDate.format("YYYY-MM-DD")}`
)
.then((res) => this.saveSchedulesData(res));
},
fetchEventsData() {
fetchWrapper
@@ -192,11 +209,11 @@ export default {
}
},
currentDate() {
this.fetchEmployeesData();
this.fetchSchedulesData();
},
},
mounted() {
this.fetchEmployeesData();
this.fetchSchedulesData();
this.fetchEventsData();
},
};