attendance.ts 1.99 KB
// @ts-nocheck
import { defHttp } from '/@/utils/http/axios';

// 导出一些基本值确保模块初始化
export const API_PREFIX = '/order/erp/users/oldAttendance';

/**
 * 考勤数据分页查询参数
 */
export interface AttendanceParams {
  page: number;
  pageSize: number;
  dateTime: string; // 格式为 yyyy-MM
}

/**
 * 考勤数据接口
 */
export interface AttendanceData {
  userId: number; // 用户ID
  nickName: string; // 昵称
  chineseName: string; // 姓名
  roleId: number; // 角色ID
  roleName: string; // 角色名称
  deptName: string; // 部门名称
  companyName: string; // 公司名称
  monthlyAttendanceId: string; // 考勤组ID
  monthlyAttendanceName: string; // 考勤组
  payDay: number; // 个计薪日
  monthlyWorkingDay: number; // 工作日
  attendanceDays: number; // 实际出勤小时
  leaveDays: number; // 请假
  compensatoryLeaveDays: number; // 本月调休
  storageLeaveDays: number; // 本月存休
  workHours: number; // 全部上班时间
  lastMonthLeaveDays: number; // 上月存休
  totalStorageLeaveDays: number; // 累计存休
  attendanceStatus: number; // 审核状态: 0:待审核,10:已审核,20:已驳回
}

/**
 * MyBatis-Plus分页格式
 */
export interface PageResult<T> {
  records: T[];
  total: number;
  size: number;
  current: number;
  orders: any[];
  optimizeCountSql: boolean;
  searchCount: boolean;
  pages: number;
  hitCount: boolean;
}

/**
 * 获取考勤数据分页列表
 */
export function getAttendanceList(params: AttendanceParams) {
  
  
  // 使用post方式请求数据,确保请求体中包含所有必需参数
  return defHttp.post<PageResult<AttendanceData>>({
    url: `${API_PREFIX}/list_by_page`,
    data: params, 
  });
}

/**
 * 获取考勤审核状态文本
 */
export function getAttendanceStatusText(status: number): string {
  switch (status) {
    case 0:
      return '待审核';
    case 10:
      return '已审核';
    case 20:
      return '已驳回';
    default:
      return '未创建';
  }
}