rk
2026-05-22 552238172036acf08ccf36134282a06b5e21b936
small-program/shop/pages/orders/orders.vue
@@ -1,6 +1,12 @@
<template>
   <view class="itinerary-page">
     <view class="top-fixed">
         <view class="top-search">
            <view class="searchbox">
               <u-icon name="search" color="#999999" size="28"></u-icon>
               <input class="search-input" v-model="keyword" @confirm="getFirstPageData" type="text" placeholder="输入姓名、电话、订单编号搜索">
            </view>
         </view>
         <view class="top-inner">
            <scroll-view scroll-x class="tabs-row page-padding" style="padding: 0 0 0 30rpx !important;" show-scrollbar="false">
               <view class="tabs-inner">
@@ -90,6 +96,7 @@
                        <text class="insurance-label">含行李保费:</text>
                        <text class="insurance-value">{{((item.declaredFee || 0)/100).toFixed(2) }}</text>
                     </view>
                     <view class="yichang" v-if="item.abnormalOrder === 1">异常转存</view>
                  </view>
               </view>
@@ -97,8 +104,8 @@
                  <view class="footer-actions" >
                     <view class="footer-btn contact-btn" @click="contactPhoneDo(item.takePhone)" v-if="item.status === 1 || item.status === 5" >联系客户</view>
                        <view class="footer-btn contact-btn" @click="contactPhoneDo(item.driverPhone)" v-if="item.type ===1&&(item.status === 4 || item.status === 3)">联系骑手</view>
                     <view class="footer-btn primary-btn" v-if="item.status ===1 ||item.status ===4 " @click="hexiaoOrder(item)" >收件核销</view>
                     <view class="footer-btn primary-btn" v-if="item.status ===5 &&(item.overdueStatus ==0 || item.overdueStatus == 1)" @click="hexiaoOrder(item)" >确认到店</view>
                     <view class="footer-btn primary-btn" v-if="[1,4].includes(item.status) && item.takeShopId" @click="hexiaoOrder(item)" >收件核销</view>
                     <view class="footer-btn primary-btn" v-if="item.status ===5 &&(item.overdueStatus ==0 || item.overdueStatus == 1) && item.takeShopId" @click="hexiaoOrder(item)" >确认到店</view>
                     <view class="footer-btn primary-btn" v-if="item.status ===5 && (item.overdueStatus == 4 || item.overdueStatus == 2)" @click="hexiaoOrder(item)" >取件核销</view>
                  </view>
               </view>
@@ -126,6 +133,7 @@
            pageSize: 10,
            currentPage: 1,
            total:0,
            keyword:'',
            hasNext:true,
            isLoadingMore: false,
            currentOrder:null,
@@ -214,7 +222,8 @@
               res = await that.$u.api.shopOrderPage({
                     capacity:10,
                     model: {
                        combinedStatus: this.activeTab == -1?'':this.activeTab
                        combinedStatus: this.activeTab == -1?'':this.activeTab,
                        keyword: this.keyword
                     },
                     page:this.currentPage
                  });
@@ -269,6 +278,38 @@
      height: 100%;
      background: #ffffff;
      // background: linear-gradient(90deg, #1ba8fa 0%, #73e5cf 100%);
   }
   .top-search {
      width: 100%;
      height: 88rpx;
      padding: 8rpx 30rpx;
      box-sizing: border-box;
      display: flex;
      align-items: center;
      background: #ffffff;
   }
   .searchbox {
      width: 100%;
      display: flex;
      align-items: center;
      background: #F9F9FB;
      padding: 0 30rpx;
      box-sizing: border-box;
      border: 1rpx solid #EEEEEE;
   }
   .search-input {
      flex: 1;
      height: 72rpx;
      background: #F9F9FB;
      border-radius: 16rpx;
      border: 1rpx solid #EEEEEE;
      font-weight: 400;
      font-size: 26rpx;
      color: #333333;
      margin-left: 16rpx;
   }
   .top-inner {
@@ -394,6 +435,7 @@
   .mode-tag {
      width: 112rpx;
      height: 38rpx;
      line-height: 38rpx;
      border-radius: 8rpx;
      display: flex;
      align-items: baseline;
@@ -463,6 +505,13 @@
      border-top: 3rpx solid #ff8c1f;
   }
   .yichang {
      font-weight: 400;
      font-size: 24rpx;
      color: #FF0000;
      margin-top: 12rpx;
   }
   .arrow-head {
      position: absolute;
      right: 8rpx;