From fedfdd2db928f4fb5ee6dcdb5f952b4a0e0748d1 Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Sat, 5 Sep 2026 23:06:47 +0800 Subject: [PATCH] fix: load overall overseas pallet summary --- .../overseas-warehouse/pages/PalletsView.test.ts | 13 +++++++++++++ .../overseas-warehouse/pages/PalletsView.vue | 4 +++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/modules/overseas-warehouse/pages/PalletsView.test.ts b/src/modules/overseas-warehouse/pages/PalletsView.test.ts index 883154b6..146ba769 100644 --- a/src/modules/overseas-warehouse/pages/PalletsView.test.ts +++ b/src/modules/overseas-warehouse/pages/PalletsView.test.ts @@ -31,6 +31,19 @@ describe('PalletsView', () => { vi.mocked(updatePallet).mockReset().mockResolvedValue(null) }) + it('loads the all-warehouse pallet summary when the page opens', async () => { + vi.mocked(getPalletSummary).mockResolvedValueOnce({ totalCount: 250, idleCount: 100, occupiedCount: 98, scrappedCount: 52 }) + + const wrapper = mount(PalletsView, { attachTo: document.body, global: { plugins: [ElementPlus] } }) + await flushPromises() + + expect(getPalletSummary).toHaveBeenCalledWith('', {}) + expect(wrapper.get('[aria-label="海外托盘数量概览"]').text()).toContain('托盘总数250') + expect(wrapper.get('[aria-label="海外托盘数量概览"]').text()).toContain('闲置托盘100') + expect(wrapper.get('[aria-label="海外托盘数量概览"]').text()).toContain('占用托盘98') + expect(wrapper.get('[aria-label="海外托盘数量概览"]').text()).toContain('已报废52') + }) + it('loads the current detail version and keeps the edit open on a conflict', async () => { vi.mocked(updatePallet).mockRejectedValueOnce(Object.assign(new Error('version conflict'), { code: 'A0409' })) const wrapper = mount(PalletsView, { attachTo: document.body, global: { plugins: [ElementPlus] } }) diff --git a/src/modules/overseas-warehouse/pages/PalletsView.vue b/src/modules/overseas-warehouse/pages/PalletsView.vue index f8e22926..ebd21216 100644 --- a/src/modules/overseas-warehouse/pages/PalletsView.vue +++ b/src/modules/overseas-warehouse/pages/PalletsView.vue @@ -63,12 +63,14 @@ async function loadWarehouses() { warehouses.value = []; filters.value.warehouseId = ''; rows.value = []; total.value = 0 contextLoading.value = true; loadError.value = null; loadErrorKind.value = 'context' try { - const [warehousePage, platformFbaWarehouses] = await Promise.all([ + const [warehousePage, platformFbaWarehouses, overallSummary] = await Promise.all([ listReceivingOverseasWarehouses(), listAllPlatformWarehouses({ warehouseType: 'FBA', status: 'ACTIVE' }), + getPalletSummary('', {}), ]) warehouses.value = warehousePage.records fbaWarehouses.value = platformFbaWarehouses + summary.value = overallSummary } catch (error) { loadError.value = getApiErrorDetails(error, '海外仓列表加载失败,请重试') } finally { contextLoading.value = false }