fix: 退款完善——余额预检+二次确认强制退款+顺序注释(先微信退钱再扣星尘)+卡住订单重置
This commit is contained in:
@@ -153,8 +153,16 @@ function refund(row) { refundTarget.value = row; refundDlg.value = true }
|
|||||||
async function doRefund() {
|
async function doRefund() {
|
||||||
try {
|
try {
|
||||||
await ElMessageBox.confirm('退款后无法撤销,确认执行?', '最终确认', { type: 'warning' })
|
await ElMessageBox.confirm('退款后无法撤销,确认执行?', '最终确认', { type: 'warning' })
|
||||||
await apiPost(`/api/admin/vpay/orders/${refundTarget.value._id}/refund`)
|
let r
|
||||||
ElMessage.success('退款成功')
|
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
|
refundDlg.value = false
|
||||||
load(); loadStats()
|
load(); loadStats()
|
||||||
} catch (e) { if (e !== 'cancel') ElMessage.error(e.message || '退款失败') }
|
} catch (e) { if (e !== 'cancel') ElMessage.error(e.message || '退款失败') }
|
||||||
|
|||||||
Reference in New Issue
Block a user