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

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

export namespace SrmSupplierEvaluationApi {
  export interface EvaluationVO {
    id?: number;
    supplierId: number;
    supplierName?: string;
    evaluationPeriod: string;
    qualityScore: number;
    deliveryScore: number;
    priceScore: number;
    serviceScore: number;
    compositeScore?: number;
    grade?: string;
    evaluatorId?: number;
    evaluatorName?: string;
    remark?: string;
    createTime?: string;
  }
}

/** 分页查询绩效评价 */
export function getEvaluationPage(params: PageParam) {
  return requestClient.get<PageResult<SrmSupplierEvaluationApi.EvaluationVO>>('/srm/supplier-evaluation/page', { params });
}

/** 获取绩效评价详情 */
export function getEvaluation(id: number) {
  return requestClient.get<SrmSupplierEvaluationApi.EvaluationVO>(`/srm/supplier-evaluation/get?id=${id}`);
}

/** 创建绩效评价 */
export function createEvaluation(data: SrmSupplierEvaluationApi.EvaluationVO) {
  return requestClient.post('/srm/supplier-evaluation/create', data);
}

/** 更新绩效评价 */
export function updateEvaluation(data: SrmSupplierEvaluationApi.EvaluationVO) {
  return requestClient.put('/srm/supplier-evaluation/update', data);
}

/** 删除绩效评价 */
export function deleteEvaluation(id: number) {
  return requestClient.delete(`/srm/supplier-evaluation/delete?id=${id}`);
}
