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

---
 src/views/personnelManagement/employeeRecord/components/NewOrEditFormDia.vue |   27 +++++++++++++++++++++++++--
 src/views/personnelManagement/employeeRecord/components/BasicInfoSection.vue |   25 ++++++++++++++++++++++++-
 2 files changed, 49 insertions(+), 3 deletions(-)

diff --git a/src/views/personnelManagement/employeeRecord/components/BasicInfoSection.vue b/src/views/personnelManagement/employeeRecord/components/BasicInfoSection.vue
index f6291e5..22ffb29 100644
--- a/src/views/personnelManagement/employeeRecord/components/BasicInfoSection.vue
+++ b/src/views/personnelManagement/employeeRecord/components/BasicInfoSection.vue
@@ -132,6 +132,28 @@
         </el-form-item>
       </el-col>
     </el-row>
+
+    <el-row :gutter="24">
+      <el-col :span="10">
+        <el-form-item label="瑙掕壊" prop="roleIds">
+          <el-select
+            v-model="form.roleIds"
+            multiple
+            placeholder="璇烽�夋嫨"
+            clearable
+            style="width: 100%"
+          >
+            <el-option
+              v-for="item in roleOptions"
+              :key="item.roleId"
+              :label="item.roleName"
+              :value="item.roleId"
+              :disabled="item.status == 1"
+            />
+          </el-select>
+        </el-form-item>
+      </el-col>
+    </el-row>
   </el-card>
 </template>
 
@@ -141,9 +163,10 @@
 const props = defineProps({
   form: { type: Object, required: true },
   operationType: { type: String, default: "add" },
+  roleOptions: { type: Array, default: () => [] },
 });
 
-const { form, operationType } = toRefs(props);
+const { form, operationType, roleOptions } = toRefs(props);
 </script>
 
 <style scoped>
diff --git a/src/views/personnelManagement/employeeRecord/components/NewOrEditFormDia.vue b/src/views/personnelManagement/employeeRecord/components/NewOrEditFormDia.vue
index e44bdb8..6c8a911 100644
--- a/src/views/personnelManagement/employeeRecord/components/NewOrEditFormDia.vue
+++ b/src/views/personnelManagement/employeeRecord/components/NewOrEditFormDia.vue
@@ -15,7 +15,11 @@
         :rules="rules"
         label-position="top"
       >
-        <BasicInfoSection :form="form" :operation-type="operationType" />
+        <BasicInfoSection
+          :form="form"
+          :operation-type="operationType"
+          :role-options="roleOptions"
+        />
         <JobInfoSection
           :form="form"
           :post-options="postOptions"
@@ -39,7 +43,7 @@
 } from "vue";
 import FormDialog from "@/components/Dialog/FormDialog.vue";
 import { findPostOptions } from "@/api/system/post.js";
-import { deptTreeSelect } from "@/api/system/user.js";
+import { deptTreeSelect, getUser } from "@/api/system/user.js";
 import {
   staffOnJobInfo,
   createStaffOnJob,
@@ -129,6 +133,8 @@
   emergencyContacts: [createEmptyEmergency()],
   emergencyContact: "",
   emergencyContactPhone: "",
+  // 瑙掕壊
+  roleIds: [],
   // 鏉愭枡闄勪欢锛堜粎鍓嶇灞曠ず锛�
   attachments: [],
 });
@@ -153,12 +159,22 @@
     sysDeptId: [
       { required: true, message: "璇烽�夋嫨閮ㄩ棬", trigger: "change" },
     ],
+    roleIds: [
+      {
+        required: true,
+        type: "array",
+        min: 1,
+        message: "璇疯嚦灏戦�夋嫨涓�涓鑹�",
+        trigger: "change",
+      },
+    ],
   },
   postOptions: [],
   deptOptions: [],
 });
 
 const { form, rules, postOptions, deptOptions } = toRefs(state);
+const roleOptions = ref([]);
 
 const resetForm = () => {
   Object.assign(form.value, createDefaultForm());
@@ -178,6 +194,12 @@
     deptOptions.value = filterDisabledDept(
       JSON.parse(JSON.stringify(response.data || []))
     );
+  });
+};
+
+const fetchRoleOptions = () => {
+  getUser().then((res) => {
+    roleOptions.value = res.roles || [];
   });
 };
 
@@ -204,6 +226,7 @@
   dialogFormVisible.value = true;
   fetchPostOptions();
   fetchDeptOptions();
+  fetchRoleOptions();
   resetForm();
   if (type === "edit" && row?.id) {
     id.value = row.id;

--
Gitblit v1.9.3