From 4ab7c4abb2386724d7c63858dd508924e7ce1583 Mon Sep 17 00:00:00 2001 From: AnandaTon Date: Mon, 6 Nov 2023 15:08:36 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=80=E0=B8=9E=E0=B8=B4=E0=B9=88=E0=B8=A1?= =?UTF-8?q?=20ui=20pop=20up=20=E0=B8=AD=E0=B8=99=E0=B8=B8=E0=B8=A1?= =?UTF-8?q?=E0=B8=B1=E0=B8=95=E0=B8=B4=E0=B8=84=E0=B8=B3=E0=B8=82=E0=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../4_specialTime/DialogApprove.vue | 428 ++++++++++++++++++ .../interface/response/specialTime.ts | 16 +- .../09_leave/stores/SpecialTimeStore.ts | 4 + .../09_leave/views/SpecialTimeMain.vue | 109 +++-- 4 files changed, 498 insertions(+), 59 deletions(-) create mode 100644 src/modules/09_leave/components/4_specialTime/DialogApprove.vue diff --git a/src/modules/09_leave/components/4_specialTime/DialogApprove.vue b/src/modules/09_leave/components/4_specialTime/DialogApprove.vue new file mode 100644 index 000000000..546748699 --- /dev/null +++ b/src/modules/09_leave/components/4_specialTime/DialogApprove.vue @@ -0,0 +1,428 @@ + + + + + diff --git a/src/modules/09_leave/interface/response/specialTime.ts b/src/modules/09_leave/interface/response/specialTime.ts index fa2d52ffe..a1ad43572 100644 --- a/src/modules/09_leave/interface/response/specialTime.ts +++ b/src/modules/09_leave/interface/response/specialTime.ts @@ -7,4 +7,18 @@ interface DataRows { timeAfternoon: string; status: string; } -export type { DataRows }; +interface dataRowRound { + startTimeMorning: string; + endTimeMorning: string; + startTimeAfternoon: string; + endTimeAfternoon: string; + note: string; +} +interface MyObjectRoundRef { + startTimeMorning: object | null; + endTimeMorning: object | null; + startTimeAfternoon: object | null; + endTimeAfternoon: object | null; + [key: string]: any; +} +export type { DataRows, dataRowRound, MyObjectRoundRef }; diff --git a/src/modules/09_leave/stores/SpecialTimeStore.ts b/src/modules/09_leave/stores/SpecialTimeStore.ts index fa33244b1..dab9019cc 100644 --- a/src/modules/09_leave/stores/SpecialTimeStore.ts +++ b/src/modules/09_leave/stores/SpecialTimeStore.ts @@ -26,6 +26,10 @@ export const useSpecialTimeStore = defineStore("LeaveSpecialTime", () => { e.startTimeAfternoon == null ? "-" : e.startTimeAfternoon + " - " + e.endTimeAfternoon, + startTimeMorning: e.startTimeMorning, + endTimeMorning: e.endTimeMorning, + startTimeAfternoon: e.startTimeAfternoon, + endTimeAfternoon: e.endTimeAfternoon, status: e.status, })); rows.value = datalist; diff --git a/src/modules/09_leave/views/SpecialTimeMain.vue b/src/modules/09_leave/views/SpecialTimeMain.vue index 1dd3d8bdc..e5500531d 100644 --- a/src/modules/09_leave/views/SpecialTimeMain.vue +++ b/src/modules/09_leave/views/SpecialTimeMain.vue @@ -5,6 +5,7 @@ import { useCounterMixin } from "@/stores/mixin"; import type { Pagination } from "@/modules/03_recruiting/interface/index/Main"; import { useSpecialTimeStore } from "@/modules/09_leave/stores/SpecialTimeStore"; import DialogReason from "@/components/Dialogs/PopupReason.vue"; +import DialogApprove from "@/modules/09_leave/components/4_specialTime/DialogApprove.vue"; import { useRouter } from "vue-router"; const dataSpecialTime = useSpecialTimeStore(); @@ -14,6 +15,9 @@ const mixin = useCounterMixin(); const router = useRouter(); const { hideLoader, monthYear2Thai } = mixin; const modalUnapprove = ref(false); +const modalApprove = ref(false); +const detailData = ref(); +const editCheck = ref(""); const pagination = ref({ // sortBy: "desc", descending: false, @@ -22,14 +26,28 @@ const pagination = ref({ }); const dialogTitle = ref(""); const dialogDesc = ref(""); -const name = ref(""); +const name = ref(""); +const dateDialog = ref(""); +const dateFixDialog = ref(""); const unapprove = async (fullname: string) => { dialogTitle.value = " ไม่อนุมัติการลงเวลาพิเศษของ" + fullname; name.value = fullname; modalUnapprove.value = true; }; -const closeReason = () => { +function openModal(data: any, check: string, date: string, dateFix: string) { + modalApprove.value = true; + dateDialog.value = date; + dateFixDialog.value = dateFix; + editCheck.value = check; + if (check === "PENDING") { + detailData.value = data; + } + console.log(data); +} +const closeDialog = () => { modalUnapprove.value = false; + modalApprove.value = false; + editCheck.value = "PENDING"; }; const clickSave = () => { modalUnapprove.value = false; @@ -221,77 +239,52 @@ const monthYearThai = (val: any) => { class="q-px-md q-ml-sm" dense unelevated + @click=" + openModal( + props.row, + 'PENDING', + props.row.date, + props.row.dateFix + ) + " >อนุมัติ - - - + + - - +