From 5a72d9e478c9258b0bb9f04559d057c087911f8b Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Tue, 16 Jan 2024 15:05:31 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A=20calendar?= =?UTF-8?q?=20=E0=B8=A3=E0=B8=B2=E0=B8=A2=E0=B8=81=E0=B8=B2=E0=B8=A3?= =?UTF-8?q?=E0=B8=A5=E0=B8=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../09_leave/components/2_Leave/Calendar.vue | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/modules/09_leave/components/2_Leave/Calendar.vue b/src/modules/09_leave/components/2_Leave/Calendar.vue index 38348ddc7..da2a12f81 100644 --- a/src/modules/09_leave/components/2_Leave/Calendar.vue +++ b/src/modules/09_leave/components/2_Leave/Calendar.vue @@ -77,7 +77,7 @@ const dateMonth = ref({ const mainData = ref([]); /** function เรียกข้อมูล Calendar*/ -async function fetchDataCalendar() { +async function fetchDataCalendar(type: string) { showLoader(); await http .post(config.API.leaveCalendar(), { @@ -85,10 +85,10 @@ async function fetchDataCalendar() { }) .then((res) => { mainData.value = res.data.result; - const double_name = [ ...new Set(mainData.value.map((item: ResCalendar) => item.keycloakId)), ]; + filterLists.value = []; for (let i = 1; i <= double_name.length; i++) { const name = double_name[i - 1]; @@ -99,23 +99,23 @@ async function fetchDataCalendar() { }; filterLists.value.push(filterName); - filterVal.value.push(name); + type === "onMounted" && filterVal.value.push(name); } - - const data = mainData.value.filter( - (e: any) => e.keycloakId === keycloakId.value - ); - const event = data.map((e: any) => ({ - id: e.id, - title: `${e.fullName} (${e.leaveTypeName}) `, - start: e.leaveStartDate, - end: moment(e.leaveEndDate).format("YYYY-MM-DD") + " 23:59:59", - allDay: false, - color: leaveStore.colorType(e.leaveTypeId), - textColor: "black", - })); - - calendarOptions.value.events = event; + const eventData = filterVal.value.map((item: any) => { + return mainData.value + .filter((e: ResCalendar) => e.keycloakId === item) + .map((e: ResCalendar) => ({ + id: e.id, + title: `${e.fullName} (${e.leaveTypeName}) `, + start: e.leaveStartDate, + end: moment(e.leaveEndDate).format("YYYY-MM-DD") + " 23:59:59", + color: leaveStore.colorType(e.leaveTypeId), + textColor: "black", + allDay: false, + })); + }); + const allEventData = [].concat(...eventData); + calendarOptions.value.events = allEventData; }) .catch((err) => { @@ -173,12 +173,12 @@ function redirectToDetail(id: string) { * เรียกฟังก์ชันทั้งหมดตอนเรียกใช้ไฟล์นี้ */ onMounted(async () => { - await fetchDataCalendar(); + await fetchDataCalendar("onMounted"); }); /** function เปลี่ยน calendar*/ async function changCalendar() { - await fetchDataCalendar(); + await fetchDataCalendar("chang"); } const monthYearThai = (val: DataDateMonthObject) => {