协议签署路由

This commit is contained in:
nimengmeng_1990
2019-11-25 16:11:14 +08:00
parent 659e4c13e0
commit b3075052f1
12 changed files with 1015 additions and 34 deletions

View File

@@ -11,15 +11,24 @@ let apiDomain, imgDomain, assetsUrl, mainUrl, payUrl // 保融支付的收银台
console.log('环境:', process.env.VUE_APP_FLAG)
switch (process.env.VUE_APP_FLAG) {
case 'dev':
// apiDomain = 'http://47.96.143.111:7000/api/v1'
apiDomain = 'http://139.199.50.151:7000/api/v1' // 国富api
// imgDomain = 'http://10.10.100.98:7012/updown' // dev
imgDomain = 'http://211.159.248.123:7012/updown' // dev
// // apiDomain = 'http://47.96.143.111:7000/api/v1'
// apiDomain = 'http://139.199.50.151:7000/api/v1' // 国富api
// // imgDomain = 'http://10.10.100.98:7012/updown' // dev
// imgDomain = 'http://211.159.248.123:7012/updown' // dev
// 静态服务资源
assetsUrl = 'http://139.199.50.151:8000/app/'
mainUrl = 'http://139.199.50.151'
// // 静态服务资源
// assetsUrl = 'http://139.199.50.151:8000/app/'
// mainUrl = 'http://139.199.50.151'
payUrl = 'http://10.10.100.84:7003/s3-modules-gateway/embed/gateway.action'
//下面四个先使用鼎城的
// apiDomain = 'http://47.96.143.111:7000/api/v1'
// apiDomain = 'http://192.168.1.115:7003' //阳华祥
apiDomain = 'http://10.11.2.28:7003' //李丹
imgDomain = 'http://116.62.236.168:7012/updown'
// 静态服务资源
assetsUrl = 'http://47.96.143.111:8000/app/'
mainUrl = 'http://47.96.143.111'
break
case 'uat':
apiDomain = ''

View File

@@ -1,8 +1,12 @@
// 入司申请填写基本信息
const signContract = () => import('@/views/ebiz/agentEenter/SignContract')
const resumeSheet = () => import('@/views/ebiz/agentEenter/ResumeSheet')
const letterOfKnow = () => import('@/views/ebiz/agentEenter/LetterOfKnow')
const healthNotice = () => import('@/views/ebiz/agentEenter/HealthNotice')
const confirmation = () => import('@/views/ebiz/agentEenter/Confirmation')
const letterOfCommitment = () => import('@/views/ebiz/agentEenter/LetterOfCommitment')
const messageLetterOfCommitment = () => import('@/views/ebiz/agentEenter/MessageLetterOfCommitment')
const illegalLetterOfCommitment = () => import('@/views/ebiz/agentEenter/IllegalLetterOfCommitment')
const guarantee = () => import('@/views/ebiz/agentEenter/Guarantee')
// const confirmation = () => import('@/views/ebiz/agentEenter/Confirmation')
const paction = () => import('@/views/ebiz/agentEenter/Paction')
const agentEenterResult = () => import('@/views/ebiz/agentEenter/Result')
const entryProcess = () => import('@/views/ebiz/agentEenter/EntryProcess')
@@ -35,33 +39,69 @@ export default [
index: 1
}
},
{
path: '/agentEenter/resumeSheet',
name: 'resumeSheet',
component: resumeSheet,
meta: {
title: '个险营销员履历表',
index: 1
}
},
{
path: '/agentEenter/healthNotice',
name: 'healthNotice',
component: healthNotice,
meta: {
title: '个险营销员健康告知书',
title: '保险代理申请人健康声明',
index: 1
}
},
{
path: '/agentEenter/confirmation',
name: 'confirmation',
component: confirmation,
path: '/agentEenter/LetterOfCommitment',
name: 'letterOfCommitment',
component: letterOfCommitment,
meta: {
title: '重要事项确认书',
title: '承诺书',
index: 1
}
},
{
path: '/agentEenter/MessageLetterOfCommitment',
name: 'messageLetterOfCommitment',
component: messageLetterOfCommitment,
meta: {
title: '广西保险销售从业人员信息公开承诺书',
index: 1
}
},
{
path: '/agentEenter/IllegalLetterOfCommitment',
name: 'illegalLetterOfCommitment',
component: illegalLetterOfCommitment,
meta: {
title: '销售从业人员拒绝非法集资、非法放贷、金融诈骗承诺书',
index: 1
}
},
{
path: '/agentEenter/Guarantee',
name: 'guarantee',
component: guarantee,
meta: {
title: '担保书',
index: 1
}
},
{
path: '/agentEenter/LetterOfKnow',
name: 'letterOfKnow',
component: letterOfKnow,
meta: {
title: '代理人基本福利保障知晓函',
index: 1
}
},
// {
// path: '/agentEenter/confirmation',
// name: 'confirmation',
// component: confirmation,
// meta: {
// title: '重要事项确认书',
// index: 1
// }
// },
{
path: '/agentEenter/paction',
name: 'paction',

View File

@@ -129,7 +129,8 @@ export default {
flag: 'goBack',
extra: {
refresh: '1',
index: '-1'
index: '-1',
forbidSwipeBack:'1'
},
routerInfo: {
type: 2,

View File

@@ -0,0 +1,231 @@
<template>
<div>
<van-notice-bar :scrollable="false" v-if="!Time" class="notice">{{ `提示阅读时长需在${time}秒以上` }}</van-notice-bar>
<iframe :src="src + pdfUrl" class="iframe"></iframe>
<div class="fixed bottom0 left0 bg-white" style="width:100%">
<!-- <van-checkbox class="p15 pt20" v-model="radio" @click="click" shape="square">本人确认已阅读<span class="blue">个险营销员健康告知书</span></van-checkbox> -->
<van-radio-group v-model="radio" class="pb10 pt20 pl30">
<van-radio name="1" @click="click" class="fs12">
本人确认已阅读
<span class="blue">担保书</span>
</van-radio>
</van-radio-group>
<div class="pl30 pb15">
本人签字
<van-button type="danger" @click="sign" :disabled="isDisable" v-no-more-click="1000">{{ appntSign.signState == '0' ? '签名' : '已签名' }}</van-button>
</div>
<van-button type="danger" :disabled="isDisabledComplite" @click="goNext" size="large">下一步</van-button>
</div>
</div>
</template>
<script>
import { Field, Icon, Button, Radio, CheckboxGroup, NoticeBar, Dialog, RadioGroup } from 'vant'
import { agreementQuery, signAgreement } from '@/api/ebiz/agentEenter/agentEenter.js'
import config from '@/config'
export default {
data() {
return {
src: location.origin + '/pdfjs/web/viewer.html?file=',
pdfUrl: '',
radio: '',
// 定时器时间
time: '10',
// 定时器名称
timer: null,
isOver: false,
// 判断验证码是否开始倒计时
Time: false,
// 签名是否可以点击
isDisable: true,
// 是否可以点击下一步
isDisabledComplite: true,
// 是否签名 true 签名 false 未签名
isSign: false,
//推荐人信息
agentInfo: {},
// 推荐人签名信息
appntSign: {
signState: '0'
},
//原生返回的加密包
base64: ''
}
},
components: {
[Field.name]: Field,
[Icon.name]: Icon,
[Button.name]: Button,
[Radio.name]: Radio,
[RadioGroup.name]: RadioGroup,
// [CheckboxGroup.name]: CheckboxGroup,
[NoticeBar.name]: NoticeBar,
[Dialog.name]: Dialog
},
created() {
if (!this.Time) {
this.timeOut()
}
this.agreementQuery()
},
methods: {
//获取签署协议人信息
agreementQuery() {
let that = this
let data = {
userModel: { //线上去掉
mobile: '13000000000'
}
}
agreementQuery(data).then(res => {
console.log(res)
if (res.result == '0') {
res.content.ebizAgreementDtoList.map(item => {
console.log(item)
if (item.type == '12') {
that.appntSign = item
}
})
that.pdfUrl = encodeURIComponent(config.imgDomain + `/returnDirectStream?imgPath=${that.appntSign.rgssUrl}`)
} else {
this.$toast(res.resultMessage)
}
})
},
timeOut() {
let timer = setInterval(() => {
this.time--
if (this.time <= 0) {
this.time = 0
clearInterval(timer)
this.Time = true
this.isOver = true
}
}, 1000)
},
// 点击阅读时
click() {
let that = this
if (that.isOver == false) {
Dialog.confirm({
title: '提示',
message: '该内容涉及您的重大权益,请您仔细阅读',
showCancelButton: false
}).then(() => {
that.radio = ''
})
}
},
sign() {
// let that = this
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
EWebBridge.webCallAppInJs('ca_sign', {
//身份证号码
number: localStorage.idNo,
//姓名
name: localStorage.idName,
//身份证号码id
type: '1',
keyword: '本人签名',
pageNo: '1',
index: '1',
offset: '5',
pos: '3'
}).then(data => {
this.$toast.clear()
if (JSON.parse(data).state == '1') {
this.base64 = decodeURI(JSON.parse(data).sign)
this.appntSign.signState = '1'
this.isDisabledComplite = false
this.isSign = false
}
})
},
goNext() {
let that = this
let data = {
userModel: {
mobile: '13000000000'
},
// baseEncryp: that.base64,
baseEncryp: '123456',
ebizAgreementDto: that.appntSign
}
signAgreement(data).then(res => {
console.log(res)
if (res.result == '0') {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/agentEenter/confirmation`
},
routerInfo: {
path: `/agentEenter/confirmation`
}
})
} else {
this.$toast(res.resultMessage)
}
})
// this.$jump({
// flag: 'h5',
// extra: {
// url: location.origin + `/#/agentEenter/confirmation`
// },
// routerInfo: {
// path: `/agentEenter/confirmation`
// }
// })
}
},
computed: {
listenChange() {
const { isOver, radio, appntSign } = this
return { isOver, radio, appntSign }
}
},
watch: {
listenChange(val) {
let that = this
if (val.isOver == true && val.radio != '' && val.appntSign.signState !== '1') {
that.isDisable = false
} else {
that.isDisable = true
}
if (that.radio == '1' && val.appntSign.signState == '0') { //线上改为1
that.isDisabledComplite = false
} else {
that.isDisabledComplite = true
}
if (val.appntSign.signState == '1') {
that.isDisable = true
}
}
},
beforeRouteLeave(to, from, next) {
document.body.style.backgroundColor = ''
next()
}
}
</script>
<style lang="scss" scoped>
.notice {
width: 100%;
position: fixed;
top: 0;
z-index: 20;
}
.iframe {
width: 100vw;
height: 75vh;
}
</style>

View File

@@ -162,10 +162,10 @@ export default {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/agentEenter/confirmation`
url: location.origin + `/#/agentEenter/letterOfCommitment`
},
routerInfo: {
path: `/agentEenter/confirmation`
path: `/agentEenter/letterOfCommitment`
}
})
} else {
@@ -199,7 +199,7 @@ export default {
that.isDisable = true
}
if (that.radio == '1' && val.appntSign.signState == '1') {
if (that.radio == '1' && val.appntSign.signState == '0') {
that.isDisabledComplite = false
} else {
that.isDisabledComplite = true

View File

@@ -0,0 +1,231 @@
<template>
<div>
<van-notice-bar :scrollable="false" v-if="!Time" class="notice">{{ `提示阅读时长需在${time}秒以上` }}</van-notice-bar>
<iframe :src="src + pdfUrl" class="iframe"></iframe>
<div class="fixed bottom0 left0 bg-white" style="width:100%">
<!-- <van-checkbox class="p15 pt20" v-model="radio" @click="click" shape="square">本人确认已阅读<span class="blue">个险营销员健康告知书</span></van-checkbox> -->
<van-radio-group v-model="radio" class="pb10 pt20 pl30">
<van-radio name="1" @click="click" class="fs12">
本人确认已阅读
<span class="blue">销售从业人员拒绝非法集资非法放贷金融诈骗承诺书</span>
</van-radio>
</van-radio-group>
<div class="pl30 pb15">
本人签字
<van-button type="danger" @click="sign" :disabled="isDisable" v-no-more-click="1000">{{ appntSign.signState == '0' ? '签名' : '已签名' }}</van-button>
</div>
<van-button type="danger" :disabled="isDisabledComplite" @click="goNext" size="large">下一步</van-button>
</div>
</div>
</template>
<script>
import { Field, Icon, Button, Radio, CheckboxGroup, NoticeBar, Dialog, RadioGroup } from 'vant'
import { agreementQuery, signAgreement } from '@/api/ebiz/agentEenter/agentEenter.js'
import config from '@/config'
export default {
data() {
return {
src: location.origin + '/pdfjs/web/viewer.html?file=',
pdfUrl: '',
radio: '',
// 定时器时间
time: '10',
// 定时器名称
timer: null,
isOver: false,
// 判断验证码是否开始倒计时
Time: false,
// 签名是否可以点击
isDisable: true,
// 是否可以点击下一步
isDisabledComplite: true,
// 是否签名 true 签名 false 未签名
isSign: false,
//推荐人信息
agentInfo: {},
// 推荐人签名信息
appntSign: {
signState: '0'
},
//原生返回的加密包
base64: ''
}
},
components: {
[Field.name]: Field,
[Icon.name]: Icon,
[Button.name]: Button,
[Radio.name]: Radio,
[RadioGroup.name]: RadioGroup,
// [CheckboxGroup.name]: CheckboxGroup,
[NoticeBar.name]: NoticeBar,
[Dialog.name]: Dialog
},
created() {
if (!this.Time) {
this.timeOut()
}
this.agreementQuery()
},
methods: {
//获取签署协议人信息
agreementQuery() {
let that = this
let data = {
userModel: { //线上去掉
mobile: '13000000000'
}
}
agreementQuery(data).then(res => {
console.log(res)
if (res.result == '0') {
res.content.ebizAgreementDtoList.map(item => {
console.log(item)
if (item.type == '15') {
that.appntSign = item
}
})
that.pdfUrl = encodeURIComponent(config.imgDomain + `/returnDirectStream?imgPath=${that.appntSign.rgssUrl}`)
} else {
this.$toast(res.resultMessage)
}
})
},
timeOut() {
let timer = setInterval(() => {
this.time--
if (this.time <= 0) {
this.time = 0
clearInterval(timer)
this.Time = true
this.isOver = true
}
}, 1000)
},
// 点击阅读时
click() {
let that = this
if (that.isOver == false) {
Dialog.confirm({
title: '提示',
message: '该内容涉及您的重大权益,请您仔细阅读',
showCancelButton: false
}).then(() => {
that.radio = ''
})
}
},
sign() {
// let that = this
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
EWebBridge.webCallAppInJs('ca_sign', {
//身份证号码
number: localStorage.idNo,
//姓名
name: localStorage.idName,
//身份证号码id
type: '1',
keyword: '本人签名',
pageNo: '1',
index: '1',
offset: '5',
pos: '3'
}).then(data => {
this.$toast.clear()
if (JSON.parse(data).state == '1') {
this.base64 = decodeURI(JSON.parse(data).sign)
this.appntSign.signState = '1'
this.isDisabledComplite = false
this.isSign = false
}
})
},
goNext() {
let that = this
let data = {
userModel: {
mobile: '13000000000'
},
// baseEncryp: that.base64,
baseEncryp: '123456',
ebizAgreementDto: that.appntSign
}
signAgreement(data).then(res => {
console.log(res)
if (res.result == '0') {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/agentEenter/Guarantee`
},
routerInfo: {
path: `/agentEenter/Guarantee`
}
})
} else {
this.$toast(res.resultMessage)
}
})
// this.$jump({
// flag: 'h5',
// extra: {
// url: location.origin + `/#/agentEenter/confirmation`
// },
// routerInfo: {
// path: `/agentEenter/confirmation`
// }
// })
}
},
computed: {
listenChange() {
const { isOver, radio, appntSign } = this
return { isOver, radio, appntSign }
}
},
watch: {
listenChange(val) {
let that = this
if (val.isOver == true && val.radio != '' && val.appntSign.signState !== '1') {
that.isDisable = false
} else {
that.isDisable = true
}
if (that.radio == '1' && val.appntSign.signState == '0') { //线上改为1
that.isDisabledComplite = false
} else {
that.isDisabledComplite = true
}
if (val.appntSign.signState == '1') {
that.isDisable = true
}
}
},
beforeRouteLeave(to, from, next) {
document.body.style.backgroundColor = ''
next()
}
}
</script>
<style lang="scss" scoped>
.notice {
width: 100%;
position: fixed;
top: 0;
z-index: 20;
}
.iframe {
width: 100vw;
height: 75vh;
}
</style>

View File

@@ -7,7 +7,7 @@
<van-radio-group v-model="radio" class="pb10 pt20 pl30">
<van-radio name="1" @click="click" class="fs12">
本人确认已阅读
<span class="blue">个险营销员履历表</span>
<span class="blue">代理人基本福利保障知晓函</span>
</van-radio>
</van-radio-group>
<div class="pl30 pb15">
@@ -80,7 +80,7 @@ export default {
if (res.result == '0') {
res.content.ebizAgreementDtoList.map(item => {
console.log(item)
if (item.type == '6') {
if (item.type == '11') {
that.appntSign = item
}
})
@@ -148,8 +148,8 @@ export default {
goNext() {
let that = this
let data = {
baseEncryp: that.base64,
// baseEncryp: '123456',
// baseEncryp: that.base64,
baseEncryp: '123456',
ebizAgreementDto: that.appntSign
}
signAgreement(data).then(res => {

View File

@@ -0,0 +1,231 @@
<template>
<div>
<van-notice-bar :scrollable="false" v-if="!Time" class="notice">{{ `提示阅读时长需在${time}秒以上` }}</van-notice-bar>
<iframe :src="src + pdfUrl" class="iframe"></iframe>
<div class="fixed bottom0 left0 bg-white" style="width:100%">
<!-- <van-checkbox class="p15 pt20" v-model="radio" @click="click" shape="square">本人确认已阅读<span class="blue">个险营销员健康告知书</span></van-checkbox> -->
<van-radio-group v-model="radio" class="pb10 pt20 pl30">
<van-radio name="1" @click="click" class="fs12">
本人确认已阅读
<span class="blue">广西保险销售从业人员信息公开承诺书</span>
</van-radio>
</van-radio-group>
<div class="pl30 pb15">
本人签字
<van-button type="danger" @click="sign" :disabled="isDisable" v-no-more-click="1000">{{ appntSign.signState == '0' ? '签名' : '已签名' }}</van-button>
</div>
<van-button type="danger" :disabled="isDisabledComplite" @click="goNext" size="large">下一步</van-button>
</div>
</div>
</template>
<script>
import { Field, Icon, Button, Radio, CheckboxGroup, NoticeBar, Dialog, RadioGroup } from 'vant'
import { agreementQuery, signAgreement } from '@/api/ebiz/agentEenter/agentEenter.js'
import config from '@/config'
export default {
data() {
return {
src: location.origin + '/pdfjs/web/viewer.html?file=',
pdfUrl: '',
radio: '',
// 定时器时间
time: '10',
// 定时器名称
timer: null,
isOver: false,
// 判断验证码是否开始倒计时
Time: false,
// 签名是否可以点击
isDisable: true,
// 是否可以点击下一步
isDisabledComplite: true,
// 是否签名 true 签名 false 未签名
isSign: false,
//推荐人信息
agentInfo: {},
// 推荐人签名信息
appntSign: {
signState: '0'
},
//原生返回的加密包
base64: ''
}
},
components: {
[Field.name]: Field,
[Icon.name]: Icon,
[Button.name]: Button,
[Radio.name]: Radio,
[RadioGroup.name]: RadioGroup,
// [CheckboxGroup.name]: CheckboxGroup,
[NoticeBar.name]: NoticeBar,
[Dialog.name]: Dialog
},
created() {
if (!this.Time) {
this.timeOut()
}
this.agreementQuery()
},
methods: {
//获取签署协议人信息
agreementQuery() {
let that = this
let data = {
userModel: { //线上去掉
mobile: '13000000000'
}
}
agreementQuery(data).then(res => {
console.log(res)
if (res.result == '0') {
res.content.ebizAgreementDtoList.map(item => {
console.log(item)
if (item.type == '16') {
that.appntSign = item
}
})
that.pdfUrl = encodeURIComponent(config.imgDomain + `/returnDirectStream?imgPath=${that.appntSign.rgssUrl}`)
} else {
this.$toast(res.resultMessage)
}
})
},
timeOut() {
let timer = setInterval(() => {
this.time--
if (this.time <= 0) {
this.time = 0
clearInterval(timer)
this.Time = true
this.isOver = true
}
}, 1000)
},
// 点击阅读时
click() {
let that = this
if (that.isOver == false) {
Dialog.confirm({
title: '提示',
message: '该内容涉及您的重大权益,请您仔细阅读',
showCancelButton: false
}).then(() => {
that.radio = ''
})
}
},
sign() {
// let that = this
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
EWebBridge.webCallAppInJs('ca_sign', {
//身份证号码
number: localStorage.idNo,
//姓名
name: localStorage.idName,
//身份证号码id
type: '1',
keyword: '本人签名',
pageNo: '1',
index: '1',
offset: '5',
pos: '3'
}).then(data => {
this.$toast.clear()
if (JSON.parse(data).state == '1') {
this.base64 = decodeURI(JSON.parse(data).sign)
this.appntSign.signState = '1'
this.isDisabledComplite = false
this.isSign = false
}
})
},
goNext() {
let that = this
let data = {
userModel: {
mobile: '13000000000'
},
// baseEncryp: that.base64,
baseEncryp: '123456',
ebizAgreementDto: that.appntSign
}
signAgreement(data).then(res => {
console.log(res)
if (res.result == '0') {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/agentEenter/IllegalLetterOfCommitment`
},
routerInfo: {
path: `/agentEenter/IllegalLetterOfCommitment`
}
})
} else {
this.$toast(res.resultMessage)
}
})
// this.$jump({
// flag: 'h5',
// extra: {
// url: location.origin + `/#/agentEenter/confirmation`
// },
// routerInfo: {
// path: `/agentEenter/confirmation`
// }
// })
}
},
computed: {
listenChange() {
const { isOver, radio, appntSign } = this
return { isOver, radio, appntSign }
}
},
watch: {
listenChange(val) {
let that = this
if (val.isOver == true && val.radio != '' && val.appntSign.signState !== '1') {
that.isDisable = false
} else {
that.isDisable = true
}
if (that.radio == '1' && val.appntSign.signState == '0') { //线上改为1
that.isDisabledComplite = false
} else {
that.isDisabledComplite = true
}
if (val.appntSign.signState == '1') {
that.isDisable = true
}
}
},
beforeRouteLeave(to, from, next) {
document.body.style.backgroundColor = ''
next()
}
}
</script>
<style lang="scss" scoped>
.notice {
width: 100%;
position: fixed;
top: 0;
z-index: 20;
}
.iframe {
width: 100vw;
height: 75vh;
}
</style>

View File

@@ -14,7 +14,7 @@
<p v-if="submitStatus == '0' ">恭喜您加入鼎诚人寿这个大家庭您可以使用工号及初始登录密码登录APP进行展业啦初始密码会以短信的形式发送到您的手机中注意查收</p>
</div>
<div class="flex justify-content-a align-items-c p20">
<van-button class="radius50 bg-white green" type="danger" v-if="submitStatus == '0'" >去登录</van-button>
<van-button class="radius50 bg-white green" type="danger" v-if="submitStatus == '0'" @click="goToLogin" >去登录</van-button>
<van-button class="radius50 bg-white green" type="danger" v-if="submitStatus == '0'" @click="toShowPDF" >查看合同</van-button>
</div>
</div>
@@ -63,6 +63,11 @@ export default {
path: `/agentEenter/ShowPDF`
}
})
},
goToLogin(){
EWebBridge.webCallAppInJs('bridge', {
flag: 'login'
})
}
},
components: {

View File

@@ -0,0 +1,231 @@
<template>
<div>
<van-notice-bar :scrollable="false" v-if="!Time" class="notice">{{ `提示阅读时长需在${time}秒以上` }}</van-notice-bar>
<iframe :src="src + pdfUrl" class="iframe"></iframe>
<div class="fixed bottom0 left0 bg-white" style="width:100%">
<!-- <van-checkbox class="p15 pt20" v-model="radio" @click="click" shape="square">本人确认已阅读<span class="blue">个险营销员健康告知书</span></van-checkbox> -->
<van-radio-group v-model="radio" class="pb10 pt20 pl30">
<van-radio name="1" @click="click" class="fs12">
本人确认已阅读
<span class="blue">承诺书</span>
</van-radio>
</van-radio-group>
<div class="pl30 pb15">
本人签字
<van-button type="danger" @click="sign" :disabled="isDisable" v-no-more-click="1000">{{ appntSign.signState == '0' ? '签名' : '已签名' }}</van-button>
</div>
<van-button type="danger" :disabled="isDisabledComplite" @click="goNext" size="large">下一步</van-button>
</div>
</div>
</template>
<script>
import { Field, Icon, Button, Radio, CheckboxGroup, NoticeBar, Dialog, RadioGroup } from 'vant'
import { agreementQuery, signAgreement } from '@/api/ebiz/agentEenter/agentEenter.js'
import config from '@/config'
export default {
data() {
return {
src: location.origin + '/pdfjs/web/viewer.html?file=',
pdfUrl: '',
radio: '',
// 定时器时间
time: '10',
// 定时器名称
timer: null,
isOver: false,
// 判断验证码是否开始倒计时
Time: false,
// 签名是否可以点击
isDisable: true,
// 是否可以点击下一步
isDisabledComplite: true,
// 是否签名 true 签名 false 未签名
isSign: false,
//推荐人信息
agentInfo: {},
// 推荐人签名信息
appntSign: {
signState: '0'
},
//原生返回的加密包
base64: ''
}
},
components: {
[Field.name]: Field,
[Icon.name]: Icon,
[Button.name]: Button,
[Radio.name]: Radio,
[RadioGroup.name]: RadioGroup,
// [CheckboxGroup.name]: CheckboxGroup,
[NoticeBar.name]: NoticeBar,
[Dialog.name]: Dialog
},
created() {
if (!this.Time) {
this.timeOut()
}
this.agreementQuery()
},
methods: {
//获取签署协议人信息
agreementQuery() {
let that = this
let data = {
userModel: { //线上去掉
mobile: '13000000000'
}
}
agreementQuery(data).then(res => {
console.log(res)
if (res.result == '0') {
res.content.ebizAgreementDtoList.map(item => {
console.log(item)
if (item.type == '10') {
that.appntSign = item
}
})
that.pdfUrl = encodeURIComponent(config.imgDomain + `/returnDirectStream?imgPath=${that.appntSign.rgssUrl}`)
} else {
this.$toast(res.resultMessage)
}
})
},
timeOut() {
let timer = setInterval(() => {
this.time--
if (this.time <= 0) {
this.time = 0
clearInterval(timer)
this.Time = true
this.isOver = true
}
}, 1000)
},
// 点击阅读时
click() {
let that = this
if (that.isOver == false) {
Dialog.confirm({
title: '提示',
message: '该内容涉及您的重大权益,请您仔细阅读',
showCancelButton: false
}).then(() => {
that.radio = ''
})
}
},
sign() {
// let that = this
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
EWebBridge.webCallAppInJs('ca_sign', {
//身份证号码
number: localStorage.idNo,
//姓名
name: localStorage.idName,
//身份证号码id
type: '1',
keyword: '本人签名',
pageNo: '1',
index: '1',
offset: '5',
pos: '3'
}).then(data => {
this.$toast.clear()
if (JSON.parse(data).state == '1') {
this.base64 = decodeURI(JSON.parse(data).sign)
this.appntSign.signState = '1'
this.isDisabledComplite = false
this.isSign = false
}
})
},
goNext() {
let that = this
let data = {
userModel: {
mobile: '13000000000'
},
// baseEncryp: that.base64,
baseEncryp: '123456',
ebizAgreementDto: that.appntSign
}
signAgreement(data).then(res => {
console.log(res)
if (res.result == '0') {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/agentEenter/MessageLetterOfCommitment`
},
routerInfo: {
path: `/agentEenter/MessageLetterOfCommitment`
}
})
} else {
this.$toast(res.resultMessage)
}
})
// this.$jump({
// flag: 'h5',
// extra: {
// url: location.origin + `/#/agentEenter/confirmation`
// },
// routerInfo: {
// path: `/agentEenter/confirmation`
// }
// })
}
},
computed: {
listenChange() {
const { isOver, radio, appntSign } = this
return { isOver, radio, appntSign }
}
},
watch: {
listenChange(val) {
let that = this
if (val.isOver == true && val.radio != '' && val.appntSign.signState !== '1') {
that.isDisable = false
} else {
that.isDisable = true
}
if (that.radio == '1' && val.appntSign.signState == '0') { //线上改为1
that.isDisabledComplite = false
} else {
that.isDisabledComplite = true
}
if (val.appntSign.signState == '1') {
that.isDisable = true
}
}
},
beforeRouteLeave(to, from, next) {
document.body.style.backgroundColor = ''
next()
}
}
</script>
<style lang="scss" scoped>
.notice {
width: 100%;
position: fixed;
top: 0;
z-index: 20;
}
.iframe {
width: 100vw;
height: 75vh;
}
</style>

View File

@@ -283,7 +283,8 @@ export default {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/agentEenter/ShareInfoSuccess`
url: location.origin + `/#/agentEenter/ShareInfoSuccess`,
forbidSwipeBack:'1'
},
routerInfo: {
path: `/agentEenter/ShareInfoSuccess`

View File

@@ -36,7 +36,8 @@ export default {
flag: 'goBack',
extra: {
refresh: '1',
index: '-2'
index: '-2',
forbidSwipeBack:'1'
}
})
}