From 63f307c70d2c7bdd5199f1361b8b43aed686517b Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Tue, 23 Jun 2026 13:41:10 +0700 Subject: [PATCH 1/2] feat(timestamp-special): add MultipleApprove Special Lists --- src/api/09_leave/api.leave.ts | 1 + .../04_SpecialTime/DialogMultipleApprove.vue | 325 ++++++++++++++++++ src/modules/09_leave/interface/index/Main.ts | 2 + .../09_leave/views/04_SpecialTimeMain.vue | 26 +- 4 files changed, 353 insertions(+), 1 deletion(-) create mode 100644 src/modules/09_leave/components/04_SpecialTime/DialogMultipleApprove.vue diff --git a/src/api/09_leave/api.leave.ts b/src/api/09_leave/api.leave.ts index d0229b204..3ea0ab8c3 100644 --- a/src/api/09_leave/api.leave.ts +++ b/src/api/09_leave/api.leave.ts @@ -25,6 +25,7 @@ export default { specialTime: () => `${leave}/admin/edit`, specialTimeApprove: (id: string) => `${leave}/admin/edit/approve/${id}`, specialTimeReject: (id: string) => `${leave}/admin/edit/reject/${id}`, + specialTimeApproveLists: `${leave}/admin/edit/approve-list`, /** รายการลา*/ leaveType: () => `${leave}/type`, diff --git a/src/modules/09_leave/components/04_SpecialTime/DialogMultipleApprove.vue b/src/modules/09_leave/components/04_SpecialTime/DialogMultipleApprove.vue new file mode 100644 index 000000000..54484d7bd --- /dev/null +++ b/src/modules/09_leave/components/04_SpecialTime/DialogMultipleApprove.vue @@ -0,0 +1,325 @@ + + + + + diff --git a/src/modules/09_leave/interface/index/Main.ts b/src/modules/09_leave/interface/index/Main.ts index 41766e80f..9381abe9c 100644 --- a/src/modules/09_leave/interface/index/Main.ts +++ b/src/modules/09_leave/interface/index/Main.ts @@ -68,6 +68,8 @@ interface DataSpecialTime { statusSort: number; timeAfternoon: string; timeMorning: string; + checkInStatusMain: string; + checkOutStatusMain: string; } export type { DataOption, diff --git a/src/modules/09_leave/views/04_SpecialTimeMain.vue b/src/modules/09_leave/views/04_SpecialTimeMain.vue index 1ea9ec44b..5c7890cdf 100644 --- a/src/modules/09_leave/views/04_SpecialTimeMain.vue +++ b/src/modules/09_leave/views/04_SpecialTimeMain.vue @@ -17,6 +17,7 @@ import type { import DialogReason from "@/components/Dialogs/PopupReason.vue"; import DialogApprove from "@/modules/09_leave/components/04_SpecialTime/DialogApprove.vue"; +import DialogMultipleApprove from "@/modules/09_leave/components/04_SpecialTime/DialogMultipleApprove.vue"; const $q = useQuasar(); // show dialog const mixin = useCounterMixin(); @@ -47,6 +48,7 @@ const name = ref(""); const id = ref(""); const dateDialog = ref(""); const dateFixDialog = ref(""); +const modalMultiple = ref(false); // ค้นหาในตาราง const filterKeyword = ref(""); @@ -54,7 +56,7 @@ const filterStatus = ref("PENDING"); const filterDate = ref<[Date, Date] | null>([new Date(), new Date()]); //วันที่ประกาศ const optionStatus = ref(store.optionStatusMain); const rows = ref([]); -const visibleColumns = ref([ +const visibleColumns = ref([ "no", "fullName", "createdAt", @@ -283,6 +285,20 @@ onMounted(async () => { From c49669021a3531e2ae5e82b9c02fcd0a90dd0074 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Tue, 23 Jun 2026 13:59:17 +0700 Subject: [PATCH 2/2] feat(notification): add delete notification feature --- .../04_SpecialTime/DialogMultipleApprove.vue | 1 + src/views/MainLayout.vue | 31 +++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/src/modules/09_leave/components/04_SpecialTime/DialogMultipleApprove.vue b/src/modules/09_leave/components/04_SpecialTime/DialogMultipleApprove.vue index 54484d7bd..3c7051a75 100644 --- a/src/modules/09_leave/components/04_SpecialTime/DialogMultipleApprove.vue +++ b/src/modules/09_leave/components/04_SpecialTime/DialogMultipleApprove.vue @@ -105,6 +105,7 @@ function onSubmit() { dialogMessageNotify($q, "กรุณาเลือกอย่างน้อย 1 รายการ"); } else { dialogConfirm($q, async () => { + showLoader(); const payload = selected.value.map((e: DataSpecialTime) => ({ recId: e.id, checkInTime: e.checkInTime, diff --git a/src/views/MainLayout.vue b/src/views/MainLayout.vue index 33e733b0b..67af7375f 100644 --- a/src/views/MainLayout.vue +++ b/src/views/MainLayout.vue @@ -561,6 +561,26 @@ function getImg(id: string, pathName: string) { function onViewDetailNoti(url: string) { window.open(url, "_blank"); } + +function handleDeleteNotification() { + dialogRemove( + $q, + async () => { + try { + showLoader(); + await http.delete(config.API.msgNotificate); + await getDataNotification(1, "DEL"); + success($q, "ลบข้อมูลสำเร็จ"); + } catch (error) { + messageError($q, error); + } finally { + hideLoader(); + } + }, + "ยืนยันการลบข้อมูล", + "ต้องการยืนยันการลบรายการแจ้งเตือนทั้งหมดใช่หรือไม่?" + ); +} @@ -642,6 +662,17 @@ function onViewDetailNoti(url: string) {
ทั้งหมด {{ totalInbox }} ข้อความ
+ + ลบการแจ้งเตือนทั้งหมด +