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/NewOrEditFormDia.vue |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/src/views/personnelManagement/employeeRecord/components/NewOrEditFormDia.vue b/src/views/personnelManagement/employeeRecord/components/NewOrEditFormDia.vue
index 2ad06fb..caa62e5 100644
--- a/src/views/personnelManagement/employeeRecord/components/NewOrEditFormDia.vue
+++ b/src/views/personnelManagement/employeeRecord/components/NewOrEditFormDia.vue
@@ -40,7 +40,9 @@
   onMounted,
   getCurrentInstance,
   nextTick,
+  computed,
 } from "vue";
+import dayjs from "dayjs";
 import FormDialog from "@/components/Dialog/FormDialog.vue";
 import { findPostOptions } from "@/api/system/post.js";
 import { deptTreeSelect, getUser } from "@/api/system/user.js";
@@ -160,6 +162,17 @@
 const { form, rules, postOptions, deptOptions } = toRefs(state);
 const roleOptions = ref([]);
 
+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 resetForm = () => {
   Object.assign(form.value, createDefaultForm());
   nextTick(() => {
@@ -238,6 +251,7 @@
       if (form.value.sysDeptId === 0) {
         form.value.sysDeptId = undefined;
       }
+      form.value.age = calcAge(form.value.birthDate);
     });
   }
 };

--
Gitblit v1.9.3