Fix:6207 送出多份礼品,只领取了部分礼品的礼包需隐藏退款按钮

This commit is contained in:
linxi
2026-09-22 09:24:21 +08:00
parent 3f125d12a2
commit 36ba26f212
+15 -2
View File
@@ -78,8 +78,8 @@
<view class="gift-txt">
<!-- 赠言{{ item.message || '' }} -->
</view>
<!-- 状态 0-待领取 1-已全部领取 2-已失效 -->
<button v-if="item.status === 0" @click="tuikuan(item)" class="btn1">退款</button>
<!-- 状态 0-待领取 1-已全部领取 2-已失效多份礼品被部分领取时不允许退款 -->
<button v-if="item.status === 0 && canRefund(item)" @click="tuikuan(item)" class="btn1">退款</button>
<button
v-if="item.status === -1"
class="btn"
@@ -337,6 +337,19 @@ export default {
}
},
methods: {
// 多份礼包被部分领取时(领取数大于0且未领完)不允许退款
canRefund(item) {
if (item.isTravelGroup === 1) {
const travelGroup = item.giftInfoTravelGroup || {}
const totalNum = Number(travelGroup.totalNum || 0)
const receiveNum = Number(travelGroup.receiveNum || 0)
return !(totalNum > 1 && receiveNum > 0 && receiveNum < totalNum)
}
const giftInfo = Array.isArray(item.giftInfo) ? item.giftInfo : []
const totalNum = giftInfo.reduce((sum, cart) => sum + Number(cart.cartNum || 0), 0)
const receiveNum = giftInfo.reduce((sum, cart) => sum + Number(cart.receiveNum || 0), 0)
return !(totalNum > 1 && receiveNum > 0 && receiveNum < totalNum)
},
tuikuan(item) {
uni.showModal({
title: '提示',