<template>
	<!-- <u-navbar title="自提扫描" placeholder border=true :autoBack="true" leftIconSize='35'></u-navbar> -->
	<BasicContainer :option="option" ref="basicContainer">
		<template #head>
			<view class="schbox">
				<view>自提日期：</view>
				<view @click='showCalendar' class="inputsr">
					<input :value='datatime' disabled placeholder="请选择时间" />
					<view @click.stop.prevent>
						<u-icon @click='showCalendar' style="margin-right: 10rpx;" v-if="!datatime" name="calendar"
							color="#999999" size="50"></u-icon>
						<u-icon @click="cleartime" style="margin-right: 10rpx;" v-else name="close-circle" color="#999999"
							size="40"></u-icon>
					</view>
				</view>
				<view @click="init">
					查询
				</view>
			</view>
		</template>

		<template #body>
			<scroll-view scroll-y="true" class="scvbx" @scrolltolower="jiazai">
				<view class="mabxslist">
					<view class="item" v-for="item in recordsList">
						<view class="headtop">
							<!-- <view class="type1s">
								<view>
									<text style="color: #90A0AF;">配车类型：</text>{{item.item}}
								</view>
								<view>
									<text style="color: #90A0AF;">配车状态：</text>{{item.conditionStr}}
								</view>
							</view> -->
							<view class="type1s">
								<view>
									<text style="color: #90A0AF;">车牌号：</text>{{item.pickUpPlate}}
								</view>
								<view>
									<text style="color: #90A0AF;">司机：</text>{{item.consignee}}
								</view>
							</view>
							<view class="type1s">
								<view>
									<text style="color: #90A0AF;">装御班组：</text>A班组
								</view>
								<view>
									<text style="color: #90A0AF;">备货是否完成：</text>是
								</view>
							</view>
							<view class="type1s">
								<view>
									<text style="color: #90A0AF;">制单时间：</text>{{item.createTime}}
								</view>
							</view>
							<view class="type1s">
								<view>
									<text style="color: #90A0AF;">任务时间：</text>{{item.createTime}}
								</view>
							</view>
							<view class="liebs">
								<view>
									<view>订单总数</view>
									<view>{{item.orderNum}}</view>
								</view>
								<view>
									<view>自提件数</view>
									<view>{{item.planNum}}</view>
								</view>
								<view>
									<view>签收件数</view>
									<view>{{item.signedNum}}</view>
								</view>
								<view>
									<view>库存品数</view>
									<view>{{item.inventoryNub}}</view>
								</view>
							</view>
						</view>
						<view class="buts">
							<view @click="goselscandetails(item)">明细扫描</view>
							<view @click="goselscan(item)">扫描</view>
						</view>
					</view>
				</view>
			</scroll-view>
			<l-calendar v-model:value="show" :initStartDate='date[0]' :initEndDate='date[1]' @hide='showCalendar'
				@change="onConfirm"></l-calendar>
		</template>
	</BasicContainer>
</template>

<script lang="ts" setup>
	import {
		onLoad,
		onShow,
		onHide,
		onUnload
	} from '@dcloudio/uni-app'
	import { billLadingpageList } from '@/api/user.js'
	import { detailsType } from '@/interfaces/pagesHome/SelfPickupScan'
	import { reactive, toRefs, ref, watchEffect } from "vue";
	const option = {
		title: '自提扫描',
		haveData: true,
		async pullDownRefreshInitPage() {
			details.current = 1
			await initpage()
		}
	}

	let details = reactive<detailsType>({
		datatime: '',
		show: false,
		current: 1,
		size: 10,
		recordsList: []
	})
	const date = ref<number | string[]>([])
	const basicContainer = ref(null)
	function showCalendar() {
		details.show = !details.show
	}
	function onConfirm(e : any) {
		console.log(e);
		date.value[0] = e.startDate
		date.value[1] = e.endDate
		details.datatime = date.value[0] + ' 至 ' + date.value[1]
		// details.datatime=(uni as any).$u.timeFormat(date.value[0], 'yyyy-mm-dd')+' 至 '+(uni as any).$u.timeFormat(date.value[1], 'yyyy-mm-dd')
	}

	watchEffect(() => {
		if ((date.value as []).length != 0) {
			details.datatime = date.value[0] + ' 至 ' + date.value[1]
		}
	})
	onLoad(() => {
		date.value[0] = (uni as any).$u.timeFormat((new Date().valueOf() - 1000 * 60 * 60 * 24 * 3), 'yyyy-mm-dd')
		date.value[1] = (uni as any).$u.timeFormat((new Date().valueOf()), 'yyyy-mm-dd')
	})
	onShow(() => {
		// #ifdef APP
		uni.$off('scancodedate')
		// #endif
		const timer = setTimeout(() => {
			basicContainer.value.startPullDownRefresh()
			clearTimeout(timer)
		}, 200)
	})
	function init() {
		details.current = 1
		initpage()
	}
	function jiazai() {
		details.current++
		initpage()
	}
	async function initpage() {
		let data = {
			current: details.current,
			size: details.size,
			pickUpTimeStart: date.value[0],
			pickUpTimeEnd: date.value[1],
		}
		let response = await billLadingpageList(data)
		if (response.code !== 200) return
		// details.recordsList=response.data.records
		if (details.current == 1) {
			details.recordsList = response.data.records
		} else {
			if (response.data.records.lngth == 0) {
				uni.showToast({
					title: '已经到底了。',
					icon: 'none'
				})
				return
			}
			details.recordsList = details.recordsList.concat(response.data.records)
		}
	}
	function checktime(event : any) {
		console.log(event);
		details.datatime = (uni as any).$u.timeFormat(event.value, 'yyyy-mm-dd');
		details.show = false
		console.log(details.datatime);
	}
	function goselscan(item : any) {
		uni.navigateTo({
			url: '/pagesHome/pages/SelfPScanList/SelfPScanList?billLadingId=' + item.billLadingId
		})
	}
	function goselscandetails(item : any) {
		uni.navigateTo({
			url: '/pagesHome/pages/SelfPickupDetails/SelfPickupDetails?billLadingId=' + item.billLadingId
		})
	}
	function cleartime() {
		// console.log(1231211);
		details.datatime = ''
		date.value = []
		basicContainer.value.startPullDownRefresh()
	}
	const { datatime, dataList, show, recordsList } = toRefs(details)
</script>

<style lang="scss">
	.inputsr {
		width: 400upx !important;
		height: 64upx;
		background: #F5F5F6;
		border-radius: 8upx 8upx 8upx 8upx;
		opacity: 1;
		border: 2upx solid #EEEEEE;
		padding: 16upx 18upx;
		box-sizing: border-box;
		padding-right: 0;
		display: flex;
		align-items: center;
		justify-content: space-between;
		font-size: 26upx;
		font-weight: 400;
		color: #092C4D;

		>input {
			flex: 1;
			font-size: 26upx;
		}
	}

	.scvbx {
		width: 100%;
		height: 81vh;
		margin-top: 20upx;

		.mabxslist {
			display: flex;
			flex-direction: column;
			align-items: center;

			>.item {
				width: 686upx;
				// height: 610upx;
				background: #FFFFFF;
				border-radius: 8upx;
				padding: 20upx 0;
				box-sizing: border-box;
				margin-bottom: 20upx;

				>.headtop {
					display: flex;
					flex-direction: column;
					padding: 24upx;

					>.type1s {
						display: flex;
						align-items: center;
						justify-content: space-between;
						margin-bottom: 20upx;
						box-sizing: border-box;
						font-size: 28upx;
						font-weight: 400;
						color: #092C4D;

						>view {
							flex: 1;
						}
					}

					>.liebs {
						display: flex;
						align-items: center;
						justify-content: space-around;

						>view {
							display: flex;
							flex-direction: column;
							align-items: center;
							margin-top: 20upx;

							&:nth-of-type(1) {
								>view:nth-of-type(2) {
									color: #092C4D;
								}
							}

							&:nth-of-type(2) {
								>view:nth-of-type(2) {
									color: #0086F1;
								}
							}

							&:nth-of-type(3) {
								>view:nth-of-type(2) {
									color: #3AD8BC;
								}
							}

							&:nth-of-type(4) {
								>view:nth-of-type(2) {
									color: #FA8C16;
								}
							}

							>view:nth-of-type(1) {
								font-size: 28upx;
								font-weight: 400;
								color: #092C4D;
							}

							>view:nth-of-type(2) {
								font-size: 36upx;
								font-weight: 400;
								margin-top: 20upx;

							}
						}
					}
				}

				>.buts {
					border-top: 3upx solid #EEEEEE;
					display: flex;
					align-items: center;
					justify-content: space-around;
					padding-top: 20upx;

					>view {
						width: 204upx;
						height: 64upx;
						border-radius: 8upx;
						opacity: 1;
						display: flex;
						align-items: center;
						justify-content: center;
						font-size: 28upx;
					}

					>view:nth-of-type(1) {
						border: 2upx solid #0086F1;
						color: #0086F1;
					}

					>view:nth-of-type(2) {
						border: 2upx solid #D3832A;
						color: #D3832A;
					}
				}
			}
		}
	}

	.schbox {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 15upx 32upx;
		box-sizing: border-box;
		background-color: #ffffff;

		>view:nth-of-type(1) {
			// width: 150upx;
			font-size: 28upx;
			font-weight: 400;
			color: #092C4D;
		}

		>view:nth-of-type(2) {
			width: 380upx;
			// height: 64upx;
		}

		>view:nth-of-type(3) {
			width: 128upx;
			height: 64upx;
			background: #D3832A;
			border-radius: 8upx;
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 32upx;
			font-weight: 400;
			color: #FFFFFF;
		}
	}
</style>