From d03f7b3f5d37b425c4e0764a0c4d364b2e9a827f Mon Sep 17 00:00:00 2001 From: liuyihe <2513762445@qq.com> Date: Wed, 26 Aug 2026 11:10:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../overseas-warehouse/api/lastMileOrders.ts | 39 ++++ .../pages/LastMileOrderDetailView.vue | 198 +++++++++++------- .../pages/prototypeContract.test.ts | 8 +- 3 files changed, 168 insertions(+), 77 deletions(-) diff --git a/src/modules/overseas-warehouse/api/lastMileOrders.ts b/src/modules/overseas-warehouse/api/lastMileOrders.ts index 96504922..18dad487 100644 --- a/src/modules/overseas-warehouse/api/lastMileOrders.ts +++ b/src/modules/overseas-warehouse/api/lastMileOrders.ts @@ -110,6 +110,36 @@ export interface LastMileStatusHistoryDto { createdAt?: string | null } +export interface LastMileFeeDto { + id: string + customerId: string + orderId: string + feeItem: string + currency: string + amount: number + status: string + supplierDescription?: string | null + createdBy: string + createdAt: string + updatedAt: string +} + +export interface LastMileOperationDto { + id: string + operationNode: string + operatorName: string + result: string + createdAt: string +} + +export interface CreateLastMileFeePayload { + feeItem: string + currency: string + amount: number + status: string + supplierDescription?: string +} + export interface TransferDestinationPayload { orderIds: string[] warehouseId: string @@ -126,6 +156,8 @@ export interface LastMileOrderDetailDto { order: LastMileOrderDto cargo: LastMileCargoDto[] statusHistory: LastMileStatusHistoryDto[] + fees: LastMileFeeDto[] + operationHistory: LastMileOperationDto[] } export async function listLastMileOrders(query: LastMileOrderQuery) { @@ -143,6 +175,13 @@ export async function getLastMileOrder(orderId: string) { return unwrapApiResponse(response) } +export async function createLastMileOrderFee(orderId: string, payload: CreateLastMileFeePayload) { + const response = await overseasHttp.post, ApiEnvelope>( + `/platform/v1/last-leg/orders/${encodeURIComponent(orderId)}/fees`, payload, + ) + return unwrapApiResponse(response) +} + export async function transferLastMileOrders(payload: TransferDestinationPayload) { const response = await overseasHttp.put, ApiEnvelope>( '/platform/v1/last-leg/orders/destination', payload, diff --git a/src/modules/overseas-warehouse/pages/LastMileOrderDetailView.vue b/src/modules/overseas-warehouse/pages/LastMileOrderDetailView.vue index 6628d20f..93c16e88 100644 --- a/src/modules/overseas-warehouse/pages/LastMileOrderDetailView.vue +++ b/src/modules/overseas-warehouse/pages/LastMileOrderDetailView.vue @@ -1,66 +1,71 @@ diff --git a/src/modules/overseas-warehouse/pages/prototypeContract.test.ts b/src/modules/overseas-warehouse/pages/prototypeContract.test.ts index 91947c4c..19020720 100644 --- a/src/modules/overseas-warehouse/pages/prototypeContract.test.ts +++ b/src/modules/overseas-warehouse/pages/prototypeContract.test.ts @@ -111,7 +111,8 @@ describe('overseas warehouse first-batch prototype contract', () => { expect(value).toContain(' { expect(tailLeg).toContain('getLastMileOrder') expect(tailLeg).toContain(':data="cargo"') expect(tailLeg).toContain('