import request from '@/utils/request';

/**
 * 获取供应商基础信息列表
 * @deprecated 请使用 getSupplierPage 替代
 */
export async function getSupplierBaseList(params: any) {
  return request('/api/supplier/base/list', {
    method: 'GET',
    params,
  });
}

/**
 * 获取供应商分页列表 - 对接/coscoSupplierBase/getSupplierPage接口
 * @param params 查询参数，包含供应商名称、部门ID等筛选条件以及分页信息
 */
export async function getSupplierPage(params: {
  name?: string;              // 供应商名称
  deptId?: string;            // 部门ID
  deptName?: string;          // 部门名称
  companyName?: string;       // 公司名称
  categoryName?: string;      // 所属品类
  levelName?: string;         // 评价等级
  blackListDept?: string[];   // 黑名单部门列表
  deptList?: string[];        // 查询部门列表
  pageNo?: number;            // 页码
  pageSize?: number;          // 每页条数
  [key: string]: any;
}) {
  return request('/coscoSupplierBase/getSupplierPage', {
    method: 'POST',
    data: {
      ...params,
      basePageRequest: {
        pageNo: params.pageNo || 1,
        pageSize: params.pageSize || 10
      }
    },
  });
}

// 获取供应商详情
export async function getSupplierDetail(id: string) {
  return request(`/api/supplier/${id}`, {
    method: 'GET',
  });
}

// 获取供应商品类信息
export async function getSupplierCategories(supplierId: string) {
  return request(`/api/supplier/${supplierId}/categories`, {
    method: 'GET',
  });
}

// 获取可选供应商列表
export async function getSelectableSuppliers(params: any) {
  return request('/api/supplier/selectable', {
    method: 'GET',
    params,
  });
}

// 根据供应商ID批量获取供应商信息
export async function getSuppliersByIds(ids: string[]) {
  return request('/api/supplier/batch', {
    method: 'POST',
    data: { ids },
  });
}
