api.ts 1.6 KB
import { http } from "@/typing/http";
import request from "@/utils/request";
import { CAS_HOST } from "@/utils/host";

type PromisePageResp<T> = http.PromisePageResp<T>;

// 列表参数
interface ListParam {
  current?: number;
  pageSize?: number;
  keyword?: string;
  shopId?: number;
  groupId?: number;
  userId?: number;
  userName?: string;
  teamId?: number;
}

// 列表结果
export interface ListResult {
  groupId: number; // 集团id
  shopId: number; // 门店id
  shopName: string; // 门店名称
  roleCode: string; // 角色编码
  roleName: string; // 角色名称
  teamId: number; // 组id
  teamName: string; // 组名
  userInfoVOS: Staff[]; // 组员工信息
}

// 机修组员工信息
export interface Staff {
  id?: string; // 配置id
  staffId: string; // 组员id
  staffName: string; // 组员名称
  manHoursProp: number; // 工时分成占比(以小数表示,如0.5表示50%,全部组员相加为1)
}

/** 工时分成配置列表 */
export function getListApi(params: ListParam): PromisePageResp<ListResult[]> {
  return request.get(`${CAS_HOST}/erp/team/setting/list`, { params });
}

export interface SaveParams {
  shopId: number; // 门店id
  shopName: string; // 门店名称
  teamId: number; // 小组id
  teamName: string; // 小组名称
  userId?: number; // 用户id
  userName?: string; // 用户名称
  groupId?: number; // 集团id
  userInfoVOS?: Staff[]; // 各组员分成比例配置
}

/** 修改配置 */
export function saveApi(params: SaveParams) {
  return request.post(`${CAS_HOST}/erp/team/setting/save`, params);
}