mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-09 08:46:43 +08:00
433 lines
17 KiB
Vue
433 lines
17 KiB
Vue
<template>
|
||
<div class="insuranceInformation-container pb50 redRadioCheckbox">
|
||
<van-notice-bar :scrollable="false" v-if="!Time" class="notice">{{ `提示:阅读时长需在${this.Time ? this.time : this.number}秒以上` }}</van-notice-bar>
|
||
<div class="bg-white flex justify-content-c flex-direction-colunm align-it<po>ems-center p20 fs14 mt20">
|
||
<div>
|
||
<!-- <h2 v-if="activeType=='KMH'" style="text-align:center" class="mb20">指定保单生效日说明</h2> -->
|
||
<!-- <h2 v-if="activeType=='SQY'" style="text-align:center" class="mb20">指定保险合同生效日说明</h2> -->
|
||
<h2 style="text-align:center" class="mb20">预录投保单承保生效说明</h2>
|
||
<p style="text-indent:2rem;" :class="[activeType=='SQY' ? 'fontb' : '']">
|
||
尊敬的客户,您好!以下为预录投保单承保生效重要说明,请您务必仔细阅读和确认。
|
||
</p>
|
||
<p style="text-indent:2rem;">
|
||
<!-- 如您于{{ activeType=='KMH' ? '2020年12月31日':activeType=='SQY'? '2021年5月31日':'' }}(包含当日)之前申请投保并交费成功、且国富人寿保险股份有限公司(以下简称国富人寿)
|
||
收取首期保险费并签发保险单,保险合同于{{ activeType=='KMH' ? '2021年1月1日':activeType=='SQY'? '2021年6月1日':'' }}零时起生效;您交费成功日或签发保单日如在{{ activeType=='KMH' ?
|
||
'2021年1月1日':activeType=='SQY'? '2021年6月1日':'' }}(包含当日)之后,保险合同于国富人寿收取首期保险费并签发保险单次日零时起生效。 -->
|
||
<!-- 如您于<span>{{ cvalidateStrOneDayOff }}</span>(包含当日)之前申请投保并交费成功、且国富人寿保险股份有限公司(以下简称国富人寿)收取首期保险费并签发保险单,保险合同于
|
||
<span>{{ cvalidateStrToFormat }}</span>零时起生效;您交费成功日或签发保单日如在<span>{{ cvalidateStrToFormat }}</span>
|
||
(包含当日)之后,保险合同于国富人寿收取首期保险费并签发保险单次日零时起生效。 -->
|
||
|
||
<!-- 如您于<span>{{ cvalidateStrOneDayOff }}</span>(包含当日)前申请投保且支付保险费,经国富人寿保险股份有限公司(以下简称国富人寿)同意并签发保单,-->
|
||
<!-- <span>{{ cvalidateStrOneDayOff }}</span>(包含当日)前签发保单,保险合同自{{ cvalidateStrToFormat }}零时起生效;{{ cvalidateStrToFormat }}(包含当日)后签发保单,-->
|
||
<!-- 保险合同自签发保险单次日零时起生效。国富人寿将通过您投保时预留的银行账户转账扣除保险费,为顺利承保,请您充足银行账户余额。-->
|
||
|
||
本次投保为预录投保申请,国富人寿保险股份有限公司(以下简称国富人寿)将通过您投保时预留的银行账户转账扣除保险费,为顺利承保,请您充足银行账户余额。如您于{{ cvalidateStrOneDayOff }}(包含当日)前提交投保申请且完成转账支付,经国富人寿同意于{{ cvalidateStrOneDayOff }}(包含当日)前签发保单,保险合同自{{ cvalidateStrToFormat }}零时起生效;如您于{{ cvalidateStrOneDayOff }}(包含当日)前提交投保申请,于{{ cvalidateStrToFormat }}后(包含当日)完成转账支付,经国富人寿同意于{{ cvalidateStrToFormat }}(包含当日)后签发保单,保险合同自签发保险单次日零时起生效。
|
||
</p>
|
||
<p style="text-indent:2rem;">
|
||
国富人寿承担的保险责任从保险合同生效日零时开始。签发保险单后,国富人寿将电子保单发送至您的电子邮箱。
|
||
</p>
|
||
<p style="text-indent:2rem;">
|
||
请您务必仔细阅读保险条款中的犹豫期、保险责任、责任免除等各项重要容和提示。
|
||
</p>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="bg-white bottom-btn">
|
||
<van-radio-group v-model="radio" class="pb10 pb20 pl30">
|
||
<van-radio name="1" @click="click" class="fs14">
|
||
<span>本人已详细阅读并同意上述预录投保单承保生效说明 </span>
|
||
</van-radio>
|
||
</van-radio-group>
|
||
<van-button type="danger" size="large" :disabled="isDisable" @click="goNext" v-no-more-click="1000">我已阅读并知晓</van-button>
|
||
</div>
|
||
</div>
|
||
</template>
|
||
<script>
|
||
import { RadioGroup, Radio, Dialog, NoticeBar } from 'vant'
|
||
import { saveInformation, getOrderDetail } from '@/api/ebiz/sale/sale'
|
||
import utils from '@/assets/js/utils/date-utils'
|
||
|
||
// import config from '@/config'
|
||
// import axios from 'axios'
|
||
export default {
|
||
data() {
|
||
let isWeixin = this.$utils.device().isWeixin //判断环境
|
||
return {
|
||
// 投保人还是被保险人信息
|
||
signVal: '',
|
||
// 被保险人签名信息
|
||
insuredSign: {},
|
||
// 投保人签名信息
|
||
appntSign: {},
|
||
radio: '',
|
||
// 倒计时时间
|
||
number: '',
|
||
// 定时器时间
|
||
time: '10',
|
||
// 定时器名称
|
||
timer: null,
|
||
isOver: false,
|
||
// 判断验证码是否开始倒计时
|
||
Time: true,
|
||
// 按钮是否可以点击
|
||
isDisable: true,
|
||
// 是否在微信
|
||
isWeixin,
|
||
productCode: localStorage.productCode, //获取产品编号
|
||
protocol: false,
|
||
activeType: '',
|
||
isFrom:'',
|
||
cvalidateStr:'', //活动生效日
|
||
cvalidateStrToFormat:'',//活动生效日--格式化年月日
|
||
cvalidateStrOneDayOff:''//活动生效日--格式化年月日并减少一天
|
||
}
|
||
},
|
||
// computed: {
|
||
// cvalidateStrToFormat() {
|
||
// console.log(this.cvalidateStr,'computed')
|
||
// return utils.formatDate(new Date('2021-07-01'), 'yyyy年MM月dd日')
|
||
// },
|
||
// cvalidateStrOneDayOff() {
|
||
// console.log(this.cvalidateStr,'computed1')
|
||
// let date = new Date(this.cvalidateStr)
|
||
// let dateTime
|
||
// dateTime=date.setDate(date.getDate()-1);
|
||
// dateTime=utils.formatDate(new Date(dateTime), 'yyyy年MM月dd日');
|
||
// return dateTime
|
||
// }
|
||
// },
|
||
components: {
|
||
[RadioGroup.name]: RadioGroup,
|
||
[Radio.name]: Radio,
|
||
[Dialog.name]: Dialog,
|
||
[NoticeBar.name]: NoticeBar
|
||
},
|
||
created() {
|
||
this.init()
|
||
},
|
||
mounted() {
|
||
let readingType = localStorage.getItem('readingProtocolType')
|
||
if (readingType && readingType === '1') {
|
||
this.protocol = true
|
||
}
|
||
let that = this
|
||
// {{switchFlag.Time?pageVariable.msg:pageVariable.number}}
|
||
that.timeOut()
|
||
document.title = '预录投保单承保生效说明'
|
||
that.activeType = window.localStorage.getItem('activeType')
|
||
// Notify({
|
||
// type: 'warning',
|
||
// message: `提示:阅读时长需在${this.Time ? this.time : this.number}秒以上`,
|
||
// duration: 10000,
|
||
// background: '#999999',
|
||
// className: 'notify'
|
||
// })
|
||
|
||
document.body.style.backgroundColor = '#fff'
|
||
that.signVal = window.localStorage.getItem('sign-val')
|
||
if (JSON.parse(window.localStorage.getItem('sign-insured'))) {
|
||
that.insuredSign = JSON.parse(window.localStorage.getItem('sign-insured'))
|
||
}
|
||
if (JSON.parse(window.localStorage.getItem('sign-appnt'))) {
|
||
that.appntSign = JSON.parse(window.localStorage.getItem('sign-appnt'))
|
||
}
|
||
},
|
||
methods: {
|
||
async init(){
|
||
this.isFrom = window.localStorage.isFrom
|
||
const orderNo = this.$route.query.orderNo
|
||
let detailPromise = this.isFrom === 'proposal' ? localStorage.proposalMedical : await getOrderDetail({ orderNo })
|
||
if(this.isFrom != 'proposal'){
|
||
//活动生效日期
|
||
this.cvalidateStr = detailPromise.orderDTO.orderInfoDTO.cvaliDate
|
||
}
|
||
this.cvalidateStrToFormat = utils.formatDate(new Date(this.cvalidateStr), 'yyyy年MM月dd日')
|
||
let date = new Date(this.cvalidateStr)
|
||
let dateTime
|
||
dateTime=date.setDate(date.getDate()-1);
|
||
this.cvalidateStrOneDayOff = utils.formatDate(new Date(dateTime), 'yyyy年MM月dd日');
|
||
},
|
||
timeOut() {
|
||
let that = this
|
||
let time = that.time
|
||
that.Time = false
|
||
that.number = `${time}`
|
||
let timer = setInterval(() => {
|
||
time--
|
||
if (time <= 0) {
|
||
time = 0
|
||
clearInterval(timer)
|
||
|
||
that.Time = true
|
||
that.isOver = true
|
||
// window.localStorage.setItem('step', '1')
|
||
}
|
||
that.number = `${time}`
|
||
}, 1000)
|
||
},
|
||
// 点击阅读时
|
||
click() {
|
||
let that = this
|
||
if (that.isOver == false) {
|
||
Dialog.confirm({
|
||
title: '提示',
|
||
message: '该内容涉及您的重大权益,请您仔细阅读',
|
||
showCancelButton: false
|
||
}).then(() => {
|
||
that.radio = ''
|
||
})
|
||
}
|
||
},
|
||
// 下一步
|
||
goNext() {
|
||
if (this.isWeixin) {
|
||
console.log('````````````````````')
|
||
console.log('进入微信')
|
||
this.$toast.loading({
|
||
duration: 0, // 持续展示 toast
|
||
forbidClick: true, // 禁用背景点击
|
||
loadingType: 'spinner',
|
||
message: '加载中……'
|
||
})
|
||
let that = this
|
||
|
||
if (that.signVal == '0' || that.signVal == '2') {
|
||
that.appntSign.map(item => {
|
||
if (item.documentCode == '8') {
|
||
that.appntSign.signId = item.signId
|
||
that.appntSign.documentCode = item.documentCode
|
||
that.appntSign.documentType = item.documentType
|
||
}
|
||
})
|
||
let data = {
|
||
orderType: 'SIGN_ORDER',
|
||
orderDTO: {
|
||
orderInfoDTO: {
|
||
orderNo: that.$route.query.orderNo
|
||
},
|
||
ebizSignDTOS: [
|
||
{
|
||
signOrRead: 'read',
|
||
signId: that.appntSign.signId,
|
||
orderNo: that.$route.query.orderNo,
|
||
documentCode: that.appntSign.documentCode,
|
||
documentStatus: '1',
|
||
documentType: that.appntSign.documentType,
|
||
signType: that.signVal
|
||
}
|
||
]
|
||
}
|
||
}
|
||
saveInformation(data).then(res => {
|
||
// console.log(res)
|
||
if (res.result == '0') {
|
||
this.$toast.clear()
|
||
window.localStorage.setItem('detailJump', '')
|
||
let url = 'insuranceInformation'
|
||
this.$jump({
|
||
flag: 'h5',
|
||
extra: {
|
||
url: location.origin + '/#/sale/' + url + '?orderNo=' + that.$route.query.orderNo,
|
||
},
|
||
routerInfo: {
|
||
path: '/sale/' + url + '?orderNo=' + that.$route.query.orderNo,
|
||
}
|
||
})
|
||
} else {
|
||
that.$toast(res.resultMessage)
|
||
}
|
||
})
|
||
} else {
|
||
this.$toast.loading({
|
||
duration: 0, // 持续展示 toast
|
||
forbidClick: true, // 禁用背景点击
|
||
loadingType: 'spinner',
|
||
message: '加载中……'
|
||
})
|
||
that.insuredSign.map(item => {
|
||
if (item.documentCode == '8') {
|
||
that.insuredSign.signId = item.signId
|
||
that.insuredSign.documentCode = item.documentCode
|
||
that.insuredSign.documentType = item.documentType
|
||
}
|
||
})
|
||
let data = {
|
||
orderType: 'SIGN_ORDER',
|
||
orderDTO: {
|
||
orderInfoDTO: {
|
||
orderNo: that.$route.query.orderNo
|
||
},
|
||
ebizSignDTOS: [
|
||
{
|
||
signOrRead: 'read',
|
||
signId: that.insuredSign.signId,
|
||
orderNo: that.$route.query.orderNo,
|
||
documentCode: that.insuredSign.documentCode,
|
||
documentStatus: '1',
|
||
documentType: that.insuredSign.documentType,
|
||
signType: that.signVal
|
||
}
|
||
]
|
||
}
|
||
}
|
||
saveInformation(data).then(res => {
|
||
if (res.result == '0') {
|
||
this.$toast.clear()
|
||
window.localStorage.setItem('detailJump', '')
|
||
this.$jump({
|
||
flag: 'h5',
|
||
extra: {
|
||
url: location.origin + '/#/sale/SignatureOfElectronic' + '?orderNo=' + that.$route.query.orderNo,
|
||
},
|
||
routerInfo: {
|
||
path: '/sale/SignatureOfElectronic' + '?orderNo=' + that.$route.query.orderNo,
|
||
}
|
||
})
|
||
} else {
|
||
that.$toast(res.resultMessage)
|
||
}
|
||
})
|
||
}
|
||
} else {
|
||
let that = this
|
||
this.$toast.loading({
|
||
duration: 0, // 持续展示 toast
|
||
forbidClick: true, // 禁用背景点击
|
||
loadingType: 'spinner',
|
||
message: '加载中……'
|
||
})
|
||
// console.log('that.appntSign.signId',that.appntSign,that.appntSign.signId,that.appntSign.documentCode,that.appntSign.documentType)
|
||
if (that.signVal == '0' || that.signVal == '2') {
|
||
that.appntSign.map(item => {
|
||
if (item.documentCode == '8') {
|
||
that.appntSign.signId = item.signId
|
||
that.appntSign.documentCode = item.documentCode
|
||
that.appntSign.documentType = item.documentType
|
||
}
|
||
})
|
||
let data = {
|
||
orderType: 'SIGN_ORDER',
|
||
orderDTO: {
|
||
orderInfoDTO: {
|
||
orderNo: that.$route.query.orderNo
|
||
},
|
||
ebizSignDTOS: [
|
||
{
|
||
signOrRead: 'read',
|
||
signId: that.appntSign.signId,
|
||
orderNo: that.$route.query.orderNo,
|
||
documentCode: that.appntSign.documentCode,
|
||
documentStatus: '1',
|
||
documentType: that.appntSign.documentType,
|
||
signType: that.signVal
|
||
}
|
||
]
|
||
}
|
||
}
|
||
saveInformation(data).then(res => {
|
||
if (res.result == '0') {
|
||
this.$toast.clear()
|
||
window.localStorage.setItem('detailJump', '')
|
||
let url = 'insuranceInformation'
|
||
this.$jump({
|
||
flag: 'h5',
|
||
extra: {
|
||
url: location.origin + '/#/sale/' + url + '?orderNo=' + that.$route.query.orderNo,
|
||
forbidSwipeBack: '1'
|
||
},
|
||
routerInfo: {
|
||
path: '/sale/' + url + '?orderNo=' + that.$route.query.orderNo
|
||
}
|
||
})
|
||
} else {
|
||
that.$toast(res.resultMessage)
|
||
}
|
||
})
|
||
} else {
|
||
that.insuredSign.map(item => {
|
||
if (item.documentCode == '8') {
|
||
that.insuredSign.signId = item.signId
|
||
that.insuredSign.documentCode = item.documentCode
|
||
that.insuredSign.documentType = item.documentType
|
||
}
|
||
})
|
||
let data = {
|
||
orderType: 'SIGN_ORDER',
|
||
orderDTO: {
|
||
orderInfoDTO: {
|
||
orderNo: that.$route.query.orderNo
|
||
},
|
||
ebizSignDTOS: [
|
||
{
|
||
signOrRead: 'read',
|
||
signId: that.insuredSign.signId,
|
||
orderNo: that.$route.query.orderNo,
|
||
documentCode: that.insuredSign.documentCode,
|
||
documentStatus: '1',
|
||
documentType: that.insuredSign.documentType,
|
||
signType: that.signVal
|
||
}
|
||
]
|
||
}
|
||
}
|
||
saveInformation(data).then(res => {
|
||
if (res.result == '0') {
|
||
this.$toast.clear()
|
||
window.localStorage.setItem('detailJump', '')
|
||
this.$jump({
|
||
flag: 'h5',
|
||
extra: {
|
||
url: location.origin + '/#/sale/SignatureOfElectronic' + '?orderNo=' + that.$route.query.orderNo,
|
||
forbidSwipeBack: '1'
|
||
},
|
||
routerInfo: {
|
||
path: '/sale/SignatureOfElectronic' + '?orderNo=' + that.$route.query.orderNo,
|
||
}
|
||
})
|
||
} else {
|
||
that.$toast(res.resultMessage)
|
||
}
|
||
})
|
||
}
|
||
}
|
||
}
|
||
},
|
||
computed: {
|
||
listenChange() {
|
||
const { isOver, radio } = this
|
||
return { isOver, radio }
|
||
}
|
||
},
|
||
watch: {
|
||
listenChange(val) {
|
||
let that = this
|
||
// console.log('listenChange :', val)
|
||
if (val.isOver == true && val.radio !== '') {
|
||
that.isDisable = false
|
||
} else {
|
||
that.isDisable = true
|
||
}
|
||
}
|
||
},
|
||
|
||
beforeRouteLeave(to, from, next) {
|
||
document.body.style.backgroundColor = ''
|
||
next()
|
||
}
|
||
}
|
||
</script>
|
||
<style lang="scss" scoped>
|
||
p {
|
||
text-align: justify;
|
||
}
|
||
.notice {
|
||
width: 100%;
|
||
position: fixed;
|
||
top: 0;
|
||
z-index: 20;
|
||
}
|
||
.fontb{
|
||
font-weight: bolder;
|
||
}
|
||
</style>
|