<template>
	<view class="selectCar-box">
		<view v-if="state.list.length>0" @click="choose(i,item)" class="item" v-for="(item,i) in state.list" :key="i">
			<view class="iten-left">
				<image :src="`${$imgUrl}che.png`" mode="aspectFill"></image>
				<view class="message">
					<view>车牌号：{{ item.vehiclePlate }}</view>
					<view>车牌颜色：{{ getVehiclePlateColor(item.vehiclePlateColor) }}</view>
					<view v-if="item.cardId">卡号：{{ item.cardId }}</view>
					<view v-if="item.cardStatus">卡状态：{{getCodeName('CARD_STATE_TYPE',item.cardStatus)}}</view>
					<view v-if="item.obuId">签号：{{ item.obuId }}</view>
					<view v-if="item.obuStatus">签状态：{{ getCodeName('OBU_STATE_TYPE',item.obuStatus) }}</view>
				</view>
			</view>
			<view class="choose-item">
				<view class="active" v-if="flag==i">
				</view>
			</view>
		</view>
		<view v-else class="flex">
			暂无车辆订单信息
		</view>
	</view>
</template>

<script lang="ts" setup>
	import {
		reactive,
		ref
	} from "vue"
	import {
		navTo, msg,interceptND
	} from "@/utils/utils"
	import {
		onLoad,
		onShow
	} from "@dcloudio/uni-app";
	import {
		orderList,
		workOrderList,
		searchVehicleInfo
	} from "@/utils/network/api.js";
	import {
		request
	} from "@/utils/network/request.js";
	import {
		getItem,
		StorageKeys,
		setItem
	} from "@/utils/storage";
	import {
		stringToJson
	} from "@/utils/network/encryption";
	import {
		getCodeName
	} from "@/datas/queryKey.js";
	import {
		getVehiclePlateColor
	} from "@/datas/vehiclePlateColor";
	const state = reactive({
		list: [],
		businessType: "",
		customerId: "",
		vehiclePlate: "",
		vehiclePlateColor: ""
	});
	onLoad(() => {
		state.businessType = getItem('key')['DASP_PUSH_TYPE'][0]['code']
		quanCheckActionTrue().then((item : any) => {
			state.list = item.data
			console.log(item)

		})
	});

	const searchVehicleInfoQuery = (vehicleId) => {
		const options = {
			type: 2,
			data: {
				vehicleId: vehicleId
			},
			method: "POST",
			showLoading: true,
		};
		return new Promise(async (resolve, reject) => {
			const res = await request(searchVehicleInfo, options);
			const data = stringToJson(res.bizContent);
			resolve(data);
		}).catch((error) => {
			reject(error);
		});
	}
	const quanCheckActionTrue = () => {
		let source = ""
		// #ifdef MP-ALIPAY
		source = "ALI"
		// #endif
		// #ifdef MP-WEIXIN
		source = "WECHAT"
		// #endif
		var data = {
			opId: getItem(StorageKeys.OpenId),
			source: source,
			tabIndex: '0',
			orderStep: '11',
			isValueCard: '',
			orderStatus: "1",
			isAfter: true,
		};
		const options = {
			type: 2,
			data: data,
			method: "POST",
			showLoading: true,
		};
		return new Promise(async (resolve, reject) => {
			const res = await request(orderList, options);
			const data = stringToJson(res.bizContent);
			resolve(data);
		}).catch((error) => {
			reject(error);
		});
	}
	const flag = ref('0')

	const choose = (i, item) => {
		interceptND(item.vehicleId).then(()=>{
				let id = item.id
				searchVehicleInfoQuery(item.vehicleId).then((item : any) => {
					console.log("====", item.vehicles[0])
					state.customerId = item.vehicles[0]['customerId']
					state.vehiclePlate = item.vehicles[0]['vehiclePlate']
					state.vehiclePlateColor = item.vehicles[0]['vehiclePlateColor']
					isWorkOrder().then((item : any) => {
						console.log("查询是否有工单", item)
						if (item.data) {
							if (item.data[0]['status'] == '0') {
								navTo(`/subpackage/after-sale/equipment-upgrade/upgrade-confirm?id=${id}&workId=${item.data[0]['id']}`)
							}
						} else {
							msg('暂无工单')
						}
					})
				})	
		})
		
	}
	const isWorkOrder = () => {
		var data = {
			vehiclePlate: state.vehiclePlate,
			vehiclePlateColor: state.vehiclePlateColor,
			customerId: state.customerId,
		};
		const options = {
			type: 2,
			data: data,
			method: "POST",
			showLoading: true,
		};
		return new Promise(async (resolve, reject) => {
			const res = await request(workOrderList, options);
			const data = stringToJson(res.bizContent);
			resolve(data);
		}).catch((error) => {
			reject(error);
		});
	}
</script>

<style>
	page {
		width: 100%;
		height: 100%;
		background-color: #EEF7F7;
	}
</style>
<style lang="scss" scoped>
	.flex {
		display: flex;
		justify-content: center;
	}

	.selectCar-box {
		// width: 100%;
		height: 100%;
		padding: 30rpx;

		.item {
			padding: 20rpx;
			display: flex;
			justify-content: space-between;
			align-items: center;
			// height: 130rpx;
			background: #FFFFFF;
			box-shadow: 0rpx 2rpx 6rpx 0rpx rgba(223, 223, 223, 0.8);
			border-radius: 20rpx;
			margin-bottom: 30rpx;

			.iten-left {
				display: flex;
				align-items: center;

				image {
					width: 150rpx;
					height: 90rpx;

				}

				text {
					margin-left: 20rpx;
					font-size: 32rpx;
					font-family: Noto Sans S Chinese;
					font-weight: 400;
					color: #333333;
				}
			}

			.choose-item {
				width: 44rpx;
				height: 44rpx;
				background: #FFFFFF;
				border: 2rpx solid #00B38B;
				border-radius: 50%;
				margin-right: 20rpx;
				display: flex;
				justify-content: center;
				align-items: center;
				box-sizing: content-box;
			}

			.active {
				width: 34rpx;
				height: 34rpx;
				background: #00B38B;
				border-radius: 50%;
			}
		}
	}
	.message{
		font-size: 26rpx;
		margin-left: 6rpx;
	}
</style>