|
|
@@ -73,23 +73,36 @@ function handleGoPay() {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
-/** 取消订单 */
|
|
|
+const isCancel = computed(() => statusValue.value === 0)
|
|
|
+
|
|
|
+/** 取消订单 / 申请退款 */
|
|
|
async function handleCancelOrder() {
|
|
|
orderPopup.value = false
|
|
|
useGlobalMessage().confirm({
|
|
|
title: '提示',
|
|
|
- msg: `确定要${statusValue.value === 0 ? '取消订单' : '退款'}吗?`,
|
|
|
+ msg: `确定要${isCancel.value ? '取消订单' : '退款'}吗?`,
|
|
|
success: async () => {
|
|
|
- const res: any = await Apis.attractions.cancelOrder({
|
|
|
- data: {
|
|
|
- orderNumber: orderInfo.value?.orderNumber || '',
|
|
|
- cancelNum: refundNum.value,
|
|
|
- cancelMemo: refundReason.value || undefined,
|
|
|
- },
|
|
|
- })
|
|
|
+ if (isCancel.value) {
|
|
|
+ await Apis.attractions.cancelOrder({
|
|
|
+ data: {
|
|
|
+ orderNumber: orderInfo.value?.orderNumber || '',
|
|
|
+ cancelNum: refundNum.value,
|
|
|
+ cancelMemo: refundReason.value || undefined,
|
|
|
+ },
|
|
|
+ })
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ await Apis.xsb.applyRefund({
|
|
|
+ data: {
|
|
|
+ businessType: 2,
|
|
|
+ buyerDesc: refundReason.value || undefined,
|
|
|
+ orderNumber: orderInfo.value?.orderNumber || '',
|
|
|
+ },
|
|
|
+ })
|
|
|
+ }
|
|
|
refundNum.value = 1
|
|
|
refundReason.value = ''
|
|
|
- useGlobalToast().show({ msg: res.data || '操作成功' })
|
|
|
+ useGlobalToast().show({ msg: '操作成功' })
|
|
|
await getData(orderNumber.value)
|
|
|
},
|
|
|
})
|
|
|
@@ -110,8 +123,14 @@ onPageScroll((e) => {
|
|
|
})
|
|
|
|
|
|
function orderDetailBack() {
|
|
|
+ const vrIndex = 'subPack-attractions/commonTab/index'
|
|
|
+ const pages = getCurrentPages()
|
|
|
+ const targetPageIndex = pages.findIndex(page => page.route === vrIndex)
|
|
|
if (ispay.value === 'true') {
|
|
|
- router.replace({ name: 'attractions-tabbar' })
|
|
|
+ if (targetPageIndex !== -1) {
|
|
|
+ const delta = pages.length - targetPageIndex - 1
|
|
|
+ router.back({ delta, animationType: 'fade-out' })
|
|
|
+ }
|
|
|
}
|
|
|
else {
|
|
|
router.back()
|
|
|
@@ -150,10 +169,9 @@ function orderDetailBack() {
|
|
|
</text>
|
|
|
</view>
|
|
|
<swiper
|
|
|
- class="mt-20rpx"
|
|
|
:style="{ height: '340rpx' }"
|
|
|
:current="swiperCurrent"
|
|
|
- :indicator-dots="voucherPeoples.length > 1"
|
|
|
+ :indicator-dots="false"
|
|
|
@change="onSwiperChange"
|
|
|
>
|
|
|
<swiper-item v-for="(people, idx) in voucherPeoples" :key="idx" class="flex flex-col items-center justify-center">
|
|
|
@@ -304,7 +322,7 @@ function orderDetailBack() {
|
|
|
申请说明
|
|
|
</view>
|
|
|
<view class="text-28rpx font-bold">
|
|
|
- {{ orderInfo.cancelReason }}
|
|
|
+ {{ orderInfo.cancelReason || '--' }}
|
|
|
</view>
|
|
|
</view>
|
|
|
<view class="mt-28rpx flex items-center justify-between">
|
|
|
@@ -352,21 +370,21 @@ function orderDetailBack() {
|
|
|
</Zcontact>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <wd-button v-if="(statusValue === 0 || statusValue != 60) && orderInfo?.scenicOrder?.isChangeask === 1" custom-class="w-546rpx" block size="large" @click="orderPopup = true">
|
|
|
- {{ statusValue === 0 ? '取消订单' : '退款申请' }}
|
|
|
+ <wd-button v-if="(statusValue === 0 || statusValue != 60) && (orderInfo?.cancelState != 0 || orderInfo?.cancelState === 1) && orderInfo?.scenicOrder?.isChangeask === 1" custom-class="w-546rpx" block size="large" @click="orderPopup = true">
|
|
|
+ {{ isCancel ? '取消订单' : '退款申请' }}
|
|
|
</wd-button>
|
|
|
</view>
|
|
|
<Zpopup v-model="orderPopup" :showfooter="false" :zindex="9999" bg="#fff">
|
|
|
<view>
|
|
|
<view class="mt-28rpx text-center text-32rpx font-bold">
|
|
|
- {{ statusValue === 0 ? '取消订单' : '退款申请' }}
|
|
|
+ {{ isCancel ? '取消订单' : '退款申请' }}
|
|
|
</view>
|
|
|
<view class="px-24rpx">
|
|
|
<view class="mt-30rpx flex items-center justify-between">
|
|
|
<view class="text-28rpx">
|
|
|
退款数量
|
|
|
</view>
|
|
|
- <view class="flex items-center gap-24rpx">
|
|
|
+ <view v-if="isCancel" class="flex items-center gap-24rpx">
|
|
|
<view
|
|
|
class="h-36rpx w-36rpx rounded-50% bg-#F0F0F0 text-center text-28rpx text-#AAAAAA font-600 line-height-[36rpx]"
|
|
|
@click="handleRefundMinus"
|
|
|
@@ -383,6 +401,9 @@ function orderDetailBack() {
|
|
|
+
|
|
|
</view>
|
|
|
</view>
|
|
|
+ <view v-else class="text-24rpx font-400">
|
|
|
+ {{ orderInfo?.scenicOrder?.num ?? 0 }}
|
|
|
+ </view>
|
|
|
</view>
|
|
|
<view class="mt-26rpx">
|
|
|
<view class="text-28rpx">
|