From 0a65822324686456a42e9de54662ba03dcc4a70e Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Tue, 28 Nov 2023 11:14:50 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A=20?= =?UTF-8?q?=E0=B8=A3=E0=B8=B2=E0=B8=A2=E0=B8=81=E0=B8=B2=E0=B8=A3=E0=B8=A5?= =?UTF-8?q?=E0=B8=87=E0=B9=80=E0=B8=A7=E0=B8=A5=E0=B8=B2=E0=B8=9B=E0=B8=8F?= =?UTF-8?q?=E0=B8=B4=E0=B8=9A=E0=B8=B1=E0=B8=95=E0=B8=B4=E0=B8=87=E0=B8=B2?= =?UTF-8?q?=E0=B8=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/1_Work/DialogDetail.vue | 53 +++++++++++++------ .../09_leave/components/1_Work/Tab1.vue | 23 ++++---- .../09_leave/components/1_Work/Tab2.vue | 8 ++- .../09_leave/components/1_Work/TableList.vue | 14 +++-- src/modules/09_leave/stores/WorkStore.ts | 2 + 5 files changed, 68 insertions(+), 32 deletions(-) diff --git a/src/modules/09_leave/components/1_Work/DialogDetail.vue b/src/modules/09_leave/components/1_Work/DialogDetail.vue index 7d26b171f..2abcf4389 100644 --- a/src/modules/09_leave/components/1_Work/DialogDetail.vue +++ b/src/modules/09_leave/components/1_Work/DialogDetail.vue @@ -2,15 +2,21 @@ import { ref, reactive, watch } from "vue"; import http from "@/plugins/http"; import config from "@/app.config"; +import { useQuasar } from "quasar"; import type { FormDetail } from "@/modules/09_leave/interface/response/work"; /** importStores */ import { useCounterMixin } from "@/stores/mixin"; +import { useWorklistDataStore } from "@/modules/09_leave/stores/WorkStore"; /** useStore */ const mixin = useCounterMixin(); -const { date2Thai, showLoader, hideLoader } = mixin; +const stores = useWorklistDataStore(); +const { date2Thai, showLoader, hideLoader, messageError } = mixin; +const { convertSatatus } = stores; + +const $q = useQuasar(); //ใช้ noti quasar /** props จาก TableList */ const props = defineProps({ @@ -22,7 +28,7 @@ const props = defineProps({ type: Object, require: true, }, - colse: { + close: { type: Function, require: true, }, @@ -63,9 +69,7 @@ async function fetchDetailByid(id: string) { formData.checkInImg = data.checkInImg; formData.checkInLat = data.checkInLat ? data.checkInLat : ""; formData.checkInLon = data.checkInLon ? data.checkInLon : ""; - formData.checkInLocation = data.checkInLocation - ? data.checkInLocation - : "-"; + formData.checkInLocation = data.checkInPOI ? data.checkInPOI : "-"; formData.checkInTime = data.checkInTime ? data.checkInTime : "-"; formData.checkOutDate = data.checkOutDate && date2Thai(data.checkOutDate); formData.checkOutImg = data.checkOutImg; @@ -76,27 +80,32 @@ async function fetchDetailByid(id: string) { : "-"; formData.checkOutTime = data.checkOutTime ? data.checkOutTime : "-"; formData.fullName = data.fullName; - formData.checkOutLocation = data.checkOutLocation - ? data.checkOutLocation - : "-"; + formData.checkOutLocation = data.checkOutPOI ? data.checkOutPOI : "-"; formData.checkInDescription = data.checkInDescription ? data.checkInDescription : "-"; formData.checkOutDescription = data.checkOutDescription ? data.checkOutDescription : "-"; - formData.checkInStatus = data.checkInStatus; - formData.checkOutStatus = data.checkOutStatus; + formData.checkInStatus = data.checkInStatus + ? convertSatatus(data.checkInStatus) + : "-"; + formData.checkOutStatus = data.checkOutStatus + ? convertSatatus(data.checkOutStatus) + : "-"; + }) + .catch((err) => { + messageError($q, err); + closePopup(); }) - .catch((err) => {}) .finally(() => { hideLoader(); }); } /** Function ปิด popup */ -function colsePopup() { - props.colse ? props.colse() : false; +function closePopup() { + props.close ? props.close() : false; } watch( @@ -122,7 +131,7 @@ watch( round dense style="color: #eb0505; background-color: #ffdede" - @click="colsePopup" + @click="closePopup" /> @@ -152,14 +161,26 @@ watch( -
+
- สถานะ + สถานะเวลาเข้างาน + {{ formData.checkInStatus }}
+
+ + + สถานะเวลาออก + {{ formData.checkOutStatus }} + + +
diff --git a/src/modules/09_leave/components/1_Work/Tab1.vue b/src/modules/09_leave/components/1_Work/Tab1.vue index 2339d2e13..fd1245107 100644 --- a/src/modules/09_leave/components/1_Work/Tab1.vue +++ b/src/modules/09_leave/components/1_Work/Tab1.vue @@ -143,20 +143,22 @@ async function fetchListTimeRecord() { (e: DataResTime) => ({ id: e.id, fullName: e.fullName, - checkInDate: e.checkInDate && date2Thai(e.checkInDate), + checkInDate: e.checkInDate ? date2Thai(e.checkInDate) : "-", checkInTime: e.checkInTime, checkInLocation: e.checkInLocation, checkInLat: e.checkInLat, checkInLon: e.checkInLon, - checkInStatus: - e.checkInStatus && workStore.convertSatatus(e.checkInStatus), - checkOutDate: e.checkOutDate && date2Thai(e.checkOutDate), - checkOutLocation: e.checkOutLocation, - checkOutTime: e.checkOutTime, - checkOutLat: e.checkOutLat, - checkOutLon: e.checkOutLon, - checkOutStatus: - e.checkOutStatus && workStore.convertSatatus(e.checkOutStatus), + checkInStatus: e.checkInStatus + ? workStore.convertSatatus(e.checkInStatus) + : "-", + checkOutDate: e.checkOutDate ? date2Thai(e.checkOutDate) : "-", + checkOutLocation: e.checkOutLocation ? e.checkOutLocation : "-", + checkOutTime: e.checkOutTime ? e.checkOutTime : "-", + checkOutLat: e.checkOutLocation ? e.checkOutLat : "", + checkOutLon: e.checkOutLocation ? e.checkOutLon : "", + checkOutStatus: e.checkOutStatus + ? workStore.convertSatatus(e.checkOutStatus) + : "-", }) ); rows.value = datalist; @@ -204,6 +206,7 @@ onMounted(async () => { :rowsPerPage="rowsPerPage" :maxPage="maxPage" @update:pagination="updatePaging" + :tab="'1'" /> diff --git a/src/modules/09_leave/components/1_Work/Tab2.vue b/src/modules/09_leave/components/1_Work/Tab2.vue index 6592f8278..901a3e4c4 100644 --- a/src/modules/09_leave/components/1_Work/Tab2.vue +++ b/src/modules/09_leave/components/1_Work/Tab2.vue @@ -1,5 +1,6 @@