<template>
	<view class="box">
		
		 <!-- 自定义头部 -->
		<view class="zdyNav">
			<view class="status_bar" :style="{height: iStatusBarHeight + 'px'}"></view>
			<view class="zdyNavCont">
				<view class="zdyNavContLeft">
					<image src="../../../static/img/baiheiback.png" mode="" class="baiheibackImg" @click="gofhj"></image>
					<!-- <image src="../../static/img/chahao.png" mode="" class="gaunbiIMg" @click="goback"></image> -->
				</view>
				<view class="zdyNavContTitle">自主选车</view>
				<view class="zdyNavContRight"></view>
			</view>
		</view>
		<view class="status_bar" :style="{height: iStatusBarHeight + 'px'}"></view>
		<view style="height: 44px;"></view>
		
		<!-- <view class="tab">
			<view class="tabLine" :class="{activeTab:tabIndex==1}" @click="tabIndex=1">手动选车</view>
			<view class="tabLine" :class="{activeTab:tabIndex==2}" @click="tabIndex=2">VIN识别</view>
		</view> -->
		
		<view class="tab1 " v-if="tabIndex==1">
			 <scroll-view  class="scroll-view" :scroll-into-view="toView" scroll-y="true" >
				<view class="brand-select">
					<template v-for="item in carModelList">
					  <view :id="item['首字母']" v-if="item['首字母']!='热门'">
						<view class="brand-select-title" :id="item['首字母']+'-model'">
						  <h5 :class="{'brand-select-titleselect':item['首字母']==toView}">{{item['首字母']}}</h5>
						</view>
					   
							<view class="brand-select-wrapper">
								<a class="brand-select-item" v-for="item2 in item['品牌列表']" @click="selectBrand(item2)" :id="item2.brand">
								  <img :src="item2.logo" class="brand-select-item-icon">
								  <span>{{item2.brand||item2.name}}</span>
								</a>
							</view>
					   
					  </view>
					  <view :id="'rm'" v-if="item['首字母']=='热门'">
						<view class="brand-select-title" :id="item['首字母']+'-model'">
						  <h5 :class="{'brand-select-titleselect':item['首字母']==toView}">{{item['首字母']}}</h5>
						</view>
   
							<view class="brand-select-wrapper">
								<a class="brand-select-item" v-for="item2 in item['品牌列表']" @click="selectBrand(item2)" :id="item2.brand">
								  <img :src="item2.logo" class="brand-select-item-icon">
								  <span>{{item2.brand||item2.name}}</span>
								</a>
							</view>
					   
					  </view>
					</template>
				 </view>
	        </scroll-view >
			<div class="fast-navigation">
			  <a class="fast-navigation-sel" :class="{'select':item['首字母']==toView}" v-for="item in carModelList" @tap="bindToView(item)">{{item['首字母']}}</a>
			</div>
			
		</view>
		<uni-popup ref="popup" type="right" :mask-click="true">
			<view class="popup-content" >
				<view class="status_bar" :style="{height: iStatusBarHeight + 'px'}"></view>
				<view style="height: 44px;"></view>
				<h3 class="carModel-nav-title cell-logo">
				  <img :src="selectedCarBrand.logo" class="carModel-nav-title-img">
				  <span class="carModel-nav-title-msg">{{ selectedCarBrand.brand }}</span>
				</h3>
				<scroll-view class="brandList" scroll-y="true">
					<view v-for="item in carSeriesList" :key="item.manufactor" >
					  <h3 class="cell-item-title">{{ item.manufactor }}</h3>
					  <span v-for="item2 in item.carSeries" :key="item2" :title="item2" class="span-cell" @click="selectCarFactory(item.manufactor,item2)" >{{item2}}</span>
					</view>
				</scroll-view>
				
			</view>
		</uni-popup>
		
		<!-- 排量 -->
		<view class="displacementListBox" v-show="displacementListShow">
			<view class="status_bar" :style="{height: iStatusBarHeight + 'px'}"></view>
			<view style="height: 44px;"></view>
			<h3 class="carModel-nav-title">
			  <img :src="selectedCarBrand.logo" class="carModel-nav-title-img" @click="$emit('changeStep', 1)">
			  <span class="carModel-nav-title-msg">{{ selectedCarBrand.brand }} {{ carSeries }}</span>
			</h3>
			<scroll-view scroll-y="true" class="brandList">
			  <view @click="selectDisplacement(item)" v-for="item in displacementList" class="displacementListLine" >
			    {{item}}
			  </view>
			</scroll-view>
		</view>
		
		<!-- 离合器 -->
		<view class="carGroupListBox" v-show="carGroupListShow">
			<view class="status_bar" :style="{height: iStatusBarHeight + 'px'}"></view>
			<view style="height: 44px;"></view>
			<h3 class="carModel-nav-title">
			  <img :src="selectedCarBrand.logo" class="carModel-nav-title-img" @click="$emit('changeStep', 1)">
			  <span class="carModel-nav-title-msg">{{ selectedCarBrand.brand }} {{ carSeries }}{{displacement}}</span>
			</h3>
			<scroll-view scroll-y="true" class="brandList">
			  <view @click="goAddCar(item)" v-for="item in carGroupList" class="displacementListLine" >
			    {{item.title}}
			  </view>
			</scroll-view>
		</view>
		<!-- 离合器 -->
		
		
		<view class="tab2" v-if="tabIndex==2">
			<view class="vinboxone" v-if="vinboxoneShow">
				<view class="smvin">请扫描VIN</view>
				<view class="smvin2">扫描时请保持环境光线充足不要反光</view>
				<view class="sltp">
					<!-- <image src="../../static/img/vin.png" mode="" class="sltpImg" ></image> --><!-- v-if="!vinImg" -->
					<!-- <image :src="vinImg" mode="widthFix" class="vinImg" v-if="vinImg"></image> -->
				</view>
				<view class="vinSc" @click="scVinIMg">上传图片</view>
			</view>
			<view class="vinboxTwo" v-if="vinboxtwoShow">
				 <view class="vinboxTwoTopFh" @click="vinboxtwoShow=false"> 返回扫描 </view>
				<view class="vinboxTwoTopVIn">车辆识别代码:{{vin}}</view>
				<view class="vinCxNum"> 共{{vinSbList.length}}条查询结果</view>
				<view class="vinXzBox">
					<!-- <view class="vinXzLine">
					 <view class="vinXzLineCx">品牌+车系+排量+变速器描述</view>
					 <image src="../../static/img/icon_checked.png" mode="" class="loginLogo"></image>
					</view> -->
					<view class="vinXzLine" v-for="(vinItem,vIndex) in vinSbList" @click="ckVin(vinItem,vIndex)">
					 <view class="vinXzLineCx">{{vinItem.title}}</view>
					 <view class="vinXzLineyk" v-if="vinIndex!=vIndex"></view>
					<!-- <image src="../../static/img/icon_checked.png" mode="" v-if="vinIndex==vIndex" class="loginLogo"></image> -->
					</view>
					<view class="status_bar" :style="{height: iStatusBarHeight + 'px'}"></view>
				</view>
			</view>
			<view class="vinboxTwoBottom" v-if="vinboxtwoShow" :style="{bottom:iStatusBarHeight+'px'}">
				<view class="shoudonng" @click="shoudong">都不是,手动选车</view>
				<view class="qrcx" @click="qrcx">确认车型</view>
			</view>
			
		</view>
		
		
	</view>
</template>

	
<script>

export default {
	 components: {  
	       
	 },
	data() {
		return {
			carList:'',
			tabIndex:1,
			carModelList:'',
			toView:'',
			type:'right',
			brand:'',
			carSeriesList:'',
			selectedCarBrand:'',
			manufactor:'',
			carSeries:'',
			displacementList:'',
			displacementListShow:false,
			selectedCarSeries:'',
			displacement:'',
			carGroupList:'',
			carGroupListShow:false,
			type:'',
			delId:'',
			vinImg:'',
			file:'',
			vin:'',
			vinboxoneShow:true,
			vinboxtwoShow:false,
			addNum:'',
			iStatusBarHeight:'',
			popupShow:false,
			vinSbList:[],
			vinIndex:0,
			vincarModelInfo:'',
		}
	},
	onLoad(opt) {
	  this.iStatusBarHeight = uni.getSystemInfoSync().statusBarHeight;
	  if(opt.type==2){
		  this.type=2
	  }
	  if(opt.add){
		  this.addNum=opt.add
	  }
	  this.delId=opt.delId;
      this.queryCarModelGroupPackage();
	},
	methods: {
		ckVin(vinItem,vIndex){
			this.vinIndex=vIndex;
			this.vincarModelInfo=vinItem
		},
		qrcx(){
			this.goAddCar(this.vincarModelInfo)
		},
		shoudong(){
			this.vinboxtwoShow=false;
			this.tabIndex=1;
		},
		goback(){
			uni.navigateBack({
				delta:1
			})
		},
		gofhj(){
			if(this.carGroupListShow){
				this.carGroupListShow=false
			}else if(this.displacementListShow){
				this.displacementListShow=false
			}else if(this.popupShow){
				this.popupShow=false
				this.$refs.popup.close()
			}else{
				uni.navigateBack({
					delta:1
				})
			}
		},
		scVinIMg(){
			var that = this;
			uni.chooseImage({
				sourceType: ['album','camera'],
				count:1, 
				success: (chooseImageRes) => {
					const tempFilePaths = chooseImageRes.tempFilePaths;
					that.file=tempFilePaths[0]
					 uni.uploadFile({
				            url: that.$request.baseUrl+'accompany/SuperCheckSheet/uploadFile', //仅为示例,非真实的接口地址
				            filePath: tempFilePaths[0],
				            name: 'file',
				            formData: {
				                'user': 'test'
				            },
				            success: (uploadFileRes) => {
				                console.log(JSON.parse(uploadFileRes.data).data );
								//that.imgArr=that.imgArr.concat(JSON.parse(uploadFileRes.data).data) ;
								that.vinImg=JSON.parse(uploadFileRes.data).data[0];
								that.vinScanner()
				            }
				        });
			
					/* that.$http('accompany/SuperCheckSheet/uploadFile', tempFilePaths[0], 'POST').then(res => {
						
					}) */
				}
			});
		},
		vinScanner(){
			uni.showLoading({
				title:'正在识别中'
			});
			/* 
			this.$http('miniAppMyBMemberCar/vinScanner', {
			  photo:this.file,
			
			 },'POST').then(res => {
				uni.hideLoading();
				//this.carGroupList=res.data.carGroupList
			}) */
			var that=this;
			uni.uploadFile({
			       url: that.$request.baseUrl+'miniAppMyBMemberCar/vinScanner', 
			       filePath: that.file,
			       name: 'photo',
			       formData: {
			           'user': 'test'
			       },
			       success: (uploadFileRes) => {
					   uni.hideLoading();
			           console.log(JSON.parse(uploadFileRes.data) );
					   if(JSON.parse(uploadFileRes.data).code==0){
						   	that.vin = JSON.parse(uploadFileRes.data).data;
							that.queryCarModelGroupByVin()
					   }else{
						   uni.showToast({
						   	title: JSON.parse(uploadFileRes.data).msg,
						   	icon: 'none',
						   	duration: 2000,
						   });
					   }
					   	
			       }
			   });
		},
		queryCarModelGroupByVin(){
			uni.showLoading({ });
			this.$http('miniAppMyBMemberCar/queryCarModelGroupByVin', {
			  vin:this.vin,
			
			 },'GET').then(res => {
				uni.hideLoading();
				if(res.code!=0){
					uni.showToast({
						title: res.msg,
						icon: 'none',
						duration: 2000,
					});
				}else{
					this.vinboxtwoShow=true
					this.vinSbList=res.data;
					this.vincarModelInfo=this.vinSbList[0]
				}
				
			})
			
		},
		goAddCar(item){
			console.log(item)
			var carModelInfo=item;
			var that=this;
			uni.setStorage({
				key: 'carModelInfo',
				data: carModelInfo,
				success: function () {
					
					
						uni.navigateBack({
							delta:1
						})
					
					 
				}
			}); 
		},
		selectBrand(item){
			console.log(item)
			this.selectedCarBrand=item;
			this.$refs.popup.open("right")
			this.popupShow=true;
			this.brand=item.brand
			this.getbrand()
		},
		selectCarFactory(manufactor,item){
			this.manufactor=manufactor;
			this.carSeries=item;
			//this.selectedCarSeries=item
			this.displacementListShow=true;
			this.getdisplacementList()
		},
		selectDisplacement(item){
			this.displacement=item;
			this.carGroupListShow=true;
			this.getmodelList();
		},
		getmodelList(){
			uni.showLoading({
				title: '加载中'
			})
			this.$http('opencarInfoOwner/queryCarModelGroupPackage', {
			  brand:this.brand,
			  manufactor:this.manufactor,
			  carSeries:this.carSeries,
			  displacement:this.displacement
			 },'POST').then(res => {
				uni.hideLoading();
				this.carGroupList=res.data.carGroupList
			})
		},
		getdisplacementList(){
			uni.showLoading({
				title: '加载中'
			})
			this.$http('opencarInfoOwner/queryCarModelGroupPackage', {
			  brand:this.brand,
			  manufactor:this.manufactor,
			  carSeries:this.carSeries
			 },'POST').then(res => {
				uni.hideLoading();
				this.displacementList=res.data.displacementList
			})
		},
		queryCarModelGroupPackage(){
			uni.showLoading({
				title: '加载中'
			})
			this.$http('opencarInfoOwner/queryCarModelGroupPackage', {
			  
			 },'POST').then(res => {
				uni.hideLoading();
				this.carModelList=res.data.brands
			})
		},
		bindToView(item){
			console.log(item)
			if(item['首字母']=='热门'){
					this.toView ='rm'
			}else{
					this.toView = item['首字母']
			}
		
			console.log(this.toView)
			//this.scrollTop = 0
		
		},
       /* login(){
			uni.navigateTo({
				url:'../login/login'
			})
		} */
		close(){
			this.$refs.popup.close()
		},
		getbrand(){
			uni.showLoading({
				title: '加载中'
			})
			this.$http('opencarInfoOwner/queryCarModelGroupPackage', {
			  brand:this.brand
			 },'POST').then(res => {
				uni.hideLoading();
				this.carSeriesList=res.data.carSeriesList
			})
		}
	}
}
</script>

<style scoped lang="scss">
	.box{
		min-height: 100vh;
		background:#F4F5F7 ;
	}
	.vinboxTwoTopFh{
		font-size: 26rpx;
	    padding: 30rpx 24rpx;
		color: #3F90F7;
	}
	.vinboxTwoBottom{
		width: 750rpx;
		height: 120rpx;
		background: #FFFFFF;
		box-shadow: 0px -2px 20px 0px rgba(153, 153, 153, 0.2);
		position: absolute;
		left: 0;
		bottom: 0;
		display: flex;
		justify-content: space-around;
	}
	.shoudonng{
		width: 336rpx;
		height: 74rpx;
		border-radius: 37rpx;
		border: 1px solid #FF4F00;
		line-height: 74rpx;
		text-align: center;
		font-size: 30rpx;
		color: #FF4F00;
		margin-top: 23rpx;
	}
	.qrcx{
		width: 336rpx;
		height: 74rpx;
		background: linear-gradient(124deg, #FF8700 0%, #FF4F00 100%);
		border-radius: 37rpx;
		line-height: 74rpx;
		text-align: center;
		font-size: 30rpx;
		color: #FFFFFF;
			margin-top: 23rpx;
	}
	.vinXzBox{
		padding-bottom: 120rpx;
	}
	.loginLogo{
		width: 28rpx;
		height: 28rpx;
	}
	.vinXzLineyk{
		width: 24rpx;
		height: 24rpx;
		border: 2rpx solid #999999;
		border-radius: 50%;
	}
	.vinXzLine{
		padding: 30rpx 24rpx;
		display: flex;
		justify-content: space-between;
		color: #3C3C3C;
		font-size: 28rpx;
		line-height: 28rpx;
		border-bottom: 1px solid #DDDDDD;
	}
	.vinboxTwoTopVIn{
		font-size: 28rpx;
		color: #666666;
		padding-left: 24rpx;
		padding-bottom: 30rpx;
	}
	.zdyNav{
		width: 100vw;
		background: #FFFFFF;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 1111111;
	}
	.zdyNavCont{
		height: 44px;
		font-size: 28rpx;
		// font-weight: bold;
		display: flex;
		justify-content: space-between;
		line-height: 44px;
	}
	.vinCxNum{
		background: #F4F5F7;
		font-size: 26rpx;
		padding: 18rpx 24rpx;
		color: #999999;
	}
	.baiheibackImg{
		width: 70px;
		height: 44px;
	}
	.gaunbiIMg{
		width: 20px;
		height: 20px;
		padding: 12px;
	}
	.zdyNavContLeft{
		
	}
	.zdyNavContTitle{
		color: #000000;
		font-size: 30rpx;
		font-weight: bold;
	}
	.zdyNavContRight{
		width: 100px;
	}
	.smvin{
		color: #3C3C3C;
		font-size: 30rpx;
	}
	.smvin2{
		color: #999999;
		font-size: 26rpx;
	}
	.tab2{
		padding: 30rpx 24rpx;
		min-height: calc(100vh - 150rpx - 44px);
		background: #FFFFFF;
		position: relative;
	}
	.vinboxTwo{
		position: absolute;
		top: 0;
		left: 0;
		width: 750rpx;
		min-height: calc(100vh - 150rpx - 44px);
		background: #FFFFFF;
	}
	.sltpImg{
		width: 704rpx;
		height: 353rpx;
	}
	.vinImg{
		width: 704rpx;
	}
	.sltp{
		padding-top: 20rpx;
	}
	.vinSc{
		width: 690rpx;
		height: 74rpx;
		background: linear-gradient(124deg, #FF8700 0%, #FF4F00 100%);
		border-radius: 37rpx;
		text-align: center;
		line-height: 74rpx;
		color: #FFFFFF;
		font-size: 30rpx;
		margin-top: 70rpx;
	}
	.nodataImg{
	  width: 400rpx;
	  padding-top: 100rpx;
	}
	.noTxt{
		font-size: 36rpx;
		color: #999999;
		padding-top: 50rpx;
	}
	.nodataBox{
		text-align: center;
	}
	.addBtn{
		width: 690rpx;
		height: 74rpx;
		background: linear-gradient(124deg, #FF8700 0%, #FF4F00 100%);
		border-radius: 37rpx;
		line-height: 74rpx;
		text-align: center;
		color: #FFFFFF;
		font-size: 30rpx;
		position: fixed;
		bottom: 23rpx;
		left: 30rpx;
	}
	.carlistBox{
		padding-bottom: 120rpx;
	}
	.tab{
		background: #FFFFFF;
		display: flex;
		justify-content: space-around;
		line-height: 93rpx;
		color: #3C3C3C;
		font-size: 30rpx;
		border-bottom: 1px solid #F4F5F7;
	}
	.activeTab{
		color: #FF4F00;text-decoration: underline
	}
	/* .brand-select-title{
		height: 80px;
		background:rgba(247,247,247,1);
		position: relative;
	} */
	.brand-select{
	  .brand-select-title{
	    height: 80rpx;
	    background:rgba(247,247,247,1);
	    position: relative;
	    h5{
	      position: absolute;
	      height:40rpx;
	      font-size:28rpx;
	      font-weight:500;
	      color:rgba(102,102,102,1);
	      line-height:40rpx;
	      top: 20rpx;
	      left: 30rpx;
	    }
	  }
	  .brand-select-wrapper{
	    display: flex;
	    flex-wrap: wrap;
	    background:rgba(255,255,255,1);
		width: 100vw;
	    .brand-select-item{
	      display: block;
	      width: 80rpx;
	      height: 100rpx;
	      padding: 30rpx;
	      img{
	        display: inline-block;
	        margin-left: 10rpx;
	        width: 60rpx;
	        height: 60rpx;
	      }
	      span{
	        display: inline-block;
	        text-align: center;
	        height:33rpx;
	        width: 90rpx;
	        font-size:24rpx;
	        font-weight:400;
	        color:rgba(51,51,51,1);
	        line-height:33rpx;
	      }
	    }
	
	  }
	}
	.fast-navigation{
	  position: fixed;
	  text-align: center;
	  right: 16rpx;
	  top: 360rpx;
	  width: 23rpx;
	  font-size:24rpx;
	  font-weight:500;
	  line-height:35rpx;
	  color: rgb(153, 153, 153);
	  a{
	    display: block;
	  }
	  .select{
	    color: #FF4F00;
	  }
	}
	.scroll-view{
		height: calc(100vh - 93rpx);
	}
	.popup-height {
	
		width: 200px;
	}
	.popup-content{
		width: 590rpx;
		background: #FFFFFF;
		height: 100vh;
	}
	.carModel-nav-title{
	  height:100rpx;
	  background: linear-gradient(134deg, #FF8635 0%, #FF4828 100%);
	  line-height: 100rpx;
	  display: flex;
	  z-index: 500;
	  &.cell-logo{
	    position: sticky;
	    top: 0;
	   background: linear-gradient(134deg, #FF8635 0%, #FF4828 100%);
	  }
	  .carModel-nav-title-box{
	    width: 100%;
	    display: flex;
	  }
	  .carModel-nav-title-img{
	    margin: 20rpx;
	    width: 60rpx;
	    height: 60rpx;
	  }
	  .carModel-nav-title-msg{
	    font-size:30rpx;
	    font-weight:400;
	    color:rgba(255,255,255,1);
	    display: block;
	    padding-right: 20rpx;
	  }
	}
	.cell-item-title{
	  height:60rpx;
	  background:rgba(250,250,250,1);
	  font-size:28rpx;
	  font-weight:400;
	  color:rgba(102,102,102,1);
	  line-height:60rpx;
	  padding-left: 26rpx;
	}
	.span-cell{
	  position: relative;
	  display: -webkit-box;
	  display: -webkit-flex;
	  display: flex;
	  box-sizing: border-box;
	  width: 100%;
	  padding: 6rpx 30rpx;
	  overflow: hidden;
	  color: #323233;
	  font-size: 3.73333vw;
	  line-height: 82rpx;
	  height: 82rpx;
	  background-color: #fff;
	  border-bottom: 1px solid #ebedf0;
	
	}
	.carModel-nav-title{
	  height:100rpx;
	 background: linear-gradient(134deg, #FF8635 0%, #FF4828 100%);
	 line-height: 100rpx;
	  display: flex;
	  z-index: 500;
	  &.cell-logo{
	    position: sticky;
	    top: 0;
	    background: linear-gradient(134deg, #FF8635 0%, #FF4828 100%);
	  }
	  .carModel-nav-title-box{
	    width: 100%;
	    display: flex;
	  }
	  .carModel-nav-title-img{
	    margin: 20rpx;
	    width: 60rpx;
	    height: 60rpx;
	  }
	  .carModel-nav-title-msg{
	    font-size:30rpx;
	    font-weight:400;
	    color:rgba(255,255,255,1);
	    display: block;
	    padding-right: 20px;
	  }
	}
	.displacementListLine{
		min-height: 50rpx;
		padding: 20rpx 20rpx 20rpx 30rpx;
		font-size:28rpx;
		font-weight:600;
		color:rgba(51,51,51,1);
		line-height:50rpx;
		border-top: 2rpx solid rgb(238, 238, 238);
		background-color: rgb(255, 255, 255);
	}
	.displacementListBox{
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		background:#F4F5F7 ;
		z-index: 11111;
		/*  #ifdef H5 */
		top:44px;
		/*  #endif  */
	}
	.carGroupListBox{
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		background:#F4F5F7 ;
		z-index: 11111;
		/*  #ifdef H5 */
		top:44px;
		/*  #endif  */
	}
	.brandList{
		height: calc(100vh - 250rpx);
	}
	.brand-select-titleselect{
		    color: #FF4F00 !important;
	}
</style>