<template>
	<view class="content">
		<view class="container">
			<!--外层  -->
			<!-- 顶部 -->
			<view class="conttainer-top">
				<!-- 轮播图 -->
				<view style="width: 100%;height: 300px;">
					<swiper class="swiper" style="width: 100%;height: 300px;" circular :indicator-dots="indicatorDots"
						:autoplay="autoplay" :interval="interval" :duration="duration">
						<swiper-item v-for="(item,index) in list1" :key="index" @click="goPage(item.routeUrl)">
							<view class="swiper-item uni-bg-red">

								<image style="width: 100%;" :src="item.bannerUrl"></image>
							</view>
							<!-- <image style="width: 100%;" :src="getBannerUrl(item.bannerUrl)"></image> -->
						</swiper-item>
					</swiper>
				</view>

				<!-- 标题 -->
				<view class="top-title">
					出行服务 优惠加油
				</view>
				<view class="lan-gang">
					<view class="lsiez"> <uni-icons type="checkbox" color="#ffffff" size="10"></uni-icons> 一键加油</view>
					<view class="lsiez"> <uni-icons type="checkbox" color="#ffffff" size="10"></uni-icons> 最近油站</view>
					<view class="lsiez"> <uni-icons type="checkbox" color="#ffffff" size="10"></uni-icons> 地址导航</view>
				</view>
				<!-- 金刚区 -->
				<view class="conttainer-jg">
					<view class="jg-box" @click="toQRcode">
						<view class="jg-img">
							<image src="../../static/imgs/viprwm.png" mode="aspectFit"></image>
						</view>
						<view class="jg-size">二维码</view>
					</view>
					<view class="jg-box" @click="goActivity()">
						<view class="jg-img">
							<image src="../../static/imgs/bzhd.png" mode="aspectFit"></image>
						</view>
						<view class="jg-size">本站活动</view>
					</view>
					<view class="jg-box" @click="goCard()">
						<view class="jg-img">
							<image src="../../static/imgs/ykcz.png" mode="aspectFit"></image>
						</view>
						<view class="jg-size">油卡充值</view>
					</view>
					<view class="jg-box" @click="goMall()">
						<view class="jg-img">
							<image src="../../static/imgs/jfsc.png" mode="aspectFit"></image>
						</view>
						<view class="jg-size">积分商城</view>
					</view>

				</view>
				<!-- 金刚区结束 -->
			</view>
			<!-- 顶部结束 -->
			<!-- centenr -->
			<view class="conttainer-cetr">
				<view class="conttainer-title">今日会员价</view>
				<!-- <view class="conttainer-box" v-for="(item,index) in oilTypeList" :key="index">
					<view class="c-box-box1">
						<view class="">{{item.oilName||''}}</view>

					</view>
					<view class="c-box-box2">
						<view class="xred">会员价</view>
						<view class="dred"> <text class="xred">¥</text> {{item.oilPrice||0}}</view>
					</view>
					<view class="c-box-box3">
						<view class="xblck">国标价</view>
						<view class="dblck"> <text class="xblck">¥</text> {{item.gbPrice||0}}</view>
					</view>
				</view> -->
				
				<swiper class="swiper" style="width: 100%;height: 70px;" circular 
					:autoplay="autoplay" :interval="interval" :vertical="true" :duration="duration">
					<swiper-item  class="conttainer-box" v-for="(item,index) in oilTypeList" :key="index">
						<view class="c-box-box1">
							<view class="">{{item.oilName||''}}</view>
						
						</view>
						<view class="c-box-box2">
							<view class="xred">会员价</view>
							<view class="dred"> <text class="xred">¥</text> {{item.oilPrice||0}}</view>
						</view>
						<view class="c-box-box3">
							<view class="xblck">国标价</view>
							<view class="dblck"> <text class="xblck">¥</text> {{item.gbPrice||0}}</view>
						</view>
					</swiper-item>
				</swiper>

			</view>
			<!-- centenr结束 -->
			<!-- 加油站卡片-->
			<view class="station">
				<view class="station-box">

					<view class="station-title" style="display: flex;justify-content: space-between;">
						{{store.name}}{{store.description ? "("+store.description+")" : ""}}
						<!-- <view class="" @click="goChooseAddress" style="width: 22%;font-size: 14px;font-weight: 400;">
							<view style="font-size: 12px;">切换位置 <uni-icons type="right" color="#304fff"
									size="14"></uni-icons> </view>
						</view> -->
					</view><!--顺通石化加油站(工业南路站)-->
					<view style="display: flex;">
						<view class="bule-icon" v-if="welfare.length!=0" v-for="(item,index) in welfare" :key="index">
							{{item}}
						</view>
					</view>
					<view class="dis-bt">
						<view class="">
							<view class="hui1">{{ store.address }}</view>
							<view class="hui2" v-if="distance">{{ distance }}km</view>
						</view>
						<view class="lananniu" @click="goGoGo" v-if="distance!=''">
							<uni-icons type="paperplane-filled" color="#195ADA" size="16"></uni-icons>
							{{ distance || "0" }}KM
						</view>
					</view>
					<u-swiper :list="list3" previousMargin="30" nextMargin="30" circular :autoplay="false" radius="5"
						bgColor="#ffffff"></u-swiper>
					<view class="juanniu" @click="goOil()">
						<view class="">一键加油</view>
					</view>
				</view>
				<view style="height: 88px; width: 100%;"></view>
			</view>
			<!-- 加油站卡片结束-->

			<u-picker :columns="columns" @confirm="confirm" :show="show" @cancel="show = false"
				keyName="label"></u-picker>
			<u-overlay :show="shows == true">
				<image src="../../static/imgs/zzxryl.png"
					style="width: 280px; height: 350px; margin: 20px auto; margin-top: 200px; ">
				</image>
				<view class="anniuprp" @click="drawDown()">
					<text>立即领取</text>
				</view>
			</u-overlay>
			<!--外层结束  -->
			<tabbar :msg="msg"></tabbar>
		</view>

	</view>
</template>

<script>
	import tabbar from "../../components/tabbar/tabbar.vue"
	import config from '@/config'
	import request from '../../utils/request'
	import {
		callWithErrorHandling
	} from "vue"
	export default {
		data() {
			return {
				chainStoreId: '',
				indicatorDots: true,
				autoplay: true,
				interval: 3000,
				duration: 500,
				joinmsg: '',
				msg: "1",
				show: false,
				shows: '',
				title: '',
				oilTypeList: '',
				columns: [],
				oilInfo: {
					oilName: '未添加',
					oilPrice: '0',
					gbPrice: '0'
				},
				AppToken: uni.getStorageSync("App-Token"),

				list1: [],
				list3: [
					'http://47.95.206.185:83/topbj.png',
				],
				// 当前经度信息
				longitude: "",
				// 当前纬度信息
				latitude: "",
				// 店铺经度信息
				lon: "",
				// 店铺纬度信息
				lat: "",
				// 店铺信息
				store: {
					name: "测试油站",
					description: "济南分店",
					address: "济南槐荫区"
				},
				// 店铺福利信息
				welfare: [],
				distance: "",
				storeId: "",
				staffId: "",
				baseUrl: this.$baseUrl,
			}
		},
		async onLoad(query) {
			if (query.storeId) {
				// uni.setStorageSync("y_storeId", query.storeId)
				uni.setStorageSync("storeId", query.storeId)
			}
			if (query.type) {
				uni.setStorageSync("y_type", query.type)
			}
			if (query.userId) {
				uni.setStorageSync("y_userId", query.userId)
			}
			if (uni.getStorageSync("appltType") == "WECHAT") {
				const q = decodeURIComponent(query.q) // 获取到二维码原始链接内容
				if (query.q) {
					let str = q.split("?")[1];
					let storeId = "19";

					let staffId = "";
					console.log(111);
					if (str.includes("&")) {
						let arr = str.split("&");
						arr.forEach(item => {
							if (item.includes("storeId")) {
								storeId = item.split("=")[1]
							} else {
								staffId = item.split("=")[1]
							}
						})
					} else {
						storeId = str.split("=")[1]
					}


					uni.setStorageSync("storeId", storeId)
					uni.setStorageSync("inviteStaffId", staffId)
					this.storeId = uni.getStorageSync("storeId")
					this.chainStoreId = uni.getStorageSync("chainStoreId")
					this.staffId = uni.getStorageSync("inviteStaffId")
					await this.getUserAuthority();
					// await this.getOilType();
				} else {
					if (uni.getStorageSync("storeId")) {
						this.storeId = uni.getStorageSync("storeId")
					} else {
						let storeId = "34";

						uni.setStorageSync("storeId", storeId)
					}
					await this.getUserAuthority();
					// await this.getOilType();
				}
				await this.getTheJudgmentIsTheSame();
			} else {
				await this.getUserAuthority();
				// await this.getOilType();
				await this.getTheJudgmentIsTheSame();
			}
		},
		onShow() {
			this.isJoined()
			// this.getIndexBanner()
		},
		components: {
			tabbar
		},
		methods: {
			// 返回图片路径
			getBannerUrl(url) {
				let imgurl = ""
				if (url.includes("http")) {
					imgurl = url
				} else {
					imgurl = this.baseUrl + url
				}
				return imgurl;
			},
			// 跳转banner图对应的页面
			goPage(url) {
				uni.navigateTo({
					url: url,
				})
			},
			// 获取首页轮播图信息
			getIndexBanner() {
				let _this = this
				if (uni.getStorageSync("storeId")) {
					request({
						url: 'business/indexBanner/list/' + uni.getStorageSync("storeId"),
						method: 'get',
					}).then(res => {
						_this.list1 = res.data
						if (res.data.length > 0) {
							for (let i = 0; i < res.data.length; i++) {
								if (res.data[i].bannerUrl.includes("http")) {
									_this.list1[i].bannerUrl = res.data[i].bannerUrl
								} else {
									_this.list1[i].bannerUrl = _this.baseUrl + res.data[i].bannerUrl
								}
							}
							console.log(_this.list1);
						}
					})
				}
			},
			//判断是否是新人
			isJoined() {
				// 判断是否登录
				if (!this.AppToken) {
					return;
				}
				request({
					url: 'business/marketingActivity/activeNewlywedsRecords/applet',
					method: 'get',
				}).then(res => {
					console.log("11111" + res)
					if (res.code == 200 && res.data == 1) {
						this.shows = true
					} else {
						this.shows = false
					}
				})
			},
			//立即领取
			drawDown() {
				/* this.shows = false */
				request({
					url: 'business/marketingActivity/activeNewlywedsRecords',
					method: 'post',
					data: {
						storeId: this.storeId,
						chainStoreId: this.chainStoreId,
					}
				}).then(res => {
					console.log("11111" + res)
					if (res.code == 200 && res.data == true) {
						this.shows = false
						uni.showToast({
							title: '领取成功!'
						})
					} else {
						this.shows = false
						uni.showToast({
							title: '领取失败!'
						})
					}

					/* if (res.code == 200 && res.data == 1) {
						this.shows = true
					} else {
						this.shows = false
					} */
				})
			},
			//查询新人有礼礼品
			selectActiveNewlyweds() {
				// 判断是否登录
				if (!this.AppToken) {
					return;
				}
				request({
					url: 'business/marketingActivity/activeNewlyweds/applet',
					method: 'get',
				}).then(res => {
					console.log("11111" + res)
				})
			},
			isExistStoreId() {
				if (uni.getStorageSync("storeId")) {
					this.getStore(uni.getStorageSync("storeId"));
				} else {
					this.getAddress(uni.getStorageSync("storeId"));
				}
			},
			// 获取定位信息
			getUserAuthority() {
				let _this = this;
				// this.getAddress();
				uni.getSetting({
					async success(res) {
						if (!res.authSetting['scope.userLocation']) {
							// uni.authorize({
							// 	scope: 'scope.userLocation',
							// 	success() {
							// 		// 用户同意获取位置信息
							// 		// _this.isExistStoreId()
							// 	},
							// 	fail() {
							// 		// 用户拒绝
							// 	}
							// })
							await _this.getAddress(uni.getStorageSync("storeId"));
						} else {
							// 用户同意获取位置信息
							// _this.isExistStoreId()
							await _this.getAddress(uni.getStorageSync("storeId"));
						}
					},
					fail(err) {

					}
				})
			},
			// 判断token是否与当前连锁店id相同
			async getTheJudgmentIsTheSame() {
				console.log(this.AppToken, 547);
				// 判断是否登录
				if (!this.AppToken) {
					return;
				}
				await request({
					url: 'chainStoreInfo/theJudgmentIsTheSame',
					method: 'get',
					data: {
						"chainStoreId": uni.getStorageSync("chainStoreId")
					}
				}).then(res => {
					if (!res.data) {
						uni.removeStorageSync("App-Token");
					}
				})


				// 判断当前登录的code是否相同
				if (uni.getStorageSync("appltType") == "WECHAT") {
					wx.login({
						success(res) {
							if (res.code) {
								//发起网络请求
								request({
									url: 'clientApi/sign/mpWxLogin2',
									method: "POST",
									data: {
										code: res.code
									}
								}).then(resp => {
									if (!resp.data) {
										uni.removeStorageSync("App-Token");
									}
								})
							} else {
								console.log('登录失败!' + res.errMsg)
							}
						}
					})
				}

				if (uni.getStorageSync("appltType") == "ALIPAY") {
					my.getAuthCode({
						scopes: 'auth_base',
						success: res => {
							const authCode = res.authCode;
							console.log(res)
							request({
								url: "clientApi/sign/alipayLogin/getUserid2",
								method: 'post',
								data: {
									authCode: authCode,
									storeId: uni.getStorageSync("storeId"),
								},
							}).then((resp) => {
								console.log(resp, 85412);
								if (!resp.data) {
									uni.removeStorageSync("App-Token");
								}
							})
						},
						fail: err => {
							console.log('my.getAuthCode 调用失败', err)
						}
					});
				}

			},

			// 获取门店信息
			getStore(id) {
				let _this = this;
				request({
					url: "business/storeInformation/store/queryStoreById",
					method: 'post',
					data: {
						"storeId": id
					},
				}).then((response) => {
					_this.store = response.data
					let welfare = response.data.welfare
					uni.setStorageSync("storeId", response.data.id)
					uni.setStorageSync("chainStoreId", response.data.chainStoreId)
					if (welfare) {
						if (welfare.includes(",")) {
							_this.welfare = response.data.welfare.split(",")
						} else {
							_this.welfare.push(response.data.welfare)
						}
					}
					if (response.data.doorstepPhoto) {
						let list = JSON.parse(response.data.doorstepPhoto)
						_this.list3 = [];
						list.forEach(item => {
							_this.list3.push(_this.baseUrl + item)
						})
					}
				}).catch((res) => {

				})
			},
			// 获取当前位置
			getAddress(storeId) {
				let _this = this;
				uni.getLocation({
					// 谷歌使用wgs84  其他使用gcj02
					type: 'gcj02', // 使用国测局坐标系
					success: function(res) {
						if (_this.longitude == "" && _this.latitude == "") {

							_this.longitude = res.longitude;
							_this.latitude = res.latitude
						}
						console.log('经度: ' + _this.longitude);
						console.log('纬度: ' + _this.latitude);
						request({
							url: 'business/storeInformation/store/recentlyStore',
							method: 'post',
							data: {
								"lon": _this.longitude,
								"lat": _this.latitude,
								"storeId": storeId,
								"isLogin": _this.AppToken ? "0" : "1", // 0为登录

							},
						}).then((response) => {
							console.log(response, "2154");
							// uni.showToast({
							// 	title:"121984:"+storeId
							// })
							if (response.data.store) {
								_this.distance = (Math.ceil(response.data.distance))
									.toFixed(1)
								_this.store = response.data.store
								uni.setStorageSync("storeId", response.data.store.id)
								uni.setStorageSync("chainStoreId", response.data.store.chainStoreId)
								console.log(uni.getStorageSync("chainStoreId"));
								if (response.data.store.welfare) {
									if (response.data.store.welfare.includes(",")) {
										_this.welfare = response.data.store.welfare
											.split(",")
									} else {
										_this.welfare.push(response.data.store.welfare)
									}
								}
								if (response.data.store.doorstepPhoto) {
									let list = JSON.parse(response.data.store.doorstepPhoto)
									_this.list3 = [];
									list.forEach(item => {
										_this.list3.push(_this.baseUrl + item)
									})
								}

								_this.lon = _this.store.longitude,
									_this.lat = _this.store.latitude,

									_this.getIndexBanner()
								_this.getOilType();
							} else {
								uni.showToast({
									title: "当前店铺已关闭!!!",
									icon: "none"
								})
							}

						}).catch(err => {})

						// uni.showToast({
						// 	title: "获取位置信息成功",
						// 	icon: "none"
						// })
					},
					fail: function(err) {
						_this.getStore(2);
						// uni.showToast({
						// 	title: "获取位置信息失败"
						// })
						console.log('获取位置信息失败: ' + err.errMsg);
					}
				});
			},

			//获取油站的油号信息
			getOilType() {
				let params = {
					storeId: uni.getStorageSync("storeId")
				}
				console.log(uni.getStorageSync("storeId"));
				request({
					url: 'business/petrolStationManagement/oilNumber/getList2',
					method: 'get',
					params: params
				}).then((res) => {
					if (res.code == 200) {
						this.oilTypeList = res.data.records
						// console.log("aaabbb", this.oilTypeList)
						if (this.oilTypeList.length > 0) {
							this.oilInfo.oilName = this.oilTypeList[0].oilName,
								this.oilInfo.oilPrice = this.oilTypeList[0].oilPrice,
								this.oilInfo.gbPrice = this.oilTypeList[0].gbPrice
						}
						let oilData = []
						console.log(this.oilTypeList);
						this.oilTypeList.forEach(res => {
							let data = {
								id: res.numberId,
								label: res.oilName,
								oilPrice: res.oilPrice,
								gbPrice: res.gbPrice
							}
							oilData.push(data)
						})

						this.columns = [oilData]

					}
				})
			},
			confirm(e) {
				console.log('选中的油号', e);
				this.oilInfo.oilName = e.value[0].label,
					this.oilInfo.oilPrice = e.value[0].oilPrice,
					this.oilInfo.gbPrice = e.value[0].gbPrice

				this.show = false
			},
			cancel() {
				this.show = false
			},
			/* onOverlay() {
				this.drawDown();
				this.shows = false
				uni.showToast({
					title: '领取成功'
				})
			}, */
			goActivity() {
				// 去活动页
				uni.navigateTo({
					url: '/pagesHome/Activity/index'
				})
			},
			goCard() {
				uni.navigateTo({
					url: '/pagesHome/MyCard/MyCard'
				})
			},
			goOil() {
				uni.navigateTo({
					url: '/pages/refuel/refuel'
				})
			},
			goChooseAddress() {
				uni.chooseLocation({
					success: ({
						name,
						address,
						latitude,
						longitude
					}) => { // 选择位置完成后的处理
						// this.addressName = address;
						console.log(name, address, latitude, longitude);
						this.longitude = longitude;
						this.latitude = latitude;
						this.getAddress()
					},
				});
			},
			goMall() {
				uni.navigateTo({
					url: '/pagesHome/PointsMall/PointsMall'
				})
			},
			toQRcode() {
				uni.navigateTo({
					url: '/pagesHome/QRcode/QRcode'
				})
			},
			goGoGo() {
				let lat = Number(this.lat)
				let lon = Number(this.lon)
				uni.openLocation({
					latitude: lat,
					longitude: lon,
					name: this.store.name,
					address: this.store.address,

					success: function() {
						console.log('success');
					},
					complete: function(res) {
						console.log(res);
					}
				});
			},

		}
	}
</script>

<style scoped lang="scss">
	.content {
		background: #ebf5ff;
	}

	.container {
		width: 100%;
		height: 100vh;
	}

	.conttainer-top {
		width: 100%;
		height: 250px;
		// background-color: #3da4df;
		// background: url('http://47.95.206.185:83/topbj.png')center no-repeat;
		background-size: 100% 100%;
		position: relative;
		margin-bottom: 60px;


	}

	.top-title {
		font-size: 26px;
		color: white;
		font-weight: bold;
		color: #FFFFFF;
		line-height: 25px;
		text-shadow: 0px 2px 0px #2F64CD;
		position: absolute;
		top: 120px;
		left: 20px;
	}

	.lan-gang {
		width: 200px;
		height: 22px;
		background: #2F43F7;
		border-radius: 11px;
		align-items: center;
		display: flex;
		justify-content: space-around;
		position: absolute;
		top: 155px;
		left: 20px;
		color: white;

	}

	.lsiez {
		font-size: 10px;
		display: flex;
	}

	.conttainer-jg {
		width: 95%;
		border-radius: 6px;
		background: white;
		box-sizing: border-box;
		padding: 10px;
		height: 90px;
		margin: 0px auto;
		position: absolute;
		transform: translate(-50%, -50%);
		left: 50%;
		bottom: -90px;
		display: flex;
	}

	.conttainer-cetr {
		width: 95%;
		border-radius: 6px;
		background: white;
		box-sizing: border-box;
		padding: 10px;
		margin: 10px auto;
	}

	.jg-box {
		width: 25%;
		text-align: center;
	}

	.jg-img {
		width: 38px;
		height: 38px;

		image {
			width: 38px;
			height: 38px;
		}

		margin: 5px auto;
	}

	.jg-size {
		font-size: 14px;

	}

	.conttainer-title {
		font-size: 16px;
		font-weight: bold;
	}

	.conttainer-box {
		width: 100%;
		box-sizing: border-box;
		padding: 15px;
		background: #F3F6F9;
		display: flex;
		align-items: center;
		justify-content: space-between;
		border-radius: 8px;
		margin-top: 10px;
	}

	.c-box-box1 {
		width: 33%;
		height: 44px;
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: bold;
	}

	.c-box-box2 {
		width: 33%;
		height: 44px;
		text-align: center;
		border-left: 1px solid #DDDDDD;
		border-right: 1px solid #DDDDDD;
	}

	.c-box-box3 {
		width: 33%;
		height: 44px;
		text-align: center;
	}

	.xblck {
		font-size: 14px;
		color: #333333;
	}

	.dblck {
		font-size: 20px;
		color: #333333;
		font-weight: bold;
	}

	.xred {
		font-size: 14px;
		color: #ED2828;
	}

	.dred {
		font-size: 20px;
		color: #ED2828;
		font-weight: bold;
	}

	.station {
		width: 100%;
		height: 120px;
		background: url('http://47.95.206.185:83/centerbj.png')center no-repeat;
		background-size: 100% 100%;
		box-sizing: border-box;
		padding-top: 30px;
	}

	.station-box {
		width: 95%;
		background-color: white;
		border-radius: 8px;
		box-sizing: border-box;
		padding: 15px;
		margin: 0px auto;
	}

	.station-title {
		font-size: 16px;
		font-weight: bold;
	}

	.bule-icon {
		width: 85px;
		font-size: 12px;
		color: #195ADA;
		box-sizing: border-box;
		padding: 2px 5px;
		display: flex;
		align-items: center;
		justify-content: center;
		border: 1px solid #195ADA;
		border-radius: 4px;
		margin: 5px 3px;
	}

	.dis-bt {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.hui1 {
		color: #666666;
		font-size: 12px;
		margin: 5px auto;
	}

	.hui2 {
		color: #999999;
		font-size: 12px;
		margin: 5px auto;
	}

	.lananniu {
		box-sizing: border-box;
		padding: 3px 10px;
		background: #DBE9FF;
		border-radius: 12px;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 14px;
		color: #195ADA;

	}

	.tabs {
		width: 100%;
		display: flex;
		height: 44px;

	}

	.scrollbox {
		display: flex;
	}

	.scrollbox-imgs {

		width: 195px;
		height: 100px;
		border-radius: 4px;
		background-color: #195ADA;
		margin: 0px 10px;
	}

	.juanniu {
		height: 36px;
		background: linear-gradient(90deg, #FF7302 0%, #FF5210 100%);
		border-radius: 42px;
		justify-content: center;
		display: flex;
		align-items: center;
		color: white;
		margin-top: 20px;


	}

	.anniuprp {
		width: 130px;
		height: 36px;
		background: linear-gradient(180deg, #FF6D3A 0%, #FF327A 100%);
		box-shadow: inset 0px 0px 6px 3px rgba(255, 255, 255, 0.25);
		border-radius: 18px;
		display: flex;
		align-items: center;
		justify-content: center;
		color: white;
		margin: 0 auto;
	}
</style>