| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232 | 
							- <!-- 物流追踪 -->
 
- <template>
 
- 	<s-layout :title="$t('order.logistics_tracking')">
 
- 		<view class="log-wrap">
 
- 			<!-- 商品信息 -->
 
- 			<view class="log-card ss-flex ss-m-20 ss-r-10" v-if="goodsImages.length > 0">
 
- 				<uni-swiper-dot :info="goodsImages" :current="state.current" mode="round">
 
- 					<swiper class="swiper-box">
 
- 						<swiper-item v-for="(item, index) in goodsImages" :key="index">
 
- 							<view class="image-container" style="width: 100%; height: 100%;">
 
- 								<view style="width: 100%;height: 106rpx;padding-top: 15%;">
 
- 									<image class="log-card-img" mode="aspectFill" :src="sheep.$url.static(item.image)" style="width: 100%;height: 100%;object-fit: cover;"/>
 
- 								</view>
 
- 							</view>
 
- 						</swiper-item>
 
- 					</swiper>
 
- 				</uni-swiper-dot>
 
- 				<view class="log-card-msg">
 
- 					<!-- TODO 非繁人:优化点:展示状态 -->
 
- 					<!--          <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-16 TrackingNumber">{{$t('order.tracking_number')+":"+ state.info.logisticsNo }}</view>
 
- 					<view class="ss-m-b-16">{{$t('order.courier_company')+":"+  state.info.logisticsName }}</view>
 
- 					<view>
 
- 						{{ $t('order.shipping_time')+":"+  sheep.$helper.timeFormat(state.info.deliveryTime, 'yyyy-mm-dd hh:MM') }}</view>
 
- 				</view>
 
- 			</view>
 
- 			<!-- 物流轨迹 -->
 
- 			<view class="log-content ss-m-20 ss-r-10">
 
- 				<view class="log-content-box ss-flex" v-for="(item, index) in state.tracks" :key="item.title">
 
- 					<view class="log-icon ss-flex-col ss-col-center ss-m-r-20">
 
- 						<text class="cicon-title" />
 
- 						<view v-if="state.tracks.length - 1 !== index" class="line" />
 
- 					</view>
 
- 					<view class="log-content-msg">
 
- 						<!-- TODO 非繁人:优化点:展示状态 -->
 
- 						<!--            <view 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">
 
- 							{{ sheep.$helper.timeFormat(item.time, 'yyyy-mm-dd hh:MM:ss') }}
 
- 						</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';
 
- 	import OrderApi from '@/sheep/api/trade/order';
 
- 	const state = reactive({
 
- 		info: [],
 
- 		tracks: [],
 
- 	});
 
- 	const goodsImages = computed(() => {
 
- 		let array = [];
 
- 		if (state.info.items) {
 
- 			state.info.items.forEach((item) => {
 
- 				array.push({
 
- 					image: item.picUrl,
 
- 				});
 
- 			});
 
- 		}
 
- 		return array;
 
- 	});
 
- 	async function getExpressDetail(id) {
 
- 		const {
 
- 			data
 
- 		} = await OrderApi.getOrderExpressTrackList(id);
 
- 		state.tracks = data;
 
- 	}
 
- 	async function getOrderDetail(id) {
 
- 		const {
 
- 			data
 
- 		} = await OrderApi.getOrder(id)
 
- 		state.info = data;
 
- 	}
 
- 	onLoad((options) => {
 
- 		getExpressDetail(options.id);
 
- 		getOrderDetail(options.id);
 
- 	});
 
- </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;
 
- 		display: flex;
 
- 		justify-content: stretch;
 
- 		.uni-swiper__warp {
 
- 			border-radius: 8rpx;
 
- 			margin-right: 16rpx;
 
- 			height: 156rpx;
 
- 			border: 2rpx solid #f6f6f6;
 
- 		}
 
- 		// .image-container {
 
- 		// 	width: 100%;
 
- 		// 	/* 容器宽度100% */
 
- 		// 	position: relative;
 
- 		// 	/* 相对定位 */
 
- 		// 	overflow: hidden;
 
- 		// 	/* 隐藏超出部分 */
 
- 		// 	padding-top: 56.25%;
 
- 		// 	/* 9 / 16 = 0.5625, 即56.25% */
 
- 		// }
 
- 		// .log-card-img {
 
- 		// 	position: absolute;
 
- 		// 	/* 绝对定位 */
 
- 		// 	top: 0;
 
- 		// 	left: 0;
 
- 		// 	width: 100%;
 
- 		// 	/* 图片宽度100% */
 
- 		// 	height: 100%;
 
- 		// 	/* 高度自动调整 */
 
- 		// 	object-fit: cover;
 
- 		// 	/* 覆盖填充方式,保持宽高比 */
 
- 		// }
 
- 		uni-image>div {
 
- 			background-size: contain;
 
- 			background-position: center;
 
- 			
 
- 		}
 
- 		uni-swiper-item{
 
- 			display: flex;
 
- 			align-items: center;
 
- 		}
 
- 		.log-card-msg {
 
- 			// flex:2;
 
- 			font-size: 28rpx;
 
- 			font-weight: 500;
 
- 			color: #333333;
 
- 			width: calc(100% - 200rpx);
 
- 		
 
- 			.TrackingNumber {
 
- 				width: 100%;
 
- 				overflow: hidden;
 
- 				text-overflow: ellipsis;
 
- 				display: -webkit-box;
 
- 				-webkit-line-clamp: 1;
 
- 				-webkit-box-orient: vertical;
 
- 			}
 
- 			.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>
 
 
  |