diff --git a/src/components/base/BaseClientFormCreate.vue b/src/components/base/BaseClientFormCreate.vue index b225f9e..fa3b1e8 100644 --- a/src/components/base/BaseClientFormCreate.vue +++ b/src/components/base/BaseClientFormCreate.vue @@ -449,7 +449,7 @@ export default { background-color: var(--default-white) border-radius: 4px width: 634px - min-height: 700px + min-height: 585px box-shadow: var(--default-shadow) .title diff --git a/src/pages/calendar/TheCalendar.vue b/src/pages/calendar/TheCalendar.vue index 2c5e302..d06bca1 100644 --- a/src/pages/calendar/TheCalendar.vue +++ b/src/pages/calendar/TheCalendar.vue @@ -104,16 +104,10 @@ export default { saveEmployeesData(res) { this.employeesData = res.results; }, - logout() { - localStorage.removeItem("tokenAccess"); - this.$router.push("/login"); - }, fetchEmployeesData() { - fetchWrapper.get("general/employee/").then((res) => { - if (res.type === "client_error") { - this.logout(); - } else this.saveEmployeesData(res); - }); + fetchWrapper + .get("general/employee/") + .then((res) => this.saveEmployeesData(res)); }, fetchEventsData() { fetchWrapper diff --git a/src/pages/clients/components/ClientsTable.vue b/src/pages/clients/components/ClientsTable.vue index 6f61245..edc6cd2 100644 --- a/src/pages/clients/components/ClientsTable.vue +++ b/src/pages/clients/components/ClientsTable.vue @@ -118,10 +118,6 @@ export default { this.fetchDataClients(); } }, - logout() { - localStorage.removeItem("tokenAccess"); - this.$router.push("/login"); - }, async fetchDataClients() { let response = {}; if (this.textSearch) { @@ -130,32 +126,24 @@ export default { this.limit }&offset=${(this.currentTablePage - 1) * this.limit}` ); - if (response.type === "client_error") { - this.logout(); - } else { - this.saveDataClients(response); - this.saveFilteredClientsCount(response); - this.paginationInfo = { - currentPage: this.currentTablePage, - length: this.calculatePageCount(this.filteredClientsCount), - }; - } + this.saveDataClients(response); + this.saveFilteredClientsCount(response); + this.paginationInfo = { + currentPage: this.currentTablePage, + length: this.calculatePageCount(this.filteredClientsCount), + }; } else { response = await fetchWrapper.get( `general/person/?limit=${this.limit}&offset=${ (this.currentTablePage - 1) * this.limit }` ); - if (response.type === "client_error") { - this.logout(); - } else { - this.saveDataClients(response); - this.saveClientsCount(response); - this.paginationInfo = { - currentPage: this.currentTablePage, - length: this.calculatePageCount(this.clientsCount), - }; - } + this.saveDataClients(response); + this.saveClientsCount(response); + this.paginationInfo = { + currentPage: this.currentTablePage, + length: this.calculatePageCount(this.clientsCount), + }; } }, calculatePageCount(count) { diff --git a/src/pages/clients/components/ClientsTableRow.vue b/src/pages/clients/components/ClientsTableRow.vue index 4f887f8..c017d65 100644 --- a/src/pages/clients/components/ClientsTableRow.vue +++ b/src/pages/clients/components/ClientsTableRow.vue @@ -212,29 +212,31 @@ export default { (el) => el.text === this.dataClient.priority ); let data = {}; - if ( - this.dataClient.age !== this.client.birth_date && - this.dataClient.age - ) { + let clientName = `${this.client.last_name || ""} ${ + this.client.first_name || "" + } ${this.client.patronymic || ""}`; + + if (!this.dataClient.fullName) this.dataClient.fullName = clientName; + else if (this.dataClient.fullName !== clientName) + data.full_name = this.dataClient.fullName; + if (this.dataClient.age !== this.client.birth_date && this.dataClient.age) data.birth_date = this.dataClient.age; + else if (!this.dataClient.age) { + this.addErrorNotification( + "Пожалуйста, введите дату рождения корректно" + ); + this.dataClient.age = this.client.birth_date || ""; } - if ( - foundElement.id !== this.client.priority && - foundElement.text !== "-" - ) { - data.priority = foundElement.priority; - } else if (foundElement.text === "-") { - data.priority = 4; - } + if (foundElement.id !== this.client.priority) + data.priority = foundElement.id; if ( data.birth_date && moment(data.birth_date).isAfter(moment().format("YYYY-MM-DD")) ) { - this.addErrorNotification(); - this.dataClient.age = this.client.birth_date; - } else + this.addErrorNotification("Дата рождения позже текущего дня"); + this.dataClient.age = this.client.birth_date || ""; + } else if (!Object.keys(data).length == 0) fetchWrapper.post(`general/person/${this.client.id}/update/`, { - full_name: this.dataClient.fullName, ...data, }); }, @@ -264,16 +266,24 @@ export default { this.client.contacts.forEach((el) => { if ( el.kind === "PHONE" && + this.dataClient.phone.username.length === 18 && el.username !== this.dataClient.phone.username ) { updateContacts.push(this.dataClient.phone); - } + } else + this.dataClient.phone.username = + this.client.contacts.find((el) => el.kind === "PHONE")?.username || + ""; if ( el.kind === "EMAIL" && + this.dataClient.email.username && el.username !== this.dataClient.email.username ) { updateContacts.push(this.dataClient.email); - } + } else + this.dataClient.email.username = + this.client.contacts.find((el) => el.kind === "EMAIL")?.username || + ""; }); createContacts.forEach((el) => this.postCreateContact(el)); // deleteContacts.forEach((el) => this.postDeleteContact(el)); @@ -336,11 +346,11 @@ export default { 5000 ); }, - addErrorNotification() { + addErrorNotification(message) { addNotification( "Некорректная дата рождения", "Некорректная дата рождения", - "Дата рождения позже текущего дня", + message, "error", 5000 ); diff --git a/src/pages/clients/components/FormCreateBasicInfo.vue b/src/pages/clients/components/FormCreateBasicInfo.vue index 3ae64cc..ec8239e 100644 --- a/src/pages/clients/components/FormCreateBasicInfo.vue +++ b/src/pages/clients/components/FormCreateBasicInfo.vue @@ -87,7 +87,7 @@ export default {