mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-16 14:36:44 +08:00
协议签署路由
This commit is contained in:
@@ -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 = ''
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -129,7 +129,8 @@ export default {
|
||||
flag: 'goBack',
|
||||
extra: {
|
||||
refresh: '1',
|
||||
index: '-1'
|
||||
index: '-1',
|
||||
forbidSwipeBack:'1'
|
||||
},
|
||||
routerInfo: {
|
||||
type: 2,
|
||||
|
||||
231
src/views/ebiz/agentEenter/Guarantee.vue
Normal file
231
src/views/ebiz/agentEenter/Guarantee.vue
Normal 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>
|
||||
@@ -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
|
||||
|
||||
231
src/views/ebiz/agentEenter/IllegalLetterOfCommitment.vue
Normal file
231
src/views/ebiz/agentEenter/IllegalLetterOfCommitment.vue
Normal 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>
|
||||
@@ -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 => {
|
||||
231
src/views/ebiz/agentEenter/MessageLetterOfCommitment.vue
Normal file
231
src/views/ebiz/agentEenter/MessageLetterOfCommitment.vue
Normal 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>
|
||||
@@ -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: {
|
||||
|
||||
231
src/views/ebiz/agentEenter/letterOfCommitment.vue
Normal file
231
src/views/ebiz/agentEenter/letterOfCommitment.vue
Normal 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>
|
||||
@@ -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`
|
||||
|
||||
@@ -36,7 +36,8 @@ export default {
|
||||
flag: 'goBack',
|
||||
extra: {
|
||||
refresh: '1',
|
||||
index: '-2'
|
||||
index: '-2',
|
||||
forbidSwipeBack:'1'
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user