MrShi
2026-05-22 fbc074229fd4736f1ae2793c9daebf04726188b2
small-program/pages/itinerary/itinerary.vue
@@ -95,19 +95,20 @@
                  <view class="amount-area">
                     <view class="pay-row">
                        <text class="pay-label">实付款:</text>
                        <text class="pay-value">{{((item.estimatedAmount || 0)/100).toFixed(2) }}</text>
                        <text class="pay-value">{{(((item.estimatedAmount || 0) - (item.deductionAmount || 0)) / 100).toFixed(2) }}</text>
                     </view>
                     <view class="insurance-row">
                        <text class="insurance-label">含行李保费:</text>
                        <text class="insurance-value">{{((item.declaredFee || 0)/100).toFixed(2) }}</text>
                     </view>
                     <view class="yichang" v-if="item.type === 0 && item.abnormalOrder === 1">异常转存</view>
                  </view>
               </view>
               <view class="card-footer">
                  <view class="footer-actions" v-if="item.type===0">
                     <view class="footer-btn contact-btn" @click="contactPhone(item,0)" v-if="item.status ===1 ||item.status ===5 || item.status==2 || item.status===98">联系门店</view>
                      <view class="footer-btn contact-btn" v-if="item.status ===0 || item.status ===1"  @click="cancelOrder(item)">取消订单</view>
                      <view class="footer-btn contact-btn" v-if="[0,1].includes(item.status) && item.abnormalOrder !== 1"  @click="cancelOrder(item)">取消订单</view>
                     <view class="footer-btn contact-btn" @click="deleteOrder(item)" v-if="item.status ===7 || item.status===96 || item.status == 99">删除订单</view>
                     <view class="footer-btn primary-btn"  @click="payOrder(item)" v-if="item.status ===0">立即支付</view>
                     <view class="footer-btn primary-btn" @click="payOrderFee(item)" v-if="item.status ===5 && item.overdueStatus===3 ">立即支付</view>
@@ -209,7 +210,8 @@
               <view  style="margin-bottom: 30rpx;">
                  <text class="pickup-code" style="font-size: 48rpx;">行李编号:{{ currentOrder.sortnum||'' }}</text>
                  <view class="pickup-code" style="margin-left: 60rpx;font-size: 28rpx;text-align: left;font-weight: normal;">用户:{{currentOrder.takeUser||''}}({{currentOrder.takePhone||''}})</view>
                  <view class="pickup-code" style="margin-left: 60rpx;font-size: 28rpx;text-align: left;font-weight: normal;">门店:{{currentOrder.depositShopName||''}}</view>
                  <view class="pickup-code" style="margin-left: 60rpx;font-size: 28rpx;text-align: left;font-weight: normal;" v-if="currentOrder.type === 1">门店:{{ currentOrder.status === 1 ? currentOrder.depositShopName||'' : currentOrder.status === 5 ? currentOrder.takeShopName||'' : ''}}</view>
                  <view class="pickup-code" style="margin-left: 60rpx;font-size: 28rpx;text-align: left;font-weight: normal;" v-else>门店:{{ currentOrder.depositShopName||'' }}</view>
                  <view class="item-form-list" style="align-items:baseline;" v-if="currentOrder && currentOrder.orderImages && currentOrder.orderImages.length">
                     <view class="item-form-list-row" v-for="(item,index) in currentOrder.orderImages" key="item">
                        <image :src="item" mode="widthFix" @click="previewImage(currentOrder.orderImages,index)"  ></image>
@@ -217,7 +219,7 @@
                  </view>
                  </view>
               <view class="qrcode-box">
                  <canvas canvas-id="qrcodeCanvas" id="qrcodeCanvas" style="width: 100px; height: 100px;"></canvas>
                  <canvas canvas-id="qrcodeCanvas" id="qrcodeCanvas" style="width: 100px; height: 100px; position: fixed; top: -100%; left: -100%; z-index: -1;"></canvas>
                  <image class="qrcode-image" :src="qrcodeImage" mode="widthFix"></image>
               </view>
               <text class="pickup-code">核销码:{{ currentOrder.memberVerifyCode||'' }}</text>
@@ -282,6 +284,7 @@
         /* if (options.status != null && options.status != undefined) {
            this.activeTab =  Number(options.status)
         } */
         this.getFirstPageData()
         var that =this
         uni.$on('updateOrder',function(data){
            console.log('监听到事件来自 update ,携带参数 msg 为:' ,data);
@@ -298,33 +301,26 @@
                  }
               }) 
            }
          })
      },
      onShow() {
         this.activeTab = -1
         this.showDone=false
         this.showCancel=false
         this.showDelete=false
         this.showQrcode=false
         this.showPay=false
         this.contanctType =0
         this.showPhone=false
         this.loading=false
         this.currentOrder=null
         this.linkItem={title:'',linkname:'',linkphone:''}
         var orderStatus = uni.getStorageSync("orderStatus");
         console.log(orderStatus,"==================")
         if (orderStatus != null &&orderStatus != undefined ) {
          uni.$on('shuaxin', (orderStatus) => {
            this.activeTab = -1
            this.showDone=false
            this.showCancel=false
            this.showDelete=false
            this.showQrcode=false
            this.showPay=false
            this.contanctType =0
            this.showPhone=false
            this.loading=false
            this.currentOrder=null
            this.linkItem={title:'',linkname:'',linkphone:''}
            if( Number(orderStatus) === -2){
               this.activeTab = 0
            } else if( Number(orderStatus) !== 0 ){
               this.activeTab =  Number(orderStatus)
            }
         }
         uni.clearStorageSync("orderStatus")
         this.getFirstPageData()
            this.getFirstPageData()
          })
      },
      onReachBottom(){
         this.getDataList();
@@ -583,7 +579,7 @@
         },
         evaluateOrder(item){
            uni.navigateTo({
               url:"/pages/evaluate/evaluate?id="+item.id
               url:`/pages/evaluate/evaluate?id=${item.id}&type=${item.type}&takeShopId=${item.takeShopId || ''}`
            })
         }
      }
@@ -773,6 +769,7 @@
   .mode-tag {
      width: 112rpx;
      height: 38rpx;
      line-height: 38rpx;
      border-radius: 8rpx;
      display: flex;
      align-items: baseline;
@@ -938,7 +935,7 @@
      padding: 0 30rpx;
      box-sizing: border-box;
      display: flex;
      align-items: flex-end;
      align-items: end;
   }
   .amount-area {
      width: 50%;
@@ -969,6 +966,13 @@
   }
   .insurance-row {
      margin-top: 12rpx;
   }
   .yichang {
      font-weight: 400;
      font-size: 24rpx;
      color: #FF0000;
      margin-top: 12rpx;
   }
@@ -1024,6 +1028,7 @@
      font-size: 28rpx;
      box-sizing: border-box;
      margin-right: 20rpx;
      white-space: nowrap;
      &:last-child {
         margin: 0 !important;
      }
@@ -1033,6 +1038,7 @@
      border: 1rpx solid #B2B2B2;
      background: #ffffff;
      color: #666666;
      white-space: nowrap;
   }
   .primary-btn {