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