18 lines
2.0 KiB
TypeScript
18 lines
2.0 KiB
TypeScript
import { overseasApiRequest } from '@/api/overseasHttp'
|
|||
|
|
|
||
|
|
export interface PageResult<T> { records: T[]; page: number; size: number; total: number; pages: number }
|
||
|
|
export interface DeliveryRow { id: string; deliveryNo: string; outboundNo: string; dispatchNo: string; overseasWarehouseName: string; status: string; waybillNo: string; deliveryMethod: string; carrierName: string; vehiclePlate: string; driverName: string; palletCount: number; packageCount: number; totalWeightKg: number; totalVolumeCbm: number; plannedDeliveryAt: string; expectedArrivalAt: string; signedAt: string; createdAt: string }
|
||
|
|
export interface DeliveryQuery { page: number; size: number; documentNo?: string; warehouseId?: string; status?: string; dispatchNo?: string; waybillNo?: string; vehiclePlate?: string; driverName?: string; deliveryMethod?: string; plannedFrom?: string; plannedTo?: string }
|
||
|
|
export interface DeliveryTransferPayload { dispatchNo: string; idempotencyKey: string; plannedDeliveryAt: string; deliveryMethod: string; pickupMethod: string; loadingType: string; waybillNo?: string; carrierName?: string; vehicleType?: string; vehicleSize?: string; driverName?: string; driverPhone?: string; vehiclePlate?: string; appointmentAccount?: string; sellerName?: string; remark?: string; fees: Array<{ feeType: string; currency: string; amount: number; remark?: string }> }
|
||
|
|
|
||
|
|
export function listDeliveryOrders(params: DeliveryQuery) {
|
||
|
|
return overseasApiRequest<PageResult<DeliveryRow>>({ method: 'GET', url: '/merchant/v1/last-leg/delivery-orders', params })
|
||
|
|
}
|
||
|
|
export function getDeliveryOrder(deliveryNo: string) {
|
||
|
|
return overseasApiRequest<Record<string, unknown>>({ method: 'GET', url: `/merchant/v1/last-leg/delivery-orders/${encodeURIComponent(deliveryNo)}`, params: { page: 1, size: 200 } })
|
||
|
|
}
|
||
|
|
export function createDeliveryOrder(payload: DeliveryTransferPayload) {
|
||
|
|
const { dispatchNo, ...request } = payload
|
||
|
|
return overseasApiRequest<Record<string, unknown>>({ method: 'POST', url: '/merchant/v1/last-leg/delivery-orders', params: { dispatchNo }, data: request })
|
||
|
|
}
|