<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>
	<scroll-view scroll-y="true" class="scview">
		<view class="maxbx">
			<view class="item" v-for="(item,index) in details.scandate">
				<view>{{item}}</view>
				<view class="but">
					<!-- <view>编辑</view> -->
					<view @click="remove(index)">删除</view>
				</view>
			</view>
		</view>
	</scroll-view>
	<view class="buts">
		<view @click="inputnumb">输入包条码</view>
		<view @click="submitsave">保存</view>
	</view>
	<tips ref="tip"></tips>
	<tiplist ref="tiplists"></tiplist>
	<saomiao2></saomiao2>
</template>

<script lang="ts" setup>
	import {
		onLoad,
		onShow,
		onHide,
		onUnload
	} from '@dcloudio/uni-app'
	import { reactive, ref } from "vue";
	let details = reactive({
		taskname: '',
		scandate: [],
		editindex: ''
	})
	const tiplists = ref(null)
	const tip = ref(null)
	onLoad((op) => {
		details.taskname = op.name
		details.editindex = op.editindex
		if (details.editindex) {
			details.scandate = uni.getStorageSync('HistoryDate')[details.editindex]['numberarr']
		}

	})
	onShow(() => {
		uni.$on('scancodedate', function (code) {
			if (code) {
				console.log(code);
				details.scandate.push(code)
			}
		})
	})
	onHide(() => {
		uni.$off('scancodedate')
	})
	function inputnumb() {
		tiplists.value.setdetails({
			tipstate: 1,
			title: '请输入包件码',
			placeholder: '请输入包件码',
			inputtext: '',
			isshow: true,
			success: (detai) => {
				details.scandate.push(detai.inputtext)
				tiplists.value.setdetails({ isshow: false })
			},
			cancel: () => {
				tiplists.value.setdetails({ isshow: false })
			},
			close: () => {
				tiplists.value.setdetails({ isshow: false })
			},
		})
	}
	function submitsave() {
		if (details.scandate.length == 0) {
			uni.showToast({
				title: '请先扫描包件码再进行保存',
				duration: 1500,
				icon: 'none'
			})
			return
		}
		if (!details.editindex) {
			let HistoryDatearr = uni.getStorageSync('HistoryDate')
			if (HistoryDatearr) {
				HistoryDatearr.push({
					name: details.taskname,
					numberarr: details.scandate,
				})
			} else {
				HistoryDatearr = [{
					name: details.taskname,
					numberarr: details.scandate,
				}]
			}
			uni.setStorageSync('HistoryDate', HistoryDatearr)
		} else {
			let HistoryDatearr = uni.getStorageSync('HistoryDate')
			HistoryDatearr.splice(Number(details.editindex), 1, {
				name: details.taskname,
				numberarr: details.scandate,
			})
			uni.setStorageSync('HistoryDate', HistoryDatearr)
		}
		uni.showToast({
			title: '保存成功',
			duration: 1500,
			icon: 'none'
		})
		const timer = setTimeout(() => {
			uni.navigateBack()
			clearTimeout(timer)
		}, 1500)
	}
	function remove(index : number) {
		tip.value.setdetails({
			content: '确认删除？',
			isshow: true,
			confirmTxt: '删除',
			success: () => {
				details.scandate.splice(index, 1)
				tip.value.setdetails({ isshow: false })
			},
			cancel: () => {
				tip.value.setdetails({ isshow: false })
			},
			close: () => {
				tip.value.setdetails({ isshow: false })
			},
		})
	}
</script>

<style lang="scss">
	.buts {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: space-around;
		margin-top: 30upx;

		>view {
			width: 320upx;
			height: 88upx;
			background: #D3832A;
			border-radius: 8upx;
			font-size: 32upx;
			font-weight: 400;
			color: #FFFFFF;
			display: flex;
			align-items: center;
			justify-content: center;
		}
	}

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

		.item {
			width: 680upx;
			background-color: #FFFFFF;
			padding: 20upx 30upx;
			box-sizing: border-box;
			display: flex;
			align-items: center;
			justify-content: space-between;
			padding: 20upx 15upx;
			box-sizing: border-box;
			border-radius: 8upx;
			box-shadow: 0upx 1upx 10upx 0upx #e2e2e3;
			margin-top: 30upx;
			font-size: 28upx;

			>.but {
				display: flex;
				align-items: center;
				justify-content: center;

				>view {
					font-size: 26upx;
					width: 120upx;
					height: 60upx;
					color: #FFFFFF;
					display: flex;
					align-items: center;
					justify-content: center;
					border-radius: 8upx;

					&:nth-of-type(1) {
						margin-right: 20upx;
						background-color: #e20000;
					}

					&:nth-of-type(2) {
						background-color: #e20000;
					}
				}
			}
		}
	}

	.scview {
		width: 100%;
		height: 80vh;
		// padding: 30upx 0;
		box-sizing: border-box;
		// background-color: #ffffff;
	}
</style>