<template>
	<view class="content">
		<view class="container" v-if="isExist">
			<view class="my-header">
				<view class="my-icons" @click="goBack"> <uni-icons type="left" size="16"></uni-icons> </view>
				<view class="my-text">会员</view>
				<view class="my-icons"></view>
			</view>
			<!-- 顶部区域 -->
			<uni-swiper-dot class="uni-swiper-dot-box" @clickItem=clickItem :info="info" :current="current" :mode="mode"
				:dots-styles="dotsStyles" field="content">
				<swiper class="swiper-box" @change="change" :current="swiperDotIndex">
					<swiper-item v-for="(item, index) in userGradeList" :key="index">
						<view>
							<view class="top-box">

								<view class="b-top">
									<view style="width: 70%;">
										<view class="title-size">
											{{item.name}}
											<span v-if="member.gradeId==item.id">(当前等级)</span>
										</view>
										<view class="min-size" style="margin-bottom: 20px;">升级会员享更多特权</view>
										<!-- <view class="min-size" style="margin-bottom: 10px;" v-if="userBalance.gradeId == item.id && index < (userGradeList.length-1)">
											在获得{{item.growthValue - userBalance.growthValue}}可升级至{{userGradeList[index+1].name}}
										</view>
										<view class="min-size" style="margin-bottom: 10px;" v-else-if="userBalance.gradeId == item.id && index == (userGradeList.length-1)">
											已达到最高等级
										</view> -->
										<view class="min-size" style="margin-bottom: 10px;" >
											达到当前等级所需成长值为{{item.growthValue}}
										</view>
										<u-line-progress :percentage="percentage" activeColor="#2F72F7"></u-line-progress>
									</view>
									<view class="right-img">
										<image src="../../static/imgs/vipxz.png"  mode="aspectFit"></image>
									</view>
								</view>
							</view>
							<!-- qy -->
							<view class="c-box">
								<!-- <view class="title-bai">会员权益</view> -->
								<view class="wrap-box">


									<view class="box-ba" v-for="(item,index) in oilNameList" :key="index">
										<view class="min-box">
											<image :src="item.imgurl"  mode="aspectFit"></image>
										</view>
										<view class="mu_">{{item.name}}</view>
									</view>
								</view>
							</view>
						</view>
					</swiper-item>
				</swiper>
			</uni-swiper-dot>



			<!-- <view style="height: 300px; width: 100%;"></view> -->
			<view class="bottom-box">
				<!-- <scroll-view scroll-y="true" class="scroll-Y"> -->
					<view class="bottom-bai-box">
						<view class="b-top-bt">
							<view class="title">汽油优惠信息</view>
							<!-- <view class="times">每天04:00更新</view> -->
						</view>
						<view class="b-center" v-if="userGrade.preferential!='自定义优惠'">无优惠</view>
						<view v-else>
							<view class="b-center" v-if="userGrade.gasolineDiscount=='满减优惠'">
								满减优惠:
								<view class="b-center-spn" v-for="(item,index) in gasolineRule" :key="index">
									消费满{{item.gasolineRule1}}元,立减{{item.gasolineRule2}}元
								</view>
							</view>
							<view class="b-center" v-else-if="userGrade.gasolineDiscount=='每升优惠'">
								每升优惠:
								<view class="b-center-spn" v-for="(item,index) in gasolineRule" :key="index">
									消费满{{item.gasolineRule1}}元,每升优惠{{item.gasolineRule3}}元
								</view>
							</view>
							<view class="b-center" v-else>{{userGrade.gasolineDiscount}}</view>
						</view>
						<view class="title">成长规则：每消费<text style=" margin: 0px 5px; color:#ff5c28 ;">1</text> 元加<text
								style="margin: 0px 5px;color:#2c62cd ;">{{chainStoreConfig.gasGrowthValue}}</text>成长值</view>
					</view>
					<view class="bottom-bai-box">
						<view class="b-top-bt">
							<view class="title">柴油优惠信息</view>
							<!-- <view class="times">每天04:00更新</view> -->
						</view>
						<view class="b-center" v-if="userGrade.preferential!='自定义优惠'">无优惠</view>
						<view v-else>
							<view class="b-center" v-if="userGrade.dieselDiscount=='满减优惠'">
								满减优惠:
								<view class="b-center-spn" v-for="(item,index) in dieselRule" :key="index">
									消费满{{item.dieselRule1}}元,立减{{item.dieselRule2}}元
								</view>
							</view>
							<view class="b-center" v-else-if="userGrade.dieselDiscount=='每升优惠'">
								每升优惠:
								<view class="b-center-spn" v-for="(item,index) in dieselRule" :key="index">
									消费满{{item.dieselRule1}}元,每升优惠{{item.dieselRule3}}元
								</view>
							</view>
							<view class="b-center" v-else>{{userGrade.dieselDiscount}}</view>
						</view>
						<view class="title">成长规则：每消费<text style=" margin: 0px 5px; color:#ff5c28 ;">1</text> 元加<text
								style="margin: 0px 5px;color:#2c62cd ;">{{chainStoreConfig.dieselGrowthValue}}</text>成长值</view>
					</view>
					<view class="bottom-bai-box">
						<view class="b-top-bt">
							<view class="title">天然气优惠信息</view>
							<!-- <view class="times">每天04:00更新</view> -->
						</view>
						<view class="b-center" v-if="userGrade.preferential!='自定义优惠'">无优惠</view>
						<view v-else>
							<view class="b-center" v-if="userGrade.naturalGasDiscount=='满减优惠'">
								满减优惠:
								<view class="b-center-spn" v-for="(item,index) in naturalGasRule" :key="index">
									消费满{{item.naturalGas1}}元,立减{{item.naturalGas2}}元
								</view>
							</view>
							<view class="b-center" v-else-if="userGrade.naturalGasDiscount=='每升优惠'">
								每升优惠:
								<view class="b-center-spn" v-for="(item,index) in naturalGasRule" :key="index">
									消费满{{item.naturalGas1}}元,每升优惠{{item.naturalGas3}}元
								</view>
							</view>
							<view class="b-center" v-else>{{userGrade.naturalGasDiscount}}</view>
						</view>
						<view class="title">成长规则：每消费<text style=" margin: 0px 5px; color:#ff5c28 ;">1</text> 元加<text
								style="margin: 0px 5px;color:#2c62cd ;">{{chainStoreConfig.naturalGrowthValue}}</text>成长值</view>
					</view>
					<!-- <view class="bottom-bai-box">
						<view class="title">每消费<text style=" margin: 0px 5px; color:#ff5c28 ;">200万</text> 元加<text
								style="margin: 0px 5px;color:#2c62cd ;">1%</text>成长值</view>

					</view> -->
				<!-- </scroll-view> -->
			</view>
		</view>
		<view class="container" v-else>
			<view class="my-header">
				<view class="my-icons" @click="goBack"> <uni-icons type="left" size="16"></uni-icons> </view>
				<view class="my-text">会员</view>
				<view class="my-icons"></view>
			</view>
			<view style="width:100%;height: 90vh;background-color: white;text-align: center;">当前店铺不存在会员等级信息</view>
		</view>
	</view>
</template>

<script>
	import request from '../../utils/request'
	export default {
		data() {
			return {
				percentage:0,
				title: '',
				info: [{
						colorClass: 'uni-bg-red',
						url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/shuijiao.jpg',
						content: '内容 A'
					},
					{
						colorClass: 'uni-bg-green',
						url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/shuijiao.jpg',
						content: '内容 B'
					},
					{
						colorClass: 'uni-bg-blue',
						url: 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/shuijiao.jpg',
						content: '内容 C'
					}
				],
				oilNameList: [
					{name:"汽油",imgurl:"../../static/imgs/gasoline.png"},
					{name:"柴油",imgurl:"../../static/imgs/diesel_oil.png"},
					{name:"天然气",imgurl:"../../static/imgs/natural_gas.png"},
				],
				modeIndex: -1,
				styleIndex: -1,
				current: 0,
				mode: 'default',
				dotsStyles: {},
				swiperDotIndex: 0,
				// 会员等级列表信息
				userGradeList:[],
				storeId:uni.getStorageSync("storeId"),
				userId:"",
				userBalance:{},
				userGrade:{},
				// 汽油优惠
				gasolineRule:[],
				// 柴油优惠
				dieselRule:[],
				// 天然气优惠
				naturalGasRule:[],
				// 连锁店配置信息
				chainStoreConfig: {},
				// 当前店铺是否存在会员等级信息
				isExist:false,
				// 当前用户的会员信息
				member:{},
			}
		},
		onLoad() {
			this.storeId = uni.getStorageSync("storeId")
			this.getList(this.storeId)
			this.getChainConfig(this.storeId)
			this.getUserBalance()
			this.getMember()
		},
		methods: {
			getPercentage(id){
				let grade = {}
				request({
					url: "business/userManager/userGrade/" + this.member.gradeId,
					method: 'get',
				}).then((res) => {
					grade = res.data
					this.userGradeList.forEach(item => {
						if (item.id == id){
							if (grade.grade > item.grade){
								this.percentage = 100
							}
							if (grade.grade < item.grade){
								this.percentage = 0
							}
							if (grade.grade == item.grade){
								this.percentage = ((this.member.growthValue / item.growthValue) * 100).toFixed(0)
							}
						}
					})
				})
				
			},
			// 获取当前登入用户的等级信息
			getMember(){
				request({
					url: "business/userManager/user/storeUserInfo/" + this.storeId,
					method: 'get',
				}).then((res) => {
					this.member = res.data
					this.getPercentage(this.userGrade.id)
				})
			},
			getChainConfig(storeId){
				let _this = this;
				request({
					url: "business/userManager/chainStoreConfig/" + storeId,
					method: 'get',
				}).then((res) => {
					_this.chainStoreConfig = res.data
				})
			},
			// 获取用户余额信息
			getUserBalance(){
				let _this = this;
				request({
					url: "business/userManager/user/userBalanceByUserId",
					method: 'get',
				}).then((res) => {
					_this.userBalance = res.data
				})
			},
			// 获取会员等级列表信息
			getList(storeId){
				let _this = this;
				request({
					url: "business/userManager/userGrade/getGradeList/"+storeId,
					method: 'get',
				}).then((res) => {
					if (res.data){
						this.isExist = true
						this.userGradeList = res.data
						this.userGrade = res.data[0]
						if (res.data[0].preferential == '自定义优惠'){
							this.gasolineRule = JSON.parse(res.data[0].gasolineRule)
							this.dieselRule = JSON.parse(res.data[0].dieselRule)
							this.naturalGasRule = JSON.parse(res.data[0].naturalGasRule)
						}
						// this.getPercentage(res.data[0].id)
					}else{
						this.isExist = false
					}
				})
			},
			change(e) {
				this.current = e.detail.current
				this.userGrade = this.userGradeList[this.current]
				if (this.userGradeList[this.current].preferential == '自定义优惠'){
					this.gasolineRule = JSON.parse(this.userGradeList[this.current].gasolineRule)
					this.dieselRule = JSON.parse(this.userGradeList[this.current].dieselRule)
					this.naturalGasRule = JSON.parse(this.userGradeList[this.current].naturalGasRule)
				}
				this.getPercentage(this.userGrade.id)
			},
			goBack() {
				uni.navigateBack()
			}
		}
	}
</script>

<style scoped lang="scss">
	.b-center{
		line-height: 25px;
		margin: 10px 0;
		margin-left: 10px;
		font-size: 15px;
	}
	
	.b-center-spn{
		margin-left: 20px;
	}
	
	.swiper-box {
		height: 50vh;
	}

	.content {
		background: #2F3648;
		height: 100vh;
	}

	.container {
		width: 100%;

		box-sizing: border-box;
		padding-top: 88px;
	}

	.my-header {
		width: 100%;
		height: 88px;
		background: #ffffff;
		display: flex;
		align-items: center;
		justify-content: space-between;
		color: #000;
		box-sizing: border-box;
		padding: 0px 15px;
		padding-top: 40px;

		.my-icons {
			width: 20px;

		}

		position: fixed;
		top: 0px;
	}

	.top-box {
		width: 90%;
		border-radius: 8px;
		box-sizing: border-box;
		padding: 20px;
		background: linear-gradient(90deg, #EEF4FF 0%, #AEC9FF 100%);
		margin: 10px auto;
	}

	.b-top {
		color: #2F72F7;
		display: flex;
		justify-content: space-between;
	}

	.right-img {
		width: 80px;
		height: 80px;

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

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

	.min-size {
		font-size: 12px;
	}

	.c-box {
		width: 90%;
		box-sizing: border-box;
		padding: 15px;
		margin: 20px auto;
		height: 188px;
		background: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0) 100%);
		border-radius: 8px;
	}

	.title-bai {
		font-size: 18px;
		font-weight: bold;
		color: #ffffff;
	}

	.wrap-box {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;

	}

	.box-ba {
		width: 33%;
		text-align: center;
		margin: 10px auto;
		color: #ffffff;
		font-size: 12px;
	}

	.min-box {
		width: 90%;
		height: 90px;
		margin: 5px auto;

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

	.bottom-box {
		background: #F3F5F9;
		width: 100%;
		border-radius: 16px 16px 0px 0px;
		box-sizing: border-box;
		padding: 15px;
		position: fixed;
		bottom: 0px;
		height: 390px;
		overflow-y: scroll;
	}

	.bottom-bai-box {
		width: 100%;
		border-radius: 8px;
		background: #ffffff;
		box-sizing: border-box;
		padding: 10px;
		margin: 15px auto;



	}

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

	.title {
		font-size: 16px;
		font-weight: bold;
		color: #333333;
	}

	.times {
		font-size: 12px;
		color: #999999;
	}

	.btimg {

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

	}

	.anniu {
		width: 70px;
		height: 30px;
		background: #EB3E67;
		border-radius: 15px;
		display: flex;
		align-items: center;
		justify-content: center;
		color: white;
		font-size: 14px;
		font-weight: bold;

	}

	.disa {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.an-title {
		font-size: 16px;
		font-weight: bold;
		color: #333333;
		margin-left: 5px;
	}

	.mu_ {
		font-size: 18px;
		font-weight: bold;
		margin: 15px auto;
	}
</style>