diff --git a/src/modules/05_leave/components/FormLeave/01_SickForm.vue b/src/modules/05_leave/components/FormLeave/01_SickForm.vue index 70fe533..63e77e3 100644 --- a/src/modules/05_leave/components/FormLeave/01_SickForm.vue +++ b/src/modules/05_leave/components/FormLeave/01_SickForm.vue @@ -93,19 +93,6 @@ async function fileUploadDoc(files: any) { }); } -/** - * function รีเซทค่า leaveStartDate เเละ leaveEndDate - */ -function resetDate() { - if ( - formDataSick.leaveRange === "MORNING" || - formDataSick.leaveRange === "AFTERNOON" - ) { - formDataSick.leaveStartDate = null; - formDataSick.leaveEndDate = null; - } -} - /** ฟังก์ชั่นตรวจสอบความถูกต้องของข้อมูลในฟอร์ม */ function onValidate() { const hasError = []; @@ -165,38 +152,44 @@ const checkDate = computed(() => { } }); -const totalCheck = ref(null) +// const totalCheck = ref(null); async function fetchCheck() { - showLoader(); - await http - .post(config.API.leaveCheck(), { - type: dataStore.typeId ?? null, - StartLeaveDate: convertDateToAPI(formDataSick.leaveStartDate) ?? null, - EndLeaveDate: convertDateToAPI(formDataSick.leaveEndDate) ?? null, - leaveRange: formDataSick.leaveRange, - leaveRangeEnd: checkDate.value - ? formDataSick.leaveRange - : formDataSick.leaveRangeEnd, - }) - .then((res: any) => { - const data = res.data.result; - formDataSick.leaveTotal = - data.totalDate - data.sumDateWork - data.sumDateHoliday; - totalCheck.value = data.totalDate - data.sumDateWork - data.sumDateHoliday; - isLeave.value = data.isLeave; - reasonLeave.value = data.message - ? data.message - : "จำนวนวันลาเกินที่กำหนด"; - }) - .catch((e: any) => { - messageError($q, e); - totalCheck.value = null - hideLoader(); - }) - .finally(() => { - hideLoader(); - leaveDocumentRef.value.resetValidation(); - }); + if (formDataSick.leaveStartDate && formDataSick.leaveEndDate) { + showLoader(); + await http + .post(config.API.leaveCheck(), { + type: dataStore.typeId ?? null, + StartLeaveDate: convertDateToAPI(formDataSick.leaveStartDate) ?? null, + EndLeaveDate: convertDateToAPI(formDataSick.leaveEndDate) ?? null, + leaveRange: formDataSick.leaveRange, + leaveRangeEnd: checkDate.value + ? formDataSick.leaveRange + : formDataSick.leaveRangeEnd, + }) + .then((res: any) => { + const data = res.data.result; + formDataSick.leaveTotal = + data.totalDate - data.sumDateWork - data.sumDateHoliday; + // totalCheck.value = + // data.totalDate - data.sumDateWork - data.sumDateHoliday; + reasonLeave.value = + data.message != "" + ? data.message + : formDataSick.leaveTotal > 0 + ? "จำนวนวันลาเกินที่กำหนด" + : "ช่วงวันลาที่ระบุไม่ถูกต้อง"; + isLeave.value = formDataSick.leaveTotal > 0 ? data.isLeave : false; + }) + .catch((e: any) => { + messageError($q, e); + // totalCheck.value = null; + hideLoader(); + }) + .finally(() => { + hideLoader(); + leaveDocumentRef.value.resetValidation(); + }); + } } /** แจ้งเมื่อวันลาไม่ถูกต้อง */ @@ -209,7 +202,7 @@ const leaveId = ref(""); const statusCheck = ref(""); watch(props.data, () => { if (props.data) { - totalCheck.value = null + // totalCheck.value = null; formDataSick.leaveWrote = props.data.leaveWrote; formDataSick.leaveStartDate = new Date(props.data.leaveStartDate); formDataSick.leaveEndDate = new Date(props.data.leaveEndDate); @@ -227,7 +220,7 @@ watch(props.data, () => { /** Hook */ onMounted(() => { if (props.data) { - totalCheck.value = null + // totalCheck.value = null; formDataSick.leaveWrote = props.data.leaveWrote; formDataSick.leaveStartDate = new Date(props.data.leaveStartDate); formDataSick.leaveEndDate = new Date(props.data.leaveEndDate); @@ -627,15 +620,17 @@ onMounted(() => { -
**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด
+ บันทึกแบบร่าง { * check ว่าลาได้ไหม จาก api * @param formData */ - const totalCheck = ref(null) +// const totalCheck = ref(null); async function fetchCheck() { - showLoader(); - await http - .post(config.API.leaveCheck(), { - type: dataStore.typeId ?? null, - StartLeaveDate: convertDateToAPI(formDataBirth.leaveStartDate) ?? null, - EndLeaveDate: convertDateToAPI(formDataBirth.leaveEndDate) ?? null, - leaveRange: formDataBirth.leaveRange, - leaveRangeEnd: checkDate.value - ? formDataBirth.leaveRange - : formDataBirth.leaveRangeEnd, - }) - .then((res: any) => { - hideLoader(); - const data = res.data.result; - isLeave.value = data.isLeave; - formDataBirth.leaveTotal = data.totalDate; - totalCheck.value = data.totalDate; - reasonLeave.value = data.message - ? data.message - : "จำนวนวันลาเกินที่กำหนด"; - }) - .catch((e: any) => { - hideLoader(); - totalCheck.value = null - messageError($q, e); + if (formDataBirth.leaveStartDate && formDataBirth.leaveEndDate) { + showLoader(); + const checkDate = computed(() => { + if ( + convertDateToAPI(formDataBirth.leaveEndDate) == + convertDateToAPI(formDataBirth.leaveStartDate) + ) { + return true; + } else { + return false; + } }); + // console.log("checkDate.value", checkDate.value); + // console.log("formDataBirth.leaveRangeEnd", formDataBirth.leaveRangeEnd); + // console.log("formDataBirth.leaveRange", formDataBirth.leaveRange); + await http + .post(config.API.leaveCheck(), { + type: dataStore.typeId ?? null, + StartLeaveDate: convertDateToAPI(formDataBirth.leaveStartDate) ?? null, + EndLeaveDate: convertDateToAPI(formDataBirth.leaveEndDate) ?? null, + leaveRange: formDataBirth.leaveRange, + leaveRangeEnd: checkDate.value + ? formDataBirth.leaveRange + : formDataBirth.leaveRangeEnd, + }) + .then((res: any) => { + hideLoader(); + const data = res.data.result; + formDataBirth.leaveTotal = data.totalDate; + // totalCheck.value = data.totalDate; + reasonLeave.value = + data.message != "" + ? data.message + : formDataBirth.leaveTotal > 0 + ? "จำนวนวันลาเกินที่กำหนด" + : "ช่วงวันลาที่ระบุไม่ถูกต้อง"; + isLeave.value = formDataBirth.leaveTotal > 0 ? data.isLeave : false; + }) + .catch((e: any) => { + hideLoader(); + // totalCheck.value = null; + messageError($q, e); + }); + } } /** แจ้งเมื่อวันลาไม่ถูกต้อง */ @@ -189,7 +207,7 @@ const leaveDocumentList = ref(); const statusCheck = ref(""); watch(props.data, () => { if (props.data) { - totalCheck.value = null + // totalCheck.value = null; formDataBirth.leaveWrote = props.data.leaveWrote; formDataBirth.leaveStartDate = props.data.leaveStartDate; formDataBirth.leaveEndDate = props.data.leaveEndDate; @@ -205,7 +223,7 @@ watch(props.data, () => { /** Hook */ onMounted(() => { if (props.data) { - totalCheck.value = null + // totalCheck.value = null; formDataBirth.leaveWrote = props.data.leaveWrote; formDataBirth.leaveStartDate = props.data.leaveStartDate; formDataBirth.leaveEndDate = props.data.leaveEndDate; @@ -577,14 +595,14 @@ onMounted(() => {
-
**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด
+ บันทึกแบบร่าง { * check ว่าลาได้ไหม จาก api * @param formData */ - const totalCheck = ref(null) +// const totalCheck = ref(null); async function fetchCheck() { - showLoader(); - await http - .post(config.API.leaveCheck(), { - type: dataStore.typeId ?? null, - StartLeaveDate: convertDateToAPI(formDataHelpWife.leaveStartDate) ?? null, - EndLeaveDate: convertDateToAPI(formDataHelpWife.leaveEndDate) ?? null, - leaveRange: formDataHelpWife.leaveRange, - leaveRangeEnd: checkDate.value - ? formDataHelpWife.leaveRange - : formDataHelpWife.leaveRangeEnd, - }) - .then((res: any) => { - const data = res.data.result; - isLeave.value = data.isLeave; - formDataHelpWife.leaveTotal = - data.totalDate - data.sumDateWork - data.sumDateHoliday; - totalCheck.value = data.totalDate - data.sumDateWork - data.sumDateHoliday; - reasonLeave.value = data.message - ? data.message - : "จำนวนวันลาเกินที่กำหนด"; - hideLoader(); - }) - .catch((e: any) => { - messageError($q, e); - totalCheck.value = null - hideLoader(); - }); + if (formDataHelpWife.leaveStartDate && formDataHelpWife.leaveEndDate) { + showLoader(); + await http + .post(config.API.leaveCheck(), { + type: dataStore.typeId ?? null, + StartLeaveDate: + convertDateToAPI(formDataHelpWife.leaveStartDate) ?? null, + EndLeaveDate: convertDateToAPI(formDataHelpWife.leaveEndDate) ?? null, + leaveRange: formDataHelpWife.leaveRange, + leaveRangeEnd: checkDate.value + ? formDataHelpWife.leaveRange + : formDataHelpWife.leaveRangeEnd, + }) + .then((res: any) => { + const data = res.data.result; + formDataHelpWife.leaveTotal = + data.totalDate - data.sumDateWork - data.sumDateHoliday; + // totalCheck.value = + // data.totalDate - data.sumDateWork - data.sumDateHoliday; + reasonLeave.value = + data.message != "" + ? data.message + : formDataHelpWife.leaveTotal > 0 + ? "จำนวนวันลาเกินที่กำหนด" + : "ช่วงวันลาที่ระบุไม่ถูกต้อง"; + isLeave.value = formDataHelpWife.leaveTotal > 0 ? data.isLeave : false; + hideLoader(); + }) + .catch((e: any) => { + messageError($q, e); + // totalCheck.value = null; + hideLoader(); + }); + } } /** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */ watch(props.data, async () => { if (props.data) { - totalCheck.value = null + // totalCheck.value = null; formDataHelpWife.leaveWrote = props.data.leaveWrote; formDataHelpWife.wifeDayName = props.data.wifeDayName; formDataHelpWife.wifeDayDateBorn = props.data.wifeDayDateBorn; @@ -219,7 +226,7 @@ watch(props.data, async () => { /**Hook */ onMounted(async () => { if (props.data) { - totalCheck.value = null + // totalCheck.value = null; formDataHelpWife.leaveWrote = props.data.leaveWrote; formDataHelpWife.wifeDayName = props.data.wifeDayName; formDataHelpWife.wifeDayDateBorn = props.data.wifeDayDateBorn; @@ -643,14 +650,14 @@ onMounted(async () => {
-
**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด
+ บันทึกแบบร่าง { } }); -const totalCheck = ref(null) +// const totalCheck = ref(null); async function fetchCheck() { - showLoader(); - await http - .post(config.API.leaveCheck(), { - type: dataStore.typeId ?? null, - StartLeaveDate: convertDateToAPI(formDataVacation.leaveStartDate) ?? null, - EndLeaveDate: convertDateToAPI(formDataVacation.leaveEndDate) ?? null, - leaveRange: formDataVacation.leaveRange, - leaveRangeEnd: checkDate.value - ? formDataVacation.leaveRange - : formDataVacation.leaveRangeEnd, - }) - .then((res: any) => { - const data = res.data.result; - isLeave.value = data.isLeave; - formDataVacation.leaveTotal = data.totalDate - data.sumDateWork - data.sumDateHoliday; - totalCheck.value = data.totalDate - data.sumDateWork - data.sumDateHoliday; + if (formDataVacation.leaveStartDate && formDataVacation.leaveEndDate) { + showLoader(); + await http + .post(config.API.leaveCheck(), { + type: dataStore.typeId ?? null, + StartLeaveDate: + convertDateToAPI(formDataVacation.leaveStartDate) ?? null, + EndLeaveDate: convertDateToAPI(formDataVacation.leaveEndDate) ?? null, + leaveRange: formDataVacation.leaveRange, + leaveRangeEnd: checkDate.value + ? formDataVacation.leaveRange + : formDataVacation.leaveRangeEnd, + }) + .then((res: any) => { + const data = res.data.result; + formDataVacation.leaveTotal = + data.totalDate - data.sumDateWork - data.sumDateHoliday; + // totalCheck.value = + // data.totalDate - data.sumDateWork - data.sumDateHoliday; - reasonLeave.value = data.message - ? data.message - : "จำนวนวันลาเกินที่กำหนด"; - hideLoader(); - }) - .catch((e: any) => { - messageError($q, e); - totalCheck.value = null - hideLoader(); - }); -} - -/** - * function รีเซทค่า leaveStartDate เเละ leaveEndDate - */ -function resetDate() { - if ( - formDataVacation.leaveRange === "MORNING" || - formDataVacation.leaveRange === "AFTERNOON" - ) { - formDataVacation.leaveStartDate = null; - formDataVacation.leaveEndDate = null; + reasonLeave.value = + data.message != "" + ? data.message + : formDataVacation.leaveTotal > 0 + ? "จำนวนวันลาเกินที่กำหนด" + : "ช่วงวันลาที่ระบุไม่ถูกต้อง"; + isLeave.value = formDataVacation.leaveTotal > 0 ? data.isLeave : false; + hideLoader(); + }) + .catch((e: any) => { + messageError($q, e); + // totalCheck.value = null; + hideLoader(); + }); } } watch(props.data, () => { if (props.data) { - totalCheck.value = null + // totalCheck.value = null; formDataVacation.leaveWrote = props.data.leaveWrote; formDataVacation.restDayOldTotal = props.data.restDayOldTotal; formDataVacation.restDayCurrentTotal = props.data.restDayCurrentTotal; @@ -230,7 +225,7 @@ watch(props.data, () => { /**Hook */ onMounted(() => { if (props.data) { - totalCheck.value = null + // totalCheck.value = null; formDataVacation.leaveWrote = props.data.leaveWrote; formDataVacation.restDayOldTotal = props.data.restDayOldTotal; formDataVacation.restDayCurrentTotal = props.data.restDayCurrentTotal; @@ -634,14 +629,14 @@ onMounted(() => {
-
**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด
+ บันทึกแบบร่าง { * check ว่าลาได้ไหม จาก api * @param formData */ - const totalCheck = ref(null) +// const totalCheck = ref(null) async function fetchCheck() { - showLoader(); - await http - .post(config.API.leaveCheck(), { - type: dataStore.typeId ?? null, - StartLeaveDate: - convertDateToAPI(formDataOrdination.leaveStartDate) ?? null, - EndLeaveDate: convertDateToAPI(formDataOrdination.leaveEndDate) ?? null, - leaveRange: formDataOrdination.leaveRange, - leaveRangeEnd: checkDate.value - ? formDataOrdination.leaveRange - : formDataOrdination.leaveRangeEnd, - }) - .then((res: any) => { - const data = res.data.result; - isLeave.value = data.isLeave; - formDataOrdination.leaveTotal = data.totalDate; - totalCheck.value = data.totalDate; - reasonLeave.value = data.message - ? data.message - : "จำนวนวันลาเกินที่กำหนด"; - hideLoader(); - }) - .catch((e: any) => { - messageError($q, e); - totalCheck.value = null - hideLoader(); - }); + if (formDataOrdination.leaveStartDate && formDataOrdination.leaveEndDate) { + showLoader(); + await http + .post(config.API.leaveCheck(), { + type: dataStore.typeId ?? null, + StartLeaveDate: + convertDateToAPI(formDataOrdination.leaveStartDate) ?? null, + EndLeaveDate: convertDateToAPI(formDataOrdination.leaveEndDate) ?? null, + leaveRange: formDataOrdination.leaveRange, + leaveRangeEnd: checkDate.value + ? formDataOrdination.leaveRange + : formDataOrdination.leaveRangeEnd, + }) + .then((res: any) => { + const data = res.data.result; + formDataOrdination.leaveTotal = data.totalDate; + // totalCheck.value = data.totalDate; + reasonLeave.value = + data.message != "" + ? data.message + : formDataOrdination.leaveTotal > 0 + ? "จำนวนวันลาเกินที่กำหนด" + : "ช่วงวันลาที่ระบุไม่ถูกต้อง"; + isLeave.value = + formDataOrdination.leaveTotal > 0 ? data.isLeave : false; + hideLoader(); + }) + .catch((e: any) => { + messageError($q, e); + // totalCheck.value = null; + hideLoader(); + }); + } } /** แจ้งเมื่อวันลาไม่ถูกต้อง */ @@ -224,7 +230,7 @@ const statusCheck = ref(""); watch(props.data, async () => { if (props.data) { - totalCheck.value = null + // totalCheck.value = null; formDataOrdination.leaveWrote = props.data.leaveWrote; formDataOrdination.leaveStartDate = props.data.leaveStartDate; formDataOrdination.leaveEndDate = props.data.leaveEndDate; @@ -252,7 +258,7 @@ watch(props.data, async () => { /** Hook */ onMounted(async () => { if (props.data) { - totalCheck.value = null + // totalCheck.value = null; formDataOrdination.leaveWrote = props.data.leaveWrote; formDataOrdination.leaveStartDate = props.data.leaveStartDate; formDataOrdination.leaveEndDate = props.data.leaveEndDate; @@ -831,7 +837,7 @@ onMounted(async () => {
-
**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด
+ { dense class="q-px-md items-center btnBlue" label="บันทึก" - :disable="totalCheck == 0" + :disable="!isLeave" >บันทึกแบบร่าง { } }); -const totalCheck = ref(null) +// const totalCheck = ref(null); async function fetchCheck() { - showLoader(); - await http - .post(config.API.leaveCheck(), { - type: dataStore.typeId ?? null, - StartLeaveDate: convertDateToAPI(formDataHaji.leaveStartDate) ?? null, - EndLeaveDate: convertDateToAPI(formDataHaji.leaveEndDate) ?? null, - leaveRange: formDataHaji.leaveRange, - leaveRangeEnd: checkDate.value - ? formDataHaji.leaveRange - : formDataHaji.leaveRangeEnd, - }) - .then((res: any) => { - const data = res.data.result; - isLeave.value = data.isLeave; - formDataHaji.leaveTotal = data.totalDate; - totalCheck.value = data.totalDate; - leaveText.value = calculateDurationYmd( - convertDateToAPI(formDataHaji.leaveStartDate), - convertDateToAPI(formDataHaji.leaveEndDate) - ); - reasonLeave.value = data.message - ? data.message - : "จำนวนวันลาเกินที่กำหนด"; - hideLoader(); - }) - .catch((e: any) => { - messageError($q, e); - totalCheck.value = null - hideLoader(); - }); + if (formDataHaji.leaveStartDate && formDataHaji.leaveEndDate) { + showLoader(); + await http + .post(config.API.leaveCheck(), { + type: dataStore.typeId ?? null, + StartLeaveDate: convertDateToAPI(formDataHaji.leaveStartDate) ?? null, + EndLeaveDate: convertDateToAPI(formDataHaji.leaveEndDate) ?? null, + leaveRange: formDataHaji.leaveRange, + leaveRangeEnd: checkDate.value + ? formDataHaji.leaveRange + : formDataHaji.leaveRangeEnd, + }) + .then((res: any) => { + const data = res.data.result; + // isLeave.value = data.isLeave; + formDataHaji.leaveTotal = data.totalDate; + // totalCheck.value = data.totalDate; + leaveText.value = calculateDurationYmd( + convertDateToAPI(formDataHaji.leaveStartDate), + convertDateToAPI(formDataHaji.leaveEndDate) + ); + reasonLeave.value = + data.message != "" + ? data.message + : formDataHaji.leaveTotal > 0 + ? "จำนวนวันลาเกินที่กำหนด" + : "ช่วงวันลาที่ระบุไม่ถูกต้อง"; + isLeave.value = formDataHaji.leaveTotal > 0 ? data.isLeave : false; + hideLoader(); + }) + .catch((e: any) => { + messageError($q, e); + // totalCheck.value = null; + hideLoader(); + }); + } } /** แจ้งเมื่อวันลาไม่ถูกต้อง */ @@ -188,7 +194,7 @@ const leaveDocumentList = ref(); const statusCheck = ref(""); watch(props.data, async () => { if (props.data) { - totalCheck.value = null + // totalCheck.value = null; formDataHaji.leaveWrote = props.data.leaveWrote; formDataHaji.leaveTotal = props.data.leaveTotal; formDataHaji.leaveStartDate = props.data.leaveStartDate; @@ -206,7 +212,7 @@ watch(props.data, async () => { /**Hook */ onMounted(async () => { if (props.data) { - totalCheck.value = null + // totalCheck.value = null; formDataHaji.leaveWrote = props.data.leaveWrote; formDataHaji.leaveTotal = props.data.leaveTotal; formDataHaji.leaveStartDate = props.data.leaveStartDate; @@ -576,7 +582,7 @@ onMounted(async () => {
-
**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด
+ { dense class="q-px-md items-center btnBlue" label="บันทึก" - :disable="totalCheck == 0" + :disable="!isLeave" >บันทึกแบบร่าง { * check ว่าลาได้ไหม จาก api * @param formData */ - const totalCheck = ref(null) +// const totalCheck = ref(null) async function fetchCheck() { - showLoader(); - await http - .post(config.API.leaveCheck(), { - type: dataStore.typeId ?? null, - StartLeaveDate: convertDateToAPI(formDataMilitary.leaveStartDate) ?? null, - EndLeaveDate: convertDateToAPI(formDataMilitary.leaveEndDate) ?? null, - leaveRange: formDataMilitary.leaveRange, - leaveRangeEnd: checkDate.value - ? formDataMilitary.leaveRange - : formDataMilitary.leaveRangeEnd, - }) - .then((res: any) => { - const data = res.data.result; - isLeave.value = data.isLeave; - formDataMilitary.leaveTotal = data.totalDate; - totalCheck.value = data.totalDate; - leaveText.value = calculateDurationYmd( - convertDateToAPI(formDataMilitary.leaveStartDate), - convertDateToAPI(formDataMilitary.leaveEndDate) - ); - reasonLeave.value = data.message - ? data.message - : "จำนวนวันลาเกินที่กำหนด"; - hideLoader(); - }) - .catch((e: any) => { - messageError($q, e); - totalCheck.value = null - hideLoader(); - }); + if (formDataMilitary.leaveStartDate && formDataMilitary.leaveEndDate) { + showLoader(); + await http + .post(config.API.leaveCheck(), { + type: dataStore.typeId ?? null, + StartLeaveDate: + convertDateToAPI(formDataMilitary.leaveStartDate) ?? null, + EndLeaveDate: convertDateToAPI(formDataMilitary.leaveEndDate) ?? null, + leaveRange: formDataMilitary.leaveRange, + leaveRangeEnd: checkDate.value + ? formDataMilitary.leaveRange + : formDataMilitary.leaveRangeEnd, + }) + .then((res: any) => { + const data = res.data.result; + isLeave.value = data.isLeave; + formDataMilitary.leaveTotal = data.totalDate; + // totalCheck.value = data.totalDate; + leaveText.value = calculateDurationYmd( + convertDateToAPI(formDataMilitary.leaveStartDate), + convertDateToAPI(formDataMilitary.leaveEndDate) + ); + reasonLeave.value = + data.message != "" ? data.message : "จำนวนวันลาเกินที่กำหนด"; + + hideLoader(); + }) + .catch((e: any) => { + messageError($q, e); + // totalCheck.value = null + hideLoader(); + }); + } } -/** - * function อัพเดทค่า LeaveTotal - */ -function updateLeaveTotal() { - const newLeaveTotal = calculateDurationYmd( - formDataMilitary.leaveStartDate, - formDataMilitary.leaveEndDate - ); - formDataMilitary.leaveTotal = newLeaveTotal; -} +// /** +// * function อัพเดทค่า LeaveTotal +// */ +// function updateLeaveTotal() { +// const newLeaveTotal = calculateDurationYmd( +// formDataMilitary.leaveStartDate, +// formDataMilitary.leaveEndDate +// ); +// formDataMilitary.leaveTotal = newLeaveTotal; +// } watch(props.data, async () => { if (props.data) { - totalCheck.value = null + // totalCheck.value = null; formDataMilitary.leaveWrote = props.data.leaveWrote; formDataMilitary.leaveStartDate = props.data.leaveStartDate; formDataMilitary.leaveEndDate = props.data.leaveEndDate; @@ -241,7 +244,7 @@ watch(props.data, async () => { /**Hook */ onMounted(async () => { if (props.data) { - totalCheck.value = null + // totalCheck.value = null; formDataMilitary.leaveWrote = props.data.leaveWrote; formDataMilitary.leaveStartDate = props.data.leaveStartDate; formDataMilitary.leaveEndDate = props.data.leaveEndDate; @@ -666,7 +669,7 @@ onMounted(async () => {
-
**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด
+ { dense class="q-px-md items-center btnBlue" label="บันทึก" - :disable="totalCheck == 0" + :disable="!isLeave" >บันทึกแบบร่าง { } }); -const totalCheck = ref(null) +// const totalCheck = ref(null); async function fetchCheck() { - showLoader(); - await http - .post(config.API.leaveCheck(), { - type: dataStore.typeId ?? null, - StartLeaveDate: convertDateToAPI(formDataStudy.leaveStartDate) ?? null, - EndLeaveDate: convertDateToAPI(formDataStudy.leaveEndDate) ?? null, - leaveRange: formDataStudy.leaveRange, - leaveRangeEnd: checkDate.value - ? formDataStudy.leaveRange - : formDataStudy.leaveRangeEnd, - }) - .then((res: any) => { - const data = res.data.result; - isLeave.value = data.isLeave; - formDataStudy.leaveTotal = data.totalDate; - totalCheck.value = data.totalDate; - leaveText.value = calculateDurationYmd( - convertDateToAPI(formDataStudy.leaveStartDate), - convertDateToAPI(formDataStudy.leaveEndDate) - ); - reasonLeave.value = data.message - ? data.message - : "จำนวนวันลาเกินที่กำหนด"; - hideLoader(); - }) - .catch((e: any) => { - messageError($q, e); - totalCheck.value = null - hideLoader(); - }); + if (formDataStudy.leaveStartDate && formDataStudy.leaveEndDate) { + showLoader(); + await http + .post(config.API.leaveCheck(), { + type: dataStore.typeId ?? null, + StartLeaveDate: convertDateToAPI(formDataStudy.leaveStartDate) ?? null, + EndLeaveDate: convertDateToAPI(formDataStudy.leaveEndDate) ?? null, + leaveRange: formDataStudy.leaveRange, + leaveRangeEnd: checkDate.value + ? formDataStudy.leaveRange + : formDataStudy.leaveRangeEnd, + }) + .then((res: any) => { + const data = res.data.result; + isLeave.value = data.isLeave; + formDataStudy.leaveTotal = data.totalDate; + // totalCheck.value = data.totalDate; + leaveText.value = calculateDurationYmd( + convertDateToAPI(formDataStudy.leaveStartDate), + convertDateToAPI(formDataStudy.leaveEndDate) + ); + reasonLeave.value = data.message + ? data.message + : "จำนวนวันลาเกินที่กำหนด"; + hideLoader(); + }) + .catch((e: any) => { + messageError($q, e); + // totalCheck.value = null; + hideLoader(); + }); + } } -/** - * function อัพเดทค่า LeaveTotal - */ -function updateLeaveTotal() { - const newLeaveTotal = calculateDurationYmd( - formDataStudy.leaveStartDate, - formDataStudy.leaveEndDate - ); - formDataStudy.leaveTotal = newLeaveTotal; -} +// /** +// * function อัพเดทค่า LeaveTotal +// */ +// function updateLeaveTotal() { +// const newLeaveTotal = calculateDurationYmd( +// formDataStudy.leaveStartDate, +// formDataStudy.leaveEndDate +// ); +// formDataStudy.leaveTotal = newLeaveTotal; +// } /** ตรวจสอบว่ามีการส่งข้อมูลเข้ามาที่ฟอร์มไหม เมื่อมีการส่งจะ map ข้อมูลเข้า v-model ของฟอร์ม */ watch(props.data, async () => { if (props.data) { - totalCheck.value = null + // totalCheck.value = null; formDataStudy.leaveWrote = props.data.leaveWrote; formDataStudy.leaveStartDate = props.data.leaveStartDate; formDataStudy.leaveEndDate = props.data.leaveEndDate; @@ -262,7 +264,7 @@ watch(props.data, async () => { /**Hook */ onMounted(async () => { if (props.data) { - totalCheck.value = null + // totalCheck.value = null; formDataStudy.leaveWrote = props.data.leaveWrote; formDataStudy.leaveStartDate = props.data.leaveStartDate; formDataStudy.leaveEndDate = props.data.leaveEndDate; @@ -821,7 +823,7 @@ onMounted(async () => {
-
**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด
+ { dense class="q-px-md items-center btnBlue" label="บันทึก" - :disable="totalCheck == 0" + :disable="!isLeave" >บันทึกแบบร่าง { } }); -const totalCheck = ref(null) +// const totalCheck = ref(null); async function fetchCheck() { - showLoader(); - await http - .post(config.API.leaveCheck(), { - type: dataStore.typeId ?? null, - StartLeaveDate: convertDateToAPI(formDataTrain.leaveStartDate) ?? null, - EndLeaveDate: convertDateToAPI(formDataTrain.leaveEndDate) ?? null, - leaveRange: formDataTrain.leaveRange, - leaveRangeEnd: checkDate.value - ? formDataTrain.leaveRange - : formDataTrain.leaveRangeEnd, - }) - .then((res: any) => { - const data = res.data.result; - isLeave.value = data.isLeave; - formDataTrain.leaveTotal = data.totalDate; - totalCheck.value = data.totalDate; - leaveText.value = calculateDurationYmd( - convertDateToAPI(formDataTrain.leaveStartDate), - convertDateToAPI(formDataTrain.leaveEndDate) - ); - reasonLeave.value = data.message - ? data.message - : "จำนวนวันลาเกินที่กำหนด"; - hideLoader(); - }) - .catch((e: any) => { - totalCheck.value = null - messageError($q, e); - hideLoader(); - }); + if (formDataTrain.leaveStartDate && formDataTrain.leaveEndDate) { + showLoader(); + await http + .post(config.API.leaveCheck(), { + type: dataStore.typeId ?? null, + StartLeaveDate: convertDateToAPI(formDataTrain.leaveStartDate) ?? null, + EndLeaveDate: convertDateToAPI(formDataTrain.leaveEndDate) ?? null, + leaveRange: formDataTrain.leaveRange, + leaveRangeEnd: checkDate.value + ? formDataTrain.leaveRange + : formDataTrain.leaveRangeEnd, + }) + .then((res: any) => { + const data = res.data.result; + isLeave.value = data.isLeave; + formDataTrain.leaveTotal = data.totalDate; + // totalCheck.value = data.totalDate; + leaveText.value = calculateDurationYmd( + convertDateToAPI(formDataTrain.leaveStartDate), + convertDateToAPI(formDataTrain.leaveEndDate) + ); + reasonLeave.value = data.message + ? data.message + : "จำนวนวันลาเกินที่กำหนด"; + hideLoader(); + }) + .catch((e: any) => { + // totalCheck.value = null; + messageError($q, e); + hideLoader(); + }); + } } /** @@ -214,7 +216,7 @@ function updateLeaveTotal() { watch(props.data, async () => { if (props.data) { - totalCheck.value = null + // totalCheck.value = null; formDataTrain.leaveWrote = props.data.leaveWrote; formDataTrain.leaveStartDate = props.data.leaveStartDate; formDataTrain.leaveEndDate = props.data.leaveEndDate; @@ -244,7 +246,7 @@ watch(props.data, async () => { /**Hook */ onMounted(async () => { if (props.data) { - totalCheck.value = null + // totalCheck.value = null; formDataTrain.leaveWrote = props.data.leaveWrote; formDataTrain.leaveStartDate = props.data.leaveStartDate; formDataTrain.leaveEndDate = props.data.leaveEndDate; @@ -781,7 +783,7 @@ onMounted(async () => {
-
**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด
+ { dense class="q-px-md items-center btnBlue" label="บันทึก" - :disable="totalCheck == 0" + :disable="!isLeave" >บันทึกแบบร่าง { * @param formData */ const isLeave = ref(true); - const totalCheck = ref(null) +// const totalCheck = ref(null) async function fetchCheck() { - await http - .post(config.API.leaveCheck(), { - type: dataStore.typeId ?? null, - StartLeaveDate: - convertDateToAPI(formDataWorkInternational.leaveStartDate) ?? null, - EndLeaveDate: - convertDateToAPI(formDataWorkInternational.leaveEndDate) ?? null, - leaveRange: formDataWorkInternational.leaveRange, - leaveRangeEnd: checkDate.value - ? formDataWorkInternational.leaveRange - : formDataWorkInternational.leaveRangeEnd, - }) - .then((res: any) => { - const data = res.data.result; - isLeave.value = data.isLeave; - formDataWorkInternational.leaveTotal = data.totalDate; - totalCheck.value = data.totalDate; - leaveText.value = calculateDurationYmd( - convertDateToAPI(formDataWorkInternational.leaveStartDate), - convertDateToAPI(formDataWorkInternational.leaveEndDate) - ); - reasonLeave.value = data.message - ? data.message - : "จำนวนวันลาเกินที่กำหนด"; - }) - .catch((e: any) => { - totalCheck.value = null - messageError($q, e); - }); + if ( + formDataWorkInternational.leaveStartDate && + formDataWorkInternational.leaveEndDate + ) { + await http + .post(config.API.leaveCheck(), { + type: dataStore.typeId ?? null, + StartLeaveDate: + convertDateToAPI(formDataWorkInternational.leaveStartDate) ?? null, + EndLeaveDate: + convertDateToAPI(formDataWorkInternational.leaveEndDate) ?? null, + leaveRange: formDataWorkInternational.leaveRange, + leaveRangeEnd: checkDate.value + ? formDataWorkInternational.leaveRange + : formDataWorkInternational.leaveRangeEnd, + }) + .then((res: any) => { + const data = res.data.result; + isLeave.value = data.isLeave; + formDataWorkInternational.leaveTotal = data.totalDate; + // totalCheck.value = data.totalDate; + leaveText.value = calculateDurationYmd( + convertDateToAPI(formDataWorkInternational.leaveStartDate), + convertDateToAPI(formDataWorkInternational.leaveEndDate) + ); + reasonLeave.value = data.message + ? data.message + : "จำนวนวันลาเกินที่กำหนด"; + }) + .catch((e: any) => { + // totalCheck.value = null; + messageError($q, e); + }); + } } /** แจ้งเมื่อวันลาไม่ถูกต้อง */ @@ -216,7 +221,7 @@ const statusCheck = ref(""); watch(props, async () => { if (props.data) { - totalCheck.value = null + // totalCheck.value = null; formDataWorkInternational.leaveWrote = props.data.leaveWrote; formDataWorkInternational.leaveStartDate = new Date( props.data.leaveStartDate @@ -254,7 +259,7 @@ watch( /**Hook */ onMounted(async () => { if (props.data) { - totalCheck.value = null + // totalCheck.value = null; formDataWorkInternational.leaveWrote = props.data.leaveWrote; formDataWorkInternational.leaveRange = props.data.leaveRange; @@ -630,7 +635,7 @@ onMounted(async () => {
-
**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด
+ { dense class="q-px-md items-center btnBlue" label="บันทึก" - :disable="totalCheck == 0" + :disable="!isLeave" >บันทึกแบบร่าง (""); * @param formData */ const isLeave = ref(true); -const totalCheck = ref(null); +// const totalCheck = ref(null); async function fetchCheck() { - showLoader(); - await http - .post(config.API.leaveCheck(), { - type: dataStore.typeId ?? null, - StartLeaveDate: - convertDateToAPI(formDataFollowSpouse.leaveStartDate) ?? null, - EndLeaveDate: convertDateToAPI(formDataFollowSpouse.leaveEndDate) ?? null, - leaveRange: formDataFollowSpouse.leaveRange, - leaveRangeEnd: checkDate.value - ? formDataFollowSpouse.leaveRange - : formDataFollowSpouse.leaveRangeEnd, - }) - .then((res: any) => { - const data = res.data.result; - isLeave.value = data.isLeave; - formDataFollowSpouse.leaveTotal = data.totalDate; - totalCheck.value = data.totalDate; - leaveText.value = calculateDurationYmd( - convertDateToAPI(formDataFollowSpouse.leaveStartDate), - convertDateToAPI(formDataFollowSpouse.leaveEndDate) - ); - reasonLeave.value = data.message - ? data.message - : "จำนวนวันลาเกินที่กำหนด"; - checkTotalHistory(); - hideLoader(); - }) - .catch((e: any) => { - messageError($q, e); - totalCheck.value = null - hideLoader(); - }); -} - -/** - * function อัพเดทค่า LeaveTotal - */ -function updateLeaveTotal() { - fetchCheck(); - - const newLeaveTotal = calculateDurationYmd( - formDataFollowSpouse.leaveStartDate, + if ( + formDataFollowSpouse.leaveStartDate && formDataFollowSpouse.leaveEndDate - ); - formDataFollowSpouse.leaveTotal = newLeaveTotal; + ) { + showLoader(); + await http + .post(config.API.leaveCheck(), { + type: dataStore.typeId ?? null, + StartLeaveDate: + convertDateToAPI(formDataFollowSpouse.leaveStartDate) ?? null, + EndLeaveDate: + convertDateToAPI(formDataFollowSpouse.leaveEndDate) ?? null, + leaveRange: formDataFollowSpouse.leaveRange, + leaveRangeEnd: checkDate.value + ? formDataFollowSpouse.leaveRange + : formDataFollowSpouse.leaveRangeEnd, + }) + .then((res: any) => { + const data = res.data.result; + isLeave.value = data.isLeave; + formDataFollowSpouse.leaveTotal = data.totalDate; + // totalCheck.value = data.totalDate; + leaveText.value = calculateDurationYmd( + convertDateToAPI(formDataFollowSpouse.leaveStartDate), + convertDateToAPI(formDataFollowSpouse.leaveEndDate) + ); + reasonLeave.value = data.message + ? data.message + : "จำนวนวันลาเกินที่กำหนด"; + checkTotalHistory(); + hideLoader(); + }) + .catch((e: any) => { + messageError($q, e); + // totalCheck.value = null + hideLoader(); + }); + } } /** @@ -294,7 +287,7 @@ const leaveDocumentList = ref(); const statusCheck = ref(""); watch(props.data, async () => { if (props.data) { - totalCheck.value = null + // totalCheck.value = null; formDataFollowSpouse.leaveWrote = props.data.leaveWrote; formDataFollowSpouse.leaveStartDate = new Date(props.data.leaveStartDate); formDataFollowSpouse.leaveEndDate = new Date(props.data.leaveEndDate); @@ -340,7 +333,7 @@ watch(props.data, async () => { /**Hook */ onMounted(async () => { if (props.data) { - totalCheck.value = null + // totalCheck.value = null; formDataFollowSpouse.leaveWrote = props.data.leaveWrote; formDataFollowSpouse.leaveStartDate = new Date(props.data.leaveStartDate); formDataFollowSpouse.leaveEndDate = new Date(props.data.leaveEndDate); @@ -919,7 +912,7 @@ onMounted(async () => {
-
**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด
+ { dense class="q-px-md items-center btnBlue" label="บันทึก" - :disable="totalCheck == 0" + :disable="!isLeave" >บันทึกแบบร่าง { * check ว่าลาได้ไหม จาก api * @param formData */ - const totalCheck = ref(null) +// const totalCheck = ref(null) async function fetchCheck() { - showLoader(); - await http - .post(config.API.leaveCheck(), { - type: dataStore.typeId ?? null, - StartLeaveDate: - convertDateToAPI(formDataRehabilitation.leaveStartDate) ?? null, - EndLeaveDate: - convertDateToAPI(formDataRehabilitation.leaveEndDate) ?? null, - leaveRange: formDataRehabilitation.leaveRange, - leaveRangeEnd: checkDate.value - ? formDataRehabilitation.leaveRange - : formDataRehabilitation.leaveRangeEnd, - }) - .then((res: any) => { - const data = res.data.result; - isLeave.value = data.isLeave; - formDataRehabilitation.leaveTotal = data.totalDate; - totalCheck.value = data.totalDate; - leaveText.value = calculateDurationYmd( - convertDateToAPI(formDataRehabilitation.leaveStartDate), - convertDateToAPI(formDataRehabilitation.leaveEndDate) - ); + if ( + formDataRehabilitation.leaveStartDate && + formDataRehabilitation.leaveEndDate + ) { + showLoader(); + await http + .post(config.API.leaveCheck(), { + type: dataStore.typeId ?? null, + StartLeaveDate: + convertDateToAPI(formDataRehabilitation.leaveStartDate) ?? null, + EndLeaveDate: + convertDateToAPI(formDataRehabilitation.leaveEndDate) ?? null, + leaveRange: formDataRehabilitation.leaveRange, + leaveRangeEnd: checkDate.value + ? formDataRehabilitation.leaveRange + : formDataRehabilitation.leaveRangeEnd, + }) + .then((res: any) => { + const data = res.data.result; + isLeave.value = data.isLeave; + formDataRehabilitation.leaveTotal = data.totalDate; + // totalCheck.value = data.totalDate; + leaveText.value = calculateDurationYmd( + convertDateToAPI(formDataRehabilitation.leaveStartDate), + convertDateToAPI(formDataRehabilitation.leaveEndDate) + ); - reasonLeave.value = data.message - ? data.message - : "จำนวนวันลาเกินที่กำหนด"; - }) - .catch((e: any) => { - messageError($q, e); - totalCheck.value = null - }) - .finally(() => { - hideLoader(); - }); + reasonLeave.value = data.message + ? data.message + : "จำนวนวันลาเกินที่กำหนด"; + }) + .catch((e: any) => { + messageError($q, e); + // totalCheck.value = null + }) + .finally(() => { + hideLoader(); + }); + } } //download function @@ -195,7 +200,7 @@ const leaveDraftDocument = ref(); const statusCheck = ref(""); watch(props.data, async () => { if (props.data) { - totalCheck.value = null + // totalCheck.value = null; formDataRehabilitation.leaveWrote = props.data.leaveWrote; formDataRehabilitation.leaveStartDate = new Date(props.data.leaveStartDate); formDataRehabilitation.leaveEndDate = new Date(props.data.leaveEndDate); @@ -218,7 +223,7 @@ watch(props.data, async () => { /**Hook */ onMounted(async () => { if (props.data) { - totalCheck.value = null + // totalCheck.value = null; formDataRehabilitation.leaveWrote = props.data.leaveWrote; formDataRehabilitation.leaveStartDate = new Date(props.data.leaveStartDate); formDataRehabilitation.leaveEndDate = new Date(props.data.leaveEndDate); @@ -586,7 +591,7 @@ onMounted(async () => {
-
**จำนวนวันลาของท่านไม่ถูกต้อง หรือวันที่ยื่นลาของท่านตรงกับวันหยุด
+ { dense class="q-px-md items-center btnBlue" label="บันทึก" - :disable="totalCheck == 0" + :disable="!isLeave" >บันทึกแบบร่าง { component: CustomComponent, componentProps: { title: `ข้อความแจ้งเตือน`, - message: `ไม่สามารถลาได้ เนื่องจากจำนวนวันลาเกินที่กำหนด`, + message: `ไม่สามารถลาได้ เนื่องจากจำนวนวันลาเกินที่กำหนด/ช่วงวันลาที่ระบุไม่ถูกต้อง`, icon: "warning", color: "red", onlycancel: true,