mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-11 03:56:44 +08:00
【增加阅读《保险条款》步骤,关于金掌桂签名确认页面部分阅读签字材料更新和新增的需求】保险条款自定义key值排序用
This commit is contained in:
@@ -12,6 +12,7 @@ const signatureConfirmation = () => import('@/views/ebiz/sale/SignatureConfirmat
|
|||||||
const notifyingMessage = () => import('@/views/ebiz/sale/NotifyingMessage')
|
const notifyingMessage = () => import('@/views/ebiz/sale/NotifyingMessage')
|
||||||
const accountInformation = () => import('@/views/ebiz/sale/AccountInformation')
|
const accountInformation = () => import('@/views/ebiz/sale/AccountInformation')
|
||||||
const insuranceInformation = () => import('@/views/ebiz/sale/InsuranceInformation')
|
const insuranceInformation = () => import('@/views/ebiz/sale/InsuranceInformation')
|
||||||
|
const insuranceClauses = () => import('@/views/ebiz/sale/insuranceClauses')
|
||||||
const insuranceTip = () => import('@/views/ebiz/sale/InsuranceTip')
|
const insuranceTip = () => import('@/views/ebiz/sale/InsuranceTip')
|
||||||
const InsuranceRiskReminder = () => import('@/views/ebiz/sale/InsuranceRiskReminder')
|
const InsuranceRiskReminder = () => import('@/views/ebiz/sale/InsuranceRiskReminder')
|
||||||
const signatureOfElectronic = () => import('@/views/ebiz/sale/SignatureOfElectronic')
|
const signatureOfElectronic = () => import('@/views/ebiz/sale/SignatureOfElectronic')
|
||||||
@@ -134,6 +135,14 @@ export default [
|
|||||||
title: '投保须知'
|
title: '投保须知'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: '/sale/insuranceClauses',
|
||||||
|
name: 'insuranceClauses',
|
||||||
|
component: insuranceClauses,
|
||||||
|
meta: {
|
||||||
|
title: '保险条款'
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: '/sale/insuranceTip',
|
path: '/sale/insuranceTip',
|
||||||
name: 'insuranceTip',
|
name: 'insuranceTip',
|
||||||
|
|||||||
@@ -253,6 +253,133 @@ export default {
|
|||||||
},
|
},
|
||||||
// 下一步
|
// 下一步
|
||||||
goNext() {
|
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) {
|
if (this.isWeixin) {
|
||||||
console.log('````````````````````')
|
console.log('````````````````````')
|
||||||
console.log('进入微信')
|
console.log('进入微信')
|
||||||
@@ -266,7 +393,6 @@ export default {
|
|||||||
message: '加载中……'
|
message: '加载中……'
|
||||||
})
|
})
|
||||||
let that = this
|
let that = this
|
||||||
|
|
||||||
if (that.signVal == '0' || that.signVal == '2') {
|
if (that.signVal == '0' || that.signVal == '2') {
|
||||||
if (!that.changeCard) {
|
if (!that.changeCard) {
|
||||||
that.appntSign.map(item => {
|
that.appntSign.map(item => {
|
||||||
|
|||||||
@@ -37,11 +37,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<div v-for="(item, index) in agentSign" :key="index">
|
<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">
|
<p class="mb20">
|
||||||
<span class="text">{{ item.documentName }}</span>
|
<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.documentCode == '13') && 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 == '3'" />
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -79,11 +79,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<div v-for="(item, index) in appntSign" :key="index">
|
<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">
|
<p class="mb20">
|
||||||
<span class="text">{{ item.documentName }}</span>
|
<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.documentCode == '13') && 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 == '3'" />
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -124,11 +124,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<p class="mb20">以下内容需要您按照顺序阅读并签字确认:</p>
|
<p class="mb20">以下内容需要您按照顺序阅读并签字确认:</p>
|
||||||
<div v-for="(item, index) in insuredSign" :key="index">
|
<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">
|
<p class="mb20">
|
||||||
<span class="text">{{ item.documentName }}</span>
|
<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.documentCode == '13') && 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 == '3'" />
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<p class="start" v-if="airSign != '1'">点击【开始】或【分享】,进行相关操作</p>
|
<p class="start" v-if="airSign != '1'">点击【开始】或【分享】,进行相关操作</p>
|
||||||
@@ -172,11 +172,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<div v-for="(item, index) in appntSign" :key="index">
|
<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">
|
<p class="mb20">
|
||||||
<span class="text">{{ item.documentName }}</span>
|
<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.documentCode == '13') && 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 == '3'" />
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -206,11 +206,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<p class="mb20">以下内容需要您按照顺序阅读并签字确认:</p>
|
<p class="mb20">以下内容需要您按照顺序阅读并签字确认:</p>
|
||||||
<div v-for="(item, index) in insuredSign" :key="index">
|
<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">
|
<p class="mb20">
|
||||||
<span class="text">{{ item.documentName }}</span>
|
<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.documentCode == '13') && 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 == '3'" />
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<p class="start" v-if="airSign != '1'">点击【开始】或【分享】,进行相关操作</p>
|
<p class="start" v-if="airSign != '1'">点击【开始】或【分享】,进行相关操作</p>
|
||||||
@@ -993,7 +993,7 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
console.log('that.appntSign.length ==', that.appntSign.length, typeof that.appntSign.length)
|
console.log('that.appntSign.length ==', that.appntSign.length, typeof that.appntSign.length)
|
||||||
for (let i = 0; i < that.appntSign.length; i++) {
|
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投保须知 未读
|
//1投保须知 未读
|
||||||
path = that.appntSign[i].routePath
|
path = that.appntSign[i].routePath
|
||||||
break
|
break
|
||||||
@@ -1045,7 +1045,7 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
console.log('that.appntSign.length ==', that.appntSign.length, typeof that.appntSign.length)
|
console.log('that.appntSign.length ==', that.appntSign.length, typeof that.appntSign.length)
|
||||||
for (let i = 0; i < that.appntSign.length; i++) {
|
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投保须知 未读
|
//1投保须知 未读
|
||||||
path = that.appntSign[i].routePath
|
path = that.appntSign[i].routePath
|
||||||
break
|
break
|
||||||
@@ -1626,6 +1626,9 @@ export default {
|
|||||||
} else if (item.documentCode == '12') {
|
} else if (item.documentCode == '12') {
|
||||||
item.key = 10
|
item.key = 10
|
||||||
item.routePath = 'PersonalInformation'
|
item.routePath = 'PersonalInformation'
|
||||||
|
} else if (item.documentCode == '13') {
|
||||||
|
item.key = 2
|
||||||
|
item.routePath = 'insuranceClauses'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getSignInvalid() {
|
getSignInvalid() {
|
||||||
|
|||||||
551
src/views/ebiz/sale/insuranceClauses.vue
Normal file
551
src/views/ebiz/sale/insuranceClauses.vue
Normal 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>
|
||||||
@@ -34,6 +34,6 @@ module.exports = {
|
|||||||
// })
|
// })
|
||||||
},
|
},
|
||||||
devServer: {
|
devServer: {
|
||||||
port: 8082,
|
port: 8082
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user