|
@@ -1,5 +1,7 @@
|
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
|
import OrderDetailStatus from '../components/orderDetailStatus.vue'
|
|
import OrderDetailStatus from '../components/orderDetailStatus.vue'
|
|
|
|
|
+import { columns as creditTypeColumns } from '../attractionsReservation/reservation-data'
|
|
|
|
|
+import { orderStatus } from './orderDetail-data'
|
|
|
import { StaticUrl } from '@/config'
|
|
import { StaticUrl } from '@/config'
|
|
|
import router from '@/router'
|
|
import router from '@/router'
|
|
|
|
|
|
|
@@ -8,44 +10,168 @@ definePage({
|
|
|
islogin: false,
|
|
islogin: false,
|
|
|
style: {
|
|
style: {
|
|
|
navigationBarTitleText: '订单详情',
|
|
navigationBarTitleText: '订单详情',
|
|
|
|
|
+ navigationStyle: 'custom',
|
|
|
},
|
|
},
|
|
|
})
|
|
})
|
|
|
|
|
+const { statusBarHeight, MenuButtonHeight, opcity } = storeToRefs(useSysStore())
|
|
|
|
|
+const orderNumber = ref('')
|
|
|
|
|
+const orderInfo = ref<Api.ScenicOrderDetailVo>()
|
|
|
const orderPopup = ref(false)
|
|
const orderPopup = ref(false)
|
|
|
|
|
+const refundNum = ref(1)
|
|
|
|
|
+const refundReason = ref('')
|
|
|
|
|
+const ispay = ref('')
|
|
|
|
|
+
|
|
|
|
|
+const statusValue = computed(() => orderInfo.value?.hbOrderStatus ?? 0)
|
|
|
|
|
+
|
|
|
|
|
+/** 当前状态配置 */
|
|
|
|
|
+const currentStatus = computed(() => {
|
|
|
|
|
+ return orderStatus.find(item => item.value === statusValue.value) || orderStatus[0]
|
|
|
|
|
+})
|
|
|
|
|
+
|
|
|
|
|
+/** 有凭证码的游客列表 */
|
|
|
|
|
+const voucherPeoples = computed(() => {
|
|
|
|
|
+ return orderInfo.value?.peoples?.filter(p => p.voucherCode) ?? []
|
|
|
|
|
+})
|
|
|
|
|
+
|
|
|
|
|
+/** 是否展示凭证区域 */
|
|
|
|
|
+const hasVoucher = computed(() => voucherPeoples.value.length > 0)
|
|
|
|
|
+
|
|
|
|
|
+const swiperCurrent = ref(0)
|
|
|
|
|
+function onSwiperChange(e: any) {
|
|
|
|
|
+ swiperCurrent.value = e.detail.current
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/** 证件类型文本 */
|
|
|
|
|
+function creditTypeText(type?: number) {
|
|
|
|
|
+ return creditTypeColumns.value.find(item => item.value === type)?.label ?? '身份证'
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+async function getData(orderNo: string) {
|
|
|
|
|
+ const res = await Apis.attractions.orderDetail({ data: { orderNumber: orderNo } })
|
|
|
|
|
+ orderInfo.value = res.data
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+function handleRefundMinus() {
|
|
|
|
|
+ if (refundNum.value > 1)
|
|
|
|
|
+ refundNum.value--
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+function handleRefundPlus() {
|
|
|
|
|
+ const maxNum = orderInfo.value?.scenicOrder?.num ?? 1
|
|
|
|
|
+ if (refundNum.value < maxNum)
|
|
|
|
|
+ refundNum.value++
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+function handleGoPay() {
|
|
|
|
|
+ router.push({
|
|
|
|
|
+ name: 'attractions-order-pay',
|
|
|
|
|
+ params: {
|
|
|
|
|
+ productName: orderInfo.value?.scenicOrder?.productName || '',
|
|
|
|
|
+ num: String(orderInfo.value?.scenicOrder?.num) || '',
|
|
|
|
|
+ orderNo: orderInfo.value?.orderNumber || '',
|
|
|
|
|
+ },
|
|
|
|
|
+ })
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/** 取消订单 */
|
|
|
|
|
+async function handleCancelOrder() {
|
|
|
|
|
+ orderPopup.value = false
|
|
|
|
|
+ useGlobalMessage().confirm({
|
|
|
|
|
+ title: '提示',
|
|
|
|
|
+ msg: `确定要${statusValue.value === 0 ? '取消订单' : '退款'}吗?`,
|
|
|
|
|
+ success: async () => {
|
|
|
|
|
+ const res: any = await Apis.attractions.cancelOrder({
|
|
|
|
|
+ data: {
|
|
|
|
|
+ orderNumber: orderInfo.value?.orderNumber || '',
|
|
|
|
|
+ cancelNum: refundNum.value,
|
|
|
|
|
+ cancelMemo: refundReason.value || undefined,
|
|
|
|
|
+ },
|
|
|
|
|
+ })
|
|
|
|
|
+ refundNum.value = 1
|
|
|
|
|
+ refundReason.value = ''
|
|
|
|
|
+ useGlobalToast().show({ msg: res.data || '操作成功' })
|
|
|
|
|
+ await getData(orderNumber.value)
|
|
|
|
|
+ },
|
|
|
|
|
+ })
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+onLoad((options: any) => {
|
|
|
|
|
+ orderNumber.value = options.orderNo
|
|
|
|
|
+ ispay.value = options.ispay
|
|
|
|
|
+ getData(options.orderNo)
|
|
|
|
|
+})
|
|
|
|
|
+onMounted(() => {
|
|
|
|
|
+ opcity.value = 0
|
|
|
|
|
+})
|
|
|
|
|
+
|
|
|
|
|
+onPageScroll((e) => {
|
|
|
|
|
+ const calculatedOpacity = e.scrollTop / 100
|
|
|
|
|
+ opcity.value = Math.min(1, Math.max(0.1, calculatedOpacity))
|
|
|
|
|
+})
|
|
|
|
|
+
|
|
|
|
|
+function orderDetailBack() {
|
|
|
|
|
+ if (ispay.value === 'true') {
|
|
|
|
|
+ router.replace({ name: 'attractions-tabbar' })
|
|
|
|
|
+ }
|
|
|
|
|
+ else {
|
|
|
|
|
+ router.back()
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
<template>
|
|
<template>
|
|
|
<view class="order-detail-page">
|
|
<view class="order-detail-page">
|
|
|
- <view class="px-24rpx">
|
|
|
|
|
- <view class="h-20rpx" />
|
|
|
|
|
|
|
+ <wd-navbar
|
|
|
|
|
+ title="景区门票"
|
|
|
|
|
+ :custom-style="`background-color: rgba(226, 255, 145, ${opcity})`"
|
|
|
|
|
+ :bordered="false"
|
|
|
|
|
+ :z-index="9999"
|
|
|
|
|
+ safe-area-inset-top
|
|
|
|
|
+ left-arrow
|
|
|
|
|
+ fixed
|
|
|
|
|
+ @click-left="orderDetailBack"
|
|
|
|
|
+ />
|
|
|
|
|
+ <view :style="{ height: `${(Number(statusBarHeight) || 44) + MenuButtonHeight + 30}px` }" />
|
|
|
|
|
+ <view v-if="orderInfo" class="px-24rpx">
|
|
|
<view class="rounded-16rpx bg-#FFF p-24rpx">
|
|
<view class="rounded-16rpx bg-#FFF p-24rpx">
|
|
|
- <OrderDetailStatus :status="3" />
|
|
|
|
|
|
|
+ <OrderDetailStatus v-if="!hasVoucher" :status="statusValue" @pay="handleGoPay" />
|
|
|
<view class="flex items-center justify-between gap-50rpx text-32rpx font-bold">
|
|
<view class="flex items-center justify-between gap-50rpx text-32rpx font-bold">
|
|
|
- <view>日场门票+观光车+飞越黄果树观影票+吉祥物+冰箱贴 经典必打卡</view>
|
|
|
|
|
- <view class="w-100rpx text-24rpx text-#9ED605">
|
|
|
|
|
|
|
+ <view>{{ orderInfo.scenicOrder?.productName }}</view>
|
|
|
|
|
+ <view class="w-100rpx text-24rpx text-#9ED605" @click="router.push({ name: 'attractions-detail', params: { productNo: String(orderInfo.scenicOrder?.productNo) } })">
|
|
|
详情
|
|
详情
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view v-if="orderPopup" class="text-center">
|
|
|
|
|
|
|
+ <view v-if="hasVoucher" class="text-center">
|
|
|
<view class="mt-24rpx h-2rpx w-full bg-#F0F0F0" />
|
|
<view class="mt-24rpx h-2rpx w-full bg-#F0F0F0" />
|
|
|
<view class="mt-24rpx flex items-center justify-center gap-10rpx">
|
|
<view class="mt-24rpx flex items-center justify-center gap-10rpx">
|
|
|
- <wd-icon name="check-circle-filled" size="20px" color="#52C41A" />
|
|
|
|
|
- <text class="text-32rpx text-#52C41A font-bold">
|
|
|
|
|
- 已支付
|
|
|
|
|
|
|
+ <wd-icon :name="currentStatus.icon" size="20px" :color="currentStatus.color" />
|
|
|
|
|
+ <text class="text-32rpx font-bold" :style="{ color: currentStatus.color }">
|
|
|
|
|
+ {{ currentStatus.label }}
|
|
|
</text>
|
|
</text>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="flex items-center justify-center">
|
|
|
|
|
- <QCode class="my-20rpx rounded-16rpx" text="1" :qwidth="80" qr-key="1" />
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="text-28rpx font-bold">
|
|
|
|
|
- 12115115144
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="mt-8rpx text-24rpx text-#AAAAAA">
|
|
|
|
|
- (未核销)
|
|
|
|
|
- </view>
|
|
|
|
|
|
|
+ <swiper
|
|
|
|
|
+ class="mt-20rpx"
|
|
|
|
|
+ :style="{ height: '340rpx' }"
|
|
|
|
|
+ :current="swiperCurrent"
|
|
|
|
|
+ :indicator-dots="voucherPeoples.length > 1"
|
|
|
|
|
+ @change="onSwiperChange"
|
|
|
|
|
+ >
|
|
|
|
|
+ <swiper-item v-for="(people, idx) in voucherPeoples" :key="idx" class="flex flex-col items-center justify-center">
|
|
|
|
|
+ <view class="flex items-center justify-center">
|
|
|
|
|
+ <QCode class="my-20rpx rounded-16rpx" :text="people.voucherCode || ''" :qwidth="80" :qr-key="`qr-${idx}`" />
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="text-28rpx font-bold">
|
|
|
|
|
+ {{ people.voucherCode }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="mt-8rpx text-24rpx text-#AAAAAA">
|
|
|
|
|
+ ({{ people.voucherStatus === 1 ? '已核销' : '未核销' }})
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </swiper-item>
|
|
|
|
|
+ </swiper>
|
|
|
<view class="mt-20rpx text-24rpx text-#AAAAAA">
|
|
<view class="mt-20rpx text-24rpx text-#AAAAAA">
|
|
|
- 您的二订单已付款,您可以查看或者预定更多产品
|
|
|
|
|
|
|
+ {{ currentStatus.desc }}
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="mt-24rpx flex items-center justify-center gap-10rpx">
|
|
|
|
|
|
|
+ <view class="mt-24rpx flex items-center justify-center gap-10rpx" @click="router.push({ name: 'attractions-tabbar', params: { tabbar: '1' } })">
|
|
|
<text class="text-28rpx">
|
|
<text class="text-28rpx">
|
|
|
查看订单列表
|
|
查看订单列表
|
|
|
</text>
|
|
</text>
|
|
@@ -59,7 +185,7 @@ const orderPopup = ref(false)
|
|
|
订单编号
|
|
订单编号
|
|
|
</view>
|
|
</view>
|
|
|
<view class="text-28rpx font-bold">
|
|
<view class="text-28rpx font-bold">
|
|
|
- 1867402054587256856
|
|
|
|
|
|
|
+ {{ orderInfo.orderNumber }}
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="mt-28rpx flex items-center justify-between">
|
|
<view class="mt-28rpx flex items-center justify-between">
|
|
@@ -67,7 +193,7 @@ const orderPopup = ref(false)
|
|
|
下单时间
|
|
下单时间
|
|
|
</view>
|
|
</view>
|
|
|
<view class="text-28rpx font-bold">
|
|
<view class="text-28rpx font-bold">
|
|
|
- 2024-12-13 11:12:30
|
|
|
|
|
|
|
+ {{ orderInfo.createTime }}
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="mt-28rpx flex items-center justify-between">
|
|
<view class="mt-28rpx flex items-center justify-between">
|
|
@@ -75,11 +201,11 @@ const orderPopup = ref(false)
|
|
|
游玩时间
|
|
游玩时间
|
|
|
</view>
|
|
</view>
|
|
|
<view class="text-28rpx font-bold">
|
|
<view class="text-28rpx font-bold">
|
|
|
- 2024-12-13 11:12:30 当天
|
|
|
|
|
|
|
+ {{ orderInfo.scenicOrder?.travelDate }} 当天
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="mt-28rpx rounded-16rpx bg-#F1F1F1 p-24rpx text-28rpx text-#AAAAAA">
|
|
|
|
|
- 备注:速度发货速度
|
|
|
|
|
|
|
+ <view v-if="orderInfo.scenicOrder?.orderMemo" class="mt-28rpx rounded-16rpx bg-#F1F1F1 p-24rpx text-28rpx text-#AAAAAA">
|
|
|
|
|
+ 备注:{{ orderInfo.scenicOrder?.orderMemo }}
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="mt-20rpx rounded-16rpx bg-#FFF p-24rpx">
|
|
<view class="mt-20rpx rounded-16rpx bg-#FFF p-24rpx">
|
|
@@ -91,19 +217,19 @@ const orderPopup = ref(false)
|
|
|
<text class="text-24rpx">
|
|
<text class="text-24rpx">
|
|
|
¥
|
|
¥
|
|
|
</text>
|
|
</text>
|
|
|
- 290
|
|
|
|
|
|
|
+ {{ orderInfo.orderMoney }}
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="mt-20rpx flex items-center justify-between text-24rpx">
|
|
|
|
|
|
|
+ <view v-if="orderInfo.offsetPoints" class="mt-20rpx flex items-center justify-between text-24rpx">
|
|
|
<view>积分扣减</view>
|
|
<view>积分扣减</view>
|
|
|
<view class="text-#FF4A39">
|
|
<view class="text-#FF4A39">
|
|
|
- ¥10
|
|
|
|
|
|
|
+ ¥{{ orderInfo.offsetPoints }}
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="mt-20rpx flex items-center justify-between text-24rpx">
|
|
<view class="mt-20rpx flex items-center justify-between text-24rpx">
|
|
|
<view>微信支付</view>
|
|
<view>微信支付</view>
|
|
|
<view class="text-#FF4A39">
|
|
<view class="text-#FF4A39">
|
|
|
- ¥280
|
|
|
|
|
|
|
+ ¥{{ orderInfo.actualTotal }}
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
@@ -116,7 +242,7 @@ const orderPopup = ref(false)
|
|
|
联系人
|
|
联系人
|
|
|
</view>
|
|
</view>
|
|
|
<view class="text-bold text-24rpx">
|
|
<view class="text-bold text-24rpx">
|
|
|
- 张三
|
|
|
|
|
|
|
+ {{ orderInfo.scenicOrder?.linkMan }}
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="mt-24rpx h-2rpx w-full bg-#F0F0F0" />
|
|
<view class="mt-24rpx h-2rpx w-full bg-#F0F0F0" />
|
|
@@ -125,20 +251,21 @@ const orderPopup = ref(false)
|
|
|
手机号码
|
|
手机号码
|
|
|
</view>
|
|
</view>
|
|
|
<view class="text-bold text-24rpx">
|
|
<view class="text-bold text-24rpx">
|
|
|
- 13856491258
|
|
|
|
|
|
|
+ {{ orderInfo.scenicOrder?.linkPhone }}
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="mt-20rpx rounded-16rpx bg-#FFF p-24rpx">
|
|
|
|
|
|
|
+ <!-- 游客信息 -->
|
|
|
|
|
+ <view v-for="(people, idx) in orderInfo.peoples" :key="idx" class="mt-20rpx rounded-16rpx bg-#FFF p-24rpx">
|
|
|
<view class="text-28rpx font-bold">
|
|
<view class="text-28rpx font-bold">
|
|
|
- 游客信息
|
|
|
|
|
|
|
+ 游客信息{{ (orderInfo.peoples?.length ?? 0) > 1 ? ` ${idx + 1}` : '' }}
|
|
|
</view>
|
|
</view>
|
|
|
<view class="mt-24rpx flex items-center gap-92rpx">
|
|
<view class="mt-24rpx flex items-center gap-92rpx">
|
|
|
<view class="text-24rpx">
|
|
<view class="text-24rpx">
|
|
|
游客姓名
|
|
游客姓名
|
|
|
</view>
|
|
</view>
|
|
|
<view class="text-bold text-24rpx">
|
|
<view class="text-bold text-24rpx">
|
|
|
- 张三
|
|
|
|
|
|
|
+ {{ people.linkMan }}
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="mt-24rpx h-2rpx w-full bg-#F0F0F0" />
|
|
<view class="mt-24rpx h-2rpx w-full bg-#F0F0F0" />
|
|
@@ -147,7 +274,7 @@ const orderPopup = ref(false)
|
|
|
证件类型
|
|
证件类型
|
|
|
</view>
|
|
</view>
|
|
|
<view class="text-bold text-24rpx">
|
|
<view class="text-bold text-24rpx">
|
|
|
- 身份证
|
|
|
|
|
|
|
+ {{ creditTypeText(people.linkCreditType) }}
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="mt-24rpx h-2rpx w-full bg-#F0F0F0" />
|
|
<view class="mt-24rpx h-2rpx w-full bg-#F0F0F0" />
|
|
@@ -156,14 +283,52 @@ const orderPopup = ref(false)
|
|
|
证件号码
|
|
证件号码
|
|
|
</view>
|
|
</view>
|
|
|
<view class="text-bold text-24rpx">
|
|
<view class="text-bold text-24rpx">
|
|
|
- 510789456125964189
|
|
|
|
|
|
|
+ {{ people.linkCreditNo }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view v-if="orderInfo.cancelTime" class="mt-20rpx rounded-16rpx bg-#FFF p-24rpx">
|
|
|
|
|
+ <view class="text-28rpx font-bold">
|
|
|
|
|
+ 退款申请
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="mt-28rpx flex items-center justify-between">
|
|
|
|
|
+ <view class="text-28rpx text-#AAAAAA">
|
|
|
|
|
+ 申请时间
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="text-28rpx font-bold">
|
|
|
|
|
+ {{ orderInfo.cancelTime }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="mt-28rpx flex items-center justify-between">
|
|
|
|
|
+ <view class="text-28rpx text-#AAAAAA">
|
|
|
|
|
+ 申请说明
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="text-28rpx font-bold">
|
|
|
|
|
+ {{ orderInfo.cancelReason }}
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="mt-28rpx flex items-center justify-between">
|
|
|
|
|
+ <view class="text-28rpx text-#AAAAAA">
|
|
|
|
|
+ 处理状态
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view v-if="orderInfo.cancelRecords" class="text-28rpx font-bold">
|
|
|
|
|
+ <text v-if="orderInfo.cancelRecords[0]?.cancelState === 0">
|
|
|
|
|
+ 申请中
|
|
|
|
|
+ </text>
|
|
|
|
|
+ <text v-if="orderInfo.cancelRecords[0]?.cancelState === 1">
|
|
|
|
|
+ 通过
|
|
|
|
|
+ </text>
|
|
|
|
|
+ <text v-if="orderInfo.cancelRecords[0]?.cancelState === 2">
|
|
|
|
|
+ 拒绝
|
|
|
|
|
+ </text>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="h-220rpx" />
|
|
<view class="h-220rpx" />
|
|
|
<view
|
|
<view
|
|
|
- class="fixed bottom-0 left-0 z-100 box-border h-174rpx w-full flex items-center gap-28rpx border-t-[2rpx_solid_#EEEEEE] bg-#FFF px-24rpx"
|
|
|
|
|
|
|
+ class="fixed bottom-0 left-0 z-100 box-border h-174rpx w-full flex items-center gap-28rpx bg-#FFF px-24rpx"
|
|
|
|
|
+ style="border-top: 2rpx solid #EEEEEE;"
|
|
|
>
|
|
>
|
|
|
<view class="flex items-center gap-40rpx">
|
|
<view class="flex items-center gap-40rpx">
|
|
|
<view @click="router.replace({ name: 'attractions-tabbar' })">
|
|
<view @click="router.replace({ name: 'attractions-tabbar' })">
|
|
@@ -187,14 +352,14 @@ const orderPopup = ref(false)
|
|
|
</Zcontact>
|
|
</Zcontact>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
- <wd-button custom-class="w-546rpx" block size="large" @click="orderPopup = true">
|
|
|
|
|
- 退款申请
|
|
|
|
|
|
|
+ <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>
|
|
</wd-button>
|
|
|
</view>
|
|
</view>
|
|
|
- <Zpopup v-model="orderPopup" :zindex="9999" bg="#fff">
|
|
|
|
|
|
|
+ <Zpopup v-model="orderPopup" :showfooter="false" :zindex="9999" bg="#fff">
|
|
|
<view>
|
|
<view>
|
|
|
<view class="mt-28rpx text-center text-32rpx font-bold">
|
|
<view class="mt-28rpx text-center text-32rpx font-bold">
|
|
|
- 退款申请
|
|
|
|
|
|
|
+ {{ statusValue === 0 ? '取消订单' : '退款申请' }}
|
|
|
</view>
|
|
</view>
|
|
|
<view class="px-24rpx">
|
|
<view class="px-24rpx">
|
|
|
<view class="mt-30rpx flex items-center justify-between">
|
|
<view class="mt-30rpx flex items-center justify-between">
|
|
@@ -204,14 +369,16 @@ const orderPopup = ref(false)
|
|
|
<view class="flex items-center gap-24rpx">
|
|
<view class="flex items-center gap-24rpx">
|
|
|
<view
|
|
<view
|
|
|
class="h-36rpx w-36rpx rounded-50% bg-#F0F0F0 text-center text-28rpx text-#AAAAAA font-600 line-height-[36rpx]"
|
|
class="h-36rpx w-36rpx rounded-50% bg-#F0F0F0 text-center text-28rpx text-#AAAAAA font-600 line-height-[36rpx]"
|
|
|
|
|
+ @click="handleRefundMinus"
|
|
|
>
|
|
>
|
|
|
-
|
|
-
|
|
|
</view>
|
|
</view>
|
|
|
<view class="text-24rpx font-400">
|
|
<view class="text-24rpx font-400">
|
|
|
- 10
|
|
|
|
|
|
|
+ {{ refundNum }}
|
|
|
</view>
|
|
</view>
|
|
|
<view
|
|
<view
|
|
|
class="h-36rpx w-36rpx rounded-50% bg-#E8FFA7 text-center text-28rpx text-#9ED605 font-600 line-height-[36rpx]"
|
|
class="h-36rpx w-36rpx rounded-50% bg-#E8FFA7 text-center text-28rpx text-#9ED605 font-600 line-height-[36rpx]"
|
|
|
|
|
+ @click="handleRefundPlus"
|
|
|
>
|
|
>
|
|
|
+
|
|
+
|
|
|
</view>
|
|
</view>
|
|
@@ -223,6 +390,7 @@ const orderPopup = ref(false)
|
|
|
</view>
|
|
</view>
|
|
|
<view class="mt-20rpx rounded-16rpx bg-#F1F1F1">
|
|
<view class="mt-20rpx rounded-16rpx bg-#F1F1F1">
|
|
|
<textarea
|
|
<textarea
|
|
|
|
|
+ v-model="refundReason"
|
|
|
class="h-120rpx w-full rounded-16rpx p-24rpx"
|
|
class="h-120rpx w-full rounded-16rpx p-24rpx"
|
|
|
placeholder-style="color: #AAAAAA; font-size: 24rpx;"
|
|
placeholder-style="color: #AAAAAA; font-size: 24rpx;"
|
|
|
placeholder="请仔细填写,提交后进入审核期,不可重复提交"
|
|
placeholder="请仔细填写,提交后进入审核期,不可重复提交"
|
|
@@ -232,10 +400,11 @@ const orderPopup = ref(false)
|
|
|
</view>
|
|
</view>
|
|
|
<view class="mt-26rpx h-2rpx w-full bg-#EEEEEE" />
|
|
<view class="mt-26rpx h-2rpx w-full bg-#EEEEEE" />
|
|
|
<view class="flex items-center justify-center">
|
|
<view class="flex items-center justify-center">
|
|
|
- <wd-button custom-class="w-702rpx mt-10rpx" block size="large">
|
|
|
|
|
- 立即支付
|
|
|
|
|
|
|
+ <wd-button custom-class="w-702rpx mt-10rpx" block size="large" @click="handleCancelOrder">
|
|
|
|
|
+ 确认提交
|
|
|
</wd-button>
|
|
</wd-button>
|
|
|
</view>
|
|
</view>
|
|
|
|
|
+ <view class="h-60rpx" />
|
|
|
</view>
|
|
</view>
|
|
|
</Zpopup>
|
|
</Zpopup>
|
|
|
</view>
|
|
</view>
|