diff --git a/pkg_product/views/sojoumOrderDetails.vue b/pkg_product/views/sojoumOrderDetails.vue index 6288d7b..d49f929 100644 --- a/pkg_product/views/sojoumOrderDetails.vue +++ b/pkg_product/views/sojoumOrderDetails.vue @@ -107,7 +107,7 @@ --> - 暂不领取 + 暂不领取 去领取体验券 @@ -241,14 +241,14 @@ export default { isView: 0, showExperienceCouponPopup: false, experienceCouponId: null, - hasCheckedExperienceCoupon: false, + experienceCouponPopupDismissed: false, orderStatusTimer: null } }, onLoad(otps) { this.key = otps.id; this.isView = otps.isView || 0; - this.hasCheckedExperienceCoupon = false; + this.experienceCouponPopupDismissed = false; }, onShow() { this.getSojoumOrderDetail(); @@ -331,7 +331,7 @@ export default { * 获取旅居团购订单详情 */ async getSojoumOrderDetail(options = {}) { - const { showLoading = true } = options; + const { showLoading = true, checkCoupon = true } = options; const params = { key: this.key } @@ -347,8 +347,7 @@ export default { this.orderInfo = res.data; this.orderInfo.minBookingDays = this.getDaysCount(); this.startOrderStatusPolling(); - if (!this.hasCheckedExperienceCoupon) { - this.hasCheckedExperienceCoupon = true; + if (checkCoupon) { this.checkExperienceCouponStatus(); } } @@ -398,13 +397,27 @@ export default { return; } if (!showPopup) { + this.showExperienceCouponPopup = false; return; } - this.experienceCouponId = data.couponId || null; + const couponId = data.couponId || null; + if ( + this.experienceCouponPopupDismissed && + couponId && + couponId === this.experienceCouponId + ) { + return; + } + this.experienceCouponId = couponId; + this.experienceCouponPopupDismissed = false; this.showExperienceCouponPopup = true; } catch (e) { } }, + handleCloseExperienceCouponPopup() { + this.showExperienceCouponPopup = false; + this.experienceCouponPopupDismissed = true; + }, /** * 格式化日期 * @param {string} dateStr - 格式为 yyyy-MM-dd 的日期字符串 @@ -496,6 +509,7 @@ export default { }, goExperienceCoupon() { this.showExperienceCouponPopup = false; + this.experienceCouponPopupDismissed = false; const couponId = this.experienceCouponId; let url = '/pkg_product/views/experienceCoupon'; if (couponId) {