diff --git a/src/modules/09_leave/components/04_SpecialTime/DialogApprove.vue b/src/modules/09_leave/components/04_SpecialTime/DialogApprove.vue index 2eb7b2cd0..af47e1dcf 100644 --- a/src/modules/09_leave/components/04_SpecialTime/DialogApprove.vue +++ b/src/modules/09_leave/components/04_SpecialTime/DialogApprove.vue @@ -96,8 +96,8 @@ watch( formData.checkOut = ""; formData.note = ""; } else if (props.editCheck === "PENDING") { - if (props.detailData) { - if (props.detailData.checkInEdit) { + if (props.detailData) { + if (props.detailData.checkInEdit && props.detailData.checkOutEdit) { formData.checkIn = props.detailData.startTimeMorning; formData.checkOut = props.detailData.endTimeAfternoon; } else if ( diff --git a/src/modules/09_leave/components/04_SpecialTime/DialogMultipleApprove.vue b/src/modules/09_leave/components/04_SpecialTime/DialogMultipleApprove.vue index b5f80c66e..0caf9f339 100644 --- a/src/modules/09_leave/components/04_SpecialTime/DialogMultipleApprove.vue +++ b/src/modules/09_leave/components/04_SpecialTime/DialogMultipleApprove.vue @@ -106,14 +106,33 @@ function onSubmit() { } else { dialogConfirm($q, async () => { showLoader(); - const payload = selected.value.map((e: DataSpecialTime) => ({ - recId: e.id, - checkInTime: e.checkInTime, - checkOutTime: e.checkOutTime, - checkInStatus: e.checkInEdit ? "NORMAL" : e.checkInStatusMain, - checkOutStatus: e.checkOutEdit ? "NORMAL" : e.checkOutStatusMain, - reason: reason.value, - })); + const payload = selected.value.map((e: DataSpecialTime) => { + let checkInTime: string; + let checkOutTime: string; + + if (e.checkInEdit && e.checkOutEdit) { + checkInTime = e.startTimeMorning; + checkOutTime = e.endTimeAfternoon; + } else if (e.checkInEdit && !e.checkOutEdit) { + checkInTime = e.startTimeMorning; + checkOutTime = e.endTimeMorning; + } else if (!e.checkInEdit && e.checkOutEdit) { + checkInTime = e.startTimeAfternoon; + checkOutTime = e.endTimeAfternoon; + } else { + checkInTime = e.checkInTime; + checkOutTime = e.checkOutTime; + } + + return { + recId: e.id, + checkInTime, + checkOutTime, + checkInStatus: e.checkInEdit ? "NORMAL" : e.checkInStatusMain, + checkOutStatus: e.checkOutEdit ? "NORMAL" : e.checkOutStatusMain, + reason: reason.value, + }; + }); try { await http.put(config.API.specialTimeApproveLists, payload); @@ -236,7 +255,9 @@ watch(modal, async (val) => { - + *หมายเหตุเลือกทั้งหมดเฉพาะรายการที่แสดงเท่านั้น
{ rows="3" />
- *หมายเหตุเลือกทั้งหมดเฉพาะรายการที่แสดงเท่านั้น