diff --git a/src/modules/overseas-warehouse/views/ReturnOrdersView.test.mjs b/src/modules/overseas-warehouse/views/ReturnOrdersView.test.mjs index db01a44..6c1d5bc 100644 --- a/src/modules/overseas-warehouse/views/ReturnOrdersView.test.mjs +++ b/src/modules/overseas-warehouse/views/ReturnOrdersView.test.mjs @@ -42,3 +42,10 @@ test('可操作退货表格把操作列固定在最左侧', () => { assert.match(mainTable, /^/) assert.match(createTable, /^/) }) + +test('分页初始化不会重复请求退货列表', () => { + assert.match(view, /function changePage\(page: number\) \{\s*if \(page === query\.page\) return/) + assert.match(view, /:current-page="query\.page" :page-size="query\.size"/) + assert.match(view, /@current-change="changePage"/) + assert.doesNotMatch(view, /@current-change="load"/) +}) diff --git a/src/modules/overseas-warehouse/views/ReturnOrdersView.vue b/src/modules/overseas-warehouse/views/ReturnOrdersView.vue index 8eba9ad..2ba6248 100644 --- a/src/modules/overseas-warehouse/views/ReturnOrdersView.vue +++ b/src/modules/overseas-warehouse/views/ReturnOrdersView.vue @@ -66,6 +66,11 @@ async function load() { try { const response = await listReturnOrders({ ...query, returnNo: query.returnNo || undefined, trackingNo: query.trackingNo || undefined, skuCode: query.skuCode || undefined, status: query.status || undefined }); rows.value = response.records; total.value = response.total } finally { loading.value = false } } +function changePage(page: number) { + if (page === query.page) return + query.page = page + void load() +} async function openDetail(returnNo: string) { selected.value = await getReturnOrder(returnNo); showDetail.value = true } async function submit() { const items = form.items.map(({ skuCode, productNameZh, expectedQuantity }) => ({ skuCode: skuCode.trim(), productNameZh: productNameZh.trim(), expectedQuantity })) @@ -114,7 +119,7 @@ onMounted(() => { void Promise.all([load(), loadOperationWarehouses()]) }) - +