import type { PageParam, PageResult } from '#/packages/effects/request/src';
|
|
import { requestClient } from '#/api/request';
|
|
export namespace HrmSalaryCalculationApi {
|
/** 薪酬核算 */
|
export interface SalaryCalculation {
|
id?: number;
|
no?: string;
|
period?: string;
|
userId?: number;
|
userName?: string;
|
deptId?: number;
|
deptName?: string;
|
baseSalary?: number;
|
performanceSalary?: number;
|
overtimePay?: number;
|
mealAllowance?: number;
|
transportAllowance?: number;
|
otherAllowance?: number;
|
socialSecurityDeduction?: number;
|
housingFundDeduction?: number;
|
taxDeduction?: number;
|
otherDeduction?: number;
|
leaveDeduction?: number;
|
actualSalary?: number;
|
workDays?: number;
|
overtimeHours?: number;
|
status?: number;
|
statusName?: string;
|
remark?: string;
|
createTime?: string;
|
}
|
|
/** 薪酬核算查询参数 */
|
export interface SalaryCalculationPageParam extends PageParam {
|
period?: string;
|
userId?: number;
|
deptId?: number;
|
status?: number;
|
}
|
|
/** 薪酬核算预览参数 */
|
export interface SalaryPreviewParam {
|
period: string;
|
deptId?: number;
|
}
|
|
/** 薪酬核算保存参数 */
|
export interface SalarySaveParam {
|
period: string;
|
list: SalaryCalculation[];
|
}
|
|
/** 薪酬核算执行参数 */
|
export interface SalaryCalculateParam {
|
period: string;
|
deptId?: number;
|
}
|
}
|
|
/** 查询薪酬核算分页列表 */
|
export function getSalaryCalculationPage(
|
params: HrmSalaryCalculationApi.SalaryCalculationPageParam,
|
) {
|
return requestClient.get<PageResult<HrmSalaryCalculationApi.SalaryCalculation>>(
|
'/hrm/salary/calculation/page',
|
{ params },
|
);
|
}
|
|
/** 查询薪酬核算详情 */
|
export function getSalaryCalculation(id: number) {
|
return requestClient.get<HrmSalaryCalculationApi.SalaryCalculation>(
|
`/hrm/salary/calculation/get?id=${id}`,
|
);
|
}
|
|
/** 执行薪酬核算(自动计算) */
|
export function calculateSalary(params: HrmSalaryCalculationApi.SalaryCalculateParam) {
|
return requestClient.post('/hrm/salary/calculation/calculate', null, { params });
|
}
|
|
/** 预览薪酬核算数据(根据周期和部门获取员工工资明细) */
|
export function previewSalaryCalculation(params: HrmSalaryCalculationApi.SalaryPreviewParam) {
|
return requestClient.get<HrmSalaryCalculationApi.SalaryCalculation[]>(
|
'/hrm/salary/calculation/preview',
|
{ params },
|
);
|
}
|
|
/** 批量保存薪酬核算记录 */
|
export function saveSalaryCalculation(data: HrmSalaryCalculationApi.SalarySaveParam) {
|
return requestClient.post('/hrm/salary/calculation/save', data);
|
}
|
|
/** 更新薪酬核算记录 */
|
export function updateSalaryCalculation(data: HrmSalaryCalculationApi.SalaryCalculation) {
|
return requestClient.put('/hrm/salary/calculation/update', data);
|
}
|
|
/** 确认薪酬核算 */
|
export function confirmSalary(ids: number[]) {
|
return requestClient.post('/hrm/salary/calculation/confirm', { ids });
|
}
|
|
/** 撤销薪酬核算确认 */
|
export function revokeSalaryCalculation(ids: number[]) {
|
return requestClient.post('/hrm/salary/calculation/revoke', { ids });
|
}
|
|
/** 删除薪酬核算记录 */
|
export function deleteSalaryCalculation(id: number) {
|
return requestClient.delete(`/hrm/salary/calculation/delete?id=${id}`);
|
}
|
|
/** 导出薪酬核算表 */
|
export function exportSalaryCalculation(params: any) {
|
return requestClient.download('/hrm/salary/calculation/export-excel', { params });
|
}
|