<!-- 物流追踪 -->
<template>
	<s-layout title="物流追踪">
		<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">快递单号：{{ state.info.logisticsNo }}</view>
					<view class="ss-m-b-16">快递公司：{{ state.info.logisticsName }}</view>
					<view>
						发货时间：{{ 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.reverse();
	}

	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>