Browse Source

fix(财务账户): 修复退款时金币数据映射和验证逻辑

- 修复退款表单中永久金币和免费金币的初始值映射逻辑,当原字段不存在时使用备用字段
- 在部分退款模式下增加退款金额不能超过原始金额的验证
- 修正部分退款金额的计算字段,确保始终使用当前表单值
milestone-20260212-日常优化2.0
zhangrenyuan 1 month ago
parent
commit
55dc37fb32
  1. 18
      src/views/moneyManage/financialAccount/cashFlow.vue

18
src/views/moneyManage/financialAccount/cashFlow.vue

@ -174,8 +174,8 @@ const openRefundConfirm = (row) => {
refundConfirmDialog.value = true refundConfirmDialog.value = true
refundFormData.value = { refundFormData.value = {
...row, ...row,
oldpermanentGold: row.permanentGold,//退
oldfreeGold: row.freeGold,//退
oldpermanentGold: row.permanentGold || row.gold || 0,//退
oldfreeGold: row.freeGold || row.free || 0,//退
permanentGold: null, permanentGold: null,
freeGold: null, freeGold: null,
} }
@ -206,6 +206,16 @@ const resetRefund = () => {
} }
const handleRefund = async () => { const handleRefund = async () => {
try { try {
if (refundFormData.value.refundModel == 1) {
if (Number(refundFormData.value.permanentGold || 0) > Number(refundFormData.value.oldpermanentGold || 0)) {
ElMessage.error(t('elmessage.limitRefundGoldNotExceedOriginal'))
return
}
if (Number(refundFormData.value.freeGold || 0) > Number(refundFormData.value.oldfreeGold || 0)) {
ElMessage.error(t('elmessage.limitRefundGoldNotExceedOriginal'))
return
}
}
if (refundFormData.value.refundModel == 0) { if (refundFormData.value.refundModel == 0) {
refundFormData.value.permanentGold = refundFormData.value.oldpermanentGold refundFormData.value.permanentGold = refundFormData.value.oldpermanentGold
refundFormData.value.freeGold = refundFormData.value.oldfreeGold refundFormData.value.freeGold = refundFormData.value.oldfreeGold
@ -224,8 +234,8 @@ const handleRefund = async () => {
permanentGold: (refundFormData.value.permanentGold) * 100 || 0, permanentGold: (refundFormData.value.permanentGold) * 100 || 0,
handlingCharge: refundFormData.value.handlingCharge == null ? null : refundFormData.value.handlingCharge * 100, handlingCharge: refundFormData.value.handlingCharge == null ? null : refundFormData.value.handlingCharge * 100,
freeGold: (refundFormData.value.freeGold) * 100 || 0, freeGold: (refundFormData.value.freeGold) * 100 || 0,
partRefundGold: refundFormData.value.refundModel == 1 ? (refundFormData.value.permanentGold * 100 || 0) : 0,
partRefundFree: refundFormData.value.refundModel == 1 ? (refundFormData.value.freeGold * 100 || 0) : 0,
partRefundGold: (refundFormData.value.permanentGold * 100 || 0),
partRefundFree: (refundFormData.value.freeGold * 100 || 0),
} }
console.log('这是退款参数:', params); console.log('这是退款参数:', params);

Loading…
Cancel
Save