<template>
	<view>
		<!-- 状态栏 -->
		<view class="status" :style="{position:headerPosition}"></view>
		<view class="header" :style="{position:headerPosition}">
			<view class="addr">
				<view class="icon location"></view>{{city}}
			</view>
			<view class="input-box">
				<input placeholder="默认关键字" placeholder-style="color:#c0c0c0;" @tap="toSearch()" />
				<view class="icon search"></view>
			</view>
			<view class="icon-btn">
				<view class="icon tongzhi" @tap="toMsg"></view>
			</view>
		</view>
		<!-- 占位 -->
		<view class="place"></view>
		<view class="category-list">
			<!-- 左侧分类导航 -->
			<scroll-view scroll-y="true" class="left">
				<view class="row" :class="[0==showCategoryIndex?'on':'']">
					<view class="text">
						<view class="block"></view>
						卡券
					</view>
				</view>

			</scroll-view>
			<!-- 右侧子导航 -->
			<scroll-view scroll-y="true" class="right">
				<view class="category" v-show="0==showCategoryIndex">
					<view class="banner">
						<image src="/static/img/banner2.png"></image>
					</view>
					<view class="list">
						<view class="box" v-for="(box,i) in categoryList" :key="i" @tap="toCategory(box.id)">
							<image :src="imageUrl+box.couponImg"></image>
							<view class="text">{{box.couponName}}</view>
						</view>
					</view>
				</view>
				<view class="loading-text" @click="getCouponList">{{ loadingText }}</view>
			</scroll-view>
		</view>
		<authorize></authorize>
	</view>
</template>
<script>
	import {
		getCouponList
	} from "../../../Utils/Api.js";
	import authorize from '../../../components/Authorize';
	let app = getApp();
	export default {
		components: {
			authorize
		},
		data() {
			return {
				showCategoryIndex: 0,
				headerPosition: "fixed",
				city: "",
				imageUrl: app.globalData.imgUrl,
				//分类列表
				categoryList: [],
				pageNum: 1,
				pageSize: 10,
				isNoMoreData: false,
				loadingText: '点击加载更多'
			}
		},
		onPageScroll(e) {
			//兼容iOS端下拉时顶部漂移
			if (e.scrollTop >= 0) {
				this.headerPosition = "fixed";
			} else {
				this.headerPosition = "absolute";
			}
		},
		onLoad() {
			this.postionIng();
		},
	

		methods: {
			postionIng() {
				uni.showLoading({

				})
				let that = this;
				uni.getLocation({
					type: 'wgs84',
					success: function(res) {
						uni.request({
							url: 'https://apis.map.qq.com/ws/geocoder/v1/?location=' + res.latitude +
								',' + res.longitude + '&key=YQDBZ-T54K4-5J6U7-DO3BA-CNZJO-PTFMU',
							data: {},
							success: function(res) {
								that.city = res.data.result.address_component.city.replace(/市/g,
									'');
								let a = res.data.result.ad_info.adcode.substring(5, '');
								app.globalData.cityId = '500100';
								that.getCouponList();
								uni.hideLoading()
							}
						})
					}
				})
			},
			//卡券列表
			getCouponList() {
				uni.showLoading({
					title: '加载中...'
				})
				if (this.isNoMoreData) {
					uni.hideLoading()
					this.loadingText = '到底了';
					return false;
				}
				let pagenum = this.pageNum;
				let params = {
					regionId: app.globalData.cityId,
					pageNum: pagenum,
					pageSize: this.pageSize
				}
				getCouponList(params).then(res => {
					if (res.return_code == '000000') {
						uni.hideLoading();
						this.isNoMoreData = res.return_data.list.length == this.pageSize ? false : true;
						this.pageNum = res.return_data.list.length == this.pageSize ? ++pagenum : pagenum;
						this.categoryList = this.categoryList.concat(res.return_data.list);
					} else {
						uni.hideLoading()
					}
				})
				
			},
			toMsg() {
				// uni.navigateTo({
				// 	url:'../../msg/msg'
				// })
				uni.showToast({
					title: '暂未开通',
					icon: 'none'
				});
			},
			//分类切换显示
			showCategory(index) {
				this.showCategoryIndex = index;
			},
			toCategory(e) {
				// uni.setStorageSync('catName',e.name);
				// uni.navigateTo({
				// 	url: '../../goods/goods-list/goods-list?cid='+e.id+'&name='+e.name
				// });
				// uni.navigateTo({
				// 	url:'../../goods/store-list/store-list?id='+e
				// })

				uni.navigateTo({
					url: '../../goods/goods?id=' + e
				});
			},
			//搜索跳转
			toSearch() {
				uni.navigateTo({
					url: '../../goods/HM-search/HM-search'
				})
				// uni.showToast({title: "建议跳转到新页面做搜索功能"});
			}
		}
	}
</script>
<style lang="scss">
	.status {
		width: 100%;
		height: 0;
		position: fixed;
		z-index: 10;
		background-color: #fff;
		top: 0;
		/*  #ifdef  APP-PLUS  */
		height: var(--status-bar-height); //覆盖样式
		/*  #endif  */
	}

	.loading-text {
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		height: 60upx;
		color: #979797;
		font-size: 24upx;
	}

	.header {
		width: 92%;
		padding: 0 4%;
		height: 100upx;
		display: flex;
		align-items: center;
		position: fixed;
		top: 0;
		z-index: 10;
		background-color: #fff;
		/*  #ifdef  APP-PLUS  */
		top: var(--status-bar-height);
		/*  #endif  */

		.addr {
			width: 120upx;
			height: 60upx;
			flex-shrink: 0;
			display: flex;
			align-items: center;
			font-size: 28upx;

			.icon {
				height: 60upx;
				margin-right: 5upx;
				display: flex;
				align-items: center;
				font-size: 42upx;
				color: #ffc50a;
			}
		}

		.input-box {
			width: 100%;
			height: 60upx;
			background-color: #f5f5f5;
			border-radius: 30upx;
			position: relative;
			display: flex;
			align-items: center;

			.icon {
				display: flex;
				align-items: center;
				position: absolute;
				top: 0;
				right: 0;
				width: 60upx;
				height: 60upx;
				font-size: 34upx;
				color: #c0c0c0;
			}

			input {
				padding-left: 28upx;
				height: 28upx;
				font-size: 28upx;
			}
		}

		.icon-btn {
			width: 60upx;
			height: 60upx;
			flex-shrink: 0;
			display: flex;

			.icon {
				width: 60upx;
				height: 60upx;
				display: flex;
				justify-content: flex-end;
				align-items: center;
				font-size: 42upx;
			}
		}
	}

	.place {

		background-color: #ffffff;
		height: 100upx;
		/*  #ifdef  APP-PLUS  */
		margin-top: var(--status-bar-height);
		/*  #endif  */
	}

	.category-list {
		width: 100%;
		background-color: #fff;
		display: flex;

		.left,
		.right {
			position: absolute;

			top: 100upx;
			/*  #ifdef  APP-PLUS  */
			top: calc(100upx + var(--status-bar-height));
			/*  #endif  */
			bottom: 0upx;
		}

		.left {
			width: 24%;
			left: 0upx;
			background-color: #f2f2f2;

			.row {
				width: 100%;
				height: 90upx;
				display: flex;
				align-items: center;

				.text {
					width: 100%;
					position: relative;
					font-size: 28upx;
					display: flex;
					justify-content: center;
					color: #3c3c3c;

					.block {
						position: absolute;
						width: 0upx;
						left: 0;
					}
				}

				&.on {
					height: 100upx;
					background-color: #fff;

					.text {
						font-size: 30upx;
						font-weight: 600;
						color: #2d2d2d;

						.block {
							width: 10upx;
							height: 80%;
							top: 10%;
							background-color: #f06c7a;
						}
					}
				}
			}
		}

		.right {
			width: 76%;
			left: 24%;

			.category {
				width: 94%;
				padding: 20upx 3%;

				.banner {
					width: 100%;
					height: 24.262vw;
					border-radius: 10upx;
					overflow: hidden;
					box-shadow: 0upx 5upx 20upx rgba(0, 0, 0, 0.3);

					image {
						width: 100%;
						height: 24.262vw;
					}
				}

				.list {
					margin-top: 40upx;
					width: 100%;
					display: flex;
					flex-wrap: wrap;

					.box {
						width: calc(71.44vw / 2);
						margin-bottom: 30upx;
						display: flex;
						justify-content: center;
						align-items: center;
						flex-wrap: wrap;

						image {
							width: 60%;
							height: calc(71.44vw / 2 * 0.6);
						}

						.text {
							margin-top: 5upx;
							width: 100%;
							display: flex;
							justify-content: center;
							font-size: 26upx;
						}
					}
				}
			}
		}
	}
</style>
