From 6ca46b0e1dec2682a65dd00a139a08a28dada40d Mon Sep 17 00:00:00 2001 From: From-wh Date: Mon, 26 Oct 2026 12:05:32 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E5=AE=9E=E7=89=A9=E8=AE=A2=E5=8D=95):=20?= =?UTF-8?q?=E9=87=8D=E7=BD=AE=E6=90=9C=E7=B4=A2=E5=90=8E=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E9=87=8D=E7=BD=AE=E7=8A=B6=E6=80=81=E9=80=89=E9=A1=B9=E5=8D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tab 选中态由 OrderTable 组件内部维护,父级 onReset 只清了自己的 statusTab,导致重置后列表已查全部订单而 Tab 仍停留在原状态(如待支付)。 - OrderTable 新增 resetTab() 并 defineExpose,重置 Tab 选中态与分页到第一页 - 列表页 onReset 调用 resetTab 同步;onTabChange 切换状态时同步把 请求页码归 1,避免子组件已回第一页而请求仍取旧页码 --- frontend/admin/src/pages/plugin/normal/order/List.vue | 4 ++++ .../plugin/normal/order/components/OrderTable.vue | 10 +++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/frontend/admin/src/pages/plugin/normal/order/List.vue b/frontend/admin/src/pages/plugin/normal/order/List.vue index 613124877..625b9cc04 100644 --- a/frontend/admin/src/pages/plugin/normal/order/List.vue +++ b/frontend/admin/src/pages/plugin/normal/order/List.vue @@ -350,6 +350,8 @@ function onSearch(params) { function onReset() { searchParams.value = {}; statusTab.value = ''; + // Tab 选中态在 OrderTable 组件内部,需同步重置,否则列表已查全部而 Tab 仍停在原状态 + tableRef.value?.resetTab(); getList(); getStatistics(); } @@ -358,6 +360,8 @@ function onReset() { function onTabChange(tab) { statusTab.value = tab; + // 切换状态后回到第一页(OrderTable 内部已把分页归 1,这里同步请求参数) + searchParams.value.page = 1; getList(); getStatistics(); } diff --git a/frontend/admin/src/pages/plugin/normal/order/components/OrderTable.vue b/frontend/admin/src/pages/plugin/normal/order/components/OrderTable.vue index c89fe6a73..63b1718f3 100644 --- a/frontend/admin/src/pages/plugin/normal/order/components/OrderTable.vue +++ b/frontend/admin/src/pages/plugin/normal/order/components/OrderTable.vue @@ -603,7 +603,15 @@ function formatTime(ts) { return `${y}/${m}/${day} ${h}:${min}:${s}`; } -defineExpose({ selectedIds, page }); +/** + * 重置选项卡与分页(父级重置搜索时调用,保证 Tab 选中态与列表数据一致) + */ +function resetTab() { + currentTab.value = ''; + page.page = 1; +} + +defineExpose({ selectedIds, page, resetTab });