import type { PageParam, PageResult } from '@vben/request';

import { requestClient } from '#/api/request';

export namespace SrmSupplierApi {
  export interface SupplierVO {
    id?: number;
    code: string;
    name: string;
    type: number;
    status: number;
    contactName?: string;
    contactMobile?: string;
    contactEmail?: string;
    address?: string;
    bankName?: string;
    bankAccount?: string;
    taxNo?: string;
    remark?: string;
    createTime?: string;
  }
}

/** 分页查询供应商 */
export function getSupplierPage(params: PageParam) {
  return requestClient.get<PageResult<SrmSupplierApi.SupplierVO>>('/srm/supplier/page', { params });
}

/** 获取供应商精简列表（仅返回已通过准入审批的供应商） */
export function getSupplierSimpleList() {
  return requestClient.get<SrmSupplierApi.SupplierVO[]>('/srm/supplier/simple-list');
}

/** 获取供应商详情 */
export function getSupplier(id: number) {
  return requestClient.get<SrmSupplierApi.SupplierVO>(`/srm/supplier/get?id=${id}`);
}

/** 创建供应商 */
export function createSupplier(data: SrmSupplierApi.SupplierVO) {
  return requestClient.post('/srm/supplier/create', data);
}

/** 更新供应商 */
export function updateSupplier(data: SrmSupplierApi.SupplierVO) {
  return requestClient.put('/srm/supplier/update', data);
}

/** 删除供应商 */
export function deleteSupplier(id: number) {
  return requestClient.delete(`/srm/supplier/delete?id=${id}`);
}
