From ea2fb93a0dfcde8f5b66825b20f9d9b835a28acc Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 22 五月 2026 10:54:09 +0800
Subject: [PATCH] 提交
---
app/pages/order-detail/order-detail.vue | 67 +++++++++++++++++++++++++++++----
1 files changed, 59 insertions(+), 8 deletions(-)
diff --git a/app/pages/order-detail/order-detail.vue b/app/pages/order-detail/order-detail.vue
index 1b35417..69ba6a6 100644
--- a/app/pages/order-detail/order-detail.vue
+++ b/app/pages/order-detail/order-detail.vue
@@ -57,7 +57,7 @@
</view>
<view class="order-detail-page__summary-right">
- <text class="order-detail-page__price">楼{{ orderDetail.platformRewardAmount ? (orderDetail.driverFee + orderDetail.platformRewardAmount) / 100 : (orderDetail.driverFee / 100).toFixed(2) }}</text>
+ <text class="order-detail-page__price">楼{{ orderDetail.platformRewardAmount ? ((orderDetail.driverFee + orderDetail.platformRewardAmount) / 100).toFixed(2) : (orderDetail.driverFee / 100).toFixed(2) }}</text>
<text v-if="orderDetail.platformRewardAmount" class="order-detail-page__extra">鍚姞鎬ヂ{ (orderDetail.platformRewardAmount / 100).toFixed(2) }}</text>
</view>
</view>
@@ -73,9 +73,9 @@
</view>
<view class="order-detail-page__done-summary-right">
<view class="order-detail-page__done-price-row">
- <text class="order-detail-page__price">楼{{ (orderDetail.driverFee / 100).toFixed(1) }}</text>
+ <text class="order-detail-page__price">楼{{ (orderDetail.driverFee / 100).toFixed(2) }}</text>
</view>
- <text v-if="orderDetail.isUrgent === 1" class="order-detail-page__extra">鍚姞鎬ヂ{ orderDetail.urgentAmount / 100 }}</text>
+ <text v-if="orderDetail.isUrgent === 1" class="order-detail-page__extra">鍚姞鎬ヂ{ (orderDetail.urgentAmount / 100).toFixed(2) }}</text>
</view>
</view>
@@ -119,7 +119,7 @@
<image class="order-detail-page__qrcode-image" :src="'https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=' + orderDetail.driverVerifyCode" mode="aspectFit"></image>
</view>
<text class="order-detail-page__qrcode-value">{{ orderDetail.driverVerifyCode }}</text>
- <text class="order-detail-page__qrcode-label">鍙栬揣鐮�</text>
+ <text class="order-detail-page__qrcode-label">{{ orderDetail.status === 3 ? '鍙栬揣鐮�' : '瀛樹欢鐮�' }}</text>
</view>
</view>
@@ -306,6 +306,7 @@
locationTimer: null,
distance: 0,
duration: 0,
+ isWithinOperationRadius: true,
statusTextMap: {
2: '寰呮帴鍗�',
3: '寰呭彇璐�',
@@ -452,16 +453,60 @@
this.getOrderDetail()
}
},
+
onUnload() {
if (this.locationTimer) {
clearInterval(this.locationTimer)
this.locationTimer = null
}
},
+
methods: {
handleBack() {
uni.navigateBack({ delta: 1 });
},
+ initOperationRadius() {
+ console.log('initOperationRadius')
+ return new Promise((resolve) => {
+ uni.getLocation({
+ type: 'gcj02',
+ success: (res) => {
+ this.$u.api.checkDriverOperationRadius({
+ lat: res.latitude,
+ lng: res.longitude,
+ orderId: this.orderId
+ }).then(res => {
+ if (res.code === 200) {
+ this.isWithinOperationRadius = res.data
+ console.log(res.data)
+ if (!this.isWithinOperationRadius) {
+ uni.showToast({
+ title: '鎮ㄥ綋鍓嶄綅缃笌鏀惰揣鍦板潃璺濈瓒呭嚭鑼冨洿锛岃鍦ㄥ湴鍧�闄勮繎閲嶆柊鎷嶇収',
+ icon: 'none'
+ })
+ resolve(false)
+ } else {
+ resolve(true)
+ }
+ } else {
+ resolve(false)
+ }
+ }).catch(() => {
+ resolve(false)
+ })
+ },
+ fail: () => {
+ this.isWithinOperationRadius = false
+ uni.showToast({
+ title: '鎮ㄥ綋鍓嶄綅缃潈闄愭病鏈夊紑鍚紝璇峰厛寮�鍚悗鍐嶆潵鎿嶄綔',
+ icon: 'none'
+ })
+ resolve(false)
+ }
+ })
+ })
+ },
+
getOrderDetail() {
this.$u.api.orderDetail({ orderId: this.orderId }).then(res => {
if (res.code === 200) {
@@ -508,6 +553,7 @@
}
const from = `${this.currentLocation.latitude},${this.currentLocation.longitude}`
const to = `${this.orderDetail.navigateLng},${this.orderDetail.navigateLat}`
+ console.log('driverType', this.userInfo.driverType)
this.$u.api.directionInfo({
from,
to,
@@ -599,10 +645,14 @@
}
if (action === 'pickup' || action === 'deliver') {
- this.uploadedPhotos = []
- this.photoRemark = ''
- this.photoPopupMode = action
- this.showPhotoPopup = true
+ this.initOperationRadius().then((isValid) => {
+ console.log(isValid)
+ if (!isValid) return
+ this.uploadedPhotos = []
+ this.photoRemark = ''
+ this.photoPopupMode = action
+ this.showPhotoPopup = true
+ })
return
}
@@ -640,6 +690,7 @@
if (res.code === 200) {
uni.showToast({ title: '鎺ュ崟鎴愬姛', icon: 'success' })
this.getOrderDetail()
+ uni.$emit('jiedanSuccess')
setTimeout(() => {
uni.navigateBack()
}, 1500)
--
Gitblit v1.9.3