Merge branch 'UC-212' into 'master'
WIP Настроила очистку форм See merge request andrusyakka/urban-couscous!282
This commit is contained in:
@@ -130,7 +130,7 @@ export default {
|
|||||||
networksSettings: column.find((el) => el.name === "networks")?.settings,
|
networksSettings: column.find((el) => el.name === "networks")?.settings,
|
||||||
prioritySettings: column.find((el) => el.name === "priority"),
|
prioritySettings: column.find((el) => el.name === "priority"),
|
||||||
networkId: "",
|
networkId: "",
|
||||||
infoClient: {
|
defaultInfoClient: {
|
||||||
basic: {
|
basic: {
|
||||||
full_name: "",
|
full_name: "",
|
||||||
birth_date: null,
|
birth_date: null,
|
||||||
@@ -190,6 +190,7 @@ export default {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
infoClient: {},
|
||||||
forms: [
|
forms: [
|
||||||
{
|
{
|
||||||
title: "Основное",
|
title: "Основное",
|
||||||
@@ -267,9 +268,6 @@ export default {
|
|||||||
closePopup() {
|
closePopup() {
|
||||||
this.showPopup = false;
|
this.showPopup = false;
|
||||||
},
|
},
|
||||||
/*closeModal() {
|
|
||||||
!this.showModal ? this.closeForm() : null;
|
|
||||||
},*/
|
|
||||||
async createIdentityDocument(id) {
|
async createIdentityDocument(id) {
|
||||||
let doc = null;
|
let doc = null;
|
||||||
let filteredData = Object.keys(
|
let filteredData = Object.keys(
|
||||||
@@ -370,6 +368,7 @@ export default {
|
|||||||
this.writeCreatedClientId(result.id);
|
this.writeCreatedClientId(result.id);
|
||||||
this.setUpdatedClients();
|
this.setUpdatedClients();
|
||||||
this.addSuccessNotification();
|
this.addSuccessNotification();
|
||||||
|
this.value = false;
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
this.addErrorNotification(
|
this.addErrorNotification(
|
||||||
@@ -393,10 +392,7 @@ export default {
|
|||||||
this.infoClient.basic.priority = e.target.id;
|
this.infoClient.basic.priority = e.target.id;
|
||||||
},
|
},
|
||||||
saveClient() {
|
saveClient() {
|
||||||
if (this.checkFormFullness()) {
|
if (this.checkFormFullness()) this.postNewClient();
|
||||||
this.postNewClient();
|
|
||||||
//this.closeForm();
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
changeOpenModal() {
|
changeOpenModal() {
|
||||||
this.showModal = true;
|
this.showModal = true;
|
||||||
@@ -483,6 +479,13 @@ export default {
|
|||||||
this.closeAddImage();
|
this.closeAddImage();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
value(newValue) {
|
||||||
|
if (newValue === false)
|
||||||
|
this.infoClient = JSON.parse(JSON.stringify(this.defaultInfoClient));
|
||||||
|
},
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.infoClient = JSON.parse(JSON.stringify(this.defaultInfoClient));
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -15,25 +15,20 @@
|
|||||||
:events-data="eventsData",
|
:events-data="eventsData",
|
||||||
:sidebar-width="sidebarWidth",
|
:sidebar-width="sidebarWidth",
|
||||||
:event-statuses="eventStatuses",
|
:event-statuses="eventStatuses",
|
||||||
:change-form-was-closed="changeFormWasClosed",
|
|
||||||
@previous-date="switchPreviousDate",
|
@previous-date="switchPreviousDate",
|
||||||
@next-date="switchNextDate",
|
@next-date="switchNextDate",
|
||||||
@selected-layout="changeCalendarLayout",
|
@selected-layout="changeCalendarLayout",
|
||||||
@reset-change-form="resetChangeFormState",
|
|
||||||
@selected-event="writeEventData",
|
@selected-event="writeEventData",
|
||||||
@delete-event="openModal",
|
@delete-event="openModal",
|
||||||
:open-form-create-event="openFormCreateEvent"
|
:open-form-create-event="openFormCreateEvent"
|
||||||
)
|
)
|
||||||
transition(name="form")
|
|
||||||
calendar-form-add-event(
|
calendar-form-add-event(
|
||||||
v-model="isOpenForm"
|
v-model="isOpenForm",
|
||||||
:close-form="closeFormCreateEvent",
|
|
||||||
:selected-event-data="selectedEvent",
|
:selected-event-data="selectedEvent",
|
||||||
:event-statuses="eventStatuses",
|
:event-statuses="eventStatuses",
|
||||||
:time-information="timeInformation",
|
:time-information="timeInformation",
|
||||||
:current-date="currentDate",
|
:current-date="currentDate",
|
||||||
@clear-selected-event-data="clearSelectedEvent",
|
@clear-event-data="clearSelectedEvent"
|
||||||
@close-change-form="setChangeFormState"
|
|
||||||
)
|
)
|
||||||
base-modal(
|
base-modal(
|
||||||
v-model="showModal",
|
v-model="showModal",
|
||||||
@@ -56,7 +51,7 @@ import CalendarSidebar from "./components/CalendarSidebar.vue";
|
|||||||
import CalendarFormAddEvent from "./components/CalendarFormAddEvent.vue";
|
import CalendarFormAddEvent from "./components/CalendarFormAddEvent.vue";
|
||||||
import BaseModal from "@/components/base/BaseModal.vue";
|
import BaseModal from "@/components/base/BaseModal.vue";
|
||||||
import CalendarDeleteModal from "./components/CalendarDeleteModal.vue";
|
import CalendarDeleteModal from "./components/CalendarDeleteModal.vue";
|
||||||
import { statusesDictionary } from "@/pages/calendar/utils/statusesDictionary";
|
import { statusesConfig } from "@/pages/calendar/utils/statusesConfig";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "TheCalendar",
|
name: "TheCalendar",
|
||||||
@@ -85,8 +80,8 @@ export default {
|
|||||||
schedulesData: [],
|
schedulesData: [],
|
||||||
isOpenForm: false,
|
isOpenForm: false,
|
||||||
WORKING_STATUS: "WORKS",
|
WORKING_STATUS: "WORKS",
|
||||||
changeFormWasClosed: false,
|
//changeFormWasClosed: false,
|
||||||
eventStatuses: statusesDictionary,
|
eventStatuses: statusesConfig,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@@ -148,18 +143,19 @@ export default {
|
|||||||
this.isOpenForm = false;
|
this.isOpenForm = false;
|
||||||
this.fetchEventsData();
|
this.fetchEventsData();
|
||||||
},
|
},
|
||||||
setChangeFormState() {
|
/*setChangeFormState() {
|
||||||
this.changeFormWasClosed = true;
|
this.changeFormWasClosed = true;
|
||||||
},
|
},
|
||||||
resetChangeFormState() {
|
resetChangeFormState() {
|
||||||
this.changeFormWasClosed = false;
|
this.changeFormWasClosed = false;
|
||||||
},
|
},*/
|
||||||
writeEventData(eventData) {
|
writeEventData(eventData) {
|
||||||
this.selectedEvent = eventData;
|
this.selectedEvent = eventData;
|
||||||
this.openFormCreateEvent();
|
this.openFormCreateEvent();
|
||||||
},
|
},
|
||||||
clearSelectedEvent() {
|
clearSelectedEvent() {
|
||||||
this.selectedEvent = {};
|
this.selectedEvent = {};
|
||||||
|
this.closeFormCreateEvent();
|
||||||
},
|
},
|
||||||
openModal(eventData) {
|
openModal(eventData) {
|
||||||
this.selectedEvent = eventData;
|
this.selectedEvent = eventData;
|
||||||
@@ -172,7 +168,7 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
showModal: function () {
|
showModal: function () {
|
||||||
if (this.showModal === false) {
|
if (this.showModal === false) {
|
||||||
this.setChangeFormState();
|
//this.setChangeFormState();
|
||||||
this.clearSelectedEvent();
|
this.clearSelectedEvent();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -191,23 +187,4 @@ export default {
|
|||||||
<style lang="sass" scoped>
|
<style lang="sass" scoped>
|
||||||
.calendar-container
|
.calendar-container
|
||||||
width: calc(100vw - 80px)
|
width: calc(100vw - 80px)
|
||||||
|
|
||||||
.form-enter-from
|
|
||||||
opacity: 0
|
|
||||||
transform: translateY(300px)
|
|
||||||
pointer-events: none
|
|
||||||
|
|
||||||
.form-enter-active
|
|
||||||
transition: 0.5s ease
|
|
||||||
|
|
||||||
.form-leave-to
|
|
||||||
opacity: 0
|
|
||||||
transform: translateY(300px)
|
|
||||||
pointer-events: none
|
|
||||||
|
|
||||||
.form-leave-active
|
|
||||||
transition: 0.5s ease
|
|
||||||
|
|
||||||
.form-move
|
|
||||||
transition: 0.5s ease
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -22,9 +22,7 @@
|
|||||||
:ownerEvent="event",
|
:ownerEvent="event",
|
||||||
:event-statuses="eventStatuses",
|
:event-statuses="eventStatuses",
|
||||||
:style="eventCardPosition(event.start, event.end)",
|
:style="eventCardPosition(event.start, event.end)",
|
||||||
:change-form-was-closed="changeFormWasClosed",
|
|
||||||
@selected-event="transmitEventData",
|
@selected-event="transmitEventData",
|
||||||
@reset-change-form="transmitResetChangeForm",
|
|
||||||
@delete-event="transmitDeleteEvent",
|
@delete-event="transmitDeleteEvent",
|
||||||
:schedule-body-ref="scheduleBodyRef",
|
:schedule-body-ref="scheduleBodyRef",
|
||||||
)
|
)
|
||||||
@@ -52,7 +50,7 @@ export default {
|
|||||||
dayEndTime: Number,
|
dayEndTime: Number,
|
||||||
dayStartTime: Number,
|
dayStartTime: Number,
|
||||||
eventStatuses: Array,
|
eventStatuses: Array,
|
||||||
changeFormWasClosed: Boolean,
|
//changeFormWasClosed: Boolean,
|
||||||
scheduleBodyRef: Node,
|
scheduleBodyRef: Node,
|
||||||
url: String,
|
url: String,
|
||||||
openFormCreateEvent: Function,
|
openFormCreateEvent: Function,
|
||||||
@@ -165,9 +163,9 @@ export default {
|
|||||||
transmitEventData(eventData) {
|
transmitEventData(eventData) {
|
||||||
this.$emit("selected-event", eventData);
|
this.$emit("selected-event", eventData);
|
||||||
},
|
},
|
||||||
transmitResetChangeForm() {
|
/*transmitResetChangeForm() {
|
||||||
this.$emit("reset-change-form");
|
this.$emit("reset-change-form");
|
||||||
},
|
},*/
|
||||||
transmitDeleteEvent(eventData) {
|
transmitDeleteEvent(eventData) {
|
||||||
this.$emit("delete-event", eventData);
|
this.$emit("delete-event", eventData);
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ export default {
|
|||||||
name: "CalendarEventCard",
|
name: "CalendarEventCard",
|
||||||
components: { CalendarEventDescriptionCard },
|
components: { CalendarEventDescriptionCard },
|
||||||
props: {
|
props: {
|
||||||
changeFormWasClosed: Boolean,
|
//changeFormWasClosed: Boolean,
|
||||||
ownerEvent: Object,
|
ownerEvent: Object,
|
||||||
eventStatuses: {
|
eventStatuses: {
|
||||||
type: Array,
|
type: Array,
|
||||||
@@ -244,7 +244,7 @@ export default {
|
|||||||
this.setDefaultTheme();
|
this.setDefaultTheme();
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
watch: {
|
/*watch: {
|
||||||
changeFormWasClosed: {
|
changeFormWasClosed: {
|
||||||
immediate: true,
|
immediate: true,
|
||||||
handler(newValue) {
|
handler(newValue) {
|
||||||
@@ -254,7 +254,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},*/
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { statusesDictionary } from "@/pages/calendar/utils/statusesDictionary";
|
import { statusesConfig } from "@/pages/calendar/utils/statusesConfig";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "CalendarEventDescriptionCard",
|
name: "CalendarEventDescriptionCard",
|
||||||
@@ -48,14 +48,12 @@ export default {
|
|||||||
return {
|
return {
|
||||||
isCertainType: true,
|
isCertainType: true,
|
||||||
position: {},
|
position: {},
|
||||||
calendarConfig: statusesDictionary,
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
status() {
|
status() {
|
||||||
return this.ownerEvent.status
|
return this.ownerEvent.status
|
||||||
? this.calendarConfig.find((e) => e.value === this.ownerEvent.status)
|
? statusesConfig.find((e) => e.value === this.ownerEvent.status).label
|
||||||
.label
|
|
||||||
: "";
|
: "";
|
||||||
},
|
},
|
||||||
typeColor() {
|
typeColor() {
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ import BaseSelect from "@/components/base/BaseSelect.vue";
|
|||||||
import * as moment from "moment/moment";
|
import * as moment from "moment/moment";
|
||||||
import BaseModal from "@/components/base/BaseModal.vue";
|
import BaseModal from "@/components/base/BaseModal.vue";
|
||||||
import { v_model } from "@/shared/mixins/v-model";
|
import { v_model } from "@/shared/mixins/v-model";
|
||||||
import { statusesDictionary } from "@/pages/calendar/utils/statusesDictionary";
|
import { statusesConfig } from "@/pages/calendar/utils/statusesConfig";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "FormChangeEvent",
|
name: "FormChangeEvent",
|
||||||
@@ -93,21 +93,16 @@ export default {
|
|||||||
TheNotificationProvider,
|
TheNotificationProvider,
|
||||||
},
|
},
|
||||||
mixins: [v_model],
|
mixins: [v_model],
|
||||||
emits: ["clear-selected-event-data", "close-change-form"],
|
//emits: ["clear-selected-event-data", "close-change-form"],
|
||||||
|
emits: ["clear-event-data"],
|
||||||
props: {
|
props: {
|
||||||
closeForm: Function,
|
//closeForm: Function,
|
||||||
selectedEventData: {
|
selectedEventData: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default() {
|
default() {
|
||||||
return {};
|
return {};
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
eventStatuses: {
|
|
||||||
type: Array,
|
|
||||||
default() {
|
|
||||||
return [];
|
|
||||||
},
|
|
||||||
},
|
|
||||||
timeInformation: {
|
timeInformation: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default() {
|
default() {
|
||||||
@@ -134,11 +129,10 @@ export default {
|
|||||||
eventDate: Date,
|
eventDate: Date,
|
||||||
status: { label: "Планируется прием", id: null },
|
status: { label: "Планируется прием", id: null },
|
||||||
id: null,
|
id: null,
|
||||||
ifClearedForm: true,
|
//ifClearedForm: true,
|
||||||
membersData: [],
|
membersData: [],
|
||||||
ownersData: [],
|
ownersData: [],
|
||||||
WORKING_STATUS: "WORKS",
|
WORKING_STATUS: "WORKS",
|
||||||
calendarConfig: statusesDictionary,
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -178,7 +172,7 @@ export default {
|
|||||||
},
|
},
|
||||||
statusesList() {
|
statusesList() {
|
||||||
let filteredArray = [];
|
let filteredArray = [];
|
||||||
this.calendarConfig.forEach((elem) => {
|
statusesConfig.forEach((elem) => {
|
||||||
filteredArray.push({
|
filteredArray.push({
|
||||||
id: elem.id,
|
id: elem.id,
|
||||||
label: elem.label,
|
label: elem.label,
|
||||||
@@ -290,22 +284,22 @@ export default {
|
|||||||
eventStatus() {
|
eventStatus() {
|
||||||
return this.selectedEventData.status
|
return this.selectedEventData.status
|
||||||
? {
|
? {
|
||||||
label: this.calendarConfig.find(
|
label: statusesConfig.find(
|
||||||
(e) => e.value === this.selectedEventData.status
|
(e) => e.value === this.selectedEventData.status
|
||||||
).label,
|
).label,
|
||||||
id: this.calendarConfig.find(
|
id: statusesConfig.find(
|
||||||
(e) => e.value === this.selectedEventData.status
|
(e) => e.value === this.selectedEventData.status
|
||||||
).id,
|
).id,
|
||||||
}
|
}
|
||||||
: {
|
: {
|
||||||
label: this.calendarConfig.find((e) => e.value === "PLANNED").id,
|
label: statusesConfig.find((e) => e.value === "PLANNED").label,
|
||||||
id: 0,
|
id: 0,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
findStatus(value) {
|
findStatus(value) {
|
||||||
return this.calendarConfig.find((e) => e.label === value)?.value;
|
return statusesConfig.find((e) => e.label === value)?.value;
|
||||||
},
|
},
|
||||||
checkTimeLimits(eventTime, scheduleTime, timeType) {
|
checkTimeLimits(eventTime, scheduleTime, timeType) {
|
||||||
if (timeType === "start")
|
if (timeType === "start")
|
||||||
@@ -402,6 +396,7 @@ export default {
|
|||||||
};
|
};
|
||||||
await this.postCreateEvent(this.eventData);
|
await this.postCreateEvent(this.eventData);
|
||||||
this.eventData = {};
|
this.eventData = {};
|
||||||
|
this.value = false;
|
||||||
},
|
},
|
||||||
async updateEventData() {
|
async updateEventData() {
|
||||||
if (!this.checkTime()) return;
|
if (!this.checkTime()) return;
|
||||||
@@ -423,17 +418,18 @@ export default {
|
|||||||
};
|
};
|
||||||
await this.postUpdateEvent(this.id, this.eventData);
|
await this.postUpdateEvent(this.id, this.eventData);
|
||||||
this.eventData = {};
|
this.eventData = {};
|
||||||
|
this.value = false;
|
||||||
} else
|
} else
|
||||||
this.addErrorNotification(
|
this.addErrorNotification(
|
||||||
"Событие не может быть изменено",
|
"Событие не может быть изменено",
|
||||||
"Клиент был удален"
|
"Клиент был удален"
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
clearForm() {
|
//clearForm() {
|
||||||
if (this.selectedEventData.id) this.$emit("close-change-form");
|
// if (this.selectedEventData.id) this.$emit("close-change-form");
|
||||||
this.$emit("clear-selected-event-data");
|
// this.$emit("clear-selected-event-data");
|
||||||
this.closeForm();
|
// this.closeForm();
|
||||||
},
|
//},
|
||||||
mergeDate(eventDate, time) {
|
mergeDate(eventDate, time) {
|
||||||
let parseTime = time.split(":");
|
let parseTime = time.split(":");
|
||||||
return moment(eventDate.setHours(parseTime[0], parseTime[1]), 0).format(
|
return moment(eventDate.setHours(parseTime[0], parseTime[1]), 0).format(
|
||||||
@@ -467,7 +463,7 @@ export default {
|
|||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
this.addSuccessNotification("Событие успешно создано");
|
this.addSuccessNotification("Событие успешно создано");
|
||||||
this.clearForm();
|
//this.clearForm();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async postUpdateEvent(id, event) {
|
async postUpdateEvent(id, event) {
|
||||||
@@ -482,7 +478,7 @@ export default {
|
|||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
this.addSuccessNotification("Изменения успешно сохранены");
|
this.addSuccessNotification("Изменения успешно сохранены");
|
||||||
this.clearForm();
|
//this.clearForm();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
personId(object, field) {
|
personId(object, field) {
|
||||||
@@ -602,6 +598,9 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
value(newValue) {
|
||||||
|
if (newValue === false) this.$emit("clear-event-data");
|
||||||
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.fetchOwnersData();
|
this.fetchOwnersData();
|
||||||
|
|||||||
@@ -26,9 +26,7 @@
|
|||||||
:day-end-time="validateEndTime",
|
:day-end-time="validateEndTime",
|
||||||
:style="columnSize",
|
:style="columnSize",
|
||||||
:event-statuses="eventStatuses",
|
:event-statuses="eventStatuses",
|
||||||
:change-form-was-closed="changeFormWasClosed",
|
|
||||||
@selected-event="transmitEventData",
|
@selected-event="transmitEventData",
|
||||||
@reset-change-form="transmitResetChangeForm",
|
|
||||||
@delete-event="transmitDeleteEvent",
|
@delete-event="transmitDeleteEvent",
|
||||||
:schedule-body-ref="$refs.scheduleBody",
|
:schedule-body-ref="$refs.scheduleBody",
|
||||||
:open-form-create-event="openFormCreateEvent",
|
:open-form-create-event="openFormCreateEvent",
|
||||||
@@ -74,7 +72,7 @@ export default {
|
|||||||
props: {
|
props: {
|
||||||
openFormCreateEvent: Function,
|
openFormCreateEvent: Function,
|
||||||
url: String,
|
url: String,
|
||||||
changeFormWasClosed: Boolean,
|
//changeFormWasClosed: Boolean,
|
||||||
currentDate: {
|
currentDate: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default() {
|
default() {
|
||||||
@@ -314,9 +312,9 @@ export default {
|
|||||||
})
|
})
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
transmitResetChangeForm() {
|
/*transmitResetChangeForm() {
|
||||||
this.$emit("reset-change-form");
|
this.$emit("reset-change-form");
|
||||||
},
|
},*/
|
||||||
transmitEventData(eventData) {
|
transmitEventData(eventData) {
|
||||||
this.$emit("selected-event", eventData);
|
this.$emit("selected-event", eventData);
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
export const statusesDictionary = [
|
export const statusesConfig = [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
label: "Планируется прием",
|
label: "Планируется прием",
|
||||||
Reference in New Issue
Block a user