This commit is contained in:
2026-10-08 15:34:37 +08:00
parent 3c36c55809
commit 0be4088fa9
4 changed files with 70 additions and 9 deletions
@@ -54,6 +54,11 @@ export interface ReturnPackingPreview {
skus: Array<{ skuCode: string; productNameZh?: string; availableQuantity: number }>
}
export interface ReturnPackingPlan {
planNo: string; customerId: string; overseasWarehouseId: string; returnNos: string[]; mode: string; status: string
boxes: Array<{ boxNo?: number; items: Array<{ skuCode: string; quantity: number }>; length: number; width: number; height: number; weight: number }>; remark?: string
}
export function getReturnPackingPreview(returnNo?: string) {
return apiRequest<ReturnPackingPreview>({ method: 'GET', url: '/pda/v1/last-leg/return-inventory/packing/orders', params: { returnNo: returnNo || undefined } })
}
@@ -66,3 +71,11 @@ export function mergeReturnInventory(payload: {
method: 'POST', url: '/pda/v1/last-leg/return-inventory/cartons/merge', data: payload,
})
}
export function listReturnPackingPlans(params: Record<string, unknown> = {}) {
return apiRequest<PageResult<ReturnPackingPlan>>({ method: 'GET', url: '/merchant/v1/last-leg/return-packing-plans', params })
}
export function createReturnPackingPlan(payload: { returnNos: string[]; mode: string; boxes: ReturnPackingPlan['boxes']; remark?: string; idempotencyKey: string }) {
return apiRequest<ReturnPackingPlan>({ method: 'POST', url: '/merchant/v1/last-leg/return-packing-plans', data: payload })
}
@@ -14,10 +14,12 @@ export interface ReturnReceipt {
receivedQuantity: number; operatorName?: string; signedAt: string; unitType: 'PALLET' | 'BOX' | 'PARCEL'; unitCode?: string; boxCount: number
items: Array<{ skuCode: string; productNameZh?: string; quantity: number; boxCount: number }>; cartonMark?: string; printableHtml?: string
labels?: Array<{ cartonMark: string; printableHtml: string }>
labelRepairRequired?: boolean
}
export interface ReturnPallet { palletCode: string; unitType: 'PALLET' | 'BOX'; unitCode: string; skuTypes: number; totalQuantity: number; totalBoxCount: number; items: Array<{ skuCode: string; productNameZh?: string; quantity: number; boxCount: number }> }
export interface ReturnPhoto { fileId: number; fileName: string; contentType: string; sizeBytes: number }
export interface ReturnOrderDetail { order: ReturnOrderSummary; remark?: string; items: ReturnOrderItem[]; receipts: ReturnReceipt[]; pallets: ReturnPallet[]; photos: ReturnPhoto[] }
export interface ReturnPackingDetail { sourceCartonMark: string; targetCartonMark: string; returnNo: string; skuCode: string; quantity: number; createdAt: string }
export interface ReturnOrderDetail { order: ReturnOrderSummary; remark?: string; items: ReturnOrderItem[]; receipts: ReturnReceipt[]; pallets: ReturnPallet[]; photos: ReturnPhoto[]; packingDetails?: ReturnPackingDetail[] }
export interface ReturnOrderCreate {
overseasWarehouseId: string; warehouseContactName: string; warehouseContactPhone: string; customerReferenceNo?: string; remark?: string; needRelabel: boolean; idempotencyKey: string
items: Array<{ skuCode: string; productNameZh?: string; expectedQuantity: number }>