mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-06 13:06:43 +08:00
feat-调用人脸识别插件新增 orderNo 入参
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -4,3 +4,4 @@ dist
|
||||
.eslintrc.js
|
||||
.prettierrc
|
||||
.idea
|
||||
.history
|
||||
@@ -39,9 +39,7 @@
|
||||
</div>
|
||||
<div class="ebizGuarantor">
|
||||
<van-field readonly label-width="120px" label="担保人" v-model="ebizGuarantor.name"></van-field>
|
||||
<p class="p15 line-height">
|
||||
以下内容需要您按照顺序阅读并签字确认:
|
||||
</p>
|
||||
<p class="p15 line-height">以下内容需要您按照顺序阅读并签字确认:</p>
|
||||
<div class="p15 line-height">
|
||||
需签署:
|
||||
<ul>
|
||||
@@ -238,8 +236,8 @@ export default {
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
})
|
||||
return new Promise(resolve => {
|
||||
agreementQuery(data).then(res => {
|
||||
return new Promise((resolve) => {
|
||||
agreementQuery(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
this.agentInfo = res.content.ebizEnterCustomerDto
|
||||
@@ -251,10 +249,10 @@ export default {
|
||||
this.agentInfo.createdDate = this.agentInfo.createdDate.substring(0, 10)
|
||||
this.agentSignList = filtSignList(this, this.signList).agentSignList
|
||||
this.guaranteeSignList = filtSignList(this, this.signList).guaranteeSignList
|
||||
this.isAgentSubmit = this.agentSignList.every(item => {
|
||||
this.isAgentSubmit = this.agentSignList.every((item) => {
|
||||
return item.signState == '1'
|
||||
})
|
||||
this.isguranteeSubmit = this.guaranteeSignList.every(item => {
|
||||
this.isguranteeSubmit = this.guaranteeSignList.every((item) => {
|
||||
return item.signState == '1'
|
||||
})
|
||||
resolve()
|
||||
@@ -285,7 +283,7 @@ export default {
|
||||
message: '加载中……'
|
||||
})
|
||||
let data = {}
|
||||
getSignInvalid(data).then(res => {
|
||||
getSignInvalid(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
this.signInvalid = res.content.sign
|
||||
@@ -321,8 +319,8 @@ export default {
|
||||
let data = {
|
||||
sign: signInvalid
|
||||
}
|
||||
return new Promise(resolve => {
|
||||
checkSignInvalid(data).then(res => {
|
||||
return new Promise((resolve) => {
|
||||
checkSignInvalid(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
that.$toast.clear()
|
||||
let status = res.content.status
|
||||
@@ -366,7 +364,8 @@ export default {
|
||||
const authRes = await EWebBridge.webCallAppInJs('face_auth', {
|
||||
businessSource: '2', //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||
number: this.agentInfo.idNo, //身份证号码
|
||||
name: this.agentInfo.name //姓名
|
||||
name: this.agentInfo.name, //姓名
|
||||
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
|
||||
})
|
||||
// const authRes = await this.fakeFaceAuth(true)
|
||||
console.log(authRes)
|
||||
@@ -409,11 +408,11 @@ export default {
|
||||
goUrl(code) {
|
||||
let path = ''
|
||||
if (code == '0') {
|
||||
path = this.agentSignList.filter(v => {
|
||||
path = this.agentSignList.filter((v) => {
|
||||
return v.signState == '0'
|
||||
})[0].path
|
||||
} else if (code == '1') {
|
||||
path = this.guaranteeSignList.filter(v => {
|
||||
path = this.guaranteeSignList.filter((v) => {
|
||||
return v.signState == '0'
|
||||
})[0].path
|
||||
}
|
||||
@@ -437,7 +436,7 @@ export default {
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
})
|
||||
signAgreement(data).then(res => {
|
||||
signAgreement(data).then((res) => {
|
||||
console.log(res)
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
|
||||
@@ -1,27 +1,24 @@
|
||||
<template>
|
||||
<div class='orderDetail-container'>
|
||||
<index-bar :allowance-no='$route.query.allowanceNo' :reapply-no='$route.query.reapply' v-if='!isWeixin'></index-bar>
|
||||
<div v-for='(item, index) in allowanceSignDTOLst' :key='index'>
|
||||
<div class="orderDetail-container">
|
||||
<index-bar :allowance-no="$route.query.allowanceNo" :reapply-no="$route.query.reapply" v-if="!isWeixin"></index-bar>
|
||||
<div v-for="(item, index) in allowanceSignDTOLst" :key="index">
|
||||
<!-- 申请人 -->
|
||||
<div v-if='item.type == 1 && !isWeixin'>
|
||||
<p class='fw600 border-gb'>
|
||||
<span>申请人</span><span class='ml60'>{{ allowanceApplyDTO.name }}</span>
|
||||
<div v-if="item.type == 1 && !isWeixin">
|
||||
<p class="fw600 border-gb">
|
||||
<span>申请人</span><span class="ml60">{{ allowanceApplyDTO.name }}</span>
|
||||
</p>
|
||||
<p>点击【签名】按钮,进行申请人签名</p>
|
||||
<p class='border-gb'>
|
||||
<p class="border-gb">
|
||||
<span>申请人:</span>
|
||||
<van-button type='danger' color='#2E4591' class='ml5' size='small' @click='signFunc(item.type, item.id)'
|
||||
:disabled='isSure' v-no-more-click='1000'>{{
|
||||
item.signStatus == '0' ? '签名' : '已签名'
|
||||
}}
|
||||
<van-button type="danger" color="#2E4591" class="ml5" size="small" @click="signFunc(item.type, item.id)" :disabled="isSure" v-no-more-click="1000"
|
||||
>{{ item.signStatus == '0' ? '签名' : '已签名' }}
|
||||
</van-button>
|
||||
<img class='w60 h40 v-middle ml10' v-if='item.signPath' :src="imgUrl + item.signPath.replace(/\+/g, '%2B')"
|
||||
alt='' /><br />
|
||||
<img class="w60 h40 v-middle ml10" v-if="item.signPath" :src="imgUrl + item.signPath.replace(/\+/g, '%2B')" alt="" /><br />
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div v-if='item.type == 2'>
|
||||
<div v-if='isWeixin' class='bg-white mt10 fs14 tips'>
|
||||
<div v-if="item.type == 2">
|
||||
<div v-if="isWeixin" class="bg-white mt10 fs14 tips">
|
||||
<p>
|
||||
尊敬的
|
||||
<span>{{ allowanceEnjoyDTO.name }}</span
|
||||
@@ -29,83 +26,54 @@
|
||||
</p>
|
||||
<p>恭喜您获得国富人寿桂冠专属父母赡养津贴,需要您点击【签字】按钮,进行签字申请:</p>
|
||||
</div>
|
||||
<p v-if='!isWeixin' class='fw600 border-gb'>
|
||||
<span>享受人</span><span class='ml60'>{{ allowanceEnjoyDTO.name }}</span>
|
||||
<p v-if="!isWeixin" class="fw600 border-gb">
|
||||
<span>享受人</span><span class="ml60">{{ allowanceEnjoyDTO.name }}</span>
|
||||
</p>
|
||||
<p v-if='!isWeixin'>点击【签名】按钮,进行享受人签名</p>
|
||||
<p class='border-gb'>
|
||||
<p v-if="!isWeixin">点击【签名】按钮,进行享受人签名</p>
|
||||
<p class="border-gb">
|
||||
<span>享受人:</span>
|
||||
<van-button type='danger' color='#2E4591' class='ml5' size='small' @click='signFunc(item.type, item.id)'
|
||||
:disabled='isSure' v-no-more-click='1000'>{{
|
||||
item.signStatus == '0' ? '签名' : '已签名'
|
||||
}}
|
||||
<van-button type="danger" color="#2E4591" class="ml5" size="small" @click="signFunc(item.type, item.id)" :disabled="isSure" v-no-more-click="1000"
|
||||
>{{ item.signStatus == '0' ? '签名' : '已签名' }}
|
||||
</van-button>
|
||||
<img class='w60 h40 v-middle ml10' v-if='item.signPath' :src="imgUrl + item.signPath.replace(/\+/g, '%2B')"
|
||||
alt='' /><br />
|
||||
<img class="w60 h40 v-middle ml10" v-if="item.signPath" :src="imgUrl + item.signPath.replace(/\+/g, '%2B')" alt="" /><br />
|
||||
<!-- 享受人有分享功能 -->
|
||||
<van-button
|
||||
type='danger'
|
||||
color='#2E4591'
|
||||
class='ml65 mt10'
|
||||
v-if='!isWeixin'
|
||||
size='small'
|
||||
type="danger"
|
||||
color="#2E4591"
|
||||
class="ml65 mt10"
|
||||
v-if="!isWeixin"
|
||||
size="small"
|
||||
@click="share('0')"
|
||||
:disabled='isSure'
|
||||
v-no-more-click='1000'
|
||||
:disabled="isSure"
|
||||
v-no-more-click="1000"
|
||||
>分享
|
||||
</van-button
|
||||
>
|
||||
</van-button>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<van-button v-if='!isWeixin' type='danger' color='#2E4591' class='bottom-btn ffcb6b' @click='nextStep'
|
||||
v-no-more-click='1000'>提交审批
|
||||
</van-button>
|
||||
<SignTure :SignShow='SignShow' :signInfo='allowanceEnjoyDTO' @close='SignClose'
|
||||
@SignSuccessful='SignSuccessful'></SignTure>
|
||||
<van-button v-if="!isWeixin" type="danger" color="#2E4591" class="bottom-btn ffcb6b" @click="nextStep" v-no-more-click="1000">提交审批 </van-button>
|
||||
<SignTure :SignShow="SignShow" :signInfo="allowanceEnjoyDTO" @close="SignClose" @SignSuccessful="SignSuccessful"></SignTure>
|
||||
<!-- 短信验证 -->
|
||||
<van-dialog v-model='show' title='提示' show-cancel-button @confirm='authConfirm(authCode)' @cancel='clearTimer'>
|
||||
<p class='p10 fs14'>为确保是您本人操作,短信验证码已发送至您手机号{{ encyCustomerMobile }},请您输入验证码以完成后续投保操作。</p>
|
||||
<van-cell-group class='flex align-items-c pr5 mb15'>
|
||||
<van-field maxlength='6' placeholder='请输入短信验证码' v-model='authCode' clearable label-width='0' />
|
||||
<van-button type='danger' color='#2E4591' plain size='small' class='w160 p0' @click='getAuthCode'
|
||||
:disabled='codeDisabled' v-no-more-click='2000'>{{
|
||||
codeDisabled ? `${countDown}s后重新获取` : '获取验证码'
|
||||
}}
|
||||
<van-dialog v-model="show" title="提示" show-cancel-button @confirm="authConfirm(authCode)" @cancel="clearTimer">
|
||||
<p class="p10 fs14">为确保是您本人操作,短信验证码已发送至您手机号{{ encyCustomerMobile }},请您输入验证码以完成后续投保操作。</p>
|
||||
<van-cell-group class="flex align-items-c pr5 mb15">
|
||||
<van-field maxlength="6" placeholder="请输入短信验证码" v-model="authCode" clearable label-width="0" />
|
||||
<van-button type="danger" color="#2E4591" plain size="small" class="w160 p0" @click="getAuthCode" :disabled="codeDisabled" v-no-more-click="2000"
|
||||
>{{ codeDisabled ? `${countDown}s后重新获取` : '获取验证码' }}
|
||||
</van-button>
|
||||
</van-cell-group>
|
||||
</van-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import {
|
||||
Toast,
|
||||
CellGroup,
|
||||
Field,
|
||||
Dialog,
|
||||
Collapse,
|
||||
CollapseItem,
|
||||
Cell,
|
||||
Popup,
|
||||
Divider,
|
||||
RadioGroup,
|
||||
Radio,
|
||||
Tag
|
||||
} from 'vant'
|
||||
import { Toast, CellGroup, Field, Dialog, Collapse, CollapseItem, Cell, Popup, Divider, RadioGroup, Radio, Tag } from 'vant'
|
||||
import { getAllowanceDetail, saveOrUpdateAllowanceUrl, approveInit } from '@/api/ebiz/allowance/allowance'
|
||||
import SignTure from './component/SignTure'
|
||||
import config from '@/config'
|
||||
import { getWhitelist } from '@/api/ebiz/whitelist'
|
||||
import { weixinShare } from '@/assets/js/utils/wxShare.js'
|
||||
import { checkPhone } from '@/api/ebiz/customer/customer'
|
||||
import {
|
||||
getSignInvalid,
|
||||
checkSignInvalid,
|
||||
getAuthCode,
|
||||
autchCodeCheck,
|
||||
getRecognitionUrl,
|
||||
getRecognitionResult
|
||||
} from '@/api/ebiz/sale/sale'
|
||||
import { getSignInvalid, checkSignInvalid, getAuthCode, autchCodeCheck, getRecognitionUrl, getRecognitionResult } from '@/api/ebiz/sale/sale'
|
||||
import { getShareParam } from '@/api/ebiz/cardList/cardList.js'
|
||||
import IndexBar from '@/components/ebiz/allowance/application/IndexBar'
|
||||
|
||||
@@ -497,7 +465,8 @@ export default {
|
||||
const authRes = await EWebBridge.webCallAppInJs('face_auth', {
|
||||
businessSource: '5', //业务来源:1-电投,2-入司,3-理赔,4-保全 5津贴
|
||||
number: that.allowanceEnjoyDTO.idNo, //身份证号码
|
||||
name: that.allowanceEnjoyDTO.name //姓名
|
||||
name: that.allowanceEnjoyDTO.name, //姓名
|
||||
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
|
||||
}).then((data) => {
|
||||
console.log(JSON.parse(data), 'APP人脸识别结果')
|
||||
if (JSON.parse(data).state == '1') {
|
||||
@@ -728,7 +697,7 @@ export default {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang='scss'>
|
||||
<style lang="scss">
|
||||
#app {
|
||||
.van-dialog__confirm,
|
||||
.van-dialog__confirm:active {
|
||||
@@ -736,7 +705,7 @@ export default {
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<style lang='scss' scoped>
|
||||
<style lang="scss" scoped>
|
||||
.orderDetail-container {
|
||||
background-color: #fff;
|
||||
min-height: 100vh;
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<van-button
|
||||
type="danger"
|
||||
size="normal"
|
||||
style="width: 157px;"
|
||||
style="width: 157px"
|
||||
plain
|
||||
v-no-more-click="1000"
|
||||
@click="share(3)"
|
||||
@@ -34,7 +34,7 @@
|
||||
<van-button
|
||||
type="danger"
|
||||
size="normal"
|
||||
style="width: 157px;"
|
||||
style="width: 157px"
|
||||
plain
|
||||
v-no-more-click="1000"
|
||||
@click="start_ocr(3)"
|
||||
@@ -237,7 +237,7 @@ export default {
|
||||
caseStatus: 'applying',
|
||||
businessNo: localStorage.businessNo
|
||||
}
|
||||
progressDetail(data).then(res => {
|
||||
progressDetail(data).then((res) => {
|
||||
if (res.result == 0) {
|
||||
console.log(res)
|
||||
this.list = res.content
|
||||
@@ -253,7 +253,7 @@ export default {
|
||||
message: '加载中……'
|
||||
})
|
||||
let data = {}
|
||||
getSignInvalid(data).then(res => {
|
||||
getSignInvalid(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
this.signInvalid = res.content.sign
|
||||
@@ -273,7 +273,7 @@ export default {
|
||||
sign: signInvalid
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
checkSignInvalid(data).then(res => {
|
||||
checkSignInvalid(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
that.$toast.clear()
|
||||
let status = res.content.status
|
||||
@@ -354,7 +354,8 @@ export default {
|
||||
number: that.list.applyerCertiCode,
|
||||
//姓名
|
||||
name: that.list.applyerName,
|
||||
businessSource: '3'
|
||||
businessSource: '3',
|
||||
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
|
||||
})
|
||||
// const authRes = await new Promise(resolve => {
|
||||
// resolve(JSON.stringify({ state: '0' }))
|
||||
@@ -380,7 +381,7 @@ export default {
|
||||
let data = { realName: this.idcardData.idcardName, idno: this.idcardData.idcardNumber, redirectUrl: location.origin + '/#' + this.$route.fullPath }
|
||||
console.log('获取URL请求参数', data)
|
||||
getRecognitionUrl(data).then(
|
||||
res => {
|
||||
(res) => {
|
||||
console.log('getRecognitionUrl', res)
|
||||
if (res.result == '0') {
|
||||
localStorage.setItem('faceAuthWeXin-requestId', JSON.stringify(res.content.requestId))
|
||||
@@ -390,7 +391,7 @@ export default {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
},
|
||||
error => {
|
||||
(error) => {
|
||||
console.log(error)
|
||||
}
|
||||
)
|
||||
@@ -398,7 +399,7 @@ export default {
|
||||
},
|
||||
getRecognitionResult(requestId, bizToken) {
|
||||
getRecognitionResult({ requestId, bizToken })
|
||||
.then(res => {
|
||||
.then((res) => {
|
||||
console.log('getRecognitionResult', res)
|
||||
if (res.result == '0') {
|
||||
this.showRead()
|
||||
@@ -406,7 +407,7 @@ export default {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
.catch((error) => {
|
||||
console.log(error)
|
||||
})
|
||||
localStorage.setItem('faceAuthWeXin-requestId', '')
|
||||
@@ -445,7 +446,7 @@ export default {
|
||||
localStorage.setItem('successClaimNo', '')
|
||||
let that = this
|
||||
let data = { businessNo: localStorage.getItem('businessNo') }
|
||||
submit(data).then(res => {
|
||||
submit(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
localStorage.successClaimNo = res.content.claimNo
|
||||
that.$jump({
|
||||
|
||||
@@ -144,7 +144,7 @@
|
||||
<van-button
|
||||
type="danger"
|
||||
size="normal"
|
||||
style="width: 157px;"
|
||||
style="width: 157px"
|
||||
plain
|
||||
:disabled="changeCard ? appntSign.documentStatus == '1' : appntSignStatus == '3'"
|
||||
v-no-more-click="1000"
|
||||
@@ -178,7 +178,7 @@
|
||||
type="danger"
|
||||
size="normal"
|
||||
plain
|
||||
style="width: 157px;"
|
||||
style="width: 157px"
|
||||
:disabled="insuredSignStatus == '3'"
|
||||
@click="start_ocr('1')"
|
||||
v-no-more-click="1000"
|
||||
@@ -509,7 +509,7 @@ export default {
|
||||
}
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
return new Promise((resolve, reject) => {
|
||||
checkPhone(data).then(res => {
|
||||
checkPhone(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
console.log(res)
|
||||
this.show = true
|
||||
@@ -578,7 +578,7 @@ export default {
|
||||
operateCode: this.customerMobile,
|
||||
system: 'agentApp',
|
||||
operateCodeType: '0'
|
||||
}).then(res => {
|
||||
}).then((res) => {
|
||||
console.log(res)
|
||||
if (res.result == 0) {
|
||||
this.sid = res.sessionId
|
||||
@@ -750,8 +750,9 @@ export default {
|
||||
const authRes = await EWebBridge.webCallAppInJs('face_auth', {
|
||||
businessSource: '1', //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||
number: that.saleInsuredInfo.idNo, //身份证号码
|
||||
name: that.saleInsuredInfo.name //姓名
|
||||
}).then(data => {
|
||||
name: that.saleInsuredInfo.name, //姓名
|
||||
orderNo: CacheUtils.getLocItem('orderNo') //订单号
|
||||
}).then((data) => {
|
||||
if (JSON.parse(data).state == '1') {
|
||||
// 保存rid 数据
|
||||
that.saveCustomerRidInfo('appnt_rid', 'B')
|
||||
@@ -824,8 +825,9 @@ export default {
|
||||
const authRes = await EWebBridge.webCallAppInJs('face_auth', {
|
||||
businessSource: '1', //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||
number: that.saleInsuredPersonInfo.idNo, //身份证号码
|
||||
name: that.saleInsuredPersonInfo.name //姓名
|
||||
}).then(data => {
|
||||
name: that.saleInsuredPersonInfo.name, //姓名
|
||||
orderNo: CacheUtils.getLocItem('orderNo') //订单号
|
||||
}).then((data) => {
|
||||
if (JSON.parse(data).state == '1') {
|
||||
that.saveCustomerRidInfo('insured_rid', 'B')
|
||||
that.insuredUrl()
|
||||
@@ -981,7 +983,8 @@ export default {
|
||||
}
|
||||
})
|
||||
} else {
|
||||
console.log(location.origin +
|
||||
console.log(
|
||||
location.origin +
|
||||
'/#/insureAgain/signatureConfirmation?orderNo=' +
|
||||
localStorage.orderNo +
|
||||
'&token=' +
|
||||
@@ -993,7 +996,8 @@ export default {
|
||||
'&signInvalid=' +
|
||||
this.signInvalid +
|
||||
'&productCode=' +
|
||||
localStorage.productCode)
|
||||
localStorage.productCode
|
||||
)
|
||||
// eslint-disable-next-line no-undef
|
||||
EWebBridge.webCallAppInJs('bridge', {
|
||||
flag: 'share',
|
||||
@@ -1041,7 +1045,7 @@ export default {
|
||||
}
|
||||
}
|
||||
// /insure/selfToHuman
|
||||
underWrite(data).then(res => {
|
||||
underWrite(data).then((res) => {
|
||||
this.$toast.clear()
|
||||
let that = this
|
||||
if (res.result == '0') {
|
||||
@@ -1148,8 +1152,8 @@ export default {
|
||||
getOtherType: 'RID'
|
||||
}
|
||||
localStorage.setItem('riskName', '')
|
||||
return new Promise(resolve => {
|
||||
getOrderDetail(data).then(res => {
|
||||
return new Promise((resolve) => {
|
||||
getOrderDetail(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
if (res.orderDTO && res.orderDTO.prtType) {
|
||||
localStorage.setItem('readingProtocolType', res.orderDTO.prtType)
|
||||
@@ -1165,7 +1169,6 @@ export default {
|
||||
!!res.orderDTO.productDTO.special.content &&
|
||||
res.orderDTO.productDTO.special.content !== ''
|
||||
) {
|
||||
|
||||
let content = res.orderDTO.productDTO.special.content
|
||||
|
||||
try {
|
||||
@@ -1219,7 +1222,7 @@ export default {
|
||||
}
|
||||
that.appnt = res.orderDTO.appntDTO
|
||||
that.date = res.orderDTO.orderInfoDTO.appntDateLabel
|
||||
res.orderDTO.ebizSignDTOS.map(item => {
|
||||
res.orderDTO.ebizSignDTOS.map((item) => {
|
||||
if (item.signType == '0' || item.signType == '2') {
|
||||
if (!localStorage.changeCard) {
|
||||
if (item.documentCode != '5') {
|
||||
@@ -1242,7 +1245,7 @@ export default {
|
||||
return a.key - b.key
|
||||
})
|
||||
//获取投保和被保险人电子投保单签字状态
|
||||
that.appntSign.map(item => {
|
||||
that.appntSign.map((item) => {
|
||||
// 判断是否双录
|
||||
if (item.documentCode == '6') {
|
||||
localStorage.doubleRecordFlag = '1'
|
||||
@@ -1251,7 +1254,7 @@ export default {
|
||||
that.appntSignStatus = item.documentStatus
|
||||
}
|
||||
})
|
||||
that.insuredSign.map(item => {
|
||||
that.insuredSign.map((item) => {
|
||||
if (item.documentCode == '2') {
|
||||
that.insuredSignStatus = item.documentStatus
|
||||
}
|
||||
@@ -1299,7 +1302,7 @@ export default {
|
||||
message: '加载中……'
|
||||
})
|
||||
let data = {}
|
||||
getSignInvalid(data).then(res => {
|
||||
getSignInvalid(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
this.signInvalid = res.content.sign
|
||||
@@ -1320,8 +1323,8 @@ export default {
|
||||
let data = {
|
||||
sign: signInvalid
|
||||
}
|
||||
return new Promise(resolve => {
|
||||
checkSignInvalid(data).then(res => {
|
||||
return new Promise((resolve) => {
|
||||
checkSignInvalid(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
that.$toast.clear()
|
||||
let status = res.content.status
|
||||
@@ -1385,7 +1388,7 @@ export default {
|
||||
businessSource: this.idcardData.businessSource
|
||||
}
|
||||
getRecognitionUrl(data).then(
|
||||
res => {
|
||||
(res) => {
|
||||
if (res.result == '0') {
|
||||
localStorage.setItem('faceAuthWeXin-requestId', JSON.stringify(res.content.requestId))
|
||||
localStorage.setItem('faceAuthWeXin-bizToken', JSON.stringify(res.content.bizToken))
|
||||
@@ -1394,7 +1397,7 @@ export default {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
},
|
||||
error => {
|
||||
(error) => {
|
||||
console.log(error)
|
||||
}
|
||||
)
|
||||
@@ -1403,7 +1406,7 @@ export default {
|
||||
getRecognitionResult(requestId, bizToken) {
|
||||
return new Promise(() => {
|
||||
getRecognitionResult({ requestId, bizToken }).then(
|
||||
res => {
|
||||
(res) => {
|
||||
if (res.result == '0') {
|
||||
this.recognizeResult = res.result
|
||||
} else {
|
||||
@@ -1411,7 +1414,7 @@ export default {
|
||||
}
|
||||
this.sendimage(this.recognizeResult)
|
||||
},
|
||||
error => {
|
||||
(error) => {
|
||||
console.log(error)
|
||||
}
|
||||
)
|
||||
@@ -1450,7 +1453,7 @@ export default {
|
||||
}
|
||||
}
|
||||
// 保存rid 认证结果 不阻断流程
|
||||
saveCustomerRid(param).then(res => {
|
||||
saveCustomerRid(param).then((res) => {
|
||||
console.log('saveCustomerRid', res)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -30,7 +30,9 @@
|
||||
<div v-if="active === 'uncommit'">
|
||||
<van-button size="small" round type="danger" @click="uncommitInsureDetail(order)" plain>查看详情</van-button>
|
||||
<van-button v-if="canRevoke[order.newOrderStatus]" class="ml10" size="small" round type="danger" @click="revokeOrder(order)">撤单</van-button>
|
||||
<van-button class="ml10" size="small" round type="danger" @click="insureAgain(order)">{{ order.newOrderStatus == '02'?'待支付':'重新投保'}}</van-button>
|
||||
<van-button class="ml10" size="small" round type="danger" @click="insureAgain(order)">{{
|
||||
order.newOrderStatus == '02' ? '待支付' : '重新投保'
|
||||
}}</van-button>
|
||||
</div>
|
||||
<div v-if="active === 'commit'">
|
||||
<van-button v-if="canRevoke[order.newOrderStatus]" class="ml10" size="small" round type="danger" @click="revokeOrder(order)">撤单</van-button>
|
||||
@@ -74,7 +76,9 @@
|
||||
<p style="text-indent: 28px">
|
||||
您好!感谢您选择购买国富人寿保险股份有限公司(以下简称我们)保险产品,您于{{ orderInfo.cvaliDate }}投保的旧保单{{
|
||||
orderInfo.policyNo
|
||||
}},产品名称为{{ orderInfo.riskName }}即将到期或已到期(到期日期详见保单),为保护您的权益,您可向我们提交重新投保申请。以下是申请重新投保的注意事项和声明,请您仔细阅读和确认:
|
||||
}},产品名称为{{
|
||||
orderInfo.riskName
|
||||
}}即将到期或已到期(到期日期详见保单),为保护您的权益,您可向我们提交重新投保申请。以下是申请重新投保的注意事项和声明,请您仔细阅读和确认:
|
||||
</p>
|
||||
<p style="text-indent: 28px">1.{{ orderInfo.riskName }}保险期间为一年,到期后需要您重新投保。</p>
|
||||
<p style="text-indent: 28px">
|
||||
@@ -95,7 +99,9 @@
|
||||
<p style="text-indent: 28px">
|
||||
您好!感谢您选择购买国富人寿保险股份有限公司(以下简称我们)保险产品,您于{{ orderInfo.cvaliDate }}投保的旧保单{{
|
||||
orderInfo.policyNo
|
||||
}},产品名称为:{{ orderInfo.riskName }}即将到期或已到期(到期日期详见保单),为保护您的权益,您可向我们提交重新投保申请。以下是申请重新投保的注意事项和声明,请您仔细阅读和确认:
|
||||
}},产品名称为:{{
|
||||
orderInfo.riskName
|
||||
}}即将到期或已到期(到期日期详见保单),为保护您的权益,您可向我们提交重新投保申请。以下是申请重新投保的注意事项和声明,请您仔细阅读和确认:
|
||||
</p>
|
||||
<p style="text-indent: 28px">1.{{ orderInfo.riskName }}保险期间为一年,到期后需要您重新投保。</p>
|
||||
<p style="text-indent: 28px">
|
||||
@@ -180,15 +186,15 @@ export default {
|
||||
isShow: false,
|
||||
orderInfo: {},
|
||||
canRevoke: {
|
||||
'19': true,
|
||||
19: true,
|
||||
'02': true,
|
||||
'48': true,
|
||||
'49': true,
|
||||
'55': true,
|
||||
'58': true,
|
||||
'46': true,
|
||||
'50': true,
|
||||
'51': true
|
||||
48: true,
|
||||
49: true,
|
||||
55: true,
|
||||
58: true,
|
||||
46: true,
|
||||
50: true,
|
||||
51: true
|
||||
},
|
||||
revokePanelShow: false,
|
||||
sms: '',
|
||||
@@ -206,7 +212,12 @@ export default {
|
||||
NewItems() {
|
||||
var NewItems = []
|
||||
this.policyListDTOList.map((item) => {
|
||||
if (item.riskName.search(this.searchName) != -1 || item.policyNo.search(this.searchName) != -1 || item.appntName.search(this.searchName) != -1 || item.insuredName.search(this.searchName) != -1) {
|
||||
if (
|
||||
item.riskName.search(this.searchName) != -1 ||
|
||||
item.policyNo.search(this.searchName) != -1 ||
|
||||
item.appntName.search(this.searchName) != -1 ||
|
||||
item.insuredName.search(this.searchName) != -1
|
||||
) {
|
||||
if (item.reInsuranceState != null && item.reInsuranceState != '') {
|
||||
if (this.active === 'uncommit') {
|
||||
if (
|
||||
@@ -316,7 +327,8 @@ export default {
|
||||
window.EWebBridge.webCallAppInJs('face_auth', {
|
||||
businessSource: '1', //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||
number: res.orderDTO.appntDTO.idNo, //身份证号码
|
||||
name: res.orderDTO.appntDTO.name //姓名
|
||||
name: res.orderDTO.appntDTO.name, //姓名,
|
||||
orderNo: CacheUtils.getLocItem('orderNo') //订单号
|
||||
}).then((data) => {
|
||||
if (JSON.parse(data).state == '1') {
|
||||
this.goUrl(res, order)
|
||||
|
||||
@@ -177,7 +177,8 @@ export default {
|
||||
this.toFace({
|
||||
number: this.customerInfo.idNo, //身份证号码
|
||||
name: this.customerInfo.customerName, //姓名
|
||||
businessSource: '4' //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||
businessSource: '4', //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
|
||||
})
|
||||
}
|
||||
} else if (this.entry == 'BC') {
|
||||
@@ -193,7 +194,8 @@ export default {
|
||||
this.toFace({
|
||||
number: this.policy.insuredInfo.idNo, //身份证号码
|
||||
name: this.policy.insuredInfo.insuredName, //姓名
|
||||
businessSource: '4' //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||
businessSource: '4', //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
|
||||
})
|
||||
}
|
||||
} else {
|
||||
@@ -204,7 +206,8 @@ export default {
|
||||
this.toFace({
|
||||
number: this.policy.appntInfo.idNo, //身份证号码
|
||||
name: this.policy.appntInfo.appntName, //姓名
|
||||
businessSource: '4' //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||
businessSource: '4', //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -244,7 +247,7 @@ export default {
|
||||
// console.log('--跳过人脸识别--返回识别成功')
|
||||
// resolve(JSON.stringify({ state: '0' }))
|
||||
// })
|
||||
.then(data => {
|
||||
.then((data) => {
|
||||
if (JSON.parse(data).state == '1') {
|
||||
this.jumpNextPage(this.path)
|
||||
} else {
|
||||
|
||||
@@ -180,7 +180,7 @@ export default {
|
||||
operateCode: this.customerMobile,
|
||||
system: 'agentApp',
|
||||
operateCodeType: '0'
|
||||
}).then(res => {
|
||||
}).then((res) => {
|
||||
console.log(res)
|
||||
if (res.result == 0) {
|
||||
this.sid = res.sessionId
|
||||
@@ -238,7 +238,7 @@ export default {
|
||||
this.authCode = null
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
return new Promise((resolve, reject) => {
|
||||
checkPhone(data).then(res => {
|
||||
checkPhone(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
console.log(res)
|
||||
this.show = true
|
||||
@@ -260,7 +260,7 @@ export default {
|
||||
// policyNo: '809920190000597308'
|
||||
}
|
||||
|
||||
getPolicyDetail(data).then(res => {
|
||||
getPolicyDetail(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
let appntDTO = res.content.appntDTO
|
||||
let orderInfoDTO = res.content.orderInfoDTO
|
||||
@@ -282,8 +282,8 @@ export default {
|
||||
that.appntDTO = appntDTO
|
||||
this.$CacheUtils.setLocItem('saleInsuredInfo', JSON.stringify(appntDTO))
|
||||
// 被保险人信息
|
||||
res.content.insuredDTOs.map(insured => {
|
||||
insured.riskDTOLst.map(risk => {
|
||||
res.content.insuredDTOs.map((insured) => {
|
||||
insured.riskDTOLst.map((risk) => {
|
||||
Number(risk.payIntv)
|
||||
switch (risk.payIntv) {
|
||||
case -1:
|
||||
@@ -320,7 +320,7 @@ export default {
|
||||
this.filterData(dataDictionary.sex, 'sex', insured)
|
||||
this.filterData(dataDictionary.idType, 'idType', insured)
|
||||
this.filterData(dataDictionary.relationToAppnt, 'relation', insured)
|
||||
insured.bnfDTOs.map(bnf => {
|
||||
insured.bnfDTOs.map((bnf) => {
|
||||
this.filterData(dataDictionary.bnfType, 'bnfType', bnf)
|
||||
this.filterData(dataDictionary.sex, 'sex', bnf)
|
||||
this.filterData(dataDictionary.idType, 'idType', bnf)
|
||||
@@ -337,7 +337,7 @@ export default {
|
||||
},
|
||||
//根据数据字典 将后端返回的数据渲染到页面中
|
||||
filterData(dictionary, key, pageData) {
|
||||
dictionary.forEach(item => {
|
||||
dictionary.forEach((item) => {
|
||||
if (pageData[key] == item.id) {
|
||||
pageData[key + 'Text'] = item.text //渲染页面使用的字段
|
||||
}
|
||||
@@ -351,8 +351,9 @@ export default {
|
||||
//证件类型为身份证时,进行人脸识别
|
||||
EWebBridge.webCallAppInJs('face_auth', {
|
||||
number: this.appntDTO.idNo, //身份证号码
|
||||
name: this.appntDTO.name //姓名
|
||||
}).then(data => {
|
||||
name: this.appntDTO.name, //姓名
|
||||
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
|
||||
}).then((data) => {
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
forbidClick: true, // 禁用背景点击
|
||||
@@ -380,7 +381,7 @@ export default {
|
||||
let params = {
|
||||
contNo: window.localStorage.getItem('policyNo')
|
||||
}
|
||||
getReceiptSign(params).then(res => {
|
||||
getReceiptSign(params).then((res) => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
window.localStorage.setItem('insurance-policyUrl', res.signUrl)
|
||||
|
||||
@@ -179,7 +179,7 @@ export default {
|
||||
operateCode: this.customerMobile,
|
||||
system: 'agentApp',
|
||||
operateCodeType: '0'
|
||||
}).then(res => {
|
||||
}).then((res) => {
|
||||
console.log(res)
|
||||
if (res.result == 0) {
|
||||
this.sid = res.sessionId
|
||||
@@ -237,7 +237,7 @@ export default {
|
||||
this.authCode = null
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
return new Promise((resolve, reject) => {
|
||||
checkPhone(data).then(res => {
|
||||
checkPhone(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
console.log(res)
|
||||
this.show = true
|
||||
@@ -259,7 +259,7 @@ export default {
|
||||
// policyNo: '809920190000597308'
|
||||
}
|
||||
|
||||
getPolicyDetail(data).then(res => {
|
||||
getPolicyDetail(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
let appntDTO = res.content.appntDTO
|
||||
let orderInfoDTO = res.content.orderInfoDTO
|
||||
@@ -281,8 +281,8 @@ export default {
|
||||
that.appntDTO = appntDTO
|
||||
this.$CacheUtils.setLocItem('saleInsuredInfo', JSON.stringify(appntDTO))
|
||||
// 被保险人信息
|
||||
res.content.insuredDTOs.map(insured => {
|
||||
insured.riskDTOLst.map(risk => {
|
||||
res.content.insuredDTOs.map((insured) => {
|
||||
insured.riskDTOLst.map((risk) => {
|
||||
Number(risk.payIntv)
|
||||
switch (risk.payIntv) {
|
||||
case -1:
|
||||
@@ -319,7 +319,7 @@ export default {
|
||||
this.filterData(dataDictionary.sex, 'sex', insured)
|
||||
this.filterData(dataDictionary.idType, 'idType', insured)
|
||||
this.filterData(dataDictionary.relationToAppnt, 'relation', insured)
|
||||
insured.bnfDTOs.map(bnf => {
|
||||
insured.bnfDTOs.map((bnf) => {
|
||||
this.filterData(dataDictionary.bnfType, 'bnfType', bnf)
|
||||
this.filterData(dataDictionary.sex, 'sex', bnf)
|
||||
this.filterData(dataDictionary.idType, 'idType', bnf)
|
||||
@@ -336,7 +336,7 @@ export default {
|
||||
},
|
||||
//根据数据字典 将后端返回的数据渲染到页面中
|
||||
filterData(dictionary, key, pageData) {
|
||||
dictionary.forEach(item => {
|
||||
dictionary.forEach((item) => {
|
||||
if (pageData[key] == item.id) {
|
||||
pageData[key + 'Text'] = item.text //渲染页面使用的字段
|
||||
}
|
||||
@@ -350,8 +350,9 @@ export default {
|
||||
//证件类型为身份证时,进行人脸识别
|
||||
EWebBridge.webCallAppInJs('face_auth', {
|
||||
number: this.appntDTO.idNo, //身份证号码
|
||||
name: this.appntDTO.name //姓名
|
||||
}).then(data => {
|
||||
name: this.appntDTO.name, //姓名
|
||||
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
|
||||
}).then((data) => {
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
forbidClick: true, // 禁用背景点击
|
||||
@@ -379,7 +380,7 @@ export default {
|
||||
let params = {
|
||||
contNo: window.localStorage.getItem('policyNo')
|
||||
}
|
||||
getReceiptSign(params).then(res => {
|
||||
getReceiptSign(params).then((res) => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
window.localStorage.setItem('insurance-policyUrl', res.signUrl)
|
||||
|
||||
@@ -34,42 +34,64 @@
|
||||
代理人
|
||||
<span class="ml20">{{ recmd.name }}</span>
|
||||
</div>
|
||||
<p class="mb20" style="color: #323233;">以下内容需要您按照顺序阅读并签字确认:</p>
|
||||
<p class="mb20" style="color: #323233">以下内容需要您按照顺序阅读并签字确认:</p>
|
||||
<div v-if="changeCard">
|
||||
<p style="display: flex;align-items: center;justify-content: space-between;" class="fs20">
|
||||
<span style="color: #323233;">需阅读</span>
|
||||
<span style="display: flex;align-items: center;">
|
||||
<img v-if="agentSign.documentStatus == '1' || agentSign.documentStatus == '3'" style="width: 16px;" :src="src"/>
|
||||
<span v-if="agentSign.documentStatus == '1'" style="margin-left: 15px;color: #03ceaf;">已阅读</span>
|
||||
<span v-if="agentSign.documentStatus == '3'" style="margin-left: 15px;color: #03ceaf;">签署完成</span>
|
||||
<p style="display: flex; align-items: center; justify-content: space-between" class="fs20">
|
||||
<span style="color: #323233">需阅读</span>
|
||||
<span style="display: flex; align-items: center">
|
||||
<img v-if="agentSign.documentStatus == '1' || agentSign.documentStatus == '3'" style="width: 16px" :src="src" />
|
||||
<span v-if="agentSign.documentStatus == '1'" style="margin-left: 15px; color: #03ceaf">已阅读</span>
|
||||
<span v-if="agentSign.documentStatus == '3'" style="margin-left: 15px; color: #03ceaf">签署完成</span>
|
||||
</span>
|
||||
</p>
|
||||
<p class="mb20 fs20">
|
||||
<span class="text" style="color:red;opacity: 0.7;">{{ agentSign.documentName }}</span>
|
||||
<span class="text" style="color: red; opacity: 0.7">{{ agentSign.documentName }}</span>
|
||||
</p>
|
||||
</div>
|
||||
<div v-else>
|
||||
<div v-for="(item, index) in agentSign" :key="index">
|
||||
<p style="display: flex;align-items: center;justify-content: space-between;" class="fs20">
|
||||
<span style="color: #323233;">{{ item.documentCode == '1' || item.documentCode == '3' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13' || item.documentCode == '14' ? '需阅读' : '需阅读并签署' }}</span>
|
||||
<span style="display: flex;align-items: center;">
|
||||
<img v-if="item.documentStatus == '1' || item.documentStatus == '3'" style="width: 16px;" :src="src"/>
|
||||
<span v-if="item.documentStatus == '1'" style="margin-left: 15px;color: #03ceaf;">已阅读</span>
|
||||
<span v-if="item.documentStatus == '3'" style="margin-left: 15px;color: #03ceaf;">签署完成</span>
|
||||
<p style="display: flex; align-items: center; justify-content: space-between" class="fs20">
|
||||
<span style="color: #323233">{{
|
||||
item.documentCode == '1' ||
|
||||
item.documentCode == '3' ||
|
||||
item.documentCode == '8' ||
|
||||
item.documentCode == '9' ||
|
||||
item.documentCode == '12' ||
|
||||
item.documentCode == '13' ||
|
||||
item.documentCode == '14'
|
||||
? '需阅读'
|
||||
: '需阅读并签署'
|
||||
}}</span>
|
||||
<span style="display: flex; align-items: center">
|
||||
<img v-if="item.documentStatus == '1' || item.documentStatus == '3'" style="width: 16px" :src="src" />
|
||||
<span v-if="item.documentStatus == '1'" style="margin-left: 15px; color: #03ceaf">已阅读</span>
|
||||
<span v-if="item.documentStatus == '3'" style="margin-left: 15px; color: #03ceaf">签署完成</span>
|
||||
</span>
|
||||
</p>
|
||||
<p class="mb20 fs20" @click="gosomefile(item, index, '3')">
|
||||
<span class="text" style="color:red;opacity: 0.7;">{{ item.documentName }}</span>
|
||||
<span class="text" style="color: red; opacity: 0.7">{{ item.documentName }}</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<p v-if="signMap.agentSign" style="display: flex;align-items: center;border-top: 1px solid #eee;margin-bottom: 15px;padding-top: 10px;" class="fs20">
|
||||
<span style="color: #323233;">代理人签名:</span>
|
||||
<img :src="signImgUrl + signMap.agentSign" style="height: 50px;margin-left: 20px;width: auto;"/>
|
||||
<p
|
||||
v-if="signMap.agentSign"
|
||||
style="display: flex; align-items: center; border-top: 1px solid #eee; margin-bottom: 15px; padding-top: 10px"
|
||||
class="fs20"
|
||||
>
|
||||
<span style="color: #323233">代理人签名:</span>
|
||||
<img :src="signImgUrl + signMap.agentSign" style="height: 50px; margin-left: 20px; width: auto" />
|
||||
</p>
|
||||
<p class="fs20" style="color: #323233;" v-if="airSign != '1'">点击【立即阅读签名】按钮,进行相关操作</p>
|
||||
<p class="fs20" style="color: #323233" v-if="airSign != '1'">点击【立即阅读签名】按钮,进行相关操作</p>
|
||||
<div v-if="!isInvalid" class="flex justify-content-a mt20 mb20 fs20">
|
||||
<van-button type="danger" size="normal" class="w130 fs16" style="height:40px;display: flex;justify-content: center;align-items: center;" round v-no-more-click="1000" @click="start_agent('3')">
|
||||
<van-button
|
||||
type="danger"
|
||||
size="normal"
|
||||
class="w130 fs16"
|
||||
style="height: 40px; display: flex; justify-content: center; align-items: center"
|
||||
round
|
||||
v-no-more-click="1000"
|
||||
@click="start_agent('3')"
|
||||
>
|
||||
{{ agentSignStatus == '3' ? '面对面重签' : '立即阅读签名' }}
|
||||
</van-button>
|
||||
</div>
|
||||
@@ -83,49 +105,80 @@
|
||||
投保人
|
||||
<span class="ml20">{{ appnt.name }}</span>
|
||||
</div>
|
||||
<p class="mb20 fs20" style="color: #323233;">以下内容需要您按照顺序阅读并签字确认:</p>
|
||||
<p class="mb20 fs20" style="color: #323233">以下内容需要您按照顺序阅读并签字确认:</p>
|
||||
|
||||
<div v-if="changeCard">
|
||||
<div v-for="(item, index) in appntSign" :key="index">
|
||||
<p style="display: flex;align-items: center;justify-content: space-between;" class="fs20">
|
||||
<span style="color: #323233;">需阅读</span>
|
||||
<span style="display: flex;align-items: center;">
|
||||
<img v-if="item.documentStatus == '1' || item.documentStatus == '3'" style="width: 16px;" :src="src"/>
|
||||
<span v-if="item.documentStatus == '1'" style="margin-left: 15px;color: #03ceaf;" class="fs20">已阅读</span>
|
||||
<p style="display: flex; align-items: center; justify-content: space-between" class="fs20">
|
||||
<span style="color: #323233">需阅读</span>
|
||||
<span style="display: flex; align-items: center">
|
||||
<img v-if="item.documentStatus == '1' || item.documentStatus == '3'" style="width: 16px" :src="src" />
|
||||
<span v-if="item.documentStatus == '1'" style="margin-left: 15px; color: #03ceaf" class="fs20">已阅读</span>
|
||||
</span>
|
||||
</p>
|
||||
<p class="mb20 fs20" @click="gosomefile(item, index, saleInsuredPersonInfo.relationToAppnt == '1' ? '2' : '0')">
|
||||
<span class="text" style="color:red;opacity: 0.7;">{{ item.documentName }}</span>
|
||||
<span class="text" style="color: red; opacity: 0.7">{{ item.documentName }}</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<div v-for="(item, index) in appntSign" :key="index">
|
||||
<p style="display: flex;align-items: center;justify-content: space-between;" class="fs20">
|
||||
<span style="color: #323233;">{{ item.documentCode == '1' || item.documentCode == '3' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13' || item.documentCode == '14' ? '需阅读' : '需阅读并签署' }}</span>
|
||||
<span style="display: flex;align-items: center;">
|
||||
<img v-if="item.documentStatus == '1' || item.documentStatus == '3'" style="width: 16px;" :src="src"/>
|
||||
<span v-if="item.documentStatus == '1'" style="margin-left: 15px;color: #03ceaf;" class="fs20">已阅读</span>
|
||||
<span v-if="item.documentStatus == '3'" style="margin-left: 15px;color: #03ceaf;">签署完成</span>
|
||||
<p style="display: flex; align-items: center; justify-content: space-between" class="fs20">
|
||||
<span style="color: #323233">{{
|
||||
item.documentCode == '1' ||
|
||||
item.documentCode == '3' ||
|
||||
item.documentCode == '8' ||
|
||||
item.documentCode == '9' ||
|
||||
item.documentCode == '12' ||
|
||||
item.documentCode == '13' ||
|
||||
item.documentCode == '14'
|
||||
? '需阅读'
|
||||
: '需阅读并签署'
|
||||
}}</span>
|
||||
<span style="display: flex; align-items: center">
|
||||
<img v-if="item.documentStatus == '1' || item.documentStatus == '3'" style="width: 16px" :src="src" />
|
||||
<span v-if="item.documentStatus == '1'" style="margin-left: 15px; color: #03ceaf" class="fs20">已阅读</span>
|
||||
<span v-if="item.documentStatus == '3'" style="margin-left: 15px; color: #03ceaf">签署完成</span>
|
||||
</span>
|
||||
</p>
|
||||
<p class="mb20 fs20" @click="gosomefile(item, index, saleInsuredPersonInfo.relationToAppnt == '1' ? '2' : '0')">
|
||||
<span class="text" style="color:red;opacity: 0.7;">{{ item.documentName }}</span>
|
||||
<span class="text" style="color: red; opacity: 0.7">{{ item.documentName }}</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<p v-if="signMap.appntSign && !changeCard" style="display: flex;align-items: center;border-top: 1px solid #eee;margin-bottom: 15px;padding-top: 10px;" class="fs20">
|
||||
<span style="color: #323233;">投保人签名:</span>
|
||||
<img :src="signImgUrl + signMap.appntSign" style="height: 50px;margin-left: 20px;width: auto;"/>
|
||||
<p
|
||||
v-if="signMap.appntSign && !changeCard"
|
||||
style="display: flex; align-items: center; border-top: 1px solid #eee; margin-bottom: 15px; padding-top: 10px"
|
||||
class="fs20"
|
||||
>
|
||||
<span style="color: #323233">投保人签名:</span>
|
||||
<img :src="signImgUrl + signMap.appntSign" style="height: 50px; margin-left: 20px; width: auto" />
|
||||
</p>
|
||||
<p class="fs20" style="color: #323233;" v-if="airSign != '1' && appntSignStatus != '3'">点击【分享签名】、【立即阅读签名】按钮,进行相关操作</p>
|
||||
<p class="fs20" style="color: #323233;" v-if="airSign != '1' && appntSignStatus == '3'">点击【分享重签】、【面对面重签】按钮,进行相关操作</p>
|
||||
<p class="fs20" style="color: #323233" v-if="airSign != '1' && appntSignStatus != '3'">点击【分享签名】、【立即阅读签名】按钮,进行相关操作</p>
|
||||
<p class="fs20" style="color: #323233" v-if="airSign != '1' && appntSignStatus == '3'">点击【分享重签】、【面对面重签】按钮,进行相关操作</p>
|
||||
<div v-if="!isInvalid" class="flex justify-content-a mt20 mb20 fs20">
|
||||
<van-button v-if="isShow" type="danger" size="normal" class="w150 fs16" style="height:40px;display: flex;align-items: center;justify-content: center;" round v-no-more-click="1000" @click="share(saleInsuredPersonInfo.relationToAppnt == '1' ? '2' : '0')">
|
||||
<van-button
|
||||
v-if="isShow"
|
||||
type="danger"
|
||||
size="normal"
|
||||
class="w150 fs16"
|
||||
style="height: 40px; display: flex; align-items: center; justify-content: center"
|
||||
round
|
||||
v-no-more-click="1000"
|
||||
@click="share(saleInsuredPersonInfo.relationToAppnt == '1' ? '2' : '0')"
|
||||
>
|
||||
{{ appntSignStatus == '3' ? '分享重签' : '分享签名' }}
|
||||
</van-button>
|
||||
<!-- 前端测试 -->
|
||||
<van-button type="danger" size="normal" class="w150 fs16" style="height:40px;display: flex;align-items: center;justify-content: center;" round v-no-more-click="1000" @click="start_ocr(saleInsuredPersonInfo.relationToAppnt == '1' ? '2' : '0')">
|
||||
<van-button
|
||||
type="danger"
|
||||
size="normal"
|
||||
class="w150 fs16"
|
||||
style="height: 40px; display: flex; align-items: center; justify-content: center"
|
||||
round
|
||||
v-no-more-click="1000"
|
||||
@click="start_ocr(saleInsuredPersonInfo.relationToAppnt == '1' ? '2' : '0')"
|
||||
>
|
||||
{{ appntSignStatus == '3' ? '面对面重签' : '立即阅读签名' }}
|
||||
</van-button>
|
||||
</div>
|
||||
@@ -140,32 +193,63 @@
|
||||
被保险人
|
||||
<span class="ml20">{{ item.name }}</span>
|
||||
</div>
|
||||
<p class="mb20 fs20" style="color: #323233;">以下内容需要您按照顺序阅读并签字确认:</p>
|
||||
<p class="mb20 fs20" style="color: #323233">以下内容需要您按照顺序阅读并签字确认:</p>
|
||||
<div v-for="(item, index) in insuredSign" :key="index">
|
||||
<p style="display: flex;align-items: center;justify-content: space-between;" class="fs20">
|
||||
<span style="color: #323233;">{{ item.documentCode == '1' || item.documentCode == '3' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13' || item.documentCode == '14' ? '需阅读' : '需阅读并签署' }}</span>
|
||||
<span style="display: flex;align-items: center;">
|
||||
<img v-if="item.documentStatus == '1' || item.documentStatus == '3'" style="width: 16px;" :src="src"/>
|
||||
<span v-if="item.documentStatus == '1'" style="margin-left: 15px;color: #03ceaf;">已阅读</span>
|
||||
<span v-if="item.documentStatus == '3'" style="margin-left: 15px;color: #03ceaf;">签署完成</span>
|
||||
<p style="display: flex; align-items: center; justify-content: space-between" class="fs20">
|
||||
<span style="color: #323233">{{
|
||||
item.documentCode == '1' ||
|
||||
item.documentCode == '3' ||
|
||||
item.documentCode == '8' ||
|
||||
item.documentCode == '9' ||
|
||||
item.documentCode == '12' ||
|
||||
item.documentCode == '13' ||
|
||||
item.documentCode == '14'
|
||||
? '需阅读'
|
||||
: '需阅读并签署'
|
||||
}}</span>
|
||||
<span style="display: flex; align-items: center">
|
||||
<img v-if="item.documentStatus == '1' || item.documentStatus == '3'" style="width: 16px" :src="src" />
|
||||
<span v-if="item.documentStatus == '1'" style="margin-left: 15px; color: #03ceaf">已阅读</span>
|
||||
<span v-if="item.documentStatus == '3'" style="margin-left: 15px; color: #03ceaf">签署完成</span>
|
||||
</span>
|
||||
</p>
|
||||
<p class="mb20 fs20" @click="gosomefile(item, index, '1')">
|
||||
<span class="text" style="color:red;opacity: 0.7;">{{ item.documentName }}</span>
|
||||
<span class="text" style="color: red; opacity: 0.7">{{ item.documentName }}</span>
|
||||
</p>
|
||||
</div>
|
||||
<p v-if="signMap.insuredSign" style="display: flex;align-items: center;border-top: 1px solid #eee;margin-bottom: 15px;padding-top: 10px;" class="fs20">
|
||||
<span v-if="insuredAge >= 18" style="color: #323233;">被保险人签名:</span>
|
||||
<span v-if="insuredAge < 18" style="color: #323233;">被保险人/监护人签名:</span>
|
||||
<img :src="signImgUrl + signMap.insuredSign" style="height: 50px;margin-left: 20px;width: auto;"/>
|
||||
<p
|
||||
v-if="signMap.insuredSign"
|
||||
style="display: flex; align-items: center; border-top: 1px solid #eee; margin-bottom: 15px; padding-top: 10px"
|
||||
class="fs20"
|
||||
>
|
||||
<span v-if="insuredAge >= 18" style="color: #323233">被保险人签名:</span>
|
||||
<span v-if="insuredAge < 18" style="color: #323233">被保险人/监护人签名:</span>
|
||||
<img :src="signImgUrl + signMap.insuredSign" style="height: 50px; margin-left: 20px; width: auto" />
|
||||
</p>
|
||||
<p class="fs20" style="color: #323233;" v-if="airSign != '1' && insuredSignStatus != '3'">点击【分享签名】、【立即阅读签名】按钮,进行相关操作</p>
|
||||
<p class="fs20" style="color: #323233;" v-if="airSign != '1' && insuredSignStatus == '3'">点击【分享重签】、【面对面重签】按钮,进行相关操作</p>
|
||||
<p class="fs20" style="color: #323233" v-if="airSign != '1' && insuredSignStatus != '3'">点击【分享签名】、【立即阅读签名】按钮,进行相关操作</p>
|
||||
<p class="fs20" style="color: #323233" v-if="airSign != '1' && insuredSignStatus == '3'">点击【分享重签】、【面对面重签】按钮,进行相关操作</p>
|
||||
<div v-if="!isInvalid" class="flex justify-content-a mt20 mb20 fs20">
|
||||
<van-button v-if="isShow" type="danger" size="normal" class="w150 fs16" style="height:40px;display: flex;align-items: center;justify-content: center;" @click="share('1')" round v-no-more-click="1000">
|
||||
<van-button
|
||||
v-if="isShow"
|
||||
type="danger"
|
||||
size="normal"
|
||||
class="w150 fs16"
|
||||
style="height: 40px; display: flex; align-items: center; justify-content: center"
|
||||
@click="share('1')"
|
||||
round
|
||||
v-no-more-click="1000"
|
||||
>
|
||||
{{ insuredSignStatus == '3' ? '分享重签' : '分享签名' }}
|
||||
</van-button>
|
||||
<van-button type="danger" size="normal" round class="w150 fs16" style="height:40px;display: flex;justify-content: center;align-items: center;" @click="start_ocr('1')" v-no-more-click="1000">
|
||||
<van-button
|
||||
type="danger"
|
||||
size="normal"
|
||||
round
|
||||
class="w150 fs16"
|
||||
style="height: 40px; display: flex; justify-content: center; align-items: center"
|
||||
@click="start_ocr('1')"
|
||||
v-no-more-click="1000"
|
||||
>
|
||||
{{ insuredSignStatus == '3' ? '面对面重签' : '立即阅读签名' }}
|
||||
</van-button>
|
||||
</div>
|
||||
@@ -183,43 +267,66 @@
|
||||
投保人
|
||||
<span class="ml20">{{ appnt.name }}</span>
|
||||
</div>
|
||||
<p class="mb20 fs20" style="color: #323233;">以下内容需要您按照顺序阅读并签字确认:</p>
|
||||
<p class="mb20 fs20" style="color: #323233">以下内容需要您按照顺序阅读并签字确认:</p>
|
||||
<div v-if="changeCard" class="fs20">
|
||||
<p style="color: #323233;">需阅读</p>
|
||||
<p style="display: flex;align-items: center;justify-content: space-between;">
|
||||
<p style="color: #323233">需阅读</p>
|
||||
<p style="display: flex; align-items: center; justify-content: space-between">
|
||||
<span>需阅读</span>
|
||||
<span style="display: flex;align-items: center;">
|
||||
<img v-if="agentSign.documentStatus == '1' || agentSign.documentStatus == '3'" style="width: 16px;" :src="src"/>
|
||||
<span v-if="agentSign.documentStatus == '1'" style="margin-left: 15px;color: #03ceaf;">已阅读</span>
|
||||
<span v-if="agentSign.documentStatus == '3'" style="margin-left: 15px;color: #03ceaf;">签署完成</span>
|
||||
<span style="display: flex; align-items: center">
|
||||
<img v-if="agentSign.documentStatus == '1' || agentSign.documentStatus == '3'" style="width: 16px" :src="src" />
|
||||
<span v-if="agentSign.documentStatus == '1'" style="margin-left: 15px; color: #03ceaf">已阅读</span>
|
||||
<span v-if="agentSign.documentStatus == '3'" style="margin-left: 15px; color: #03ceaf">签署完成</span>
|
||||
</span>
|
||||
</p>
|
||||
<p class="mb20 fs20">
|
||||
<span class="text" style="color:red;opacity: 0.7;">{{ agentSign.documentName }}</span>
|
||||
<span class="text" style="color: red; opacity: 0.7">{{ agentSign.documentName }}</span>
|
||||
</p>
|
||||
</div>
|
||||
<div v-else>
|
||||
<div v-for="(item, index) in appntSign" :key="index">
|
||||
<p style="display: flex;align-items: center;justify-content: space-between;" class="fs20">
|
||||
<span style="color: #323233;">{{ item.documentCode == '1' || item.documentCode == '3' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13' || item.documentCode == '14' ? '需阅读' : '需阅读并签署' }}</span>
|
||||
<span style="display: flex;align-items: center;">
|
||||
<img v-if="item.documentStatus == '1' || item.documentStatus == '3'" style="width: 16px;" :src="src"/>
|
||||
<span v-if="item.documentStatus == '1'" style="margin-left: 15px;color: #03ceaf;">已阅读</span>
|
||||
<span v-if="item.documentStatus == '3'" style="margin-left: 15px;color: #03ceaf;">签署完成</span>
|
||||
<p style="display: flex; align-items: center; justify-content: space-between" class="fs20">
|
||||
<span style="color: #323233">{{
|
||||
item.documentCode == '1' ||
|
||||
item.documentCode == '3' ||
|
||||
item.documentCode == '8' ||
|
||||
item.documentCode == '9' ||
|
||||
item.documentCode == '12' ||
|
||||
item.documentCode == '13' ||
|
||||
item.documentCode == '14'
|
||||
? '需阅读'
|
||||
: '需阅读并签署'
|
||||
}}</span>
|
||||
<span style="display: flex; align-items: center">
|
||||
<img v-if="item.documentStatus == '1' || item.documentStatus == '3'" style="width: 16px" :src="src" />
|
||||
<span v-if="item.documentStatus == '1'" style="margin-left: 15px; color: #03ceaf">已阅读</span>
|
||||
<span v-if="item.documentStatus == '3'" style="margin-left: 15px; color: #03ceaf">签署完成</span>
|
||||
</span>
|
||||
</p>
|
||||
<p class="mb20 fs20" @click="gosomefile(item, index, saleInsuredPersonInfo.relationToAppnt == '1' ? '2' : '0')">
|
||||
<span class="text" style="color:red;opacity: 0.7;">{{ item.documentName }}</span>
|
||||
<span class="text" style="color: red; opacity: 0.7">{{ item.documentName }}</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<p v-if="signMap.appntSign" style="display: flex;align-items: center;border-top: 1px solid #eee;margin-bottom: 15px;padding-top: 10px;" class="fs20">
|
||||
<span style="color: #323233;">投保人签名:</span>
|
||||
<img :src="signImgUrl + signMap.appntSign" style="height: 50px;margin-left: 20px;width: auto;"/>
|
||||
<p
|
||||
v-if="signMap.appntSign"
|
||||
style="display: flex; align-items: center; border-top: 1px solid #eee; margin-bottom: 15px; padding-top: 10px"
|
||||
class="fs20"
|
||||
>
|
||||
<span style="color: #323233">投保人签名:</span>
|
||||
<img :src="signImgUrl + signMap.appntSign" style="height: 50px; margin-left: 20px; width: auto" />
|
||||
</p>
|
||||
<p class="fs20" style="color: #323233;" v-if="airSign != '1'">点击【立即阅读签名】按钮,进行相关操作</p>
|
||||
<p class="fs20" style="color: #323233" v-if="airSign != '1'">点击【立即阅读签名】按钮,进行相关操作</p>
|
||||
<div v-if="!isInvalid" class="flex justify-content-a mt20 mb20 fs20">
|
||||
<van-button type="danger" size="normal" class="w130 fs16" style="height:40px;display: flex;align-items: center;justify-content: center;" round :disabled="appntSignStatus == '3' && isFirstCome != 1" v-no-more-click="1000" @click="start_ocr(saleInsuredPersonInfo.relationToAppnt == '1' ? '2' : '0')">
|
||||
<van-button
|
||||
type="danger"
|
||||
size="normal"
|
||||
class="w130 fs16"
|
||||
style="height: 40px; display: flex; align-items: center; justify-content: center"
|
||||
round
|
||||
:disabled="appntSignStatus == '3' && isFirstCome != 1"
|
||||
v-no-more-click="1000"
|
||||
@click="start_ocr(saleInsuredPersonInfo.relationToAppnt == '1' ? '2' : '0')"
|
||||
>
|
||||
立即阅读签名
|
||||
</van-button>
|
||||
</div>
|
||||
@@ -234,27 +341,50 @@
|
||||
被保险人
|
||||
<span class="ml20">{{ item.name }}</span>
|
||||
</div>
|
||||
<p class="mb20 fs20" style="color: #323233;">以下内容需要您按照顺序阅读并签字确认:</p>
|
||||
<p class="mb20 fs20" style="color: #323233">以下内容需要您按照顺序阅读并签字确认:</p>
|
||||
<div v-for="(item, index) in insuredSign" :key="index">
|
||||
<p style="display: flex;align-items: center;justify-content: space-between;" class="fs20">
|
||||
<span style="color: #323233;">{{ item.documentCode == '1' || item.documentCode == '3' || item.documentCode == '8' || item.documentCode == '9' || item.documentCode == '12' || item.documentCode == '13' || item.documentCode == '14' ? '需阅读' : '需阅读并签署' }}</span>
|
||||
<span style="display: flex;align-items: center;">
|
||||
<img v-if="item.documentStatus == '1' || item.documentStatus == '3'" style="width: 16px;" :src="src"/>
|
||||
<span v-if="item.documentStatus == '1'" style="margin-left: 15px;color: #03ceaf;">已阅读</span>
|
||||
<span v-if="item.documentStatus == '3'" style="margin-left: 15px;color: #03ceaf;">签署完成</span>
|
||||
<p style="display: flex; align-items: center; justify-content: space-between" class="fs20">
|
||||
<span style="color: #323233">{{
|
||||
item.documentCode == '1' ||
|
||||
item.documentCode == '3' ||
|
||||
item.documentCode == '8' ||
|
||||
item.documentCode == '9' ||
|
||||
item.documentCode == '12' ||
|
||||
item.documentCode == '13' ||
|
||||
item.documentCode == '14'
|
||||
? '需阅读'
|
||||
: '需阅读并签署'
|
||||
}}</span>
|
||||
<span style="display: flex; align-items: center">
|
||||
<img v-if="item.documentStatus == '1' || item.documentStatus == '3'" style="width: 16px" :src="src" />
|
||||
<span v-if="item.documentStatus == '1'" style="margin-left: 15px; color: #03ceaf">已阅读</span>
|
||||
<span v-if="item.documentStatus == '3'" style="margin-left: 15px; color: #03ceaf">签署完成</span>
|
||||
</span>
|
||||
</p>
|
||||
<p class="mb20 fs20" @click="gosomefile(item, index, '1')">
|
||||
<span class="text" style="color:red;opacity: 0.7;">{{ item.documentName }}</span>
|
||||
<span class="text" style="color: red; opacity: 0.7">{{ item.documentName }}</span>
|
||||
</p>
|
||||
</div>
|
||||
<p v-if="signMap.insuredSign" style="display: flex;align-items: center;border-top: 1px solid #eee;margin-bottom: 15px;padding-top: 10px;" class="fs20">
|
||||
<span style="color: #323233;">被保人签名:</span>
|
||||
<img :src="signImgUrl + signMap.insuredSign" style="height: 50px;margin-left: 20px;width: auto;"/>
|
||||
<p
|
||||
v-if="signMap.insuredSign"
|
||||
style="display: flex; align-items: center; border-top: 1px solid #eee; margin-bottom: 15px; padding-top: 10px"
|
||||
class="fs20"
|
||||
>
|
||||
<span style="color: #323233">被保人签名:</span>
|
||||
<img :src="signImgUrl + signMap.insuredSign" style="height: 50px; margin-left: 20px; width: auto" />
|
||||
</p>
|
||||
<p class="fs20" style="color: #323233;" v-if="airSign != '1'">点击【立即阅读签名】按钮,进行相关操作</p>
|
||||
<p class="fs20" style="color: #323233" v-if="airSign != '1'">点击【立即阅读签名】按钮,进行相关操作</p>
|
||||
<div v-if="!isInvalid" class="flex justify-content-a mt20 mb20 fs20">
|
||||
<van-button type="danger" size="normal" round class="w130 fs16" style="height:40px;display: flex;align-items: center;justify-content: center;" :disabled="insuredSignStatus == '3' && isFirstCome != 1" @click="start_ocr('1')" v-no-more-click="1000">
|
||||
<van-button
|
||||
type="danger"
|
||||
size="normal"
|
||||
round
|
||||
class="w130 fs16"
|
||||
style="height: 40px; display: flex; align-items: center; justify-content: center"
|
||||
:disabled="insuredSignStatus == '3' && isFirstCome != 1"
|
||||
@click="start_ocr('1')"
|
||||
v-no-more-click="1000"
|
||||
>
|
||||
立即阅读签名
|
||||
</van-button>
|
||||
</div>
|
||||
@@ -267,7 +397,14 @@
|
||||
<div v-if="!isWeixin">
|
||||
<div v-if="changeCard && activeType != 'KMH'">
|
||||
<div class="bottom-btn bg-white" v-if="appntSign[0].documentStatus == '1'">
|
||||
<van-button class="fs16" type="danger" v-if="relationToAppnt == '1' ? true : appntSign[0].documentStatus == '1' ? true : false" size="large" @click="rePayMent" v-no-more-click="1000">
|
||||
<van-button
|
||||
class="fs16"
|
||||
type="danger"
|
||||
v-if="relationToAppnt == '1' ? true : appntSign[0].documentStatus == '1' ? true : false"
|
||||
size="large"
|
||||
@click="rePayMent"
|
||||
v-no-more-click="1000"
|
||||
>
|
||||
支付
|
||||
</van-button>
|
||||
</div>
|
||||
@@ -275,7 +412,14 @@
|
||||
<div v-else>
|
||||
<!--判断代理人自保件承诺书是否签名 或者不是自保件 投保人是否都签名-->
|
||||
<div class="bottom-btn bg-white" v-if="(agentSignStatus == '3' && appntSignStatus == '3') || (agentSignStatus == '' && appntSignStatus == '3')">
|
||||
<van-button class="fs16" type="danger" v-if="relationToAppnt == '1' ? true : insuredSignStatus == '3' ? true : false" size="large" @click="next" v-no-more-click="1000">
|
||||
<van-button
|
||||
class="fs16"
|
||||
type="danger"
|
||||
v-if="relationToAppnt == '1' ? true : insuredSignStatus == '3' ? true : false"
|
||||
size="large"
|
||||
@click="next"
|
||||
v-no-more-click="1000"
|
||||
>
|
||||
提交
|
||||
</van-button>
|
||||
</div>
|
||||
@@ -285,13 +429,16 @@
|
||||
<!-- <video controls style="width: 100%; max-height: calc(100vh - 60px)" src="/app/video/rlsb.mp4"></video> -->
|
||||
<div class="" v-if="videoShow" style="height: calc(100vh - 60px); display: flex; align-items: center; flex-flow: column; justify-content: center">
|
||||
<!-- <van-notice-bar :scrollable="false" class="notice" style="width: 100%">为维护您的合法权益,请您务必观看防范销售误导视频。</van-notice-bar> -->
|
||||
<video controls style="width: 100%; max-height: calc(100vh - 60px)" :src="'https://gf-dev-202005-1254138932.cos.ap-shanghai-fsi.myqcloud.com/gfapp/pub01/2021/04/28/guofulive.MP4'" ref="vid" @timeupdate="timeupdate">
|
||||
</video>
|
||||
<video
|
||||
controls
|
||||
style="width: 100%; max-height: calc(100vh - 60px)"
|
||||
:src="'https://gf-dev-202005-1254138932.cos.ap-shanghai-fsi.myqcloud.com/gfapp/pub01/2021/04/28/guofulive.MP4'"
|
||||
ref="vid"
|
||||
@timeupdate="timeupdate"
|
||||
></video>
|
||||
</div>
|
||||
<div class="bottom-btn bg-white">
|
||||
<van-button type="danger" size="large" @click="isVideoUrlClick()" v-no-more-click="1000">
|
||||
下一步
|
||||
</van-button>
|
||||
<van-button type="danger" size="large" @click="isVideoUrlClick()" v-no-more-click="1000"> 下一步 </van-button>
|
||||
</div>
|
||||
</van-popup>
|
||||
<!-- 短信验证 -->
|
||||
@@ -423,7 +570,7 @@ export default {
|
||||
isFirstCome: 0,
|
||||
cvalidateStr: '',
|
||||
activeType: '',
|
||||
insuredAge:'',
|
||||
insuredAge: ''
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
@@ -767,7 +914,19 @@ export default {
|
||||
// 人脸识别
|
||||
async start_ocr(val) {
|
||||
if (this.isWeixin) {
|
||||
let shareUrl = '?orderNo=' + this.$route.query.orderNo + '&token=' + localStorage.token + '&relationToAppnt=' + this.$route.query.relationToAppnt + '&shareCode=' + this.$route.query.shareCode + '&signInvalid=' + this.signInvalid + '&productCode=' + this.$route.query.productCode
|
||||
let shareUrl =
|
||||
'?orderNo=' +
|
||||
this.$route.query.orderNo +
|
||||
'&token=' +
|
||||
localStorage.token +
|
||||
'&relationToAppnt=' +
|
||||
this.$route.query.relationToAppnt +
|
||||
'&shareCode=' +
|
||||
this.$route.query.shareCode +
|
||||
'&signInvalid=' +
|
||||
this.signInvalid +
|
||||
'&productCode=' +
|
||||
this.$route.query.productCode
|
||||
window.sessionStorage.setItem('shareUrl', shareUrl)
|
||||
}
|
||||
// val 0投保人 1被保险人 2本人
|
||||
@@ -832,9 +991,7 @@ export default {
|
||||
} else {
|
||||
thismyage = thismysaleInsuredPersonInfo.insuredAge
|
||||
}
|
||||
if (
|
||||
JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).idType != '1' || thismyage < '18'
|
||||
) {
|
||||
if (JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).idType != '1' || thismyage < '18') {
|
||||
that.goUrl()
|
||||
} else {
|
||||
// 白名单校验
|
||||
@@ -917,7 +1074,8 @@ export default {
|
||||
const authRes = await EWebBridge.webCallAppInJs('face_auth', {
|
||||
businessSource: '1', //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||
number: that.saleInsuredInfo.idNo, //身份证号码
|
||||
name: that.saleInsuredInfo.name //姓名
|
||||
name: that.saleInsuredInfo.name, //姓名
|
||||
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
|
||||
}).then((data) => {
|
||||
if (JSON.parse(data).state == '1') {
|
||||
// 保存rid 数据
|
||||
@@ -981,7 +1139,8 @@ export default {
|
||||
const authRes = await EWebBridge.webCallAppInJs('face_auth', {
|
||||
businessSource: '1', //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||
number: that.saleInsuredPersonInfo.idNo, //身份证号码
|
||||
name: that.saleInsuredPersonInfo.name //姓名
|
||||
name: that.saleInsuredPersonInfo.name, //姓名
|
||||
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
|
||||
}).then((data) => {
|
||||
if (JSON.parse(data).state == '1') {
|
||||
that.saveCustomerRidInfo('insured_rid', 'B')
|
||||
@@ -1008,7 +1167,7 @@ export default {
|
||||
if (that.agentSignStatus == '3') {
|
||||
let thisAgentSign = JSON.parse(JSON.stringify(that.agentSign))
|
||||
if (thisAgentSign && thisAgentSign.length != 0) {
|
||||
thisAgentSign.forEach(item => {
|
||||
thisAgentSign.forEach((item) => {
|
||||
if (item.documentType == '1') {
|
||||
item.documentStatus = '2'
|
||||
} else {
|
||||
@@ -1020,12 +1179,11 @@ export default {
|
||||
} else {
|
||||
window.localStorage.setItem('agentSignFile', JSON.stringify(that.agentSign))
|
||||
}
|
||||
}
|
||||
else if(window.localStorage.getItem('sign-val') == '0' || window.localStorage.getItem('sign-val') == '2') {
|
||||
} else if (window.localStorage.getItem('sign-val') == '0' || window.localStorage.getItem('sign-val') == '2') {
|
||||
if (that.appntSignStatus == '3') {
|
||||
let thisAppntSign = JSON.parse(JSON.stringify(that.appntSign))
|
||||
if (thisAppntSign && thisAppntSign.length != 0) {
|
||||
thisAppntSign.forEach(item => {
|
||||
thisAppntSign.forEach((item) => {
|
||||
if (item.documentType == '1') {
|
||||
item.documentStatus = '2'
|
||||
} else {
|
||||
@@ -1037,12 +1195,11 @@ export default {
|
||||
} else {
|
||||
window.localStorage.setItem('appntSignFile', JSON.stringify(that.appntSign))
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if (that.insuredSignStatus == '3') {
|
||||
let thisInsuredSign = JSON.parse(JSON.stringify(that.insuredSign))
|
||||
if (thisInsuredSign && thisInsuredSign.length != 0) {
|
||||
thisInsuredSign.forEach(item => {
|
||||
thisInsuredSign.forEach((item) => {
|
||||
if (item.documentType == '1') {
|
||||
item.documentStatus = '2'
|
||||
} else {
|
||||
@@ -1081,13 +1238,11 @@ export default {
|
||||
this.videoShow = true
|
||||
this.isVideo = true
|
||||
this.isVideoUrl = 'goUrl'
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if (window.localStorage.getItem('sign-val') == '3') {
|
||||
if (that.agentSignStatus == '3') {
|
||||
path = that.agentSign[0].routePath
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if (that.agentSign[that.agentSign.length - 1].documentStatus == 1) {
|
||||
path = 'signDocuments'
|
||||
} else {
|
||||
@@ -1102,12 +1257,10 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(window.localStorage.getItem('sign-val') == '0' || window.localStorage.getItem('sign-val') == '2') {
|
||||
} else if (window.localStorage.getItem('sign-val') == '0' || window.localStorage.getItem('sign-val') == '2') {
|
||||
if (that.appntSignStatus == '3') {
|
||||
path = that.appntSign[0].routePath
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if (that.appntSign[that.appntSign.length - 1].documentStatus == 1) {
|
||||
path = 'signDocuments'
|
||||
} else {
|
||||
@@ -1122,12 +1275,10 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(window.localStorage.getItem('sign-val') == '1') {
|
||||
} else if (window.localStorage.getItem('sign-val') == '1') {
|
||||
if (that.insuredSignStatus == '3') {
|
||||
path = that.insuredSign[0].routePath
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
for (let i = 0; i < that.insuredSign.length; i++) {
|
||||
if (that.insuredSign[i].documentStatus == 0 || that.insuredSign[i].documentStatus == 2) {
|
||||
path = that.insuredSign[i].routePath
|
||||
@@ -1140,7 +1291,6 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (path) {
|
||||
that.$jump({
|
||||
flag: 'h5',
|
||||
@@ -1154,13 +1304,11 @@ export default {
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if (window.localStorage.getItem('sign-val') == '3') {
|
||||
if (that.agentSignStatus == '3') {
|
||||
path = that.agentSign[0].routePath
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if (that.agentSign[that.agentSign.length - 1].documentStatus == 1) {
|
||||
path = 'signDocuments'
|
||||
} else {
|
||||
@@ -1175,12 +1323,10 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(window.localStorage.getItem('sign-val') == '0' || window.localStorage.getItem('sign-val') == '2') {
|
||||
} else if (window.localStorage.getItem('sign-val') == '0' || window.localStorage.getItem('sign-val') == '2') {
|
||||
if (that.appntSignStatus == '3') {
|
||||
path = that.appntSign[0].routePath
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
if (that.appntSign[that.appntSign.length - 1].documentStatus == 1) {
|
||||
path = 'signDocuments'
|
||||
} else {
|
||||
@@ -1195,12 +1341,10 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(window.localStorage.getItem('sign-val') == '1') {
|
||||
} else if (window.localStorage.getItem('sign-val') == '1') {
|
||||
if (that.insuredSignStatus == '3') {
|
||||
path = that.insuredSign[0].routePath
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
for (let i = 0; i < that.insuredSign.length; i++) {
|
||||
if (that.insuredSign[i].documentStatus == 0 || that.insuredSign[i].documentStatus == 2) {
|
||||
path = that.insuredSign[i].routePath
|
||||
@@ -1233,8 +1377,7 @@ export default {
|
||||
shareName = '被保险人'
|
||||
} else if (code == '3') {
|
||||
shareName = '代理人'
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
shareName = '投保人'
|
||||
}
|
||||
if (this.changeCard) {
|
||||
@@ -1282,7 +1425,8 @@ export default {
|
||||
'&signInvalid=' +
|
||||
this.signInvalid +
|
||||
'&productCode=' +
|
||||
localStorage.productCode+'&isFirstCome=1',
|
||||
localStorage.productCode +
|
||||
'&isFirstCome=1',
|
||||
img: this.$assetsUrl + 'images/logo.png'
|
||||
}
|
||||
})
|
||||
@@ -1454,22 +1598,27 @@ export default {
|
||||
if (res.orderDTO && res.orderDTO.prtType) {
|
||||
localStorage.setItem('readingProtocolType', res.orderDTO.prtType)
|
||||
}
|
||||
let documentCodeType = res.orderDTO.ebizSignDTOS.filter(item=>item.documentCode == '14').length>0
|
||||
let documentCodeType = res.orderDTO.ebizSignDTOS.filter((item) => item.documentCode == '14').length > 0
|
||||
localStorage.setItem('documentCodeType', documentCodeType)
|
||||
let riskDTOLst = res.orderDTO.insuredDTOs[0].riskDTOLst[0]
|
||||
this.riskInfo = res.orderDTO.insuredDTOs[0].riskDTOLst[0]
|
||||
// 判断是否为长期险
|
||||
if ((riskDTOLst.insuYearFlag == 'Y' && riskDTOLst.insuYear > 1) || riskDTOLst.insuYearFlag == 'A') {
|
||||
this.$CacheUtils.setLocItem('isLongInsuranceFlag', "Y");
|
||||
this.$CacheUtils.setLocItem('isLongInsuranceFlag', 'Y')
|
||||
this.isInsuYearFlag = true
|
||||
} else {
|
||||
this.$CacheUtils.setLocItem('isLongInsuranceFlag', "N");
|
||||
this.$CacheUtils.setLocItem('isLongInsuranceFlag', 'N')
|
||||
}
|
||||
//弹框展示是否有社保、赔付比例和免赔额信息
|
||||
const isMedical = res.orderDTO.insuredDTOs[0].medical === '0'
|
||||
const mainRiskCode = res.orderDTO.insuredDTOs[0].riskDTOLst[0].mainRiskCode
|
||||
const isShowDialog = mainRiskCode === 'GFRS_M0016'
|
||||
if (!!res.orderDTO.productDTO && !!res.orderDTO.productDTO.special && !!res.orderDTO.productDTO.special.content && res.orderDTO.productDTO.special.content !== '') {
|
||||
if (
|
||||
!!res.orderDTO.productDTO &&
|
||||
!!res.orderDTO.productDTO.special &&
|
||||
!!res.orderDTO.productDTO.special.content &&
|
||||
res.orderDTO.productDTO.special.content !== ''
|
||||
) {
|
||||
let content = res.orderDTO.productDTO.special.content
|
||||
try {
|
||||
const config = JSON.parse(content)
|
||||
@@ -1850,7 +1999,7 @@ export default {
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
components: {
|
||||
[Cell.name]: Cell,
|
||||
|
||||
@@ -52,7 +52,8 @@
|
||||
v-no-more-click="1000"
|
||||
:disabled="appntSign.signStatus == '1'"
|
||||
@click="share(insured.length == '0' ? '2' : '0')"
|
||||
>分享</van-button>
|
||||
>分享</van-button
|
||||
>
|
||||
<van-button
|
||||
type="danger"
|
||||
size="normal"
|
||||
@@ -101,7 +102,8 @@
|
||||
@click="share('1')"
|
||||
plain
|
||||
v-no-more-click="1000"
|
||||
>分享</van-button>
|
||||
>分享</van-button
|
||||
>
|
||||
<van-button
|
||||
type="danger"
|
||||
size="normal"
|
||||
@@ -158,7 +160,7 @@
|
||||
<van-button
|
||||
type="danger"
|
||||
size="normal"
|
||||
style="width: 157px;"
|
||||
style="width: 157px"
|
||||
plain
|
||||
:disabled="appntSign.signStatus == '1'"
|
||||
v-no-more-click="1000"
|
||||
@@ -210,7 +212,7 @@
|
||||
type="danger"
|
||||
size="normal"
|
||||
plain
|
||||
style="width: 157px;"
|
||||
style="width: 157px"
|
||||
:disabled="insuredSign.signStatus == '1'"
|
||||
@click="start_ocr('1')"
|
||||
v-no-more-click="1000"
|
||||
@@ -306,8 +308,6 @@ export default {
|
||||
methods: {
|
||||
// 初始化
|
||||
async init() {
|
||||
|
||||
|
||||
if (this.isWeixin) {
|
||||
if (this.$route.query.airSign) {
|
||||
sessionStorage.setItem('airSign', this.$route.query.airSign)
|
||||
@@ -475,13 +475,14 @@ export default {
|
||||
// 原人脸识别
|
||||
EWebBridge.webCallAppInJs('face_auth', {
|
||||
number: that.saleInsuredInfo.idNo, //身份证号码
|
||||
name: that.saleInsuredInfo.name //姓名
|
||||
name: that.saleInsuredInfo.name, //姓名
|
||||
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
|
||||
// })
|
||||
// 跳过人脸识别
|
||||
// new Promise(resolve => {
|
||||
// console.log('--跳过人脸识别--返回识别成功')
|
||||
// resolve(JSON.stringify({ state: '1' }))
|
||||
}).then(data => {
|
||||
}).then((data) => {
|
||||
if (JSON.parse(data).state == '1') {
|
||||
if (that.appntSign.readStatus == '0') {
|
||||
console.log('--跳过人脸识别--返回识别成功zzzzzzzzzz')
|
||||
@@ -537,12 +538,13 @@ export default {
|
||||
// 跳过人脸识别
|
||||
EWebBridge.webCallAppInJs('face_auth', {
|
||||
number: that.saleInsuredInfo.idNo, //身份证号码
|
||||
name: that.saleInsuredInfo.name //姓名
|
||||
name: that.saleInsuredInfo.name, //姓名
|
||||
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
|
||||
// })
|
||||
// new Promise(resolve => {
|
||||
// console.log('--跳过人脸识别--返回识别成功')
|
||||
// resolve(JSON.stringify({ state: '1' }))
|
||||
}).then(data => {
|
||||
}).then((data) => {
|
||||
if (JSON.parse(data).state == '1') {
|
||||
if (that.insuredSign.readStatus == '0') {
|
||||
this.$jump({
|
||||
@@ -657,7 +659,7 @@ export default {
|
||||
}
|
||||
}
|
||||
// /insure/selfToHuman
|
||||
underWrite(data).then(res => {
|
||||
underWrite(data).then((res) => {
|
||||
this.$toast.clear()
|
||||
let that = this
|
||||
if (res.result == '0') {
|
||||
@@ -747,7 +749,7 @@ export default {
|
||||
let data = {
|
||||
orderNo: window.localStorage.getItem('orderNo')
|
||||
}
|
||||
getOrderDetail(data).then(res => {
|
||||
getOrderDetail(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
this.$utils.intLocalStorage(res)
|
||||
@@ -767,7 +769,7 @@ export default {
|
||||
that.appnt = res.orderDTO.appntDTO
|
||||
that.date = res.orderDTO.orderInfoDTO.appntDateLabel
|
||||
|
||||
res.orderDTO.signDTOS.map(item => {
|
||||
res.orderDTO.signDTOS.map((item) => {
|
||||
if (item.signType == '0') {
|
||||
that.appntSign = item
|
||||
} else if (item.signType == '1') {
|
||||
@@ -791,7 +793,7 @@ export default {
|
||||
message: '加载中……'
|
||||
})
|
||||
let data = {}
|
||||
getSignInvalid(data).then(res => {
|
||||
getSignInvalid(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
this.signInvalid = res.content.sign
|
||||
@@ -813,7 +815,7 @@ export default {
|
||||
sign: signInvalid
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
checkSignInvalid(data).then(res => {
|
||||
checkSignInvalid(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
that.$toast.clear()
|
||||
let status = res.content.status
|
||||
|
||||
Reference in New Issue
Block a user