4 小时以前 5367b3b4d92588c4e76728e6bd4ad6aae0cbb967
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
import type { PageParam, PageResult } from '#/packages/effects/request/src';
 
import { requestClient } from '#/api/request';
 
export namespace HrmEmployeeApi {
  /** 员工信息 */
  export interface Employee {
    id?: number;
    userId?: number;
    deptId?: number;
    deptName?: string;
    postId?: number;
    postName?: string;
    employeeNo?: string;
    name?: string;
    gender?: number;
    birthday?: string;
    phone?: string;
    email?: string;
    idCard?: string;
    hireDate?: string;
    regularDate?: string;
    leaveDate?: string;
    employeeStatus?: number;
    annualLeaveBalance?: number;
    sickLeaveBalance?: number;
    baseSalary?: number;
    roleIds?: number[];
    roleNames?: string[];
    bankName?: string;
    bankAccount?: string;
    address?: string;
    remark?: string;
    createTime?: string;
    /** 教育经历列表 */
    educations?: Education[];
    /** 工作经历列表 */
    workHistories?: WorkHistory[];
    /** 紧急联系人列表 */
    emergencyContacts?: EmergencyContact[];
  }
 
  /** 教育经历 */
  export interface Education {
    id?: number;
    employeeId?: number;
    schoolName?: string;
    major?: string;
    degree?: number;
    startDate?: string;
    endDate?: string;
    certificateNo?: string;
  }
 
  /** 工作经历 */
  export interface WorkHistory {
    id?: number;
    employeeId?: number;
    companyName?: string;
    position?: string;
    startDate?: string;
    endDate?: string;
    workContent?: string;
    leaveReason?: string;
  }
 
  /** 紧急联系人 */
  export interface EmergencyContact {
    id?: number;
    employeeId?: number;
    contactName?: string;
    relationship?: string;
    phone?: string;
    address?: string;
  }
 
  /** 员工精简信息 */
  export interface EmployeeSimple {
    id: number;
    employeeNo: string;
    name: string;
    deptName?: string;
    postName?: string;
  }
}
 
/** 查询员工分页列表 */
export function getEmployeePage(params: PageParam) {
  return requestClient.get<PageResult<HrmEmployeeApi.Employee>>(
    '/hrm/employee/page',
    { params },
  );
}
 
/** 查询员工详情 */
export function getEmployee(id: number) {
  return requestClient.get<HrmEmployeeApi.Employee>(
    `/hrm/employee/get?id=${id}`,
  );
}
 
/** 查询员工精简列表 */
export function getEmployeeSimpleList() {
  return requestClient.get<HrmEmployeeApi.EmployeeSimple[]>(
    '/hrm/employee/simple-list',
  );
}
 
/** 新增员工 */
export function createEmployee(data: HrmEmployeeApi.Employee) {
  return requestClient.post('/hrm/employee/create', data);
}
 
/** 更新员工 */
export function updateEmployee(data: HrmEmployeeApi.Employee) {
  return requestClient.put('/hrm/employee/update', data);
}
 
/** 删除员工 */
export function deleteEmployee(id: number) {
  return requestClient.delete(`/hrm/employee/delete?id=${id}`);
}
 
/** 导出员工 */
export function exportEmployee(params: any) {
  return requestClient.download('/hrm/employee/export-excel', { params });
}
 
/** 删除教育经历 */
export function deleteEducation(id: number) {
  return requestClient.delete(`/hrm/employee/education/delete?id=${id}`);
}
 
/** 删除工作经历 */
export function deleteWorkHistory(id: number) {
  return requestClient.delete(`/hrm/employee/work-history/delete?id=${id}`);
}
 
/** 删除紧急联系人 */
export function deleteEmergencyContact(id: number) {
  return requestClient.delete(`/hrm/employee/emergency-contact/delete?id=${id}`);
}