<template>
	<view class="content">
		<view class="top">
			<view class="topCont">
				<view class="carBox">
					<image src="../../static/img/nocar.png" mode="" class="carLogo"></image>
					<view class="carTxt">{{brand_name}}</view>
					<!-- <image src="../../static/img/jt.png" mode="" class="carJt"></image> -->
				</view>
				<view class="vinBox">
					<view class="vinBox2">
						<view class="vinB">VIN</view>
						<view class="vinNum">{{vin}}</view>
					</view>
					<!-- <view class="vinBox2">
						<view class="detail" @click="goCarDetail()">车型详情</view>
						<image src="../../static/img/icon_arrow_blue_r@2x.png" mode="" style="width: 24rpx; height: 24rpx"></image>
					</view> -->
				</view>
			</view>
		</view>
		<view class="mainBox">
			<view class="maintitle">{{caption}}
				<view @click="goback" class="backBox">
					<image src="../../static/img/icon_arrow_blue_l@2x.png" mode="" class="backImg"></image>
					<view class="backTxt">返回总组</view>
				</view>
			</view>
			<view class="searchBox" v-if="lastShow">
				<view class="inputBox">
					<img src="../../static/img/icon_search.png" alt="" class="searchImg">
					<input type="text" placeholder="快速查找子组" class="topInput" v-model="childrenss"
						@confirm="childrenkeyup">
				</view>
			</view>

			<view class="mainLine" v-for="(item,index) in childrenList" @click="goThree(item,index)" v-if="lastShow">
				<view class="lineLeft">
					<image class="lineIMg" :src="item.image_url" v-if="item.image_url" mode=""></image>
					<image class="lineIMg" src="../../static/img/noimg.png" v-else mode=""></image>
				</view>
				<view class="lineRIght">
					<view class="lineName">{{item.caption}}</view>
					<view class="lineBm">{{item.code}}</view>
					<view class="linejs">{{item.remark}}</view>
				</view>


			</view>
			<view class="mainBox" v-if="restrainShow1">
				<view class="mainLine2" v-for="(item,index) in restrainList1" @click="restrainClickOne(item)">
					<view class="lineName2">{{item.caption}}</view>
					<image src="../../static/img/jt.png" mode="" class="mainLineJt"></image>
				</view>
			</view>
			<view class="mainBox" v-if="restrainShow2">
				<view class="mainLine2" v-for="(item,index) in restrainList2" @click="restrainClickTwo(item)">
					<view class="lineName2">{{item.caption}}</view>
					<image src="../../static/img/jt.png" mode="" class="mainLineJt"></image>
				</view>
			</view>
		</view>

	</view>
</template>

<script>
	export default {
		data() {
			return {
				vin: '',
				brand_name: '',
				access_time: '',
				zzTime: '',
				caption: '',
				param: '',
				token: '',
				list: '',
				restrainShow1: false,
				restrainList1: '',
				restrainShow1: false,
				restrainList1: '',
				lastShow: false,
				childrenList: '',
				oldList: '',
				childrenss: '',
			}
		},
		onLoad(opt) {
			this.vin = opt.vin;
			this.zzTime = opt.zzTime;
			this.param = opt.param;
			this.token = opt.token;
			this.getData()
		},
		methods: {
			goback() {
				console.log('返回');
				uni.navigateBack({})
			},
			restrainClickOne(item) {
				this.param = item.param;
				this.token = item.token;
				if (item.next_restrain == 1) {
					this.getYsone()
				} else {
					this.getYsDlist()
				}
			},

			restrainClickTwo(item) {
				this.param = item.param;
				this.token = item.token;
				if (item.next_restrain == 1) {
					this.getYsDlist()
				} else {
					this.getYsDlist()
				}
			},
			getYsDlist() {
				uni.showLoading({
					title: '加载中'
				});
				this.$http('advancedEpc/getSubgroup', {
					vin: this.vin,
					access_time: this.access_time,
					param: this.param,
					token: this.token

				}, 'GET').then(res => {
					uni.hideLoading();
					//console.log(res.data.number);
					if (res.data.number == 200 || res.data.number == 5212) {
						this.caption = res.data.result.caption;
						this.brand_name = res.data.result.brand_name;
						this.access_time = res.data.result.access_time;
						this.restrainShow2 = false;
						this.restrainShow1 = false;
						this.lastShow = true;
						this.childrenList = res.data.result.list;
						this.oldList = this.childrenList

					} else {
						uni.showToast({
							title: res.data.message,
							icon: 'none',
							duration: 3000
						});
					}

				});
			},
			getYsone() {
				uni.showLoading({
					title: '加载中'
				});
				this.$http('advancedEpc/getSubgroup', {
					vin: this.vin,
					access_time: this.access_time,
					param: this.param,
					token: this.token

				}, 'GET').then(res => {
					uni.hideLoading();
					//console.log(res.data.number);
					if (res.data.number == 200 || res.data.number == 5212) {
						this.caption = res.data.result.caption;
						this.brand_name = res.data.result.brand_name;
						this.access_time = res.data.result.access_time;
						if (res.data.result.level_identify == 'group_restrain' || res.data.result.level_identify ==
							'subgroup') { //约束
							console.log("约束2")
							this.restrainShow2 = true;
							this.restrainShow1 = false;
							this.restrainList2 = res.data.result.list;

						} else {
							this.lastShow = true;
							this.childrenList = res.data.result.list;
							this.oldList = this.childrenList
						}
					} else {
						uni.showToast({
							title: res.data.message,
							icon: 'none',
							duration: 3000
						});
					}

				});
			},
			getData() {
				uni.showLoading({
					title: '加载中'
				});
				this.$http('advancedEpc/getSubgroup', {
					vin: this.vin,
					access_time: this.zzTime,
					param: this.param,
					token: this.token

				}, 'GET').then(res => {
					uni.hideLoading();
					//console.log(res.data.number);
					if (res.data.number == 200 || res.data.number == 5212) {
						this.caption = res.data.result.caption;
						this.brand_name = res.data.result.brand_name;
						this.access_time = res.data.result.access_time;
						if (res.data.result.level_identify == 'group_restrain' || res.data.result.level_identify ==
							'subgroup') { //约束
							console.log("约束1")
							this.restrainShow1 = true;
							this.restrainList1 = res.data.result.list;
						} else {
							this.lastShow = true;
							this.childrenList = res.data.result.list;
							this.oldList = this.childrenList
						}
					} else {
						uni.showToast({
							title: res.data.message,
							icon: 'none',
							duration: 3000
						});
					}

				});
			},
			goCarDetail() {
				uni.navigateTo({
					url: 'CarDetail'
				})
			},
			goThree(item, index) {
				var that = this;
				uni.setStorage({
					key: 'childrenList',
					data: that.childrenList,
					success: function() {
						uni.navigateTo({
							url: 'vinDetail?vin=' + that.vin + '&token=' + item.token + '&param=' +
								item.param + '&access_time=' + that.access_time + '&tabIndex=' + index
						})
					}
				});



			},
			childrenkeyup() {
				this.childrenList = this.oldList;
				if (this.childrenss == '') {

					this.childrenList = this.oldList;
				} else {

					this.childrenList = this.query(this.childrenList, this.childrenss, 'caption')

				}
			},
			query(list, keyWord, attribute = 'caption') {
				const reg = new RegExp(keyWord) // 创建正则表达式
				const arr = []
				for (let i = 0; i < list.length; i++) {
					if (reg.test(list[i][attribute])) {
						arr.push(list[i])
					}
				}
				return arr

			},
		}
	}
</script>

<style scoped>
	.searchImg {
		width: 40rpx;
		height: 40rpx;
		margin-top: 16rpx;
		margin-left: 20rpx;
	}

	.searchBox {
		padding-top: 24rpx;
	}

	.inputBox {
		width: 702rpx;
		height: 72rpx;
		background: #F4F5F7;
		border-radius: 36rpx;
		margin-left: 24rpx;
		display: flex;
		position: relative;
	}

	.topInput {
		font-size: 28rpx;
		height: 72rpx;
		line-height: 72rpx;
		padding-left: 16rpx;
		width: 500rpx;
	}

	.content {
		background: #F4F5F7;
		min-height: 100vh;
		padding-bottom: constant(safe-area-inset-bottom);
		padding-bottom: env(safe-area-inset-bottom);
	}

	.top {
		padding: 20rpx 0;
	}

	.topCont {
		width: 750rpx;
		height: 185rpx;
		background: #FFFFFF;
	}

	.carLogo {
		width: 72rpx;
		height: 72rpx;
	}

	.carTxt {
		font-size: 28rpx;
		font-family: PingFangSC-Medium, PingFang SC;
		font-weight: 500;
		color: #333333;
		line-height: 36rpx;
		width: 606rpx;
	}

	.carJt {
		width: 25rpx;
		height: 24rpx;
		margin-top: 6rpx;
	}

	.carBox {
		display: flex;
		justify-content: space-between;
		padding: 30rpx 24rpx 24rpx 24rpx;
	}

	.vinBox {
		display: flex;
		justify-content: space-between;
		padding-left: 120rpx;
		padding-right: 24rpx;
	}

	.vinBox2 {
		display: flex;
		align-items: center;
	}

	.detail {
		color: #3F90F7;
		font-size: 24rpx;
		margin-right: 10rpx;
	}

	.vinB {
		background: #F19D01;
		width: 60rpx;
		height: 30rpx;
		text-align: center;
		line-height: 30rpx;
		color: #FFFFFF;
		font-size: 22rpx;
		border-radius: 5rpx;
	}

	.vinNum {
		color: #999999;
		font-size: 24rpx;
		line-height: 30rpx;
		padding-left: 10rpx;
	}

	.mainBox {
		background: #FFFFFF;
	}

	.maintitle {
		font-size: 28rpx;
		font-family: PingFangSC-Medium, PingFang SC;
		font-weight: 500;
		color: #333333;
		text-align: center;
		line-height: 88rpx;
		border-bottom: 1px solid #EEEEEE;
		position: relative;
	}

	.backImg {
		width: 25rpx;
		height: 24rpx;
		margin-top: 4rpx;
	}

	.backBox {
		display: flex;
		position: absolute;
		left: 23rpx;
		top: 28rpx;
	}

	.backTxt {
		color: #3F90F7;
		font-size: 24rpx;
		line-height: 33rpx;
	}

	.mainLineJt {
		width: 25rpx;
		height: 24rpx;
		margin-top: 8rpx;
	}

	.mainLine {
		display: flex;

		border-bottom: 1px solid #EEEEEE;
		padding: 29rpx 24rpx;
	}

	.lineName {
		font-size: 26rpx;
		font-family: PingFangSC-Regular, PingFang SC;
		font-weight: 500;
		color: #333333;
		line-height: 40rpx;
		width: 570rpx;
		word-wrap: break-word;
		/*强制换行*/
		overflow: hidden;
		/*超出隐藏*/
		text-overflow: ellipsis;
		/*隐藏后添加省略号*/
		white-space: nowrap;
		/*强制不换行*/
	}

	.mainLine2 {
		display: flex;
		justify-content: space-between;
		border-bottom: 1px solid #EEEEEE;
		padding: 24rpx;
	}

	.lineName2 {
		font-size: 28rpx;
		font-family: PingFangSC-Regular, PingFang SC;
		font-weight: 400;
		color: #333333;
		line-height: 40rpx;
	}

	.lineIMg {
		width: 100rpx;
		height: 85rpx;
	}

	.lineRIght {
		padding-left: 20rpx;
	}

	.lineBm {
		font-size: 24rpx;
		font-family: PingFangSC-Regular, PingFang SC;
		font-weight: 400;
		color: #999999;
		padding: 10rpx 0;
	}

	.linejs {
		font-size: 24rpx;
		font-family: PingFangSC-Regular, PingFang SC;
		font-weight: 400;
		color: #999999;
		width: 570rpx;
		word-wrap: break-word;
		/*强制换行*/
		overflow: hidden;
		/*超出隐藏*/
		text-overflow: ellipsis;
		/*隐藏后添加省略号*/
		white-space: nowrap;
		/*强制不换行*/
	}
</style>