From 40f03a3b789b681947fa5160fa15d74d362a79a6 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 09 三月 2026 09:57:01 +0800
Subject: [PATCH] 进销存升级 1.添加社会保险设置页面,开发与联调 2.丰富新增入职所填字段字段并于用户管理关联 3.修改人员薪资页面样式和逻辑

---
 src/views/personnelManagement/employeeRecord/components/NewOrEditFormDia.vue |   98 ++++++++++++++++++++----------------------------
 1 files changed, 41 insertions(+), 57 deletions(-)

diff --git a/src/views/personnelManagement/employeeRecord/components/NewOrEditFormDia.vue b/src/views/personnelManagement/employeeRecord/components/NewOrEditFormDia.vue
index 6c8a911..9bc48df 100644
--- a/src/views/personnelManagement/employeeRecord/components/NewOrEditFormDia.vue
+++ b/src/views/personnelManagement/employeeRecord/components/NewOrEditFormDia.vue
@@ -67,28 +67,28 @@
   operationType.value === "add" ? "鏂板鍏ヨ亴" : "缂栬緫浜哄憳";
 
 const createEmptyEducation = () => ({
-  degree: "",
-  school: "",
-  admissionDate: "",
-  graduationDate: "",
+  education: "",
+  schoolName: "",
+  enrollTime: "",
+  graduateTime: "",
   major: "",
-  academicDegree: "",
+  degree: "",
 });
 
 const createEmptyWork = () => ({
-  company: "",
-  department: "",
-  position: "",
+  formerCompany: "",
+  formerDept: "",
+  formerPosition: "",
   startDate: "",
   endDate: "",
-  description: "",
+  workDesc: "",
 });
 
 const createEmptyEmergency = () => ({
-  name: "",
-  relation: "",
-  phone: "",
-  address: "",
+  contactName: "",
+  contactRelation: "",
+  contactPhone: "",
+  contactAddress: "",
 });
 
 const createDefaultForm = () => ({
@@ -96,7 +96,7 @@
   // 鍩烘湰淇℃伅
   staffNo: "",
   staffName: "",
-  aliasName: "",
+  alias: "",
   phone: "",
   sex: "",
   birthDate: "",
@@ -112,29 +112,24 @@
   email: "",
   currentAddress: "",
   // 鍦ㄨ亴淇℃伅
-  jobNo: "",
-  staffType: "",
-  entryDate: "",
-  probationPeriod: undefined,
-  regularDate: "",
+  contractStartTime: "",
+  contractEndTime: "",
+  proTerm: undefined,
+  positiveDate: "",
   sysDeptId: undefined,
-  directLeader: "",
   sysPostId: undefined,
-  jobLevel: "",
   basicSalary: undefined,
   // 閾惰鍗′俊鎭�
   bankName: "",
   bankCardNo: "",
   // 鏁欒偛缁忓巻
-  educationList: [createEmptyEducation()],
+  staffEducationList: [createEmptyEducation()],
   // 宸ヤ綔缁忓巻
-  workExperienceList: [createEmptyWork()],
+  staffWorkExperienceList: [createEmptyWork()],
   // 绱ф�ヨ仈绯讳汉
-  emergencyContacts: [createEmptyEmergency()],
-  emergencyContact: "",
-  emergencyContactPhone: "",
-  // 瑙掕壊
-  roleIds: [],
+  staffEmergencyContactList: [createEmptyEmergency()],
+  // 瑙掕壊锛堝崟閫夛級
+  roleId: undefined,
   // 鏉愭枡闄勪欢锛堜粎鍓嶇灞曠ず锛�
   attachments: [],
 });
@@ -149,25 +144,16 @@
     birthDate: [
       { required: true, message: "璇烽�夋嫨鍑虹敓鏃ユ湡", trigger: "change" },
     ],
-    jobNo: [{ required: true, message: "璇疯緭鍏ュ伐鍙�", trigger: "blur" }],
-    staffType: [
-      { required: true, message: "璇烽�夋嫨鍛樺伐绫诲瀷", trigger: "change" },
-    ],
-    entryDate: [
+    contractStartTime: [
       { required: true, message: "璇烽�夋嫨鍏ヨ亴鏃ユ湡", trigger: "change" },
+    ],
+    contractEndTime: [
+      { required: true, message: "璇烽�夋嫨鍚堝悓缁撴潫鏃ユ湡", trigger: "change" },
     ],
     sysDeptId: [
       { required: true, message: "璇烽�夋嫨閮ㄩ棬", trigger: "change" },
     ],
-    roleIds: [
-      {
-        required: true,
-        type: "array",
-        min: 1,
-        message: "璇疯嚦灏戦�夋嫨涓�涓鑹�",
-        trigger: "change",
-      },
-    ],
+    roleId: [{ required: true, message: "璇烽�夋嫨瑙掕壊", trigger: "change" }],
   },
   postOptions: [],
   deptOptions: [],
@@ -215,12 +201,6 @@
   });
 }
 
-const syncEmergencyToLegacyField = () => {
-  const first = form.value.emergencyContacts?.[0];
-  form.value.emergencyContact = first?.name || "";
-  form.value.emergencyContactPhone = first?.phone || "";
-};
-
 const openDialog = (type, row) => {
   operationType.value = type;
   dialogFormVisible.value = true;
@@ -236,20 +216,23 @@
         ...form.value,
         ...d,
       });
-      if (!Array.isArray(form.value.educationList) || !form.value.educationList.length) {
-        form.value.educationList = [createEmptyEducation()];
+      if (
+        !Array.isArray(form.value.staffEducationList) ||
+        !form.value.staffEducationList.length
+      ) {
+        form.value.staffEducationList = [createEmptyEducation()];
       }
       if (
-        !Array.isArray(form.value.workExperienceList) ||
-        !form.value.workExperienceList.length
+        !Array.isArray(form.value.staffWorkExperienceList) ||
+        !form.value.staffWorkExperienceList.length
       ) {
-        form.value.workExperienceList = [createEmptyWork()];
+        form.value.staffWorkExperienceList = [createEmptyWork()];
       }
       if (
-        !Array.isArray(form.value.emergencyContacts) ||
-        !form.value.emergencyContacts.length
+        !Array.isArray(form.value.staffEmergencyContactList) ||
+        !form.value.staffEmergencyContactList.length
       ) {
-        form.value.emergencyContacts = [createEmptyEmergency()];
+        form.value.staffEmergencyContactList = [createEmptyEmergency()];
       }
       if (form.value.sysPostId === 0) {
         form.value.sysPostId = undefined;
@@ -273,7 +256,8 @@
   if (!form.value.sysDeptId) {
     form.value.sysDeptId = undefined;
   }
-  syncEmergencyToLegacyField();
+  // 鍏煎鍚庣鍙兘浠嶄娇鐢� roleIds 鏁扮粍
+  form.value.roleIds = form.value.roleId ? [form.value.roleId] : [];
   formRef.value?.validate((valid) => {
     if (valid) {
       if (operationType.value === "add") {

--
Gitblit v1.9.3