开门红需求-电投提示:电投提示处理初版代码提交 --提交人:阳华祥

This commit is contained in:
yang.huaxiang
2020-11-11 10:46:50 +08:00
parent 4e28071edc
commit ed7d5575ef
8 changed files with 535 additions and 29 deletions

View File

@@ -253,3 +253,21 @@ export function checkCard(data) {
data data
}) })
} }
// 获取订单活动信息
export function getOrderActiveInfo(data) {
return request({
url: getUrl('/sale/order/getActiveInfo', 1),
method: 'post',
data
})
}
// 获取订单活动信息
export function saveOrderActiveType(data) {
return request({
url: getUrl('/sale/order/saveActiveType', 1),
method: 'post',
data
})
}

View File

@@ -25,6 +25,7 @@ const productTip = () => import('@/views/ebiz/sale/productTip')
const avoidDutyTip = () => import('@/views/ebiz/sale/AvoidDutyTip') const avoidDutyTip = () => import('@/views/ebiz/sale/AvoidDutyTip')
const doubleRecordTip = () => import('@/views/ebiz/sale/DoubleRecordTip') const doubleRecordTip = () => import('@/views/ebiz/sale/DoubleRecordTip')
const PayResultFail = () => import('@/views/ebiz/sale/PayResultFail') const PayResultFail = () => import('@/views/ebiz/sale/PayResultFail')
const apointValidDoc = () => import('@/views/ebiz/sale/apointValidDoc')
let riskName = localStorage.riskName let riskName = localStorage.riskName
console.log('sale/riskName==', riskName) console.log('sale/riskName==', riskName)
export default [ export default [
@@ -161,6 +162,14 @@ export default [
title: '免除保险人责任条款说明书' title: '免除保险人责任条款说明书'
} }
}, },
{
path: '/sale/apointValidDoc',
name: 'apointValidDoc',
component: apointValidDoc,
meta: {
title: '免除保险人责任条款说明书'
}
},
{ {
path: '/sale/doubleRecordTip', path: '/sale/doubleRecordTip',
name: 'doubleRecordTip', name: 'doubleRecordTip',

View File

@@ -270,6 +270,9 @@
<span style="font-weight:bold" v-else>保额</span> <span style="font-weight:bold" v-else>保额</span>
<span class="fee red" v-if="trialList && trialList.length > 0">{{ trialList[index].showPrem | moneyFormat }}</span> <span class="fee red" v-if="trialList && trialList.length > 0">{{ trialList[index].showPrem | moneyFormat }}</span>
</div> </div>
<div class="flex justify-content-s pv10 border-bottom prem" v-if="item.isMainRisk == 0 && activeType == 'KMH'">
<span>指定保单生效日:2021年1月1日</span>
</div>
</div> </div>
<div class="bottom-btn bg-white"> <div class="bottom-btn bg-white">
<van-button type="danger" size="large" @click="nextStep" :disabled="nextStepFlag" v-no-more-click="1000">完成</van-button> <van-button type="danger" size="large" @click="nextStep" :disabled="nextStepFlag" v-no-more-click="1000">完成</van-button>
@@ -350,6 +353,7 @@ export default {
}, },
data() { data() {
return { return {
activeType: localStorage.getItem('active_type'),
chooseProducts: [], chooseProducts: [],
productIndex: '', productIndex: '',
calFactorIndex: '', calFactorIndex: '',

View File

@@ -3,11 +3,13 @@
<van-radio-group v-model="result"> <van-radio-group v-model="result">
<van-cell-group> <van-cell-group>
<van-cell v-for="(item, index) in list" clickable @click="result = item" :key="index"> <van-cell v-for="(item, index) in list" clickable @click="result = item" :key="index">
<p slot="default"> <div v-if="checkItemShow(item)">
<van-tag plain class="green fs12 mr10">{{ item.productType }}</van-tag> <p slot="default">
<span class="c-gray-dark fs14">{{ item.riskName }}</span> <van-tag plain class="green fs12 mr10">{{ item.productType }}</van-tag>
</p> <span class="c-gray-dark fs14">{{ item.riskName }}</span>
<van-radio checked-color="red" slot="right-icon" :name="item" /> </p>
<van-radio checked-color="red" slot="right-icon" :name="item" />
</div>
</van-cell> </van-cell>
<van-cell> </van-cell> <van-cell> </van-cell>
<van-cell> </van-cell> <van-cell> </van-cell>
@@ -40,7 +42,8 @@ export default {
result: '', result: '',
delList: [], delList: [],
radioVal: '', radioVal: '',
isFrom: localStorage.isFrom isFrom: localStorage.isFrom,
activeFlag: ''
} }
}, },
async mounted() { async mounted() {
@@ -61,6 +64,8 @@ export default {
this.specilFlag = '1' this.specilFlag = '1'
} }
// ------------------------专为桂企写死--end---------------// // ------------------------专为桂企写死--end---------------//
// 处理活动产品
this.activeFlag = res.orderDTO.orderInfoDTO.activeType
} }
resolve(this.getMainRiskList()) resolve(this.getMainRiskList())
}, },
@@ -74,6 +79,20 @@ export default {
} }
}, },
methods: { methods: {
checkItemShow(item) {
if (this.activeFlag != 'KMH') {
return true
}
let showFlag = false
if (item.activeLst && item.activeLst.length > 0) {
item.activeLst.forEach(subItem => {
if (subItem == 'KMH') {
showFlag = true
}
})
}
return showFlag
},
//获取主险列表 //获取主险列表
async getMainRiskList() { async getMainRiskList() {
let mainRiskCodes = localStorage.mainRiskCodes && JSON.parse(localStorage.mainRiskCodes) let mainRiskCodes = localStorage.mainRiskCodes && JSON.parse(localStorage.mainRiskCodes)

View File

@@ -33,6 +33,25 @@
</div> </div>
</div> </div>
<van-dialog v-model="active_show" title="提示" @confirm="comfirmCheckActive">
<div>
<van-radio-group v-model="active_radio">
<van-radio name="1" icon-size="12px">
<div class="flex justify-content-fs">
<van-image round width="10rem" height="10rem" src="https://img.yzcdn.cn/vant/cat.jpeg" />
<div class="fs18 bold">开门红产品</div>
</div>
</van-radio>
<van-radio name="2" icon-size="12px">
<div class="flex justify-content-fs">
<van-image round width="10rem" height="10rem" src="https://img.yzcdn.cn/vant/cat.jpeg" />
<div class="fs18 bold">普通产品</div>
</div>
</van-radio>
</van-radio-group>
</div>
</van-dialog>
<div> <div>
<van-submit-bar button-text="下一步" @submit="nextStep" :disabled="nextStepFlag"> <van-submit-bar button-text="下一步" @submit="nextStep" :disabled="nextStepFlag">
<div class="fs15 ml15 fwb" style="flex:1" slot="default"> <div class="fs15 ml15 fwb" style="flex:1" slot="default">
@@ -45,11 +64,12 @@
</div> </div>
</template> </template>
<script> <script>
import { Tag, SubmitBar, Icon, Dialog } from 'vant' import { Tag, SubmitBar, Icon, Dialog, RadioGroup, Radio, Image as VanImage } from 'vant'
import FieldPicker from '@/components/ebiz/FieldPicker' import FieldPicker from '@/components/ebiz/FieldPicker'
import { orderDetail, deleteOrderInfo } from '@/api/ebiz/common/common' import { orderDetail, deleteOrderInfo } from '@/api/ebiz/common/common'
import { formatAllRisk } from '@/assets/js/utils/formatRiskList' import { formatAllRisk } from '@/assets/js/utils/formatRiskList'
import { getDetail, deleteProposal } from '@/api/ebiz/proposal/proposal.js' import { getDetail, deleteProposal } from '@/api/ebiz/proposal/proposal.js'
import { getOrderActiveInfo, saveOrderActiveType } from '@/api/ebiz/sale/sale.js'
import utilsAge from '@/assets/js/utils/age' import utilsAge from '@/assets/js/utils/age'
import IndexBar from '@/components/ebiz/sale/IndexBar' import IndexBar from '@/components/ebiz/sale/IndexBar'
@@ -63,7 +83,9 @@ export default {
isShow: true, isShow: true,
appntDTO: {}, appntDTO: {},
isFrom: localStorage.isFrom, isFrom: localStorage.isFrom,
salePageFlag: '3' salePageFlag: '3',
active_show: false,
active_radio: ''
} }
}, },
components: { components: {
@@ -71,10 +93,15 @@ export default {
[FieldPicker.name]: FieldPicker, [FieldPicker.name]: FieldPicker,
[SubmitBar.name]: SubmitBar, [SubmitBar.name]: SubmitBar,
[Icon.name]: Icon, [Icon.name]: Icon,
[IndexBar.name]: IndexBar [IndexBar.name]: IndexBar,
[RadioGroup.name]: RadioGroup,
[Radio.name]: Radio,
[VanImage.name]: VanImage
}, },
mounted() { mounted() {
if (localStorage.isFrom == 'sale') { if (localStorage.isFrom == 'sale') {
// 清除活动标志
localStorage.removeItem('active_type')
setTimeout(() => { setTimeout(() => {
// eslint-disable-next-line no-undef // eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('webview_left_button', { EWebBridge.webCallAppInJs('webview_left_button', {
@@ -339,7 +366,25 @@ export default {
} }
}, },
//添加产品 //添加产品
addProduct() { async addProduct() {
// 1、处理判断活动 1、电投流程 2、后端接口提供弹出判断
if (localStorage.isFrom == 'sale') {
let param = {
activeType: 'KMH'
}
let resultData = await getOrderActiveInfo(param)
if (resultData.result == 0) {
if (resultData.content.activeFlag != '1') {
// todo 弹框 显示
this.active_show = true
return
}
//正常后续跳转流程
} else {
this.$toast(resultData.resultMessage)
return
}
}
this.$jump({ this.$jump({
flag: 'h5', flag: 'h5',
extra: { extra: {
@@ -350,6 +395,33 @@ export default {
} }
}) })
}, },
comfirmCheckActive() {
let param = {
orderDTO: {
orderInfoDTO: {
orderNo: localStorage.orderNo,
activeType: 'KMH'
}
}
}
saveOrderActiveType(param).then(res => {
this.active_show = false
localStorage.setItem('active_type', 'KMH')
if (res.result == 0) {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/common/mainRiskList'
},
routerInfo: {
path: '/common/mainRiskList'
}
})
} else {
this.$toast(res.resultMessage)
}
})
},
showTipForDoubleRecord() { showTipForDoubleRecord() {
//判断投保人年龄是否大于等于60岁 //判断投保人年龄是否大于等于60岁
let showFlag = false let showFlag = false

View File

@@ -297,6 +297,11 @@ export default {
}) })
} else { } else {
url = this.productCode == 'GFRS_M0003' || this.productCode == 'GFRS_M0015' || this.productCode == 'GFRS_M0017' ? 'productTip' : 'insuranceTip' 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'
}
})
this.$jump({ this.$jump({
flag: 'h5', flag: 'h5',
extra: { extra: {

View File

@@ -38,11 +38,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' ? '需阅读' : '需签署' }}</p> <p>{{ item.documentCode == '1' || item.documentCode == '8' ? '需阅读' : '需签署' }}</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.documentStatus == '1'" /> <img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '8') && item.documentStatus == '1'" />
<img :src="src" v-if="item.documentCode !== '1' && item.documentStatus == '3'" /> <img :src="src" v-if="!(item.documentCode == '1' || item.documentCode == '8') && item.documentStatus == '3'" />
</p> </p>
</div> </div>
</div> </div>
@@ -83,11 +83,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' ? '需阅读' : '需签署' }}</p> <p>{{ item.documentCode == '1' || item.documentCode == '8' ? '需阅读' : '需签署' }}</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.documentStatus == '1'" /> <img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '8') && item.documentStatus == '1'" />
<img :src="src" v-if="item.documentCode !== '1' && item.documentStatus == '3'" /> <img :src="src" v-if="!(item.documentCode == '1' || item.documentCode == '8') && item.documentStatus == '3'" />
</p> </p>
</div> </div>
<p class="start" v-if="airSign != '1'">点击开始分享进行相关操作</p> <p class="start" v-if="airSign != '1'">点击开始分享进行相关操作</p>
@@ -131,11 +131,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' ? '需阅读' : '需签署' }}</p> <p>{{ item.documentCode == '1' || item.documentCode == '8' ? '需阅读' : '需签署' }}</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.documentStatus == '1'" /> <img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '8') && item.documentStatus == '1'" />
<img :src="src" v-if="item.documentCode !== '1' && item.documentStatus == '3'" /> <img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '8') && item.documentStatus == '3'" />
</p> </p>
</div> </div>
</div> </div>
@@ -165,11 +165,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' ? '需阅读' : '需签署' }}</p> <p>{{ item.documentCode == '1' || item.documentCode == '8' ? '需阅读' : '需签署' }}</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.documentStatus == '1'" /> <img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '8') && item.documentStatus == '1'" />
<img :src="src" v-if="item.documentCode !== '1' && item.documentStatus == '3'" /> <img :src="src" v-if="(item.documentCode == '1' || item.documentCode == '8') && item.documentStatus == '3'" />
</p> </p>
</div> </div>
<p class="start" v-if="airSign != '1'">点击开始分享进行相关操作</p> <p class="start" v-if="airSign != '1'">点击开始分享进行相关操作</p>
@@ -687,7 +687,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[0].documentStatus == 0) { if ((that.appntSign[i].documentCode == '1' || that.appntSign[i].documentCode == '8') && that.appntSign[i].documentStatus == 0) {
//1投保须知 未读 //1投保须知 未读
path = that.appntSign[i].routePath path = that.appntSign[i].routePath
break break
@@ -1124,23 +1124,26 @@ export default {
addKey(item) { addKey(item) {
//ducumentCode 1投保须知 2投保单 3产品说明书 4提示书 6免除保险人责任条款说明书 7保险销售行为双录说明 //ducumentCode 1投保须知 2投保单 3产品说明书 4提示书 6免除保险人责任条款说明书 7保险销售行为双录说明
if (item.documentCode == '1') { if (item.documentCode == '1') {
item.key = 1 item.key = 2
item.routePath = 'insuranceInformation' item.routePath = 'insuranceInformation'
} else if (item.documentCode == '2') { } else if (item.documentCode == '2') {
item.key = 6 item.key = 7
item.routePath = 'SignatureOfElectronic' item.routePath = 'SignatureOfElectronic'
} else if (item.documentCode == '3') { } else if (item.documentCode == '3') {
item.key = 2 item.key = 3
item.routePath = 'productTip' item.routePath = 'productTip'
} else if (item.documentCode == '4') { } else if (item.documentCode == '4') {
item.key = 3 item.key = 4
item.routePath = 'InsuranceTip' item.routePath = 'InsuranceTip'
} else if (item.documentCode == '6') { } else if (item.documentCode == '6') {
item.key = 4 item.key = 5
item.routePath = 'avoidDutyTip' item.routePath = 'avoidDutyTip'
} else if (item.documentCode == '7') { } else if (item.documentCode == '7') {
item.key = 5 item.key = 6
item.routePath = 'doubleRecordTip' item.routePath = 'doubleRecordTip'
} else if (item.documentCode == '8') {
item.key = 1
item.routePath = 'apointValidDoc'
} }
}, },
getSignInvalid() { getSignInvalid() {

View File

@@ -0,0 +1,376 @@
<template>
<div class="insuranceInformation-container pb50 redRadioCheckbox">
<van-notice-bar :scrollable="false" v-if="!Time" class="notice">{{ `提示阅读时长需在${this.Time ? this.time : this.number}秒以上` }}</van-notice-bar>
<div class="bg-white flex justify-content-c flex-direction-colunm align-it<po>ems-center p20 fs14">
<div>
<h2 style="text-align:center" class="mb20">指定保单生效日说明</h2>
<p>
尊敬的客户您好以下指定保单生效日相关说明请您务必仔细阅读和确认
</p>
<p>
交费成功即承保成功如您于2020年12月31日(包含当日之前承保保单生效日指定为2021年1月1日零时如您于2021年1月1日包含当日之后承保保单生效日为承保次日零时
</p>
<p>
国富人寿保险股份有限公司以下简称国富人寿承担的保险责任从保单生效日零时开始
</p>
<p>
承保成功后保险合同成立国富人寿将电子保单发送至您的电子邮箱
</p>
</div>
</div>
<van-radio-group v-model="radio" class="pb10 pb20 pl30">
<van-radio name="1" @click="click" class="fs14">
<span>本人已详细阅读并同意上述指定保单生效日说明 </span>
</van-radio>
</van-radio-group>
<div class="bg-white bottom-btn">
<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 } from '@/api/ebiz/sale/sale'
// import config from '@/config'
// import axios from 'axios'
export default {
data() {
let isWeixin = this.$utils.device().isWeixin //判断环境
return {
// 投保人还是被保险人信息
signVal: '',
// 被保险人签名信息
insuredSign: {},
// 投保人签名信息
appntSign: {},
radio: '',
// 倒计时时间
number: '',
// 定时器时间
time: '10',
// 定时器名称
timer: null,
isOver: false,
// 判断验证码是否开始倒计时
Time: true,
// 按钮是否可以点击
isDisable: true,
// 是否在微信
isWeixin,
productCode: localStorage.productCode, //获取产品编号
protocol: false
}
},
components: {
[RadioGroup.name]: RadioGroup,
[Radio.name]: Radio,
[Dialog.name]: Dialog,
[NoticeBar.name]: NoticeBar
},
mounted() {
let readingType = localStorage.getItem('readingProtocolType')
if (readingType && readingType === '1') {
this.protocol = true
}
let that = this
// {{switchFlag.Time?pageVariable.msg:pageVariable.number}}
that.timeOut()
document.title = '指定保单生效日说明'
// 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: {
timeOut() {
let that = this
let time = that.time
that.Time = false
that.number = `${time}`
let timer = setInterval(() => {
time--
if (time <= 0) {
time = 0
clearInterval(timer)
that.Time = true
that.isOver = true
// window.localStorage.setItem('step', '1')
}
that.number = `${time}`
}, 1000)
},
// 点击阅读时
click() {
let that = this
if (that.isOver == false) {
Dialog.confirm({
title: '提示',
message: '该内容涉及您的重大权益,请您仔细阅读',
showCancelButton: false
}).then(() => {
that.radio = ''
})
}
},
// 下一步
goNext() {
if (this.isWeixin) {
console.log('````````````````````')
console.log('进入微信')
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
let that = this
if (that.signVal == '0' || that.signVal == '2') {
that.appntSign.map(item => {
if (item.documentCode == '8') {
that.appntSign.signId = item.signId
that.appntSign.documentCode = item.documentCode
that.appntSign.documentType = item.documentType
}
})
let data = {
orderType: 'SIGN_ORDER',
orderDTO: {
orderInfoDTO: {
orderNo: 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 url = this.productCode == 'GFRS_M0003' || this.productCode == 'GFRS_M0015' || this.productCode == 'GFRS_M0017' ? 'productTip' : 'insuranceTip'
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 == '8') {
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', '')
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/SignatureOfElectronic'
},
routerInfo: {
path: '/sale/SignatureOfElectronic'
}
})
} else {
that.$toast(res.resultMessage)
}
})
}
} else {
let that = this
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
// console.log('that.appntSign.signId',that.appntSign,that.appntSign.signId,that.appntSign.documentCode,that.appntSign.documentType)
if (that.signVal == '0' || that.signVal == '2') {
that.appntSign.map(item => {
if (item.documentCode == '8') {
that.appntSign.signId = item.signId
that.appntSign.documentCode = item.documentCode
that.appntSign.documentType = item.documentType
}
})
let data = {
orderType: 'SIGN_ORDER',
orderDTO: {
orderInfoDTO: {
orderNo: 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', '')
let url = this.productCode == 'GFRS_M0003' || this.productCode == 'GFRS_M0015' || this.productCode == 'GFRS_M0017' ? 'productTip' : 'insuranceTip'
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 == '8') {
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', '')
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;
}
</style>