/**
 * @desc 分页查询申请列表
 */
import { defaultSuccess, defaultError, http } from '@/plugins/axios';
import type { AxiosResponse } from 'axios';
import type { IPage } from '@/api/api';
export interface Params {
  /** 申请类型(1入库 3出库 4盘点) */
  applyType: number;
  /** 页码 */
  page?: number;
  /** 页面大小 */
  size?: number;
  /** 物料类型 */
  type?: string;
  /** 物料编码 */
  code?: string;
  /** 物料名称 */
  name?: string;
}

export default async function (
  params: Params,
  success: (data: IPage<material.ApplyDTO>) => void = defaultSuccess,
  fail: (error: { code: string; error?: string }) => void = defaultError,
): Promise<void> {
  return http({
    method: 'get',
    url: `/applies`,

    params,
  })
    .then((data: AxiosResponse<IPage<material.ApplyDTO>, unknown>) => {
      success(data.data);
    })
    .catch((error: { code: string; error?: string }) => fail(error));
}
