<template>
	<view class="page-container uni-column">
		<view class="consultation-container uni-column">
			<view class="title uni-row">箱号：{{ lot.carrierCode }}</view>
			<view class="info-row uni-row">
				<view class="label">批次号</view>
				<view class="value">{{ lot.lotCode }}</view>
			</view>
			<view class="info-row uni-row">
				<view class="label">产品描述</view>
				<view class="value">{{ lot.productDescription }}</view>
			</view>

			<view class="info-row uni-row">
				<view class="label">当前工序</view>
				<view class="value">{{ lot.processAlias }}</view>
			</view>
			<view class="info-row uni-row">
				<view class="label">投产数量</view>
				<view class="value">{{ lot.pudName }}</view>
			</view>
			<view class="info-row uni-row">
				<view class="label">所有箱号</view>
				<view class="value">{{ lot.allCarrierName }}</view>
			</view>
			<input type="text" v-model="carrierCode" placeholder="请输入箱号" />
			<view class="btn uni-row" style="background-color: #ff5555;" @click.stop="handleScanCode">
				<uni-icons type="scan" size="16" style="color: #ffffff; margin-right: 8rpx;" />
				<text>扫描箱码</text>
			</view>
			<view class="btn uni-row" style="margin-top: 48rpx;" @click.stop="handleConfirm">确定</view>
		</view>
		<dialog-processInspection ref='selectProcessInspection'
			@handleSelectProcessInspection='handleSelectProcessInspection'></dialog-processInspection>
	</view>
</template>

<script setup>
	import {
		ref
	} from 'vue'
	import {
		onLoad,
		onReady,
		onUnload,
		onShow
	} from '@dcloudio/uni-app'
	import {
		getLotInfo,
		getCarrierInfo,
		getLotOutsourcedInfo
	} from '@/api/business/processInspection.js'
	import {
		store
	} from '../../store';
	const carrierCode = ref('')
	const lot = ref({})
	const query = ref({})
	const selectProcessInspection = ref(null)


	// 页面生命周期函数
	onLoad(() => {})

	// 扫码
	const handleScanCode = () => {
		// 引入原生插件
		const mpaasScanModule = uni.requireNativePlugin("Mpaas-Scan-Module");
		if (mpaasScanModule) {
			// 调用插件的 mpaasScan 方法
			mpaasScanModule.mpaasScan({
					// 扫码识别类型，参数可多选，qrCode、barCode，
					// 如不设置，默认识别所有扫码类型，可能有些许影响识别效率
					scanType: ["qrCode", "barCode"],
					// 是否隐藏相册，默认false不隐藏
					hideAlbum: false,
				},
				(ret) => {
					console.log(ret);
					const result = JSON.parse(ret.resp_result);
					if (!result.carrierId || result.carrierId == "") {
						uni.showToast({
							icon: "none",
							title: "请扫载具码",
							duration: 1000
						})
						return;
					}
					//判断该箱是否绑定批次

				result.processCode = store.outsourcedCode;
				/************************ 根据扫码查询到的数据和需要检查的工序查询信息 ************************/
				getLotOutsourcedInfo(result).then(resqust => {
					if (resqust.code == 200) {
						lot.value = resqust.data;
						lot.value.carrierCode = result.carrierCode
						carrierCode.value = result.carrierCode;
						// store.processInspection = null;
						console.log("resqust", resqust);
						uni.hideLoading();
					} else {
						// uni.hideLoading();
						uni.showToast({
							icon: 'none',
							title: resqust.msg,
							duration: 2000
						})
					}

				}).catch(err => {
					uni.showToast({
						icon: 'none',
						title: error.msg,
						duration: 2000
					})
				})
			}
			)
		}
}

	//选择批号弹窗带回
	function handleSelectProcessInspection(data) {
		console.log("带回", data)
		query.value.lotCode = data
		uni.showLoading({
			title: '加载中'
		});
		getLotInfo(query.value).then(res => {
			if (res.code == 200) {
				lot.value = res.data;
				lot.value.carrierCode = query.value.carrierCode
				carrierCode.value = query.value.carrierCode;
				console.log("res", res);
				uni.hideLoading();
			} else {
				uni.showToast({
					icon: 'none',
					title: res.msg,
					duration: 2000
				})
			}
		});
	}

	// 确定后，将批次id，批次号，传递过去
	const handleConfirm = () => {
		if (lot.carrierCode || carrierCode.value !== "") {
			lot.value.carrierCode = carrierCode.value
			uni.showLoading({
				title: '加载中'
			});
			lot.value.processCode = store.outsourcedCode;
			/************************ 根据扫码查询到的数据和需要检查的工序查询信息 ************************/
			getLotOutsourcedInfo(lot.value).then(resqust => {
				if (resqust.code == 200) {
					lot.value = resqust.data;
					lot.value.carrierCode = carrierCode.value
					store.processInspection = null;
					console.log("resqust", resqust);
					uni.hideLoading();
					uni.navigateTo({
						url: "/pages/outsourcedInspection/form",
						success: (resqust) => {
							// 通过eventChannel向被打开页面传送数据
							resqust.eventChannel.emit("outsourcedInspectionFrom", {
								data: lot.value
							})
						}
					})
				} else {
					// uni.hideLoading();
					uni.showToast({
						icon: 'none',
						title: resqust.msg,
						duration: 2000
					})
				}

			})
		} else {
			uni.showToast({
				icon: 'none',
				title: "请输入箱号或扫描箱码",
				duration: 2000
			})
			return;
		}
	}
</script>

<style lang="scss">
	.page-container {
		height: 100%;
		background-color: #ececec;
		font-size: 28rpx;
		padding: 24rpx;
		box-sizing: border-box;
	}

	.consultation-container {
		background-color: #ffffff;
		padding: 24rpx;
		border-radius: 12rpx;

		.title {
			justify-content: center;
			font-size: 32rpx;
			font-weight: 700;
		}

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

			.label {
				width: 160rpx;
			}

			.value {
				flex: 1;

				textarea {
					flex: 1;
					border: 1px solid #888888;
					box-sizing: border-box;
					padding: 16rpx;
				}
			}
		}

		.btn {
			background-color: #1684fc;
			color: #ffffff;
			border-radius: 8rpx;
			margin: 4rpx 24rpx 24rpx 24rpx;
			height: 64rpx;
			justify-content: center;
			align-items: center;
		}

		input {
			margin: 48rpx 24rpx 0 24rpx;
			height: 64rpx;
			border: 1px solid #888888;
			text-align: center;
		}
	}
</style>