+ 一件代发绑定托盘
{{ dropshipPallets.length }} 个托盘
+ {{ value(pallet.palletNo) }} · {{ pallet.cartonCount }} 箱 打印托盘唛{{ item.inboundCode }} · SKU {{ item.skuCode }} · {{ item.cartonCount }} 箱
+ 暂无一件代发托盘绑定
+
托盘与库位
{{ palletLocations.length }} 条分配
diff --git a/src/modules/inbounds/core/api.ts b/src/modules/inbounds/core/api.ts
index 97d5fea3..a7261187 100644
--- a/src/modules/inbounds/core/api.ts
+++ b/src/modules/inbounds/core/api.ts
@@ -99,6 +99,11 @@ function normalizeDetail(raw: InboundOrderDetail): InboundOrderDetail {
return {
...raw,
summary: normalizeInboundSummary(raw.summary),
+ dropshipPallets: (raw.dropshipPallets || []).map((pallet) => ({
+ ...pallet,
+ palletId: id(pallet.palletId) || '',
+ items: (pallet.items || []).map((item) => ({ ...item, inboundId: id(item.inboundId) || '', inboundDetailId: id(item.inboundDetailId) || '' })),
+ })),
palletLocations: (raw.palletLocations || []).map(normalizePallet),
files: (raw.files || []).map(normalizeFile),
internalNotes: (raw.internalNotes || []).map(normalizeNote),
@@ -147,3 +152,10 @@ export async function downloadInboundCartonLabels(tenantId: string, inboundId: s
}
return response
}
+
+export async function downloadDropshipPalletLabel(tenantId: string, inboundId: string, palletId: string) {
+ return http.get(
+ `/platform/v1/first-leg/pda-dropship/inbound-orders/${encodeURIComponent(inboundId)}/pallets/${encodeURIComponent(palletId)}/print`,
+ { params: { accountId: tenantId }, responseType: 'blob', timeout: 60_000 },
+ )
+}
diff --git a/src/modules/inbounds/core/types.ts b/src/modules/inbounds/core/types.ts
index f5bba715..9d14394c 100644
--- a/src/modules/inbounds/core/types.ts
+++ b/src/modules/inbounds/core/types.ts
@@ -117,12 +117,24 @@ export interface InboundStatusHistory {
export interface InboundOrderDetail {
summary: InboundOrderSummary
publicRemark: string | null
+ dropshipPallets: InboundDropshipPallet[]
palletLocations: InboundPalletLocation[]
files: InboundFileSummary[]
internalNotes: InboundInternalNote[]
statusHistory: InboundStatusHistory[]
}
+export interface InboundDropshipPallet {
+ palletId: string
+ palletNo: string | null
+ palletStatus: string
+ cartonCount: number
+ skuCount: number
+ version: number
+ items: Array<{ inboundId: string; inboundCode: string; inboundDetailId: string; skuCode: string; cargoName: string | null; cartonCount: number; cartonMarks: string[] }>
+ completedAt: string | null
+}
+
export interface InboundPageResult {
records: InboundOrderSummary[]
page: number
diff --git a/src/modules/inbounds/status.ts b/src/modules/inbounds/status.ts
index d044e776..b91f61a3 100644
--- a/src/modules/inbounds/status.ts
+++ b/src/modules/inbounds/status.ts
@@ -1,12 +1,12 @@
export const inboundProcessStatusLabels: Record = {
WAIT_MEASURE: '待测量', MEASURING: '测量中', MEASURE_PENDING: '待测量审核', MEASURE_REJECTED: '测量已驳回',
- WAIT_PRICING: '待计费', FEE_CONFIRMING: '费用处理中', INBOUNDING: '入库处理中', WAIT_SPLIT: '待分柜', VOIDED: '已作废',
+ WAIT_PRICING: '待计费', FEE_CONFIRMING: '费用处理中', INBOUNDING: '入库处理中', WAIT_PALLETIZE: '待一件代发合托', WAIT_SPLIT: '待分柜', VOIDED: '已作废',
}
export const inboundOrderStatusLabels: Record = {
DRAFT: '草稿', SUBMITTED: '待审核', APPROVED: '已审核', ACCEPTED: '已受理', REJECTED: '已驳回',
PROCESSING: '处理中', COMPLETED: '已完成', CANCELLED: '已取消', PENDING_REVIEW: '待审核',
- WAIT_MEASURE: '待测量', WAIT_SPLIT: '待分柜', LOADING: '装柜中',
+ WAIT_MEASURE: '待测量', WAIT_PALLETIZE: '待一件代发合托', WAIT_SPLIT: '待分柜', LOADING: '装柜中',
LOADED: '装柜完成', DELIVERED: '派送完成',
}