From d420578cb8bc076be2f0c7dd5a4dbfca335d7cdb Mon Sep 17 00:00:00 2001
From: zhang_nuo <zhang_12370@163.com>
Date: 星期一, 17 八月 2026 21:44:51 +0800
Subject: [PATCH] feat(personnel,production): 新增年龄自动计算及工单数量支持小数

---
 src/views/personnelManagement/employeeRecord/components/BasicInfoSection.vue |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/src/views/personnelManagement/employeeRecord/components/BasicInfoSection.vue b/src/views/personnelManagement/employeeRecord/components/BasicInfoSection.vue
index 0aa4f06..4ac0a1c 100644
--- a/src/views/personnelManagement/employeeRecord/components/BasicInfoSection.vue
+++ b/src/views/personnelManagement/employeeRecord/components/BasicInfoSection.vue
@@ -79,12 +79,14 @@
             placeholder="璇烽�夋嫨"
             style="width: 100%"
             clearable
+            @change="handleBirthDateChange"
           />
         </el-form-item>
       </el-col>
       <el-col :span="5">
         <el-form-item label="骞撮緞" prop="age">
           <el-input-number
+              disabled
             v-model="form.age"
             :min="0"
             :max="150"
@@ -158,6 +160,7 @@
 
 <script setup>
 import { toRefs } from "vue";
+import dayjs from "dayjs";
 
 const props = defineProps({
   form: { type: Object, required: true },
@@ -166,6 +169,21 @@
 });
 
 const { form, operationType, roleOptions } = toRefs(props);
+
+const calcAge = (birth) => {
+  if (!birth) return undefined;
+  const birthDay = dayjs(birth);
+  const now = dayjs();
+  let age = now.year() - birthDay.year();
+  if (now.month() < birthDay.month() || (now.month() === birthDay.month() && now.date() < birthDay.date())) {
+    age--;
+  }
+  return age;
+};
+
+const handleBirthDateChange = (val) => {
+  form.value.age = calcAge(val);
+};
 </script>
 
 <style scoped>

--
Gitblit v1.9.3