fix: 退款完善——余额预检+二次确认强制退款+顺序注释(先微信退钱再扣星尘)+卡住订单重置
This commit is contained in:
@@ -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 || '退款失败') }
|
||||
|
||||
Reference in New Issue
Block a user