Files
my-mom-system/erp-frontend-vue/src/api/purchaseNeed.ts
2026-02-27 23:50:25 +08:00

61 lines
1.7 KiB
TypeScript

import request from './request'
export interface PurchaseNeedRow {
purchaseId: number
salesOrderCode: string
planCode: string
purchaseCode: string
itemCode: string
itemName: string
demandQty: number
availableQty: number
purchaseQty: number
orderedQty: number
unorderedQty: number // = purchaseQty - orderedQty (backend returns in totalQuantity)
purchaseDate: string
remark?: string
}
export interface PurchaseNeedQuery {
salesOrderCode?: string
itemCode?: string
itemName?: string
businessType?: string
beginDate?: string
endDate?: string
pageNum?: number
pageSize?: number
}
export interface PurchaseNeedListResponse {
rows: PurchaseNeedRow[]
total: number
}
export interface PurchaseNeedSummary {
totalPurchaseQty: number
totalOrderedQty: number
totalUnorderedQty: number
}
// 查询采购计划需求列表
export function getPurchaseNeedList(params: PurchaseNeedQuery): Promise<PurchaseNeedListResponse> {
return request.get('/erp/mp/purchase/need/list', { params }).then((res: any) => {
const rows = (res.rows || []).map((r: any) => ({
...r,
unorderedQty: r.totalQuantity // backend puts unordered qty in totalQuantity field
}))
return { rows, total: res.total || 0 }
})
}
// 查询采购计划需求汇总
export function getPurchaseNeedSummary(params: PurchaseNeedQuery): Promise<PurchaseNeedSummary> {
return request.get('/erp/mp/purchase/need/summary', { params }).then((res: any) => res.data || {})
}
// 导出采购计划需求表
export function exportPurchaseNeed(params: PurchaseNeedQuery): Promise<Blob> {
return request.post('/erp/mp/purchase/need/export', params, { responseType: 'blob' })
}