优化
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
import { overseasApiRequest } from '@/api/overseasHttp'
|
||||
import type { PageResult } from './warehouseServices'
|
||||
|
||||
export interface ReturnInventoryItem {
|
||||
overseasWarehouseId: string; cartonMark: string; sourceBatchNo?: string; status: string; skuCode: string
|
||||
productNameZh?: string; quantity: number; cartonSkuTypes: number; cartonTotalQuantity: number; receivedAt: string
|
||||
}
|
||||
|
||||
export interface ReturnInventorySummaryItem {
|
||||
overseasWarehouseId: string; skuCode: string; productNameZh?: string
|
||||
availableQuantity: number; cartonQuantity: number; updatedAt: string
|
||||
}
|
||||
|
||||
export interface ReturnInventoryCartonItem { skuCode: string; productNameZh?: string; quantity: number }
|
||||
|
||||
export interface ReturnInventoryCartonDetail {
|
||||
cartonMark: string; overseasWarehouseId: string; sourceBatchNo?: string; sourceReturnNo?: string; status: string
|
||||
skuTypes: number; totalQuantity: number; length?: number; width?: number; height?: number; weight?: number; receivedAt: string; items: ReturnInventoryCartonItem[]
|
||||
}
|
||||
|
||||
export interface ReturnInventoryLabel {
|
||||
cartonMark: string; overseasWarehouseId: string; customerId: string; sourceBatchNo?: string; sourceReturnNo?: string
|
||||
totalQuantity: number; length?: number; width?: number; height?: number; weight?: number; items: ReturnInventoryCartonItem[]; generatedAt: string; printableHtml: string
|
||||
}
|
||||
|
||||
export function listReturnInventory(params: Record<string, unknown>) {
|
||||
return overseasApiRequest<PageResult<ReturnInventoryItem>>({ method: 'GET', url: '/merchant/v1/last-leg/return-inventory', params })
|
||||
}
|
||||
|
||||
export function listReturnInventorySummary(params: Record<string, unknown>) {
|
||||
return overseasApiRequest<PageResult<ReturnInventorySummaryItem>>({ method: 'GET', url: '/merchant/v1/last-leg/return-inventory/summary', params })
|
||||
}
|
||||
|
||||
export function getReturnInventoryCarton(cartonMark: string) {
|
||||
return overseasApiRequest<ReturnInventoryCartonDetail>({ method: 'GET', url: `/merchant/v1/last-leg/return-inventory/cartons/${encodeURIComponent(cartonMark)}` })
|
||||
}
|
||||
|
||||
export function getReturnInventoryLabel(cartonMark: string) {
|
||||
return overseasApiRequest<ReturnInventoryLabel>({ method: 'GET', url: `/merchant/v1/last-leg/return-inventory/cartons/${encodeURIComponent(cartonMark)}/label` })
|
||||
}
|
||||
|
||||
export interface ReturnPackingPreview {
|
||||
orders: Array<{ returnNo: string; customerId: string; customerReferenceNo?: string; status: string }>
|
||||
customerId?: string
|
||||
skus: Array<{ skuCode: string; productNameZh?: string; availableQuantity: number }>
|
||||
}
|
||||
|
||||
export function getReturnPackingPreview(returnNo?: string) {
|
||||
return overseasApiRequest<ReturnPackingPreview>({ method: 'GET', url: '/pda/v1/last-leg/return-inventory/packing/orders', params: { returnNo: returnNo || undefined } })
|
||||
}
|
||||
|
||||
export function mergeReturnInventory(payload: {
|
||||
returnNos: string[]; items: Array<{ skuCode: string; quantity: number }>
|
||||
length: number; width: number; height: number; weight: number; idempotencyKey: string
|
||||
}) {
|
||||
return overseasApiRequest<{ cartonMark: string; skuCode: string; totalQuantity: number; label: ReturnInventoryLabel }>({
|
||||
method: 'POST', url: '/pda/v1/last-leg/return-inventory/cartons/merge', data: payload,
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
import { overseasApiRequest } from '@/api/overseasHttp'
|
||||
import type { PageResult } from './warehouseServices'
|
||||
|
||||
export interface ReturnOrderSummary {
|
||||
returnNo: string; overseasWarehouseId: string; customerReferenceNo?: string; status: string
|
||||
skuTypes: number; expectedQuantity: number; receivedQuantity: number; createdAt: string
|
||||
}
|
||||
export interface ReturnOrderItem {
|
||||
skuCode: string; productNameZh?: string; expectedQuantity: number; receivedQuantity: number
|
||||
}
|
||||
export interface ReturnReceipt {
|
||||
receiptNo: string; receiptBatchNo: string; cartonMark?: string; trackingNo?: string; startedBy: 'RETURN_NO' | 'SKU'
|
||||
receivedQuantity: number; operatorName?: string; signedAt: string
|
||||
}
|
||||
export interface ReturnOrderDetail { order: ReturnOrderSummary; remark?: string; items: ReturnOrderItem[]; receipts: ReturnReceipt[] }
|
||||
export interface ReturnOrderCreate {
|
||||
overseasWarehouseId: string; customerReferenceNo?: string; remark?: string; idempotencyKey: string
|
||||
items: Array<{ skuCode: string; productNameZh?: string; expectedQuantity: number }>
|
||||
}
|
||||
|
||||
export function listReturnOrders(params: Record<string, unknown>) {
|
||||
return overseasApiRequest<PageResult<ReturnOrderSummary>>({ method: 'GET', url: '/merchant/v1/last-leg/return-orders', params })
|
||||
}
|
||||
export function getReturnOrder(returnNo: string) {
|
||||
return overseasApiRequest<ReturnOrderDetail>({ method: 'GET', url: `/merchant/v1/last-leg/return-orders/${encodeURIComponent(returnNo)}` })
|
||||
}
|
||||
export function createReturnOrder(payload: ReturnOrderCreate) {
|
||||
return overseasApiRequest<ReturnOrderDetail>({ method: 'POST', url: '/merchant/v1/last-leg/return-orders', data: payload })
|
||||
}
|
||||
@@ -6,9 +6,13 @@ export interface TransferSummary { id: string; transferNo: string; inboundCode:
|
||||
export interface RelabelSummary { id: string; relabelNo: string; lastlegOrderId: string; lastlegOrderNo: string; customerOrderNo: string; overseasWarehouseId: string; status: string; itemCount: number; totalPackageCount: number; notifiedPackageCount: number; skuCodes: string; createdAt: string }
|
||||
export interface RelabelItemDetail {
|
||||
id: string; skuCode?: string; productNameZh: string; totalPackageCount: number; notifiedPackageCount: number
|
||||
shipmentNo: string; trackingCode?: string; newSkuCode: string; labelRequirement?: string; remark?: string
|
||||
shipmentNo: string; trackingCode?: string; newSkuCode?: string; labelRequirement?: string; remark?: string
|
||||
relabelFileId?: string; relabelFileName?: string; relabelFileUrl?: string
|
||||
cartonMark: string; fbaCartonMark: string; destinationWarehouseId: string
|
||||
cartonMark: string; fbaCartonMark?: string; destinationFbaWarehouseCode?: string
|
||||
operationType: 'CARTON_LABEL' | 'SKU_LABEL' | 'CARTON_AND_SKU'
|
||||
skuItems: Array<{ skuCode: string; newSkuCode: string; quantity: number; remark?: string }>
|
||||
sourceInventoryBalanceId: string; sourceInventoryPositionId: string; sourceInboundOrderId: string
|
||||
sourceInboundOrderNo?: string; sourceInboundCode?: string; sourceWarehouseId: string; sourceWarehouseCode?: string; sourceWarehouseName?: string
|
||||
}
|
||||
export interface RelabelDetail {
|
||||
application: RelabelSummary & { labelDeadline?: string; contactName?: string; contactPhone?: string; chargeAmount?: number; chargeCurrency?: string; walletStatus?: string; walletErrorMessage?: string }
|
||||
@@ -18,6 +22,13 @@ export interface RelabelDetail {
|
||||
}
|
||||
export interface DiscardSummary { id: string; discardNo: string; inboundCodes: string; overseasWarehouseId: string; overseasWarehouseName: string; totalPackages: number; totalFee: number; currency: string; status: string; createdAt: string }
|
||||
export interface DiscardCandidate { orderId: string; inboundCode: string; inboundOrderNo: string; overseasWarehouseId: string; overseasWarehouseName: string; availablePackages: number; skus: Array<{ skuCode: string; productName: string; availablePackages: number }> }
|
||||
export interface RelabelInventoryCandidate {
|
||||
inventoryBalanceId: string; inboundOrderId: string; inboundOrderNo?: string; inboundCode?: string
|
||||
overseasWarehouseId: string; overseasWarehouseCode?: string; overseasWarehouseName?: string
|
||||
destinationFbaWarehouseCode?: string; destinationFbaWarehouseName?: string; skuCode?: string; productNameZh?: string
|
||||
availablePackages: number; version: number
|
||||
positions: Array<{ positionId: string; palletNo?: string; batchNo?: string; warehouseLocationCode?: string; availablePackages: number }>
|
||||
}
|
||||
|
||||
export interface TransferCreate {
|
||||
inboundCode: string; sourceLastlegOrderIds: string[]; operatingWarehouseId: string; fbaWarehouseCode: string
|
||||
@@ -26,10 +37,10 @@ export interface TransferCreate {
|
||||
items: Array<{ skuCode: string; productNameZh: string; packageCount: number; shippingMark?: string }>
|
||||
}
|
||||
export interface RelabelCreate {
|
||||
customerOrderNo: string; overseasWarehouseId?: string; labelDeadline: string; contactName: string; contactPhone: string; chargeAmount: number
|
||||
customerOrderNo: string; operationWarehouseId: string; labelDeadline: string; contactName: string; contactPhone: string; chargeAmount: number
|
||||
remark?: string; idempotencyKey: string
|
||||
items: Array<{ skuCode?: string; productNameZh: string; totalPackageCount: number; notifiedPackageCount: number; shipmentNo: string; trackingCode?: string; newSkuCode: string; labelRequirement?: string
|
||||
cartonMark: string; fbaCartonMark: string; destinationWarehouseId?: string; remark?: string }>
|
||||
items: Array<{ sourceInventoryBalanceId: string; sourceInventoryPositionId: string; sourceInboundOrderId: string; skuCode?: string; productNameZh: string; totalPackageCount: number; notifiedPackageCount: number; shipmentNo: string; trackingCode?: string; newSkuCode?: string; labelRequirement?: string
|
||||
cartonMark: string; fbaCartonMark?: string; destinationFbaWarehouseCode?: string; operationType: 'CARTON_LABEL' | 'SKU_LABEL' | 'CARTON_AND_SKU'; skuItems?: Array<{ skuCode: string; newSkuCode: string; quantity: number; remark?: string }>; remark?: string }>
|
||||
}
|
||||
|
||||
export function listLastlegOrders(inboundCode: string) {
|
||||
@@ -50,6 +61,13 @@ export function listRelabels(params: Record<string, unknown>) {
|
||||
export function getRelabel(relabelNo: string) {
|
||||
return overseasApiRequest<RelabelDetail>({ method: 'GET', url: `/merchant/v1/last-leg/relabel-applications/${encodeURIComponent(relabelNo)}` })
|
||||
}
|
||||
|
||||
export function listRelabelInventoryCandidates(operationWarehouseId: string, inboundCode?: string) {
|
||||
return overseasApiRequest<RelabelInventoryCandidate[]>({
|
||||
method: 'GET', url: '/merchant/v1/last-leg/relabel-applications/inventory-candidates',
|
||||
params: { operationWarehouseId, inboundCode: inboundCode || undefined },
|
||||
})
|
||||
}
|
||||
export function createRelabel(payload: RelabelCreate) {
|
||||
return overseasApiRequest<Record<string, unknown>>({ method: 'POST', url: '/merchant/v1/last-leg/relabel-applications', data: payload })
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user