diff --git a/src/modules/05_leave/componenst/Forms/01_SickForm.vue b/src/modules/05_leave/componenst/Forms/01_SickForm.vue index 826ddca..c3d1f27 100644 --- a/src/modules/05_leave/componenst/Forms/01_SickForm.vue +++ b/src/modules/05_leave/componenst/Forms/01_SickForm.vue @@ -13,7 +13,7 @@ const dataStore = useLeaveStore() const $q = useQuasar() const mixin = useCounterMixin() const router = useRouter() -const { date2Thai, dateToISO, dialogConfirm, success, messageError } = mixin +const { date2Thai, dateToISO, dialogConfirm, success, messageError, fails } = mixin const edit = ref(true) /** รับ props มาจากหน้าหลัก */ @@ -147,8 +147,6 @@ async function saveFormData() { formData.append("leaveAddress", formDataSick.leaveAddress) formData.append("leaveNumber", formDataSick.leaveNumber) formData.append("leaveDetail", formDataSick.leaveDetail) - formData.append("leaveTotal", formDataSick.leaveTotal) - formData.append("leaveLast", formDataSick.leaveLast) await http .post(config.API.leaveUser(), formData) .then((res: any) => { @@ -160,6 +158,28 @@ async function saveFormData() { }) } +/** + * check ว่าลาได้ไหม จาก api + * @param formData + */ +const isLeave = ref(true) +async function FetchCheck() { + await http + .post(config.API.leaveCheck(), { type: dataStore.typeId ?? null, StartLeaveDate: formDataSick.leaveStartDate ?? null, EndLeaveDate: formDataSick.leaveEndDate ?? null }) + .then((res: any) => { + const data = res.data.result + isLeave.value = data.isLeave + if (data.isLeave === true) { + formDataSick.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday + } else { + fails($q, "ไม่สามารถลาได้") + } + }) + .catch((e: any) => { + messageError($q, e) + }) +} + /** * ฟังก์ชั่นแปลงครึ่งวัน/ทั้งวัน */ @@ -253,6 +273,7 @@ const isReadOnly = computed(() => { :enableTimePicker="false" week-start="0" :readonly="isReadOnly" + @update:model-value="FetchCheck()" :min-date="formDataSick.leaveStartDate ? new Date(formDataSick.leaveStartDate.getTime() + 24 * 60 * 60 * 1000) : null" >