@@ -31,7 +31,6 @@
|
|||||||
:selected-event-data="selectedEvent"
|
:selected-event-data="selectedEvent"
|
||||||
:event-types="eventTypes"
|
:event-types="eventTypes"
|
||||||
@clear-selected-event-data="clearSelectedEvent"
|
@clear-selected-event-data="clearSelectedEvent"
|
||||||
@update-events="fetchEventsData"
|
|
||||||
@close-change-form="setChangeFormState"
|
@close-change-form="setChangeFormState"
|
||||||
)
|
)
|
||||||
base-modal(
|
base-modal(
|
||||||
@@ -71,7 +70,7 @@ export default {
|
|||||||
showModal: false,
|
showModal: false,
|
||||||
timeInformation: {
|
timeInformation: {
|
||||||
dayStartTime: "08:00",
|
dayStartTime: "08:00",
|
||||||
dayEndTime: "20:00",
|
dayEndTime: "24:00",
|
||||||
},
|
},
|
||||||
eventsData: [],
|
eventsData: [],
|
||||||
employeesData: [],
|
employeesData: [],
|
||||||
@@ -126,6 +125,7 @@ export default {
|
|||||||
},
|
},
|
||||||
closeFormCreateEvent() {
|
closeFormCreateEvent() {
|
||||||
this.isOpenForm = false;
|
this.isOpenForm = false;
|
||||||
|
this.fetchEventsData();
|
||||||
},
|
},
|
||||||
setChangeFormState() {
|
setChangeFormState() {
|
||||||
this.changeFormWasClosed = true;
|
this.changeFormWasClosed = true;
|
||||||
@@ -153,6 +153,7 @@ export default {
|
|||||||
if (this.showModal === false) {
|
if (this.showModal === false) {
|
||||||
this.setChangeFormState();
|
this.setChangeFormState();
|
||||||
this.clearSelectedEvent();
|
this.clearSelectedEvent();
|
||||||
|
this.fetchEventsData();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -38,8 +38,8 @@ export default {
|
|||||||
closeModal: Function,
|
closeModal: Function,
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
deleteEvent() {
|
async deleteEvent() {
|
||||||
fetchWrapper.del(`registry/event/${this.ownerEvent.id}/delete/`);
|
await fetchWrapper.del(`registry/event/${this.ownerEvent.id}/delete/`);
|
||||||
this.closeModal();
|
this.closeModal();
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -79,6 +79,7 @@ export default {
|
|||||||
BaseInputTime,
|
BaseInputTime,
|
||||||
BaseCustomSelect,
|
BaseCustomSelect,
|
||||||
},
|
},
|
||||||
|
emits: ["clear-selected-event-data", "close-change-form"],
|
||||||
props: {
|
props: {
|
||||||
closeForm: Function,
|
closeForm: Function,
|
||||||
ownersData: {
|
ownersData: {
|
||||||
@@ -194,7 +195,11 @@ 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.kind.label === this.selectedEventData.kind &&
|
||||||
|
this.employees.employee.id ===
|
||||||
|
this.personId(this.selectedEventData.employees, "employee") &&
|
||||||
|
this.members.person.id ===
|
||||||
|
this.personId(this.selectedEventData.members, "person")
|
||||||
) {
|
) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -287,7 +292,7 @@ export default {
|
|||||||
trimMemberName(lastName, firsName, patronymic) {
|
trimMemberName(lastName, firsName, patronymic) {
|
||||||
return `${lastName} ${firsName} ${patronymic}`;
|
return `${lastName} ${firsName} ${patronymic}`;
|
||||||
},
|
},
|
||||||
sendEventData() {
|
async sendEventData() {
|
||||||
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),
|
||||||
@@ -297,11 +302,11 @@ export default {
|
|||||||
],
|
],
|
||||||
members: [this.findPerson(this.membersData, this.members, "person")],
|
members: [this.findPerson(this.membersData, this.members, "person")],
|
||||||
};
|
};
|
||||||
this.postCreateEvent(this.eventData);
|
await this.postCreateEvent(this.eventData);
|
||||||
this.clearForm();
|
this.clearForm();
|
||||||
this.eventData = {};
|
this.eventData = {};
|
||||||
},
|
},
|
||||||
updateEventData() {
|
async updateEventData() {
|
||||||
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),
|
||||||
@@ -311,7 +316,7 @@ export default {
|
|||||||
],
|
],
|
||||||
members: [this.findPerson(this.membersData, this.members, "person")],
|
members: [this.findPerson(this.membersData, this.members, "person")],
|
||||||
};
|
};
|
||||||
this.postUpdateEvent(this.id, this.eventData);
|
await this.postUpdateEvent(this.id, this.eventData);
|
||||||
this.clearForm();
|
this.clearForm();
|
||||||
this.eventData = {};
|
this.eventData = {};
|
||||||
},
|
},
|
||||||
@@ -338,15 +343,29 @@ export default {
|
|||||||
if (object.id) returnedData.id = object.id;
|
if (object.id) returnedData.id = object.id;
|
||||||
return returnedData;
|
return returnedData;
|
||||||
},
|
},
|
||||||
postCreateEvent(event) {
|
async postCreateEvent(event) {
|
||||||
fetchWrapper
|
await fetchWrapper.post("registry/event/create/", event);
|
||||||
.post("registry/event/create/", event)
|
|
||||||
.then(this.$emit("update-events"));
|
|
||||||
},
|
},
|
||||||
postUpdateEvent(id, event) {
|
async postUpdateEvent(id, event) {
|
||||||
fetchWrapper
|
await fetchWrapper.post(`registry/event/${id}/update/`, event);
|
||||||
.post(`registry/event/${id}/update/`, event)
|
},
|
||||||
.then(this.$emit("update-events"));
|
personId(object, field) {
|
||||||
|
if (object) {
|
||||||
|
let foundPerson = {};
|
||||||
|
if (field === "employee") {
|
||||||
|
foundPerson = object.find(({ role }) => role === this.EMPLOYEE_TYPE);
|
||||||
|
}
|
||||||
|
if (field === "person") {
|
||||||
|
if (object.length > 1) {
|
||||||
|
foundPerson = object.find(({ role }) => role === this.MEMBER_TYPE);
|
||||||
|
}
|
||||||
|
foundPerson = object[0];
|
||||||
|
}
|
||||||
|
let {
|
||||||
|
[field]: { id },
|
||||||
|
} = foundPerson;
|
||||||
|
return id;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ function handleRequest(method, url, headers, attempts, body) {
|
|||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res._bodyText) return res.json();
|
if (res._bodyText) return res.json();
|
||||||
return res.ok;
|
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log(err);
|
console.log(err);
|
||||||
|
|||||||
Reference in New Issue
Block a user