From 6b0a091405a876187c9b0766b2caf27b274ab34e Mon Sep 17 00:00:00 2001 From: setthawutttty Date: Thu, 1 May 2025 11:46:00 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=80=E0=B8=9E=E0=B8=B4=E0=B9=88=E0=B8=A1?= =?UTF-8?q?=20coupleDaySumTotalHistory?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FormLeave/12_FollowSpouseForm.vue | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/modules/05_leave/components/FormLeave/12_FollowSpouseForm.vue b/src/modules/05_leave/components/FormLeave/12_FollowSpouseForm.vue index 141c2a8..19c0109 100644 --- a/src/modules/05_leave/components/FormLeave/12_FollowSpouseForm.vue +++ b/src/modules/05_leave/components/FormLeave/12_FollowSpouseForm.vue @@ -77,6 +77,7 @@ const formDataFollowSpouse = reactive({ coupleDayLevelCountry: "", //ไปปฏิบัติราชการ ณ ประเทศ coupleDayCountryHistory: "", //ประวัติการลาติดตามคู่สมรส coupleDayTotalHistory: null, + coupleDaySumTotalHistory: null, coupleDayStartDateHistory: null, coupleDayEndDateHistory: null, leaveDetail: @@ -175,6 +176,10 @@ function onValidate() { "coupleDayTotalHistory", formDataFollowSpouse.coupleDayTotalHistory ); // + formData.append( + "coupleDaySumTotalHistory", + formDataFollowSpouse.coupleDaySumTotalHistory + ); // formData.append( "coupleDayCountryHistory", formDataFollowSpouse.coupleDayCountryHistory @@ -258,8 +263,23 @@ function updateLeaveHistoryTotal() { formDataFollowSpouse.coupleDayEndDateHistory ); formDataFollowSpouse.coupleDayTotalHistory = newLeaveTotal; + checkTotalHistory(); } +function checkTotalHistory() { + if ( + formDataFollowSpouse.coupleDayStartDateHistory && + formDataFollowSpouse.coupleDayEndDateHistory + ) { + const start = new Date(formDataFollowSpouse.coupleDayStartDateHistory); + const end = new Date(formDataFollowSpouse.coupleDayEndDateHistory); + const msInDay = 1000 * 60 * 60 * 24; + const diffTime = end.getTime() - start.getTime(); + const diffDays = Math.abs(Math.ceil(diffTime / msInDay)) + 1; + formDataFollowSpouse.coupleDaySumTotalHistory = + diffDays + formDataFollowSpouse.leaveTotal; + } +} /** แจ้งเมื่อวันลาไม่ถูกต้อง */ const dateEndInputStyle = computed(() => { return !isLeave.value ? "input-alert" : ""; @@ -282,6 +302,8 @@ watch(props.data, async () => { formDataFollowSpouse.coupleDayLevel = props.data.coupleDayLevel; formDataFollowSpouse.leaveRange = props.data.leaveRange; formDataFollowSpouse.leaveRangeEnd = props.data.leaveRangeEnd; + formDataFollowSpouse.coupleDaySumTotalHistory = + props.data.coupleDaySumTotalHistory; formDataFollowSpouse.coupleDayLevelCountry = props.data.coupleDayLevelCountry; formDataFollowSpouse.coupleDayCountryHistory = @@ -323,6 +345,8 @@ onMounted(async () => { formDataFollowSpouse.leaveSalaryText = props.data.leaveSalaryText; formDataFollowSpouse.leaveSalary = props.data.leaveSalary; + formDataFollowSpouse.coupleDaySumTotalHistory = + props.data.coupleDaySumTotalHistory; formDataFollowSpouse.coupleDayName = props.data.coupleDayName; formDataFollowSpouse.coupleDayPosition = props.data.coupleDayPosition; formDataFollowSpouse.coupleDayLevel = props.data.coupleDayLevel;