fix(client): request complete server-paged order workbench

This commit is contained in:
2026-10-03 14:57:54 +08:00
parent 78315873d7
commit 40f6753cca
10 changed files with 329 additions and 284 deletions
+28 -6
View File
@@ -1,4 +1,4 @@
import { ApiError, apiRequest } from '@/api/http'
import { apiRequest } from '@/api/http'
import type { ApiContainerMode, ApiDestinationType, ApiFirstLegStatus, ApiPickupMethod, ApiTaxMode, MerchantFirstLegOrderDetail, PageResult } from '@/modules/first-leg/api/firstLeg'
export type ApiUnifiedOrderMainStatus =
@@ -60,11 +60,12 @@ export interface MerchantUnifiedTransportSummary {
export interface MerchantUnifiedOrderRow {
orderId: number | string
orderVersion: number
tenantId: number | string
orderNo: string | null
fulfillmentType?: 'STANDARD' | 'ONE_CLICK_DROPSHIP' | null
lxCode?: string | null
mainStatus: ApiUnifiedOrderMainStatus
mainStatus: ApiUnifiedOrderMainStatus | 'DRAFT' | 'CANCELLED'
nextAction: string | null
customerFeeConfirmationRequired: boolean
internalOrderStatus: ApiFirstLegStatus | null
@@ -158,6 +159,31 @@ export interface MerchantUnifiedOrderQuery {
const unifiedOrderBaseUrl = '/merchant/v1/orders'
export interface MerchantOrderWorkbenchQuery {
cargoKeyword?: string
receivingWarehouseId?: string
channelName?: string
destinationType?: string
trackingNumber?: string
mainStatus?: string
createdFrom?: string
createdTo?: string
queue?: 'all' | 'fee' | 'customs' | 'draft'
page?: number
size?: number
}
export interface MerchantOrderWorkbench {
page: PageResult<MerchantUnifiedOrderRow>
queues: { all: number; fee: number; customs: number; draft: number }
channelNames: string[]
}
export function getMerchantOrderWorkbench(params: MerchantOrderWorkbenchQuery = {}) {
return apiRequest<MerchantOrderWorkbench>({ method: 'GET', url: `${unifiedOrderBaseUrl}/workbench`,
params: { ...params, page: params.page ?? 1, size: params.size ?? 10 } })
}
export function getMerchantUnifiedOrders(params: MerchantUnifiedOrderQuery = {}) {
const { page, size, ...filters } = params
return apiRequest<PageResult<MerchantUnifiedOrderRow>>({
@@ -173,7 +199,3 @@ export function getMerchantUnifiedOrder(orderId: number | string) {
url: `${unifiedOrderBaseUrl}/${orderId}`,
})
}
export function isUnifiedOrderQueryUnavailable(error: unknown) {
return error instanceof ApiError && (error.status === 404 || error.code === 'A0404')
}