| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 | 
							- <!-- 物流追踪 -->
 
- <template>
 
-   <s-layout title="物流追踪">
 
-     <view class="log-wrap">
 
-       <view class="log-card ss-flex" v-if="goodsImages.length > 0">
 
-         <uni-swiper-dot :info="goodsImages" :current="state.current" mode="round">
 
-           <swiper class="swiper-box" @change="change">
 
-             <swiper-item v-for="(item, index) in goodsImages" :key="index">
 
-               <image class="log-card-img" :src="sheep.$url.static(item.image)"></image>
 
-             </swiper-item>
 
-           </swiper>
 
-         </uni-swiper-dot>
 
-         <view class="log-card-msg">
 
-           <view class="ss-flex ss-m-b-8">
 
-             <view>物流状态:</view>
 
-             <view class="warning-color">{{ state.info.status_text }}</view>
 
-           </view>
 
-           <view class="ss-m-b-8">快递单号:{{ state.info.express_no }}</view>
 
-           <view>快递公司:{{ state.info.express_name }}</view>
 
-         </view>
 
-       </view>
 
-       <view class="log-content">
 
-         <view
 
-           class="log-content-box ss-flex"
 
-           v-for="(item, index) in state.info.logs"
 
-           :key="item.title"
 
-         >
 
-           <view class="log-icon ss-flex-col ss-col-center ss-m-r-20">
 
-             <text
 
-               v-if="state.info.logs[index].status === state.info.logs[index - 1]?.status"
 
-               class="cicon-title"
 
-             ></text>
 
-             <text
 
-               v-if="state.info.logs[index].status != state.info.logs[index - 1]?.status"
 
-               :class="[
 
-                 index === 0 ? 'activity-color' : 'info-color',
 
-                 item.status === 'transport'
 
-                   ? 'sicon-transport'
 
-                   : item.status === 'delivery'
 
-                   ? 'sicon-delivery'
 
-                   : item.status === 'collect'
 
-                   ? 'sicon-a-collectmaterials'
 
-                   : item.status === 'fail' || item.status === 'back' || item.status === 'refuse'
 
-                   ? 'sicon-circleclose'
 
-                   : item.status === 'signfor'
 
-                   ? 'sicon-circlecheck'
 
-                   : 'sicon-warning-outline',
 
-               ]"
 
-             ></text>
 
-             <view v-if="state.info.logs.length - 1 != index" class="line"></view>
 
-           </view>
 
-           <view class="log-content-msg">
 
-             <view
 
-               v-if="
 
-                 item.status_text &&
 
-                 state.info.logs[index].status != state.info.logs[index - 1]?.status
 
-               "
 
-               class="log-msg-title ss-m-b-20"
 
-               >{{ item.status_text }}</view
 
-             >
 
-             <view class="log-msg-desc ss-m-b-16">{{ item.content }}</view>
 
-             <view class="log-msg-date ss-m-b-40">{{ item.change_date }}</view>
 
-           </view>
 
-         </view>
 
-       </view>
 
-     </view>
 
-   </s-layout>
 
- </template>
 
- <script setup>
 
-   import sheep from '@/sheep';
 
-   import { onLoad } from '@dcloudio/uni-app';
 
-   import { computed, reactive } from 'vue';
 
-   const state = reactive({
 
-     info: [],
 
-     current: 0,
 
-   });
 
-   const goodsImages = computed(() => {
 
-     let array = [];
 
-     if (state.info.items) {
 
-       state.info.items.forEach((item) => {
 
-         array.push({
 
-           image: item.goods_image,
 
-         });
 
-       });
 
-     }
 
-     return array;
 
-   });
 
-   function change(e) {
 
-     state.current = e.detail.current;
 
-   }
 
-   async function getExpressdetail(id, orderId) {
 
-     const { data } = await sheep.$api.order.express(id, orderId);
 
-     state.info = data;
 
-   }
 
-   onLoad((Option) => {
 
-     getExpressdetail(Option.id, Option.orderId);
 
-   });
 
- </script>
 
- <style lang="scss" scoped>
 
-   .swiper-box {
 
-     width: 200rpx;
 
-     height: 200rpx;
 
-   }
 
-   .log-card {
 
-     border-top: 2rpx solid rgba(#dfdfdf, 0.5);
 
-     padding: 20rpx;
 
-     background: #fff;
 
-     margin-bottom: 20rpx;
 
-     .log-card-img {
 
-       width: 200rpx;
 
-       height: 200rpx;
 
-       margin-right: 20rpx;
 
-     }
 
-     .log-card-msg {
 
-       font-size: 28rpx;
 
-       font-weight: 500;
 
-       width: 490rpx;
 
-       color: #333333;
 
-       .warning-color {
 
-         color: #999;
 
-       }
 
-     }
 
-   }
 
-   .log-content {
 
-     padding: 34rpx 20rpx 0rpx 20rpx;
 
-     background: #fff;
 
-     .log-content-box {
 
-       align-items: stretch;
 
-     }
 
-     .log-icon {
 
-       height: inherit;
 
-       .cicon-title {
 
-         color: #ccc;
 
-         font-size: 40rpx;
 
-       }
 
-       .activity-color {
 
-         color: #f0c785;
 
-         font-size: 40rpx;
 
-       }
 
-       .info-color {
 
-         color: #ccc;
 
-         font-size: 40rpx;
 
-       }
 
-       .line {
 
-         width: 1px;
 
-         height: 100%;
 
-         background: #d8d8d8;
 
-       }
 
-     }
 
-     .log-content-msg {
 
-       .log-msg-title {
 
-         font-size: 28rpx;
 
-         font-weight: bold;
 
-         color: #333333;
 
-       }
 
-       .log-msg-desc {
 
-         font-size: 24rpx;
 
-         font-weight: 400;
 
-         color: #333333;
 
-         line-height: 36rpx;
 
-       }
 
-       .log-msg-date {
 
-         font-size: 24rpx;
 
-         font-weight: 500;
 
-         color: #999999;
 
-       }
 
-     }
 
-   }
 
- </style>
 
 
  |