diff --git a/src/modules/09_leave/components/1_Work/DialogEdit.vue b/src/modules/09_leave/components/1_Work/DialogEdit.vue index 8e74947e9..a05428be7 100644 --- a/src/modules/09_leave/components/1_Work/DialogEdit.vue +++ b/src/modules/09_leave/components/1_Work/DialogEdit.vue @@ -34,7 +34,7 @@ const props = defineProps({ }); const morningStatus = ref(""); -const afternoonStatus = ref(""); +const afternoonStatus = ref(""); const reason = ref(""); const morningStatusRef = ref(); @@ -50,7 +50,11 @@ const options = ref(optionsMain.value); async function onClickSave() { morningStatusRef.value?.validate(); afternoonStatusRef.value?.validate(); - if (!morningStatusRef.value.hasError && !afternoonStatusRef.value.hasError) { + if ( + !morningStatusRef.value.hasError && props.detail?.checkOutStatus !== "-" + ? !afternoonStatusRef.value.hasError + : true + ) { const body = { checkInStatus: morningStatus.value, checkOutStatus: afternoonStatus.value, @@ -84,13 +88,33 @@ function filterFnOptions(val: any, update: Function) { }); } +function convertStatu(val: string) { + switch (val) { + case "ปกติ": + return "NORMAL"; + case "สาย": + return "LATE"; + case "ขาดราชการ": + return "ABSENT"; + } +} + watch( () => props.modal, () => { - props.modal && - ((morningStatus.value = ""), - (afternoonStatus.value = ""), - (reason.value = "")); + if (props.modal) { + const checkInStatus: string | undefined = props.detail?.checkInStatus + ? convertStatu(props.detail?.checkInStatus) + : ""; + + const checkOutStatus: string | undefined = props.detail?.checkOutStatus + ? convertStatu(props.detail?.checkOutStatus) + : ""; + + morningStatus.value = checkInStatus ? checkInStatus : ""; + afternoonStatus.value = checkOutStatus ? checkOutStatus : "-"; + reason.value = ""; + } } ); @@ -130,9 +154,15 @@ watch( > - +
สถานะช่วงบ่าย +