fix(after-sale): 前台售后不再展示「退款金额」字段
并非每次售后都真的退款——换货、补偿、仅作记录的情况都会把工单标成已完成, 此时退款金额要么是 0 要么没有实际意义,摆在前台只会让人误解钱已经退回去了。 两个前台入口都撤掉该字段: - 售后详细弹窗:明细行只留「申请时间」,处理记录时间线不受影响 - 订单详情弹窗的售后记录卡片:撤掉退款金额后 meta 的 dl 会空壳,连同 dl 一起移除;卡片仍保留状态徽章 + 申请时间 + 原因 + 「查看详细」 连带清理死代码:aftersaleAmountText / afterSaleAmount 两个格式化助手各自 只剩这一处调用,orders.css 里 5 条 .aksrt-order-detail__after-sale-meta 规则也随之无人引用。后台售后页与订单明细页的退款金额列不动——那边是运营 核对账目的口径,需要看到金额。 验证:tests/widget-system/ 462 项、tests/admin/ 76 项通过;抽取 buildDetailHtml 跑样例载荷,确认退款金额不再出现、申请时间 / 处理记录 / 再次申请售后按钮都还在。未做浏览器视觉验收。
This commit is contained in:
@@ -533,12 +533,19 @@ test('frontend renders the handling log as a rope-knot timeline', () => {
|
||||
assert.match(js, /'<span class="aksrt-after-sale-timeline__knot"><\/span>'/)
|
||||
assert.match(js, /'<div class="aksrt-after-sale-timeline__head">' \+/)
|
||||
assert.match(js, /'<div class="aksrt-after-sale-timeline__body">';/)
|
||||
// 退款金额不展示:并非每次售后都真的退款,工单被标完成也不代表把钱退回去了
|
||||
assert.ok(!js.includes("detailRow('退款金额'"), 'after-sale detail modal must not show 退款金额')
|
||||
assert.ok(!js.includes('aftersaleAmountText'), 'dead aftersaleAmountText must be removed')
|
||||
assert.match(js, /detailRow\('申请时间', String\(latest\.created_at \|\| ''\)\)/)
|
||||
|
||||
// 订单详情弹窗:不再渲染售后状态节点进程,只保留状态徽章 + 原因 + 金额 + 「查看详细」;
|
||||
// 订单详情弹窗:不再渲染售后状态节点进程与退款金额,只保留状态徽章 + 原因 + 「查看详细」;
|
||||
// 完整处理记录由点开的售后详细弹窗呈现,载荷仍带上 handling_log
|
||||
assert.ok(!center.includes('gatewayResultText'), 'dead gateway-result renderer must be removed')
|
||||
assert.ok(!center.includes('<dt>渠道结果</dt>'), 'dead 渠道结果 row must be removed')
|
||||
assert.ok(!center.includes('<dt>处理备注</dt>'), 'single 处理备注 row must be removed')
|
||||
assert.ok(!center.includes('<dt>退款金额</dt>'), 'order detail card must not show 退款金额')
|
||||
assert.ok(!center.includes('afterSaleAmount'), 'dead afterSaleAmount must be removed')
|
||||
assert.ok(!center.includes('aksrt-order-detail__after-sale-meta'), 'empty meta dl must be removed')
|
||||
assert.ok(!center.includes('orderDetailHandlingLogHtml'), 'order detail modal must not render the timeline')
|
||||
assert.ok(!center.includes('AFTER_SALE_STATUS_LABELS'), 'order detail modal must not carry timeline labels')
|
||||
assert.ok(!center.includes('handlingEntryTitle'), 'order detail modal must not carry the timeline title helper')
|
||||
@@ -555,6 +562,8 @@ test('frontend renders the handling log as a rope-knot timeline', () => {
|
||||
assert.match(css, /\.aksrt-after-sale-timeline__head \{ display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; \}/)
|
||||
assert.match(css, /\.aksrt-after-sale-timeline__knot/)
|
||||
assert.match(css, /\.aksrt-after-sale-timeline__note/)
|
||||
const ordersCss = read('assets/css/routes/orders.css')
|
||||
assert.ok(!ordersCss.includes('aksrt-order-detail__after-sale-meta'), 'dead after-sale-meta rules must be removed')
|
||||
// 旧的两列结构(aside / main)已移除
|
||||
assert.ok(!css.includes('aksrt-after-sale-timeline__aside'), 'left-column aside must be removed')
|
||||
assert.ok(!css.includes('aksrt-after-sale-timeline__main'), 'right-column main must be removed')
|
||||
|
||||
Reference in New Issue
Block a user