<template>
	<view class="container">
		<view class="info-box">
			<view class="info-item-box flex">
				<view class="label">
					用户名
				</view>
				<view class="text">
					{{ info.username }}
				</view>
			</view>
			<view class="info-item-box flex">
				<view class="label">
					支付项目
				</view>
				<view class="text">
					{{ info.payProject }}
				</view>
			</view>
			<view class="info-item-box flex">
				<view class="label">
					类型
				</view>
				<view class="text">
					{{ info.type }}
				</view>
			</view>
			<view class="info-item-box flex">
				<view class="label">
					年份
				</view>
				<view class="text">
					{{ info.year }}年
				</view>
			</view>
			<view class="info-item-box flex">
				<view class="label">
					金额
				</view>
				<view class="text">
					{{ info.price }}元
				</view>
			</view>
			<view class="info-item-box flex">
				<view class="label">
					会籍有效期
				</view>
				<view class="text">
					{{ info.periodOfValidity }}
				</view>
			</view>
			
		</view>
		<view class="info-box" style="background: none;">
			<view class="info-item-box row" style="height: auto;border-bottom: 0;">
				<view class="text" v-html="info.remark"></view>
			</view>
		</view>
		<view class="bottom-box-block">
		</view>
		<view class="bottom-box">
			<u-button type="error" shape="circle" @click="onSubmit">支付</u-button>
		</view>
	</view>
</template>

<script setup>
	import { ref } from 'vue'
	import { onLoad } from '@dcloudio/uni-app'
	import { useAuthStore } from '@/store/authStore'
	import { personPayment } from '@/api/cost.js'
	import { msgError, msgSuccess } from '@/utils/common'
	const authStore = useAuthStore()
	import { getSubPersonCastAgree } from '@/api/cost.js'
	const openid = ref('')
	
	// 用户信息
	const user = ref({
		userIcon: '1',
		name: '某某某',
		corpName: '广州市xx地产有限公司',
		corpRegNo: '123xxxx'
	})
	
	const info = ref({
		username: '某某某',
		payProject: '2024年度个人会费',
		type: '个人会费',
		year: 2024,
		price: 200,
		periodOfValidity: '2024.05.1-2025.4.30',
		remark: '根据《协会章程》规定,个人会费200元/年/人,会员会籍为每年5月1日至4月30日。<br/>个人会员可享受以下会员服务:<br/>1、免费使用网络教育培训系统【系统已上线121个视频课程77本电子书,涵盖:政策法规、职业素养、商务礼仪、客户服务销售技能、市场营销、团队管理、办公软件等多个知识领域】<br/>2、优先优惠参加协会组织的公开培训课<br/>更多优惠请关注协会微信号【gzreavip】'
	})
	
	function onSubmit() {
		const form = {
			title: info.value.payProject,
			year: info.value.year,
			amount: info.value.price,
			desc: info.value.payProject,
			openid: openid.value
		}
		personPayment(form).then(res => {
			if (res && res.code === 0) {
				const params = res.data
				wx.requestPayment({
				  timeStamp: params.timeStamp,
				  nonceStr: params.nonceStr,
				  package: params.package,
				  signType: params.signType,
				  paySign: params.paySign,
				  success (res) {
						msgSuccess('支付成功')
						uni.navigateBack()
					},
				  fail (res) {
						const errMsg = res.errMsg
						if (errMsg.indexOf('fail cancel')) {
							msgError('已取消支付')
						}
					}
				})
			} else {
				msgError(res.message)
				uni.navigateBack()
			}
		})
	}
	
	onLoad((load) => {
		user.value = authStore.userInfo
		openid.value = uni.getStorageSync('openid')
		info.value = {
			username: user.value.name,
			payProject: `${load.year}年度个人会费`,
			type: '个人会费',
			year: Number(load.year),
			price: Number(load.duePrice),
			periodOfValidity: `${Number(load.year)}.01.01-${Number(load.year)}.12.31`,
			remark: '根据《协会章程》规定,个人会费200元/年/人,会员会籍为每年5月1日至4月30日。<br/>个人会员可享受以下会员服务:<br/>1、免费使用网络教育培训系统【系统已上线121个视频课程77本电子书,涵盖:政策法规、职业素养、商务礼仪、客户服务销售技能、市场营销、团队管理、办公软件等多个知识领域】<br/>2、优先优惠参加协会组织的公开培训课<br/>更多优惠请关注协会微信号【gzreavip】'
		}
		getSubPersonCastAgree().then(res=>{
			if (res && res.code === 0) {
				// console.log("个人会费缴交",res.data)
				info.value.remark = res.data.content
// 				info.value.remark = `<p>
//     描述：
// </p>
// <p>
//     根据协会章程，个人会费200元/年/人，会员会籍为每年1月1日至12月31日。
// </p>
// <p>
//     个人会员可享受以下会员服务：
// </p>
// <p>
//     1、免费使用网络教育培训系统【系统已上线海量视频课程，77本电子书，涵盖：政策法规、职业素养、商务礼仪、客户服务、销售技能、市场营销、团队管理、办公软件等多个知识领域】
// </p>
// <p>
//     2、优先或以会员价参加协会组织的公开培训课
// </p>
// <p>
//     更多优惠请关注协会微信号【gzreavip】
// </p>`
			}
		})
	})
</script>

<style lang="scss" scoped>
	.container {
		// height: 100vh;
		width: 100vw;
		background-color: $uni-bg-color;
		padding: 20rpx;
		.info-box {
			padding: 30rpx;
			background-color: $uni-bg-color-grey;
			border-radius: $uni-card-border-radius;
			.info-item-box {
				font-size: $uni-title-font-size-2;
				border-bottom: 1rpx solid #E6E6E6;
				height: 82rpx;
				.label {
					font-weight: bold;
				}
			}
			.flex {
				display: flex;
				align-items: center;
				.label {
					width: 30%;
				}
				.text {
					width: 70%;
				}
			}
			.row {
				.label {
					line-height: 62rpx;
				}
				.text {
					line-height: 180%;
					font-size: 28rpx;
					font-weight: bold;
				}
			}
		}
		.bottom-box-block{
			height: 150rpx;
		}
		.bottom-box {
			padding: 20rpx;
			position: fixed;
			bottom: 50rpx;
			width: 95%;
		}
	}
</style>