api.ts 3.09 KB
import { http, PromisePageResp } from "@/typing/http";
import request from "@/utils/request";
import { ATTENDANCE_HOST } from "@/utils/host";

type P<T> = http.PromiseResp<T>;
//type Page<T> = http.PromisePageResp<T>;

export interface Item {
  id?: number; //	考勤组配置id
  name?: number; //	考勤组类型1:正常班次 2:早班 3:晚班
  desc?: string;
  common?: boolean; // 是否集团默认通用配置
  cycleTimes?: number; //	打卡周期次数
  timeList: timeList[];
  shops?: Shops[];
}

interface timeList {
  clockTime?: number; //打卡时间
  noticeType?:number;//
}
interface Shops {
  shopId?: number; //适配门店
  shopName?: string; //门店名称
}
export interface Detail {
  id?: number; //	考勤周期id
  clockBeginTime?: number; //	打卡开始时间(例如:9:00)
  noticeAdvanceTime?: number; //	待办提前通知时间(分钟)
  noticeType?: number; //	待办通知类型 1:提前通知 2:延后通知
  defectTime?: number; //	严重迟到时间判定(分钟)
  lackTime?: number; //缺卡判定时间(分钟)
}

/**
 * 考勤组类型1:正常班次 2:早班 3:晚班
 */
export const typeEnum: { [key: number]: string } = {
  0: "",
  1: "正常班次",
  2: "早班",
  3: "晚班",
};

/**分页查询考勤组配置列表
 * /attendance/group/setting/getList
*/
// export function fetchList(): PromisePageResp<Item[]> {
export function fetchList(): PromisePageResp<Item> {
  return request.get(`${ATTENDANCE_HOST}/attendance/group/setting/getList`);
}

/**删除考勤组配置
 * /attendance/group/setting/del
*/
export function deleteApi(id?: number): P<void> {
  return request.post(`${ATTENDANCE_HOST}/attendance/group/setting/del?id=${id}`, { id });
}

/**查询考勤组配置详情
 * /attendance/group/setting/getDetail
*/
export function fetchDetail(id: number): P<Item> {
  return request.get(`${ATTENDANCE_HOST}/attendance/group/setting/getDetail`, { params: { id } });
}

/**保存考勤组配置*/
export function saveApi(params?: Item): P<void> {
  return request.post(`${ATTENDANCE_HOST}/attendance/group/setting/saveOrUpdate`, params);
}

interface BaseSettingItem {
  id?: number; // 主键
  groupId?: number; // 集团id
  defectTime?: number; // 严重迟到时间判定(分钟)
  onDutyNoticeTime?: number; // 上班待办提前通知时间(分钟)
  offDutyNoticeTime?: number; // 下班待办延后通知时间(分钟)
  onDutyLackTime?: number; // 上班缺卡时间判定(分钟)
  offDutyLackTime?: number; // 下班缺卡时间判定(分钟)
  outsideRemainingHour?: number; // 外勤结束时间离门店下班时间≤?小时不用打考勤卡
  travelRemainingHour?: number; // 出差结束时间离门店下班时间≤?小时不用打考勤卡
}
/**获取考勤组基础设置
 * /attendance/base/setting/get
 */
export function fetchBaseSettingApi(): P<BaseSettingItem> {
  return request.get(`${ATTENDANCE_HOST}/attendance/base/setting/get`);
}

/**保存/更新考勤组基础设置*/
export function saveOrUpdateApi(params?: BaseSettingItem): P<void> {
  return request.post(`${ATTENDANCE_HOST}/attendance/base/setting/saveOrUpdate`, params);
}