<template>
	<view class="zbp-head-wrapper">
		<view class="color-lump"></view>
		<view class="bg-img">
			<img :src="bgColor" alt="">
		</view>

		<view class="site-box flex_a_c_j_sb">

			<!-- <view class="place_wrapper flex_a_c" @click="selectLocation">
				<view class="iconfont icon-weizhi"></view>
				<view class="town_name">{{street}}</view>
			</view>
			<navigator url="/pages/chat/customer_list/index?type=0" hover-class="none">
				<view class="iconfont icon-xiaoxi" style="color:#fff;"></view>
			</navigator> -->
		</view>
		<!-- 搜索栏 -->
		<navigator url="/pages/columnGoods/goods_search/index" hover-class="none" class="search_content flex_a_c_j_sb">
			<view class="flex_a_c">
				<view class="iconfont icon-sousuo" style="font-size: 39rpx;"></view>
				<input type="text" v-model="keyword" placeholder="搜索产品或店铺" placeholder-style="font-size: 30rpx;"
					disabled>
			</view>
			<button class="search_btn">搜索</button>
		</navigator>
		<!-- 轮播图 -->
		<view class="supply_chains-head">
			<swiper class="swiper l_center" @change="swiperChange" :indicator-dots="swiper.indicatorDots"
				:autoplay="swiper.autoplay" :interval="swiper.interval" :duration="swiper.duration"
				indicator-active-color="#fff">
				<block v-for="(item,index) in swiper['url']" :key="index">
					<swiper-item class="swi_item" @click="swiperClick(item)">
						<u--image :showLoading="true" :src="item.img" width="724rpx" height="259rpx" mode="aspectFit">
						</u--image>
					</swiper-item>
				</block>
			</swiper>
		</view>
		<u-picker :defaultIndex="defaInd" :show="showPicker" ref="uPicker" :columns="columnData" @confirm="confirm"
			@cancel="showPicker = false" @change="changeHandler" keyName="name"></u-picker>
	</view>
</template>

<script>
	import {
		getArea,
		getStreet
	} from '@/api/article.js';
	import {
		getIndexData,
		getDiy
	} from '@/api/api.js'
	
	import {
		mapGetters
	} from 'vuex'
	import {
		Toast
	} from '../libs/uniApi';
	import Cache from '@/utils/cache';
	export default {
		props: {
			isSelectPlace: {
				type: Boolean,
				default: false
			},
			// location_Arr: {
			// 	type: Object,
			// 	default: () => ({})
			// },
			// town: {
			// 	type: String,
			// 	default: false
			// },

		},
		data() {
			return {
				defaInd: [0, 0],
				street: '',

				showPicker: false,
				styleConfig: [],
				columnData: [],
				homeCombData: [],
				keyword: '',
				bgColor: '',
				swiper: {
					url: [{
						img: ''
					}],
					indicatorDots: true, // 显示面板指示点
					vertical: false, // 滑动方向是否为纵向
					autoplay: true, // 是否自动切换
					interval: 2000, // 自动切换时间间隔
					duration: 400 // 滑动动画时长
				},

			}
		},
		watch: {
			street(nval, val) {
				this.street = nval
			}
		},

		created() {

			this.getBanner()
			this.Area()

		},

		mounted() {
			
			this.$bus.$on('value-updated', (newValue) => {
				// 更新组件的值 
				this.street = newValue.split(',')[0]
				 
			});
		},
		onShow() {
			this.getBanner()
			this.Area()
		},

		methods: {
			swiperClick(item) {
				const url = item.info[1].value
				uni.navigateTo({
					url: url
				})
			},
			selectLocation() {
				this.isSelectPlace ? this.showPicker = true : ''
			},

			confirm(e) {
				this.showPicker = false
				this.$emit('selectPlce', e)
				this.$emit('change', e)
				this.street = e.value[1].name
				this.$nextTick(() => {
					this.$bus.$emit('value-updated', e.value[1].name + ',' + e.value[1].code);

				})



			},
			changeHandler(e) {
				const {
					columnIndex,
					value,
					values,
					index,
					picker = this.$refs.uPicker
				} = e;
				if (columnIndex === 0) {
					getStreet({
						area_code: value[0]['code']
					}).then(res => {
						picker.setColumnValues(1, res.data);
					});
				}
			},
			Area() {
				getArea({
					city_code: 510500
				}).then(res => {
					this.$refs.uPicker.setColumnValues(0, res.data);
					this.Street(res.data[0]['code']);
				});
			},
			Street(code) {
				getStreet({
					area_code: code
				}).then(res => {
					this.$refs.uPicker.setColumnValues(1, res.data);
				});
			},

			swiperChange(e) {
				let {
					current,
					source
				} = e.detail;
				if (source === 'autoplay' || source === 'touch') {
					this.bgColor = this.swiper.url[e.detail.current]['img']
					this.$emit('kkchange', this.bgColor)
				}
			},


			// 对象转数组
			objToArr(data) {
				let obj = Object.keys(data).sort();
				let m = obj.map(key => data[key]);
				return m;
			},
			async getBanner(id) {
				let that = this;
				const {
					data
				} = await getDiy({
					id: 0
				})
				that.styleConfig = that.objToArr(data.value);
				/* 循环数组得到数据*/
				that.styleConfig.forEach((item, index, arr) => {
					if (item.name == 'headerSerch' || item.name == 'homeComb') {
						if (item.name == 'homeComb') {
							that.swiper.url = item.swiperConfig.list
						}
					}
				})
				this.bgColor = this.swiper.url[0].img
			},
		}
	}
</script>

<style lang="scss" scoped>
	.zbp-head-wrapper {
		position: relative;
		padding-top: 78.95rpx;
		overflow: hidden;

		.color-lump {
			z-index: 1;
			position: absolute;
			bottom: -86px;
			left: 50%;
			transform: translate(-50%, 0);
			width: 102%;
			height: 133px;
			border-radius: 30px 30px 0 0;
			background-color: #fff;
		}

		.bg-img {
			position: absolute;
			width: 100%;
			height: 100%;
			top: 0;
			/* #ifdef MP || APP-PLUS */
			z-index: -1;
			/* #endif */
			/* #ifdef H5 */
			z-index: 0;
			/* #endif */
			z-index: 0;
			filter: blur(0);
			overflow: hidden;

			img {
				width: 100%;
				height: 100%;
				filter: blur(30rpx);
				transform: scale(1.5);
			}
		}

		.site-box {
			margin: 0 auto;
			width: 694.74rpx;
			height: 66.67rpx;
			margin-bottom: 26.32rpx;
			position: relative;
			z-index: 0;


			// 位置
			.place_wrapper {
				color: #fff;
				margin-right: 24.56rpx;
				font-size: 30rpx;

				.town_name {
					margin-left: 21rpx;
				}
			}

			.iconfont {
				font-size: 35.09rpx;
			}
		}

		.my-main {
			transition: background-color .5s ease;
		}

		.search_content {
			margin: 0 auto;
			width: 724rpx;
			height: 74rpx;
			padding: 2px 2px 2px 21.05rpx;
			border-radius: 175rpx;
			background: #fff;
			margin-bottom: 21rpx;
			position: relative;
			box-sizing: border-box;

			.icon-sousuo {
				font-size: 26.32rpx;
				font-weight: bold;
				color: #c8c7c6;
				margin-right: 17.54rpx;
			}

			.search_btn {
				color: #fff;
				width: 105.26rpx;
				height: 52.63rpx;
				line-height: 52.63rpx;
				background: #f84221;
				border-radius: 100px;
				font-size: 28.07rpx;
			}
		}

		.supply_chains-head {
			margin-bottom: 17.54rpx;
			position: relative;
			z-index: 2;

			.swiper {
				width: 724rpx;
				height: 259rpx;
				margin: 0 auto;
				border-radius: 20rpx 20rpx 20rpx 20rpx;
				overflow: hidden;

				.swi_item {
					width: 100%;
					height: 259rpx;
				}
			}
		}
	}
</style>