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] 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 () => {