Compare commits

...

49 Commits

Author SHA1 Message Date
liu.xiaofeng@ebiz-digits.com
774fed8691 上传附件增加断点查看代码逻辑运行分支 2023-07-10 11:36:49 +08:00
liu.xiaofeng@ebiz-digits.com
6bdac57653 卡单问题关于选择人员后变更了保费问题以及立即投保数据传递关于职业信息 2023-07-07 17:28:59 +08:00
liu.xiaofeng@ebiz-digits.com
cc701a123c 产品条款跳转下一页代码逻辑修改 2023-06-29 22:45:44 +08:00
liu.xiaofeng@ebiz-digits.com
ce299774e4 阅读文件-产品说明书页面页签标题显示错误修改 2023-06-29 20:48:28 +08:00
liu.xiaofeng@ebiz-digits.com
3d7fc9a09c 阅读文件页面多个产品说明书签字阅读逻辑修改2 2023-06-28 20:00:50 +08:00
liu.xiaofeng@ebiz-digits.com
c9799f68be 阅读文件页面多个产品说明书签字阅读逻辑修改 2023-06-28 20:00:46 +08:00
liu.xiaofeng@ebiz-digits.com
e11cb7a5ec 支付页面支付失败跳转其它页面链接拼接订单号 2023-06-28 20:00:40 +08:00
liu.xiaofeng@ebiz-digits.com
37561f5440 电子投保流程中页面顶部导航条重新封装 并去掉各个页面重新设置是否展示相关页签的逻辑 2023-06-28 20:00:31 +08:00
liu.xiaofeng@ebiz-digits.com
e7b738e9cd 电子投保附件上传以及阅读文件页面设置顶部导航关于风险测评以及风险测评结果页面默认为显示 在通过调用接口动态设置是否是显示状态 2023-06-28 20:00:27 +08:00
liu.xiaofeng@ebiz-digits.com
99a9eb460d 风险告知页面设置顶部导航条关于风险测评以及风险测评结果页面默认为显示 再根据订单状态动态设置是否展示 2023-06-28 19:56:45 +08:00
liu.xiaofeng@ebiz-digits.com
8c78080f02 风险测评结果页面退出之后 在电子投保页面点击编辑该订单根据不同的条件 跳转不同的页面 不在跳转风险测评结果页面 2023-06-28 19:56:42 +08:00
liu.xiaofeng@ebiz-digits.com
5cadaf3229 风险告知页面 设置导航条关于风险测评以及风险测评结果页面默认为显示状态 2023-06-28 19:56:39 +08:00
liu.xiaofeng@ebiz-digits.com
e696551ce4 电子投保列表页面点击编辑根据不同的状态跳转不同的页面 状态为告知信息保存成功跳转区分两种情况 2023-06-28 19:56:35 +08:00
liu.xiaofeng@ebiz-digits.com
044e3ceb4b 鑫享金生产品性别女领取年龄增加70选项 2023-06-28 19:56:31 +08:00
liu.xiaofeng@ebiz-digits.com
03d2de19dd 被保险人年龄18岁判断修改数据来源字段 2023-06-28 19:49:19 +08:00
liu.xiaofeng@ebiz-digits.com
d578b7523f 风险测评 以及风险测评结果页面 顶部导航条这是默认显示该页面 2023-06-28 19:44:30 +08:00
liu.xiaofeng@ebiz-digits.com
a7ad8b1fc0 电子投保导航关于风险测评以及风险测评结果逻辑判断修改
阅读文件关于产品说明书跳转逻辑判断修改
2023-06-28 19:44:20 +08:00
liu.xiaofeng@ebiz-digits.com
d2b59c9a7c 投保流程导航条关于风险测评以及风险测评结果页面默认设置为不展示 2023-06-28 19:44:17 +08:00
liu.xiaofeng@ebiz-digits.com
4526bed080 风险告知如果没有选择提示必选 2023-06-28 19:44:14 +08:00
liu.xiaofeng@ebiz-digits.com
669344886f 阅读文件 产品条款跳转下一页的代码逻辑修改 不用产品编码判断跳转的页面 改为保险期间是否是一年期以上产品 2023-06-28 19:44:11 +08:00
liu.xiaofeng@ebiz-digits.com
303b4344dc 阅读文件万能险条款iframe地址修改9 2023-06-28 19:43:21 +08:00
liu.xiaofeng@ebiz-digits.com
5fe3e49c48 阅读文件万能险条款iframe地址修改8 2023-06-28 19:43:18 +08:00
liu.xiaofeng@ebiz-digits.com
79bd09b4bc 阅读文件万能险条款iframe地址修改7 2023-06-28 19:43:13 +08:00
liu.xiaofeng@ebiz-digits.com
1baa0ae28c 阅读文件万能险条款iframe地址修改6 2023-06-28 19:43:10 +08:00
liu.xiaofeng@ebiz-digits.com
bd7fd7c3f8 阅读文件万能险条款iframe地址修改4 2023-06-28 19:42:29 +08:00
liu.xiaofeng@ebiz-digits.com
1d0342f92d 阅读文件万能险条款iframe地址修改3 2023-06-28 19:42:23 +08:00
liu.xiaofeng@ebiz-digits.com
728010fe38 阅读文件万能险条款iframe地址修改2 2023-06-28 19:40:55 +08:00
liu.xiaofeng@ebiz-digits.com
8de9f7e0c5 阅读文件万能险条款iframe地址修改 2023-06-28 19:38:33 +08:00
liu.xiaofeng@ebiz-digits.com
59c14509b3 风险告知下一步 如果没有全部选是 修改提示语 2023-06-28 19:38:24 +08:00
liu.xiaofeng@ebiz-digits.com
77d2f505c5 阅读文件 能力评测表 iframe地址链接修改2 2023-06-28 19:38:18 +08:00
liu.xiaofeng@ebiz-digits.com
0f071d8a91 阅读文件 能力评测表 iframe地址链接修改 2023-06-28 19:37:54 +08:00
liu.xiaofeng@ebiz-digits.com
44ae14bb8c 签字确认页面文件排序逻辑修改 2023-06-28 19:36:34 +08:00
liu.xiaofeng@ebiz-digits.com
aa0f75ff89 风险告知页面底部增加客户声明 2023-06-28 19:36:30 +08:00
liu.xiaofeng@ebiz-digits.com
882670b873 建议书利益展示页面 八桂无忧(尊享版)现金价值添加元单位 2023-06-28 19:36:26 +08:00
liu.xiaofeng@ebiz-digits.com
10fed64fd6 建议书利益展示页面添加元单位
风险告知增加头部提示文字以及尾部提示文字
2023-06-28 19:36:22 +08:00
liu.xiaofeng@ebiz-digits.com
5da3fc2634 产品条款跳转下一页代码逻辑添加固定产品逻辑判断 2023-06-28 19:36:16 +08:00
liu.xiaofeng@ebiz-digits.com
b5b08aa3d9 导航条根据订单信息动态判断风险告知内容是否展示 2023-06-28 19:36:13 +08:00
liu.xiaofeng@ebiz-digits.com
a98139a54b 附件上传受益人证件上传失败数据清空3 2023-06-28 19:36:09 +08:00
liu.xiaofeng@ebiz-digits.com
162be894f8 附件上传受益人证件上传失败数据清空2 2023-06-28 19:36:05 +08:00
liu.xiaofeng@ebiz-digits.com
f16d8bf8ac 人身投保提示书点击下一步页面跳转逻辑修改 2023-06-28 19:33:58 +08:00
liu.xiaofeng@ebiz-digits.com
ce8255a1b2 人身保险投保提示书点击下一步页面跳转逻辑修改 2023-06-28 19:33:44 +08:00
liu.xiaofeng@ebiz-digits.com
70d64966e9 签署文件页面增加页面跳转逻辑 2023-06-28 19:33:39 +08:00
liu.xiaofeng@ebiz-digits.com
2fc5ef1e79 签署文件页面修改产品说明书以及风险告知页面 2023-06-28 19:30:54 +08:00
liu.xiaofeng@ebiz-digits.com
a17015c8a0 新增风险告知页面 2023-06-28 19:21:39 +08:00
liu.xiaofeng@ebiz-digits.com
4c4901037a 新增万能险风险告知页面并添加相关代码逻辑 2023-06-28 19:21:21 +08:00
liu.xiaofeng@ebiz-digits.com
c03b1589c4 【银保app】服务页面投保相关添加投保问题件菜单选项 2023-06-28 10:56:32 +08:00
liu.xiaofeng@ebiz-digits.com
047e802d08 签名页面关于被保人18岁年龄判断逻辑修改 2023-06-28 10:56:20 +08:00
liu.xiaofeng@ebiz-digits.com
6d94409cc9 被保险人年龄18岁判断修改数据来源字段 2023-06-28 10:56:16 +08:00
liu.xiaofeng@ebiz-digits.com
49981ef63d 鑫享金生产品性别女领取年龄增加70选项 2023-06-28 10:56:12 +08:00
24 changed files with 2103 additions and 1252 deletions

View File

@@ -3769,6 +3769,14 @@ export default {
{
code: "oldMajorDiseaseInsurance",
label: "元"
},
{
code: "GFRS_A0013__cashValue",
label: "元"
},
{
code: "GFRS_M0073__cashValue",
label: "元"
}
],
// 卡单与短期险重新投保选择职业类别时,两个模块职业类型数据的排序不同,创建这个数据字典,用于在选择职业类别时,作为一个参数传入组件,

View File

@@ -1,7 +1,7 @@
<template>
<div class="own_content">
<ul class="index-bar">
<li @click="changePage(Number(index) + 1)" v-for="(item, index) in pageTitle" :key="index" :class="item.tabClass" :id="item.tabClass" v-if="item.show">
<li @click="changePage(item.pageNo)" v-for="(item, index) in pageTitle" :key="index" :class="item.tabClass" :id="item.tabClass" v-if="item.show">
<!-- 选中 -->
<div v-if="item.tabClass" class="flex justify-content-fs align-items-c">
<div class="flex flex-direction-colunm align-items-c">
@@ -23,6 +23,7 @@
</template>
<script>
import { Icon, Image } from 'vant'
import { getOrderDetail1 } from '@/api/ebiz/sale/sale'
export default {
name: 'IndexBar',
props: {
@@ -50,6 +51,7 @@ export default {
},
data() {
return {
thisShow: false,
doneUrl: this.$assetsUrl + 'images/kmh/done.png',
doneNurl: this.$assetsUrl + 'images/kmh/done_n.png',
pageTitle: [
@@ -103,7 +105,7 @@ export default {
pageItem: '风险测评',
urlStr: '/sale/answerPage',
tabClass: '',
show:this.$store.getters.getAnswerType,
show:false,
imgCheckedUrl: this.$assetsUrl + 'images/kmh/fx1.png',
imgNoCheckedUrl: this.$assetsUrl + 'images/kmh/fx2.png'
},
@@ -112,10 +114,19 @@ export default {
pageItem: '风险测评结果',
urlStr: '/sale/answerSuccess',
tabClass: '',
show:this.$store.getters.getAnswerType,
show:false,
imgCheckedUrl: this.$assetsUrl + 'images/kmh/fxjg1.png',
imgNoCheckedUrl: this.$assetsUrl + 'images/kmh/fxjg2.png'
},
{
pageNo: 7.1,
pageItem: '风险告知',
urlStr: '/sale/universalRiskNotifyingMessage',
tabClass: '',
show:false,
imgCheckedUrl: this.$assetsUrl + 'images/kmh/zhxx.png',
imgNoCheckedUrl: this.$assetsUrl + 'images/kmh/zhxx_n.png'
},
{
pageNo: 8,
pageItem: '账户信息',
@@ -149,6 +160,35 @@ export default {
}
},
mounted() {
let that = this
let data = {
orderNo: that.$route.query.orderNo
}
getOrderDetail1(data).then(res => {
if (res.result == '0') {
if(res.orderDTO.universalRiskNotifyDTO){
if(res.orderDTO.universalRiskNotifyDTO.isUniversalRiskNotifyShowPoint == 1){
this.pageTitle.forEach(item=>{
if(item.pageNo == 7.1){
item.show = true
}
})
}
}
if(res.orderDTO.riskEvaluationDTO){
if(res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint == 1){
this.pageTitle.forEach(item=>{
if(item.pageNo == 6){
item.show = true
}
if(item.pageNo == 7){
item.show = true
}
})
}
}
}
})
this.selectTab()
},
methods: {
@@ -181,6 +221,9 @@ export default {
case 7: //跳到风险评估结果页
url = `/sale/answerSuccess?edit=1&salePageFlag=${pageIndex}&orderNo=` + this.$route.query.orderNo
break
case 7.1: //跳到万能险风险告知页面
url = `/sale/universalRiskNotifyingMessage?edit=1&salePageFlag=${pageIndex}&orderNo=` + this.$route.query.orderNo
break
case 8: //跳到账户信息页面
url = `/sale/AccountInformation?edit=1&salePageFlag=${pageIndex}&orderNo=` + this.$route.query.orderNo
break

View File

@@ -10,12 +10,14 @@ const addBeneficiaryInfo = () => import('@/views/ebiz/sale/AddBeneficiaryInfo')
const signatureConfirmation = () => import('@/views/ebiz/sale/SignatureConfirmation')
const notifyingMessage = () => import('@/views/ebiz/sale/NotifyingMessage')
const universalRiskNotifyingMessage = () => import('@/views/ebiz/sale/universalRiskNotifyingMessage')
const answerPage = () => import('@/views/ebiz/sale/answerPage')
const answerSuccess = () => import('@/views/ebiz/sale/answerSuccess')
const accountInformation = () => import('@/views/ebiz/sale/AccountInformation')
const insuranceInformation = () => import('@/views/ebiz/sale/InsuranceInformation')
const insuranceClauses = () => import('@/views/ebiz/sale/insuranceClauses')
const insuranceTip = () => import('@/views/ebiz/sale/InsuranceTip')
const universalRiskNotifyingMessageTip = () => import('@/views/ebiz/sale/universalRiskNotifyingMessageTip')
const InsuranceRiskReminder = () => import('@/views/ebiz/sale/InsuranceRiskReminder')
const signatureOfElectronic = () => import('@/views/ebiz/sale/SignatureOfElectronic')
const PersonalInformation = () => import('@/views/ebiz/sale/PersonalInformation')
@@ -122,6 +124,14 @@ export default [
title: '告知信息'
}
},
{
path: '/sale/universalRiskNotifyingMessage',
name: 'universalRiskNotifyingMessage',
component: universalRiskNotifyingMessage,
meta: {
title: '风险告知'
}
},
{
path: '/sale/answerPage',
name: 'answerPage',
@@ -170,6 +180,14 @@ export default [
title: '阅读人身保险投保提示书'
}
},
{
path: '/sale/universalRiskNotifyingMessageTip',
name: 'universalRiskNotifyingMessageTip',
component: universalRiskNotifyingMessageTip,
meta: {
title: '万能型人身保险产品风险告知问卷'
}
},
{
path: '/sale/InsuranceRiskReminder',
name: 'InsuranceRiskReminder',

View File

@@ -27,7 +27,7 @@ export default new Vuex.Store({
agentGrade: '', //用户的agentGrade判断用户权限
secondManageCode: '', //内勤所需参数
orderDetail: {},//无优卡分享微信端订单信息
answerType: true,//风险测评tab是否显示
answerType: false,//风险测评tab是否显示
},
mutations: {
setOrderDetail (state, data) {

View File

@@ -14,8 +14,16 @@
<img class="menu1_p_img" src="@/assets/YB_APP/images/15.png">
<span class="menu1_p_span">投保相关</span>
</p>
<div class="menu1_div">
<div v-for="(item, ind) in menu1" :key="ind" @click="pageJump(item)" class="menu1_div_div">
<div class="menu1_div" style="margin-bottom: 10px;">
<div v-for="(item, ind) in menu1" :key="ind" @click="pageJump(item)" v-if="ind <= 3" class="menu1_div_div">
<div>
<img class="menu1_div_div_img" :src="item.img">
</div>
<p class="menu1_div_p">{{ item.title }}</p>
</div>
</div>
<div class="menu1_div" v-if="menu1.length > 4">
<div v-for="(item, ind) in menu1" :key="ind" @click="pageJump(item)" v-if="ind > 3" class="menu1_div_div">
<div>
<img class="menu1_div_div_img" :src="item.img">
</div>

View File

@@ -978,7 +978,9 @@ export default {
if (res.result == 0) {
//选择保障方案
this.trialList = res.trialList
this.allPrice = res.trialList[0].prem
if (!this.allPrice) {
this.allPrice = res.trialList[0].prem
}
} else {
this.$toast(res.resultMessage)
}
@@ -1594,10 +1596,32 @@ export default {
this.userInfo.homeAddress = data.homeAddress //家庭详细地址
this.userInfo.occupationCode = data.occupationCode
this.userInfo.occupationName = data.occupationName
let thisoccupationType = ''
let thislifeGrade = ''
let thishealthGrade = ''
let collect = (data,code) => {
data.forEach(item => {
if (item.code == code) {
if (this.trialDTOS.productInsuredDTO.healthGrade && this.trialDTOS.productInsuredDTO.healthGrade != '0') {
thisoccupationType = item.healthGrade
}
if (this.trialDTOS.productInsuredDTO.lifeGrade && this.trialDTOS.productInsuredDTO.lifeGrade != '0') {
thisoccupationType = item.lifeGrade
}
thislifeGrade = item.lifeGrade
thishealthGrade = item.healthGrade
} else {
if (item.subs && item.subs.length != 0) {
collect(item.subs,code)
}
}
})
}
collect(occupationList,data.occupationCode)
this.userInfo.occupationType = data.lifeGrade
this.userInfo.lifeGrade = data.lifeGrade
this.userInfo.healthGrade = data.healthGrade
this.userInfo.occupationType =thisoccupationType
this.userInfo.lifeGrade = thislifeGrade
this.userInfo.healthGrade = thishealthGrade
this.userInfo.averageAnnualIncome = this.itemProductDTOS.productCode == 'GFRS_M0032' ? data.averageYearlyIncome : '0' //平均年收入
//2516--三个学平险--被保险人国籍默认中国,允许修改
if (this.itemProductDTOS.productCode == 'GFRS_M0048' || this.itemProductDTOS.productCode == 'GFRS_M0049' || this.itemProductDTOS.productCode == 'GFRS_M0050'

View File

@@ -2042,7 +2042,8 @@ export default {
this.$toast('被保险人年龄不适合该交费期间或保险期间!')
trialFlag = false
}
}else if (item.productCode == 'GFRS_M0053') {
}
else if (item.productCode == 'GFRS_M0053') {
//国富人寿富桂金生养老年金保险
if(sex == '0'){
if(
@@ -2102,7 +2103,8 @@ export default {
trialFlag = false
}
}
}else if (item.productCode == 'GFRS_M0061') {
}
else if (item.productCode == 'GFRS_M0061') {
//中介渠道鑫享金生养老年金保险
if(sex == '0'){ //男
if(
@@ -2161,6 +2163,15 @@ export default {
this.nextStepFlag = true
this.$toast('被保险人年龄不适合该交费期间!')
trialFlag = false
}else if(
(item.pensionAge == '70' && item.payEndYear == '20' && age > 50) ||
(item.pensionAge == '70' && item.payEndYear == '10' && age > 60) ||
(item.pensionAge == '70' && item.payEndYear == '5' && age > 65) ||
(item.pensionAge == '70' && item.payEndYear == '3' && age > 65)
){
this.nextStepFlag = true
this.$toast('被保险人年龄不适合该交费期间!')
trialFlag = false
}
}
}
@@ -2890,24 +2901,14 @@ export default {
}
})
}else if (localStorage.isFrom == 'proposal'){
let proposalOrderNo = this.$CacheUtils.getLocItem('proposalNo') || ''
let proposalOrderNo = this.$route.query.proposalOrderNo || ''
let url = `/common/selectedProduct?proposalOrderNo=${proposalOrderNo}`
if (resultData.content.id) {
this.saleInsuredPersonInfo.insuredId = resultData.content.id;
this.$CacheUtils.setLocItem('saleInsuredPersonInfo', JSON.stringify(this.saleInsuredPersonInfo))
}
this.$jump({
flag: 'goBack',
extra: {
refresh: '1',
index: '-2'
},
routerInfo: {
type: 2,
index: -2,
path: url
}
})
//试算记录保存更新--编辑
this.saveOrUpdateTrialRecordInfoFunc(resultData.content.riskDTO)
}else if (isFrom == 'orderTrial' && localStorage.isFrom == 'sale') {
this.$toast.clear()
this.trialResultsShow = true

View File

@@ -322,11 +322,7 @@ export default {
if (resultData.result == 0) {
if( resultData.orderDTO ) {
//判断是否显示风险测评tab
let updateAnswerType = resultData.orderDTO.riskEvaluationDTO.isShowEvaluationPoint =='1'?true:false
this.$store.commit('updateAnswerType', updateAnswerType )
// console.log(updateAnswerType,'updateAnswerType');
this.renovate = new Date().getTime()
this.renovate = new Date().getTime()
}
let riskDTOLst
if (isProposal) {

View File

@@ -643,7 +643,6 @@ export default {
},
async mounted() {
this.$store.commit('updateAnswerType', false )
let res = await getOrderDetail({ orderNo: this.$route.query.orderNo })
this.$toast.loading({
duration: 0, // 持续展示 toast
@@ -652,10 +651,7 @@ export default {
message: '加载中……'
})
if (res.result == 0) {
let updateAnswerType = res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint =='1'?true:false
this.$store.commit('updateAnswerType', updateAnswerType )
this.renovate = new Date().getTime()
console.log(updateAnswerType,'updateAnswerType');
if(res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint == '1'&&res.orderDTO.riskEvaluationDTO.totalScore == null){
Dialog.alert({
title: '提示',
@@ -748,10 +744,6 @@ export default {
}, 100)
// 筛选按钮的点击事件
window.appCallBack = this.appCallBack
// this.updateAnswerType = res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint =='1'?true:false
// let updateAnswerType = res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint =='1'?true:false
this.$store.commit('updateAnswerType', this.updateAnswerType )
console.log(this.updateAnswerType,'updateAnswerType');
},
computed: {
listenChange() {

View File

@@ -505,117 +505,112 @@ export default {
imageType: ''
}
},
created() {
async created() {
//如果是从编辑进来的
// if (this.$route.query.edit || localStorage.changeCard) {
getOrderDetail({ orderNo: this.$route.query.orderNo }).then((res) => {
// console.log(res)
if (res.result == 0) {
let res= await getOrderDetail({ orderNo: this.$route.query.orderNo })
if (res.result == 0) {
if(res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint == '1'&&res.orderDTO.riskEvaluationDTO.totalScore == null){
Dialog.alert({
title: '提示',
message: '您当前未完成测评,请完成后再进行后续操作',
theme: 'round-button',
}).then(() => {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/answerPage',
},
routerInfo: {
path: '/sale/answerPage'
}
})
// on close
})
Dialog.alert({
title: '提示',
message: '您当前未完成测评,请完成后再进行后续操作',
theme: 'round-button',
}).then(() => {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/answerPage',
},
routerInfo: {
path: '/sale/answerPage'
}
})
// on close
})
}
//是投保人还是被保险人
localStorage.accountInformationRadio = res.orderDTO.orderAccountDTO.accountType
//投被保险人关系
this.relationToAppnt = res.orderDTO.insuredDTOs[0].relationToAppnt
this.$utils.intLocalStorage(res)
//投保人信息
this.saleInsuredInfo = res.orderDTO.appntDTO
//被保险人信息
this.saleInsuredPersonInfo = res.orderDTO.insuredDTOs[0]
//收益人信息
this.saleBtnfPersonInfo = this.saleInsuredPersonInfo.bnfDTOs
//bnfInfo 受益人影像数据反显,护照属于其他类型,护照以外的证件区分正反面
console.log(this.saleBtnfPersonInfo,'this.saleBtnfPersonInfo')
if(this.saleBtnfPersonInfo){
this.saleBtnfPersonInfo.forEach((item, index, arr) => {
if(item.idType == '4'){
this.bnfInfo.push(
{
// 受益人其他类型页面
fileLIstImgBeneficiary: []
}
)
}else{
this.bnfInfo.push(
{
// 受益人身份证正面
fileListIdFrontBeneficiary: [],
// 受益人身份证反面
fileListIdBackBeneficiary: []
}
)
}
})
}else{
this.isDisabledBnf = false
}
//是投保人还是被保险人
localStorage.accountInformationRadio = res.orderDTO.orderAccountDTO.accountType
//投被保险人关系
this.relationToAppnt = res.orderDTO.insuredDTOs[0].relationToAppnt
this.$utils.intLocalStorage(res)
//投保人信息
this.saleInsuredInfo = res.orderDTO.appntDTO
//被保险人信息
this.saleInsuredPersonInfo = res.orderDTO.insuredDTOs[0]
//收益人信息
this.saleBtnfPersonInfo = this.saleInsuredPersonInfo.bnfDTOs
//bnfInfo 受益人影像数据反显,护照属于其他类型,护照以外的证件区分正反面
console.log(this.saleBtnfPersonInfo,'this.saleBtnfPersonInfo')
if(this.saleBtnfPersonInfo){
this.saleBtnfPersonInfo.forEach((item, index, arr) => {
if(item.idType == '4'){
this.bnfInfo.push(
{
// 受益人其他类型页面
fileLIstImgBeneficiary: []
}
)
}else{
this.bnfInfo.push(
{
// 受益人身份证正面
fileListIdFrontBeneficiary: [],
// 受益人身份证反面
fileListIdBackBeneficiary: []
}
)
}
// localStorage.saleInsuredPersonInfo = JSON.stringify(res.orderDTO.insuredDTOs[0])
// 核保老师确认只有财务告知第8项社保问题选【是】不用展示上传资料按钮其他健康告知或财务告知选【是】都可以展示上传资料按钮
if (this.saleInsuredInfo.impartDTO.impartItemDTOS && this.saleInsuredInfo.impartDTO.impartItemDTOS.length > 0) {
this.isNotify = this.saleInsuredInfo.impartDTO.impartItemDTOS.some((item) => {
return item.impartAnswer != 1
})
}
if (!this.isNotify) {
if (this.saleInsuredInfo.financeImpartDTO.impartItemDTOS && this.saleInsuredInfo.financeImpartDTO.impartItemDTOS.length > 0) {
this.isNotify = this.saleInsuredInfo.financeImpartDTO.impartItemDTOS.some((item) => {
return item.impartAnswer != 1 && item.impartCode != 8
})
}else{
this.isDisabledBnf = false
}
// localStorage.saleInsuredPersonInfo = JSON.stringify(res.orderDTO.insuredDTOs[0])
// 核保老师确认只有财务告知第8项社保问题选【是】不用展示上传资料按钮其他健康告知或财务告知选【是】都可以展示上传资料按钮
if (this.saleInsuredInfo.impartDTO.impartItemDTOS && this.saleInsuredInfo.impartDTO.impartItemDTOS.length > 0) {
this.isNotify = this.saleInsuredInfo.impartDTO.impartItemDTOS.some((item) => {
}
if (this.saleInsuredPersonInfo.impartDTO.impartItemDTOS && this.saleInsuredPersonInfo.impartDTO.impartItemDTOS.length > 0) {
if (this.saleInsuredPersonInfo.relationToAppnt == 1) {
this.isNotify = this.saleInsuredPersonInfo.impartDTO.impartItemDTOS.some((item) => {
return item.impartAnswer != 1
})
} else {
this.isNotifyInsured = this.saleInsuredPersonInfo.impartDTO.impartItemDTOS.some((item) => {
return item.impartAnswer != 1
})
}
}
if (this.saleInsuredPersonInfo.relationToAppnt == 1) {
if (!this.isNotify) {
if (this.saleInsuredInfo.financeImpartDTO.impartItemDTOS && this.saleInsuredInfo.financeImpartDTO.impartItemDTOS.length > 0) {
this.isNotify = this.saleInsuredInfo.financeImpartDTO.impartItemDTOS.some((item) => {
if (this.saleInsuredPersonInfo.financeImpartDTO.impartItemDTOS && this.saleInsuredPersonInfo.financeImpartDTO.impartItemDTOS.length > 0) {
this.isNotify = this.saleInsuredPersonInfo.financeImpartDTO.impartItemDTOS.some((item) => {
return item.impartAnswer != 1 && item.impartCode != 8
})
}
}
if (this.saleInsuredPersonInfo.impartDTO.impartItemDTOS && this.saleInsuredPersonInfo.impartDTO.impartItemDTOS.length > 0) {
if (this.saleInsuredPersonInfo.relationToAppnt == 1) {
this.isNotify = this.saleInsuredPersonInfo.impartDTO.impartItemDTOS.some((item) => {
return item.impartAnswer != 1
})
} else {
this.isNotifyInsured = this.saleInsuredPersonInfo.impartDTO.impartItemDTOS.some((item) => {
return item.impartAnswer != 1
})
}
}
if (this.saleInsuredPersonInfo.relationToAppnt == 1) {
if (!this.isNotify) {
if (this.saleInsuredPersonInfo.financeImpartDTO.impartItemDTOS && this.saleInsuredPersonInfo.financeImpartDTO.impartItemDTOS.length > 0) {
this.isNotify = this.saleInsuredPersonInfo.financeImpartDTO.impartItemDTOS.some((item) => {
return item.impartAnswer != 1 && item.impartCode != 8
})
}
}
} else {
if (!this.isNotifyInsured) {
if (this.saleInsuredPersonInfo.financeImpartDTO.impartItemDTOS && this.saleInsuredPersonInfo.financeImpartDTO.impartItemDTOS.length > 0) {
this.isNotifyInsured = this.saleInsuredPersonInfo.financeImpartDTO.impartItemDTOS.some((item) => {
return item.impartAnswer != 1 && item.impartCode != 8
})
}
}
}
} else {
this.$toast(res.resultMessage)
if (!this.isNotifyInsured) {
if (this.saleInsuredPersonInfo.financeImpartDTO.impartItemDTOS && this.saleInsuredPersonInfo.financeImpartDTO.impartItemDTOS.length > 0) {
this.isNotifyInsured = this.saleInsuredPersonInfo.financeImpartDTO.impartItemDTOS.some((item) => {
return item.impartAnswer != 1 && item.impartCode != 8
})
}
}
}
})
// }
} else {
this.$toast(res.resultMessage)
}
},
mounted() {
setTimeout(() => {
@@ -1032,44 +1027,14 @@ export default {
})
let formdata = new FormData()
formdata.append('imgPath', that.dataURLtoFile(that.file, that.imgName))
uploadImg(formdata).then(
(res) => {
// console.log(res)
uploadImg(formdata).then((res) => {
if (res.result == '0') {
this.$toast.clear()
if(res.path){
if (
that.type == 'fileListIdFront' ||
that.type == 'fileListIdBack' ||
that.type == 'fileLIstImg' ||
that.type == 'fileListBank' ||
// that.type == 'fileListBankBack' ||
that.type == 'fileListNotify' ||
that.type == 'saleInsuredInfoOther'
) {
if (that.type == 'fileListIdFront' || that.type == 'fileListIdBack' || that.type == 'fileLIstImg' || that.type == 'fileListBank' || that.type == 'fileListNotify' || that.type == 'saleInsuredInfoOther') {
debugger
let imageInfoType = ''
let name = ''
// if (that.type == 'fileListIdFront' && that.id == '1') {
// imageInfoType = '1'
// } else if (that.type == 'fileListIdBack' && that.id == '1') {
// imageInfoType = '2'
// } else if (that.type == 'fileListBank') {
// imageInfoType = '3'
// } else if (that.type == 'fileListIdFront' && that.id == '2') {
// imageInfoType = '5'
// } else if (that.type == 'fileListIdBack' && that.id == '2') {
// imageInfoType = '6'
// } else if (that.type == 'fileLIstImg' && that.id == '3') {
// imageInfoType = '7'
// } else if (that.type == 'fileLIstImg' && that.id == '4') {
// imageInfoType = '8'
// } else if (that.type == 'fileLIstImg' && that.id == '5') {
// imageInfoType = '9'
// } else if (that.type == 'fileLIstImg' && that.id == '6') {
// imageInfoType = '10'
// } else if (that.type == 'saleInsuredInfoOther' && that.id == '7') {
// imageInfoType = '11'
// }
if (that.type == 'fileListIdFront' && that.id == '1') {
//身份证正面
name = 'fileListIdFront'
@@ -1154,20 +1119,13 @@ export default {
}
this.imageType = imageInfoType
that.list.push(obj)
} else if (
that.type == 'fileListIdFrontInsured' ||
that.type == 'fileListIdBackInsured' ||
that.type == 'fileListBankInsured' ||
that.type == 'fileLIstImgInsured' ||
that.type == 'fileListNotifyInsured' ||
that.type == 'saleInsuredPersonInfoOther'
) {
}
else if (that.type == 'fileListIdFrontInsured' || that.type == 'fileListIdBackInsured' || that.type == 'fileListBankInsured' || that.type == 'fileLIstImgInsured' || that.type == 'fileListNotifyInsured' || that.type == 'saleInsuredPersonInfoOther') {
debugger
// 是被保险人
// 证件类型
let imageInfoType = ''
let name = ''
if (that.type == 'fileListIdFrontInsured' && that.id == '1') {
name = 'fileListIdFrontInsured'
imageInfoType = '1'
@@ -1217,7 +1175,6 @@ export default {
name = 'fileListNotifyInsured'
imageInfoType = '24'
}
let obj = {
name: name,
businessNo: that.orderNo,
@@ -1230,17 +1187,13 @@ export default {
}
this.imageType = imageInfoType
that.list.push(obj)
} else if (
that.type == 'fileListIdFrontBeneficiary' ||
that.type == 'fileListIdBackBeneficiary' ||
that.type == 'fileLIstImgBeneficiary'
) {
}
else if (that.type == 'fileListIdFrontBeneficiary' || that.type == 'fileListIdBackBeneficiary' || that.type == 'fileLIstImgBeneficiary') {
debugger
// 是收益人
// 证件类型
let imageInfoType = ''
let name = ''
if (that.type == 'fileListIdFrontBeneficiary' && that.id == '1') {
name = 'fileListIdFrontBeneficiary'
imageInfoType = '1'
@@ -1300,7 +1253,8 @@ export default {
}
this.imageType = imageInfoType
that.list.push(obj)
} else if (that.type == 'fileListOther') {
}
else if (that.type == 'fileListOther') {
// 是其他
let type = '2'
let name = 'fileListOther'
@@ -1329,7 +1283,8 @@ export default {
// fileName: that.imgName
// }
// that.list.push(obj)
} else if (that.type == 'fileListNotify') {
}
else if (that.type == 'fileListNotify') {
// 健康告知异常类资料
// let obj = {
// name: 'fileListNotify',
@@ -1550,6 +1505,27 @@ export default {
}
})
}
if(that.type == 'fileListIdFrontBeneficiary'){
that.saleBtnfPersonInfo.forEach((item,index)=>{
if(item.bnfId == that.bnfId){
that.bnfInfo[index].fileListIdFrontBeneficiary = []
}
})
}
if(that.type == 'fileListIdBackBeneficiary'){
that.saleBtnfPersonInfo.forEach((item,index)=>{
if(item.bnfId == that.bnfId){
that.bnfInfo[index].fileListIdBackBeneficiary = []
}
})
}
if(that.type == 'fileLIstImgBeneficiary'){
that.saleBtnfPersonInfo.forEach((item,index)=>{
if(item.bnfId == that.bnfId){
that.bnfInfo[index].fileLIstImgBeneficiary = []
}
})
}
this.$toast('网络环境不佳,图片上传失败,请切换移动网络或稍后重试')
}
)

View File

@@ -86,10 +86,7 @@ export default {
getOrderDetail({ orderNo: this.$route.query.orderNo }).then(res => {
if (res.result == 0) {
this.isShowEvaluationPoint = res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint
let updateAnswerType = res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint =='1'?true:false
this.$store.commit('updateAnswerType', updateAnswerType )
this.renovate = new Date().getTime()
console.log(updateAnswerType,'updateAnswerType');
this.$utils.intLocalStorage(res)
this.type = res.orderDTO.orderInfoDTO.bnfFlag == '1' ? '2' : '1' //bnfFlag 0-法定受益人 1-指定受益人
if (res.orderDTO.orderInfoDTO.bnfFlag == null) {

View File

@@ -73,7 +73,8 @@ export default {
src: location.origin + '/pdfjs/web/viewer.html?file=',
tipsPolicyUrl: '',
flagLiuZhou: '', // 当前代理人是否属于柳州代理人的标志,此变量的值为'true'或'false'
branchTypeVal:'' // 当前代理人渠道
branchTypeVal:'', // 当前代理人渠道
isUniversalRiskNotifyShowPoint: 0
}
},
components: {
@@ -223,6 +224,9 @@ export default {
return new Promise((resolve, reject) => {
getOrderDetail(data).then(res => {
if (res.result == '0') {
if(res.orderDTO.universalRiskNotifyDTO && res.orderDTO.universalRiskNotifyDTO.isUniversalRiskNotifyShowPoint){
this.isUniversalRiskNotifyShowPoint = res.orderDTO.universalRiskNotifyDTO.isUniversalRiskNotifyShowPoint
}
// 截取代理人机构号的前六位,用于去判断是否属于柳州代理人
if(res.orderDTO.recmdDTO.managerOrg && res.orderDTO.recmdDTO.managerOrg.length >= 6){
let str = res.orderDTO.recmdDTO.managerOrg.substr(0, 6)
@@ -478,12 +482,11 @@ export default {
if (this.flagLiuZhou) {
routeUrl = '/sale/InsuranceRiskReminder'
} else {
// let doubleRecordFlag = localStorage.doubleRecordFlag
// routeUrl = '/sale/signatureOfElectronic'
// if (doubleRecordFlag == '1') {
// 跳转双录签署文件
if(that.isUniversalRiskNotifyShowPoint == 1){
routeUrl = '/sale/universalRiskNotifyingMessageTip'
}else{
routeUrl = '/sale/avoidDutyTip'
// }
}
}
this.$jump({
flag: 'h5',
@@ -548,12 +551,11 @@ export default {
if (this.flagLiuZhou) {
routeUrl = '/sale/InsuranceRiskReminder'
} else {
// let doubleRecordFlag = localStorage.doubleRecordFlag
// routeUrl = '/sale/signatureOfElectronic'
// if (doubleRecordFlag == '1') {
// 跳转双录签署文件
if(that.isUniversalRiskNotifyShowPoint == 1){
routeUrl = '/sale/universalRiskNotifyingMessageTip'
}else{
routeUrl = '/sale/avoidDutyTip'
// }
}
}
this.$jump({
flag: 'h5',

View File

@@ -557,9 +557,6 @@ export default {
const orderNo = this.$route.query.orderNo
getOrderDetail({ orderNo: orderNo }).then((res) => {
if (res.result == 0) {
let updateAnswerType = res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint =='1'?true:false
console.log(updateAnswerType,'updateAnswerType');
this.$store.commit( 'updateAnswerType',updateAnswerType )
this.renovate = new Date().getTime()
//投保人信息返显
this.userInfo = res.orderDTO.appntDTO

View File

@@ -617,10 +617,7 @@ export default {
if (orderNo) {
getOrderDetail({ orderNo: orderNo }).then((res) => {
if (res.result == 0) {
let updateAnswerType = res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint =='1'?true:false
this.$store.commit('updateAnswerType', updateAnswerType )
this.renovate = new Date().getTime()
console.log(updateAnswerType,'updateAnswerType');
//投被同人
if (res.orderDTO.insuredDTOs.length && res.orderDTO.insuredDTOs[0].relationToAppnt == '1') {
this.$nextTick(() => {

View File

@@ -516,9 +516,13 @@ export default {
}else if(orderStatus == '39'){ //险种信息保存成功, 跳到已选产品列表
url = '/common/selectedProduct?edit=1&orderNo='+orderNo
}else if(orderStatus == '40'){//告知信息保存成功, 跳到风险测评--
if( order.riskEvaluationDTO.isShowEvaluationPoint == '0'){
url = '/sale/AccountInformation?edit=1&orderNo='+orderNo
}else {
if( order.riskEvaluationDTO.isShowEvaluationPoint != '1'){
if(order.universalRiskNotifyDTO && order.universalRiskNotifyDTO.isUniversalRiskNotifyShowPoint == '1'){
url = '/sale/universalRiskNotifyingMessage?edit=1&orderNo='+orderNo
}else{
url = '/sale/AccountInformation?edit=1&orderNo='+orderNo
}
}else {
url = '/sale/answerPage?edit=1&orderNo='+orderNo
}
}else if(orderStatus == ''){//跳到投保人
@@ -526,8 +530,13 @@ export default {
}else if(orderStatus == '44'){//建议书转投保, 跳到投保人
url = '/sale/insuredInfo?edit=1&orderNo='+orderNo
}else if(orderStatus == '62'){//风险测评保存成功, 跳到账户信息--
// url = '/sale/AccountInformation?edit=1'
url = '/sale/answerSuccess?edit=1&orderNo='+orderNo
if(order.universalRiskNotifyDTO && order.universalRiskNotifyDTO.isUniversalRiskNotifyShowPoint != '1'){
url = '/sale/AccountInformation?edit=1&orderNo='+orderNo
}else{
url = '/sale/universalRiskNotifyingMessage?edit=1&orderNo='+orderNo
}
}else if(orderStatus == '63'){//风险测评保存成功, 跳到账户信息--
url = '/sale/AccountInformation?edit=1&orderNo='+orderNo
}
// switch (orderStatus) {
// case '01': //已签名待客户确认, 跳到签名确认页面

View File

@@ -188,20 +188,16 @@ export default {
salePageFlag: '5',
// 是否特定医疗险
isSpecificMedicalInsurance:false,
isShowEvaluationPoint:'0'//默认不跳转到风险测评
isShowEvaluationPoint:'0',//默认不跳转到风险测评
isUniversalRiskNotifyShowPoint: '0' //默认不跳转到万能险风险告知
}
},
async created() {
// this.$store.commit('updateAnswerType', false )
let res= await getOrderDetail({ orderNo: this.$route.query.orderNo })
// getOrderDetail({ orderNo: `8186270000000036` }).then(res => {
if (res.result == 0) {
//投被保险人关系
this.isShowEvaluationPoint = res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint
// this.isShowEvaluationPoint = res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint
let updateAnswerType = res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint =='1'?true:false
this.$store.commit( 'updateAnswerType',updateAnswerType )
console.log(updateAnswerType,'updateAnswerType');
this.isUniversalRiskNotifyShowPoint = res.orderDTO.universalRiskNotifyDTO.isUniversalRiskNotifyShowPoint
this.renovate = new Date().getTime()
this.isExistAdditionalRisk = res.orderDTO.insuredDTOs[0].riskDTOLst.length > 1 ? true : false
@@ -679,15 +675,27 @@ export default {
localStorage.salePageFlag = '6'
}
if(this.isShowEvaluationPoint == '0'){
that.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/accountInformation',
},
routerInfo: {
path: '/sale/accountInformation'
}
})
if(this.isUniversalRiskNotifyShowPoint == '1'){
that.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/universalRiskNotifyingMessage?orderNo=' + this.$route.query.orderNo,
},
routerInfo: {
path: '/sale/universalRiskNotifyingMessage?orderNo=' + this.$route.query.orderNo
}
})
}else{
that.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/accountInformation?orderNo=' + this.$route.query.orderNo,
},
routerInfo: {
path: '/sale/accountInformation?orderNo=' + this.$route.query.orderNo
}
})
}
} else {
that.$jump({
flag: 'h5',
@@ -713,7 +721,8 @@ export default {
this.$toast(res.resultMessage)
}
})
} else if (financeImpart == {}) {
}
else if (financeImpart == {}) {
let data = {
orderType: 'IMPART_ORDER',
orderDTO: {
@@ -734,20 +743,33 @@ export default {
saveInformation(data).then(res => {
if (res.result == '0') {
localStorage.removeItem('changeCard')
that.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/AccountInformation',
},
routerInfo: {
path: '/sale/AccountInformation'
}
})
if(this.isUniversalRiskNotifyShowPoint == '1'){
that.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/universalRiskNotifyingMessage?orderNo=' + this.$route.query.orderNo,
},
routerInfo: {
path: '/sale/universalRiskNotifyingMessage?orderNo=' + this.$route.query.orderNo
}
})
}else{
that.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/AccountInformation',
},
routerInfo: {
path: '/sale/AccountInformation'
}
})
}
} else {
this.$toast(res.resultMessage)
}
})
} else {
}
else {
let data = {
orderType: 'IMPART_ORDER',
orderDTO: {
@@ -769,15 +791,27 @@ export default {
if (res.result == '0') {
localStorage.removeItem('changeCard')
if(this.isShowEvaluationPoint == '0'){
that.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/accountInformation',
},
routerInfo: {
path: '/sale/accountInformation'
}
})
if(this.isUniversalRiskNotifyShowPoint == '1'){
that.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/universalRiskNotifyingMessage?orderNo=' + this.$route.query.orderNo,
},
routerInfo: {
path: '/sale/universalRiskNotifyingMessage?orderNo=' + this.$route.query.orderNo
}
})
}else{
that.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/accountInformation',
},
routerInfo: {
path: '/sale/accountInformation'
}
})
}
} else {
that.$jump({
flag: 'h5',

View File

@@ -210,7 +210,12 @@ export default {
} else {
this.$toast(res.resultMessage)
setTimeout(() => {
this.$router.push({ path: '/sale/payResultFail' })
this.$router.push({
path: '/sale/payResultFail',
query: {
orderNo: this.$route.query.orderNo
}
})
}, 2000)
}
},
@@ -289,16 +294,6 @@ export default {
} else {
this.$toast(res.resultMessage)
}
// if (res.content.payFlag == 'Y') {
// this.getAcceptInsurance()
// } else {
// debugger
// this.$toast(res.resultMessage)
//
// setTimeout(() => {
// this.$router.push({ path: '/sale/payResultFail' })
// }, 2000)
// }
}
},
// 取消支付
@@ -568,7 +563,12 @@ export default {
// on confirm
// 订单状态已同步修改为 签约失败,页面提示去修改银行卡信息
localStorage.setItem('changeCard', true)
this.$router.push('/sale/AccountInformation')
this.$router.push({
path: '/sale/AccountInformation',
query: {
orderNo: this.$route.query.orderNo
}
})
resolve(false);
}).catch(() => {
// on cancel
@@ -594,7 +594,12 @@ export default {
// on confirm
// 订单状态已同步修改为 签约失败,页面提示去修改银行卡信息
localStorage.setItem('changeCard', true)
this.$router.push('/sale/AccountInformation')
this.$router.push({
path: '/sale/AccountInformation',
query: {
orderNo: this.$route.query.orderNo
}
})
resolve(false);
}).catch(() => {
// on cancel
@@ -661,7 +666,12 @@ export default {
}).then(() => {
// 订单状态已同步修改为 签约失败,页面提示去修改银行卡信息
localStorage.setItem('changeCard', true)
this.$router.push('/sale/AccountInformation')
this.$router.push({
path: '/sale/AccountInformation',
query: {
orderNo: this.$route.query.orderNo
}
})
})
}
})

View File

@@ -37,11 +37,11 @@
</div>
<div v-else>
<div v-for="(item, index) in agentSign" :key="index">
<p>{{ item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13' || item.documentCode == '14' ? '需阅读' : '需签署' }}</p>
<p>{{ item.documentCode == '1' || item.documentCode == '3' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13' || item.documentCode == '14' ? '需阅读' : '需签署' }}</p>
<p class="mb20">
<span class="text">{{ item.documentName }}</span>
<img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14') && item.documentStatus == '1'" />
<img :src="src" v-if="!(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14') && item.documentStatus == '3'" />
<img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '3' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14') && item.documentStatus == '1'" />
<img :src="src" v-if="!(item.documentCode == '1' || item.documentCode == '3' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14') && item.documentStatus == '3'" />
</p>
</div>
</div>
@@ -79,11 +79,11 @@
</div>
<div v-else>
<div v-for="(item, index) in appntSign" :key="index">
<p>{{ item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14' ? '需阅读' : '需签署' }}</p>
<p>{{ item.documentCode == '1' || item.documentCode == '3' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14' ? '需阅读' : '需签署' }}</p>
<p class="mb20">
<span class="text">{{ item.documentName }}</span>
<img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14') && item.documentStatus == '1'" />
<img :src="src" v-if="!(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14') && item.documentStatus == '3'" />
<img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '3' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14') && item.documentStatus == '1'" />
<img :src="src" v-if="!(item.documentCode == '1' || item.documentCode == '3' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14') && item.documentStatus == '3'" />
</p>
</div>
</div>
@@ -125,11 +125,11 @@
</div>
<p class="mb20">以下内容需要您按照顺序阅读并签字确认:</p>
<div v-for="(item, index) in insuredSign" :key="index">
<p>{{ item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '12' || item.documentCode == '13' || item.documentCode == '14'? '需阅读' : '需签署' }}</p>
<p>{{ item.documentCode == '1' || item.documentCode == '3' || item.documentCode == '8' || item.documentCode == '12' || item.documentCode == '13' || item.documentCode == '14'? '需阅读' : '需签署' }}</p>
<p class="mb20">
<span class="text">{{ item.documentName }}</span>
<img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14') && item.documentStatus == '1'" />
<img :src="src" v-if="!(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14') && item.documentStatus == '3'" />
<img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '3' || item.documentCode == '8' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14') && item.documentStatus == '1'" />
<img :src="src" v-if="!(item.documentCode == '1' || item.documentCode == '3' || item.documentCode == '8' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14') && item.documentStatus == '3'" />
</p>
</div>
<p class="start" v-if="airSign != '1'">点击开始分享进行相关操作</p>
@@ -173,11 +173,11 @@
</div>
<div v-else>
<div v-for="(item, index) in appntSign" :key="index">
<p>{{ item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14'? '需阅读' : '需签署' }}</p>
<p>{{ item.documentCode == '1' || item.documentCode == '3' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14'? '需阅读' : '需签署' }}</p>
<p class="mb20">
<span class="text">{{ item.documentName }}</span>
<img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14') && item.documentStatus == '1'" />
<img :src="src" v-if="!(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14') && item.documentStatus == '3'" />
<img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '3' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14') && item.documentStatus == '1'" />
<img :src="src" v-if="!(item.documentCode == '1' || item.documentCode == '3' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14') && item.documentStatus == '3'" />
</p>
</div>
</div>
@@ -207,11 +207,11 @@
</div>
<p class="mb20">以下内容需要您按照顺序阅读并签字确认:</p>
<div v-for="(item, index) in insuredSign" :key="index">
<p>{{ item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14' ? '需阅读' : '需签署' }}</p>
<p>{{ item.documentCode == '1' || item.documentCode == '3' || item.documentCode == '8' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14' ? '需阅读' : '需签署' }}</p>
<p class="mb20">
<span class="text">{{ item.documentName }}</span>
<img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14') && item.documentStatus == '1'" />
<img :src="src" v-if="!(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14') && item.documentStatus == '3'" />
<img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '3' || item.documentCode == '8' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14') && item.documentStatus == '1'" />
<img :src="src" v-if="!(item.documentCode == '1' || item.documentCode == '3' || item.documentCode == '8' || item.documentCode == '12' || item.documentCode == '13'|| item.documentCode == '14') && item.documentStatus == '3'" />
</p>
</div>
<p class="start" v-if="airSign != '1'">点击开始分享进行相关操作</p>
@@ -412,120 +412,120 @@ export default {
}
},
methods: {
timeupdate() {
console.log(this.$refs['vid'].paused)
if (!this.$refs['vid'].paused) {
this.isVideoNext = true
}
},
fakeFaceAuth(expect) {
console.log('模拟调用人脸识别')
return new Promise(function (resolve, reject) {
setTimeout(() => {
console.log('模拟人脸识别完成')
if (expect) {
resolve({ state: '0' })
} else {
reject({ state: '0' })
timeupdate() {
console.log(this.$refs['vid'].paused)
if (!this.$refs['vid'].paused) {
this.isVideoNext = true
}
},
fakeFaceAuth(expect) {
console.log('模拟调用人脸识别')
return new Promise(function (resolve, reject) {
setTimeout(() => {
console.log('模拟人脸识别完成')
if (expect) {
resolve({ state: '0' })
} else {
reject({ state: '0' })
}
}, 2000)
})
},
appCallBack(data) {
if (data.trigger == 'left_button_click') {
if (this.videoShow) {
this.$jump({
flag: 'navigation',
extra: {
title: '签名确认',
hiddenRight: '1'
}
}, 2000)
})
},
appCallBack(data) {
if (data.trigger == 'left_button_click') {
if (this.videoShow) {
})
return (this.videoShow = false)
}
return this.$dialog
.confirm({
className: 'dialog-delete',
title: '提示',
message: '退出流程可能会丢失部分数据,是否确认退出?',
cancelButtonColor: '#E9332E',
confirmButtonColor: '#FFFFFF'
})
.then(() => {
this.$jump({
flag: 'navigation',
flag: 'h5',
extra: {
title: '签名确认',
hiddenRight: '1'
title: '电子投保单列表',
forbidSwipeBack: 1, //当前页面禁止右滑返回
url: location.origin + `/#/sale/list`
},
routerInfo: {
path: `/sale/list`,
type: '1'
}
})
return (this.videoShow = false)
}
return this.$dialog
.confirm({
className: 'dialog-delete',
title: '提示',
message: '退出流程可能会丢失部分数据,是否确认退出?',
cancelButtonColor: '#E9332E',
confirmButtonColor: '#FFFFFF'
})
.then(() => {
this.$jump({
flag: 'h5',
extra: {
title: '电子投保单列表',
forbidSwipeBack: 1, //当前页面禁止右滑返回
url: location.origin + `/#/sale/list`
},
routerInfo: {
path: `/sale/list`,
type: '1'
}
})
})
.catch(() => {
return
})
})
.catch(() => {
return
})
}
},
isVideoUrlClick() {
console.log(this.isVideoUrl)
if (!this.isVideoNext) {
this.$dialog
.alert({
className: 'dialog-alert',
title: '提示',
message: '为维护您的合法权益,请您务必认真观看防范销售误导视频。',
confirmButtonColor: '#ee0a24',
confirmButtonText: '确认'
})
.then(() => {})
} else {
this.isVideoNext = !this.isVideoNext
this.isVideoUrl == 'goUrl' ? this.goUrl() : this.insuredUrl()
}
},
// 初始化
async init() {
localStorage.doubleRecordFlag = '0' //0不是双录单 1是双录单
if (this.isWeixin) {
if (this.$route.query.airSign) {
sessionStorage.setItem('airSign', this.$route.query.airSign)
}
},
isVideoUrlClick() {
console.log(this.isVideoUrl)
if (!this.isVideoNext) {
this.$dialog
.alert({
className: 'dialog-alert',
title: '提示',
message: '为维护您的合法权益,请您务必认真观看防范销售误导视频。',
confirmButtonColor: '#ee0a24',
confirmButtonText: '确认'
})
.then(() => {})
// this.$CacheUtils.setLocItem('saleInsuredInfo', this.$route.query.saleInsuredInfo)
// window.localStorage.setItem('saleInsuredPersonInfo', this.$route.query.saleInsuredPersonInfo)
window.localStorage.setItem('token', this.$route.query.token)
window.localStorage.setItem('orderNo', this.$route.query.orderNo)
// window.localStorage.setItem('relationToAppnt', this.$route.query.relationToAppnt)
// window.localStorage.setItem('productCode', this.$route.query.productCode)
if (this.$route.query.changeCard == '0') {
localStorage.setItem('changeCard', true)
} else {
this.isVideoNext = !this.isVideoNext
this.isVideoUrl == 'goUrl' ? this.goUrl() : this.insuredUrl()
localStorage.removeItem('changeCard')
}
},
// 初始化
async init() {
localStorage.doubleRecordFlag = '0' //0不是双录单 1是双录单
if (this.isWeixin) {
if (this.$route.query.airSign) {
sessionStorage.setItem('airSign', this.$route.query.airSign)
}
// this.$CacheUtils.setLocItem('saleInsuredInfo', this.$route.query.saleInsuredInfo)
// window.localStorage.setItem('saleInsuredPersonInfo', this.$route.query.saleInsuredPersonInfo)
window.localStorage.setItem('token', this.$route.query.token)
window.localStorage.setItem('orderNo', this.$route.query.orderNo)
// window.localStorage.setItem('relationToAppnt', this.$route.query.relationToAppnt)
// window.localStorage.setItem('productCode', this.$route.query.productCode)
if (this.$route.query.changeCard == '0') {
localStorage.setItem('changeCard', true)
} else {
localStorage.removeItem('changeCard')
}
if (this.$route.query.signInvalid) {
sessionStorage.setItem('signInvalid', this.$route.query.signInvalid)
}
if (this.$route.query.shareCode) {
sessionStorage.setItem('shareCode', this.$route.query.shareCode)
}
let signInvalid = sessionStorage.getItem('signInvalid')
let rs = await this.checkSignInvalid(signInvalid)
console.log('````````````')
console.log('rs: ' + rs)
if (rs == '1') {
this.isInvalid = false
} else {
this.isInvalid = true
}
this.airSign = sessionStorage.getItem('airSign')
this.shareCode = sessionStorage.getItem('shareCode')
this.changeCard = localStorage.getItem('changeCard')
this.relationToAppnt = this.$route.query.relationToAppnt
this.isShow = false
await this.getOrderDetail()
if (this.$route.query.signInvalid) {
sessionStorage.setItem('signInvalid', this.$route.query.signInvalid)
}
if (this.$route.query.shareCode) {
sessionStorage.setItem('shareCode', this.$route.query.shareCode)
}
let signInvalid = sessionStorage.getItem('signInvalid')
let rs = await this.checkSignInvalid(signInvalid)
console.log('````````````')
console.log('rs: ' + rs)
if (rs == '1') {
this.isInvalid = false
} else {
this.isInvalid = true
}
this.airSign = sessionStorage.getItem('airSign')
this.shareCode = sessionStorage.getItem('shareCode')
this.changeCard = localStorage.getItem('changeCard')
this.relationToAppnt = this.$route.query.relationToAppnt
this.isShow = false
await this.getOrderDetail()
console.log('初始化this.appntSign ==', this.appntSign)
if (
@@ -796,9 +796,15 @@ export default {
} else {
window.localStorage.setItem('sign-val', val)
window.localStorage.setItem('sign-insured', JSON.stringify(that.insuredSign))
let thismysaleInsuredPersonInfo = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo'))
let thismyage = ''
if(thismysaleInsuredPersonInfo.age === 0 || thismysaleInsuredPersonInfo.age === '0' || thismysaleInsuredPersonInfo.age){
thismyage = thismysaleInsuredPersonInfo.age
} else {
thismyage = thismysaleInsuredPersonInfo.insuredAge
}
if (
JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).idType != '1' ||
JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).age < '18'
JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).idType != '1' || thismyage < '18'
) {
that.insuredUrl()
} else {
@@ -897,7 +903,13 @@ export default {
} else {
window.localStorage.setItem('sign-val', val)
window.localStorage.setItem('sign-insured', JSON.stringify(that.insuredSign))
if (this.saleInsuredPersonInfo.idType != '1' || this.saleInsuredPersonInfo.age < '18') {
let thismyage = ''
if(this.saleInsuredPersonInfo.age === 0 || this.saleInsuredPersonInfo.age === '0' || this.saleInsuredPersonInfo.age){
thismyage = this.saleInsuredPersonInfo.age
} else {
thismyage = this.saleInsuredPersonInfo.insuredAge
}
if (this.saleInsuredPersonInfo.idType != '1' || thismyage < '18') {
that.insuredUrl()
} else {
//RID 状态--有效
@@ -997,7 +1009,7 @@ export default {
} else {
console.log('that.appntSign.length ==', that.appntSign.length, typeof that.appntSign.length)
for (let i = 0; i < that.appntSign.length; i++) {
if ((that.appntSign[i].documentCode == '1' || that.appntSign[i].documentCode == '8' || that.appntSign[i].documentCode == '9' || that.appntSign[i].documentCode == '12' || that.appntSign[i].documentCode == '13'|| that.appntSign[i].documentCode == '14') && that.appntSign[i].documentStatus == 0) {
if ((that.appntSign[i].documentCode == '1' || that.appntSign[i].documentCode == '3' || that.appntSign[i].documentCode == '8' || that.appntSign[i].documentCode == '9' || that.appntSign[i].documentCode == '12' || that.appntSign[i].documentCode == '13'|| that.appntSign[i].documentCode == '14') && that.appntSign[i].documentStatus == 0) {
//1投保须知 未读
path = that.appntSign[i].routePath
break
@@ -1029,57 +1041,57 @@ export default {
}*/
}
console.log('跳转页面path', path)
if (path)
that.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/' + path + '?orderNo=' + this.$route.query.orderNo
},
routerInfo: {
path: '/sale/' + path + '?orderNo=' + this.$route.query.orderNo
}
})
}
})
console.log('跳转页面path', path)
if (path)
that.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/' + path + '?orderNo=' + this.$route.query.orderNo
},
routerInfo: {
path: '/sale/' + path + '?orderNo=' + this.$route.query.orderNo
}
})
}
})
} else {
console.log('that.appntSign 1 ==', that.appntSign)
if (that.changeCard) {
path = 'insuranceInformation'
} else {
console.log('that.appntSign 1 ==', that.appntSign)
if (that.changeCard) {
path = 'insuranceInformation'
} else {
console.log('that.appntSign.length ==', that.appntSign.length, typeof that.appntSign.length)
for (let i = 0; i < that.appntSign.length; i++) {
if ((that.appntSign[i].documentCode == '1' || that.appntSign[i].documentCode == '8' || that.appntSign[i].documentCode == '9' || that.appntSign[i].documentCode == '12'|| that.appntSign[i].documentCode == '13'|| that.appntSign[i].documentCode == '14') && that.appntSign[i].documentStatus == 0) {
//1投保须知 未读
console.log('that.appntSign.length ==', that.appntSign.length, typeof that.appntSign.length)
for (let i = 0; i < that.appntSign.length; i++) {
if ((that.appntSign[i].documentCode == '1' || that.appntSign[i].documentCode == '3' || that.appntSign[i].documentCode == '8' || that.appntSign[i].documentCode == '9' || that.appntSign[i].documentCode == '12'|| that.appntSign[i].documentCode == '13'|| that.appntSign[i].documentCode == '14') && that.appntSign[i].documentStatus == 0) {
//1投保须知 未读
path = that.appntSign[i].routePath
break
} else {
if (that.appntSign[i].documentStatus == 2) {
path = that.appntSign[i].routePath
break
} else {
if (that.appntSign[i].documentStatus == 2) {
path = that.appntSign[i].routePath
break
}
}
}
/* if (localStorage.productCode == 'GFRS_M0003' || localStorage.productCode == 'GFRS_M0015' || this.productCode == 'GFRS_M0017') {
if (that.appntSign[0].documentStatus == 0) {
path = 'insuranceInformation'
} else if (that.appntSign[1].documentStatus == 2) {
path = 'productTip'
} else if (that.appntSign[2].documentStatus == 2) {
path = 'InsuranceTip'
} else if (that.appntSign[3].documentStatus == 2) {
path = 'SignatureOfElectronic'
}
} else {
if (that.appntSign[0].documentStatus == 0) {
path = 'insuranceInformation'
} else if (that.appntSign[1].documentStatus == 2) {
path = 'InsuranceTip'
} else if (that.appntSign[2].documentStatus == 2) {
path = 'SignatureOfElectronic'
}
}*/
}
/* if (localStorage.productCode == 'GFRS_M0003' || localStorage.productCode == 'GFRS_M0015' || this.productCode == 'GFRS_M0017') {
if (that.appntSign[0].documentStatus == 0) {
path = 'insuranceInformation'
} else if (that.appntSign[1].documentStatus == 2) {
path = 'productTip'
} else if (that.appntSign[2].documentStatus == 2) {
path = 'InsuranceTip'
} else if (that.appntSign[3].documentStatus == 2) {
path = 'SignatureOfElectronic'
}
} else {
if (that.appntSign[0].documentStatus == 0) {
path = 'insuranceInformation'
} else if (that.appntSign[1].documentStatus == 2) {
path = 'InsuranceTip'
} else if (that.appntSign[2].documentStatus == 2) {
path = 'SignatureOfElectronic'
}
}*/
}
console.log('跳转页面path', path)
if (path)
@@ -1123,9 +1135,10 @@ export default {
// }
// documentStatus: 文档状态 0 未读 1 已读 2 未签名 3 已签名
if (that.insuredSign[i].documentStatus == 0 || that.insuredSign[i].documentStatus == 2 ) {
path = that.insuredSign[i].routePath
break
}
debugger
path = that.insuredSign[i].routePath
break
}
}
that.$jump({
flag: 'h5',
@@ -1214,28 +1227,28 @@ export default {
} else if(code == '3'){
shareName = '代理人'
}
else {
else {
shareName = '投保人'
}
console.log('`````````````测试安卓url`````````````````')
console.log(
location.origin +
'/#/sale/signatureConfirmation?orderNo=' +
this.$route.query.orderNo +
'&token=' +
localStorage.token +
'&saleInsuredInfo=' +
this.$CacheUtils.getLocItem('saleInsuredInfo') +
'&saleInsuredPersonInfo=' +
this.$CacheUtils.getLocItem('saleInsuredPersonInfo') +
'&relationToAppnt=' +
JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).relationToAppnt +
'&shareCode=' +
code +
'&signInvalid=' +
this.signInvalid +
'&productCode=' +
localStorage.productCode
location.origin +
'/#/sale/signatureConfirmation?orderNo=' +
this.$route.query.orderNo +
'&token=' +
localStorage.token +
'&saleInsuredInfo=' +
this.$CacheUtils.getLocItem('saleInsuredInfo') +
'&saleInsuredPersonInfo=' +
this.$CacheUtils.getLocItem('saleInsuredPersonInfo') +
'&relationToAppnt=' +
JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).relationToAppnt +
'&shareCode=' +
code +
'&signInvalid=' +
this.signInvalid +
'&productCode=' +
localStorage.productCode
)
if (this.changeCard) {
// eslint-disable-next-line no-undef
@@ -1245,20 +1258,20 @@ export default {
title: '国富人寿修改银行卡号确认',
content: '签字进行',
url:
location.origin +
'/#/sale/signatureConfirmation?orderNo=' +
this.$route.query.orderNo +
'&token=' +
localStorage.token +
'&relationToAppnt=' +
JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).relationToAppnt +
'&shareCode=' +
code +
'&signInvalid=' +
this.signInvalid +
'&productCode=' +
localStorage.productCode +
'&changeCard=0',
location.origin +
'/#/sale/signatureConfirmation?orderNo=' +
this.$route.query.orderNo +
'&token=' +
localStorage.token +
'&relationToAppnt=' +
JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).relationToAppnt +
'&shareCode=' +
code +
'&signInvalid=' +
this.signInvalid +
'&productCode=' +
localStorage.productCode +
'&changeCard=0',
img: this.$assetsUrl + 'images/logo.png'
}
})
@@ -1270,19 +1283,19 @@ export default {
title: `国富人寿电子投保单(${shareName})签字`,
content: '签字进行',
url:
location.origin +
'/#/sale/signatureConfirmation?orderNo=' +
this.$route.query.orderNo +
'&token=' +
localStorage.token +
'&relationToAppnt=' +
JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).relationToAppnt +
'&shareCode=' +
code +
'&signInvalid=' +
this.signInvalid +
'&productCode=' +
localStorage.productCode,
location.origin +
'/#/sale/signatureConfirmation?orderNo=' +
this.$route.query.orderNo +
'&token=' +
localStorage.token +
'&relationToAppnt=' +
JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).relationToAppnt +
'&shareCode=' +
code +
'&signInvalid=' +
this.signInvalid +
'&productCode=' +
localStorage.productCode,
img: this.$assetsUrl + 'images/logo.png'
}
})
@@ -1423,8 +1436,8 @@ export default {
if (res.orderDTO && res.orderDTO.prtType) {
localStorage.setItem('readingProtocolType', res.orderDTO.prtType)
}
let documentCodeType = res.orderDTO.ebizSignDTOS.filter(item=>item.documentCode == '14').length>0
localStorage.setItem('documentCodeType', documentCodeType)
let documentCodeType = res.orderDTO.ebizSignDTOS.filter(item=>item.documentCode == '14').length>0
localStorage.setItem('documentCodeType', documentCodeType)
let riskDTOLst = res.orderDTO.insuredDTOs[0].riskDTOLst[0]
// 判断是否为长期险
if ((riskDTOLst.insuYearFlag == 'Y' && riskDTOLst.insuYear > 1) || riskDTOLst.insuYearFlag == 'A') {
@@ -1439,10 +1452,10 @@ export default {
// const isShowDialog = mainRiskCode === 'GFRS_M0005' || mainRiskCode === 'GFRS_M0016'
const isShowDialog = mainRiskCode === 'GFRS_M0016'
if (
!!res.orderDTO.productDTO &&
!!res.orderDTO.productDTO.special &&
!!res.orderDTO.productDTO.special.content &&
res.orderDTO.productDTO.special.content !== ''
!!res.orderDTO.productDTO &&
!!res.orderDTO.productDTO.special &&
!!res.orderDTO.productDTO.special.content &&
res.orderDTO.productDTO.special.content !== ''
) {
// const message = res.orderDTO.productDTO.special.content
// Dialog({ message })
@@ -1510,168 +1523,178 @@ export default {
this.$utils.intLocalStorage(res)
// 获取被保险人信息recmd
this.saleInsuredPersonInfo = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo'))
let thismyage = ''
if(this.saleInsuredPersonInfo.age === 0 || this.saleInsuredPersonInfo.age === '0' || this.saleInsuredPersonInfo.age){
thismyage = this.saleInsuredPersonInfo.age
} else {
thismyage = this.saleInsuredPersonInfo.insuredAge
}
this.saleInsuredPersonInfo.age = thismyage
// 获取投保人信息
this.saleInsuredInfo = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo'))
this.relationToAppnt = this.saleInsuredPersonInfo.relationToAppnt //将缓存中的与被保险人关系赋值给页面
that.recmd = res.orderDTO.recmdDTO
that.orderInfo = res.orderDTO.orderInfoDTO
that.insured = res.orderDTO.insuredDTOs
// 初始化RID状态
this.realPeopleRidInfo.appntRidFlag = res.orderDTO.appntDTO.ridStatus
this.realPeopleRidInfo.insureRidFlag = res.orderDTO.insuredDTOs[0].ridStatus
//存code区分万能型产品
let productCode, riskName
let isDoubleMailRisk = that.orderInfo.isDoubleMailRisk
if (isDoubleMailRisk == '1') {
productCode = 'GFRS_M0017'
riskName = res.orderDTO.insuredDTOs[0].riskDTOLst[1].riskName
} else {
productCode = that.insured[0].riskDTOLst[0].mainRiskCode
riskName = res.orderDTO.insuredDTOs[0].riskDTOLst[0].riskName
}
if (that.orderInfo && that.orderInfo.activeType) {
that.$CacheUtils.setLocItem('activeType',that.orderInfo.activeType)
}
localStorage.setItem('productCode', productCode)
this.riskName = riskName
localStorage.setItem('riskName', riskName)
that.recmd = res.orderDTO.recmdDTO
that.orderInfo = res.orderDTO.orderInfoDTO
that.insured = res.orderDTO.insuredDTOs
// 初始化RID状态
this.realPeopleRidInfo.appntRidFlag = res.orderDTO.appntDTO.ridStatus
this.realPeopleRidInfo.insureRidFlag = res.orderDTO.insuredDTOs[0].ridStatus
//存code区分万能型产品
let productCode, riskName
let isDoubleMailRisk = that.orderInfo.isDoubleMailRisk
if (isDoubleMailRisk == '1') {
productCode = 'GFRS_M0017'
riskName = res.orderDTO.insuredDTOs[0].riskDTOLst[1].riskName
} else {
productCode = that.insured[0].riskDTOLst[0].mainRiskCode
riskName = res.orderDTO.insuredDTOs[0].riskDTOLst[0].riskName
}
if (that.orderInfo && that.orderInfo.activeType) {
that.$CacheUtils.setLocItem('activeType',that.orderInfo.activeType)
}
localStorage.setItem('productCode', productCode)
this.riskName = riskName
localStorage.setItem('riskName', riskName)
if (this.relationToAppnt != '1') {
this.activeNames.push(res.orderDTO.insuredDTOs.length + 1)
} else {
this.activeNames.push('1')
}
that.appnt = res.orderDTO.appntDTO
that.date = res.orderDTO.orderInfoDTO.appntDateLabel
res.orderDTO.ebizSignDTOS.map((item) => {
if (item.signType == '0' || item.signType == '2') {
if (!localStorage.changeCard) {
if (item.documentCode != '5') {
that.appntSign.push(item) //投保
that.addKey(item)
}
} else {
//阅读授权书
if (item.documentCode == '5') {
that.appntSign = item //投保
}
if (this.relationToAppnt != '1') {
this.activeNames.push(res.orderDTO.insuredDTOs.length + 1)
} else {
this.activeNames.push('1')
}
that.appnt = res.orderDTO.appntDTO
that.date = res.orderDTO.orderInfoDTO.appntDateLabel
res.orderDTO.ebizSignDTOS.map((item) => {
if (item.signType == '0' || item.signType == '2') {
if (!localStorage.changeCard) {
if (item.documentCode != '5') {
that.appntSign.push(item) //投保
that.addKey(item)
}
} else if(item.signType == '3'){
that.showAgentView = !localStorage.changeCard?1:0
that.agentSign.push(item)//代理人
that.addKey(item)
}else {
that.insuredSign.push(item) //被保
that.addKey(item)
} else {
//阅读授权书
if (item.documentCode == '5') {
that.appntSign = item //投保
}
}
} else if(item.signType == '3'){
that.showAgentView = !localStorage.changeCard?1:0
that.agentSign.push(item)//代理人
that.addKey(item)
}else {
that.insuredSign.push(item) //被保
that.addKey(item)
}
})
if (!that.changeCard) {
//将投保人数组排序
that.appntSign.sort(function (a, b) {
return a.key - b.key
})
//获取投保和被保险人电子投保单签字状态
console.log(that.appntSign,'that.appntSign')
that.appntSign.map((item,index) => {
// console.log(that.appntSign,'that.appntSign')
// console.log(index,'index')
// 判断是否双录
if (item.documentCode == '7') {
localStorage.doubleRecordFlag = '1'
}
// if (item.documentCode == '2') {
// that.appntSignStatus = item.documentStatus
// }
// if (item.documentCode == '11') {
// that.appntSignStatus = item.documentStatus
// }
if (index == that.appntSign.length - 1) {
//初始化时最后一个文档documentStatus文档状态 1 已读 转化为 3 已签名
that.appntSignStatus = item.documentStatus == 1 ? 3:item.documentStatus
}
})
that.insuredSign.map((item,index) => {
// if (item.documentCode == '2') {
// that.insuredSignStatus = item.documentStatus
// }
//初始化时最后一个文档documentStatus文档状态 1 已读 转化为 3 已签名
if (index == that.insuredSign.length - 1) {
that.insuredSignStatus = item.documentStatus == 1 ? 3:item.documentStatus
}
})
that.agentSign.map((item) => {
if (item.documentCode == '10') {
that.agentSignStatus = item.documentStatus
}
})
if (!that.changeCard) {
//将投保人数组排序
that.appntSign.sort(function (a, b) {
return a.key - b.key
})
//获取投保和被保险人电子投保单签字状态
console.log(that.appntSign,'that.appntSign')
that.appntSign.map((item,index) => {
// console.log(that.appntSign,'that.appntSign')
// console.log(index,'index')
// 判断是否双录
if (item.documentCode == '7') {
localStorage.doubleRecordFlag = '1'
}
// if (item.documentCode == '2') {
// that.appntSignStatus = item.documentStatus
// }
// if (item.documentCode == '11') {
// that.appntSignStatus = item.documentStatus
// }
if (index == that.appntSign.length - 1) {
//初始化时最后一个文档documentStatus文档状态 1 已读 转化为 3 已签名
that.appntSignStatus = item.documentStatus == 1 ? 3:item.documentStatus
}
})
that.insuredSign.map((item,index) => {
// if (item.documentCode == '2') {
// that.insuredSignStatus = item.documentStatus
// }
//初始化时最后一个文档documentStatus文档状态 1 已读 转化为 3 已签名
if (index == that.insuredSign.length - 1) {
that.insuredSignStatus = item.documentStatus == 1 ? 3:item.documentStatus
}
})
that.agentSign.map((item) => {
if (item.documentCode == '10') {
that.agentSignStatus = item.documentStatus
}
})
}
resolve('success')
}
})
resolve('success')
}
})
},
//自定义key值排序用
addKey(item) {
//ducumentCode 1投保须知 2投保单 3产品说明书 4提示书 6免除保险人责任条款说明书 7保险销售行为双录说明
// 8指定保单生效日 9短期险投保须知 10国富人寿自保件承诺书 11柳州保险行业寿险投保风险提示书 12个人信息使用授权
// documentStatus: 文档状态 0 未读 1 已读 2 未签名 3 已签名
// documentType: 文档类型 0 阅读文档 1 签名文档
// signType: 签名类型 0 投保人 1 被保人 2 本人
if (item.documentCode == '1') {
item.key = 2
// item.key = 4
item.routePath = 'insuranceInformation'
} else if (item.documentCode == '2') {
// item.key = 9
item.key = 11
item.routePath = 'SignatureOfElectronic'
} else if (item.documentCode == '3') {
// item.key = 4
item.key = 6
item.routePath = 'productTip'
} else if (item.documentCode == '4') {
// item.key = 5
item.key = 7
item.routePath = 'InsuranceTip'
} else if (item.documentCode == '6') {
// item.key = 7
item.key = 9
item.routePath = 'avoidDutyTip'
} else if (item.documentCode == '7') {
// item.key = 8
item.key = 10
item.routePath = 'doubleRecordTip'
} else if (item.documentCode == '8') {
item.key = 1
item.routePath = 'apointValidDoc'
} else if (item.documentCode == '9') {
// item.key = 3
item.key = 5
item.routePath = 'shortPeriodProduct'
}else if (item.documentCode == '10') {
item.key = 1
item.routePath = 'commitmentSelfProtect'
} else if (item.documentCode == '11') {
// item.key = 6
item.key = 8
item.routePath = 'InsuranceRiskReminder'
} else if (item.documentCode == '12') {
// item.key = 10
item.key = 12
item.routePath = 'PersonalInformation'
} else if (item.documentCode == '13') {
// item.key = 2
item.key = 4
item.routePath = 'insuranceClauses'
}else if (item.documentCode == '14') {//风险评估pdf
item.key = 3
item.routePath = 'AnswerTip'
}
},
getSignInvalid() {
this.$toast.loading({
duration: 0, // 持续展示 toast
})
},
//自定义key值排序用
addKey(item) {
//ducumentCode 1投保须知 2投保单 3产品说明书 4提示书 6免除保险人责任条款说明书 7保险销售行为双录说明
// 8指定保单生效日 9短期险投保须知 10国富人寿自保件承诺书 11柳州保险行业寿险投保风险提示书 12个人信息使用授权
// documentStatus: 文档状态 0 未读 1 已读 2 未签名 3 已签名
// documentType: 文档类型 0 阅读文档 1 签名文档
// signType: 签名类型 0 投保人 1 被保人 2 本人
if (item.documentCode == '1') {
item.key = 2
// item.key = 4
item.routePath = 'insuranceInformation'
} else if (item.documentCode == '2') {
// item.key = 9
item.key = 11
item.routePath = 'SignatureOfElectronic'
} else if (item.documentCode == '3') {
// item.key = 4
item.key = 6
item.routePath = 'productTip'
} else if (item.documentCode == '4') {
// item.key = 5
item.key = 7
item.routePath = 'InsuranceTip'
} else if (item.documentCode == '6') {
// item.key = 7
item.key = 9
item.routePath = 'avoidDutyTip'
} else if (item.documentCode == '7') {
// item.key = 8
item.key = 10
item.routePath = 'doubleRecordTip'
} else if (item.documentCode == '8') {
item.key = 1
item.routePath = 'apointValidDoc'
} else if (item.documentCode == '9') {
// item.key = 3
item.key = 5
item.routePath = 'shortPeriodProduct'
}else if (item.documentCode == '10') {
item.key = 1
item.routePath = 'commitmentSelfProtect'
} else if (item.documentCode == '11') {
// item.key = 6
item.key = 8
item.routePath = 'InsuranceRiskReminder'
} else if (item.documentCode == '12') {
// item.key = 10
item.key = 12
item.routePath = 'PersonalInformation'
} else if (item.documentCode == '13') {
// item.key = 2
item.key = 4
item.routePath = 'insuranceClauses'
}else if (item.documentCode == '14') {//风险评估pdf
item.key = 3
item.routePath = 'AnswerTip'
} else if (item.documentCode == '15') {
item.key = 7.1
item.routePath = 'universalRiskNotifyingMessageTip'
}
},
getSignInvalid() {
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
@@ -1746,7 +1769,7 @@ export default {
//替换redirectUrl
replaceSearch() {
let obj = this.$route.query,
str = '/#/sale/signatureConfirmation?'
str = '/#/sale/signatureConfirmation?'
obj.faceAuthCountAppnt = this.faceAuthCount.appnt
obj.faceAuthCountInsured = this.faceAuthCount.insured
obj.faceAuthCountWeixin = this.faceAuthCount.weixin
@@ -1853,7 +1876,7 @@ export default {
} else {
console.log('that.agentSign.length ==', that.agentSign.length, typeof that.agentSign.length)
for (let i = 0; i < that.agentSign.length; i++) {
if ((that.agentSign[i].documentCode == '1' || that.agentSign[i].documentCode == '8' || that.agentSign[i].documentCode == '9' || that.agentSign[i].documentCode == '12') && that.agentSign[i].documentStatus == 0) {
if ((that.agentSign[i].documentCode == '1' || that.agentSign[i].documentCode == '3' || that.agentSign[i].documentCode == '8' || that.agentSign[i].documentCode == '9' || that.agentSign[i].documentCode == '12') && that.agentSign[i].documentStatus == 0) {
//1投保须知 未读
path = that.agentSign[i].routePath
break
@@ -1865,23 +1888,23 @@ export default {
}
}
}
console.log('跳转页面path', path)
if (path)
that.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/' + path + '?orderNo=' + this.$route.query.orderNo
},
routerInfo: {
path: '/sale/' + path + '?orderNo=' + this.$route.query.orderNo
}
})
}
console.log('跳转页面path', path)
if (path)
that.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/' + path + '?orderNo=' + this.$route.query.orderNo
},
routerInfo: {
path: '/sale/' + path + '?orderNo=' + this.$route.query.orderNo
}
})
},
},
created() {
async created() {
this.renovate = new Date().getTime()
setTimeout(() => {
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('webview_left_button', {
@@ -1931,17 +1954,17 @@ export default {
</script>
<style lang="scss" scoped>
@import '@/assets/sass/variables.scss';
.text {
color: #4a90e2;
}
.start {
color: #4fc6b3;
}
.tips {
line-height: 30px;
}
.tips {
line-height: 30px;
}
@import '@/assets/sass/variables.scss';
.text {
color: #4a90e2;
}
.start {
color: #4fc6b3;
}
.tips {
line-height: 30px;
}
.tips {
line-height: 30px;
}
</style>

View File

@@ -71,16 +71,12 @@ export default {
created(){
getOrderDetail({ orderNo: this.$route.query.orderNo }).then(res => {
if (res.result == 0) {
// let updateAnswerType = res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint =='1'?true:false
// this.$store.commit('updateAnswerType', updateAnswerType )
this.question =JSON.parse( res.orderDTO.riskEvaluationDTO.quentionAnswer)
console.log( this.question,' this.question');
this.isDisabledType()
this.question =JSON.parse( res.orderDTO.riskEvaluationDTO.quentionAnswer)
this.isDisabledType()
} else {
this.$toast(res.resultMessage)
}
})
},
mounted(){
setTimeout(() => {

View File

@@ -49,6 +49,7 @@ export default {
salePageFlag: '7',
riskEvaluationDTO:{
},
isUniversalRiskNotifyShowPoint: '0' //默认不跳转到万能险风险告知
}
},
components: {
@@ -66,10 +67,8 @@ export default {
created(){
getOrderDetail({ orderNo: this.$route.query.orderNo }).then(res => {
if (res.result == 0) {
// let updateAnswerType = res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint =='1'?true:false
// this.$store.commit('updateAnswerType', updateAnswerType )
// localStorage.setItem('updateAnswerType',updateAnswerType)
this.riskEvaluationDTO = res.orderDTO.riskEvaluationDTO
this.isUniversalRiskNotifyShowPoint = res.orderDTO.universalRiskNotifyDTO.isUniversalRiskNotifyShowPoint
this.getStatement()
} else {
this.$toast(res.resultMessage)
@@ -172,15 +171,28 @@ export default {
},
next(){
let that = this
that.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/AccountInformation?orderNo=' + this.$route.query.orderNo
},
routerInfo: {
path: '/sale/AccountInformation?orderNo=' + this.$route.query.orderNo
if(that.isUniversalRiskNotifyShowPoint == '1'){
that.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/universalRiskNotifyingMessage?orderNo=' + that.$route.query.orderNo,
},
routerInfo: {
path: '/sale/universalRiskNotifyingMessage?orderNo=' + that.$route.query.orderNo
}
})
}else{
that.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/AccountInformation?orderNo=' + this.$route.query.orderNo
},
routerInfo: {
path: '/sale/AccountInformation?orderNo=' + this.$route.query.orderNo
}
})
}
})
},

View File

@@ -1,7 +1,7 @@
<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>
<iframe :src="src + pdfUrl" class="iframe"></iframe>
<iframe :src="src + pdfUrl" class="iframe" id="iframepage"></iframe>
<div class="bg-white bottom-btn">
<van-radio-group v-model="radio" class="pb10 pb20 pl30 pr50">
@@ -49,7 +49,8 @@ export default {
changeCard: localStorage.changeCard, //是否从修改银行卡号进来
title:'', //阅读文件标题
src: location.origin + '/pdfjs/web/viewer.html?file=',
tipsPolicyUrl:''
tipsPolicyUrl:'',
hasProductTip: false
}
},
components: {
@@ -145,6 +146,17 @@ export default {
return new Promise((resolve, reject) => {
getOrderDetail(data).then(res => {
if (res.result == '0') {
res.orderDTO.insuredDTOs[0].riskDTOLst.forEach(item => {
if(item.isMainRisk == '0'){
if(item.insuYearFlag == 'Y' && item.insuYear > 1){
this.hasProductTip = true
}
if(item.insuYearFlag == 'A' && item.insuYear > 1){
this.hasProductTip = true
}
}
})
let insuYear = res.orderDTO.insuredDTOs[0].riskDTOLst
let list = res.orderDTO.ebizSignDTOS
let appntSignList = []
let insuredSignList = []
@@ -167,7 +179,7 @@ export default {
originalUrl = item.originalUrl
document.title = ''
this.title = item.documentName
document.title = item.documentName
document.title = item.documentName
console.log('that.appntSign', item.policyUrl)
break
}
@@ -192,6 +204,12 @@ export default {
}).then(() => {
that.radio = ''
})
} else {
var ifm1 = document.getElementById("iframepage").contentWindow.document.documentElement.scrollTop;
var ifm2 = document.getElementById("iframepage").contentWindow.document.body.scrollTop;
console.log(ifm1,'ifm1')
console.log(ifm2,'ifm2')
// document.getElementById("iframepage").contentWindow.scrollTo(0, 200)
}
},
// 下一步
@@ -303,12 +321,33 @@ export default {
// }
// })
}else{
url = this.productCode == 'GFRS_M0003' || this.productCode == 'GFRS_M0015' || this.productCode == 'GFRS_M0017' ? 'productTip' : 'insuranceTip'
/*that.appntSign.map(item => {
if (item.documentCode == '8') {
url = 'apointValidDoc'
}
})*/
url = this.hasProductTip ? 'productTip' : 'insuranceTip'
// url = this.productCode == 'GFRS_M0003' ||
// this.productCode == 'GFRS_M0015' ||
// this.productCode == 'GFRS_M0017' ||
// this.productCode == 'GFRS_M0072' ||
// this.productCode == 'GFRS_M0073' ||
// this.productCode == 'GFRS_M0072' ||
// this.productCode == 'GFRS_M0056' ||
// this.productCode == 'GFRS_M0038' ||
// this.productCode == 'GFRS_M0035' ||
// this.productCode == 'GFRS_M0044' ||
// this.productCode == 'GFRS_M0057' ||
// this.productCode == 'GFRS_M0026' ||
// this.productCode == 'GFRS_M0066' ||
// this.productCode == 'GFRS_M0069' ||
// this.productCode == 'GFRS_M0065' ||
// this.productCode == 'GFRS_M0053' ||
// this.productCode == 'GFRS_M0054' ||
// this.productCode == 'GFRS_M0059' ||
// this.productCode == 'GFRS_M0013' ||
// this.productCode == 'GFRS_M0014' ||
// this.productCode == 'GFRS_M0012' ? 'productTip' : 'insuranceTip'
/*that.appntSign.map(item => {
if (item.documentCode == '8') {
url = 'apointValidDoc'
}
})*/
// 若需展示 短期健康险投保须知,则优先展示
that.appntSign.map(item => {
if (item.documentCode == '9') {
@@ -451,7 +490,6 @@ export default {
window.localStorage.setItem('detailJump', '')
// 查看保险条款是否都签署
console.log(this.appntSign,'dfasd')
// debugger
let isHasClauses = this.appntSign.some(item => {
return item.documentCode == '13' && (item.documentStatus == '0' || item.documentStatus == '2')
})
@@ -474,7 +512,28 @@ export default {
if (that.changeCard) {
url = 'SignatureConfirmation'
} else {
url = this.productCode == 'GFRS_M0003' || this.productCode == 'GFRS_M0015' || this.productCode == 'GFRS_M0017' ? 'productTip' : 'insuranceTip'
url = this.hasProductTip ? 'productTip' : 'insuranceTip'
// url = this.productCode == 'GFRS_M0003' ||
// this.productCode == 'GFRS_M0015' ||
// this.productCode == 'GFRS_M0017' ||
// this.productCode == 'GFRS_M0072' ||
// this.productCode == 'GFRS_M0073' ||
// this.productCode == 'GFRS_M0072' ||
// this.productCode == 'GFRS_M0056' ||
// this.productCode == 'GFRS_M0038' ||
// this.productCode == 'GFRS_M0035' ||
// this.productCode == 'GFRS_M0044' ||
// this.productCode == 'GFRS_M0057' ||
// this.productCode == 'GFRS_M0026' ||
// this.productCode == 'GFRS_M0066' ||
// this.productCode == 'GFRS_M0069' ||
// this.productCode == 'GFRS_M0065' ||
// this.productCode == 'GFRS_M0053' ||
// this.productCode == 'GFRS_M0054' ||
// this.productCode == 'GFRS_M0059' ||
// this.productCode == 'GFRS_M0013' ||
// this.productCode == 'GFRS_M0014' ||
// this.productCode == 'GFRS_M0012' ? 'productTip' : 'insuranceTip'
// 本人或投保人-需阅读短期健康险投保须知时 跳转shortPeriodProduct
that.appntSign.map(item => {
if (item.documentCode == '9') {

View File

@@ -2,599 +2,362 @@
<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>
<iframe :src="src + appntSign.policyUrl" class="iframe"></iframe>
<van-radio-group v-model="radio" class="pb10 pt20 pl30 fs14 pr50">
<van-radio-group v-model="radio" class="pb10 pt20 pl30 fs14">
<van-radio name="1" @click="click">
本人确认已阅读
<span>{{ riskName }}产品说明书</span>
<span>{{ appntSign.documentName }}</span>
</van-radio>
</van-radio-group>
<div class="pt10 pb10 pl30 flex align-items-c">
<span class="mr10">投保人签名 :</span>
<div v-if="signVal == '0' || signVal == '2'">
<van-button type="danger" size="small" :disabled="signVal == '1' ? true : isDisable" @click="sign('0')" v-no-more-click="1000">{{
appntSign.documentStatus == '2' ? '签名' : '已签名'
}}</van-button>
</div>
</div>
<div class="bg-white bottom-btn">
<van-button type="danger" size="large" :disabled="isDisabledComplite" @click="goNext" v-no-more-click="1000">下一步</van-button>
</div>
</div>
</template>
<script>
import { RadioGroup, Radio, Dialog, NoticeBar } from 'vant'
import { saveInformation, getOrderDetail1 } from '@/api/ebiz/sale/sale'
import { openLoading, closeLoading } from '@/assets/js/utils/toastLoading.js'
import config from '@/config'
// import axios from 'axios'
export default {
data() {
let isWeixin = this.$utils.device().isWeixin //判断环境
return {
// 投保人还是被保险人信息
signVal: '',
// 投保人签名信息
appntSign: {},
radio: '',
// 倒计时时间
number: '',
// 定时器时间
time: '10',
// 定时器名称
timer: null,
isOver: false,
// 判断验证码是否开始倒计时
Time: true,
// 按钮是否可以点击
isDisable: true,
// 是否在微信
isWeixin,
// 是否签名了 回执流程
isSign: true,
// sign加密码
base64: '',
// 是否可以点击
isDisabledComplite: true,
// local带来的被保险人信息
saleInsuredPersonInfo: {},
// local带来的投保人信息
saleInsuredInfo: {},
// 是否从详情跳过来 如果为1 是
detailJump: '',
src: location.origin + '/pdfjs/web/viewer.html?file=',
//保险产品名称
riskName: localStorage.riskName,
}
},
components: {
[RadioGroup.name]: RadioGroup,
[Radio.name]: Radio,
[Dialog.name]: Dialog,
[NoticeBar.name]: NoticeBar
},
mounted() {
let that = this
document.body.style.backgroundColor = '#fff'
setTimeout(function() {
closeLoading()
that.timeOut()
}, 5000)
},
async created() {
if (!this.isWeixin) {
setTimeout(() => {
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('webview_left_button', {
img: this.$assetsUrl + 'images/del-close-btn@3x.png',
intercept: '1' //是否拦截原生返回事件 1是 其他否
})
}, 100)
window.appCallBack = this.appCallBack
}
let that = this
that.detailJump = window.localStorage.getItem('detailJump')
that.signVal = window.localStorage.getItem('sign-val')
// 获取投保人信息
that.saleInsuredInfo = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo'))
if (this.isWeixin) {
that.relationToAppnt = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).relationToAppnt
}
if (this.detailJump != '1') {
// 投被保险人是否同人
that.relationToAppnt = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).relationToAppnt
// 获取被保险人信息
that.saleInsuredPersonInfo = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo'))
}
// if (this.detailJump != '1') {
// this.getOrderDetail()
// }
if (this.isWeixin) {
let imgBase64Data = sessionStorage.getItem('oneimgBase64Data')
let wxSigned = sessionStorage.getItem('onewxSigned')
let signInfo = JSON.parse(localStorage.getItem('signInfo'))
console.log('`````````````````````````````````')
console.log('imgBase64Data: oneimgBase64Data:' + imgBase64Data)
console.log('wxSigned: ' + wxSigned)
if (wxSigned) {
console.log('第二次进入电子保单')
console.log('````````````````````````````````')
this.getOrderDetail().then(() => {
this.Time = true
this.isOver = true
this.radio = '1'
this.base64 = imgBase64Data
this.isDisabledComplite = false
console.log('signInfo.status:' + signInfo.status)
if (signInfo.status == '0') {
// this.appntSign.documentStatus = '3'
console.log('``````````````````')
this.$set(this.appntSign, 'documentStatus', '3')
console.log('appntSign.documentStatus: ' + this.appntSign.documentStatus)
this.isSign = false
this.isDisabledComplite = false
// this.isDisable = false
} else {
this.$set(this.insuredSign, 'documentStatus', '3')
// this.insuredSign.documentStatus = '3'
this.isDisabledComplite = false
this.isSign = false
}
})
} else {
console.log('````````````````````````')
console.log('第一次进入电子保单')
setTimeout(function() {
closeLoading()
this.timeOut()
}, 5000)
this.getOrderDetail()
import { RadioGroup, Radio, Dialog, NoticeBar } from 'vant'
import { saveInformation, getOrderDetail1 } from '@/api/ebiz/sale/sale'
import { openLoading, closeLoading } from '@/assets/js/utils/toastLoading.js'
import config from '@/config'
// import axios from 'axios'
export default {
data() {
let isWeixin = this.$utils.device().isWeixin //判断环境
return {
// 投保人还是被保险人信息
signVal: '',
// 投保人签名信息
appntSign: {},
radio: '',
// 倒计时时间
number: '',
// 定时器时间
time: '10',
// 定时器名称
timer: null,
isOver: false,
// 判断验证码是否开始倒计时
Time: true,
// 是否在微信
isWeixin,
// sign加密码
base64: '',
// 是否可以点击
isDisabledComplite: true,
// local带来的被保险人信息
saleInsuredPersonInfo: {},
// local带来的投保人信息
saleInsuredInfo: {},
//获取产品编号
productCode: localStorage.productCode,
src: location.origin + '/pdfjs/web/viewer.html?file=',
riskName: localStorage.riskName
}
} else {
},
components: {
[RadioGroup.name]: RadioGroup,
[Radio.name]: Radio,
[Dialog.name]: Dialog,
[NoticeBar.name]: NoticeBar
},
mounted() {
let that = this
document.body.style.backgroundColor = '#fff'
setTimeout(function() {
closeLoading()
this.timeOut()
that.timeOut()
}, 5000)
if (this.detailJump != '1') {
this.getOrderDetail()
}
}
},
methods: {
appCallBack(data) {
if (data.trigger == 'left_button_click') {
return this.$dialog
.confirm({
className: 'dialog-delete',
title: '提示',
message: '退出流程可能会丢失部分数据,是否确认退出?',
cancelButtonColor: '#E9332E',
confirmButtonColor: '#FFFFFF'
})
.then(() => {
this.$jump({
flag: 'h5',
extra: {
title: '电子投保单列表',
forbidSwipeBack: 1, //当前页面禁止右滑返回
url: location.origin + `/#/sale/list`
},
routerInfo: {
path: `/sale/list`,
type: '1'
}
})
})
.catch(() => {
return
})
}
},
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
async created() {
if (!this.isWeixin) {
setTimeout(() => {
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('webview_left_button', {
img: this.$assetsUrl + 'images/del-close-btn@3x.png',
intercept: '1' //是否拦截原生返回事件 1是 其他否
})
}, 100)
window.appCallBack = this.appCallBack
}
this.getOrderDetail();
let that = this;
that.signVal = window.localStorage.getItem('sign-val')
},
methods: {
appCallBack(data) {
if (data.trigger == 'left_button_click') {
return this.$dialog
.confirm({
className: 'dialog-delete',
title: '提示',
message: '退出流程可能会丢失部分数据,是否确认退出?',
cancelButtonColor: '#E9332E',
confirmButtonColor: '#FFFFFF'
})
.then(() => {
this.$jump({
flag: 'h5',
extra: {
title: '电子投保单列表',
forbidSwipeBack: 1, //当前页面禁止右滑返回
url: location.origin + `/#/sale/list`
},
routerInfo: {
path: `/sale/list`,
type: '1'
}
})
})
.catch(() => {
return
})
}
},
timeOut() {
let that = this
let time = that.time
that.Time = false
that.number = `${time}`
}, 1000)
},
// 获取签名状态
getOrderDetail() {
openLoading()
let that = this
let data = {
orderNo: that.$route.query.orderNo
}
return new Promise((resolve, reject) => {
getOrderDetail1(data).then(res => {
if (res.result == '0') {
res.orderDTO.ebizSignDTOS.map(item => {
if (item.signType == '0' || item.signType == '2') {
if (item.documentCode == '3') {
that.appntSign = item
console.log('that.appntSign', that.appntSign)
let timer = setInterval(() => {
time--
if (time <= 0) {
time = 0
clearInterval(timer)
that.Time = true
that.isOver = true
}
that.number = `${time}`
}, 1000)
},
// 获取签名状态
getOrderDetail() {
openLoading()
let that = this
let data = {
orderNo: that.$route.query.orderNo
}
return new Promise((resolve) => {
getOrderDetail1(data).then(res => {
if (res.result == '0') {
for(let i = 0;i<res.orderDTO.ebizSignDTOS.length;i++){
if (res.orderDTO.ebizSignDTOS[i].signType == '0' || res.orderDTO.ebizSignDTOS[i].signType == '2') {
if (res.orderDTO.ebizSignDTOS[i].documentCode == '3' && res.orderDTO.ebizSignDTOS[i].documentStatus == '0') {
that.appntSign = res.orderDTO.ebizSignDTOS[i]
document.title = ''
document.title = res.orderDTO.ebizSignDTOS[i].documentName
break
}
}
}
that.appntSign.policyUrl = encodeURIComponent(config.imgDomain + `/returnDirectStream?imgPath=${that.appntSign.policyUrl}`)
resolve('success')
}
})
})
},
// 点击阅读时
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') {
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: '0',
signType: that.appntSign.signType,
documentType: that.appntSign.documentType,
baseEncryp: that.base64,
policyUrl: that.appntSign.policyUrl
}
]
}
}
saveInformation(data).then(res => {
if (res.result == '0') {
this.$toast.clear()
window.localStorage.setItem('detailJump', '')
window.sessionStorage.onewxSigned = false
let thisdata = {
orderNo: this.$route.query.orderNo
}
getOrderDetail1(thisdata).then(response=>{
if(response.result == 0){
let hasotherproductTip = false
for(let i = 0;i<response.orderDTO.ebizSignDTOS.length;i++){
if (response.orderDTO.ebizSignDTOS[i].signType == '0' || response.orderDTO.ebizSignDTOS[i].signType == '2') {
if (response.orderDTO.ebizSignDTOS[i].documentCode == '3' && response.orderDTO.ebizSignDTOS[i].documentStatus == '0') {
hasotherproductTip = true
break
}
}
}
if(hasotherproductTip){
this.$router.go(0)
}else{
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/InsuranceTip?orderNo=' + that.$route.query.orderNo
},
routerInfo: {
path: '/sale/InsuranceTip?orderNo=' + that.$route.query.orderNo
}
})
}
}else{
this.$toast(response.resultMessage)
}
})
} else {
that.$toast(res.resultMessage)
}
})
that.appntSign.policyUrl = encodeURIComponent(config.imgDomain + `/returnDirectStream?imgPath=${that.appntSign.policyUrl}`)
if (that.isWeixin) {
if (res.orderDTO.ebizSignDTOS.length > 1) {
if (that.appntSign.documentStatus == '3') {
that.isDisabledComplite = false
}
}
}
resolve('success')
}
})
})
},
// 点击阅读时
click() {
let that = this
if (that.isOver == false) {
Dialog.confirm({
title: '提示',
message: '该内容涉及您的重大权益,请您仔细阅读',
showCancelButton: false
}).then(() => {
that.radio = ''
})
}
},
// 点击签名
sign(val) {
let that = this
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
if (val == '0') {
if (this.detailJump != '1') {
if (this.relationToAppnt == '1') {
if (this.isWeixin) {
this.toAirSign('0', '投保人签名', '5', '1')
} else {
EWebBridge.webCallAppInJs('ca_sign', {
//身份证号码
number: this.saleInsuredInfo.idNo,
//姓名
name: this.saleInsuredInfo.name,
type: this.saleInsuredInfo.idType,
keyword: '投保人签名',
pageNo: '1',
index: '1',
offset: '5',
pos: '3',
signatureWidth: this.$utils.signParams().signatureWidth,
signatureHeight: this.$utils.signParams().signatureHeight
}).then(data => {
this.$toast.clear()
if (JSON.parse(data).state == '1') {
this.base64 = decodeURI(JSON.parse(data).sign)
this.appntSign.documentStatus = '3'
this.isDisabledComplite = false
this.isSign = false
}
})
}
} else {
if (this.isWeixin) {
this.toAirSign('0', '投保人签名', '5', '1')
} else {
EWebBridge.webCallAppInJs('ca_sign', {
//身份证号码
number: this.saleInsuredInfo.idNo,
//姓名
name: this.saleInsuredInfo.name,
type: this.saleInsuredInfo.idType,
keyword: '投保人签名',
pageNo: '1',
index: '1',
offset: '5',
pos: '3',
signatureWidth: this.$utils.signParams().signatureWidth,
signatureHeight: this.$utils.signParams().signatureHeight
}).then(data => {
this.$toast.clear()
if (JSON.parse(data).state == '1') {
this.base64 = decodeURI(JSON.parse(data).sign)
this.appntSign.documentStatus = '3'
this.isDisabledComplite = false
this.isSign = false
}
})
}
}
} else {
switch (that.saleInsuredInfo.idType) {
case '居民身份证':
that.saleInsuredInfo.idType = '1'
break
case '户口本':
that.saleInsuredInfo.idType = '2'
break
case '出生证':
that.saleInsuredInfo.idType = '3'
break
case '外国人护照':
that.saleInsuredInfo.idType = '4'
break
case '港澳居民来往内地通行证':
that.saleInsuredInfo.idType = '5'
break
case '台湾居民来往大陆通行证':
that.saleInsuredInfo.idType = '6'
break
// case '其他':
// that.saleInsuredInfo.idType = '7'
// break
case '外国人永久居留身份证':
that.saleInsuredInfo.idType = '8'
break
case '港澳台居民居住证':
that.saleInsuredInfo.idType = '9'
break
}
if (this.isWeixin) {
this.toAirSign('0', '投保人签名', '5', '1')
} else {
EWebBridge.webCallAppInJs('ca_sign', {
//身份证号码
number: that.saleInsuredInfo.idNo,
//姓名
name: that.saleInsuredInfo.name,
type: that.saleInsuredInfo.idType,
keyword: '投保人签名',
pageNo: '1',
index: '1',
offset: '5',
pos: '3',
signatureWidth: this.$utils.signParams().signatureWidth,
signatureHeight: this.$utils.signParams().signatureHeight
}).then(data => {
this.$toast.clear()
if (JSON.parse(data).state == '1') {
that.base64 = decodeURI(JSON.parse(data).sign)
that.appntSign.documentStatus = '3'
that.isDisabledComplite = false
that.isSign = false
let that = this
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中'
})
if (that.signVal == '0' || that.signVal == '2') {
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: '0',
signType: that.appntSign.signType,
documentType: that.appntSign.documentType,
baseEncryp: that.base64,
policyUrl: that.appntSign.policyUrl
}
]
}
}
saveInformation(data).then(res => {
if (res.result == '0') {
this.$toast.clear()
window.localStorage.setItem('detailJump', '')
window.sessionStorage.onewxSigned = false
let thisdata = {
orderNo: this.$route.query.orderNo
}
getOrderDetail1(thisdata).then(response=>{
if(response.result == 0){
let hasotherproductTip = false
for(let i = 0;i<response.orderDTO.ebizSignDTOS.length;i++){
if (response.orderDTO.ebizSignDTOS[i].signType == '0' || response.orderDTO.ebizSignDTOS[i].signType == '2') {
if (response.orderDTO.ebizSignDTOS[i].documentCode == '3' && response.orderDTO.ebizSignDTOS[i].documentStatus == '0') {
hasotherproductTip = true
break
}
}
}
if(hasotherproductTip){
this.$router.go(0)
}else{
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/InsuranceTip?orderNo=' + that.$route.query.orderNo
},
routerInfo: {
path: '/sale/InsuranceTip?orderNo=' + that.$route.query.orderNo
}
})
}
}else{
this.$toast(response.resultMessage)
}
})
} else {
that.$toast(res.resultMessage)
}
})
}
}
}
},
// toAirSign(status, keyword, offset) {
// localStorage.setItem(
// 'signInfo',
// JSON.stringify({
// idNo: this.saleInsuredInfo.idNo,
// name: this.saleInsuredInfo.name,
// type: this.saleInsuredInfo.idType,
// keyword: keyword,
// status: status,
// offset: offset,
// originUrl: location.href
// })
// )
// window.location.href = this.$mainUrl + '/sign/index.html'
// },
toAirSign(status, keyword, offset, originStatus) {
localStorage.setItem(
'signInfo',
JSON.stringify({
originStatus: originStatus,
idNo: this.saleInsuredInfo.idNo,
name: this.saleInsuredInfo.name,
type: this.saleInsuredInfo.idType,
keyword: keyword,
status: status,
offset: offset,
originUrl: location.href
})
)
window.location.href = this.$mainUrl + '/sign/index.html'
computed: {
listenChange() {
const { isOver, radio, appntSign } = this
return { isOver, radio, appntSign }
}
},
// 下一步
goNext() {
if (this.isWeixin) {
console.log('````````````````````')
console.log('进入微信')
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
watch: {
listenChange(val) {
let that = this
if (that.signVal == '0' || that.signVal == '2') {
let data = {
orderType: 'SIGN_ORDER',
orderDTO: {
orderInfoDTO: {
orderNo: that.$route.query.orderNo
},
ebizSignDTOS: [
{
signOrRead: 'sms',
signId: that.appntSign.signId,
orderNo: that.$route.query.orderNo,
documentCode: that.appntSign.documentCode,
documentStatus: '3',
signType: that.appntSign.signType,
documentType: that.appntSign.documentType,
baseEncryp: that.base64,
policyUrl: that.appntSign.policyUrl
}
]
}
}
saveInformation(data).then(res => {
if (res.result == '0') {
this.$toast.clear()
window.localStorage.setItem('detailJump', '')
window.sessionStorage.onewxSigned = false
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/InsuranceTip?orderNo=' + that.$route.query.orderNo
},
routerInfo: {
path: '/sale/InsuranceTip?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: '加载中……'
})
if (that.signVal == '0' || that.signVal == '2') {
let data = {
orderType: 'SIGN_ORDER',
orderDTO: {
orderInfoDTO: {
orderNo: that.$route.query.orderNo
},
ebizSignDTOS: [
{
signOrRead: 'sms',
signId: that.appntSign.signId,
orderNo: that.$route.query.orderNo,
documentCode: that.appntSign.documentCode,
documentStatus: '3',
signType: that.appntSign.signType,
documentType: that.appntSign.documentType,
baseEncryp: that.base64,
policyUrl: that.appntSign.policyUrl
}
]
}
}
saveInformation(data).then(res => {
if (res.result == '0') {
this.$toast.clear()
window.localStorage.setItem('detailJump', '')
window.sessionStorage.onewxSigned = false
// window.sessionStorage.oneimgBase64Data = ''
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/InsuranceTip?orderNo=' + that.$route.query.orderNo
},
routerInfo: {
path: '/sale/InsuranceTip?orderNo=' + that.$route.query.orderNo
}
})
} else {
that.$toast(res.resultMessage)
}
})
if (val.isOver == true && val.radio !== '') {
that.isDisabledComplite = false
} else {
that.isDisabledComplite = true
}
}
}
},
computed: {
listenChange() {
const { isOver, radio, appntSign } = this
return { isOver, radio, appntSign }
}
},
watch: {
listenChange(val) {
let that = this
if (!that.isWeixin) {
if (that.signVal == '0' || that.signVal == '2') {
if (val.isOver == true && val.radio != '' && val.appntSign.documentStatus !== '3') {
that.isDisable = false
} else {
that.isDisable = true
}
},
if (that.radio == '1' && val.appntSign.documentStatus == '3') {
that.isDisabledComplite = false
} else {
that.isDisabledComplite = true
}
}
if (val.appntSign.documentStatus == '3') {
that.isDisable = true
}
} else {
if (that.signVal == '0' || that.signVal == '2') {
if (val.isOver == true && val.radio != '') {
that.isDisable = false
} else {
that.isDisable = true
}
if (that.radio == '1' && val.appntSign.documentStatus == '3') {
that.isDisabledComplite = false
} else {
that.isDisabledComplite = true
}
}
}
beforeRouteLeave(to, from, next) {
document.body.style.backgroundColor = ''
next()
}
},
beforeRouteLeave(to, from, next) {
document.body.style.backgroundColor = ''
next()
}
}
</script>
<style lang="scss" scoped>
img {
width: 100%;
height: 100%;
}
.notice {
width: 100%;
position: fixed;
top: 0;
z-index: 20;
}
.iframe {
width: 100vw;
height: 70vh;
border: none;
}
img {
width: 100%;
height: 100%;
}
.notice {
width: 100%;
position: fixed;
top: 0;
z-index: 20;
}
.iframe {
width: 100vw;
height: 70vh;
border: none;
}
</style>

View File

@@ -0,0 +1,244 @@
<template>
<div class="notifyingMessage-container redRadioCheckbox">
<div class="pb50">
<div class="allFalse">
<div style="background-color: rgb(245, 245, 245);padding-bottom:5px">
<index-bar :key="renovate"></index-bar>
</div>
<div class="flex justify-content-s align-items-c bg-white pt20 pb20 pr10">
<span class="pl10">风险告知</span>
<div @click="allFalse" class="pr10">
<van-button type="danger" size="small">一键全是</van-button>
</div>
</div>
</div>
<div class="content-all-info">
<h3 style="text-align:center;margin-top: 20px;">万能型人身保险产品风险告知问卷</h3>
<div class="mb20 ml20 mr10 mt20">
<p style="text-indent:2em">
尊敬的客户您好感谢您对国富人寿保险股份有限公司以下简称本公司的信任在您购买万能型保险产品前请您对以下事项进行确认
</p>
</div>
<div v-for="(item, index) in question" :key="index">
<div class="mt10 pb2" v-if="item.impartCode != '2b'">
<div class="mb20 ml20 mr10">
<span v-html="item.title"></span>
</div>
<van-radio-group
v-model="item.answer.score"
class="flex mb10 pb10"
v-validate="'required'"
data-vv-name="单选"
>
<van-radio name="0" class="mr150 ml70"></van-radio>
<van-radio name="1"></van-radio>
</van-radio-group>
</div>
</div>
<p style="text-indent:2em" class="mb20 ml20 mr10">
本公司已对您完成万能型产品的风险告知<span style="font-weight: bold">若您对风险告知内容有疑问请您再次阅读保险条款及产品说明书您也可以要求销售人员销售机构或本公司进行解释若您仍有疑问的请您在理解无误后进行投保</span>
</p>
<p style="text-indent:2em" class="mb10 ml20 mr10">
<span style="font-weight: bold">客户声明:</span>
</p>
<p style="text-indent:2em" class="mb20 ml20 mr10">
上述风险告知问卷过程均为本人操作提供的全部信息是真实准确的并自愿承担由于信息不真实不准确而引发的相关风险
</p>
</div>
</div>
<div class="bottom-btn bg-white">
<van-button type="danger" size="large" @click="nextStep" v-no-more-click="1000">下一步</van-button>
</div>
</div>
</template>
<script>
import { Collapse, CollapseItem, RadioGroup, Radio, Field, CellGroup, Icon } from 'vant'
import { information, saveInformation, getOrderDetail } from '@/api/ebiz/sale/sale'
import utilsAge from '@/assets/js/utils/age'
import IndexBar from '@/components/ebiz/sale/IndexBar'
export default {
data() {
return {
renovate:'',
salePageFlag: '7.1',
question: []
}
},
created() {
},
mounted() {
setTimeout(() => {
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('webview_left_button', {
img: this.$assetsUrl + 'images/del-close-btn@3x.png',
intercept: '1' //是否拦截原生返回事件 1是 其他否
})
}, 100)
window.appCallBack = this.appCallBack
if (!this.$route.query.edit) {
//如果不是编辑/导航条跳转进来的
localStorage.setItem('salePageFlag', this.salePageFlag)
} else if (this.$route.query.edit && !this.$route.query.salePageFlag) {
//如果从保单列表点击编辑按钮进入
this.salePageFlag = '7.1'
localStorage.setItem('salePageFlag', this.salePageFlag)
} else if (this.$route.query.salePageFlag) {
//如果是从导航栏点击进入
this.salePageFlag = localStorage.salePageFlag
}
this.getOrderDetail()
},
methods: {
getOrderDetail(){
let params = {
orderNo: this.$route.query.orderNo
}
getOrderDetail(params).then(res => {
if (res.result == 0) {
this.question =JSON.parse( res.orderDTO.universalRiskNotifyDTO.quentionAnswer)
// debugger
this.isDisabledType()
} else {
this.$toast(res.resultMessage)
}
})
},
isDisabledType(){
},
appCallBack(data) {
if (data.trigger == 'left_button_click') {
return this.$dialog.confirm({
className: 'dialog-delete',
title: '提示',
message: '退出流程可能会丢失部分数据,是否确认退出?',
cancelButtonColor: '#E9332E',
confirmButtonColor: '#FFFFFF'
})
.then(() => {
this.$jump({
flag: 'h5',
extra: {
title: '电子投保单列表',
forbidSwipeBack: 1, //当前页面禁止右滑返回
url: location.origin + `/#/sale/list`
},
routerInfo: {
path: `/sale/list`,
type: '1'
}
})
})
.catch(() => {
return
})
}
},
allFalse(){
if(this.question && this.question.length != 0){
this.question.forEach(item=>{
item.answer.score = '0'
})
}
},
nextStep(){
let flag = true
if(this.question && this.question.length != 0){
this.question.forEach(item=>{
if(item.answer.score !== '0'){
flag = false
}
})
}
if(flag){
let data = {
orderType: 'NOTIFY_ORDER',
orderDTO: {
orderInfoDTO: {
orderNo: this.$route.query.orderNo,
},
universalRiskNotifyDTO:{
quentionAnswer:JSON.stringify(this.question)
}
},
}
saveInformation(data).then(res => {
if(res.result == 0){
if (!this.$route.query.salePageFlag) {
//不是从导航栏进入
localStorage.salePageFlag = '7.1'
}
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/AccountInformation?orderNo=' + this.$route.query.orderNo,
},
routerInfo: {
path: '/sale/AccountInformation?orderNo=' + this.$route.query.orderNo
}
})
}else{
this.$toast(res.resuleMessage)
}
})
}else{
this.$toast('万能险风险告知需要全部回答“是”方可进入下一步流程')
}
},
},
beforeRouteLeave(to, from, next) {
document.body.style.backgroundColor = ''
next()
},
components: {
[Collapse.name]: Collapse,
[CollapseItem.name]: CollapseItem,
[RadioGroup.name]: RadioGroup,
[Radio.name]: Radio,
[Field.name]: Field,
[CellGroup.name]: CellGroup,
[Icon.name]: Icon,
[IndexBar.name]: IndexBar
}
}
</script>
<style lang="scss" scoped>
@import '@/assets/sass/variables.scss';
.notifyingMessage-text {
background: rgba(236, 249, 255, 1);
span {
color: #4a90e2;
}
}
/deep/ .van-field__label {
width: 38%;
}
/deep/ .van-cell__value {
margin-left: 20px;
}
/deep/.van-collapse-item__content {
padding: 0;
}
/deep/ .special .van-hairline--top-bottom:first-child::after {
border: none;
}
.allFalse {
position: fixed;
overflow: hidden;
z-index: 10;
width: 100%;
}
.content-all-info {
padding-top: 153px;
}
.content-all-info2 {
padding-top: 90px;
}
.pb5{
padding-bottom: 5px;
}
</style>

View File

@@ -0,0 +1,642 @@
<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>
<iframe :src='src + pdfUrl' class='iframe'></iframe>
<van-radio-group v-model='radio' class='pb10 pt20 pl30 fs14'>
<van-radio name='1' @click='click'>
本人确认已阅读
<span>万能型人身保险产品风险告知问卷</span>
</van-radio>
</van-radio-group>
<div class='pt30 pl30 flex align-items-c'>
<span class='mr10'>投保人签名 :</span>
<div v-if="signVal == '0' || signVal == '2'">
<van-button type='danger' size='small' :disabled="signVal == '1' ? true : isDisable" @click="sign('0')"
v-no-more-click='1000'>{{
appntSign.documentStatus == '2' ? '签名' : '已签名'
}}
</van-button>
</div>
</div>
<div class='bg-white bottom-btn'>
<van-button type='danger' size='large' :disabled='isDisabledComplite' @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 riskRules from '@/views/ebiz/common/risk-rules'
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,
// 是否签名了 回执流程
isSign: true,
// sign加密码
base64: '',
// 是否可以点击
isDisabledComplite: true,
// local带来的被保险人信息
saleInsuredPersonInfo: {},
// local带来的投保人信息
saleInsuredInfo: {},
// 是否从详情跳过来 如果为1 是
detailJump: '',
pdfUrl: '',
src: location.origin + '/pdfjs/web/viewer.html?file=',
tipsPolicyUrl: '',
flagLiuZhou: '', // 当前代理人是否属于柳州代理人的标志,此变量的值为'true'或'false'
branchTypeVal:'' // 当前代理人渠道
}
},
components: {
[RadioGroup.name]: RadioGroup,
[Radio.name]: Radio,
[Dialog.name]: Dialog,
[NoticeBar.name]: NoticeBar
},
mounted() {
let that = this
that.timeOut()
document.body.style.backgroundColor = '#fff'
},
async created() {
// 当前代理人渠道--个险渠道,中介渠道
let dataReturn = await riskRules.getAgentInfoFunc(this)
this.branchTypeVal = dataReturn.branchTypeVal
if (!this.isWeixin) {
setTimeout(() => {
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('webview_left_button', {
img: this.$assetsUrl + 'images/del-close-btn@3x.png',
intercept: '1' //是否拦截原生返回事件 1是 其他否
})
}, 100)
window.appCallBack = this.appCallBack
}
let that = this
that.detailJump = window.localStorage.getItem('detailJump')
that.signVal = window.localStorage.getItem('sign-val')
// 获取投保人信息
that.saleInsuredInfo = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo'))
if (this.isWeixin) {
that.relationToAppnt = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).relationToAppnt
}
if (this.detailJump != '1') {
// 投被保险人是否同人
that.relationToAppnt = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).relationToAppnt
// 获取被保险人信息
// that.saleInsuredPersonInfo = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo'))
}
// if (this.detailJump != '1') {
// this.getOrderDetail()
// }
if (this.isWeixin) {
let imgBase64Data = sessionStorage.getItem('twoimgBase64Data')
let wxSigned = JSON.parse(sessionStorage.getItem('twowxSigned'))
// let wxSigned = false
let signInfo = JSON.parse(localStorage.getItem('signInfo'))
console.log('`````````````````````````````````')
console.log('imgBase64Data: twoimgBase64Data:' + imgBase64Data)
console.log('wxSigned: ' + wxSigned)
if (wxSigned) {
console.log('第二次进入电子保单')
console.log('````````````````````````````````')
this.getOrderDetail().then(() => {
this.Time = true
this.isOver = true
this.radio = '1'
this.base64 = imgBase64Data
this.isDisabledComplite = false
console.log('signInfo.status:' + signInfo.status)
if (signInfo.status == '0') {
// this.appntSign.documentStatus = '3'
console.log('``````````````````')
this.$set(this.appntSign, 'documentStatus', '3')
console.log('appntSign.documentStatus: ' + this.appntSign.documentStatus)
this.isSign = false
this.isDisabledComplite = false
// this.isDisable = false
} else {
this.$set(this.insuredSign, 'documentStatus', '3')
// this.insuredSign.documentStatus = '3'
this.isDisabledComplite = false
this.isSign = false
}
})
} else {
console.log('第一次进入电子保单')
this.timeOut()
this.getOrderDetail()
}
} else {
this.timeOut()
if (this.detailJump != '1') {
this.getOrderDetail()
}
}
},
methods: {
appCallBack(data) {
if (data.trigger == 'left_button_click') {
return this.$dialog
.confirm({
className: 'dialog-delete',
title: '提示',
message: '退出流程可能会丢失部分数据,是否确认退出?',
cancelButtonColor: '#E9332E',
confirmButtonColor: '#FFFFFF'
})
.then(() => {
this.$jump({
flag: 'h5',
extra: {
title: '电子投保单列表',
forbidSwipeBack: 1, //当前页面禁止右滑返回
url: location.origin + `/#/sale/list`
},
routerInfo: {
path: `/sale/list`,
type: '1'
}
})
})
.catch(() => {
return
})
}
},
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)
},
// 获取签名状态
getOrderDetail() {
let that = this
let data = {
orderNo: that.$route.query.orderNo
}
return new Promise((resolve, reject) => {
getOrderDetail(data).then(res => {
if (res.result == '0') {
// 截取代理人机构号的前六位,用于去判断是否属于柳州代理人
if(res.orderDTO.recmdDTO.managerOrg && res.orderDTO.recmdDTO.managerOrg.length >= 6){
let str = res.orderDTO.recmdDTO.managerOrg.substr(0, 6)
// 如果属于
if (str === '864502' && this.branchTypeVal == 'G') {
that.flagLiuZhou = true
} else {
that.flagLiuZhou = false
}
console.log(that.branchTypeVal,'that.branchTypeVal')
console.log(that.flagLiuZhou,'that.flagLiuZhou')
}
res.orderDTO.ebizSignDTOS.map(item => {
if (item.documentCode == '15') {
if (item.signType == '0' || item.signType == '2') {
console.log('000000000', item)
that.appntSign = item
that.tipsPolicyUrl = item.policyUrl
console.log('that.appntSign', item.policyUrl)
}
}
})
that.pdfUrl = encodeURIComponent(config.imgDomain + `/returnDirectStream?imgPath=${that.tipsPolicyUrl}`)
console.log(' that.pdfUrl', that.pdfUrl)
if (that.isWeixin) {
if (res.orderDTO.ebizSignDTOS.length > 1) {
if (that.appntSign.documentStatus == '3') {
that.isDisabledComplite = false
}
}
}
resolve('success')
}
})
})
},
// 点击阅读时
click() {
let that = this
if (that.isOver == false) {
Dialog.confirm({
title: '提示',
message: '该内容涉及您的重大权益,请您仔细阅读',
showCancelButton: false
}).then(() => {
that.radio = ''
})
}
},
// 点击签名
sign(val) {
console.log(
'签名参数',
this.saleInsuredInfo.idNo,
this.saleInsuredInfo.name,
this.saleInsuredInfo.idType,
'keyword' + ':' + '签字日期',
'pageNo' + ':' + '1',
'index' + ':' + '1',
'offset' + ':' + '-150',
'pos' + ':' + '3'
)
let that = this
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
if (val == '0') {
if (this.detailJump != '1') {
if (this.relationToAppnt == '1') {
if (this.isWeixin) {
this.toAirSign('0', '签字日期', '-150', '2')
} else {
EWebBridge.webCallAppInJs('ca_sign', {
//身份证号码
number: this.saleInsuredInfo.idNo,
//姓名
name: this.saleInsuredInfo.name,
type: this.saleInsuredInfo.idType,
keyword: '签字日期',
pageNo: '1',
index: '1',
offset: '-150',
pos: '3',
signatureWidth: this.$utils.signParams().signatureWidth,
signatureHeight: this.$utils.signParams().signatureHeight
}).then(data => {
this.$toast.clear()
if (JSON.parse(data).state == '1') {
this.base64 = decodeURI(JSON.parse(data).sign)
this.appntSign.documentStatus = '3'
this.isDisabledComplite = false
this.isSign = false
}
})
}
} else {
if (this.isWeixin) {
this.toAirSign('0', '签字日期', '-150', '2')
} else {
EWebBridge.webCallAppInJs('ca_sign', {
//身份证号码
number: this.saleInsuredInfo.idNo,
//姓名
name: this.saleInsuredInfo.name,
type: this.saleInsuredInfo.idType,
keyword: '签字日期',
pageNo: '1',
index: '1',
offset: '-150',
pos: '3',
signatureWidth: this.$utils.signParams().signatureWidth,
signatureHeight: this.$utils.signParams().signatureHeight
}).then(data => {
this.$toast.clear()
if (JSON.parse(data).state == '1') {
this.base64 = decodeURI(JSON.parse(data).sign)
this.appntSign.documentStatus = '3'
this.isDisabledComplite = false
this.isSign = false
}
})
}
}
} else {
switch (that.saleInsuredInfo.idType) {
case '居民身份证':
that.saleInsuredInfo.idType = '1'
break
case '户口本':
that.saleInsuredInfo.idType = '2'
break
case '出生证':
that.saleInsuredInfo.idType = '3'
break
case '外国人护照':
that.saleInsuredInfo.idType = '4'
break
case '港澳居民来往内地通行证':
that.saleInsuredInfo.idType = '5'
break
case '台湾居民来往大陆通行证':
that.saleInsuredInfo.idType = '6'
break
// case '其他':
// that.saleInsuredInfo.idType = '7'
// break
case '外国人永久居留身份证':
that.saleInsuredInfo.idType = '8'
break
case '港澳台居民居住证':
that.saleInsuredInfo.idType = '9'
break
}
if (this.isWeixin) {
this.toAirSign('0', '签字日期', '-150', '2')
} else {
EWebBridge.webCallAppInJs('ca_sign', {
//身份证号码
number: that.saleInsuredInfo.idNo,
//姓名
name: that.saleInsuredInfo.name,
type: that.saleInsuredInfo.idType,
keyword: '签字日期',
pageNo: '1',
index: '1',
offset: '-150',
pos: '3',
signatureWidth: this.$utils.signParams().signatureWidth,
signatureHeight: this.$utils.signParams().signatureHeight
}).then(data => {
this.$toast.clear()
if (JSON.parse(data).state == '1') {
that.base64 = decodeURI(JSON.parse(data).sign)
that.appntSign.documentStatus = '3'
that.isDisabledComplite = false
that.isSign = false
}
})
}
}
}
},
toAirSign(status, keyword, offset, originStatus) {
localStorage.setItem(
'signInfo',
JSON.stringify({
originStatus: originStatus,
idNo: this.saleInsuredInfo.idNo,
name: this.saleInsuredInfo.name,
type: this.saleInsuredInfo.idType,
keyword: keyword,
status: status,
offset: offset,
originUrl: location.href
})
)
window.location.href = this.$mainUrl + '/sign/index.html'
},
// 下一步
goNext() {
if (this.isWeixin) {
console.log('````````````````````')
console.log('进入微信')
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击ase
loadingType: 'spinner',
message: '加载中……'
})
let that = this
console.log('that.appntSign', that.appntSign)
console.log('that.signVal', that.signVal)
if (that.signVal == '0' || that.signVal == '2') {
let data = {
orderType: 'SIGN_ORDER',
orderDTO: {
orderInfoDTO: {
orderNo: that.$route.query.orderNo
},
ebizSignDTOS: [
{
signOrRead: 'tip',
signId: that.appntSign.signId,
orderNo: that.$route.query.orderNo,
documentCode: that.appntSign.documentCode,
documentStatus: '3',
documentType: that.appntSign.documentType,
signType: that.signVal,
baseEncryp: that.base64,
tipsPolicyUrl: that.tipsPolicyUrl
}
]
}
}
saveInformation(data).then(res => {
// console.log(res)
if (res.result == '0') {
this.$toast.clear()
// console.log(res)
window.localStorage.setItem('detailJump', '')
sessionStorage.twowxSigned = false
// let url = config.imgDomain + `/app/returnStream?imgPath=${res.signDTO.policyUrl}`
// axios.get(url).then(res => {
// console.log(res)
// })
let routeUrl = ''
if (this.flagLiuZhou) {
routeUrl = '/sale/InsuranceRiskReminder'
} else {
// let doubleRecordFlag = localStorage.doubleRecordFlag
// routeUrl = '/sale/signatureOfElectronic'
// if (doubleRecordFlag == '1') {
// 跳转双录签署文件
routeUrl = '/sale/avoidDutyTip'
// }
}
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#' + routeUrl + '?orderNo=' + that.$route.query.orderNo
},
routerInfo: {
path: routeUrl + '?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: '加载中……'
})
if (that.signVal == '0' || that.signVal == '2') {
let data = {
orderType: 'SIGN_ORDER',
orderDTO: {
orderInfoDTO: {
orderNo: that.$route.query.orderNo
},
ebizSignDTOS: [
{
signOrRead: 'tip',
signId: that.appntSign.signId,
orderNo: that.$route.query.orderNo,
documentCode: that.appntSign.documentCode,
documentStatus: '3',
documentType: that.appntSign.documentType,
signType: that.signVal,
baseEncryp: that.base64,
tipsPolicyUrl: that.tipsPolicyUrl
}
]
}
}
saveInformation(data).then(res => {
// console.log(res)
if (res.result == '0') {
this.$toast.clear()
// window.localStorage.setItem('insurance-url', res.signDTO.policyUrl)
window.localStorage.setItem('detailJump', '')
sessionStorage.twowxSigned = false
// let url = config.imgDomain + `/app/returnStream?imgPath=${res.signDTO.policyUrl}`
// axios.get(url).then(res => {
// console.log(res)
// })
let routeUrl = ''
if (this.flagLiuZhou) {
routeUrl = '/sale/InsuranceRiskReminder'
} else {
// let doubleRecordFlag = localStorage.doubleRecordFlag
// routeUrl = '/sale/signatureOfElectronic'
// if (doubleRecordFlag == '1') {
// 跳转双录签署文件
routeUrl = '/sale/avoidDutyTip'
// }
}
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#' + routeUrl + '?orderNo=' + that.$route.query.orderNo,
forbidSwipeBack: '1'
},
routerInfo: {
path: routeUrl + '?orderNo=' + that.$route.query.orderNo
}
})
} else {
that.$toast(res.resultMessage)
}
})
}
}
}
},
computed: {
listenChange() {
const { isOver, radio, appntSign } = this
return { isOver, radio, appntSign }
}
},
watch: {
listenChange(val) {
let that = this
if (!that.isWeixin) {
if (that.signVal == '0' || that.signVal == '2') {
if (val.isOver == true && val.radio != '' && val.appntSign.documentStatus !== '3') {
that.isDisable = false
} else {
that.isDisable = true
}
if (that.radio == '1' && val.appntSign.documentStatus == '3') {
that.isDisabledComplite = false
} else {
that.isDisabledComplite = true
}
}
if (val.appntSign.documentStatus == '3') {
that.isDisable = true
}
} else {
if (that.signVal == '0' || that.signVal == '2') {
if (val.isOver == true && val.radio != '') {
that.isDisable = false
} else {
that.isDisable = true
}
if (that.radio == '1' && val.appntSign.documentStatus == '3') {
that.isDisabledComplite = false
} else {
that.isDisabledComplite = true
}
}
}
}
},
beforeRouteLeave(to, from, next) {
document.body.style.backgroundColor = ''
next()
}
}
</script>
<style lang='scss' scoped>
img {
width: 100%;
height: 100%;
}
.notice {
width: 100%;
position: fixed;
top: 0;
z-index: 20;
}
.iframe {
width: 100vw;
height: 70vh;
}
</style>