feat(aftersale): per-line refund/return flow with ledger-backed completion (add-aftersale-refunds)

This commit is contained in:
Chengdong Zhang
2026-09-23 16:56:30 +08:00
parent 93e5a05d48
commit 2c2b54c21c
43 changed files with 4889 additions and 32 deletions
+100
View File
@@ -9,6 +9,7 @@ export const enExtra = {
flashSales: "Flash sales",
groupBuying: "Group buying",
shopProfile: "Shop profile",
aftersales: "After-sales",
},
shop: {
profileSaved: "Shop profile saved.",
@@ -159,6 +160,55 @@ export const enExtra = {
groupLifetimeInvalid: "Group lifetime must be a positive number of hours.",
groupWindowInvalid: "End must not precede start.",
},
aftersale: {
title: "After-sales",
detail: "After-sale detail",
buyer: "Buyer",
amount: "Refund amount",
remaining: "Remaining refundable",
reason: "Reason",
item: "Item",
order: "Order",
viewOrder: "View order",
evidence: "Evidence",
noEvidence: "No evidence provided.",
returnShipping: "Return shipping",
messages: "Messages",
noMessages: "No messages yet.",
messageEn: "Message (English)",
messageZh: "Message (中文)",
messageEvidence: "Evidence URL (optional)",
sendMessage: "Send message",
messageSent: "Message sent.",
approve: "Approve",
reject: "Reject",
confirmReceipt: "Confirm return receipt",
refund: "Issue refund",
approved: "Application approved.",
rejected: "Application rejected.",
receiptConfirmed: "Return receipt confirmed.",
refunded: "Refund completed.",
staleAction: "The after-sale state changed while you were acting; the latest state is shown below.",
reopened: "Reopened",
role: {
buyer: "Buyer",
merchant: "Merchant",
platform: "Platform",
},
kind: {
refund_only: "Refund only",
return_refund: "Return & refund",
},
status: {
pending: "Pending",
approved: "Approved",
rejected: "Rejected",
buyer_shipping: "Return in transit",
merchant_confirmed: "Return received",
refunded: "Refunded",
cancelled: "Cancelled",
},
},
} as Record<string, unknown>;
export const zhExtra = {
@@ -170,6 +220,7 @@ export const zhExtra = {
flashSales: "秒杀",
groupBuying: "拼团",
shopProfile: "店铺资料",
aftersales: "售后",
},
shop: {
profileSaved: "店铺资料已保存。",
@@ -320,4 +371,53 @@ export const zhExtra = {
groupLifetimeInvalid: "团有效期必须为正数小时。",
groupWindowInvalid: "结束时间不能早于开始时间。",
},
aftersale: {
title: "售后",
detail: "售后详情",
buyer: "买家",
amount: "退款金额",
remaining: "剩余可退",
reason: "申请原因",
item: "商品",
order: "订单",
viewOrder: "查看订单",
evidence: "凭证",
noEvidence: "暂无凭证。",
returnShipping: "退货物流",
messages: "留言",
noMessages: "暂无留言。",
messageEn: "留言(英文)",
messageZh: "留言(中文)",
messageEvidence: "凭证链接(可选)",
sendMessage: "发送留言",
messageSent: "留言已发送。",
approve: "批准",
reject: "拒绝",
confirmReceipt: "确认收货",
refund: "退款",
approved: "已批准申请。",
rejected: "已拒绝申请。",
receiptConfirmed: "已确认收货。",
refunded: "退款已完成。",
staleAction: "售后状态已发生变化,下方为最新状态。",
reopened: "已重新申请",
role: {
buyer: "买家",
merchant: "商家",
platform: "平台",
},
kind: {
refund_only: "仅退款",
return_refund: "退货退款",
},
status: {
pending: "待处理",
approved: "已批准",
rejected: "已拒绝",
buyer_shipping: "买家退货中",
merchant_confirmed: "商家已收货",
refunded: "已退款",
cancelled: "已取消",
},
},
} as Record<string, unknown>;