diff --git a/frontend/src/components/admin/payment/AdminOrderDetail.vue b/frontend/src/components/admin/payment/AdminOrderDetail.vue index 9ab1ba95540..e278a5c6d5b 100644 --- a/frontend/src/components/admin/payment/AdminOrderDetail.vue +++ b/frontend/src/components/admin/payment/AdminOrderDetail.vue @@ -130,13 +130,16 @@ const props = defineProps<{ /** 充值金额 (base amount before fee) = pay_amount - fee = pay_amount / (1 + fee_rate/100) */ const baseAmount = computed(() => { if (!props.order) return 0 - if (props.order.fee_rate <= 0) return props.order.pay_amount - return props.order.pay_amount / (1 + props.order.fee_rate / 100) + const feeRate = Number(props.order.fee_rate) || 0 + if (feeRate <= 0) return props.order.pay_amount + return props.order.pay_amount / (1 + feeRate / 100) }) /** 手续费 = pay_amount - baseAmount */ const feeAmount = computed(() => { - if (!props.order || props.order.fee_rate <= 0) return 0 + if (!props.order) return 0 + const feeRate = Number(props.order.fee_rate) || 0 + if (feeRate <= 0) return 0 return props.order.pay_amount - baseAmount.value }) diff --git a/frontend/src/views/user/PaymentResultView.vue b/frontend/src/views/user/PaymentResultView.vue index f8ed37d9630..d4f5feef725 100644 --- a/frontend/src/views/user/PaymentResultView.vue +++ b/frontend/src/views/user/PaymentResultView.vue @@ -137,13 +137,17 @@ const refreshAttempts = ref(0) /** 充值金额 = pay_amount / (1 + fee_rate/100),fee_rate=0 时等于 pay_amount */ const baseAmount = computed(() => { - if (!order.value || order.value.fee_rate <= 0) return order.value?.pay_amount ?? 0 - return Math.round((order.value.pay_amount / (1 + order.value.fee_rate / 100)) * 100) / 100 + if (!order.value) return 0 + const feeRate = Number(order.value.fee_rate) || 0 + if (feeRate <= 0) return order.value.pay_amount ?? 0 + return Math.round((order.value.pay_amount / (1 + feeRate / 100)) * 100) / 100 }) /** 手续费 = pay_amount - baseAmount */ const feeAmount = computed(() => { - if (!order.value || order.value.fee_rate <= 0) return 0 + if (!order.value) return 0 + const feeRate = Number(order.value.fee_rate) || 0 + if (feeRate <= 0) return 0 return Math.round((order.value.pay_amount - baseAmount.value) * 100) / 100 })