| | |
| | | import { onLoad, onShow } from '@dcloudio/uni-app' |
| | | import AppNav from '@/components/app-nav/app-nav.vue' |
| | | import CancelOrderSheet from '@/components/cancel-order-sheet/cancel-order-sheet.vue' |
| | | import { getMiniOrders } from '@/services/order' |
| | | import { cancelTourOrder, getMiniOrders } from '@/services/order' |
| | | import { isLoggedIn, useLoginGuard } from '@/utils/auth-guard' |
| | | |
| | | useLoginGuard('/pages/orders/index') |
| | |
| | | |
| | | const statusTextMap = { |
| | | pendingPay: '待付款', |
| | | pendingAccept: '待接单', |
| | | pendingGuide: '待讲解', |
| | | serving: '讲解中', |
| | | pendingReview: '待评价', |
| | |
| | | const loading = ref(false) |
| | | const cancelSheetVisible = ref(false) |
| | | const selectedCancelOrder = ref(null) |
| | | const cancelingOrder = ref(false) |
| | | let requestSequence = 0 |
| | | |
| | | const hasMore = computed(() => orders.value.length < total.value) |
| | |
| | | return |
| | | } |
| | | |
| | | if (order.status === 'pendingAccept') { |
| | | uni.navigateTo({ |
| | | url: `/pages/order-waiting/index?orderId=${order.id}` |
| | | }) |
| | | return |
| | | } |
| | | |
| | | if (order.status === 'pendingGuide') { |
| | | uni.navigateTo({ |
| | | url: `/pages/order-pending-guide/index?id=${order.id}` |
| | |
| | | cancelSheetVisible.value = false |
| | | } |
| | | |
| | | function confirmCancelOrder() { |
| | | async function confirmCancelOrder() { |
| | | const orderId = selectedCancelOrder.value && selectedCancelOrder.value.id |
| | | cancelSheetVisible.value = false |
| | | if (!orderId || cancelingOrder.value) return |
| | | |
| | | cancelingOrder.value = true |
| | | try { |
| | | await cancelTourOrder(orderId) |
| | | } catch (error) { |
| | | uni.showToast({ title: error.message || '取消订单失败', icon: 'none' }) |
| | | return |
| | | } finally { |
| | | cancelingOrder.value = false |
| | | selectedCancelOrder.value = null |
| | | } |
| | | |
| | | uni.navigateTo({ |
| | | url: `/pages/order-canceled/index${orderId ? `?id=${orderId}` : ''}` |
| | | url: `/pages/order-canceled/index?id=${orderId}` |
| | | }) |
| | | } |
| | | </script> |
| | |
| | | color: #ff9f1a; |
| | | } |
| | | |
| | | .order-card__status--pendingAccept, |
| | | .order-card__status--pendingGuide, |
| | | .order-card__status--serving { |
| | | color: #278bff; |