import request from '@/utils/http' import type { QcTaskOperateScope } from '@/api/qc-task' export type QcTaskResultItem = { paramId?: string paramName: string paramCode?: string paramUnit?: string paramType: string options?: string defaultValue?: string requiredFlag?: string paramValue: string } export function fetchQcTaskResults(taskId: string) { return request.get({ url: `/web/admin/qc-tasks/${taskId}/results` }) } /** 任务已保存的物料使用(用于填写结果弹窗回显) */ export type QcTaskMaterialUsageItem = { batchId: string stockInNo?: string materialId: string materialName: string batchNo?: string catalogNo?: string manufacturer?: string changeQty: number usageUnit?: string requisitionUsageId?: string parentUsageId?: string receiverName?: string requisitionReceiverName?: string remark?: string } export function fetchQcTaskMaterialUsages(taskId: string) { return request.get({ url: `/web/admin/qc-tasks/${taskId}/material-usages` }) } export function fetchCompleteTaskWithResult( taskId: string, data: { conclusion: string results: QcTaskResultItem[] remark?: string thirdPartyAttachments?: string taskStatus?: 'dzx' | 'jxz' | 'ywc' materialUsages?: Array<{ requisitionUsageId: string qty: number usageUnit?: string remark?: string }> }, operateScope?: QcTaskOperateScope ) { return request.post({ url: `/web/admin/qc-tasks/${taskId}/complete-with-result`, params: operateScope === 'mine' ? { operateScope: 'mine' } : undefined, data }) }