From 9289a4fbacafcc7a80385fc3a3167f383d5cf991 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 15 一月 2026 18:00:51 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New
---
src/views/personnelManagement/onboarding/components/formDia.vue | 60 ++++++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 42 insertions(+), 18 deletions(-)
diff --git a/src/views/personnelManagement/onboarding/components/formDia.vue b/src/views/personnelManagement/onboarding/components/formDia.vue
index e0f053f..7cd6ab6 100644
--- a/src/views/personnelManagement/onboarding/components/formDia.vue
+++ b/src/views/personnelManagement/onboarding/components/formDia.vue
@@ -36,8 +36,16 @@
</el-row>
<el-row :gutter="30">
<el-col :span="12">
- <el-form-item label="宀椾綅锛�" prop="postJob">
- <el-input v-model="form.postJob" placeholder="璇疯緭鍏�" clearable/>
+ <el-form-item label="宀椾綅锛�" prop="sysPostId">
+ <el-select v-model="form.sysPostId" placeholder="璇烽�夋嫨宀椾綅" clearable>
+ <el-option
+ v-for="item in postOptions"
+ :key="item.postId"
+ :label="item.postName"
+ :value="item.postId"
+ :disabled="item.status === '1'"
+ />
+ </el-select>
</el-form-item>
</el-col>
<el-col :span="12">
@@ -59,11 +67,6 @@
</el-col>
</el-row>
<el-row :gutter="30">
- <el-col :span="12">
- <el-form-item label="韬唤璇佸彿锛�" prop="identityCard">
- <el-input v-model="form.identityCard" placeholder="璇疯緭鍏�" clearable/>
- </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%"/>
@@ -88,11 +91,11 @@
<el-input v-model="form.emergencyContactPhone" placeholder="璇疯緭鍏�" clearable/>
</el-form-item>
</el-col>
-<!-- <el-col :span="12">-->
-<!-- <el-form-item label="鍚堝悓骞撮檺锛�" prop="contractTermcontractTerm">-->
-<!-- <el-input-number v-model="form.contractTerm" :precision="0" :step="1" style="width: 100%" :disabled="true"/>-->
-<!-- </el-form-item>-->
-<!-- </el-col>-->
+ <el-col :span="12">
+ <el-form-item label="鍚堝悓骞撮檺锛�" prop="contractTerm">
+ <el-input-number v-model="form.contractTerm" :precision="0" :step="1" style="width: 100%" :disabled="true"/>
+ </el-form-item>
+ </el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="12">
@@ -105,6 +108,7 @@
format="YYYY-MM-DD"
clearable
style="width: 100%"
+ @change="calculateContractTerm"
/>
</el-form-item>
</el-col>
@@ -118,6 +122,7 @@
format="YYYY-MM-DD"
clearable
style="width: 100%"
+ @change="calculateContractTerm"
/>
</el-form-item>
</el-col>
@@ -134,8 +139,9 @@
</template>
<script setup>
-import {ref} from "vue";
+import {ref, onMounted} from "vue";
import {getStaffJoinInfo, staffJoinAdd, staffJoinUpdate} from "@/api/personnelManagement/onboarding.js";
+import {findPostOptions} from "@/api/system/post.js";
const { proxy } = getCurrentInstance()
const emit = defineEmits(['close'])
@@ -151,7 +157,6 @@
adress: "",
firstStudy: "",
profession: "",
- identityCard: "",
age: 0,
phone: "",
emergencyContact: "",
@@ -160,6 +165,7 @@
contractStartTime: "",
contractEndTime: "",
staffState: "",
+ sysPostId: undefined,
},
rules: {
staffNo: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" },],
@@ -170,7 +176,6 @@
adress: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
firstStudy: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
profession: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
- identityCard: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
age: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
phone: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
emergencyContact: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
@@ -179,8 +184,9 @@
contractStartTime: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
contractEndTime: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
},
+ postOptions: [], // 宀椾綅閫夐」
});
-const { form, rules } = toRefs(data);
+const { form, rules, postOptions } = toRefs(data);
// 鎵撳紑寮规
const openDialog = (type, row) => {
@@ -189,13 +195,31 @@
if (operationType.value === 'edit') {
getStaffJoinInfo(row.id).then(res => {
form.value = {...res.data}
+ if (form.value.sysPostId === 0) {
+ form.value.sysPostId = undefined
+ }
// 缂栬緫鏃朵篃璁$畻涓�娆″悎鍚屽勾闄�
- // calculateContractTerm();
+ calculateContractTerm();
})
- }
+ } else {
+ form.value.id = ''
+ }
+
+}
+onMounted(() => {
+ fetchPostOptions()
+})
+
+const fetchPostOptions = () => {
+ findPostOptions().then(res => {
+ postOptions.value = res.data
+ })
}
// 鎻愪氦浜у搧琛ㄥ崟
const submitForm = () => {
+ if (!form.value.sysPostId) {
+ form.value.sysPostId = 0;
+ }
proxy.$refs.formRef.validate(valid => {
if (valid) {
form.value.staffState = 1
--
Gitblit v1.9.3