doum
2026-04-30 7a0b33a5f2e0ba589bf35a1b8d896700a21f94a4
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">
@@ -559,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
               }
@@ -577,7 +578,11 @@
                  uni.canvasToTempFilePath({
                     canvasId: 'qrcodeCanvas',
                     success: (res) => {
                        console.log("showQrcodeImg-------成功",res)
                        that.qrcodeImage = res.tempFilePath
                     },
                     fail: (err) => {
                        console.log("showQrcodeImg-------失败",err)
                     }
                  }, this)
               }, 100)
@@ -624,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],
@@ -639,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
                  }]
                  
@@ -652,7 +676,7 @@
                        latitude: driverLat,
                        longitude: driverLng,
                        iconPath: '/static/icon/start.png',
                        width: 30,
                        width: 35,
                        height: 40,
                        anchor: { x: 0.5, y: 1 }
                     },
@@ -661,7 +685,7 @@
                        latitude: depositShopLat,
                        longitude: depositShopLng,
                        iconPath: '/static/icon/end.png',
                        width: 30,
                        width: 35,
                        height: 40,
                        anchor: { x: 0.5, y: 1 }
                     },
@@ -670,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)'
                        }
                     }
                  ]
                  
@@ -864,8 +897,6 @@
            border-radius: 16rpx;
            margin-top: 30rpx;
            map {
               width: 100%;
               height: 362rpx;
               border-radius: 16rpx;
            }
            .addr {
@@ -1071,7 +1102,7 @@
                  width: 360rpx;
                  height: 360rpx;
               }
               canvas {
               #qrcodeCanvas {
                  position: fixed;
                  top: -100%;
                  left: -100%;