|  | @@ -5,7 +5,7 @@
 | 
	
		
			
				|  |  |  			<view class="g-shoping-info">
 | 
	
		
			
				|  |  |  				<image class="shoping-img" :src="previewCourseInfo.cover" mode=""></image>
 | 
	
		
			
				|  |  |  				<view class="shoping-info">
 | 
	
		
			
				|  |  | -					<view class="name">{{ previewCourseInfo.name }}</view>
 | 
	
		
			
				|  |  | +					<view class="name">{{ previewCourseInfo.placeName }}</view>
 | 
	
		
			
				|  |  |  					<view class="price-info">
 | 
	
		
			
				|  |  |  						<view class="price"><text class="mini-text">¥</text>{{ previewCourseInfo.sellingPrice }}</view>
 | 
	
		
			
				|  |  |  						<view class="price-stepper">
 | 
	
	
		
			
				|  | @@ -23,77 +23,71 @@
 | 
	
		
			
				|  |  |  				</view>
 | 
	
		
			
				|  |  |  				<view class="total-price">
 | 
	
		
			
				|  |  |  					<view class="">
 | 
	
		
			
				|  |  | -						<text v-if="loadType == 1 || loadType == 2">试听优惠</text>
 | 
	
		
			
				|  |  | -						<text v-if="loadType == 3">团购优惠</text>
 | 
	
		
			
				|  |  | +						<text v-if="(loadType == 1 || loadType == 2) && !placeId">试听优惠</text>
 | 
	
		
			
				|  |  | +						<text v-if="loadType == 3 || placeId">团购优惠</text>
 | 
	
		
			
				|  |  |  					</view>
 | 
	
		
			
				|  |  | -					<view class="">-¥{{ previewCourseInfo.discountPrice }}</view>
 | 
	
		
			
				|  |  | +					<view class="">-¥{{ previewCourseInfo.discountPrice || previewCourseInfo.sellingPrice }}</view>
 | 
	
		
			
				|  |  |  				</view>
 | 
	
		
			
				|  |  |  			</view>
 | 
	
		
			
				|  |  |  			<view class="subtotal">小计 ¥{{ previewCourseInfo.subtotal }}</view>
 | 
	
		
			
				|  |  |  		</view>
 | 
	
		
			
				|  |  | -		<!-- 无固定场进入 -->
 | 
	
		
			
				|  |  | -		<view class="g-buy-tips" v-if="loadType == 4">
 | 
	
		
			
				|  |  | -			<view class="tips-title">购买须知</view>
 | 
	
		
			
				|  |  | -			<view class="tips-info-card">
 | 
	
		
			
				|  |  | -				<view class="title">有效期</view>
 | 
	
		
			
				|  |  | -				<view class="text">购买后90天内有效</view>
 | 
	
		
			
				|  |  | -				<view class="title">使用时间</view>
 | 
	
		
			
				|  |  | -				<view class="text">10:00-22:00</view>
 | 
	
		
			
				|  |  | -				<view class="title">预约信息</view>
 | 
	
		
			
				|  |  | -				<view class="text">请您<text style="color: #222;">提前1小时</text>预约</view>
 | 
	
		
			
				|  |  | -				<view class="title">使用人数</view>
 | 
	
		
			
				|  |  | -				<view class="text">每张券最多20人使用</view>
 | 
	
		
			
				|  |  | -				<view class="title">温馨提示</view>
 | 
	
		
			
				|  |  | -				<view class="text">如需该券发票,请您在消费时,向场馆咨询。</view>
 | 
	
		
			
				|  |  | -				<view class="text">为了保障您的权益,建议使用平台线上支付,若使用了其他方式支付导致纠纷,平台不承担任何责任,感谢您的理解和支持。</view>
 | 
	
		
			
				|  |  | -			</view>
 | 
	
		
			
				|  |  | -		</view>
 | 
	
		
			
				|  |  |  		<!-- 课程进入 -->
 | 
	
		
			
				|  |  |  		<!-- v-if="loadType==1||loadType==3" -->
 | 
	
		
			
				|  |  | -		<view class="r-insurance">
 | 
	
		
			
				|  |  | +		<view class="r-insurance" v-for="item in insureIdList" :key="item.id">
 | 
	
		
			
				|  |  |  			<view class="r-insurance-infobox">
 | 
	
		
			
				|  |  |  				<view class="r-image-box">
 | 
	
		
			
				|  |  | -					<image src="https://img.keaitupian.cn/newupload/08/1629449018344288.jpg" mode=""></image>
 | 
	
		
			
				|  |  | +					<image :src="item.coverImg" mode=""></image>
 | 
	
		
			
				|  |  |  				</view>
 | 
	
		
			
				|  |  |  				<view class="r-insurance-title">
 | 
	
		
			
				|  |  |  					<view class="r-insurance-name">
 | 
	
		
			
				|  |  | -						<view class="r-name">运动无忧保</view>
 | 
	
		
			
				|  |  | +						<view class="r-name">{{ item.name }}</view>
 | 
	
		
			
				|  |  |  						<view class="r-tags">不支持退款</view>
 | 
	
		
			
				|  |  |  					</view>
 | 
	
		
			
				|  |  | -					<view class="r-insurance-desc">意外身故、残疾10万;意外医疗1万;意外补充医疗1万;</view>
 | 
	
		
			
				|  |  | -					<view class="r-insurance-type">保险公司:中国人保</view>
 | 
	
		
			
				|  |  | +					<view class="r-insurance-desc" v-for="(desc, index) in item.insuranceObvious" :key="index">
 | 
	
		
			
				|  |  | +						<text v-for="([key, value], idx) in Object.entries(desc)" :key="key + idx">{{ key }}, {{
 | 
	
		
			
				|  |  | +							value }};</text>
 | 
	
		
			
				|  |  | +					</view>
 | 
	
		
			
				|  |  | +					<view class="r-insurance-type">保险公司:{{ item.insuranceName_dictText }}</view>
 | 
	
		
			
				|  |  |  					<view class="r-insurance-price">
 | 
	
		
			
				|  |  | -						<view class="r-price">¥2/天·人</view>
 | 
	
		
			
				|  |  | -						<!-- RouterUtils.to_page('/pages/index/insure/index') -->
 | 
	
		
			
				|  |  | -						<view class="r-insurance-btn" @click="insurePopup.open()">去投保
 | 
	
		
			
				|  |  | +						<view class="r-price">¥{{ insurePrice }}/天·人</view>
 | 
	
		
			
				|  |  | +						<view class="r-insurance-btn" v-if="insureData.length < 1"
 | 
	
		
			
				|  |  | +							@click="gotoInsuracePage(item, item.priceDataList)">去投保
 | 
	
		
			
				|  |  |  						</view>
 | 
	
		
			
				|  |  |  					</view>
 | 
	
		
			
				|  |  |  				</view>
 | 
	
		
			
				|  |  |  			</view>
 | 
	
		
			
				|  |  | -			<view class="line"></view>
 | 
	
		
			
				|  |  | -			<view class="r-insurance-adduser">
 | 
	
		
			
				|  |  | -				<view class="r-adduser-btn" @click="toUserList">
 | 
	
		
			
				|  |  | -					<view class="r-celar" @click="clearUser">清除</view>
 | 
	
		
			
				|  |  | -					<view class="r-edit" @click="editUser">修改</view>
 | 
	
		
			
				|  |  | -				</view>
 | 
	
		
			
				|  |  | -				<view class="r-userinfo-list">
 | 
	
		
			
				|  |  | -					<view class="r-userinfo-item">
 | 
	
		
			
				|  |  | -						<view class="r-item-title">被保人</view>
 | 
	
		
			
				|  |  | -						<view class="r-item-info">2人(杨锦新、赵四儿)</view>
 | 
	
		
			
				|  |  | -					</view>
 | 
	
		
			
				|  |  | -					<view class="r-userinfo-item">
 | 
	
		
			
				|  |  | -						<view class="r-item-title">生效时间</view>
 | 
	
		
			
				|  |  | -						<view class="r-item-info">2天(2025.07.24-2025.07-28)</view>
 | 
	
		
			
				|  |  | +			<view class="line" v-if="insureData.length > 0"></view>
 | 
	
		
			
				|  |  | +			<blcok v-if="insureData.length > 0">
 | 
	
		
			
				|  |  | +				<view class="r-insurance-adduser" v-for="(insureUser, index) in insureData" :key="index">
 | 
	
		
			
				|  |  | +					<view class="r-adduser-btn">
 | 
	
		
			
				|  |  | +						<view class="r-celar" @click="clearUser">清除</view>
 | 
	
		
			
				|  |  | +						<view class="r-edit"
 | 
	
		
			
				|  |  | +							@click="RouterUtils.to_page(`/pages/index/insure/index?priceDataList=${JSON.stringify(item.priceDataList)}`)">
 | 
	
		
			
				|  |  | +							修改</view>
 | 
	
		
			
				|  |  |  					</view>
 | 
	
		
			
				|  |  | -					<view class="r-userinfo-item">
 | 
	
		
			
				|  |  | -						<view class="r-item-title">保费总金额</view>
 | 
	
		
			
				|  |  | -						<view class="r-item-info">¥8</view>
 | 
	
		
			
				|  |  | +					<view class="r-userinfo-list">
 | 
	
		
			
				|  |  | +						<view class="r-userinfo-item">
 | 
	
		
			
				|  |  | +							<view class="r-item-title">被保人</view>
 | 
	
		
			
				|  |  | +							<view class="r-item-info">{{ insureUser.userData.length }}人(<text
 | 
	
		
			
				|  |  | +									v-for="user in insureUser.userData" :key="user.id">{{ user.fullName }},</text>)
 | 
	
		
			
				|  |  | +							</view>
 | 
	
		
			
				|  |  | +						</view>
 | 
	
		
			
				|  |  | +						<view class="r-userinfo-item">
 | 
	
		
			
				|  |  | +							<view class="r-item-title">生效时间</view>
 | 
	
		
			
				|  |  | +							<view class="r-item-info">{{ insureUser.slectObj.day }}天({{ insureUser.startDate }}-{{
 | 
	
		
			
				|  |  | +								insureUser.endDate }})
 | 
	
		
			
				|  |  | +							</view>
 | 
	
		
			
				|  |  | +						</view>
 | 
	
		
			
				|  |  | +						<view class="r-userinfo-item">
 | 
	
		
			
				|  |  | +							<view class="r-item-title">保费总金额</view>
 | 
	
		
			
				|  |  | +							<view class="r-item-info">¥{{ insureUser.totalPrice }}</view>
 | 
	
		
			
				|  |  | +						</view>
 | 
	
		
			
				|  |  |  					</view>
 | 
	
		
			
				|  |  |  				</view>
 | 
	
		
			
				|  |  | -			</view>
 | 
	
		
			
				|  |  | +			</blcok>
 | 
	
		
			
				|  |  |  		</view>
 | 
	
		
			
				|  |  |  		<!-- v-if="loadType==1||loadType==3" -->
 | 
	
		
			
				|  |  | -		<view class="g-userinfo-card">
 | 
	
		
			
				|  |  | +		<view class="g-userinfo-card" v-if="!placeId">
 | 
	
		
			
				|  |  |  			<view class="r-user">
 | 
	
		
			
				|  |  |  				<view class="user-title">用户信息</view>
 | 
	
		
			
				|  |  |  				<view class="invite">
 | 
	
	
		
			
				|  | @@ -118,7 +112,7 @@
 | 
	
		
			
				|  |  |  		</view>
 | 
	
		
			
				|  |  |  		<!-- v-if="loadType==1" -->
 | 
	
		
			
				|  |  |  		<view class="g-usetips-card">
 | 
	
		
			
				|  |  | -			<view class="use-title">使用须知</view>
 | 
	
		
			
				|  |  | +			<view class="use-title">{{ placeId ? '使用须知' : '购买须知' }}</view>
 | 
	
		
			
				|  |  |  			<view class="use-text">
 | 
	
		
			
				|  |  |  				<view class="item-text">
 | 
	
		
			
				|  |  |  					<rich-text :nodes="previewCourseInfo.reminder"></rich-text>
 | 
	
	
		
			
				|  | @@ -129,6 +123,18 @@
 | 
	
		
			
				|  |  |  				<view class="use-line"></view>
 | 
	
		
			
				|  |  |  			</view>
 | 
	
		
			
				|  |  |  		</view>
 | 
	
		
			
				|  |  | +		<view class="g-usetips-card">
 | 
	
		
			
				|  |  | +			<view class="use-title">服务保障</view>
 | 
	
		
			
				|  |  | +			<view class="use-text">
 | 
	
		
			
				|  |  | +				<view class="item-text">
 | 
	
		
			
				|  |  | +					{{previewCourseInfo.refundType == 1 ? '未消费随时退款,过期未消费自动退款。' : '不支退款,请慎重考虑后购买。'}}
 | 
	
		
			
				|  |  | +				</view>
 | 
	
		
			
				|  |  | +			</view>
 | 
	
		
			
				|  |  | +			<view class="use-tips-more" @click="RouterUtils.to_page('/pages/index/useNotice/index')">
 | 
	
		
			
				|  |  | +				<view class="more-text">查看更多</view>
 | 
	
		
			
				|  |  | +				<view class="use-line"></view>
 | 
	
		
			
				|  |  | +			</view>
 | 
	
		
			
				|  |  | +		</view>
 | 
	
		
			
				|  |  |  		<view style="height: 166rpx;"></view>
 | 
	
		
			
				|  |  |  		<view class="footer footer-box">
 | 
	
		
			
				|  |  |  			<view class="footer-price">
 | 
	
	
		
			
				|  | @@ -145,33 +151,10 @@
 | 
	
		
			
				|  |  |  		</view>
 | 
	
		
			
				|  |  |  	</view>
 | 
	
		
			
				|  |  |  	<uni-popup ref="insurePopup" type="center">
 | 
	
		
			
				|  |  | -		<view class="r-center-popup">
 | 
	
		
			
				|  |  | -			<view class="r-popup-title">无保险免责声明</view>
 | 
	
		
			
				|  |  | +		<view class="r-center-popup" v-if="agreementContent">
 | 
	
		
			
				|  |  | +			<view class="r-popup-title">{{ agreementContent.protocolName }}</view>
 | 
	
		
			
				|  |  |  			<view class="r-popup-content">
 | 
	
		
			
				|  |  | -				一、本声明的目的是为了使用体育场地的人员明确
 | 
	
		
			
				|  |  | -				知晓体育活动所存在的风险,凡签署本声明的人员,
 | 
	
		
			
				|  |  | -				均视为已经仔细阅读和完全理解并同意接受本声明
 | 
	
		
			
				|  |  | -				的全部条款。对于违反国家相关法规、恶意侵犯他
 | 
	
		
			
				|  |  | -				人或其他涉及犯罪行为的事件,均不在本声明范国
 | 
	
		
			
				|  |  | -				内跟覆篮戏娇须由个人承担相应的法律责任。
 | 
	
		
			
				|  |  | -				一、本声明的目的是为了使用体育场地的人员明确
 | 
	
		
			
				|  |  | -				知晓体育活动所存在的风险,凡签署本声明的人员,
 | 
	
		
			
				|  |  | -				均视为已经仔细阅读和完全理解并同意接受本声明
 | 
	
		
			
				|  |  | -				的全部条款。对于违反国家相关法规、恶意侵犯他
 | 
	
		
			
				|  |  | -				人或其他涉及犯罪行为的事件,均不在本声明范国
 | 
	
		
			
				|  |  | -				内跟覆篮戏娇须由个人承担相应的法律责任。
 | 
	
		
			
				|  |  | -				一、本声明的目的是为了使用体育场地的人员明确
 | 
	
		
			
				|  |  | -				知晓体育活动所存在的风险,凡签署本声明的人员,
 | 
	
		
			
				|  |  | -				均视为已经仔细阅读和完全理解并同意接受本声明
 | 
	
		
			
				|  |  | -				的全部条款。对于违反国家相关法规、恶意侵犯他
 | 
	
		
			
				|  |  | -				人或其他涉及犯罪行为的事件,均不在本声明范国
 | 
	
		
			
				|  |  | -				内跟覆篮戏娇须由个人承担相应的法律责任。
 | 
	
		
			
				|  |  | -				一、本声明的目的是为了使用体育场地的人员明确
 | 
	
		
			
				|  |  | -				知晓体育活动所存在的风险,凡签署本声明的人员,
 | 
	
		
			
				|  |  | -				均视为已经仔细阅读和完全理解并同意接受本声明
 | 
	
		
			
				|  |  | -				的全部条款。对于违反国家相关法规、恶意侵犯他
 | 
	
		
			
				|  |  | -				人或其他涉及犯罪行为的事件,均不在本声明范国
 | 
	
		
			
				|  |  | -				内跟覆篮戏娇须由个人承担相应的法律责任。
 | 
	
		
			
				|  |  | +				<rich-text :nodes="agreementContent.protocolContent"></rich-text>
 | 
	
		
			
				|  |  |  			</view>
 | 
	
		
			
				|  |  |  			<view class="r-popup-footer">
 | 
	
		
			
				|  |  |  				<view class="r-popup-needbtn" @click="toNeed">我需要购买保险</view>
 | 
	
	
		
			
				|  | @@ -186,25 +169,32 @@
 | 
	
		
			
				|  |  |  </template>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  <script lang="ts" setup>
 | 
	
		
			
				|  |  | -import { ref, onMounted, computed } from 'vue';
 | 
	
		
			
				|  |  | -import { onLoad, onPageScroll } from '@dcloudio/uni-app';
 | 
	
		
			
				|  |  | +import { ref, onMounted } from 'vue';
 | 
	
		
			
				|  |  | +import { onLoad } from '@dcloudio/uni-app';
 | 
	
		
			
				|  |  |  import { RouterUtils, TipsUtils, idCardHide } from '@/utils/util';
 | 
	
		
			
				|  |  |  import { http } from '@/utils/http'
 | 
	
		
			
				|  |  |  const insurePopup = ref()
 | 
	
		
			
				|  |  |  const select_insurance = ref(false)
 | 
	
		
			
				|  |  |  const loadType = ref(1)
 | 
	
		
			
				|  |  | -const buyType=ref()
 | 
	
		
			
				|  |  | +const buyType = ref()
 | 
	
		
			
				|  |  | +const placeId = ref()
 | 
	
		
			
				|  |  |  onLoad((options) => {
 | 
	
		
			
				|  |  |  	loadType.value = options.type
 | 
	
		
			
				|  |  |  	courseId.value = options.courseId
 | 
	
		
			
				|  |  | -	buyType.value=options.buyType
 | 
	
		
			
				|  |  | +	placeId.value = options.placeId
 | 
	
		
			
				|  |  | +	buyType.value = options.buyType
 | 
	
		
			
				|  |  |  	orderFormData.value.type = options.orderType
 | 
	
		
			
				|  |  |  	orderFormData.value.orFreeOrder = options.buyType
 | 
	
		
			
				|  |  | -	orderFormData.value.amount=1
 | 
	
		
			
				|  |  | +	orderFormData.value.amount = 1
 | 
	
		
			
				|  |  |  })
 | 
	
		
			
				|  |  |  onMounted(() => {
 | 
	
		
			
				|  |  | -	get_previewOrderCourse()
 | 
	
		
			
				|  |  | +	if (placeId.value) {
 | 
	
		
			
				|  |  | +		getEventsDetail()
 | 
	
		
			
				|  |  | +	} else {
 | 
	
		
			
				|  |  | +		get_previewOrderCourse()
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  |  	get_userData()
 | 
	
		
			
				|  |  | +	getInsureData()
 | 
	
		
			
				|  |  |  })
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const toUserList = () => {
 | 
	
	
		
			
				|  | @@ -231,15 +221,75 @@ const deleteUser = async (e) => {
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +const priceDataListData = ref([])
 | 
	
		
			
				|  |  | +const gotoInsuracePage = (e1: any, e2: any) => {
 | 
	
		
			
				|  |  | +	getFindByType(e1.insuranceName)
 | 
	
		
			
				|  |  | +	priceDataListData.value = e2
 | 
	
		
			
				|  |  | +	orderFormData.value.insureOrderInfoForm.insureId = e1.id
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const agreementContent = ref()
 | 
	
		
			
				|  |  | +const getFindByType = (insuranceName: any) => {
 | 
	
		
			
				|  |  | +	http.get('/my/feedback/findByType', { data: { insuranceName: insuranceName, protocolType: 0 }, loading: true }).then((res: any) => {
 | 
	
		
			
				|  |  | +		agreementContent.value = res.result
 | 
	
		
			
				|  |  | +		insurePopup.value.open()
 | 
	
		
			
				|  |  | +	})
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  const courseId = ref()
 | 
	
		
			
				|  |  |  const previewCourseInfo = ref()
 | 
	
		
			
				|  |  | +const insureIdList = ref([])  // 保险列表
 | 
	
		
			
				|  |  | +const insurePrice = ref() // 保险价格
 | 
	
		
			
				|  |  | +// 课程预览
 | 
	
		
			
				|  |  |  const get_previewOrderCourse = () => {
 | 
	
		
			
				|  |  |  	http.get('/order/previewOrderCourse', { data: { courseId: courseId.value }, loading: true }).then((res) => {
 | 
	
		
			
				|  |  |  		previewCourseInfo.value = res.result
 | 
	
		
			
				|  |  |  		orderFormData.value.productIds = res.result.id
 | 
	
		
			
				|  |  | +		res.result.insureIdList.map((item: any) => {
 | 
	
		
			
				|  |  | +			item.insuranceObvious = JSON.parse(item.insuranceObvious)
 | 
	
		
			
				|  |  | +			item.insuranceObvious = [item.insuranceObvious]
 | 
	
		
			
				|  |  | +			item.priceDataList.map((item2: any) => {
 | 
	
		
			
				|  |  | +				if (item2.insureDay === 1) {
 | 
	
		
			
				|  |  | +					insurePrice.value = item2.insurePrice
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			})
 | 
	
		
			
				|  |  | +		})
 | 
	
		
			
				|  |  | +		insureIdList.value = res.result.insureIdList
 | 
	
		
			
				|  |  | +	})
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +// 场地预览
 | 
	
		
			
				|  |  | +const getEventsDetail = () => {
 | 
	
		
			
				|  |  | +	http.get('/order/PreviewOrderPlaceGymnasiumNoFixation', { data: { placeId: placeId.value }, loading: true }).then((res) => {
 | 
	
		
			
				|  |  | +		previewCourseInfo.value = res.result
 | 
	
		
			
				|  |  | +		orderFormData.value.productIds = res.result.id
 | 
	
		
			
				|  |  |  	})
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +const insureData = ref([])
 | 
	
		
			
				|  |  | +const getInsureData = () => {
 | 
	
		
			
				|  |  | +	uni.$on('insureData', function (data) {
 | 
	
		
			
				|  |  | +		insureData.value = data
 | 
	
		
			
				|  |  | +		console.log(insureData.value, '投保人信息');
 | 
	
		
			
				|  |  | +		orderFormData.value.insureOrderInfoForm.assertStartTime = insureData.value[0].startDate
 | 
	
		
			
				|  |  | +		orderFormData.value.insureOrderInfoForm.assertEndTime = insureData.value[0].endDate
 | 
	
		
			
				|  |  | +		orderFormData.value.insureOrderInfoForm.insurePriceId = insureData.value[0].slectObj.id
 | 
	
		
			
				|  |  | +		if (data.length > 0) {
 | 
	
		
			
				|  |  | +			let familyMembersIds = data[0].userData.map(item => item.id)
 | 
	
		
			
				|  |  | +			orderFormData.value.insureOrderInfoForm.familyMembersIds = familyMembersIds.join(',')
 | 
	
		
			
				|  |  | +		} else {
 | 
	
		
			
				|  |  | +			orderFormData.value.insureOrderInfoForm.familyMembersIds = []
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +	})
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const clearUser = async () => {
 | 
	
		
			
				|  |  | +	let res: any = await TipsUtils.tips_alert('确定清除投保人信息吗?', true)
 | 
	
		
			
				|  |  | +	if (res.confirm) {
 | 
	
		
			
				|  |  | +		insureData.value = []
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  const countTotal = ref(1)
 | 
	
		
			
				|  |  |  const minusNum = () => {
 | 
	
		
			
				|  |  |  	if (countTotal.value > 1) {
 | 
	
	
		
			
				|  | @@ -249,9 +299,9 @@ const minusNum = () => {
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const addNum = () => {
 | 
	
		
			
				|  |  | -	if(buyType.value==1) return TipsUtils.tips_toast('试听课程不支持多个购买')
 | 
	
		
			
				|  |  | +	if (buyType.value == 1) return TipsUtils.tips_toast('试听课程不支持多个购买')
 | 
	
		
			
				|  |  |  	get_checkCourseLimitNum(countTotal.value + 1)
 | 
	
		
			
				|  |  | -	orderFormData.value.amount = countTotal.value+1
 | 
	
		
			
				|  |  | +	orderFormData.value.amount = countTotal.value + 1
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const get_checkCourseLimitNum = (targetNum) => {
 | 
	
	
		
			
				|  | @@ -272,8 +322,8 @@ const get_checkCourseLimitNum = (targetNum) => {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const toNeed = () => {
 | 
	
		
			
				|  |  |  	if (!select_insurance.value) return TipsUtils.tips_toast('请先阅读并同意协议')
 | 
	
		
			
				|  |  | +	RouterUtils.to_page(`/pages/index/insure/index?priceDataList=${JSON.stringify(priceDataListData.value)}`)
 | 
	
		
			
				|  |  |  	insurePopup.value.close()
 | 
	
		
			
				|  |  | -	RouterUtils.to_page('/pages/index/insure/index')
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  const toRefuse = () => {
 | 
	
	
		
			
				|  | @@ -294,6 +344,21 @@ let orderFormData = ref({
 | 
	
		
			
				|  |  |  	productIds: null,
 | 
	
		
			
				|  |  |  	amount: null,
 | 
	
		
			
				|  |  |  	familyIds: null,
 | 
	
		
			
				|  |  | +	insureOrderInfoForm: {
 | 
	
		
			
				|  |  | +		insureId: null,
 | 
	
		
			
				|  |  | +		assertStartTime: null,
 | 
	
		
			
				|  |  | +		assertEndTime: null,
 | 
	
		
			
				|  |  | +		insurePriceId: null,
 | 
	
		
			
				|  |  | +		familyMembersIds: null,
 | 
	
		
			
				|  |  | +	},
 | 
	
		
			
				|  |  | +	// gameCertificationForm:{
 | 
	
		
			
				|  |  | +	// 	teamName:'',
 | 
	
		
			
				|  |  | +	// 	teamEmblemImg: '',
 | 
	
		
			
				|  |  | +	// 	certificationDTOS:[{
 | 
	
		
			
				|  |  | +	// 		name: '',
 | 
	
		
			
				|  |  | +	// 		certificationImg: '',
 | 
	
		
			
				|  |  | +	// 	}]
 | 
	
		
			
				|  |  | +	// }
 | 
	
		
			
				|  |  |  })
 | 
	
		
			
				|  |  |  const submitOrder = () => {
 | 
	
		
			
				|  |  |  	if (!userData.value) return TipsUtils.tips_toast('请添加用户信息')
 | 
	
	
		
			
				|  | @@ -474,6 +539,7 @@ const submitOrder = () => {
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			.r-insurance-desc {
 | 
	
		
			
				|  |  | +				width: 440rpx;
 | 
	
		
			
				|  |  |  				margin-top: 10rpx;
 | 
	
		
			
				|  |  |  				font-size: 24rpx;
 | 
	
		
			
				|  |  |  				color: #AAAAAA;
 | 
	
	
		
			
				|  | @@ -767,7 +833,7 @@ const submitOrder = () => {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  .r-center-popup {
 | 
	
		
			
				|  |  |  	width: 646rpx;
 | 
	
		
			
				|  |  | -	height: 1000rpx;
 | 
	
		
			
				|  |  | +	max-height: 1000rpx;
 | 
	
		
			
				|  |  |  	background: #F6F6F6;
 | 
	
		
			
				|  |  |  	border-radius: 32rpx;
 | 
	
		
			
				|  |  |  	padding: 20rpx;
 | 
	
	
		
			
				|  | @@ -783,7 +849,7 @@ const submitOrder = () => {
 | 
	
		
			
				|  |  |  		margin-top: 28rpx;
 | 
	
		
			
				|  |  |  		font-size: 28rpx;
 | 
	
		
			
				|  |  |  		color: #222222;
 | 
	
		
			
				|  |  | -		height: 600rpx;
 | 
	
		
			
				|  |  | +		max-height: 600rpx;
 | 
	
		
			
				|  |  |  		overflow: auto;
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 |