feat(orders): replace order stat cards with a 售后中 filter
/user/orders 顶部的「已退款」「售后待处理」统计卡移除(统计行改为 全部 / 待支付 / 已支付 / 已关闭 四格,栅格同步由 3 列调为 4 列), 筛选的订单状态新增「售后中」,命中带有「待审核 / 处理中」工单的订单。 售后中与订单自身状态正交(售后中的订单可能仍是 paid,也可能已 refunded),因此不过滤 status 列,而是由 OrderCenterQuery 通过 repository_args 的 after_sale_open 下传,在 get_user_order_query_parts 中作为独立谓词叠加工单子查询,与类型、订单号条件自然组合。 工单流转口径复用 AfterSaleService 的 STATUS_PENDING / STATUS_PROCESSING, 与 find_active() 的退款闸门同一套判定;已完结(completed)与已撤销 (cancelled)不算售后中。 同时清理随之失效的死代码:UserOrders::get_user_order_stats()、 AfterSaleService::count_user_open()、aksrt_get_order_status_labels(), 以及两处 summary 查询与空视图中的 refunded / after_sale_pending 统计键。 不写双路与数据迁移,旧键直接替换。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
81b60eb427
commit
761c84d70f
8 files changed
+29
-39
No files matched your search
@@ -31,7 +31,7 @@
|
||||
|
||||
.aksrt-orders-page__stats {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
border: 1px solid var(--orders-line);
|
||||
border-radius: 14px;
|
||||
background: var(--surface-1, #fff);
|
||||
|
||||
@@ -366,9 +366,7 @@
|
||||
root.innerHTML = '<div class="aksrt-orders-page__stat"><span>全部</span><strong>' + Number(stats.total || 0) + "</strong></div>" +
|
||||
'<div class="aksrt-orders-page__stat"><span>待支付</span><strong class="is-pending">' + Number(stats.pending || 0) + "</strong></div>" +
|
||||
'<div class="aksrt-orders-page__stat"><span>已支付</span><strong class="is-paid">' + Number(stats.paid || 0) + "</strong></div>" +
|
||||
'<div class="aksrt-orders-page__stat"><span>已退款</span><strong>' + Number(stats.refunded || 0) + "</strong></div>" +
|
||||
'<div class="aksrt-orders-page__stat"><span>已关闭</span><strong>' + Number(stats.closed || 0) + "</strong></div>" +
|
||||
'<div class="aksrt-orders-page__stat"><span>售后待处理</span><strong>' + Number(stats.after_sale_pending || 0) + "</strong></div>";
|
||||
'<div class="aksrt-orders-page__stat"><span>已关闭</span><strong>' + Number(stats.closed || 0) + "</strong></div>";
|
||||
var pendingCount = state.root.querySelector('[data-aksrt-order-filter="status"][data-aksrt-order-filter-value="pending"] .aksrt-orders-page__filter-count');
|
||||
if (pendingCount) {
|
||||
pendingCount.textContent = String(Number(stats.pending || 0));
|
||||
|
||||
Reference in new issue
Block a user