<template>
	<!-- <u-navbar title="装车扫描" placeholder border=true :autoBack="true" leftIconSize='35'></u-navbar> -->
	<u-navbar title="装车扫描"
	 bgColor='#D3832A' leftIconColor='#ffffff'
	titleStyle='color:#ffffff' placeholder 
	:autoBack="true" leftIconSize='35'></u-navbar>
	<view class="schbox">
		<view>配车日期:</view>
		<view @click.stop='showtime(true)' class="inputsr">
			<input :value='datatime' disabled placeholder="请选择时间"/>
			<view @click.stop="">
				<u-icon @click.stop='showtime(true)' style="margin-right: 10rpx;" v-if="!datatime" name="calendar" color="#999999" size="50"></u-icon>
				<u-icon @click.stop="cleartime" style="margin-right: 10rpx;" v-else name="close-circle" color="#999999" size="40"></u-icon>
			</view>
		</view>
		<view @click="init">
			查询
		</view>
	</view>
	<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.type_name}}
						</view>
						<view>
							<text style="color: #90A0AF;">配送状态:</text>{{item.vehicleStatus_name}}
						</view>
					</view>
					<view class="type1s">
						<view>
							<text style="color: #90A0AF;">车牌号:</text>{{item.vehicleName}}
						</view>
						<view>
							<text style="color: #90A0AF;">司机:</text>{{item.driverName}}
						</view>
					</view>
					<view class="type1s">
						<view>
							<text style="color: #90A0AF;">装卸班组:</text>{{item.loadingTeamName}}
						</view>
						<view class="bhcolor">
							<text style="color: #90A0AF;">备货是否完成:</text>{{item.isstock}}
						</view>
					</view>
					<view class="type1s">
						<view>
							<text style="color: #90A0AF;">客户:</text>{{item.consignee}}
						</view>
					</view>
					<view class="type1s">
						<view>
							<text style="color: #90A0AF;">配送日期:</text>{{item.createTime}}
						</view>
					</view>
					<view class="type1s" @click="goloddeta(item)">
						<view class="bhcolor">
							<text style="color: #90A0AF ;">车次号:</text><text style="text-decoration: underline;">{{item.trainNumber}}</text>
						</view>
					</view>
					<view class="liebs">
						<view>
							<view>配送客户数</view>
							<view>{{item.customersNumber}}</view>
						</view>
						<view>
							<view>订单总数</view>
							<view>{{item.orderNumber}}</view>
						</view>
						<view>
							<view>计划件数</view>
							<view>{{item.deliveryNumber}}</view>
						</view>
						<view>
							<view>装车件数</view>
							<view>{{item.scannedNumber}}</view>
						</view>
					</view>
				</view>
				<view class="buts">
					<view @click="">发车</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>
	<!-- <u-datetime-picker :show="show" mode="datetime" @cancel="showtime(false)" @confirm="checktime"
		itemHeight='80'></u-datetime-picker> -->
	<tiplist ref="tips"></tiplist>
</template>

<script lang="ts" setup>
	import {
		onLoad,
		onShow,
		onHide,
		onUnload
	} from '@dcloudio/uni-app'
	import { 
		deliverypage,
		deliveryvehicle
	} from '@/api/user.js'
	import { detailType } from '@/interfaces/pagesHome/LoadingScan'
	import { reactive, toRefs,ref,watchEffect } from "vue";
	let details = reactive<detailType>({
		datatime: '',
		show: false,
		recordsList:[],
		current:1,
		size:10,
	})
	const tips=ref(null)
	const date = ref<number|string[]>([])
	onShow(()=>{
		initpage()
	})
	function showCalendar(){
		details.show=!details.show
	}
	function init(){
		details.current=1
		initpage()
	}
	function jiazai(){
		details.current++
		initpage()
	}
	watchEffect(()=>{
		if((date.value as []).length!=0){
			details.datatime=date.value[0]+' 至 '+date.value[1]
		}
	})
	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')
	}
	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')
		details.current=1
		init()
	})
	function showtime(value : boolean) {
		console.log(value);
		details.show = value
	}
	async function initpage(){
		let data={
			current:details.current,
			size:details.size,
			taskTime_start:date.value[0]||'',
			taskTime_end:date.value[1]||'',
		}
		let response=await deliverypage(data)
		console.log(response); 
		if(details.current==1){
			details.recordsList=response.data.records
		}else{
			if(response.data.records.lngth==0){
				uni.showToast({
					title:'已经到底了。',
					icon:'none'
				})
				details.current--
				return
			}
			details.recordsList=details.recordsList.concat(response.data.records)
		}
		// details.recordsList=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);
	}
	async function goselscan(item:any) {
		let data={
			deliveryId:item.id
		}
		let res=await deliveryvehicle(data)
		if(res.data.length == 1 ){
			uni.setStorageSync('checkvehicle',res.data[0])
			uni.navigateTo({
				url: '/pagesHome/pages/DeliveryCustomerScan/DeliveryCustomerScan?id='+item.id+'&item='+JSON.stringify(item)
			})
			return
		}
		if(res.data.length == 0 ){
			uni.showToast({
				title:'没有司机数据',
				icon:'none'
			})
			return
		}
		let list=[]
		res.data.map(item=>{
			list.push(item.driverName+'---'+item.vehicleNub)
		})
		tips.value.setdetails({
			title:'请选择车辆',
			isshow:true,
			tipstate:2,
			list,
			checklist:[],
			inputtext:'',
			confirmTxt:'确认选择',
			isonecheck:true,
			success:(deta)=>{
				if(deta.checklist.length==0){
					uni.showToast({
						title:'请选择车辆',
						icon:'none'
					})
					return
				}
				tips.value.setdetails({isshow:false})
				uni.setStorageSync('checkvehicle',res.data[deta.checklist[0]])
				uni.navigateTo({
					url: '/pagesHome/pages/DeliveryCustomerScan/DeliveryCustomerScan?id='+item.id+'&item='+JSON.stringify(item)
				})
			},
			cancel:(details)=>{
				tips.value.setdetails({isshow:false})
			},
			close:(details)=>{
				tips.value.setdetails({isshow:false})
			}
		})
	}
	async function goloddeta(item){
		let data={
			deliveryId:item.id
		}
		let res=await deliveryvehicle(data)
		console.log(res);
		if(res.data.length==1){
			uni.setStorageSync('checkvehicle',res.data[0])
			uni.navigateTo({
				url: '/pagesHome/pages/LoadingDetails/LoadingDetails?item='+JSON.stringify(item)
			})
			return
		}
		if(res.data.length == 0 ){
			uni.showToast({
				title:'没有司机数据',
				icon:'none'
			})
			return
		}
		let list=[]
		res.data.map(item=>{
			list.push(item.driverName+'---'+item.vehicleNub)
		})
		tips.value.setdetails({
			title:'请选择车辆',
			isshow:true,
			tipstate:2,
			list,
			checklist:[],
			inputtext:'',
			confirmTxt:'确认选择',
			isonecheck:true,
			success:(deta)=>{
				if(deta.checklist.length==0){
					uni.showToast({
						title:'请选择车辆',
						icon:'none'
					})
					return
				}
				tips.value.setdetails({isshow:false})
				uni.setStorageSync('checkvehicle',res.data[deta.checklist[0]])
				uni.navigateTo({
					url: '/pagesHome/pages/LoadingDetails/LoadingDetails?item='+JSON.stringify(item)
				})
			},
			cancel:(details)=>{
				tips.value.setdetails({isshow:false})
			},
			close:(details)=>{
				tips.value.setdetails({isshow:false})
			}
		})
		// return
		
	}
	function cleartime(){
		// console.log(cleartime);
		details.datatime=''
		date.value=[]
		init()
	}
	const { datatime, recordsList, show } = 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: flex-start;
						justify-content: space-between;
						margin-bottom: 20upx;
						box-sizing: border-box;
						font-size: 28upx;
						font-weight: 400;
						color: #092C4D;

						>view {
							flex: 1;
						}
						.bhcolor{
							color: #0086F1;
						}
					}

					>.liebs {
						display: flex;
						align-items: flex-start;
						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>