<template>
	<view>
		<view class="width100 height120" style="background-color: #3267f6;">
			<view class="alijusstart paddleft10 paddtright10" style="background-color: #2d5de5;height: 30px;">
				<image src="../static/tongz.png" style="height: 20px;" class="icon45"></image>
				<view class="right-left-scroll margle">
					<view class="content font12 fontspec"
						:style="{'animation': `noticeAnimation ${time}s linear 1s infinite`}">
						{{notice}}
					</view>
				</view>
			</view>

			<view class="block">
				<view class="content height60">
					<input type="number" class="my flleft font20 fcorfff" maxlength="11"
						placeholder-style="color:#ffffff;" placeholder="请输入充值号码" v-model="inputPhone" />
				</view>
				<view class="line1 width100 backcorfff"></view>
			</view>
		</view>
		<view class="backcorlf5 height70"></view>
		<view class="width90 border-r backcorfff" style="margin-top: -60px;">
			<view class="swiperHead">
				<!--组件-->
				<swiperNavBar :scrollIntoView="scrollIntoView" :swiperTabList='tabs' :swiperTabIdx='swiperTabIdx'
					:currentSwiperWidth='currentSwiperWidth' :currentSwiperHeight='currentSwiperHeight'
					:swiperCurrentSize='swiperCurrentSize' :swiperColor='swiperColor'
					:swiperCurrentColor='swiperCurrentColor' :currentSwiperLineShow="currentSwiperLineShow"
					:currentSwiperLineActiveWidth="currentSwiperLineActiveWidth"
					:currentSwiperLineActiveHeight="currentSwiperLineActiveHeight"
					:currentSwiperLineActiveBg="currentSwiperLineActiveBg"
					:currentSwiperLineAnimatie="currentSwiperLineAnimatie" v-if=" tabs.length > 0 "
					@change="CurrentTab">
				</swiperNavBar>
				<!--组件-->
			</view>
			<!--内容-->
			<view class="swiperCont border-r">
				<swiper class="swiper border-r" :style="{ height:mainHeight + 'px' }" :current="swiperTabIdx"
					@change="SwiperChange">
					<swiper-item class="swiperItem border-r" v-for="(item,index) in tabs" :key='index'>
						<!-- <view class="width90 font14 fcor333 fontwig6 mart5">
							话费特惠充值
						</view> -->
						<view v-if="amountList == ''" class="mart10 fotct font14 fcor666">
							<image mode="widthFix" style="width: 40vw;" :src="imagewxUrl+imgadres"></image>
						</view>
						<view class="list" v-else>
							<view class="box border-r" :class="{'on':item.id == inputAmountId}"
								v-for="(item,index) in amountList" :key="index" @click="select(item)">
								<view class="heTitle fcor333 font16 fontwig6 paddtop5"
									:class="{'on':item.id == inputAmountId}" v-if="item.status != 2">
									{{item.rechargePrice}}元
								</view>
								<view class="heTitle fcor999 font16 fontwig6 paddtop5"
									:class="{'on':item.id == inputAmountId}" v-if="item.status == 2">
									{{item.rechargePrice}}元
								</view>
								<view class="font13 contcil" :class="{'on':item.id == inputAmountId}"
									v-if="item.status != 2">售{{item.payPrice}}元</view>
								<view class="font12 contcil" :class="{'on':item.id == inputAmountId}"
									v-if="item.status == 2">已售空</view>
								<view class="width100 font12  height25l boxchil"
									:class="{'on':item.id == inputAmountId}" style="">{{explainReceiptTime}}
								</view>
							</view>
						</view>
					</swiper-item>
				</swiper>
			</view>

			<view class="width90 height50 backcor008 font18 fcorfff fotct border-r" @click="addOrderPay()">
				<text v-if="inputAmount">¥</text>
				{{inputAmount}}
				立即充值
			</view>
			<view class="width100 height40"></view>
		</view>
		<view class="width90 mart20">
			<rich-text :nodes="textcont"></rich-text>
		</view>

		<wybPopup ref="popup" type="center" height="850" width="600" bgColor="" radius="6" :showCloseIcon="true">
			<image class="popImg" :src="imageUrl+imgadres1"></image>
		</wybPopup>
		<Postion></Postion>
	</view>
</template>

<script>
	// #ifdef H5
	var jweixin = require('jweixin-module');
	// #endif
	let app = getApp();
	import QSTabs from '../../components/QS-tabs/QS-tabs.vue';
	import swiperNavBar from '../../components/swiperNavBar.vue';
	import Postion from '@/components/postion/postion.vue';
	import wybPopup from '../../components/wyb-popup/wyb-popup.vue';
	import {
		getListOutRechargePrice,
		addOrderPay,
		findSecConfigByType,
		getCmsContent
	} from '../../Utils/Api.js';
	export default {
		components: {
			QSTabs,
			swiperNavBar,
			Postion,
			wybPopup
		},
		data() {
			return {
				inputAmountId: '',
				inputAmount: '',
				inputPhone: '',
				amoutType: '',
				amountList: [],
				price: '',
				amoutstatus: '',
				tabs: [], //切换操作
				current: 0, //默认
				swiperCurrent: 2,
				imageUrl: app.globalData.imgUrl,
				imagewxUrl: app.globalData.imageWxImg,
				imgadres: 'noorder.png',
				imgadres1: '',
				image1: 'telephone1.png',
				image2: 'telephone2.png',
				notice: '', //警告
				textcont: '', // 富文本
				explainReceiptTime: '', //时间到账 
				time: 0,

				//导航
				scrollIntoView: 0, //设置哪个方向可滚动，则在哪个方向滚动到该元素
				swiperTabList: [], //导航列表
				swiperTabIdx: 0,
				swiperCurrentSize: '30rpx', //导航的字体大小
				swiperColor: '#333333', //导航栏字体未选中前颜色
				swiperCurrentColor: '#1D63FF', //选中当前导航栏字体颜色
				currentSwiperWidth: '33%', //当前导航的宽度 % upx rpx px  （导航超出可左右滑动 ）
				currentSwiperHeight: 100, //当前导航的高度度 rpx px
				mainHeight: 240, //全屏或者局部滑动设置的高度
				currentSwiperLineShow: true, //是否显示导航栏的线条 （线条距离标题太近的话可自行修改.swiperLine的css）
				currentSwiperLineActiveBg: '#1D63FF', //当前选中的导航栏线条颜色
				currentSwiperLineActiveWidth: '30rpx', //当前选中的导航栏线条的宽度 upx rpx px
				currentSwiperLineActiveHeight: '6rpx', //当前选中的导航栏线条的高度度 upx rpx px
				currentSwiperLineAnimatie: 300, //当前选中的导航栏线条过渡效果

			}
		},
		onLoad(options) {
			this.getCmsAactibity();
			this.getListOutRechargePrice();
		},
		onShow() {
			this.findSecConfigByType();
			this.findSecConfigByTypewap();
		},
		mounted() {
			let scroll_width = 0;
			const query = uni.createSelectorQuery().in(this);
			query.select('.right-left-scroll').boundingClientRect(data => {
				scroll_width = (data.width).toFixed(2);
			}).exec();

			query.select('.right-left-scroll .content').boundingClientRect(data => {
				if (data.width - scroll_width > 0) {
					this.time = (9 * data.width / scroll_width).toFixed(2);
				}
			}).exec();
		},
		methods: {
			//查询弹窗
			getCmsAactibity() {
				let code;
				// #ifdef H5
				code = '2'
				// #endif
				// #ifdef MP
				code = '1'
				// #endif
				let params = {
					companyId: app.globalData.companyId,
					platform: code,
					categoryCode: 'CMS_RECHARGE_POPOVER'
				}
				getCmsContent(params).then(res => {
					if (res.return_code == '000000' && res.return_data.childCategory.length != 0) {
						//弹窗首页广告
						this.imgadres1 = res.return_data.childCategory[0].imgData;
						this.showPopup();
					}
				});
			},
			//显示弹出
			showPopup() {
				this.$refs.popup.show();
			},
			// 充值通知
			findSecConfigByType() {
				let datas = {
					codeType: 'EXPLAIN_NOTIFICATIONS'
				}
				findSecConfigByType(datas).then(res => {
					if (res.return_code == '000000') {
						this.notice = res.return_data.codeValue;
					}
				});
			},
			//充值警告
			findSecConfigByTypewap() {
				let datas = {
					codeType: 'EXPLAIN_WRAP '
				}
				findSecConfigByType(datas).then(res => {
					if (res.return_code == '000000') {
						this.textcont = res.return_data.codeValue;
					}
				});
			},
			select(amoutinfos) {
				this.inputAmount = amoutinfos.payPrice;
				this.price = amoutinfos.rechargePrice;
				this.inputAmountId = amoutinfos.id;
				this.amoutstatus = amoutinfos.status;
			},
			/**
			 * 查询价格
			 */
			getListOutRechargePrice() {
				uni.showLoading({
					title: '加载中...'
				})
				let showType;
				// #ifdef H5
				showType = 2;
				// #endif
				// #ifdef MP
				showType = 1;
				// #endif
				let params = {
					"companyId": app.globalData.companyId,
					platformId: showType
				}
				getListOutRechargePrice(params).then(res => {
					uni.hideLoading()
					if (res.return_code == '000000' && res.return_data) {
						this.tabs = res.return_data;
						this.amountList = res.return_data[0].priceList;
						this.explainReceiptTime = res.return_data[0].explain_receipt_time;
						this.amoutType = res.return_data[0].id;
					} else {
						this.amountList = [];
					}
				})
			},

			//tab点击事件 自行完善需要的代码
			CurrentTab: function(index) {
				this.swiperTabIdx = index;
				this.scrollIntoView = Math.max(0, index - 1);
				this.explainReceiptTime = this.tabs[this.swiperTabIdx].explain_receipt_time;
				this.amountList = this.tabs[this.swiperTabIdx].priceList;
				this.amoutType = this.tabs[this.swiperTabIdx].id;
			},
			//滑动事件  自行完善需要的代码
			SwiperChange: function(e) {
				this.swiperTabIdx = e.detail.current;
				this.scrollIntoView = Math.max(0, e.detail.current - 1);
				this.explainReceiptTime = this.tabs[this.swiperTabIdx].explain_receipt_time;
				this.amountList = this.tabs[this.swiperTabIdx].priceList;
				this.amoutType = this.tabs[this.swiperTabIdx].id;
			},
			/**
			 * 提交订单
			 */
			addOrderPay() {
				let that = this;
				if (that.amoutstatus == 2) {
					uni.showToast({
						title: '当前面值已售空',
						duration: 2000,
						icon: "none"
					});
					return;
				}
				if (that.inputPhone == '') {
					uni.showToast({
						title: '请输入充值号码',
						duration: 2000,
						icon: "none"
					});
					return;
				}
				if (that.inputPhone.length != 11) {
					uni.showToast({
						title: '请输入正确充值号码',
						duration: 2000,
						icon: "none"
					});
					return;
				}
				if (that.inputAmount == '') {
					uni.showToast({
						title: '请选择价格',
						duration: 2000,
						icon: "none"
					});
					return false;
				}
				uni.showToast({
					title: '提交订单...',
					icon: 'none',
					duration: 2000,
					success() {
						uni.navigateTo({
							url: '../unionComfirmation/unionComfirmation?orderPrice=' + that.price +
								'&payPrice=' + that.inputAmount + '&rechargeContent=' + that.inputPhone +
								'&rechargeModel=' + that.amoutType +
								'&objectId=' + that.inputAmountId + '&rechargeType=' + that.swiperCurrent
						})
					}
				})

			}
		}
	}
</script>

<style lang="scss">
	page {
		background-color: #f5f5f5;
	}

	.popImg {
		width: 100%;
		height: 430px;
	}

	.swiperHead {
		width: 100%;
	}

	.swiperHead scroll-view {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		white-space: nowrap;
	}

	.swiperTab {
		display: inline-flex;
		flex-direction: column;
		text-align: center;
	}

	.swiperCont {
		width: 100%;
		padding-top: 5px;
		padding-bottom: 20px;
		background-color: #ffffff;
	}

	/* #ifdef H5 */
	.swiperHead {
		top: 44px;
		z-index: 10;
		width: 100%;
		background: #FFFFFF;
	}

	/* #endif */

	.swiper {
		width: 100%;
		height: 500rpx;
	}

	.swiperItem {
		overflow: auto;
		background: #ffffff;
		color: #333333;
		font-size: 30upx;
	}





	.block {
		width: 94%;
		padding: 15px 3%;

		.my {
			width: 80%;
			height: 120upx;
			display: flex;
			align-items: center;
		}

		.uni-input-placeholder {
			color: #FFFFFF;
		}
	}

	.list {
		width: 94%;
		margin-left: 3%;
		display: flow-root;
		justify-content: space-between;
		align-items: center;
		padding: 20upx 0;

		.box {
			width: 29%;
			margin-left: 1%;
			margin-right: 2%;
			margin-top: 20upx;
			margin-bottom: 20upx;
			float: left;
			height: 150upx;
			// line-height: 120upx;
			// display: inline-grid;
			justify-content: center;
			align-items: center;
			text-align: center;
			border: 1px solid #f1f1f1;
			font-size: 36upx;

			&.on {
				background-color: #ecf5fe;
				border: 1px solid #089bf5;
				color: #089bf5;
			}
		}

		.heTitle {
			width: 100%;

			&.on {
				color: #089bf5;
			}
		}
	}


	.boxchil {
		border-radius: 0 0 5px 5px;
		background-color: #f0f0f0;
		margin-top: 7px;
		color: #999999;

		&.on {
			background-color: #089bf5;
			color: #ffffff;
		}
	}

	.contcil {
		color: #999999;

		&.on {
			// background-color: #089bf5;
			color: #089bf5;
		}
	}

	.right-left-scroll {
		white-space: nowrap;
		overflow: hidden;

		.content {
			display: inline-block;
			color: #c1b569;
		}
	}
</style>
