Merge pull request #133 from dderbentsov/UC-43

WIP Изменены запросы
This commit is contained in:
Daria Golova
2022-11-16 16:26:32 +03:00
committed by GitHub
4 changed files with 37 additions and 18 deletions

View File

@@ -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();
} }
}, },
}, },

View File

@@ -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();
}, },
}, },

View File

@@ -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: {

View File

@@ -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);