From b114f42bd50a6c971a0cfe6f7b390d7065e98fe2 Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期五, 11 七月 2025 15:54:40 +0800 Subject: [PATCH] 添加新增离职时,页面新增入职字段改为新增离职。员工编号改为下拉选择框,选择员工编号后带出人员入职填的信息 --- src/views/personnelManagement/dimission/components/formDia.vue | 71 ++++++++++++++++++++++- src/api/personnelManagement/onboarding.js | 61 +++++++++++--------- 2 files changed, 100 insertions(+), 32 deletions(-) diff --git a/src/api/personnelManagement/onboarding.js b/src/api/personnelManagement/onboarding.js index 7212afa..39dbf22 100644 --- a/src/api/personnelManagement/onboarding.js +++ b/src/api/personnelManagement/onboarding.js @@ -1,42 +1,49 @@ -import request from '@/utils/request' +import request from "@/utils/request"; // 鏌ヨ浜哄憳鍏ヨ亴鍒楄〃 export function staffJoinListPage(query) { - return request({ - url: '/staff/staffJoinLeaveRecord/listPage', - method: 'get', - params: query, - }) + return request({ + url: "/staff/staffJoinLeaveRecord/listPage", + method: "get", + params: query, + }); } // 鏂板浜哄憳鍏ヨ亴 export function staffJoinAdd(query) { - return request({ - url: '/staff/staffJoinLeaveRecord/add', - method: 'post', - data: query, - }) + return request({ + url: "/staff/staffJoinLeaveRecord/add", + method: "post", + data: query, + }); } // 淇敼浜哄憳鍏ヨ亴 export function staffJoinUpdate(query) { - return request({ - url: '/staff/staffJoinLeaveRecord/update', - method: 'post', - data: query, - }) + return request({ + url: "/staff/staffJoinLeaveRecord/update", + method: "post", + data: query, + }); } // 鏌ヨ鍛樺伐鍏ヨ亴淇℃伅 export function getStaffJoinInfo(query) { - return request({ - url: '/staff/staffJoinLeaveRecord/' + query, - method: 'get', - data: query, - }) + return request({ + url: "/staff/staffJoinLeaveRecord/" + query, + method: "get", + data: query, + }); } // 鍒犻櫎鍛樺伐 export function staffJoinDel(query) { - return request({ - url: '/staff/staffJoinLeaveRecord/del', - method: 'delete', - data: query, - }) -} \ No newline at end of file + return request({ + url: "/staff/staffJoinLeaveRecord/del", + method: "delete", + data: query, + }); +} + +export function getStaffOnJob() { + return request({ + url: "/staff/staffOnJob/list", + method: "get", + }); +} diff --git a/src/views/personnelManagement/dimission/components/formDia.vue b/src/views/personnelManagement/dimission/components/formDia.vue index 939f921..1a8a75e 100644 --- a/src/views/personnelManagement/dimission/components/formDia.vue +++ b/src/views/personnelManagement/dimission/components/formDia.vue @@ -9,13 +9,21 @@ <el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef"> <el-row :gutter="30"> <el-col :span="12"> - <el-form-item label="鍛樺伐缂栧彿锛�" prop="staffNo"> - <el-input v-model="form.staffNo" placeholder="璇疯緭鍏�" clearable :disabled="operationType !== 'add'"/> + <el-form-item label="濮撳悕锛�" prop="staffName"> + <!-- <el-input v-model="form.staffName" placeholder="璇疯緭鍏�" clearable/> --> + <el-select v-model="form.staffName" placeholder="璇烽�夋嫨浜哄憳" style="width: 100%" @change="handleSelect"> + <el-option + v-for="item in personList" + :key="item.id" + :label="item.staffName" + :value="item.staffName" + /> + </el-select> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="濮撳悕锛�" prop="staffName"> - <el-input v-model="form.staffName" placeholder="璇疯緭鍏�" clearable/> + <el-form-item label="鍛樺伐缂栧彿锛�" prop="staffNo"> + <el-input v-model="form.staffNo" placeholder="璇疯緭鍏�" clearable :disabled="operationType !== 'add'"/> </el-form-item> </el-col> </el-row> @@ -135,7 +143,7 @@ <script setup> import {ref} from "vue"; -import {getStaffJoinInfo, staffJoinAdd, staffJoinUpdate} from "@/api/personnelManagement/onboarding.js"; +import {getStaffJoinInfo, staffJoinAdd, staffJoinUpdate,getStaffOnJob} from "@/api/personnelManagement/onboarding.js"; const { proxy } = getCurrentInstance() const emit = defineEmits(['close']) @@ -184,6 +192,7 @@ // 鎵撳紑寮规 const openDialog = (type, row) => { + getList() operationType.value = type; dialogFormVisible.value = true; if (operationType.value === 'edit') { @@ -217,6 +226,58 @@ dialogFormVisible.value = false; emit('close') }; + +const personList = ref([]); + +/** + * 鑾峰彇褰撳墠鍦ㄨ亴浜哄憳鍒楄〃 + */ +const getList = () => { + getStaffOnJob().then(res => { + personList.value = res.data + }) +}; + +const handleSelect = (val) => { + let obj = personList.value.find(item => item.staffName === val) + let { + sex, + phone, + staffNo, + nativePlace, + postJob, + adress, + firstStudy, + profession, + identityCard, + age, + emergencyContact, + emergencyContactPhone, + contractTerm, + contractStartTime, + contractEndTime, + staffName + } = obj + form.value = { + sex, + phone, + staffNo, + nativePlace, + postJob, + adress, + firstStudy, + profession, + identityCard, + age, + emergencyContact, + emergencyContactPhone, + contractTerm, + contractStartTime, + contractEndTime, + staffName + } + +} defineExpose({ openDialog, }); -- Gitblit v1.9.3