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