<template>
	<view class="page-container uni-column">
		<view class="search-container uni-row">
			<input type="text" v-model="keywords" placeholder="请输入关键字" />
			<view class="btn uni-row" @click="getList">搜索</view>
			<!-- <uni-icons type="scan" size="24" /> -->
		</view>

		<view class="time-controls" style="margin-top: 10rpx;">
			<uni-section title="检查日期:" type="square" class="uni-row sta">
				<input v-model="startTime" type="date" @input="timeSizer" />
			</uni-section>
		</view>

		<view class="scan-btn uni-row" style="min-height: 80rpx;" @click.stop="handleAddProcessInspection">新增序检</view>
		<view class="daywork-item uni-column" v-for="(item, index) in inspecionList" :key="index"
			@click="handleSelection(item)">
			<view class="lot-code uni-row">
				<text>批次号：{{ item.lotCode }}</text>
				<text :style="selectType(item)">{{ selectText(item) }}</text>
				<uni-icons type="right" size="16" />
			</view>
			<view class="info">
				<view class="info-row uni-row">
					<view class="label">序检箱号：</view>
					<view class="value">{{ item.carrierCode }}</view>
					<view class="label">检察员：</view>
					<view class="value">{{ item.nickName }}</view>
				</view>
				<view class="info-row uni-row">
					<view class="label">检查数量：</view>
					<view class="value">{{ item.examiningNum }}</view>
					<view class="label">不合格数：</view>
					<view class="value">{{ item.rejectNum }}</view>
				</view>
				<view class="info-row uni-row">
					<view class="label">产品描述：</view>
					<view class="value">{{ item.productDescription }}</view>
				</view>
			</view>
		</view>
	</view>
</template>

<script setup>
	import {
		ref
	} from 'vue'
	import {
		getProcessInspecionList,
		getLotInfo
	} from '@/api/business/processInspection.js'
	import {
		timestampToTime,
		toHHmmss
	} from '@/utils/common.js'
	import {
		onLoad,
		onReady,
		onUnload,
		onShow
	} from '@dcloudio/uni-app'
	import {
		store
	} from '@/store/index.js'
	const keywords = ref('')
	const inspecionList = ref([]); //时间后筛选数组
	const original = ref([]); //原始数组
	const startTime = ref(new Date().toISOString().split('T')[0])

	const range = [{
		value: 0,
		text: "待确认",
		type: "color: #fcab53"
	}, {
		value: 1,
		text: "合格",
		type: "color: #55ff7f"
	}, {
		value: 2,
		text: "不合格",
		type: "color: #ff0c2c"
	}]

	const quer = ref({}) //用于查询


	/***************************** 页面生命周期函数 *****************************/
	onShow(() => {
		// getList()
		uni.showLoading({
			title: '加载中'
		});
		quer.value.userId = store.userInfo.userId;
		// quer.value.startTime = startTime.value;
		getProcessInspecionList(quer.value).then(res => {
			console.log("res", res);
			if (res.code == 200) {
				original.value = res.rows;
				timeSizer();
				uni.hideLoading();
				// uni.hideLoading();
			}
		});
	})

	/***************************** 定义了一些方法 *****************************/

	function getList() {
		uni.showLoading({
			title: '加载中'
		});
		quer.value.userId = store.userInfo.userId;
		// quer.value.startTime = startTime.value;
		getProcessInspecionList(quer.value).then(res => {
			console.log("res", res);
			if (res.code == 200) {
				original.value = res.rows;
				timeSizer();
				uni.hideLoading();
				// uni.hideLoading();
			}
		});
	}

	//时间筛选，暂时注释，使用搜索向
	function timeSizer() {
		// quer.value.startTime = startTime.value;
		// 显示加载指示器
		// uni.showLoading();
		// getProcessInspecionList(quer.value).then(res => {
		// 	console.log("res", res);
		// 	if (res.code == 200) {
		// 		original.value = res.rows;
		// 		timeSizer();
		// 		uni.hideLoading();
		// 		// uni.hideLoading();
		// 	}
		// });
		inspecionList.value = filterSameDayItems(original.value, startTime.value);
	}

	// 筛选函数
	const filterSameDayItems = (inspectionList, startTime) => {

		// 使用filter方法筛选出与startTime同一天的元素
		const filteredList = inspectionList.filter(item => {
			// 将数组中每个元素的date属性转换为不包含时分秒的字符串
			const itemDateString = item.createTime.split(' ')[0];
			// 比较两个日期字符串是否相同
			return itemDateString === startTime;
		});
		return filteredList;
	};


	function isSameDate(date1, date2) {
		// 使用Date对象的toISOString()方法来格式化日期，并去除时分秒部分
		const formatDate = (date) => date.toISOString().split('T')[0];

		// 比较两个日期的年月日部分是否相同
		return formatDate(date1) === formatDate(date2);
	}

	//查看序捡详情
	function handleSelection(item) {
		store.processInspection = item;
		uni.navigateTo({
			url: '/pages/processInspection/form'
		})
	}

	//状态文本
	function selectText(item) {
		for (var i = 0; i < range.length; i++) {
			if (item.status == range[i].value) {
				return range[i].text
			}
		}
	}

	//状态样式
	function selectType(item) {
		for (var i = 0; i < range.length; i++) {
			if (item.status == range[i].value) {
				return range[i].type
			}
		}
	}

	const addProcessInspection = (data) => {
		const info = {
			title: data.title,
			standard: data.standard,
			result: '',
			number: 1
		}
		unfitInfos.value.push(info)
	}

	/***************************** 定义了一些事件 *****************************/
	// 新增序检
	const handleAddProcessInspection = () => {
		uni.navigateTo({
			url: '/pages/processInspection/scan'
		})
	}
	// 添加不合格信息
	const handleShowUnfit = () => {
		uni.navigateTo({
			url: '/pages/processInspection/form'
		})
	}
</script>

<style lang="scss">
	.time-controls {
		.title {
			margin: 20% auto 40% auto;

			.first {
				font-size: 48rpx;
				margin: 0 auto;
			}

			.second {
				color: red;
				font-size: 24rpx;
				margin: 10rpx auto 0 auto;
			}
		}

		.sta {
			justify-content: center;
			align-items: center;

			input {
				border: 1rpx solid gray;
				border-radius: 8rpx;
				width: 400rpx;
				height: 64rpx;
			}
		}

		button {
			width: 78%;
			background-color: #1684fc;
			color: white;
			margin: 0 auto;
		}
	}

	.page-container {
		height: 100%;
		background-color: #ececec;
		font-size: 28rpx;
		padding: 24rpx;
		box-sizing: border-box;
	}

	.search-container {
		border-radius: 12rpx;
		align-items: center;

		input {
			flex: 1;
			background-color: #ffffff;
			height: 64rpx;
			box-sizing: border-box;
			padding: 0 16rpx;
		}

		.btn {
			width: 120rpx;
			height: 64rpx;
			background-color: #1684FC;
			justify-content: center;
			font-size: 24rpx;
			color: #ffffff;
			justify-content: center;
			align-items: center;
		}
	}

	.scan-btn {
		height: 64rpx;
		margin: 32rpx 32rpx 0 32rpx;
		color: #ffffff;
		background-color: #f47c3c;
		align-items: center;
		justify-content: center;
		border-radius: 8rpx;
	}

	.daywork-item {
		padding: 24rpx;
		background-color: #ffffff;
		margin-top: 24rpx;
		border-radius: 8rpx;

		.lot-code {
			align-items: center;
			justify-content: space-between;
			font-weight: 700;
		}

		.info {
			font-size: 24rpx;
			color: #767676;

			.info-row {
				margin-top: 16rpx;

				.label {
					width: 120rpx;
				}

				.value {
					flex: 1;
				}
			}
		}
	}
</style>