This commit is contained in:
2026-10-20 11:33:39 +08:00
parent d2f2ecf57a
commit 41a498657c
33 changed files with 909 additions and 88 deletions
@@ -52,6 +52,7 @@ export interface RelabelWarehouseOptionDto {
}
export interface RelabelSummaryDto {
operationTypes?: Array<'CARTON_LABEL' | 'SKU_LABEL' | 'CARTON_AND_SKU' | 'RETURN_BULK_SKU_LABEL'>
id: string
relabelNo: string
lastlegOrderId?: string | null
@@ -93,7 +94,7 @@ export interface RelabelSummaryDto {
export interface RelabelItemDto {
id: string
operationType?: 'CARTON_LABEL' | 'SKU_LABEL' | 'CARTON_AND_SKU'
operationType?: 'CARTON_LABEL' | 'SKU_LABEL' | 'CARTON_AND_SKU' | 'RETURN_BULK_SKU_LABEL'
skuItems?: Array<{ skuCode: string; newSkuCode: string; quantity: number; remark?: string }>
skuCode?: string | null
productNameZh?: string | null
@@ -129,6 +130,30 @@ export interface RelabelDetailDto {
completionEvidence?: { taskId: string; photoFileIds: string[]; completionRemark?: string | null; reviewerName?: string | null; reviewRemark?: string | null; completedAt?: string | null } | null
}
export interface RelabelQuantity {
labelPieceCount: number | null
cartonCount: number | null
skuCount: number
duplicateCarton: boolean
quantityUnit: string
sourcePalletCount: number | null
targetPalletCount: number | null
}
export interface RelabelQuantityTotals {
orderCount: number
skuCount: number
knownLabelPieceCount: number
unknownPieceOrders: number
knownCartonCount: number
unknownCartonOrders: number
orders: Record<string, RelabelQuantity>
}
/** 汇总同一筛选下全部单据,不以当前页合计代替。 */
export async function getRelabelQuantities(query: RelabelOrderQuery) {
const response = await http.get<ApiEnvelope<RelabelQuantityTotals>, ApiEnvelope<RelabelQuantityTotals>>('/platform/v1/last-leg/relabel-applications/quantity-summary', { params: query })
return unwrapApiResponse(response)
}
export interface ReturnPackingPlanBoxItem {
skuCode: string
quantity: number
@@ -233,8 +258,14 @@ export async function changeRelabelOrderStatus(relabelNo: string, status: string
return unwrapApiResponse(response)
}
export interface RelabelReviewTask {
version: number
taskStatus: string
items?: Array<{ sourcePalletCode?: string | null; sourcePalletBasis?: string }>
history?: Array<{ action: string; detail?: string }>
}
export async function getRelabelReviewTask(relabelNo: string) {
const response = await http.get<ApiEnvelope<{ version: number; taskStatus: string }>, ApiEnvelope<{ version: number; taskStatus: string }>>(`/platform/v1/last-leg/relabel-applications/${encodeURIComponent(relabelNo)}/review-task`)
const response = await http.get<ApiEnvelope<RelabelReviewTask>, ApiEnvelope<RelabelReviewTask>>(`/platform/v1/last-leg/relabel-applications/${encodeURIComponent(relabelNo)}/review-task`)
return unwrapApiResponse(response)
}