fix: 退款完善——余额预检+二次确认强制退款+顺序注释(先微信退钱再扣星尘)+卡住订单重置

This commit is contained in:
2026-09-14 12:59:42 +08:00
parent 7537f7c89c
commit 7b92a7308d
+10 -2
View File
@@ -153,8 +153,16 @@ function refund(row) { refundTarget.value = row; refundDlg.value = true }
async function doRefund() {
try {
await ElMessageBox.confirm('退款后无法撤销,确认执行?', '最终确认', { type: 'warning' })
await apiPost(`/api/admin/vpay/orders/${refundTarget.value._id}/refund`)
ElMessage.success('退款成功')
let r
try {
r = await apiPost(`/api/admin/vpay/orders/${refundTarget.value._id}/refund`)
} catch (e1) {
if (e1.message && e1.message.includes('余额不足')) {
await ElMessageBox.confirm(e1.message + '\n强制退款后余额将变为负数,用户下次充值时自动抵扣。', '余额不足', { type: 'warning', confirmText: '强制退款' })
r = await apiPost(`/api/admin/vpay/orders/${refundTarget.value._id}/refund`, { force: true })
} else { throw e1 }
}
ElMessage.success('退款成功(微信侧已退钱)')
refundDlg.value = false
load(); loadStats()
} catch (e) { if (e !== 'cancel') ElMessage.error(e.message || '退款失败') }