From 6bfda2e2a7ce5fa4e74c447857a79036ef203754 Mon Sep 17 00:00:00 2001 From: Daria Golova Date: Mon, 20 Mar 2023 16:36:28 +0300 Subject: [PATCH 1/2] =?UTF-8?q?WIP=20=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=D0=B0=20=D1=81=D1=82=D0=B0=D1=82=D1=83=D1=81=D1=8B?= =?UTF-8?q?,=20=D0=BE=D1=87=D0=B8=D1=81=D1=82=D0=BA=D1=83=20=D1=84=D0=BE?= =?UTF-8?q?=D1=80=D0=BC=D1=83=20=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/base/BaseClientFormCreate.vue | 19 ++++---- src/pages/calendar/TheCalendar.vue | 44 +++++-------------- .../CalendarEventDescriptionCard.vue | 6 +-- .../components/CalendarFormAddEvent.vue | 13 +++--- ...tatusesDictionary.js => statusesConfig.js} | 2 +- 5 files changed, 32 insertions(+), 52 deletions(-) rename src/pages/calendar/utils/{statusesDictionary.js => statusesConfig.js} (95%) diff --git a/src/components/base/BaseClientFormCreate.vue b/src/components/base/BaseClientFormCreate.vue index 3cb6dbf..14861a1 100644 --- a/src/components/base/BaseClientFormCreate.vue +++ b/src/components/base/BaseClientFormCreate.vue @@ -130,7 +130,7 @@ export default { networksSettings: column.find((el) => el.name === "networks")?.settings, prioritySettings: column.find((el) => el.name === "priority"), networkId: "", - infoClient: { + defaultInfoClient: { basic: { full_name: "", birth_date: null, @@ -190,6 +190,7 @@ export default { }, ], }, + infoClient: {}, forms: [ { title: "Основное", @@ -267,9 +268,6 @@ export default { closePopup() { this.showPopup = false; }, - /*closeModal() { - !this.showModal ? this.closeForm() : null; - },*/ async createIdentityDocument(id) { let doc = null; let filteredData = Object.keys( @@ -370,6 +368,7 @@ export default { this.writeCreatedClientId(result.id); this.setUpdatedClients(); this.addSuccessNotification(); + this.value = false; }); } else { this.addErrorNotification( @@ -393,10 +392,7 @@ export default { this.infoClient.basic.priority = e.target.id; }, saveClient() { - if (this.checkFormFullness()) { - this.postNewClient(); - //this.closeForm(); - } + if (this.checkFormFullness()) this.postNewClient(); }, changeOpenModal() { this.showModal = true; @@ -483,6 +479,13 @@ export default { this.closeAddImage(); } }, + value(newValue) { + if (newValue === false) + this.infoClient = JSON.parse(JSON.stringify(this.defaultInfoClient)); + }, + }, + mounted() { + this.infoClient = JSON.parse(JSON.stringify(this.defaultInfoClient)); }, }; diff --git a/src/pages/calendar/TheCalendar.vue b/src/pages/calendar/TheCalendar.vue index 2edf473..8d5f0bc 100644 --- a/src/pages/calendar/TheCalendar.vue +++ b/src/pages/calendar/TheCalendar.vue @@ -24,17 +24,16 @@ @delete-event="openModal", :open-form-create-event="openFormCreateEvent" ) - transition(name="form") - calendar-form-add-event( - v-model="isOpenForm" - :close-form="closeFormCreateEvent", - :selected-event-data="selectedEvent", - :event-statuses="eventStatuses", - :time-information="timeInformation", - :current-date="currentDate", - @clear-selected-event-data="clearSelectedEvent", - @close-change-form="setChangeFormState" - ) + calendar-form-add-event( + v-model="isOpenForm" + :close-form="closeFormCreateEvent", + :selected-event-data="selectedEvent", + :event-statuses="eventStatuses", + :time-information="timeInformation", + :current-date="currentDate", + @clear-selected-event-data="clearSelectedEvent", + @close-change-form="setChangeFormState" + ) base-modal( v-model="showModal", title="Удаление события" @@ -56,7 +55,7 @@ import CalendarSidebar from "./components/CalendarSidebar.vue"; import CalendarFormAddEvent from "./components/CalendarFormAddEvent.vue"; import BaseModal from "@/components/base/BaseModal.vue"; import CalendarDeleteModal from "./components/CalendarDeleteModal.vue"; -import { statusesDictionary } from "@/pages/calendar/utils/statusesDictionary"; +import { statusesConfig } from "@/pages/calendar/utils/statusesConfig"; export default { name: "TheCalendar", @@ -86,7 +85,7 @@ export default { isOpenForm: false, WORKING_STATUS: "WORKS", changeFormWasClosed: false, - eventStatuses: statusesDictionary, + eventStatuses: statusesConfig, }; }, methods: { @@ -191,23 +190,4 @@ export default { diff --git a/src/pages/calendar/components/CalendarEventDescriptionCard.vue b/src/pages/calendar/components/CalendarEventDescriptionCard.vue index b25c8b4..f12f1b3 100644 --- a/src/pages/calendar/components/CalendarEventDescriptionCard.vue +++ b/src/pages/calendar/components/CalendarEventDescriptionCard.vue @@ -26,7 +26,7 @@ diff --git a/src/pages/calendar/components/CalendarFormAddEvent.vue b/src/pages/calendar/components/CalendarFormAddEvent.vue index 4466a1c..c0ee584 100644 --- a/src/pages/calendar/components/CalendarFormAddEvent.vue +++ b/src/pages/calendar/components/CalendarFormAddEvent.vue @@ -93,21 +93,16 @@ export default { TheNotificationProvider, }, mixins: [v_model], - emits: ["clear-selected-event-data", "close-change-form"], + //emits: ["clear-selected-event-data", "close-change-form"], + emits: ["clear-event-data"], props: { - closeForm: Function, + //closeForm: Function, selectedEventData: { type: Object, default() { return {}; }, }, - eventStatuses: { - type: Array, - default() { - return []; - }, - }, timeInformation: { type: Object, default() { @@ -134,7 +129,7 @@ export default { eventDate: Date, status: { label: "Планируется прием", id: null }, id: null, - ifClearedForm: true, + //ifClearedForm: true, membersData: [], ownersData: [], WORKING_STATUS: "WORKS", @@ -401,6 +396,7 @@ export default { }; await this.postCreateEvent(this.eventData); this.eventData = {}; + this.value = false; }, async updateEventData() { if (!this.checkTime()) return; @@ -422,17 +418,18 @@ export default { }; await this.postUpdateEvent(this.id, this.eventData); this.eventData = {}; + this.value = false; } else this.addErrorNotification( "Событие не может быть изменено", "Клиент был удален" ); }, - clearForm() { - if (this.selectedEventData.id) this.$emit("close-change-form"); - this.$emit("clear-selected-event-data"); - this.closeForm(); - }, + //clearForm() { + // if (this.selectedEventData.id) this.$emit("close-change-form"); + // this.$emit("clear-selected-event-data"); + // this.closeForm(); + //}, mergeDate(eventDate, time) { let parseTime = time.split(":"); return moment(eventDate.setHours(parseTime[0], parseTime[1]), 0).format( @@ -466,7 +463,7 @@ export default { ); } else { this.addSuccessNotification("Событие успешно создано"); - this.clearForm(); + //this.clearForm(); } }, async postUpdateEvent(id, event) { @@ -481,7 +478,7 @@ export default { ); } else { this.addSuccessNotification("Изменения успешно сохранены"); - this.clearForm(); + //this.clearForm(); } }, personId(object, field) { @@ -601,6 +598,9 @@ export default { } }, }, + value(newValue) { + if (newValue === false) this.$emit("clear-event-data"); + }, }, mounted() { this.fetchOwnersData(); diff --git a/src/pages/calendar/components/CalendarSchedule.vue b/src/pages/calendar/components/CalendarSchedule.vue index a05182a..00782d7 100644 --- a/src/pages/calendar/components/CalendarSchedule.vue +++ b/src/pages/calendar/components/CalendarSchedule.vue @@ -26,9 +26,7 @@ :day-end-time="validateEndTime", :style="columnSize", :event-statuses="eventStatuses", - :change-form-was-closed="changeFormWasClosed", @selected-event="transmitEventData", - @reset-change-form="transmitResetChangeForm", @delete-event="transmitDeleteEvent", :schedule-body-ref="$refs.scheduleBody", :open-form-create-event="openFormCreateEvent", @@ -74,7 +72,7 @@ export default { props: { openFormCreateEvent: Function, url: String, - changeFormWasClosed: Boolean, + //changeFormWasClosed: Boolean, currentDate: { type: Object, default() { @@ -314,9 +312,9 @@ export default { }) ); }, - transmitResetChangeForm() { + /*transmitResetChangeForm() { this.$emit("reset-change-form"); - }, + },*/ transmitEventData(eventData) { this.$emit("selected-event", eventData); },