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 |   93 +++++++++++++++++++++++++---------------------
 1 files changed, 51 insertions(+), 42 deletions(-)

diff --git a/app/pages/order-detail/order-detail.vue b/app/pages/order-detail/order-detail.vue
index 5e481af..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>
 
@@ -451,7 +451,6 @@
 			this.topFixedHeight = uni.upx2px(500 + 92)
 			if (this.orderId) {
 				this.getOrderDetail()
-				this.initOperationRadius()
 			}
 		},
 
@@ -466,34 +465,45 @@
 			handleBack() {
 				uni.navigateBack({ delta: 1 });
 			},
-
 			initOperationRadius() {
-				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
-								if (!this.isWithinOperationRadius) {
-									uni.showToast({
-										title: '鎮ㄥ綋鍓嶄綅缃笌鏀惰揣鍦板潃璺濈瓒呭嚭鑼冨洿锛岃鍦ㄥ湴鍧�闄勮繎閲嶆柊鎷嶇収',
-										icon: 'none'
-									})
+				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)
 								}
-							}
-						})
-					},
-					fail: () => {
-						this.isWithinOperationRadius = false
-						uni.showToast({
-							title: '鎮ㄥ綋鍓嶄綅缃潈闄愭病鏈夊紑鍚紝璇峰厛寮�鍚悗鍐嶆潵鎿嶄綔',
-							icon: 'none'
-						})
-					}
+							}).catch(() => {
+								resolve(false)
+							})
+						},
+						fail: () => {
+							this.isWithinOperationRadius = false
+							uni.showToast({
+								title: '鎮ㄥ綋鍓嶄綅缃潈闄愭病鏈夊紑鍚紝璇峰厛寮�鍚悗鍐嶆潵鎿嶄綔',
+								icon: 'none'
+							})
+							resolve(false)
+						}
+					})
 				})
 			},
 
@@ -543,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,
@@ -634,17 +645,14 @@
 				}
 
 				if (action === 'pickup' || action === 'deliver') {
-					if (!this.isWithinOperationRadius) {
-						uni.showToast({
-							title: '鎮ㄥ綋鍓嶄綅缃笌鏀惰揣鍦板潃璺濈瓒呭嚭鑼冨洿锛岃鍦ㄥ湴鍧�闄勮繎閲嶆柊鎷嶇収',
-							icon: 'none'
-						})
-						return
-					}
-					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
 				}
 
@@ -682,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