From 8034c29373cced349298ac8a3c74c06fd7144726 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Tue, 16 Jan 2024 13:58:38 +0700 Subject: [PATCH 1/4] =?UTF-8?q?=E0=B9=80=E0=B8=9E=E0=B8=B4=E0=B9=88?= =?UTF-8?q?=E0=B8=A1=20=20readonly=20=20input=20=E0=B8=8A=E0=B8=B7?= =?UTF-8?q?=E0=B9=88=E0=B8=AD=E0=B8=9C=E0=B8=A5=E0=B8=87=E0=B8=B2=E0=B8=99?= =?UTF-8?q?=20=E0=B8=9B=E0=B8=A3=E0=B8=B0=E0=B9=80=E0=B8=A1=E0=B8=B4?= =?UTF-8?q?=E0=B8=99=20=E0=B8=88=E0=B8=B1=E0=B8=94=E0=B9=80=E0=B8=95?= =?UTF-8?q?=E0=B8=A3=E0=B8=B5=E0=B8=A2=E0=B8=A1=E0=B9=80=E0=B8=AD=E0=B8=81?= =?UTF-8?q?=E0=B8=AA=E0=B8=B2=E0=B8=A3=E0=B9=80=E0=B8=A5=E0=B9=88=E0=B8=A1?= =?UTF-8?q?=201?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/12_evaluatePersonal/components/Detail/step/step2.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/src/modules/12_evaluatePersonal/components/Detail/step/step2.vue b/src/modules/12_evaluatePersonal/components/Detail/step/step2.vue index 92b72f64d..c4ae0f4b4 100644 --- a/src/modules/12_evaluatePersonal/components/Detail/step/step2.vue +++ b/src/modules/12_evaluatePersonal/components/Detail/step/step2.vue @@ -69,6 +69,7 @@ onMounted(async () => {
Date: Tue, 16 Jan 2024 14:09:56 +0700 Subject: [PATCH 2/4] =?UTF-8?q?check=20=E0=B8=82=E0=B9=89=E0=B8=AD?= =?UTF-8?q?=E0=B8=A1=E0=B8=B9=E0=B8=A5=E0=B8=81=E0=B9=88=E0=B8=AD=E0=B8=99?= =?UTF-8?q?=20map=20=E0=B8=A3=E0=B8=B0=E0=B8=9A=E0=B8=9A=E0=B8=9B=E0=B8=A3?= =?UTF-8?q?=E0=B8=B0=E0=B9=80=E0=B8=A1=E0=B8=B4=E0=B8=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/Detail/step/step2.vue | 23 ++++++++++--------- .../components/Detail/step/step5.vue | 6 +++-- .../components/Detail/step/step6.vue | 16 +++++++------ .../components/Detail/step/step8.vue | 8 ++++--- 4 files changed, 30 insertions(+), 23 deletions(-) diff --git a/src/modules/12_evaluatePersonal/components/Detail/step/step2.vue b/src/modules/12_evaluatePersonal/components/Detail/step/step2.vue index c4ae0f4b4..dfed23c20 100644 --- a/src/modules/12_evaluatePersonal/components/Detail/step/step2.vue +++ b/src/modules/12_evaluatePersonal/components/Detail/step/step2.vue @@ -32,17 +32,18 @@ async function fetchSigner() { .get(config.API.evaluationSigner(id.value, 1)) .then((res) => { const data = res.data.result; - formCommand.elementaryFullName = - data == null ? "" : data.commanderFullname; - formCommand.elementaryPosition = - data == null ? "" : data.commanderPosition; - formCommand.abovelevelFullname = - data == null ? "" : data.commanderAboveFullname; - formCommand.abovelevelPosition = - data == null ? "" : data.commanderAbovePosition; - - author.value = data.author; - subject.value = data.subject; + if (data) { + formCommand.elementaryFullName = + data == null ? "" : data.commanderFullname; + formCommand.elementaryPosition = + data == null ? "" : data.commanderPosition; + formCommand.abovelevelFullname = + data == null ? "" : data.commanderAboveFullname; + formCommand.abovelevelPosition = + data == null ? "" : data.commanderAbovePosition; + author.value = data.author; + subject.value = data.subject; + } }) .catch((e) => { messageError($q, e); diff --git a/src/modules/12_evaluatePersonal/components/Detail/step/step5.vue b/src/modules/12_evaluatePersonal/components/Detail/step/step5.vue index 0fa7a9756..f292f6632 100644 --- a/src/modules/12_evaluatePersonal/components/Detail/step/step5.vue +++ b/src/modules/12_evaluatePersonal/components/Detail/step/step5.vue @@ -218,8 +218,10 @@ async function fetchDataSigner() { .get(config.API.evaluationSigner(id.value, 1)) .then((res) => { const data = res.data.result; - author.value = data.author; - subject.value = data.subject; + if (data) { + author.value = data.author; + subject.value = data.subject; + } }) .catch((e) => { messageError($q, e); diff --git a/src/modules/12_evaluatePersonal/components/Detail/step/step6.vue b/src/modules/12_evaluatePersonal/components/Detail/step/step6.vue index bc686eb46..1e90b4d7b 100644 --- a/src/modules/12_evaluatePersonal/components/Detail/step/step6.vue +++ b/src/modules/12_evaluatePersonal/components/Detail/step/step6.vue @@ -56,13 +56,15 @@ async function getSigner() { .get(config.API.evaluationSigner(id.value, 2)) .then((res) => { const data = res.data.result; - formCommand.elementaryFullName = data.commanderFullnameDoc2; - formCommand.elementaryPosition = data.commanderPositionDoc2; - formCommand.abovelevelFullname = data.commanderAboveFullnameDoc2; - formCommand.abovelevelPosition = data.commanderAbovePositionDoc2; - author.value = data.authorDoc2; - subject.value = data.subjectDoc2; - assignedPosition.value = data.assignedPosition; + if (data) { + formCommand.elementaryFullName = data.commanderFullnameDoc2; + formCommand.elementaryPosition = data.commanderPositionDoc2; + formCommand.abovelevelFullname = data.commanderAboveFullnameDoc2; + formCommand.abovelevelPosition = data.commanderAbovePositionDoc2; + author.value = data.authorDoc2; + subject.value = data.subjectDoc2; + assignedPosition.value = data.assignedPosition; + } }) .catch((e) => { // messageError($q, e); diff --git a/src/modules/12_evaluatePersonal/components/Detail/step/step8.vue b/src/modules/12_evaluatePersonal/components/Detail/step/step8.vue index 658488620..e8f52a3c3 100644 --- a/src/modules/12_evaluatePersonal/components/Detail/step/step8.vue +++ b/src/modules/12_evaluatePersonal/components/Detail/step/step8.vue @@ -330,9 +330,11 @@ async function fetchDataSigner() { .get(config.API.evaluationSigner(id.value, 2)) .then((res) => { const data = res.data.result; - author.value = data.authorDoc2; - subject.value = data.subjectDoc2; - assignedPosition.value = data.assignedPosition; + if (data) { + author.value = data.authorDoc2; + subject.value = data.subjectDoc2; + assignedPosition.value = data.assignedPosition; + } }) .catch((e) => { messageError($q, e); 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 3/4] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A=20cale?= =?UTF-8?q?ndar=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) => { From 34b4f0c9c61c39c16e64b1edaef9f264596b3d09 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Tue, 16 Jan 2024 15:25:31 +0700 Subject: [PATCH 4/4] =?UTF-8?q?=E0=B9=80=E0=B8=9E=E0=B8=B4=E0=B9=88?= =?UTF-8?q?=E0=B8=A1=E0=B8=A7=E0=B8=B1=E0=B8=99=E0=B8=AB=E0=B8=A2=E0=B8=B8?= =?UTF-8?q?=E0=B8=94=E0=B9=83=E0=B8=99=20calendar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../09_leave/components/2_Leave/Calendar.vue | 49 ++++++++++++++++++- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/src/modules/09_leave/components/2_Leave/Calendar.vue b/src/modules/09_leave/components/2_Leave/Calendar.vue index da2a12f81..cd1021de5 100644 --- a/src/modules/09_leave/components/2_Leave/Calendar.vue +++ b/src/modules/09_leave/components/2_Leave/Calendar.vue @@ -83,7 +83,7 @@ async function fetchDataCalendar(type: string) { .post(config.API.leaveCalendar(), { year: dateMonth.value.year, }) - .then((res) => { + .then(async (res) => { mainData.value = res.data.result; const double_name = [ ...new Set(mainData.value.map((item: ResCalendar) => item.keycloakId)), @@ -116,6 +116,7 @@ async function fetchDataCalendar(type: string) { }); const allEventData = [].concat(...eventData); calendarOptions.value.events = allEventData; + await fetchDataHoliday(calendarOptions.value.events); }) .catch((err) => { @@ -129,6 +130,40 @@ async function fetchDataCalendar(type: string) { }); } +/** + * fetch วันหยุดในปฏิทิน + */ +async function fetchDataHoliday(optionsCalendaMain: any) { + await http + .get( + config.API.listHolidayHistoryYearMonth( + dateMonth.value.year, + dateMonth.value.month + 1 + ) + ) + .then((res) => { + console.log(res); + + const dataNormal = res.data.result.normal; + const data = dataNormal; + const event = data.map((e: any) => ({ + id: e.id, + title: `${e.name} `, + start: e.holidayDate, + end: new Date( + new Date(e.holidayDate).setHours(23, 59, 59) + ).toISOString(), + allDay: e.holidayDate === e.holidayDate ? true : false, + color: " #CCE5FF", + textColor: "#0080FF", + })); + calendarOptions.value.events = [...optionsCalendaMain, ...event]; + }) + .catch((e) => { + messageError($q, e); + }); +} + /** * function convert ชื่อ * @param id profile @@ -146,7 +181,7 @@ const filterVal = ref([]); watch( () => filterVal.value, - () => { + async () => { const eventData = filterVal.value.map((item: any) => { return mainData.value .filter((e: ResCalendar) => e.keycloakId === item) @@ -162,6 +197,7 @@ watch( }); const allEventData = [].concat(...eventData); calendarOptions.value.events = allEventData; + await fetchDataHoliday(calendarOptions.value.events); } ); @@ -282,6 +318,15 @@ const monthYearThai = (val: DataDateMonthObject) => { /> {{ item.name }}
+
+ + วันหยุดในปฏิทิน +