From 28d2e9987f406e27a846fbf488d3e34de2e550be Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期五, 30 一月 2026 14:32:00 +0800
Subject: [PATCH] Merge branch 'dev_New' of http://114.132.189.42:9002/r/product-inventory-management into dev_New
---
src/views/personnelManagement/employeeRecord/components/NewOrEditFormDia.vue | 63 ++++++++++++++++++++++++++-----
1 files changed, 52 insertions(+), 11 deletions(-)
diff --git a/src/views/personnelManagement/employeeRecord/components/NewOrEditFormDia.vue b/src/views/personnelManagement/employeeRecord/components/NewOrEditFormDia.vue
index 00e796c..f65509a 100644
--- a/src/views/personnelManagement/employeeRecord/components/NewOrEditFormDia.vue
+++ b/src/views/personnelManagement/employeeRecord/components/NewOrEditFormDia.vue
@@ -56,6 +56,25 @@
</el-row>
<el-row :gutter="30">
<el-col :span="12">
+ <el-form-item label="閮ㄩ棬锛�" prop="sysDeptId">
+ <el-tree-select
+ v-model="form.sysDeptId"
+ :data="deptOptions"
+ :props="{ value: 'id', label: 'label', children: 'children' }"
+ value-key="id"
+ placeholder="璇烽�夋嫨閮ㄩ棬"
+ check-strictly
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="骞撮緞锛�" prop="age">
+ <el-input-number v-model="form.age" :precision="0" :step="1" style="width: 100%"/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
<el-form-item label="绗竴瀛﹀巻锛�" prop="firstStudy">
<el-input v-model="form.firstStudy" placeholder="璇疯緭鍏�" clearable/>
</el-form-item>
@@ -63,13 +82,6 @@
<el-col :span="12">
<el-form-item label="涓撲笟锛�" prop="profession">
<el-input v-model="form.profession" placeholder="璇疯緭鍏�" clearable/>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="30">
- <el-col :span="12">
- <el-form-item label="骞撮緞锛�" prop="age">
- <el-input-number v-model="form.age" :precision="0" :step="1" style="width: 100%"/>
</el-form-item>
</el-col>
</el-row>
@@ -140,9 +152,10 @@
<script setup>
import {ref, onMounted} from "vue";
-import {getStaffJoinInfo, staffJoinAdd, staffJoinUpdate} from "@/api/personnelManagement/onboarding.js";
import {findPostOptions} from "@/api/system/post.js";
+import {listDept} from "@/api/system/dept.js";
import {staffOnJobInfo, createStaffOnJob, updateStaffOnJob} from "@/api/personnelManagement/staffOnJob.js";
+import {deptTreeSelect} from "@/api/system/user.js";
const { proxy } = getCurrentInstance()
const emit = defineEmits(['close'])
@@ -166,8 +179,8 @@
contractTerm: 0,
contractStartTime: "",
contractEndTime: "",
- staffState: "",
sysPostId: undefined,
+ sysDeptId: undefined,
},
rules: {
staffNo: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" },],
@@ -187,8 +200,9 @@
contractEndTime: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
},
postOptions: [], // 宀椾綅閫夐」
+ deptOptions: [], // 閮ㄩ棬閫夐」
});
-const { form, rules, postOptions } = toRefs(data);
+const { form, rules, postOptions, deptOptions } = toRefs(data);
// 鎵撳紑寮规
const openDialog = (type, row) => {
@@ -201,6 +215,9 @@
if (form.value.sysPostId === 0) {
form.value.sysPostId = undefined
}
+ if (form.value.sysDeptId === 0) {
+ form.value.sysDeptId = undefined
+ }
// 缂栬緫鏃朵篃璁$畻涓�娆″悎鍚屽勾闄�
calculateContractTerm();
})
@@ -211,6 +228,7 @@
}
onMounted(() => {
fetchPostOptions()
+ fetchDeptOptions()
})
const fetchPostOptions = () => {
@@ -218,14 +236,37 @@
postOptions.value = res.data
})
}
+
+// 鏌ヨ閮ㄩ棬鍒楄〃
+const fetchDeptOptions = () => {
+ deptTreeSelect().then(response => {
+ deptOptions.value = filterDisabledDept(JSON.parse(JSON.stringify(response.data)))
+ })
+}
+
+/** 杩囨护绂佺敤鐨勯儴闂� */
+function filterDisabledDept(deptList) {
+ return deptList.filter(dept => {
+ if (dept.disabled) {
+ return false
+ }
+ if (dept.children && dept.children.length) {
+ dept.children = filterDisabledDept(dept.children)
+ }
+ return true
+ })
+}
+
// 鎻愪氦浜у搧琛ㄥ崟
const submitForm = () => {
if (!form.value.sysPostId) {
form.value.sysPostId = 0;
}
+ if (!form.value.sysDeptId) {
+ form.value.sysDeptId = 0;
+ }
proxy.$refs.formRef.validate(valid => {
if (valid) {
- form.value.staffState = 1
if (operationType.value === "add") {
createStaffOnJob(form.value).then(res => {
proxy.$modal.msgSuccess("鎻愪氦鎴愬姛");
--
Gitblit v1.9.3