import request from '@/utils/request' import type { ForecastOrder, ForecastOrderFormData, ForecastOrderSubmitData } from '@/types/forecast-order' import type { PaginationRequest, PaginationResponse, RequestData, ResponseData } from '@/types/forecast-order' // ============================================================ // T009 - 预测单 API 模块 (13 个端点) // ============================================================ // 1. 分页查询预测单 export function findPagination(data: PaginationRequest): Promise>> { return request({ url: '/api/forecast/find-pagination', method: 'post', data }) } // 2. 根据 ID 查询预测单详情 export function getById(id: number): Promise> { return request({ url: `/api/forecast/get-id?id=${id}`, method: 'get' }) } // 3. 保存草稿 export function saveDraft(data: RequestData): Promise> { return request({ url: '/api/forecast/save-draft', method: 'post', data }) } // 4. 提交评审 export function submitForReview(data: RequestData): Promise> { return request({ url: '/api/forecast/submit', method: 'post', data }) } // 5. 更新草稿 export function updateDraft(data: RequestData): Promise> { return request({ url: '/api/forecast/update-draft', method: 'post', data }) } // 6. 撤回预测单 export function withdrawForecastOrder(id: number): Promise> { return request({ url: `/api/forecast/withdraw?id=${id}`, method: 'get' }) } // 7. 评审接收 export function reviewAccept( data: RequestData<{ forecastOrderId: number; planSuggestedQty: number; planReplyDate: string; planReplyComment?: string }> ): Promise> { return request({ url: '/api/forecast/review-accept', method: 'post', data }) } // 8. 评审驳回 export function reviewReject( data: RequestData<{ forecastOrderId: number; rejectReason: string }> ): Promise> { return request({ url: '/api/forecast/review-reject', method: 'post', data }) } // 9. 重提 export function resubmit( data: RequestData<{ forecastOrderId: number }> ): Promise> { return request({ url: '/api/forecast/resubmit', method: 'post', data }) } // 10. 作废预测单 export function discardForecastOrder(id: number): Promise> { return request({ url: `/api/forecast/discard?id=${id}`, method: 'get' }) } // 11. 删除草稿 export function deleteDraft(id: number): Promise> { return request({ url: `/api/forecast/delete-draft?id=${id}`, method: 'get' }) } // 12. 检查转单资格 export function checkConvertEligibility(id: number): Promise> { return request({ url: `/api/forecast/check-convert-eligibility?id=${id}`, method: 'get' }) } // 13. 检查变更资格 export function checkEligibility(id: number): Promise> { return request({ url: `/api/forecast/check-eligibility?id=${id}`, method: 'get' }) }