<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="hedtopt">
		<view class="typto">
			<view>配车类型：{{items.type_name}}</view>
			<view>配车状态：{{items.vehicleStatus_name}}</view>
		</view>
		<view class="typto">
			<view>车牌号：{{items.vehicleName}}</view>
			<view>司机：{{items.driverName}}</view>
		</view>
		<view class="typto">
			<view>装卸班组：{{items.loadingTeamName}}</view>
			<view>备货是否完成：{{items.isstock}}</view>
		</view>
		<view class="kehupeison">
			<view>
				<view>配送客户数</view>
				<view>{{items.customersNumber}}</view>
			</view>
			<view>
				<view>订单总数</view>
				<view>{{ordernumber}}</view>
			</view>
			<view>
				<view>计划件数</view>
				<view>{{deliveryNumber}}</view>
			</view>
			<view>
				<view>装车件数</view>
				<view>{{scannedNumber}}</view>
			</view>
		</view>
	</view>
	<scroll-view class="scoolv" scroll-y="true">
		<view class="minbx">
			<view class="its" v-for="item in datalist">
				<view class="titl">
					客户：{{item.consignee}}
				</view>
				<view class="contsx">
					<view class="tps">
						<view><text style="color: #90A0AF;">备货是否完成：</text>{{item.isstock}}</view>
						<view><text style="color: #90A0AF;">装车是否完成：</text>{{item.isload}}</view>
					</view>
					<view class="tps">
						<view><text style="color: #90A0AF;">备货区：</text>{{item.stockupArea||'无备货区'}}</view>

					</view>
					<view class="numbx">
						<view @click="goCustomerOrdersDetails(item)">
							<view>订单总数</view>
							<view class="golink">{{item.ordNub}}</view>
						</view>
						<view>
							<view>计划件数</view>
							<view>{{item.reservationNum}}</view>
						</view>
						<view>
							<view>装车件数</view>
							<view>{{item.loadingNub}}</view>
						</view>
						<view @click="goCustomerTrayDetails(item)">
							<view>托盘个数</view>
							<view class="golink">{{item.trayNum}}</view>
						</view>
					</view>
				</view>
				<view class="bts" v-if="authbuts.indexOf('一键装车')!=-1&&item.isload!='是'">
					<view @click="ckoneloading(item)">一键装车</view>
				</view>
			</view>
		</view>
	</scroll-view>
	<tiplist ref="tiplists"></tiplist>
	<saomiao2></saomiao2>
	<tips ref="tip"></tips>
</template>

<script lang="ts" setup>
	import {
		deliverycustom,
		deliveryloadingscan,
		deliveryoneloading
	} from '@/api/user.js'
	import {
		onLoad,
		onShow,
		onHide,
		onUnload,
		onPullDownRefresh
	} from '@dcloudio/uni-app'
	import { computed, reactive, ref, toRefs } from "vue";
	let details = reactive({
		id: '',
		datalist: [],
		items: {} as any,
		scancode: '',
		authbuts: uni.getStorageSync('authbuts')
	})
	const tip = ref(null)
	const tiplists = ref(null)
	onLoad((op) => {
		details.id = op.id
		details.items = JSON.parse(op.item)
	})
	onHide(() => {
		uni.$off('scancodedate')
		console.log("uni", uni)
	})
	onShow(() => {
		initpage()
		uni.$on('scancodedate', function (code) {
			if (code) {
				console.log(code);
				details.scancode = code
				scandata()
			}
		})
	})
	onPullDownRefresh(() => {
		const timer = setTimeout(() => {
			initpage()
			uni.stopPullDownRefresh()
			clearTimeout(timer)
		}, 500)
	})
	const ordernumber = computed(() => {
		let num = 0
		details.datalist.map(item => {
			num += Number(item.ordNub)
		})
		return num
	})
	const deliveryNumber = computed(() => {
		let num = 0
		details.datalist.map(item => {
			num += Number(item.reservationNum)
		})
		return num
	})
	const scannedNumber = computed(() => {
		let num = 0
		details.datalist.map(item => {
			num += Number(item.loadingNub)
		})
		return num
	})
	function showsdqs() {
		tiplists.value.setdetails({
			isshow: true,
			tipstate: 1,
			title: '请输入扫描的码',
			placeholder: '请输入扫描的码',
			inputtext: '',
			success: (detail) => {
				details.scancode = detail.inputtext
				scandata()
				tiplists.value.setdetails({ isshow: false })
			},
			cancel: () => {
				tiplists.value.setdetails({ isshow: false })
			},
			close: () => {
				tiplists.value.setdetails({ isshow: false })
			}
		})
	}
	async function ckoneloading(item) {
		tip.value.setdetails({
			title: '提示',
			content: '确认一键装车？',
			confirmTxt: '确认',
			isshow: true,
			isshowcancel: true,
			success: async () => {
				let loadingId = uni.getStorageSync('checkvehicle').id
				let data = {
					reservationId: item.id,
					loadingId,
					deliveryId: details.id
				}
				let response = await deliveryoneloading(data)
				if (response.code == 200) {

				}
				tip.value.setisshow(false)
			},
			cancel: () => {
				tip.value.setisshow(false)
			},
			close: () => {
				tip.value.setisshow(false)
			}
		})

	}
	async function scandata() {
		let loadingId = uni.getStorageSync('checkvehicle').id
		let data = {
			deliveryId: details.id,
			loadingId,
			type: 1,
			barcode: details.scancode
		}
		let res = await deliveryloadingscan(data)
		console.log(res);
		if (res.code == 200) {

		}
	}
	async function initpage() {
		let data = {
			id: details.id
		}
		let response = await deliverycustom(data)
		console.log('response', response)
		details.datalist = response.data.records
	}
	function goCustomerOrdersDetails(item) {
		uni.navigateTo({
			url: '/pagesHome/pages/CustomerOrdersDetails/CustomerOrdersDetails?item=' + JSON.stringify(item) + '&id=' + details.id
		})
	}
	function goCustomerTrayDetails(item) {
		uni.navigateTo({
			url: '/pagesHome/pages/CustomerTrayDetails/CustomerTrayDetails?item=' + JSON.stringify(item) + '&id=' + details.id
		})
	}
	function goLoadingDetails(item) {
		uni.navigateTo({
			url: '/pagesHome/pages/LoadingDetails/LoadingDetails?id=' + item.id
		})
	}
	const { authbuts, items, datalist } = toRefs(details)
</script>

<style lang="scss">
	.scoolv {
		width: 100%;
		height: 60vh;
		margin-top: 20upx;

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

			>.its {
				display: flex;
				flex-direction: column;
				align-items: center;
				width: 686upx;
				background: #FFFFFF;
				border-radius: 8upx;
				// padding:0upx 0;
				box-sizing: border-box;
				margin-bottom: 20upx;

				&:nth-last-child(1) {
					margin-bottom: 0;
				}

				.titl {
					width: 100%;
					font-size: 32upx;
					font-weight: 400;
					color: #092C4D;
					border-bottom: 3upx solid #EEEEEE;
					padding: 26upx 24upx;
					box-sizing: border-box;
				}

				.bts {
					display: flex;
					align-items: center;
					justify-content: center;
					padding: 20upx 0;

					>view {
						width: 204upx;
						height: 64upx;
						background: #FFFFFF;
						border-radius: 8upx;
						opacity: 1;
						border: 2upx solid #D3832A;
						font-size: 28upx;
						color: #D3832A;
						display: flex;
						align-items: center;
						justify-content: center;
					}
				}

				.contsx {
					width: 100%;
					display: flex;
					flex-direction: column;
					padding: 34upx 24upx;
					box-sizing: border-box;
					border-bottom: 3upx solid #EEEEEE;

					>.tps {
						width: 100%;
						display: flex;
						align-items: center;
						justify-content: space-between;
						font-size: 28upx;
						color: #092C4D;
						margin-bottom: 20upx;

						>view {
							flex: 1;
						}
					}

					>.numbx {
						width: 100%;
						display: flex;
						align-items: center;
						justify-content: space-around;
						margin-top: 44upx;

						>view {
							display: flex;
							flex-direction: column;
							align-items: center;
							font-size: 28upx;
							color: #092C4D;

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

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

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

							>view:nth-of-type(2) {
								font-size: 36upx;
								color: #0086F1;
								margin-top: 20upx;
							}
						}
					}
				}
			}
		}
	}

	.hedtopt {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		background-color: #ffffff;
		padding: 36upx 32upx;
		box-sizing: border-box;

		.typto {
			display: flex;
			align-items: center;
			justify-content: space-between;
			width: 100%;
			font-size: 28upx;
			font-weight: 400;
			color: #092C4D;
			margin-bottom: 20upx;

			&:nth-last-child(1) {
				margin-bottom: 0;
			}

			>view {
				flex: 1;
			}
		}

		.kehupeison {
			width: 100%;
			display: flex;
			align-items: center;
			justify-content: space-around;
			margin-top: 20upx;

			>view {
				display: flex;
				flex-direction: column;
				align-items: center;
				font-size: 28upx;
				font-weight: 400;
				color: #092C4D;

				&: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(2) {
					font-size: 36upx;
					font-weight: 400;
					color: #092C4D;
					margin-top: 20upx;
				}
			}
		}
	}
</style>