From 7a0b33a5f2e0ba589bf35a1b8d896700a21f94a4 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期四, 30 四月 2026 16:00:55 +0800
Subject: [PATCH] 支付宝支付dddadd

---
 small-program/pages/delivery-order-detail/delivery-order-detail.vue |   80 +++++++++++++++++++++++++++++++--------
 1 files changed, 63 insertions(+), 17 deletions(-)

diff --git a/small-program/pages/delivery-order-detail/delivery-order-detail.vue b/small-program/pages/delivery-order-detail/delivery-order-detail.vue
index b50e23e..0388a60 100644
--- a/small-program/pages/delivery-order-detail/delivery-order-detail.vue
+++ b/small-program/pages/delivery-order-detail/delivery-order-detail.vue
@@ -26,8 +26,7 @@
 					:scale="mapScale" 
 					:markers="markers" 
 					:polyline="polyline"
-					show-location
-					style="width: 100%; height: 100%;"
+					style="width: 100%; height: 362rpx;"
 				></map>
 			</view>
 			<view class="item">
@@ -53,7 +52,8 @@
 				<view class="item-qrcode" v-if=" (info.type ===0 && info.status >=1 &&info.status <7) || (info.type ===1 && (info.status ===1 || (info.takeShopId && info.status ===5)))">
 					<!-- <image src="/static/image/btn_upload@2x.png" mode="widthFix"></image> -->
 					<view style="width: 360rpx; height: 360rpx;">
-						<canvas canvas-id="qrcodeCanvas" id="qrcodeCanvas" style="width: 180px; height: 180px;"></canvas>
+						<canvas canvas-id="qrcodeCanvas" id="qrcodeCanvas":style="'width: '+width+'px; height:'+height+'px;'"></canvas>
+						<image class="qrcode-image" :src="qrcodeImage" mode="widthFix"></image>
 					</view>
 					<text>{{info.memberVerifyCode || ''}}</text>
 					<text @tap="copyCode(info.memberVerifyCode||'')">鏍搁攢鐮�</text>
@@ -228,7 +228,7 @@
 			</view>
 			<view style="width: 100%; height: calc(210rpx + env(safe-area-inset-bottom));"></view>
 		</view>
-		<view class="tips" v-if="info.overdueStatus !==0">
+		<view class="tips" v-if="info.overdueStatus !==0 && info.overdueStatus !==2">
 			<image src="/static/icon/ic_waring@2x.png" mode="widthFix"></image>
 			<text  v-if="info.overdueStatus ===1">宸茶秴杩囧彇浠舵椂闂达紝宸蹭骇鐢熻秴鏃惰垂鐢細楼{{((info.overdueFee || 0)/100).toFixed(2)}}鍏�</text> 
 			<text  v-if="info.overdueStatus ===3">宸茶秴杩囧彇浠舵椂闂达紝闇�瑕佹敮浠樿秴鏃惰垂鐢細楼{{((info.overdueFee || 0)/100).toFixed(2)}}鍏�</text>
@@ -348,6 +348,8 @@
 		data() {
 			return {
 				id:null,
+				height:180,
+				width:180,
 				info:{},
 				showDone:false,
 				showCancel:false,
@@ -376,6 +378,8 @@
 			this.showPay=false
 			this.showPhone=false
 			this.getUserDetail() 
+			this.width = this.rpxToPx(360)
+			this.height = this.rpxToPx(360)
 			this.linkItem={title:'',linkname:'',linkphone:''}
 		},
 		methods:{
@@ -384,6 +388,9 @@
 					current: index, 
 					urls: images  
 				});
+			},
+			rpxToPx(rpx) {
+			  return rpx * wx.getSystemInfoSync().windowWidth / 750
 			},
 			payOrder(){
 				var that = this;
@@ -534,8 +541,8 @@
 					drawQrcode({
 						canvasId: 'qrcodeCanvas1',
 						text: this.info.memberVerifyCode,
-						width: 100,
-						height: 100,
+						width: this.rpxToPx(360),
+						height: this.rpxToPx(360),
 						correctLevel: 2
 					})
 					setTimeout(() => {
@@ -551,8 +558,10 @@
 				}
 			},
 			async showQrcodeImg(){
+				console.log("showQrcodeImg")
 				if((this.info.type ===0 && this.info.status >=1 &&this.info.status <7) 
 				|| (this.info.type ===1 && (this.info.status ===1 || (this.info.takeShopId && this.info.status ===5)))){
+					console.log("showQrcodeImg-------杩涘叆")
 					if(this.qrcodeImage){
 						return
 					}
@@ -561,15 +570,19 @@
 					drawQrcode({
 						canvasId: 'qrcodeCanvas',
 						text: this.info.memberVerifyCode,
-						width: 180,
-						height: 180,
+						width: this.rpxToPx(360),
+						height: this.rpxToPx(360),
 						correctLevel: 2
 					})
 					setTimeout(() => {
 						uni.canvasToTempFilePath({
 							canvasId: 'qrcodeCanvas',
 							success: (res) => {
+								console.log("showQrcodeImg-------鎴愬姛",res)
 								that.qrcodeImage = res.tempFilePath
+							},
+							fail: (err) => {
+								console.log("showQrcodeImg-------澶辫触",err)
 							}
 						}, this)
 					}, 100)
@@ -616,12 +629,18 @@
 					destination: depositShopLng + ',' + depositShopLat,
 					success: function(data) {
 						var points = []
+						var duration = 0
+						console.log("data",data)
 						if (data.paths && data.paths.length > 0) {
 							var path = data.paths[0]
+							duration = path.duration || 0
 							for (var i = 0; i < path.steps.length; i++) {
 								var step = path.steps[i]
-								var stepPoints = step.Polyline.split(';')
+								var polylineStr = step.Polyline || step.polyline
+								if (!polylineStr) continue
+								var stepPoints = polylineStr.split(';')
 								for (var j = 0; j < stepPoints.length; j++) {
+									if (!stepPoints[j]) continue
 									var point = stepPoints[j].split(',')
 									points.push({
 										latitude: point[1],
@@ -631,10 +650,23 @@
 							}
 						}
 						
+						var expectedTime = ''
+						if (duration > 0) {
+							var now = new Date()
+							var arrivalTime = new Date(now.getTime() + duration * 1000)
+							var month = arrivalTime.getMonth() + 1
+							var day = arrivalTime.getDate()
+							var hours = arrivalTime.getHours()
+							var minutes = arrivalTime.getMinutes()
+							expectedTime = month + '.' + (day < 10 ? '0' + day : day) + ' ' + (hours < 10 ? '0' + hours : hours) + ':' + (minutes < 10 ? '0' + minutes : minutes)
+						}
+						
+						console.log("points", points)
+						
 						that.polyline = [{
 							points: points,
-							color: '#004096',
-							width: 6,
+							color: '#10c27b',
+							width: 10,
 							arrowLine: true
 						}]
 						
@@ -644,7 +676,7 @@
 								latitude: driverLat,
 								longitude: driverLng,
 								iconPath: '/static/icon/start.png',
-								width: 30,
+								width: 35,
 								height: 40,
 								anchor: { x: 0.5, y: 1 }
 							},
@@ -653,7 +685,7 @@
 								latitude: depositShopLat,
 								longitude: depositShopLng,
 								iconPath: '/static/icon/end.png',
-								width: 30,
+								width: 35,
 								height: 40,
 								anchor: { x: 0.5, y: 1 }
 							},
@@ -662,9 +694,18 @@
 								latitude: driverLat,
 								longitude: driverLng,
 								iconPath: '/static/icon/dizhi.png',
-								width: 24,
+								width: 30,
 								height: 30,
-								anchor: { x: 0.5, y: 0.5 }
+								anchor: { x: 0.5, y: 0.5 },
+								callout: {
+									content: '棰勮鍒板簵鏃堕棿\n' + expectedTime,
+									color: '#222222',
+									fontSize: 14,
+									borderRadius: 4,
+									padding: 8,
+									display: 'ALWAYS',
+									bgColor: 'rgba(255, 255, 255, 0.95)'
+								}
 							}
 						]
 						
@@ -856,8 +897,6 @@
 				border-radius: 16rpx;
 				margin-top: 30rpx;
 				map {
-					width: 100%;
-					height: 362rpx;
 					border-radius: 16rpx;
 				}
 				.addr {
@@ -1063,6 +1102,12 @@
 						width: 360rpx;
 						height: 360rpx;
 					}
+					#qrcodeCanvas {
+						position: fixed;
+						top: -100%;
+						left: -100%;
+						opacity: 0;
+					}
 					text {
 						&:nth-child(2) {
 							font-weight: 600;
@@ -1158,6 +1203,7 @@
 							flex-wrap: wrap;
 							align-items: center;
 							justify-content: space-between;
+							gap: 20rpx;
 							.item-form-list-row {
 								width: 88rpx;
 								height: 88rpx;

--
Gitblit v1.9.3