This commit is contained in:
2026-08-31 10:58:12 +08:00
parent 462d02efd5
commit f7328e7c60
10 changed files with 140 additions and 20 deletions
@@ -170,6 +170,39 @@ export async function releaseDispatchDraft(draftToken: string) {
return unwrapApiResponse(response)
}
export interface DispatchPdaPositionDto { id: number; balanceId?: number | null; availablePackages: number; allocatedPackages: number; pickedPackages: number }
export interface DispatchPdaItemDto {
dispatchItemId: number
palletNo?: string | null
destinationWarehouseCode?: string | null
destinationWarehouseName?: string | null
fbaWarehouseCode?: string | null
scheduledPackages: number
pickedPackages: number
positions: DispatchPdaPositionDto[]
}
export interface DispatchPdaTaskDto { id: number; taskNo: string; dispatchNo: string; vehiclePlate?: string | null; warehouseId?: string | null; status: string; items: DispatchPdaItemDto[] }
export interface DispatchPdaPushPayload { idempotencyKey: string; operatorId?: string; operatorName?: string; warehouseId?: string }
export interface DispatchPdaPickPayload { positionId: number; packages: number; productQuantity: number; idempotencyKey: string; remark?: string; warehouseId?: string }
export interface DispatchPdaCompletePayload { idempotencyKey: string; reason: string }
export async function pushDispatchPda(dispatchNo: string, payload: DispatchPdaPushPayload) {
const response = await overseasHttp.post<ApiEnvelope<DispatchPdaTaskDto>, ApiEnvelope<DispatchPdaTaskDto>>(`/pda/v1/last-leg/dispatches/${encodeURIComponent(dispatchNo)}/push`, payload)
return unwrapApiResponse(response)
}
export async function getDispatchPdaTask(dispatchNo: string) {
const response = await overseasHttp.get<ApiEnvelope<DispatchPdaTaskDto>, ApiEnvelope<DispatchPdaTaskDto>>(`/pda/v1/last-leg/dispatches/${encodeURIComponent(dispatchNo)}`)
return unwrapApiResponse(response)
}
export async function pickDispatchPda(dispatchNo: string, itemId: number, payload: DispatchPdaPickPayload) {
const response = await overseasHttp.post<ApiEnvelope<unknown>, ApiEnvelope<unknown>>(`/pda/v1/last-leg/dispatches/${encodeURIComponent(dispatchNo)}/items/${itemId}/pick`, payload)
return unwrapApiResponse(response)
}
export async function completeDispatchPda(dispatchNo: string, payload: DispatchPdaCompletePayload) {
const response = await overseasHttp.post<ApiEnvelope<unknown>, ApiEnvelope<unknown>>(`/pda/v1/last-leg/dispatches/${encodeURIComponent(dispatchNo)}/complete`, payload)
return unwrapApiResponse(response)
}
export interface TransferDeliveryResult { dispatchNo: string; outboundNo: string; outboundStatus: string; deliveryNo: string; deliveryStatus: string; palletCount: number; packageCount: number; replayed: boolean }
export interface TransferDeliveryPayload {
idempotencyKey: string
@@ -40,6 +40,7 @@ export interface InboundOrderSummaryDto {
expectedLoadingAt?: string | null
dispatchStatus?: string | null
createdAt?: string | null
version?: number | null
}
export interface BatchFbaAppointmentPayload {
@@ -117,7 +117,8 @@ export async function listInventoryBalances(query: InventoryBalanceQuery) {
}
export async function downloadInventoryBalances(query: Partial<InventoryBalanceQuery>) {
return overseasHttp.get('/platform/v1/last-leg/inventory/balances/export', { params: query, responseType: 'blob' })
const response = await overseasHttp.get<Blob>('/platform/v1/last-leg/inventory/balances/export', { params: query, responseType: 'blob' })
return response.data
}
export async function getInventorySummary(query: InventoryBalanceQuery) {
@@ -165,5 +166,6 @@ export async function listInventoryLedger(query: InventoryLedgerQuery) {
}
export async function downloadInventoryLedger(query: Partial<InventoryLedgerQuery>) {
return overseasHttp.get('/platform/v1/last-leg/inventory/ledger/export', { params: query, responseType: 'blob' })
const response = await overseasHttp.get<Blob>('/platform/v1/last-leg/inventory/ledger/export', { params: query, responseType: 'blob' })
return response.data
}
@@ -188,7 +188,8 @@ export async function getLastMileOrder(orderId: string) {
}
export async function downloadLastMileOrders(query: Partial<LastMileOrderQuery>) {
return overseasHttp.get('/platform/v1/last-leg/orders/export', { params: query, responseType: 'blob' })
const response = await overseasHttp.get<Blob>('/platform/v1/last-leg/orders/export', { params: query, responseType: 'blob' })
return response.data
}
export async function createLastMileOrderFee(orderId: string, payload: CreateLastMileFeePayload) {