Fix:4452 【旅居商城小程序】订单状态列表,待使用订单增加入住时间显示,查看详情区域改为修改时间、立即退款、查看券码按钮

This commit is contained in:
linxi
2025-11-12 15:33:49 +08:00
parent 7bdca767d2
commit b8f9a250fb
+70 -4
View File
@@ -161,7 +161,7 @@
</view> </view>
</view> </view>
</view> </view>
<view class="totalPrice acea-row row-between row-middle"> <view class="totalPrice acea-row row-between row-middle" :style="{'padding-bottom': order.isTravelGroup === 1 ? '0rpx !important' : '30rpx'}">
<view v-if="order.createTime"> <view v-if="order.createTime">
<span class="orderTime v12-font-24 v12-dark1-text">{{ order.createTime }}</span> <span class="orderTime v12-font-24 v12-dark1-text">{{ order.createTime }}</span>
</view> </view>
@@ -180,6 +180,12 @@
</text> </text>
</view> </view>
</view> </view>
<view class="v12-ml-4 v12-mt-2 v12-mb-2 v12-align-center">
<u-icon name="clock" color="#333" size="28rpx" bold></u-icon>
<text class="v12-font-bold v12-font-24">
入住时间: {{ order.travelGroupOrderInfo.orderStartDate }}
</text>
</view>
<view <view
v-if="!order.isGiftCardSend" v-if="!order.isGiftCardSend"
class="bottom flex jc-between ai-center" class="bottom flex jc-between ai-center"
@@ -249,10 +255,20 @@
>立即付款</view> >立即付款</view>
</template> </template>
<template v-if="parseInt(order._status._type) === 1 && order.isTickets === 0"> <template v-if="parseInt(order._status._type) === 1 && order.isTickets === 0">
<view
v-if="order.isTravelGroup === 1"
class="bnt service"
@click="editTime(order)"
>{{ '修改时间' }}</view>
<view
v-if="order.isTravelGroup === 1"
class="bnt service"
@click="applyRefund(order)"
>{{ '申请退款' }}</view>
<view <view
class="bnt service" class="bnt service"
@click="goOrderDetails(order)" @click="goOrderDetails(order)"
>查看详情</view> >{{ order.isTravelGroup === 0 ? '查看详情' : '查看券码' }}</view>
</template> </template>
<template v-if="parseInt(order._status._type) === 1 && order.isTickets === 1"> <template v-if="parseInt(order._status._type) === 1 && order.isTickets === 1">
<view <view
@@ -360,10 +376,22 @@
@close="pwdPopClose" @close="pwdPopClose"
@finish="pwdPopFinish" @finish="pwdPopFinish"
/> />
<DateRangePicker
ref="DateRangePicker"
:originDate="travelGroupOrderInfo.orderStartDate"
v-model="dateRange"
:show="showDatePicker"
:minBookingDays="travelGroupOrderInfo.minBookingDays"
:travelGroupProductId="travelGroupOrderInfo.travelGroupProduct.id"
@update:show="showDatePicker = false"
@input="handleDateSelected"
></DateRangePicker>
</view> </view>
</template> </template>
<script> <script>
import passkeyborad from '@/components/yzc-paykeyboard/yzc-paykeyboard' import passkeyborad from '@/components/yzc-paykeyboard/yzc-paykeyboard'
import DateRangePicker from '@/components/DateRangePicker/DateRangePicker.vue'
import { sojoumOrderCheckInTime } from "@/api/sojoumOrder";
import { import {
getOrderData, getOrderData,
getOrderList, getOrderList,
@@ -430,17 +458,21 @@ export default {
payType: ["yue", "weixin"], payType: ["yue", "weixin"],
from: this.$deviceType, from: this.$deviceType,
orderInfo: {}, orderInfo: {},
travelGroupOrderInfo: {},
showExtend: false, showExtend: false,
delayId: null, delayId: null,
pageKeyId: Object.freeze('userOrderIndex'), pageKeyId: Object.freeze('userOrderIndex'),
keyword: '', keyword: '',
_orderId: '' _orderId: '',
showDatePicker: false,
dateRange: []
} }
}, },
components: { components: {
Loading, Loading,
Payment, Payment,
passkeyborad passkeyborad,
DateRangePicker
}, },
computed: mapGetters(["userInfo"]), computed: mapGetters(["userInfo"]),
onShow() { onShow() {
@@ -499,6 +531,40 @@ export default {
} }
}, },
methods: { methods: {
handleDateSelected(dateRange) {
const params = {
orderId: this.orderInfo.orderId,
orderStartDate: dateRange[0],
orderEndDate: dateRange[1]
}
uni.showLoading({
title: '加载中...',
mask: true,
})
sojoumOrderCheckInTime(params).then(res => {
if (res.status === 200) {
uni.showToast({
title: '入住时间修改成功',
icon: 'success'
})
this.changeType()
}
}).finally(() => {
uni.hideLoading();
})
},
editTime(order) {
this.showDatePicker = true
this.travelGroupOrderInfo = order.travelGroupOrderInfo
this.orderInfo = order
},
applyRefund(order) {
// 这里可以添加申请退款的逻辑,比如跳转到退款页面
uni.navigateTo({
url: '/pkg_product/views/sojoumOrderRefund?id=' + order.orderId
})
},
getTime(type) { getTime(type) {
const timeMap = { const timeMap = {
1:"48小时内", 1:"48小时内",