<template>
	<view class="selectCar-box">
		<view v-if="state.list&&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=""></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>
			<empty title='暂无找到相关车辆信息' />
		</view>
	</view>
</template>

<script lang="ts" setup>
	import empty from "@/components/empty/empty.vue";
	import {
		reactive,
		ref
	} from "vue"
	import {
		navTo
	} from "@/utils/utils"
	import {
		onLoad, onShow
	} from "@dcloudio/uni-app";
	import {queryRefund, getUserMsg
	} from "@/utils/network/api.js";
	import {
		request
	} from "@/utils/network/request.js";
	import {
		getItem
	} from "@/utils/storage";
	import {
		stringToJson
	} from "@/utils/network/encryption";
	import {
		getCodeName
	} from "@/datas/queryKey.js";
	import {
		getVehiclePlateColor
	} from "@/datas/vehiclePlateColor";
	import {interceptND} from "@/utils/utils";
	const state = reactive({
		customerIdNum: "",
		list: [] //车辆list
	});
	const flag = ref('0') //默认选择0

	onLoad(() => {
		queryUserMsg()
	});
	onShow(() => {

	})
	// 通过opneId查询用户信息
	const queryUserMsg = () => {
		const options = {
			type: 2,
			data: {
				"openId": getItem('openId')
			},
			method: "POST",
			showLoading: true,
		};
		request(getUserMsg, options).then((res) => {
			const data = stringToJson(res.bizContent);
			console.log("通过opneId查询用户信息", stringToJson(res.bizContent))
			state.customerIdNum = data.customerIdNum;
			queryRefundAction().then((item : any) => {
				state.list = item.data
			})
		})
	}
	//储值卡注销退费查询接口
	const queryRefundAction = () => {
		var data = {
			customerIdNum: state.customerIdNum,
			type: "2"
		};
		const options = {
			type: 2,
			data: data,
			method: "POST",
			showLoading: true,
		};
		return new Promise(async (resolve, reject) => {
			const res = await request(queryRefund, options);
			const data = stringToJson(res.bizContent);
			console.log("data", data)
			resolve(data);
		}).catch((error) => {
			reject(error);
		});
	}
	const choose = (i, item) => {
		interceptND(item.vehicleId).then(()=>{
			flag.value = i
			navTo(`/subpackage/after-sale/refund-order-balance/refund-order-balance?vehicleId=${item.vehicleId}`)		
		})
		
	}
</script>

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

	.selectCar-box {
		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>