【增加阅读《保险条款》步骤,关于金掌桂签名确认页面部分阅读签字材料更新和新增的需求】保险条款自定义key值排序用

This commit is contained in:
li.yuetong
2022-10-31 17:45:48 +08:00
parent dcffd69666
commit e9a5a86021
5 changed files with 708 additions and 19 deletions

View File

@@ -12,6 +12,7 @@ const signatureConfirmation = () => import('@/views/ebiz/sale/SignatureConfirmat
const notifyingMessage = () => import('@/views/ebiz/sale/NotifyingMessage')
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 InsuranceRiskReminder = () => import('@/views/ebiz/sale/InsuranceRiskReminder')
const signatureOfElectronic = () => import('@/views/ebiz/sale/SignatureOfElectronic')
@@ -134,6 +135,14 @@ export default [
title: '投保须知'
}
},
{
path: '/sale/insuranceClauses',
name: 'insuranceClauses',
component: insuranceClauses,
meta: {
title: '保险条款'
}
},
{
path: '/sale/insuranceTip',
name: 'insuranceTip',

View File

@@ -253,6 +253,133 @@ export default {
},
// 下一步
goNext() {
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
let that = this
if (that.signVal == '0' || that.signVal == '2') {
// 查看保险条款是否有,如果没有的话走原有逻辑
let isHasClauses = this.appntSign.some(item => {
return item.documentCode == '13' && (item.documentStatus == '0' || item.documentStatus == '2')
})
if(isHasClauses) {
that.appntSign.map(item => {
if (item.documentCode == '1') {
that.appntSign.signId = item.signId
that.appntSign.documentCode = item.documentCode
that.appntSign.documentType = item.documentType
}
})
let data = {
orderType: 'SIGN_ORDER',
orderDTO: {
orderInfoDTO: {
orderNo: window.localStorage.getItem('orderNo')
},
ebizSignDTOS: [
{
signOrRead: 'read',
signId: that.appntSign.signId,
orderNo: window.localStorage.getItem('orderNo'),
documentCode: that.appntSign.documentCode,
documentStatus: '1',
documentType: that.appntSign.documentType,
signType: that.signVal
}
]
}
}
saveInformation(data).then(res => {
// console.log(res)
if (res.result == '0') {
this.$toast.clear()
window.localStorage.setItem('detailJump', '')
//GFRS_M0003为万能型产品需要投保人签署产品说明书
let url = 'insuranceClauses'
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/' + url
},
routerInfo: {
path: '/sale/' + url
}
})
} else {
that.$toast(res.resultMessage)
}
})
} else {
that.goNextBefore()
}
} else {
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
// 查看保险条款是否有,如果没有的话走原有逻辑
let isHasClauses = this.appntSign.some(item => {
return item.documentCode == '13' && (item.documentStatus == '0' || item.documentStatus == '2')
})
if(isHasClauses) {
that.insuredSign.map(item => {
if (item.documentCode == '1') {
that.insuredSign.signId = item.signId
that.insuredSign.documentCode = item.documentCode
that.insuredSign.documentType = item.documentType
}
})
let data = {
orderType: 'SIGN_ORDER',
orderDTO: {
orderInfoDTO: {
orderNo: window.localStorage.getItem('orderNo')
},
ebizSignDTOS: [
{
signOrRead: 'read',
signId: that.insuredSign.signId,
orderNo: window.localStorage.getItem('orderNo'),
documentCode: that.insuredSign.documentCode,
documentStatus: '1',
documentType: that.insuredSign.documentType,
signType: that.signVal
}
]
}
}
saveInformation(data).then(res => {
if (res.result == '0') {
this.$toast.clear()
window.localStorage.setItem('detailJump', '')
console.log('保存了结果:' + localStorage.getItem('insurance-policyUrl'))
let url = 'insuranceClauses'
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/' + url
},
routerInfo: {
path: '/sale/' + url
}
})
} else {
that.$toast(res.resultMessage)
}
})
} else {
that.goNextBefore()
}
}
},
// 下一步,原有逻辑
goNextBefore() {
if (this.isWeixin) {
console.log('````````````````````')
console.log('进入微信')
@@ -266,7 +393,6 @@ export default {
message: '加载中……'
})
let that = this
if (that.signVal == '0' || that.signVal == '2') {
if (!that.changeCard) {
that.appntSign.map(item => {

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' ? '需阅读' : '需签署' }}</p>
<p>{{ item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13' ? '需阅读' : '需签署' }}</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.documentStatus == '1'" />
<img :src="src" v-if="!(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12') && item.documentStatus == '3'" />
<img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13') && item.documentStatus == '1'" />
<img :src="src" v-if="!(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13') && 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' ? '需阅读' : '需签署' }}</p>
<p>{{ item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13' ? '需阅读' : '需签署' }}</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.documentStatus == '1'" />
<img :src="src" v-if="!(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12') && item.documentStatus == '3'" />
<img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13') && item.documentStatus == '1'" />
<img :src="src" v-if="!(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13') && item.documentStatus == '3'" />
</p>
</div>
</div>
@@ -124,11 +124,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' ? '需阅读' : '需签署' }}</p>
<p>{{ item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '12' || item.documentCode == '13' ? '需阅读' : '需签署' }}</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.documentStatus == '1'" />
<img :src="src" v-if="!(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '12') && item.documentStatus == '3'" />
<img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '12' || item.documentCode == '13') && item.documentStatus == '1'" />
<img :src="src" v-if="!(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '12' || item.documentCode == '13') && item.documentStatus == '3'" />
</p>
</div>
<p class="start" v-if="airSign != '1'">点击开始分享进行相关操作</p>
@@ -172,11 +172,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'? '需阅读' : '需签署' }}</p>
<p>{{ item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13'? '需阅读' : '需签署' }}</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.documentStatus == '1'" />
<img :src="src" v-if="!(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12') && item.documentStatus == '3'" />
<img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13') && item.documentStatus == '1'" />
<img :src="src" v-if="!(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13') && item.documentStatus == '3'" />
</p>
</div>
</div>
@@ -206,11 +206,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' ? '需阅读' : '需签署' }}</p>
<p>{{ item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '12' || item.documentCode == '13' ? '需阅读' : '需签署' }}</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.documentStatus == '1'" />
<img :src="src" v-if="!(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '12') && item.documentStatus == '3'" />
<img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '12' || item.documentCode == '13') && item.documentStatus == '1'" />
<img :src="src" v-if="!(item.documentCode == '1' || item.documentCode == '8' || item.documentCode == '12' || item.documentCode == '13') && item.documentStatus == '3'" />
</p>
</div>
<p class="start" v-if="airSign != '1'">点击开始分享进行相关操作</p>
@@ -993,7 +993,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].documentStatus == 0) {
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].documentStatus == 0) {
//1投保须知 未读
path = that.appntSign[i].routePath
break
@@ -1045,7 +1045,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].documentStatus == 0) {
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].documentStatus == 0) {
//1投保须知 未读
path = that.appntSign[i].routePath
break
@@ -1626,6 +1626,9 @@ export default {
} else if (item.documentCode == '12') {
item.key = 10
item.routePath = 'PersonalInformation'
} else if (item.documentCode == '13') {
item.key = 2
item.routePath = 'insuranceClauses'
}
},
getSignInvalid() {

View File

@@ -0,0 +1,551 @@
<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>
<div class="bg-white bottom-btn">
<van-radio-group v-model="radio" class="pb10 pb20 pl30">
<van-radio name="1" @click="readClick" class="fs14">
<span>本人确认已阅读{{title}} </span>
</van-radio>
</van-radio-group>
<van-button type="danger" size="large" :disabled="isDisable" @click="goNext" v-no-more-click="1000">下一步</van-button>
</div>
</div>
</template>
<script>
import { RadioGroup, Radio, Dialog, NoticeBar } from 'vant'
import { saveInformation, getOrderDetail } from '@/api/ebiz/sale/sale'
import utils from '@/assets/js/utils/date-utils'
import config from '@/config'
export default {
data() {
let isWeixin = this.$utils.device().isWeixin //判断环境
return {
// 投保人还是被保险人信息
signVal: '',
// 被保险人签名信息
insuredSign: {},
// 投保人签名信息
appntSign: {},
radio: '',
// 倒计时时间
number: '',
// 定时器时间
time: '10',
// 定时器名称
timer: null,
isOver: false,
// 判断验证码是否开始倒计时
Time: true,
// 按钮是否可以点击
isDisable: true,
// 是否在微信
isWeixin,
productCode: localStorage.productCode, //获取产品编号
protocol: false,
activeType: '',
pdfUrl: '',
changeCard: localStorage.changeCard, //是否从修改银行卡号进来
title:'', //阅读文件标题
src: location.origin + '/pdfjs/web/viewer.html?file=',
tipsPolicyUrl:''
}
},
components: {
[RadioGroup.name]: RadioGroup,
[Radio.name]: Radio,
[Dialog.name]: Dialog,
[NoticeBar.name]: NoticeBar
},
created() {
this.init()
},
mounted() {
let readingType = localStorage.getItem('readingProtocolType')
if (readingType && readingType === '1') {
this.protocol = true
}
let that = this
// {{switchFlag.Time?pageVariable.msg:pageVariable.number}}
that.timeOut()
that.activeType = window.localStorage.getItem('activeType')
// Notify({
// type: 'warning',
// message: `提示:阅读时长需在${this.Time ? this.time : this.number}秒以上`,
// duration: 10000,
// background: '#999999',
// className: 'notify'
// })
document.body.style.backgroundColor = '#fff'
that.signVal = window.localStorage.getItem('sign-val')
if (JSON.parse(window.localStorage.getItem('sign-insured'))) {
that.insuredSign = JSON.parse(window.localStorage.getItem('sign-insured'))
}
if (JSON.parse(window.localStorage.getItem('sign-appnt'))) {
that.appntSign = JSON.parse(window.localStorage.getItem('sign-appnt'))
}
},
methods: {
async init(){
this.getOrderDetail()
},
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)
},
// 获取PDF的路径
getOrderDetail() {
let that = this
let data = {
orderNo: window.localStorage.getItem('orderNo')
}
return new Promise((resolve, reject) => {
getOrderDetail(data).then(res => {
if (res.result == '0') {
res.orderDTO.ebizSignDTOS.map(item => {
if (item.documentCode == '13' && (item.signType == '0' || item.signType == '2')) {
console.log('000000000', item)
// that.appntSign = item
that.tipsPolicyUrl = item.policyUrl
this.title = document.title = item.documentName
console.log('that.appntSign', item.policyUrl)
}
})
that.pdfUrl = encodeURIComponent(config.imgDomain + `/returnDirectStream?imgPath=${that.tipsPolicyUrl}`)
//get请求 https://iagentsales-test3.e-guofu.com:5443/updown/returnDirectStream?imgPath=vBUWC6gbUDoEIRJfwkgbq%2F9UxMDwL0blVyXZaq1I0VNQo3JbEQW9W2Qmry%2BrY7il36nndFRV5ymB%0A37s41xUE3g8fAEEDIMT4SWwiuCiOI6M%3D
console.log(' that.pdfUrl', that.pdfUrl)
resolve('success')
}
})
})
},
// 点击阅读时
readClick() {
let that = this
if (that.isOver == false) {
Dialog.confirm({
title: '提示',
message: '该内容涉及您的重大权益,请您仔细阅读',
showCancelButton: false
}).then(() => {
that.radio = ''
})
}
},
// 下一步
goNext() {
if (this.isWeixin) {
console.log('````````````````````')
console.log('进入微信')
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
let that = this
if (that.signVal == '0' || that.signVal == '2') {
that.appntSign.map(item => {
if (item.documentCode == '13' && (item.signType == '0' || item.signType == '2')) {
that.appntSign.signId = item.signId
that.appntSign.documentCode = item.documentCode
that.appntSign.documentType = item.documentType
that.appntSign.documentStatus = '1'
}
})
let data = {
orderType: that.changeCard ? 'SIGNNEW_ORDER' : 'SIGN_ORDER',
orderDTO: {
orderInfoDTO: {
orderNo: window.localStorage.getItem('orderNo')
},
ebizSignDTOS: [
{
signOrRead: 'read',
signId: that.appntSign.signId,
orderNo: window.localStorage.getItem('orderNo'),
documentCode: that.appntSign.documentCode,
documentStatus: '1',
documentType: that.appntSign.documentType,
signType: that.signVal
}
]
}
}
saveInformation(data).then(res => {
// console.log(res)
if (res.result == '0') {
this.$toast.clear()
window.localStorage.setItem('detailJump', '')
// 查看保险条款是否都签署
let isHasClauses = this.appntSign.some(item => {
return item.documentCode == '13' && (item.documentStatus == '0' || item.documentStatus == '2')
})
let url = ''
if(isHasClauses) {
url = 'insuranceClauses'
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/' + url
},
routerInfo: {
path: '/sale/' + url
}
})
}else{
if (that.changeCard) {
url = 'SignatureConfirmation'
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/SignatureConfirmation'
},
routerInfo: {
path:
'/sale/signatureConfirmation?orderNo=' +
localStorage.orderNo +
'&token=' +
localStorage.token +
'&saleInsuredInfo=' +
this.$CacheUtils.getLocItem('saleInsuredInfo') +
'&saleInsuredPersonInfo=' +
this.$CacheUtils.getLocItem('saleInsuredPersonInfo') +
'&relationToAppnt=' +
JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).relationToAppnt +
'&signInvalid=' +
sessionStorage.getItem('signInvalid') +
'&airSign=1' +
'&changeCard=0'
}
})
} else {
// 查看保险条款是否都签署
let isHasClauses = this.appntSign.some(item => {
return item.documentCode == '13' && (item.documentStatus == '0' || item.documentStatus == '2')
})
let url = ''
if(isHasClauses) {
url = 'insuranceClauses'
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/' + url
},
routerInfo: {
path: '/sale/' + url
}
})
}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'
}
})*/
// 若需展示 短期健康险投保须知,则优先展示
that.appntSign.map(item => {
if (item.documentCode == '9') {
url = 'shortPeriodProduct'
}
})
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/' + url
},
routerInfo: {
path: '/sale/' + url
}
})
}
}
}
} else {
that.$toast(res.resultMessage)
}
})
} else {
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
that.insuredSign.map(item => {
if (item.documentCode == '13' && (item.signType == '0' || item.signType == '2')) {
that.insuredSign.signId = item.signId
that.insuredSign.documentCode = item.documentCode
that.insuredSign.documentType = item.documentType
that.insuredSign.documentStatus = '1'
}
})
let data = {
orderType: 'SIGN_ORDER',
orderDTO: {
orderInfoDTO: {
orderNo: window.localStorage.getItem('orderNo')
},
ebizSignDTOS: [
{
signOrRead: 'read',
signId: that.insuredSign.signId,
orderNo: window.localStorage.getItem('orderNo'),
documentCode: that.insuredSign.documentCode,
documentStatus: '1',
documentType: that.insuredSign.documentType,
signType: that.signVal
}
]
}
}
saveInformation(data).then(res => {
if (res.result == '0') {
this.$toast.clear()
window.localStorage.setItem('detailJump', '')
// 查看保险条款是否都签署
let isHasClauses = this.insuredSign.some(item => {
return item.documentCode == '13' && (item.documentStatus == '0' || item.documentStatus == '2')
})
let url = ''
if(isHasClauses) {
url = 'insuranceClauses'
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/' + url
},
routerInfo: {
path: '/sale/' + url
}
})
}else{
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/SignatureOfElectronic'
},
routerInfo: {
path: '/sale/SignatureOfElectronic'
}
})
}
} else {
that.$toast(res.resultMessage)
}
})
}
} else {
//在app
let that = this
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
// console.log('that.appntSign.signId',that.appntSign,that.appntSign.signId,that.appntSign.documentCode,that.appntSign.documentType)
if (that.signVal == '0' || that.signVal == '2') {
that.appntSign.map(item => {
if (item.documentCode == '13' && (item.documentStatus == '0' || item.documentStatus == '2')) {
that.appntSign.signId = item.signId
that.appntSign.documentCode = item.documentCode
that.appntSign.documentType = item.documentType
item.documentStatus = '1'
}
})
let data = {
orderType: that.changeCard ? 'SIGNNEW_ORDER' : 'SIGN_ORDER',
orderDTO: {
orderInfoDTO: {
orderNo: window.localStorage.getItem('orderNo')
},
ebizSignDTOS: [
{
signOrRead: 'read',
signId: that.appntSign.signId,
orderNo: window.localStorage.getItem('orderNo'),
documentCode: that.appntSign.documentCode,
documentStatus: '1',
documentType: that.appntSign.documentType,
signType: that.signVal
}
]
}
}
saveInformation(data).then(res => {
if (res.result == '0') {
this.$toast.clear()
window.localStorage.setItem('detailJump', '')
// 查看保险条款是否都签署
console.log(this.appntSign,'dfasd')
let isHasClauses = this.appntSign.some(item => {
return item.documentCode == '13' && (item.documentStatus == '0' || item.documentStatus == '2')
})
let url = ''
if(isHasClauses) {
url = 'insuranceClauses'
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/' + url
},
routerInfo: {
path: '/sale/' + url
}
})
}else{
let url = ''
if (that.changeCard) {
url = 'SignatureConfirmation'
} else {
url = this.productCode == 'GFRS_M0003' || this.productCode == 'GFRS_M0015' || this.productCode == 'GFRS_M0017' ? 'productTip' : 'insuranceTip'
// 本人或投保人-需阅读短期健康险投保须知时 跳转shortPeriodProduct
that.appntSign.map(item => {
if (item.documentCode == '9') {
url = 'shortPeriodProduct'
}
})
}
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/' + url,
forbidSwipeBack: '1'
},
routerInfo: {
path: '/sale/' + url
}
})
}
} else {
that.$toast(res.resultMessage)
}
})
} else {
that.insuredSign.map(item => {
if (item.documentCode == '13' && (item.documentStatus == '0' || item.documentStatus == '2')) {
that.insuredSign.signId = item.signId
that.insuredSign.documentCode = item.documentCode
that.insuredSign.documentType = item.documentType
item.documentStatus = '1'
}
})
let data = {
orderType: 'SIGN_ORDER',
orderDTO: {
orderInfoDTO: {
orderNo: window.localStorage.getItem('orderNo')
},
ebizSignDTOS: [
{
signOrRead: 'read',
signId: that.insuredSign.signId,
orderNo: window.localStorage.getItem('orderNo'),
documentCode: that.insuredSign.documentCode,
documentStatus: '1',
documentType: that.insuredSign.documentType,
signType: that.signVal
}
]
}
}
saveInformation(data).then(res => {
if (res.result == '0') {
this.$toast.clear()
window.localStorage.setItem('detailJump', '')
// 查看保险条款是否都签署
let isHasClauses = this.appntSign.some(item => {
return item.documentCode == '13' && (item.documentStatus == '0' || item.documentStatus == '2')
})
let url = ''
if(isHasClauses) {
url = 'insuranceClauses'
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/' + url
},
routerInfo: {
path: '/sale/' + url
}
})
}else{
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/SignatureOfElectronic',
forbidSwipeBack: '1'
},
routerInfo: {
path: '/sale/SignatureOfElectronic'
}
})
}
} else {
that.$toast(res.resultMessage)
}
})
}
}
}
},
computed: {
listenChange() {
const { isOver, radio } = this
return { isOver, radio }
}
},
watch: {
listenChange(val) {
let that = this
// console.log('listenChange :', val)
if (val.isOver == true && val.radio !== '') {
that.isDisable = false
} else {
that.isDisable = true
}
}
},
beforeRouteLeave(to, from, next) {
document.body.style.backgroundColor = ''
next()
}
}
</script>
<style lang="scss" scoped>
p {
text-align: justify;
}
.notice {
width: 100%;
position: fixed;
top: 0;
z-index: 20;
}
.fontb{
font-weight: bolder;
}
.iframe {
width: 100vw;
height: 70vh;
}
</style>

View File

@@ -34,6 +34,6 @@ module.exports = {
// })
},
devServer: {
port: 8082,
port: 8082
}
}