添加新增离职时,页面新增入职字段改为新增离职。员工编号改为下拉选择框,选择员工编号后带出人员入职填的信息
已修改2个文件
132 ■■■■ 文件已修改
src/api/personnelManagement/onboarding.js 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/personnelManagement/dimission/components/formDia.vue 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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,
    })
}
  return request({
    url: "/staff/staffJoinLeaveRecord/del",
    method: "delete",
    data: query,
  });
}
export function getStaffOnJob() {
  return request({
    url: "/staff/staffOnJob/list",
    method: "get",
  });
}
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,
});