From e7cc0cf18b6d9bb2e8f7a9852b11ac91886a40d2 Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Fri, 7 Aug 2026 10:45:19 +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 --- .../unified-orders/api/unifiedOrders.ts | 17 ++ .../pages/UnifiedOrdersView.test.ts | 24 ++- .../pages/UnifiedOrdersView.vue | 181 ++++++++++-------- 3 files changed, 137 insertions(+), 85 deletions(-) diff --git a/src/modules/unified-orders/api/unifiedOrders.ts b/src/modules/unified-orders/api/unifiedOrders.ts index 5e2b13dd..dd7fc731 100644 --- a/src/modules/unified-orders/api/unifiedOrders.ts +++ b/src/modules/unified-orders/api/unifiedOrders.ts @@ -146,15 +146,32 @@ export interface UnifiedOrderDetailOrderSnapshot { customerId: number | string | null customerName: string | null transportMode: string | null + tradeTerm?: string | null destinationCountryCode: string | null destinationWarehouseId: number | string | null destinationWarehouseName: string | null expectedShipDate: string | null + customerRemark?: string | null + pickupMethod?: string | null receivingWarehouseId: number | string | null receivingWarehouseName: string | null + receivingWarehouseAddress?: string | null + receivingTime?: string | null + channelCode?: string | null channelName: string | null carrierId: number | string | null carrierName: string | null + taxMode?: string | null + containerMode?: string | null + customsInspection?: boolean | null + destinationType?: string | null + amazonWarehouseCode?: string | null + shipmentId?: string | null + referenceId?: string | null + expressCompany?: string | null + expressTrackingNo?: string | null + submittedAt?: string | null + completedAt?: string | null createdAt: string | null updatedAt: string | null } diff --git a/src/modules/unified-orders/pages/UnifiedOrdersView.test.ts b/src/modules/unified-orders/pages/UnifiedOrdersView.test.ts index 28f8880d..097cd7f9 100644 --- a/src/modules/unified-orders/pages/UnifiedOrdersView.test.ts +++ b/src/modules/unified-orders/pages/UnifiedOrdersView.test.ts @@ -56,6 +56,9 @@ describe('UnifiedOrdersView contract', () => { expect(source).toContain(':loading="loading"') expect(source).toContain('v-model:page="page"') expect(source).toContain('v-model:page-size="pageSize"') + expect(source).toContain('slotName: \'orderStatus\'') + expect(source).toContain('slotName: \'measurementReviewStatus\'') + expect(source).toContain("NOT_SUBMITTED: '未提交'") }) it('keeps only confirmed business actions as explicit boundaries', () => { @@ -69,14 +72,15 @@ describe('UnifiedOrdersView contract', () => { expect(source).not.toContain('/actions/') }) - it('implements pending review with an active public carrier assignment', () => { + it('approves pending review orders without requiring a carrier assignment', () => { expect(source).toContain("row.nextAction === 'APPROVE_ORDER'") expect(source).toContain("can('platform:order:approve')") - expect(source).toContain("listPlatformPartners({ page: currentPage, size: 200, type: 'CARRIER', status: 'ACTIVE' })") - expect(source).toContain('await assignPlatformUnifiedOrderCarrier(tenantId, orderId, String(carrier.id))') expect(source).toContain('await approvePlatformUnifiedOrder(tenantId, orderId)') - expect(source.indexOf('await assignPlatformUnifiedOrderCarrier')).toBeLessThan(source.indexOf('await approvePlatformUnifiedOrder')) - expect(source).toContain('暂无启用的承运商,请先到往来单位维护承运商主数据。') + expect(source).toContain('title="审核订单"') + expect(source).toContain('confirm-text="审核通过"') + expect(source).not.toContain('assignPlatformUnifiedOrderCarrier') + expect(source).not.toContain('listPlatformPartners') + expect(source).not.toContain('请选择启用的承运商') expect(source).toContain("detail.order.order?.carrierName || '待平台指派'") }) @@ -100,6 +104,16 @@ describe('UnifiedOrdersView contract', () => { expect(source).not.toContain('detailOpen') }) + it('keeps the basic information compact and maps available order fields', () => { + expect(source).toContain('grid-template-columns: repeat(4, minmax(0, 1fr))') + for (const label of ['业务类型', '买单 / 退税', '提货方式', '配载状态', '目的仓类型', '总净重', '商检验', '提货联系人', '目的地地址']) { + expect(source).toContain(`