mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-16 02:56:45 +08:00
修改数据字典
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
// 数据字典
|
// 数据字典
|
||||||
export default {
|
export default {
|
||||||
//国家地区
|
//国家地区 -- 未改动
|
||||||
nativeplace: [
|
nativeplace: [
|
||||||
{ id: 1, text: '中国大陆' },
|
{ id: 1, text: '中国大陆' },
|
||||||
{ id: 2, text: '中国香港' },
|
{ id: 2, text: '中国香港' },
|
||||||
@@ -37,7 +37,7 @@ export default {
|
|||||||
{ id: 33, text: '爱尔兰' },
|
{ id: 33, text: '爱尔兰' },
|
||||||
{ id: 34, text: '埃及' }
|
{ id: 34, text: '埃及' }
|
||||||
],
|
],
|
||||||
//证件类型
|
//证件类型 -- 未改动
|
||||||
idType: [
|
idType: [
|
||||||
{ id: 1, text: '身份证' },
|
{ id: 1, text: '身份证' },
|
||||||
{ id: 2, text: '户口本' },
|
{ id: 2, text: '户口本' },
|
||||||
@@ -49,13 +49,15 @@ export default {
|
|||||||
],
|
],
|
||||||
//投保人证件类型
|
//投保人证件类型
|
||||||
insuredIdType: [
|
insuredIdType: [
|
||||||
{ id: 1, text: '身份证' },
|
{ id: 0, text: '居民身份证' },
|
||||||
{ id: 2, text: '户口本', disabled: true },
|
{ id: 1, text: '户口本', disabled: true },
|
||||||
{ id: 3, text: '出生证明', disabled: true },
|
{ id: 2, text: '出生证明', disabled: true },
|
||||||
{ id: 4, text: '护照' },
|
{ id: 3, text: '外国人永久居留身份证' },
|
||||||
{ id: 5, text: '港澳居民通行证' },
|
{ id: 4, text: '外国人护照' },
|
||||||
{ id: 6, text: '台湾居民通行证' },
|
{ id: 5, text: '港澳居民来往内地通行证' },
|
||||||
{ id: 7, text: '其他' }
|
{ id: 6, text: '台湾居民来往大陆通行证' },
|
||||||
|
{ id: 7, text: '其他' },
|
||||||
|
{ id: 9, text: '港澳台居民居住证' }
|
||||||
],
|
],
|
||||||
//代理人证件类型
|
//代理人证件类型
|
||||||
agentIdType: [
|
agentIdType: [
|
||||||
@@ -68,7 +70,7 @@ export default {
|
|||||||
{ id: 6, text: '台湾居民来往大陆通行证' },
|
{ id: 6, text: '台湾居民来往大陆通行证' },
|
||||||
{ id: 7, text: '其他' }
|
{ id: 7, text: '其他' }
|
||||||
],
|
],
|
||||||
//出生证明
|
//出生证明 -- 未改动
|
||||||
birthType: [
|
birthType: [
|
||||||
{ id: 1, text: '身份证' },
|
{ id: 1, text: '身份证' },
|
||||||
{ id: 2, text: '户口本' },
|
{ id: 2, text: '户口本' },
|
||||||
@@ -79,24 +81,23 @@ export default {
|
|||||||
{ id: 7, text: '其他' }
|
{ id: 7, text: '其他' }
|
||||||
],
|
],
|
||||||
//投保人/被保人关系
|
//投保人/被保人关系
|
||||||
relationToAppnt: [{ id: 1, text: '本人' }, { id: 2, text: '配偶' }, { id: 3, text: '父母' }, { id: 4, text: '子女' }, { id: 5, text: '其他' }],
|
relationToAppnt: [{ id: '00', text: '本人' }, { id: '01', text: '配偶' }, { id: '02', text: '父母' }, { id: '03', text: '子女' }, { id: '04', text: '其他' }],
|
||||||
//婚姻状况
|
//婚姻状况
|
||||||
marriage: [{ id: 1, text: '已婚' }, { id: 2, text: '未婚' }, { id: 3, text: '离婚' }, { id: 4, text: '丧偶' }],
|
marriage: [{ id: 0, text: '已婚' }, { id: 1, text: '单身' }, { id: 2, text: '其他' }],
|
||||||
//文化程度
|
//文化程度
|
||||||
degree: [
|
degree: [
|
||||||
{ id: 1, text: '博士及以上' },
|
{ id: 0, text: '博士及以上' },
|
||||||
{ id: 2, text: '硕士' },
|
{ id: 1, text: '硕士' },
|
||||||
{ id: 3, text: '本科' },
|
{ id: 2, text: '本科' },
|
||||||
{ id: 4, text: '大专' },
|
{ id: 3, text: '大专' },
|
||||||
|
{ id: 4, text: '中专' },
|
||||||
{ id: 5, text: '高中' },
|
{ id: 5, text: '高中' },
|
||||||
{ id: 6, text: '初中' },
|
{ id: 6, text: '初中' },
|
||||||
{ id: 7, text: '中专' },
|
{ id: 7, text: '其它' }
|
||||||
{ id: 8, text: '小学' },
|
|
||||||
{ id: 9, text: '小学以下' }
|
|
||||||
],
|
],
|
||||||
//居民身份 仅支持中国
|
//居民身份 仅支持中国 -- 未改动
|
||||||
taxIdentity: [{ id: 1, text: '仅为中国' }],
|
taxIdentity: [{ id: 1, text: '仅为中国' }],
|
||||||
//交费期限
|
//交费期限 -- 未改动
|
||||||
payEndYear: [
|
payEndYear: [
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
@@ -149,31 +150,36 @@ export default {
|
|||||||
],
|
],
|
||||||
//交费方式
|
//交费方式
|
||||||
payIntv: [
|
payIntv: [
|
||||||
|
{
|
||||||
|
id: -1,
|
||||||
|
text: '不定期交',
|
||||||
|
disabled: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 0,
|
||||||
|
text: '一次交清'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
text: '月交',
|
text: '月交',
|
||||||
disabled: true
|
disabled: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 2,
|
id: 12,
|
||||||
|
text: '年交'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 3,
|
||||||
text: '季交',
|
text: '季交',
|
||||||
disabled: true
|
disabled: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 3,
|
id: 6,
|
||||||
text: '半年交',
|
text: '半年交',
|
||||||
disabled: true
|
disabled: true
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 4,
|
|
||||||
text: '年交'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
id: 5,
|
|
||||||
text: '一次交清'
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
// 保险期间 data-dictionary
|
// 保险期间 data-dictionary -- 未改动
|
||||||
insureYear: [
|
insureYear: [
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
@@ -232,7 +238,7 @@ export default {
|
|||||||
text: '终身'
|
text: '终身'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
//客户类型
|
//客户类型 -- 未改动
|
||||||
customerType: [
|
customerType: [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
@@ -243,7 +249,7 @@ export default {
|
|||||||
text: '老客户'
|
text: '老客户'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
//客户来源
|
//客户来源 -- 未改动
|
||||||
customerSource: [
|
customerSource: [
|
||||||
{
|
{
|
||||||
id: 0,
|
id: 0,
|
||||||
@@ -261,16 +267,20 @@ export default {
|
|||||||
//在职情况
|
//在职情况
|
||||||
workCondition: [
|
workCondition: [
|
||||||
{
|
{
|
||||||
id: 1,
|
id: '01',
|
||||||
text: '在职'
|
text: '在职'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 2,
|
id: '02',
|
||||||
text: '退休'
|
text: '二次增员'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: 3,
|
id: '03',
|
||||||
text: '其他'
|
text: '离职'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '04',
|
||||||
|
text: '二次离职'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
policyState: [
|
policyState: [
|
||||||
|
|||||||
@@ -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 signatureOfNotice = () => import('@views/ebiz/sale/SignatureOfNotice')
|
||||||
const signatureOfElectronic = () => import('@/views/ebiz/sale/SignatureOfElectronic')
|
const signatureOfElectronic = () => import('@/views/ebiz/sale/SignatureOfElectronic')
|
||||||
const payResult = () => import('@/views/ebiz/sale/PayResult')
|
const payResult = () => import('@/views/ebiz/sale/PayResult')
|
||||||
const cardScan = () => import('@/views/ebiz/sale/CardScan')
|
const cardScan = () => import('@/views/ebiz/sale/CardScan')
|
||||||
@@ -122,6 +123,14 @@ export default [
|
|||||||
title: '阅读投保须知'
|
title: '阅读投保须知'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: '/sale/signatureOfNotice',
|
||||||
|
name: 'signatureOfNotice',
|
||||||
|
component: signatureOfNotice,
|
||||||
|
meta: {
|
||||||
|
title: '投保提示书签名'
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: '/sale/signatureOfElectronic',
|
path: '/sale/signatureOfElectronic',
|
||||||
name: 'signatureOfElectronic',
|
name: 'signatureOfElectronic',
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
<div class="bg-white bottom-btn">
|
<div class="bg-white bottom-btn">
|
||||||
<van-button type="danger" size="large" @click="payMent" v-no-more-click="1000">支付</van-button>
|
<van-button type="danger" size="large" @click="payMent" v-no-more-click="1000">支付</van-button>
|
||||||
</div>
|
</div>
|
||||||
<form ref="payForm" action="" method="post">
|
<form ref="payForm" action="http://10.10.100.84:7003/s3-modules-gateway/embed/gateway.action" method="post">
|
||||||
<input name="TransSource" type="hidden" v-model="TransSource" />
|
<input name="TransSource" type="hidden" v-model="TransSource" />
|
||||||
<input name="TransDate" type="hidden" v-model="TransDate" />
|
<input name="TransDate" type="hidden" v-model="TransDate" />
|
||||||
<input name="TransTime" type="hidden" v-model="TransTime" />
|
<input name="TransTime" type="hidden" v-model="TransTime" />
|
||||||
|
|||||||
666
src/views/ebiz/sale/SignatureOfNotice.vue
Normal file
666
src/views/ebiz/sale/SignatureOfNotice.vue
Normal file
@@ -0,0 +1,666 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<div class="pb60" v-if="detailJump == '1'">
|
||||||
|
<!-- config.imgDomain + `/returnDirectStream?imgPath=${window.localStorage.getItem('insurance-policyUrl')}` -->
|
||||||
|
|
||||||
|
<iframe :src="src + pdfUrl" class="iframe"></iframe>
|
||||||
|
|
||||||
|
<!-- <div id="pdf"></div> -->
|
||||||
|
<!-- <img :src="'data:image/jpeg;base64,' + url" /> -->
|
||||||
|
|
||||||
|
<div class="pt30 pl30 flex align-items-c">
|
||||||
|
<span class="mr10">投保人签字 :</span>
|
||||||
|
<div>
|
||||||
|
<van-button type="danger" size="small" @click="sign('0')" v-no-more-click="1000">{{ isSign ? '签名' : '已签名' }}</van-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="pb60" v-else>
|
||||||
|
<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>
|
||||||
|
<!-- <img :src="'data:image/jpeg;base64,' + url" /> -->
|
||||||
|
|
||||||
|
<van-radio-group v-model="radio" class="pb10 pt20 pl30">
|
||||||
|
<van-radio name="1" @click="click" class="fs12">
|
||||||
|
本人确认已阅读
|
||||||
|
<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.signStatus == '0' ? '签名' : '已签名' }}
|
||||||
|
</van-button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div v-if="signVal == '1'">
|
||||||
|
<van-button type="danger" size="small" :disabled="signVal == '1' ? true : isDisable" @click="sign('0')">
|
||||||
|
{{ appntSign.signStatus == '0' ? '未签名' : '已签名' }}
|
||||||
|
</van-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="pt25 pl30 flex align-items-c" v-if="relationToAppnt != '1'">
|
||||||
|
<span class="mr10">被保人/监护人签名:</span>
|
||||||
|
<div v-if="signVal == '0' || signVal == '2'">
|
||||||
|
<van-button type="danger" size="small" :disabled="signVal == '1' ? isDisableInsured : true" @click="sign('1')" v-no-more-click="1000">
|
||||||
|
{{ insuredSign.signStatus == '0' ? '未签名' : '已签名' }}
|
||||||
|
</van-button>
|
||||||
|
</div>
|
||||||
|
<div v-if="signVal == '1'" class="flex">
|
||||||
|
<van-button type="danger" size="small" :disabled="signVal == '1' ? isDisableInsured : true" @click="sign('1')" v-no-more-click="1000">
|
||||||
|
{{ insuredSign.signStatus == '0' ? '签名' : '已签名' }}
|
||||||
|
</van-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="bottom-btn bg-white" v-if="detailJump == '1'">
|
||||||
|
<van-button type="danger" size="large" @click="submit" :disabled="isSubmit" v-no-more-click="1000">提交</van-button>
|
||||||
|
</div>
|
||||||
|
<div class="bottom-btn bg-white" v-else>
|
||||||
|
<van-button type="danger" size="large" @click="next" :disabled="isDisabledComplite" v-no-more-click="1000">完成</van-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { RadioGroup, Radio, Dialog, NoticeBar } from 'vant'
|
||||||
|
import { getOrderDetail, saveInformation, submit } from '@/api/ebiz/sale/sale'
|
||||||
|
import config from '@/config'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
let isWeixin = this.$utils.device().isWeixin //判断环境
|
||||||
|
|
||||||
|
return {
|
||||||
|
pdfh5: null,
|
||||||
|
pdfUrl: '',
|
||||||
|
src: location.origin + '/pdfjs/web/viewer.html?file=',
|
||||||
|
radio: '',
|
||||||
|
// 倒计时时间
|
||||||
|
number: '',
|
||||||
|
// // 定时器时间
|
||||||
|
time: '10',
|
||||||
|
// // 定时器名称
|
||||||
|
timer: null,
|
||||||
|
isOver: false,
|
||||||
|
// 判断验证码是否开始倒计时
|
||||||
|
Time: true,
|
||||||
|
// 按钮是否可以点击
|
||||||
|
isDisable: true,
|
||||||
|
// 被保人是否可以点击
|
||||||
|
isDisableInsured: true,
|
||||||
|
// 投保人签名阅读信息
|
||||||
|
appntSign: {},
|
||||||
|
// 被保人签名阅读信息
|
||||||
|
insuredSign: {},
|
||||||
|
// 是投保人还是被保人 0 投保人 1被保人 2 投被同人
|
||||||
|
signVal: '',
|
||||||
|
// 图片路径
|
||||||
|
url: '',
|
||||||
|
// sign加密码
|
||||||
|
base64: '',
|
||||||
|
// 是否可以点击
|
||||||
|
isDisabledComplite: true,
|
||||||
|
// local带来的被保人信息
|
||||||
|
saleInsuredPersonInfo: {},
|
||||||
|
// local带来的投保人信息
|
||||||
|
saleInsuredInfo: {},
|
||||||
|
// 投被保人是否同人 1为投被同人,其他为不是
|
||||||
|
relationToAppnt: '',
|
||||||
|
// 是否在微信
|
||||||
|
isWeixin,
|
||||||
|
// 是否可以点击提交
|
||||||
|
isSubmit: true,
|
||||||
|
// 是否签名了 回执流程
|
||||||
|
isSign: true,
|
||||||
|
// 是否从详情跳过来 如果为1 是
|
||||||
|
detailJump: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
components: {
|
||||||
|
[RadioGroup.name]: RadioGroup,
|
||||||
|
[Radio.name]: Radio,
|
||||||
|
[Dialog.name]: Dialog,
|
||||||
|
[NoticeBar.name]: NoticeBar
|
||||||
|
},
|
||||||
|
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
|
||||||
|
}
|
||||||
|
that.number = `${time}`
|
||||||
|
}, 1000)
|
||||||
|
},
|
||||||
|
// 获取签名状态
|
||||||
|
async 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.signDTOS.map(item => {
|
||||||
|
if (item.signType == '0') {
|
||||||
|
that.appntSign = item
|
||||||
|
} else if (item.signType == '1') {
|
||||||
|
that.insuredSign = item
|
||||||
|
} else {
|
||||||
|
that.appntSign = item
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if (that.isWeixin) {
|
||||||
|
if (res.orderDTO.signDTOS.length > 1) {
|
||||||
|
if (that.appntSign.signStatus == '1' && that.insuredSign.signStatus == '1') {
|
||||||
|
that.isDisabledComplite = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
resolve('success')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 单选框
|
||||||
|
click() {
|
||||||
|
let that = this
|
||||||
|
if (that.isOver == false) {
|
||||||
|
Dialog.confirm({
|
||||||
|
title: '提示',
|
||||||
|
message: '该内容涉及您的重大权益,请您仔细阅读',
|
||||||
|
showCancelButton: false
|
||||||
|
}).then(() => {
|
||||||
|
that.radio = ''
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 点击提交
|
||||||
|
submit() {
|
||||||
|
this.$toast.loading({
|
||||||
|
duration: 0, // 持续展示 toast
|
||||||
|
|
||||||
|
forbidClick: true, // 禁用背景点击
|
||||||
|
|
||||||
|
loadingType: 'spinner',
|
||||||
|
|
||||||
|
message: '加载中……'
|
||||||
|
})
|
||||||
|
let data = {
|
||||||
|
contNo: window.localStorage.getItem('contNo'),
|
||||||
|
baseEncryp: this.base64,
|
||||||
|
pdfAddresss: window.localStorage.getItem('insurance-policyUrl')
|
||||||
|
}
|
||||||
|
|
||||||
|
submit(data).then(res => {
|
||||||
|
if (res.reslut == '0') {
|
||||||
|
this.$toast.clear()
|
||||||
|
window.localStorage.setItem('submitStatus', res.result)
|
||||||
|
this.$jump({
|
||||||
|
flag: 'h5',
|
||||||
|
extra: {
|
||||||
|
url: location.origin + '/#/serve/result',
|
||||||
|
backToFirst: '1'
|
||||||
|
},
|
||||||
|
routerInfo: {
|
||||||
|
path: '/serve/result'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
window.localStorage.setItem('submitStatus', res.result)
|
||||||
|
this.$jump({
|
||||||
|
flag: 'h5',
|
||||||
|
extra: {
|
||||||
|
url: location.origin + '/#/serve/result',
|
||||||
|
backToFirst: '1'
|
||||||
|
},
|
||||||
|
routerInfo: {
|
||||||
|
path: '/serve/result'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 点击完成
|
||||||
|
next() {
|
||||||
|
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: window.localStorage.getItem('orderNo')
|
||||||
|
},
|
||||||
|
signDTOS: [
|
||||||
|
{
|
||||||
|
signOrRead: 'sign',
|
||||||
|
signId: that.appntSign.signId,
|
||||||
|
orderNo: window.localStorage.getItem('orderNo'),
|
||||||
|
signStatus: '1',
|
||||||
|
signType: that.signVal,
|
||||||
|
baseEncryp: that.base64
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
saveInformation(data).then(res => {
|
||||||
|
if (res.result == '0') {
|
||||||
|
this.$toast.clear()
|
||||||
|
window.localStorage.setItem('jumpFromSign', '1')
|
||||||
|
if (this.isWeixin) {
|
||||||
|
localStorage.removeItem('signInfo')
|
||||||
|
this.$jump({
|
||||||
|
flag: 'h5',
|
||||||
|
extra: {
|
||||||
|
url: location.origin + '/#/sale/signatureConfirmation',
|
||||||
|
pullRefresh: '1',
|
||||||
|
backToFirst: '1'
|
||||||
|
},
|
||||||
|
routerInfo: {
|
||||||
|
path:
|
||||||
|
'/sale/signatureConfirmation?orderNo=' +
|
||||||
|
localStorage.orderNo +
|
||||||
|
'&token=' +
|
||||||
|
localStorage.token +
|
||||||
|
'&saleInsuredInfo=' +
|
||||||
|
localStorage.saleInsuredInfo +
|
||||||
|
'&saleInsuredPersonInfo=' +
|
||||||
|
localStorage.saleInsuredPersonInfo +
|
||||||
|
'&relationToAppnt=' +
|
||||||
|
JSON.parse(window.localStorage.getItem('saleInsuredPersonInfo')).relationToAppnt +
|
||||||
|
'&attachmentShow=' +
|
||||||
|
window.localStorage.getItem('attachmentShow')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.$jump({
|
||||||
|
flag: 'h5',
|
||||||
|
extra: {
|
||||||
|
url: location.origin + '/#/sale/signatureConfirmation',
|
||||||
|
pullRefresh: '1',
|
||||||
|
backToFirst: '1'
|
||||||
|
},
|
||||||
|
routerInfo: {
|
||||||
|
path: '/sale/signatureConfirmation'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
that.$toast(res.resultMessage)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
let data = {
|
||||||
|
orderType: 'SIGN_ORDER',
|
||||||
|
orderDTO: {
|
||||||
|
orderInfoDTO: {
|
||||||
|
orderNo: window.localStorage.getItem('orderNo')
|
||||||
|
},
|
||||||
|
signDTOS: [
|
||||||
|
{
|
||||||
|
signOrRead: 'sign',
|
||||||
|
signId: that.insuredSign.signId,
|
||||||
|
orderNo: window.localStorage.getItem('orderNo'),
|
||||||
|
signStatus: '1',
|
||||||
|
signType: that.signVal,
|
||||||
|
baseEncryp: that.base64
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
saveInformation(data).then(res => {
|
||||||
|
if (res.result == '0') {
|
||||||
|
this.$toast.clear()
|
||||||
|
window.localStorage.setItem('jumpFromSign', '1')
|
||||||
|
if (this.isWeixin) {
|
||||||
|
localStorage.removeItem('signInfo')
|
||||||
|
this.$jump({
|
||||||
|
flag: 'h5',
|
||||||
|
extra: {
|
||||||
|
url: location.origin + '/#/sale/signatureConfirmation',
|
||||||
|
pullRefresh: '1',
|
||||||
|
backToFirst: '1'
|
||||||
|
},
|
||||||
|
routerInfo: {
|
||||||
|
path:
|
||||||
|
'/sale/signatureConfirmation?orderNo=' +
|
||||||
|
localStorage.orderNo +
|
||||||
|
'&token=' +
|
||||||
|
localStorage.token +
|
||||||
|
'&saleInsuredInfo=' +
|
||||||
|
localStorage.saleInsuredInfo +
|
||||||
|
'&saleInsuredPersonInfo=' +
|
||||||
|
localStorage.saleInsuredPersonInfo +
|
||||||
|
'&relationToAppnt=' +
|
||||||
|
JSON.parse(window.localStorage.getItem('saleInsuredPersonInfo')).relationToAppnt +
|
||||||
|
'&attachmentShow=' +
|
||||||
|
window.localStorage.getItem('attachmentShow')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.$jump({
|
||||||
|
flag: 'h5',
|
||||||
|
extra: {
|
||||||
|
url: location.origin + '/#/sale/signatureConfirmation',
|
||||||
|
pullRefresh: '1',
|
||||||
|
backToFirst: '1'
|
||||||
|
},
|
||||||
|
routerInfo: {
|
||||||
|
path: '/sale/signatureConfirmation'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
that.$toast(res.resultMessage)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 点击签名
|
||||||
|
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('1', '申请日期', '-170')
|
||||||
|
} else {
|
||||||
|
EWebBridge.webCallAppInJs('ca_sign', {
|
||||||
|
//身份证号码
|
||||||
|
number: this.saleInsuredInfo.idNo,
|
||||||
|
//姓名
|
||||||
|
name: this.saleInsuredInfo.name,
|
||||||
|
keyword: '申请日期',
|
||||||
|
pageNo: '1',
|
||||||
|
index: '1',
|
||||||
|
offset: '-170',
|
||||||
|
pos: '3'
|
||||||
|
}).then(data => {
|
||||||
|
this.$toast.clear()
|
||||||
|
if (JSON.parse(data).state == '1') {
|
||||||
|
this.base64 = decodeURI(JSON.parse(data).sign)
|
||||||
|
this.appntSign.signStatus = '1'
|
||||||
|
this.isDisabledComplite = false
|
||||||
|
this.isSubmit = false
|
||||||
|
this.isSign = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (this.isWeixin) {
|
||||||
|
this.toAirSign('1', '法定监护人', '-170')
|
||||||
|
} else {
|
||||||
|
EWebBridge.webCallAppInJs('ca_sign', {
|
||||||
|
//身份证号码
|
||||||
|
number: this.saleInsuredInfo.idNo,
|
||||||
|
//姓名
|
||||||
|
name: this.saleInsuredInfo.name,
|
||||||
|
type: this.saleInsuredInfo.idType,
|
||||||
|
keyword: '法定监护人',
|
||||||
|
pageNo: '1',
|
||||||
|
index: '1',
|
||||||
|
offset: '-170',
|
||||||
|
pos: '3'
|
||||||
|
}).then(data => {
|
||||||
|
this.$toast.clear()
|
||||||
|
if (JSON.parse(data).state == '1') {
|
||||||
|
this.base64 = decodeURI(JSON.parse(data).sign)
|
||||||
|
this.appntSign.signStatus = '1'
|
||||||
|
this.isDisabledComplite = false
|
||||||
|
this.isSubmit = 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
|
||||||
|
}
|
||||||
|
if (this.isWeixin) {
|
||||||
|
this.toAirSign('1', '签收日期', '-150')
|
||||||
|
} 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'
|
||||||
|
}).then(data => {
|
||||||
|
this.$toast.clear()
|
||||||
|
if (JSON.parse(data).state == '1') {
|
||||||
|
that.base64 = decodeURI(JSON.parse(data).sign)
|
||||||
|
that.appntSign.signStatus = '1'
|
||||||
|
that.isDisabledComplite = false
|
||||||
|
that.isSubmit = false
|
||||||
|
that.isSign = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (this.isWeixin) {
|
||||||
|
this.toAirSign('2', '法定监护人', '0')
|
||||||
|
} else {
|
||||||
|
EWebBridge.webCallAppInJs('ca_sign', {
|
||||||
|
//身份证号码
|
||||||
|
number: that.saleInsuredPersonInfo.idNo,
|
||||||
|
//姓名
|
||||||
|
name: that.saleInsuredPersonInfo.name,
|
||||||
|
type: that.saleInsuredPersonInfo.idType,
|
||||||
|
keyword: '法定监护人',
|
||||||
|
pageNo: '1',
|
||||||
|
index: '1',
|
||||||
|
offset: '0',
|
||||||
|
pos: '3'
|
||||||
|
}).then(data => {
|
||||||
|
this.$toast.clear()
|
||||||
|
if (JSON.parse(data).state == '1') {
|
||||||
|
that.base64 = decodeURI(JSON.parse(data).sign)
|
||||||
|
that.insuredSign.signStatus = '1'
|
||||||
|
that.isDisabledComplite = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
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.origin
|
||||||
|
})
|
||||||
|
)
|
||||||
|
window.location.href = this.$mainUrl + '/sign'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
let that = this
|
||||||
|
|
||||||
|
that.detailJump = window.localStorage.getItem('detailJump')
|
||||||
|
that.signVal = window.localStorage.getItem('sign-val')
|
||||||
|
|
||||||
|
// 获取投保人信息
|
||||||
|
that.saleInsuredInfo = JSON.parse(window.localStorage.getItem('saleInsuredInfo'))
|
||||||
|
if (this.isWeixin) {
|
||||||
|
that.relationToAppnt = JSON.parse(window.localStorage.getItem('saleInsuredPersonInfo')).relationToAppnt
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.detailJump != '1') {
|
||||||
|
// 投被保人是否同人
|
||||||
|
that.relationToAppnt = JSON.parse(window.localStorage.getItem('saleInsuredPersonInfo')).relationToAppnt
|
||||||
|
// 获取被保人信息
|
||||||
|
that.saleInsuredPersonInfo = JSON.parse(window.localStorage.getItem('saleInsuredPersonInfo'))
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
listenChange() {
|
||||||
|
const { isOver, radio, appntSign, insuredSign } = this
|
||||||
|
return { isOver, radio, appntSign, insuredSign }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
listenChange(val) {
|
||||||
|
let that = this
|
||||||
|
if (that.signVal == '0' || that.signVal == '2') {
|
||||||
|
if (val.isOver == true && val.radio != '' && val.appntSign.signStatus !== '1') {
|
||||||
|
that.isDisable = false
|
||||||
|
} else {
|
||||||
|
that.isDisable = true
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (val.isOver == true && val.radio != '' && val.insuredSign.signStatus !== '1') {
|
||||||
|
that.isDisableInsured = false
|
||||||
|
} else {
|
||||||
|
that.isDisableInsured = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!this.isWeixin) {
|
||||||
|
if (val.appntSign.signStatus == '1' && val.insuredSign.signStatus == '1') {
|
||||||
|
that.isDisabledComplite = false
|
||||||
|
} else {
|
||||||
|
that.isDisabledComplite = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (val.appntSign.signStatus == '1') {
|
||||||
|
that.isDisable = true
|
||||||
|
}
|
||||||
|
if (val.insuredSign.signStatus == '1') {
|
||||||
|
that.isDisableInsured = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async mounted() {
|
||||||
|
if (this.detailJump != '1') {
|
||||||
|
this.getOrderDetail()
|
||||||
|
}
|
||||||
|
if (this.isWeixin) {
|
||||||
|
let imgBase64Data = sessionStorage.getItem('imgBase64Data')
|
||||||
|
let wxSigned = sessionStorage.getItem('wxSigned')
|
||||||
|
let signInfo = localStorage.getItem('signInfo')
|
||||||
|
console.log('`````````````````````````````````')
|
||||||
|
console.log('imgBase64Data: ' + imgBase64Data)
|
||||||
|
console.log('wxSigned: ' + wxSigned)
|
||||||
|
if (wxSigned) {
|
||||||
|
console.log('第二次进入电子保单')
|
||||||
|
console.log('````````````````````````````````')
|
||||||
|
let rs = await this.getOrderDetail()
|
||||||
|
console.log(rs)
|
||||||
|
if (rs === 'success') {
|
||||||
|
this.Time = true
|
||||||
|
this.radio = '1'
|
||||||
|
this.base64 = imgBase64Data
|
||||||
|
this.isDisabledComplite = false
|
||||||
|
if (signInfo.status == '1') {
|
||||||
|
// this.appntSign.signStatus = '1'
|
||||||
|
console.log('``````````````````')
|
||||||
|
console.log('appntSign:' + this.appntSign)
|
||||||
|
this.$set(this.appntSign, 'signStatus', '1')
|
||||||
|
this.isSubmit = false
|
||||||
|
this.isSign = false
|
||||||
|
} else {
|
||||||
|
// this.insuredSign.signStatus = '1'
|
||||||
|
console.log('````````````````````')
|
||||||
|
console.log('insuredSign:' + this.insuredSign)
|
||||||
|
this.$set(this.insuredSign, 'signStatus', '1')
|
||||||
|
// this.isDisabledComplite = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log('第二次进入保单,完成状态查看')
|
||||||
|
console.log(this.isDisabledComplite)
|
||||||
|
} else {
|
||||||
|
console.log('````````````````````````')
|
||||||
|
console.log('第一次进入电子保单')
|
||||||
|
this.timeOut()
|
||||||
|
this.getOrderDetail()
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.timeOut()
|
||||||
|
if (this.detailJump != '1') {
|
||||||
|
this.getOrderDetail()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
document.body.style.backgroundColor = '#fff'
|
||||||
|
this.pdfUrl = encodeURIComponent(config.imgDomain + `/returnDirectStream?imgPath=${window.localStorage.getItem('insurance-policyUrl')}`)
|
||||||
|
//实例化
|
||||||
|
// this.pdfh5 = new Pdfh5('#pdf', {
|
||||||
|
// pdfurl: config.imgDomain + `/returnDirectStream?imgPath=${window.localStorage.getItem('insurance-policyUrl')}`
|
||||||
|
// // pdfurl: res.data.content.content
|
||||||
|
// })
|
||||||
|
// 获取签名信息
|
||||||
|
},
|
||||||
|
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>
|
||||||
Reference in New Issue
Block a user