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

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

export namespace SrmSupplierApplyApi {
  export interface ApplyVO {
    id?: number;
    applyNo?: string;
    supplierId?: number;
    supplierName: string;
    contactName?: string;
    contactMobile?: string;
    contactEmail?: string;
    address?: string;
    bankName?: string;
    bankAccount?: string;
    taxNo?: string;
    businessLicense?: string;
    taxCertificate?: string;
    orgCodeCertificate?: string;
    applyStatus?: number;
    applyStatusLabel?: string;
    auditComment?: string;
    remark?: string;
    createTime?: string;
  }

  export interface ReviewVO {
    id: number;
    passed: boolean;
    comment?: string;
  }
}

/** 分页查询准入申请 */
export function getApplyPage(params: PageParam) {
  return requestClient.get<PageResult<SrmSupplierApplyApi.ApplyVO>>('/srm/supplier-apply/page', { params });
}

/** 获取准入申请详情 */
export function getApply(id: number) {
  return requestClient.get<SrmSupplierApplyApi.ApplyVO>(`/srm/supplier-apply/get?id=${id}`);
}

/** 创建准入申请 */
export function createApply(data: SrmSupplierApplyApi.ApplyVO) {
  return requestClient.post('/srm/supplier-apply/create', data);
}

/** 更新准入申请 */
export function updateApply(data: SrmSupplierApplyApi.ApplyVO) {
  return requestClient.put('/srm/supplier-apply/update', data);
}

/** 删除准入申请 */
export function deleteApply(id: number) {
  return requestClient.delete(`/srm/supplier-apply/delete?id=${id}`);
}

/** 提交审核 */
export function submitApply(id: number) {
  return requestClient.put(`/srm/supplier-apply/submit?id=${id}`);
}

/** 采购审核 */
export function reviewPurchase(data: SrmSupplierApplyApi.ReviewVO) {
  return requestClient.put('/srm/supplier-apply/review-purchase', data);
}

/** 质量审核 */
export function reviewQuality(data: SrmSupplierApplyApi.ReviewVO) {
  return requestClient.put('/srm/supplier-apply/review-quality', data);
}

/** 财务审核 */
export function reviewFinance(data: SrmSupplierApplyApi.ReviewVO) {
  return requestClient.put('/srm/supplier-apply/review-finance', data);
}
