<template>
	<view class="buy-course">
		<view class="course-box ">
			<view class="course-box-item flex">
				<u--image :showLoading="true" :src="dataInfo.photo" width="281rpx" height="178rpx"></u--image>
				<view class="box-right">
					<view class="active-title">{{dataInfo.title}}[{{dataInfo.money}}元/小时]</view>
					<view class="active-time">
						<text>{{dataInfo.startTime}} - {{dataInfo.endTime}}</text>
					</view>
					<view class="active-add">
						<text>{{dataInfo.place}}</text>
					</view>
				</view>
			</view>
		</view>
		
		<view class="from-box">
			<view class="from-title">填写报名人信息</view>
			<u--form
				labelPosition="left"
				:model="userInfo"
				ref="form1"
				labelWidth="80"
				:labelStyle="formLabelStyle"
			>
				<u-form-item
					label="姓名："
					borderBottom
					ref="item1"
				>
					<u--input
						v-model="userInfo.name"
						border="none"
						placeholder="请输入姓名"
					></u--input>
				</u-form-item>
				<u-form-item
					label="联系电话："
					borderBottom
					ref="item1"
				>
					<u--input
						v-model="userInfo.phone"
						border="none"
						placeholder="请输入手机号码"
						type="number"
					></u--input>
				</u-form-item>
				
			</u--form>
		</view>
		
		<view class="pay-box">
			<view class="pay-price flex align-center justify-between">
				<view class="pay-price-tip">费用</view>
				<view>
					<text class="unit">￥</text>
					<text>{{dataInfo.price}}</text>
				</view>
			</view>
			<view class="pay-type">
				<view class="pay-type-item flex justify-between align-center" v-for="item in payList" :key="item.id" @click="choosePay(item)">
					<view class="flex align-center">
						<image class="type-img" :src="item.src" mode=""></image>
						<text class="ml-1">{{item.text}}</text>
					</view>
					<image class="choose-img" :src="chooseType == item.id? '../../static/img/choose-act.png' : '../../static/img/choose.png'" mode=""></image>
				</view>
			</view>
		</view>
		
		<view class="btn-box">
			<u-button text="立即报名" @click="apply" :customStyle="baomingStyle" :hairline="false" color="#00BBFF"></u-button>
		</view>
	</view>
</template>

<script>
	export default{
		data(){
			return{
				chooseType: 0,
				id:'',
				dataInfo: {},
				userInfo:{
					name:'',
					companyName:'',
					phone:'',
					companyPost:''
					
				},
				formLabelStyle:{
					color: '#707070',
					fontSize: '30rpx'
				},
				baomingStyle: {
					fontSize:"30rpx",
					fontWeight:"700",
					height: "100rpx"
				},
				payList: [
					{
						id:0,
						text:'微信支付',
						src:require('@/static/img/wechat-icon.png')
					},
				]
			}
		},
		// 隐藏微信h5的标题栏
		onReady() {
			this.$com.displayNav()
		},
		onLoad(e) {
			this.getactivityFindById(e.id);
			this.id = e.id;
		},
		methods:{
			choosePay(item){
				this.chooseType = item.id;
			},
			apply(){//添加报名信息
				if(this.userInfo.phone.length != 11){
					this.$Toast('请输入正确手机号！')
					return
				}
				let params = {
					activityId:this.id,
					payType:this.chooseType,
					...this.userInfo,
				}
				this.$api('saveEnroll',params)
				.then(res=>{
					if(res.code == 200){
						this.wxPay(res.result)
					}else{
						this.$Toast(res.message)
					}
				})
			},
			wxPay(id){
				let that = this;
				that.$api('create',{id})
				.then(res=>{
					that.$jweixin.chooseWXPay({
					  appId: res.result.appId,
					  timestamp: res.result.timeStamp, // 支付签名时间戳，注意微信 jssdk 中的所有使用 timestamp 字段均为小写。但最新版的支付后台生成签名使用的 timeStamp 字段名需大写其中的 S 字符
					  nonceStr: res.result.nonceStr, // 支付签名随机串，不长于 32 位
					  package: res.result.packageValue, // 统一支付接口返回的prepay_id参数值，提交格式如：prepay_id=\*\*\*）
					  signType: res.result.signType, // 微信支付V3的传入 RSA ,微信支付V2的传入格式与V2统一下单的签名格式保持一致
					  paySign: res.result.paySign, // 支付签名
					  success: function (res) {
					    // 支付成功后的回调函数
					  }
					});
				})
			},
			getactivityFindById(id){
				uni.showLoading()
				this.$api('activityFindById',{id})
				.then(res=>{
					uni.hideLoading()
					if(res.code == 200){
						this.dataInfo = res.result;
					}
				})
			}
		}
	}
</script>

<style lang="scss" scoped>
	.buy-course {
		.course-box {
			padding: 0 26rpx;
			.course-box-item {
				background: #ffffff;
				border-radius: 12rpx;
				box-shadow: 3rpx 3rpx 6rpx 3rpx rgba(0,0,0,0.16); 
				padding: 33rpx 13rpx;
				.box-right {
					margin-left: 16rpx;
					
					.active-title {
						font-size: 30rpx;
						color: #000;
						line-height: 40rpx;
						overflow: hidden;
						display: -webkit-box;    
						-webkit-box-orient: vertical;    
						-webkit-line-clamp: 2;    
					}
					
					.active-time {
						color: #707070;
						font-size: 26rpx;
						margin: 10rpx 0 14rpx 0;
					}
					.active-add {
						color: #707070;
						font-size: 26rpx;
					}
					
				}
			}
			
		}
		
		.from-box {
			padding: 0 26rpx;
			.from-title {
				font-size: 30rpx;
				color: #000;
				margin-top: 35rpx;
				margin-bottom: 15rpx;
			}
		}
		
		.pay-box {
			border-top: 20rpx solid #F5F5F5;
			padding: 0 26rpx;
			.pay-price {
				color: #D33D3E;
				font-size: 40rpx;
				font-weight: 700;
				padding: 47rpx 0 20rpx 0;
				border-bottom:  1px solid #E6E6E6;
				
				.pay-price-tip {
					color: #000000;
					font-size: 30rpx;
					font-weight: 400;
				}
				
				.unit {
					font-size: 30rpx;
					font-weight: 400;
				}
			}
		
			.pay-type {
				padding-top: 22rpx;
				.pay-type-item {
					margin-bottom: 42rpx;
					.type-img {
						width: 70rpx;
						height: 70rpx;
					}
					.choose-img {
						width: 46rpx;
						height: 46rpx;
					}
				}
				
			}
		
		}
		
		.btn-box {
			position: fixed;
			bottom: 0;
			left: 0;
			right: 0;
		}
	}
</style>