<template>
	<view class="centenr">
		<!-- 储值卡 -->
		<view class="vip-top" v-if="type=='balance'">
			<view class="t-right">储值卡 <u-icon name="arrow-down-fill" color="#fff" size="12"></u-icon> </view>
			<view class="t-title">当前余额（元）</view>
			<view class="t-num">{{cardBalance.cardBalance || 0}}</view>
		</view>
		<!-- 囤油卡 -->
		<view class="vip-top" v-if="type=='oilCard'">
			<view class="t-right">囤油卡 <u-icon name="arrow-down-fill" color="#fff" size="12"></u-icon> </view>
			<view class="t-title">剩余油量（L）</view>
			<view class="t-num">{{cardBalance.cardBalance || 0}}</view>
		</view>

		<view class="vip-title">
			<view class="">{{storeName || "--"}}</view>
			<!-- <image src="../../static/new/qh.png" style="width: 18px; height: 18px;" @click="show = true"></image> -->
		</view>
		<!-- 储值卡 -->
		<view v-if="type=='balance'">
			<view class="input-box">
				<view class="i-title">充值金额</view>
				<view class="n_input">
					<input type="text" v-model="rechargeOrder.balance" :disabled="isEdit">
					<view class="r-title">
						{{staff.realName || "--"}}
					</view>
				</view>
			</view>
			<view class="wrap_box">
				<view class="w_box" v-for="(item,index) in rechargeList" :key="index" @click="setIndex(index,item)"
					:class="{ 'acvit' :windex  == index}">
					<view class="">充{{item.rechargeBalance}}元</view>
					<view class="">赠{{item.giftBalance}}元</view>
				</view>
				<view class="w_box" @click="setIndex(rechargeList.length)"
					:class="{ 'acvit' :windex  == rechargeList.length}">
					<view class="" style="line-height: 40px;">自定义金额</view>
				</view>
			</view>
			<view class="input-box">
				<view class="i-title">赠送金额</view>
				<view class="n_input">
					<input type="text" v-model="rechargeOrder.giftBalance" disabled>
				</view>
			</view>
			<view class="input-box">
				<view class="i-title">充值备注</view>
				<view class="b_input">
					<input type="text" v-model="rechargeOrder.remark">
				</view>
			</view>
		</view>
		<!-- 囤油卡 -->
		<view v-if="type=='oilCard'">
			<view class="input-box">
				<view class="i-title">充值金额</view>
				<view class="n_input">
					<input type="text" v-model="rechargeOrder.balance" :disabled="isEdit">
					<view class="r-title">
						{{staff.realName || "--"}}
					</view>
				</view>
			</view>
			<view class="wrap_box">
				<view class="w_box1" v-for="(item,index) in oilRechargeList" :key="index" @click="setIndex(index,item)"
					:class="{ 'acvit' :windex  == index}">
					<view class="">充值{{item.rechargeBalance}}元，囤油{{item.incomeLitres}}升</view>
					<view class="">锁定单价{{item.lockPrice}}元/L</view>
				</view>
			</view>
			<view class="input-box">
				<view class="i-title">充值备注</view>
				<view class="b_input">
					<input type="text" v-model="rechargeOrder.remark">
				</view>
			</view>
		</view>

		<view class="title-box">
			<view class="i-title">充值有礼</view>
			<view class="i-text" v-for="(item,index) in describe" :key="index">{{item.discountActiveDescribe}}</view>
		</view>
		<view class="k-box">
			<view class="i-title">充值规则</view>
			<view class="i-text" v-if="describe.length>0">活动时间：{{describe[0].time}}</view>
			<view class="i-text" v-else>暂无规则</view>
		</view>

		<view style="width: 100%; height: 88px; "></view>
		<view class="bottom_">
			<view class="anniu_" @click="goRecharge()">
				立即充值{{rechargeOrder.balance}}元
			</view>
		</view>
		<u-popup :show="show" :closeable="true" :round="10" mode="bottom" @close="close">
			<view class="_tbox">
				<view class="_btop">选择油站</view>
				<view class="input_sou">
					<input type="text" placeholder="请输入油站" />
					<u-icon name="search" size="18px"></u-icon>
				</view>
				<view class="h_box" v-for="(item,index) in 4" :key="index">
					<view class="">测试A店</view>
					<view class="">129.9km</view>
				</view>

			</view>
		</u-popup>
	</view>
</template>

<script>
	import request from '../../utils/request'
	export default {
		data() {
			return {
				type: 'oilCard',
				show: false,
				windex: 0,
				storeId: uni.getStorageSync("storeId"),
				storeName: "",
				// 充值信息列表
				rechargeList: [],
				// 囤油卡充值列表信息
				oilRechargeList: [],
				// 员工列表
				staffList: [],
				staff: {},
				query: {
					chainStoreId: uni.getStorageSync("chainStoreId"),
					couponType: '',
					useStatus: 0,
					pageNo: 1,
					pageSize: 10
				},
				cardBalance: {},
				rechargeOrder: {
					payType: uni.getStorageSync("appltType"),
					mtStaffId: '',
					id: '',
					storeId: uni.getStorageSync("storeId"),
					chainStoreId: uni.getStorageSync("chainStoreId"),
					cardRecordId: '',
					balance: 0,
					types: 0
				},
				isEdit: true,
				describe: [],
				// 小程序类型 微信 WECHAT 支付宝 ALIPAY
				appltType: uni.getStorageSync("appltType"),
			}
		},
		onShow() {
			this.getList()
			this.getList1()
			this.getUserBalance()
			this.getDescribe()
		},
		methods: {
			// 调用充值接口
			goRecharge() {
				if (this.type == 'oilCard') {
					uni.showToast({
						icon: 'error',
						title: "暂未开发！"
					})
					return;
				}
				let _this = this
				request({
					url: 'business/marketingActivity/cardValueRecord',
					method: 'post',
					data: this.rechargeOrder,
				}).then(res => {
					if (res.code === 200) {
						if (_this.appltType == "WECHAT") {
							if (!res.data.reservedPayInfo) {
								uni.showToast({
									title: '支付失败，请联系商家',
									icon: "none"
								})
								return;
							}
							let payProvider = "wxpay"
							_this.orderInfo = JSON.parse(res.data.reservedPayInfo);
							uni.requestPayment({
								// 微信支付provider: 'wxpay' 支付宝支付 'alipay'
								provider: payProvider,
								timeStamp: _this.orderInfo.timeStamp,
								nonceStr: _this.orderInfo.nonceStr,
								package: _this.orderInfo.package,
								signType: 'MD5',
								paySign: _this.orderInfo.paySign,
								success: function(res) {
									console.log('success:', res);
									uni.reLaunch({
										url: '/pagesRefuel/orderSuccess/index'
									})
								},
								fail: function(err) {
									request({
										url: "business/marketingActivity/cardValueRecord/changeOrderPayStatus",
										method: 'post',
										data: {
											"orderNo": res.data.orderNo,
											"status": "payFail"
										},
									}).then((res) => {})
									uni.showToast({
										title: "支付失败!",
										icon: "error"
									})
									// console.log('fail:', err);
								}
							});
						}
					}
					if (_this.appltType == "ALIPAY") {
						if (!res.data.reservedTransactionId) {
							uni.showToast({
								title: '支付失败，请联系商家',
								icon: "none"
							})
							return;
						}
						my.tradePay({
							tradeNO: res.data.reservedTransactionId
						}, function(resp) {
							if (resp.resultCode == '9000') {
								console.log("支付成功")
								uni.reLaunch({
									url: '/pagesRefuel/orderSuccess/index'
								})
							} else {
								request({
									url: "/business/marketingActivity/cardValueRecord/changeOrderPayStatus",
									method: 'post',
									data: {
										"orderNo": res.data.orderNo,
										"status": "payFail"
									},
								}).then((res) => {})
								uni.showToast({
									title: "支付失败!",
									icon: "error"
								})
								console.log('支付失败，' + resp.resultCode);
							}
						});
					}
				})
			},
			// 获取充值活动描述信息
			getDescribe() {
				request({
					url: "/business/marketingActivity/cardValue/appletList",
					method: 'get',
					params: {
						storeId: this.storeId,
						isonline: '0',
						activeStatus: "1"
					},
				}).then((res) => {
					this.describe = res.data
				})
			},
			// 获取列表信息
			getList() {
				request({
					url: "/business/marketingActivity/cardValue/appletL",
					method: 'get',
					params: {
						storeId: this.storeId
					},
				}).then((res) => {
					this.storeName = res.data.storeName
					this.rechargeList = res.data.cardValueList
					if (res.data.cardValueList && res.data.cardValueList.length > 0) {
						this.rechargeOrder.balance = res.data.cardValueList[0].rechargeBalance
						this.rechargeOrder.payAmount = res.data.cardValueList[0].rechargeBalance
						this.rechargeOrder.bidBalance = res.data.cardValueList[0].bidBalance
						this.rechargeOrder.rechargeBalance = res.data.cardValueList[0].rechargeBalance
						this.rechargeOrder.giftBalance = res.data.cardValueList[0].giftBalance
						this.rechargeOrder.id = res.data.cardValueList[0].id
					}
					this.staffList = res.data.staffList
					this.staff = res.data.staff
				})
			},
			// 获取列表信息
			getList1() {
				request({
					url: "business/marketingActivity/cardFuelDiesel/selectAllApplet",
					method: 'get',
					params: {
						storeId: this.storeId,
						activeStatus: 1
					},
				}).then((res) => {
					this.oilRechargeList = res.data.records
					console.log(res, 271);
				})
			},
			getUserBalance() {
				request({
					url: '/business/userManager/user/getUserBalanceApplet',
					method: 'get',
					params: this.query
				}).then(res => {
					if (res.code == 200) {
						this.cardBalance = res.data
					}
				})
			},
			close() {
				this.show = false
			},
			setIndex(index, data) {
				this.windex = index
				if (this.type == 'balance') {
					if (index != this.rechargeList.length) {
						this.rechargeOrder.balance = data.rechargeBalance
						this.rechargeOrder.payAmount = data.rechargeBalance
						this.rechargeOrder.bidBalance = data.bidBalance
						this.rechargeOrder.rechargeBalance = data.rechargeBalance
						this.rechargeOrder.giftBalance = data.giftBalance
						this.rechargeOrder.id = data.id
					} else {
						this.rechargeOrder.balance = 0
						this.rechargeOrder.payAmount = 0
						this.rechargeOrder.bidBalance = 0
						this.rechargeOrder.rechargeBalance = 0
						this.rechargeOrder.giftBalance = 0
					}
				}
				if (this.type == 'oilCard') {

				}
			}
		}
	}
</script>

<style scoped lang="scss">
	.centenr {}

	.vip-top {
		width: 95%;
		height: 90px;
		background: url('../../static/imgs/topback.png') no-repeat;
		background-size: 100% 100%;
		margin: 15px auto;
		overflow: hidden;
		border-radius: 4px;
		color: #fff;
		box-sizing: border-box;
		padding: 10px;
	}

	.t-right {
		display: flex;
		width: 100%;
		align-items: center;
		justify-content: flex-end;
		font-size: 14px;
	}

	.t-title {
		font-size: 14px;
		color: #FFFFFF;
		margin-bottom: 5px;
	}

	.t-num {
		font-size: 20px;
		color: #FFFFFF;
	}

	.vip-title {
		width: 95%;
		margin: 15px auto;
		font-weight: bold;
		display: flex;
		align-items: center;
		justify-content: space-between;
		font-size: 16px;
		color: #333333;
	}

	.n_input {
		width: 95%;
		height: 40px;
		background: #FAFAFA;
		border-radius: 4px;
		border: 1px solid #EEEEEE;
		display: flex;
		align-items: center;
		justify-content: space-between;
		box-sizing: border-box;
		padding-left: 10px;
	}

	.b_input {
		width: 95%;
		height: 40px;
		background: #fff;
		border-radius: 4px;
		border: 1px solid #EEEEEE;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.input-box {
		width: 95%;
		margin: 15px auto;
	}

	.title-box {
		border-top: 1px solid #EEEEEE;
		border-bottom: 1px solid #EEEEEE;
		box-sizing: border-box;
		padding: 15px 10px;
	}

	.bottom_ {
		width: 100%;
		position: fixed;
		bottom: 0px;
		left: 0px;
		background: #fff;
		height: 80px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.wrap_box {
		width: 95%;
		margin: 15px auto;
		display: flex;
		flex-wrap: wrap;

	}

	.w_box {
		width: 31%;
		border: 1px solid #EEEEEE;
		border-radius: 4px;
		text-align: center;
		color: #333333;
		box-sizing: border-box;
		padding: 5px;
		font-size: 14px;
		margin-bottom: 15px;
		margin-right: 1%;
	}

	.w_box1 {
		width: 48%;
		border: 1px solid #EEEEEE;
		border-radius: 4px;
		text-align: center;
		color: #333333;
		box-sizing: border-box;
		padding: 5px;
		font-size: 14px;
		margin-bottom: 15px;
		margin-right: 1%;
	}

	.anniu_ {
		width: 80%;
		height: 35px;
		background: #FF9655;
		display: flex;
		align-items: center;
		justify-content: center;
		color: #fff;
		border-radius: 50px;
		color: #fff;
	}

	.i-title {
		font-weight: 600;
		font-size: 14px;
		color: #333333;
		margin-bottom: 15px;
	}

	.k-box {
		width: 100%;
		box-sizing: border-box;
		padding: 15px 10px;
	}

	.acvit {
		background: #FF9655 !important;
		color: #fff !important;
	}

	.r-title {
		border-left: 1px solid #eee;
		width: 60px;
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 14px;
		color: #333333;

	}

	._tbox {
		border-radius: 10px;
		background: #fff;
		width: 100%;


	}

	._btop {
		box-sizing: border-box;
		padding: 15px;
		border-bottom: 1px solid #EEEEEE;
		text-align: center;
		font-weight: 600;
		font-size: 14px;
		color: #333333;
	}

	.input_sou {
		width: 95%;
		border: 1px solid #EEEEEE;
		border-radius: 50px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		box-sizing: border-box;
		padding: 5px 10px;
		margin: 15px auto;
	}

	.h_box {
		border-bottom: 1px solid #EEEEEE;
		box-sizing: border-box;
		padding: 5px 15px;
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
</style>