From 736a4b462e06a3335cb8235c0211bc8f5547bfd6 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期六, 12 七月 2025 14:47:59 +0800 Subject: [PATCH] 1.来票台账删除功能联调 --- src/views/personnelManagement/onboarding/components/formDia.vue | 34 +++++++++++++++++++++++++++++++++- 1 files changed, 33 insertions(+), 1 deletions(-) diff --git a/src/views/personnelManagement/onboarding/components/formDia.vue b/src/views/personnelManagement/onboarding/components/formDia.vue index 4a7dd77..d0e76cc 100644 --- a/src/views/personnelManagement/onboarding/components/formDia.vue +++ b/src/views/personnelManagement/onboarding/components/formDia.vue @@ -90,7 +90,7 @@ </el-col> <el-col :span="12"> <el-form-item label="鍚堝悓骞撮檺锛�" prop="contractTerm"> - <el-input-number v-model="form.contractTerm" :precision="0" :step="1" style="width: 100%"/> + <el-input-number v-model="form.contractTerm" :precision="0" :step="1" style="width: 100%" :disabled="true"/> </el-form-item> </el-col> </el-row> @@ -105,6 +105,7 @@ format="YYYY-MM-DD" clearable style="width: 100%" + @change="calculateContractTerm" /> </el-form-item> </el-col> @@ -118,6 +119,7 @@ format="YYYY-MM-DD" clearable style="width: 100%" + @change="calculateContractTerm" /> </el-form-item> </el-col> @@ -189,6 +191,8 @@ if (operationType.value === 'edit') { getStaffJoinInfo(row.id).then(res => { form.value = {...res.data} + // 缂栬緫鏃朵篃璁$畻涓�娆″悎鍚屽勾闄� + calculateContractTerm(); }) } } @@ -211,6 +215,34 @@ } }) } +// 璁$畻鍚堝悓骞撮檺 +const calculateContractTerm = () => { + if (form.value.contractStartTime && form.value.contractEndTime) { + const startDate = new Date(form.value.contractStartTime); + const endDate = new Date(form.value.contractEndTime); + + if (endDate > startDate) { + // 璁$畻骞翠唤宸� + const yearDiff = endDate.getFullYear() - startDate.getFullYear(); + const monthDiff = endDate.getMonth() - startDate.getMonth(); + const dayDiff = endDate.getDate() - startDate.getDate(); + + let years = yearDiff; + + // 濡傛灉缁撴潫鏃ユ湡鐨勬湀鏃ュ皬浜庡紑濮嬫棩鏈熺殑鏈堟棩锛屽垯鍑忓幓1骞� + if (monthDiff < 0 || (monthDiff === 0 && dayDiff < 0)) { + years = yearDiff - 1; + } + + form.value.contractTerm = Math.max(0, years); + } else { + form.value.contractTerm = 0; + } + } else { + form.value.contractTerm = 0; + } +}; + // 鍏抽棴寮规 const closeDia = () => { proxy.resetForm("formRef"); -- Gitblit v1.9.3