[FIX]保全-数据字典扩充,应用到数据字典的地方修改;续期账号变更

This commit is contained in:
yuweiqi
2020-06-10 11:47:10 +08:00
parent ab2226794c
commit 738bf25e61
11 changed files with 528 additions and 139 deletions

View File

@@ -6,8 +6,8 @@ const PolicyList = () => import('@/views/ebiz/preserve/common/PolicyList')
const RenewalInfo = () => import('@/views/ebiz/preserve/pc/RenewalInfo') const RenewalInfo = () => import('@/views/ebiz/preserve/pc/RenewalInfo')
const PcImageUpload = () => import('@/views/ebiz/preserve/pc/ImageUpload') const PcImageUpload = () => import('@/views/ebiz/preserve/pc/ImageUpload')
const renewalConfirmation = () => import('@/views/ebiz/preserve/pc/RenewalConfirmation') const RenewalConfirmation = () => import('@/views/ebiz/preserve/pc/RenewalConfirmation')
const autopayAuthorization = () => import('@/views/ebiz/preserve/pc/AutopayAuthorization') const AutopayAuthorization = () => import('@/views/ebiz/preserve/pc/AutopayAuthorization')
const contactInfo = () => import('@/views/ebiz/preserve/bb/ContactInfo') const contactInfo = () => import('@/views/ebiz/preserve/bb/ContactInfo')
const contacAgreement = () => import('@/views/ebiz/preserve/bb/ContacAgreement') const contacAgreement = () => import('@/views/ebiz/preserve/bb/ContacAgreement')
@@ -161,8 +161,8 @@ export default [
}, },
{ {
path: '/preserve/pc/renewalConfirmation', path: '/preserve/pc/renewalConfirmation',
name: 'renewalConfirmation', name: 'RenewalConfirmation',
component: renewalConfirmation, component: RenewalConfirmation,
meta: { meta: {
title: '保全代办确认', title: '保全代办确认',
index: 10 index: 10
@@ -188,8 +188,8 @@ export default [
}, },
{ {
path: '/preserve/pc/autopayAuthorization', path: '/preserve/pc/autopayAuthorization',
name: 'autopayAuthorization', name: 'AutopayAuthorization',
component: autopayAuthorization, component: AutopayAuthorization,
meta: { meta: {
title: '签署自动转账授权书', title: '签署自动转账授权书',
index: 12 index: 12

View File

@@ -54,6 +54,8 @@ import { Divider, Tag, Row, Col, Checkbox, CheckboxGroup, List } from 'vant'
import { queryEdorList } from '@/api/ebiz/preserve/preserve' import { queryEdorList } from '@/api/ebiz/preserve/preserve'
import dataDic from './js/data-dictionary.js' import dataDic from './js/data-dictionary.js'
import dateUtils from '@/assets/js/utils/date-utils' import dateUtils from '@/assets/js/utils/date-utils'
import filters from '@/views/ebiz/preserve/filters'
export default { export default {
name: 'ProgressInfo', name: 'ProgressInfo',
data() { data() {
@@ -65,15 +67,7 @@ export default {
}, },
filters: { filters: {
// 数据字典 id 转 text // 数据字典 id 转 text
idToText: function(id, type) { idToText: filters.idToText,
let text = ''
dataDic[type].some(item => {
if (item.id == id) {
text = item.text
}
})
return text
},
date: function(value) { date: function(value) {
let date = new Date(value) let date = new Date(value)

View File

@@ -166,7 +166,9 @@ import { Field, CellGroup, Checkbox, Popup, Picker, Area } from 'vant'
import SelectRadio from '@/components/ebiz/SelectRadio' import SelectRadio from '@/components/ebiz/SelectRadio'
import FieldDatePicter from '@/components/ebiz/FieldDatePicter' import FieldDatePicter from '@/components/ebiz/FieldDatePicter'
import OccupationPicker from '@/components/ebiz/occipation/OccupationPicker' import OccupationPicker from '@/components/ebiz/occipation/OccupationPicker'
import DataDictionary from '@/assets/js/utils/data-dictionary' // import DataDictionary from '@/assets/js/utils/data-dictionary'
import dataDic from '../js/data-dictionary.js'
import areaList from '@/assets/js/utils/area' import areaList from '@/assets/js/utils/area'
import getAreaName from '@/assets/js/utils/get-area-name' import getAreaName from '@/assets/js/utils/get-area-name'
import utilsAge from '@/assets/js/utils/age' import utilsAge from '@/assets/js/utils/age'
@@ -175,7 +177,9 @@ import CustomerPicker from '@/components/ebiz/customer/CustomerPicker'
import idNoCheck from '@/assets/js/utils/idNoCheck' import idNoCheck from '@/assets/js/utils/idNoCheck'
import { idToData } from '../js/verification' import { idToData } from '../js/verification'
import { selectComp } from '../js/methods' import { selectComp } from '../js/methods'
let relationToInsured = DataDictionary.relationToAppnt import filters from '@/views/ebiz/preserve/filters'
let relationToInsured = dataDic.edorRelationToAppnt
export default { export default {
name: 'beneficiaryInfoAdd', name: 'beneficiaryInfoAdd',
@@ -299,9 +303,9 @@ export default {
;[this.popupShow, this.pickerType] = [true, pickerType] ;[this.popupShow, this.pickerType] = [true, pickerType]
if (valueKey) this.valueKey = valueKey if (valueKey) this.valueKey = valueKey
if (pickerType == '1') { if (pickerType == '1') {
this.columns = DataDictionary.nativeplace this.columns = dataDic.edorNativeplace
} else if (pickerType == '2') { } else if (pickerType == '2') {
this.columns = DataDictionary.idType this.columns = dataDic.edorIdType
} else if (pickerType == '7') { } else if (pickerType == '7') {
this.columns = relationToInsured this.columns = relationToInsured
} }
@@ -616,6 +620,9 @@ export default {
this.effectiveDateTypeAble = false this.effectiveDateTypeAble = false
} }
} }
},
filters: {
idToText: filters.idToText
} }
} }
</script> </script>

View File

@@ -33,16 +33,16 @@ export default {
// 此处处理 this.path // 此处处理 this.path
switch (this.entry) { switch (this.entry) {
case 'BB': case 'BB':
this.path = '/preserve/ContactConfirmation?entry=BB' this.path = `/preserve/ContactConfirmation?entry=${this.entry}`
break break
case 'BC': case 'BC':
this.path = '/preserve/BeneficiaryConfirmation?entry=BC' this.path = `/preserve/BeneficiaryConfirmation?entry=${this.entry}`
break break
case 'PC': case 'PC':
this.path = '/preserve/pc/renewalConfirmation?entry=PC' this.path = `/preserve/pc/renewalConfirmation?entry=${this.entry}`
break break
case 'CT': case 'CT':
this.path = '/preserve/ct/surrenderConfirmation?entry=CT' this.path = `/preserve/ct/surrenderConfirmation?entry=${this.entry}`
break break
case 'WT': case 'WT':
this.path = '' this.path = ''

View File

@@ -98,7 +98,7 @@ export default {
authCode: '', // 验证码 authCode: '', // 验证码
src: this.$assetsUrl + 'images/u6490.png', // 图片路径 src: this.$assetsUrl + 'images/u6490.png', // 图片路径
sessionId: '', sessionId: '',
isUnRead: false, //是否存在未阅读文档 isUnRead: true, //是否存在未阅读文档
customerInfo: {}, customerInfo: {},
policy: {}, policy: {},

View File

@@ -64,8 +64,8 @@ export default {
res => { res => {
if (res.result == 0) { if (res.result == 0) {
this.pdfList = res.content.surrenderSignList this.pdfList = res.content.surrenderSignList
// this.pdfUrl = config.assetsUrl + `${this.pdfList[0].policyUrl}`//待后端开发 this.pdfUrl = config.assetsUrl + `${this.pdfList[0].policyUrl}` //待后端开发
this.pdfUrl = config.assetsUrl + 'edor/BB_0001.pdf' //TEST测试专用暂时将url写死后端开发完成后删除 // this.pdfUrl = config.assetsUrl + 'edor/BB_0001.pdf' //TEST测试专用暂时将url写死后端开发完成后删除
this.documentName = this.pdfList[0].documentName this.documentName = this.pdfList[0].documentName
console.log('1111', this.pdfUrl) //TEST测试专用 console.log('1111', this.pdfUrl) //TEST测试专用
resolve() resolve()

View File

@@ -121,41 +121,232 @@ export default {
], ],
// 银行卡类型 // 银行卡类型
edorBankType: [ edorBankType: [
{ id: 'ABC', text: '农业银行' },
{ id: 'BEA', text: '东亚银行' },
{ id: 'BOB', text: '北京银行' },
{ id: 'BOC', text: '中国银行' },
{ id: 'BOCOM', text: '交通银行' },
{ id: 'BOLZ', text: '柳州银行' },
{ id: 'CCB', text: '建设银行' },
{ id: 'CEB', text: '光大银行' },
{ id: 'CGB', text: '广发银行' },
{ id: 'CIB', text: '兴业银行' },
{ id: 'CITIC', text: '中信银行' },
{ id: 'CMB', text: '招商银行' },
{ id: 'CMBC', text: '民生银行' },
{ id: 'DGB', text: '东莞银行' },
{ id: 'DLCB', text: '大连银行' },
{ id: 'GBGB', text: '北部湾银行' },
{ id: 'GLBANK', text: '桂林银行' },
{ id: 'HXB', text: '华夏银行' },
{ id: 'ICBC', text: '工商银行' },
{ id: 'LZRCC', text: '农村信用合作联社' },
{ id: 'MYSH', text: '绵阳商行' },
{ id: 'NBCB', text: '宁波银行' },
{ id: 'NCB', text: '南昌银行' },
{ id: 'NJB', text: '南京银行' },
{ id: 'PAB', text: '平安银行' },
{ id: 'PSBC', text: '邮储银行' },
{ id: 'SDPB', text: '浦发银行' },
{ id: 'SHB', text: '上海银行' },
{ id: 'YQB', text: '泉州银行' },
{ id: 'ZZB', text: '郑州银行' }
],
//证件类型
edorIdType: [
{ {
id: 'ABC', id: 1,
text: '农业银行' text: '居民身份证'
}, },
{ {
id: 'BOC', id: 2,
text: '中国银行' text: '户口本'
}, },
{ {
id: 'BOCOM', id: 3,
text: '交通银行' text: '出生证'
}, },
{ {
id: 'CCB', id: 4,
text: '建设银行' text: '外国人护照'
}, },
{ {
id: 'CEB', id: 5,
text: '光大银行' text: '港澳居民来往内地通行证'
}, },
{ {
id: 'CIB', id: 6,
text: '兴业银行' text: '台湾居民来往大陆通行证'
}, },
{ {
id: 'ICBC', id: 8,
text: '工商银行' text: '外国人永久居留身份证'
}, },
{ {
id: 'PSBC', id: 9,
text: '邮储银行' text: '港澳台居民居住证'
}
],
//投保人/被保险人关系
edorRelationToAppnt: [
{
id: 1,
text: '本人'
}, },
{ {
id: 'CMB', id: 2,
text: '招商银行' text: '配偶'
},
{
id: 3,
text: '父母'
},
{
id: 4,
text: '子女'
},
{
id: 5,
text: '其他'
}
],
//国家地区
edorNativeplace: [
{
id: 1,
text: '中国大陆'
},
{
id: 2,
text: '中国香港'
},
{
id: 3,
text: '中国澳门'
},
{
id: 4,
text: '中国台湾'
},
{
id: 5,
text: '英国'
},
{
id: 6,
text: '印度'
},
{
id: 7,
text: '意大利'
},
{
id: 8,
text: '以色列'
},
{
id: 9,
text: '新西兰'
},
{
id: 10,
text: '希腊'
},
{
id: 11,
text: '西班牙'
},
{
id: 12,
text: '威尔士'
},
{
id: 13,
text: '泰国'
},
{
id: 14,
text: '苏格兰'
},
{
id: 15,
text: '瑞士'
},
{
id: 16,
text: '瑞典'
},
{
id: 17,
text: '日本'
},
{
id: 18,
text: '葡萄牙'
},
{
id: 19,
text: '挪威'
},
{
id: 20,
text: '尼日利亚'
},
{
id: 21,
text: '美国'
},
{
id: 22,
text: '加拿大'
},
{
id: 23,
text: '荷兰'
},
{
id: 24,
text: '韩国'
},
{
id: 25,
text: '芬兰'
},
{
id: 26,
text: '法国'
},
{
id: 27,
text: '俄国'
},
{
id: 28,
text: '德国'
},
{
id: 29,
text: '波兰'
},
{
id: 30,
text: '巴西'
},
{
id: 31,
text: '澳大利亚'
},
{
id: 32,
text: '奥地利'
},
{
id: 33,
text: '爱尔兰'
},
{
id: 34,
text: '埃及'
} }
] ]
/* /*

View File

@@ -1,92 +1,167 @@
<!--自动转账授权书-续期账号变更--> <!--联系方式变更协议-->
<template> <template>
<div class="autopay-authorization-container"> <div class="surrender-tip-content">
<div class="pb20 pt20"> <van-notice-bar :scrollable="false" v-if="!Time" class="notice">{{ `提示阅读时长需在${this.Time ? this.time : this.number}秒以上` }}</van-notice-bar>
<van-notice-bar :scrollable="false" v-if="time != 0" class="notice">{{ `提示阅读时长需在${time}秒以上` }}</van-notice-bar> <iframe :src="src + pdfUrl" class="iframe"></iframe>
<iframe :src="src + pdfUrl" class="iframe"></iframe> <van-radio-group v-model="radio" class="pb10 pt20 pl30 pr30 fs14">
<van-radio-group v-model="radio" class="pb10 pt20 pl30 fs14"> <van-radio name="1" @click="click">
<van-radio name="1"> 本人确认已阅读
本人确认已阅读 <span class="red">{{ documentName }}</span>
<span class="green">国富人寿自动转账授权书</span> </van-radio>
</van-radio> </van-radio-group>
</van-radio-group> <div class="bg-white bottom-btn">
<div class="bg-white bottom-btn"> <van-button type="danger" size="large" :disabled="isDisable" @click="goNext" v-no-more-click="1000">下一步</van-button>
<van-button type="danger" size="large" :disabled="isDisabledComplite" @click="next" v-no-more-click="2000">下一步</van-button>
</div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { RadioGroup, Radio, Dialog, NoticeBar } from 'vant' import { RadioGroup, Radio, Dialog, NoticeBar } from 'vant'
// import { preserveSign } from '@/api/ebiz/preserve/preserve' import { changeEdor, queryConfirmDetail } from '@/api/ebiz/preserve/preserve'
import config from '@/config'
export default { export default {
name: 'AutopayAuthorization', name: 'AutopayAuthorization',
components: { components: {
[Radio.name]: Radio,
[RadioGroup.name]: RadioGroup, [RadioGroup.name]: RadioGroup,
[Radio.name]: Radio,
[Dialog.name]: Dialog, [Dialog.name]: Dialog,
[NoticeBar.name]: NoticeBar [NoticeBar.name]: NoticeBar
}, },
data() { data() {
return { return {
radio: '', radio: '',
time: '10', //定时器时间 // 倒计时时间
timer: null, //定时器名称 number: '',
isDisabledComplite: true //完成按钮是否可以点击 // 定时器时间
time: '10',
// 定时器名称
timer: null,
isOver: false,
// 判断验证码是否开始倒计时
Time: true,
// 按钮是否可以点击
isDisable: true,
pdfUrl: '',
documentName: '', //文档名称
pdfList: [],
customerInfo: JSON.parse(localStorage.getItem('preserve-customerInfo')),
src: location.origin + '/pdfjs/web/viewer.html?file='
} }
}, },
async created() { created() {
this.timeOut() this.timeOut()
this.init()
}, },
mounted() { mounted() {},
document.body.style.backgroundColor = '#fff'
},
methods: { methods: {
// 初始化 //信息初始化
init() {
return new Promise((resolve, reject) => {
queryConfirmDetail({
surrenderId: this.customerInfo.surrenderId,
edorType: 'PC'
}).then(
res => {
if (res.result == 0) {
this.pdfList = res.content.surrenderSignList
this.pdfUrl = config.assetsUrl + `${this.pdfList[0].policyUrl}` //待后端开发
// this.pdfUrl = config.assetsUrl + 'edor/BB_0001.pdf' //TEST测试专用暂时将url写死后端开发完成后删除
this.documentName = this.pdfList[0].documentName
console.log('1111', this.pdfUrl) //TEST测试专用
resolve()
} else {
reject(this.$toast(res.resultMessage))
}
},
error => {
reject(this.$toast(error))
}
)
})
},
timeOut() { timeOut() {
let time = this.time
this.Time = false
this.number = `${time}`
let timer = setInterval(() => { let timer = setInterval(() => {
this.time-- time--
if (this.time <= 0) { if (time <= 0) {
this.time = 0 time = 0
this.radio = '0'
clearInterval(timer) clearInterval(timer)
this.Time = true
this.isOver = true
} }
this.number = `${time}`
}, 1000) }, 1000)
}, },
// 单选框 // 点击阅读时
readConfirm() { click() {
console.log(this.radio) if (this.isOver == false) {
if (this.radio == '1') { Dialog.confirm({
this.$dialog title: '提示',
.alert({ message: '该内容涉及您的重大权益,请您仔细阅读',
title: '提示', showCancelButton: false
className: 'dialog-alert', }).then(() => {
message: '该内容涉及您的重大权益,请您仔细阅读', this.radio = ''
confirmButtonColor: '#E9332E' })
})
.then(() => {
this.radio = '1'
this.isDisabledComplite = false
})
} else {
if (this.radio == '') {
this.isDisabledComplite = true
}
} }
}, },
next() {} // 下一步
goNext() {
let data = {
platformType: 'APP',
edorType: 'PC',
operateType: '03',
surrenderId: this.customerInfo.surrenderId,
edorApplyNo: this.customerInfo.edorApplyNo,
signMediaDTO: {
signId: this.pdfList[0].signId,
surrenderId: this.customerInfo.surrenderId,
documentStatus: '1'
}
}
changeEdor(data)
.then(res => {
console.log(res)
if (res.result == 0) {
let path = '/preserve/pc/RenewalConfirmation?entry=PC'
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#' + path
},
routerInfo: {
path: path
}
})
} else {
this.$toast(res.resultMessage)
}
})
.catch(err => {
console.log(err)
})
}
}, },
beforeRouteLeave(to, from, next) { computed: {
document.body.style.backgroundColor = '' listenChange() {
next() const { isOver, radio } = this
return { isOver, radio }
}
},
watch: {
listenChange(val) {
if (val.isOver == true && val.radio !== '') {
this.isDisable = false
} else {
this.isDisable = true
}
}
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.img {
height: 40px;
vertical-align: middle;
}
.notice { .notice {
width: 100%; width: 100%;
position: fixed; position: fixed;
@@ -95,6 +170,6 @@ export default {
} }
.iframe { .iframe {
width: 100vw; width: 100vw;
height: 80vh; height: 75vh;
} }
</style> </style>

View File

@@ -6,18 +6,20 @@
<div> <div>
<!-- 银行卡 --> <!-- 银行卡 -->
<div v-for="(item, index) in fileList" :key="index"> <div v-for="(item, index) in fileList" :key="index">
<van-cell-group> <div v-if="item.isShow">
<van-field required :label="item.label" disabled /> <van-cell-group>
</van-cell-group> <van-field required :label="item.label" disabled />
<div @click="test(item)"> </van-cell-group>
<van-uploader <div @click="test(item)">
:name="item.name" <van-uploader
v-model="item.realFileList" :name="item.name"
:after-read="afterRead" v-model="item.realFileList"
:before-delete="beforeDelete" :after-read="afterRead"
class="mt10 ml20" :before-delete="beforeDelete"
:max-count="20" class="mt10 ml20"
/> :max-count="item.max"
/>
</div>
</div> </div>
</div> </div>
</div> </div>
@@ -58,7 +60,10 @@ export default {
imageInfoType: '3', // 影像类型 imageInfoType: '3', // 影像类型
subBusinessType: '3', // 影像归属 0 投保人 1 被保人 2 受益人 3 代理人 subBusinessType: '3', // 影像归属 0 投保人 1 被保人 2 受益人 3 代理人
realFileList: [], realFileList: [],
popList: [] popList: [],
isShow: true, //是否显示(是否需要上传)
min: 1,
max: 2 //限制最大张数
} }
], ],
uploadCheck: {}, uploadCheck: {},
@@ -142,7 +147,19 @@ export default {
loadingType: 'spinner', loadingType: 'spinner',
message: '加载中……' message: '加载中……'
}) })
//
let errorArr = []
this.fileList.forEach(v => {
if (v.isShow) {
if (v.popList.length < v.min) {
errorArr.push(v.label)
}
}
})
if (errorArr.length > 0) {
return this.$toast(`请上传${errorArr[0]}影像`)
}
let saveMediaDTO = { let saveMediaDTO = {
platformType: 'app', platformType: 'app',
edorType: 'PC', edorType: 'PC',

View File

@@ -39,10 +39,13 @@
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">以上变更后续账号信息</p> <p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">以上变更后续账号信息</p>
<van-cell title="开户人姓名" :value="item.accountName" /> <van-cell title="开户人姓名" :value="item.accountName" />
<van-cell title="新开户银行"> <van-cell title="新开户银行">
<div class="red" slot="default">{{ item.bankCode | idToText('edorBankType') }}</div> <div :class="{ red: changeInfo.bankName }" slot="default">{{ item.bankName }}</div>
</van-cell> </van-cell>
<van-cell title="新银行账号"> <van-cell title="新银行账号">
<div class="red" slot="default">{{ item.bankNo }}</div> <div :class="{ red: changeInfo.bankNo }" slot="default">{{ item.bankNo }}</div>
</van-cell>
<van-cell title="开户行所在地">
<div :class="{ red: changeInfo.bankProvince }" slot="default">{{ item.bankProvince | idToBankAdr }}</div>
</van-cell> </van-cell>
</div> </div>
</div> </div>
@@ -59,16 +62,31 @@
</div> </div>
<p class="start">点击开始按钮进行相关操作</p> <p class="start">点击开始按钮进行相关操作</p>
</van-cell-group> </van-cell-group>
<!-- 短信验证码 -->
<van-dialog v-model="show" title="提示" show-cancel-button @confirm="authConfirm(authCode)" @cancel="clearTimer">
<p class="p10 fs14">向此手机发送验证码确认用户身份</p>
<p class="p10 fs14" style="border-bottom: 1px solid #ebedf0;">{{ customerInfo.customerMobile | mask }}</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" 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 class="bottom-btn bg-white"> <div class="bottom-btn bg-white">
<van-button type="danger" size="large" @click="startPage" v-no-more-click="2000">开始</van-button> <van-button type="danger" v-if="!isUnRead" size="large" @click="show = true" v-no-more-click="2000">提交申请</van-button>
<van-button type="danger" v-else size="large" @click="start" v-no-more-click="2000">开始</van-button>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { Field, Cell, Collapse, CollapseItem, CellGroup, Dialog } from 'vant' import { Field, Cell, Collapse, CollapseItem, CellGroup, Dialog } from 'vant'
import { queryConfirmDetail } from '@/api/ebiz/preserve/preserve' import { queryConfirmDetail, changeEdor } from '@/api/ebiz/preserve/preserve'
import DataDictionary from '../js/data-dictionary' import filters from '@/views/ebiz/preserve/filters'
import getAreaName from '@/views/ebiz/preserve/js/utils/get-area-name'
import { getAuthCode } from '@/api/ebiz/sale/sale'
export default { export default {
name: 'RenewalConfirmation', name: 'RenewalConfirmation',
@@ -82,22 +100,27 @@ export default {
}, },
data() { data() {
return { return {
activeNames: [0], show: false, // 获取短信验证码
codeDisabled: false, // 获取验证码按钮是否禁用
timeId: null, // 计时器ID
countDown: 60, // 倒计时
authCode: '', // 验证码
sessionId: '',
isUnRead: true, //是否存在未阅读文档
src: this.$assetsUrl + 'images/u6490.png', // 图片路径 src: this.$assetsUrl + 'images/u6490.png', // 图片路径
activeNames: [0],
list: [], list: [],
pdfList: [], pdfList: [],
changeInfo: {},
customerInfo: JSON.parse(localStorage.getItem('preserve-customerInfo')) customerInfo: JSON.parse(localStorage.getItem('preserve-customerInfo'))
} }
}, },
filters: { filters: {
idToText: function idToTextEdor(id, type) { idToText: filters.idToText,
let text = '' mask: filters.mask,
DataDictionary[type].some(item => { idToBankAdr: function idToBankAdr(id) {
if (item.id == id) { return getAreaName([{ code: id }])
text = item.label
}
})
return text
} }
}, },
async created() { async created() {
@@ -105,7 +128,8 @@ export default {
this.init() this.init()
}, },
methods: { methods: {
startPage() { //跳转阅读文档页
start() {
this.$jump({ this.$jump({
flag: 'h5', flag: 'h5',
extra: { extra: {
@@ -116,7 +140,8 @@ export default {
} }
}) })
}, },
async init() { //初始化信息
init() {
this.$toast.loading({ this.$toast.loading({
// 持续展示 toast // 持续展示 toast
duration: 0, duration: 0,
@@ -135,11 +160,87 @@ export default {
if (res.result == 0) { if (res.result == 0) {
// 处理 // 处理
this.list = res.content.content this.list = res.content.content
let keys = Object.keys(res.content.content[res.content.content.length - 1])
for (let item of keys) {
this.changeInfo[item] = res.content.content[0][item] !== res.content.content[res.content.content.length - 1][item]
}
this.pdfList = res.content.surrenderSignList this.pdfList = res.content.surrenderSignList
this.isUnRead = this.pdfList.some(i => {
return i.documentStatus == '0'
})
} else { } else {
this.$toast(res.resultMessage) this.$toast(res.resultMessage)
} }
}) })
},
// 获取短信验证码
getAuthCode() {
this.codeDisabled = true
//倒计时
this.timeId = setInterval(() => {
this.countDown--
if (this.countDown <= 0) {
window.clearInterval(this.timeId)
this.codeDisabled = false
this.countDown = 60
}
}, 1000)
getAuthCode({
operateType: 'appntInfoEntry',
type: 'H5',
operateCode: this.customerInfo.customerMobile,
system: 'agentApp',
operateCodeType: '0'
}).then(res => {
console.log(res)
if (res.result == 0) {
this.sessionId = res.sessionId
} else {
this.$toast(res.resultMessage)
}
})
},
// 验证码确认事件
async authConfirm() {
//清理计时器
this.clearTimer()
this.submit()
},
//确认变更
submit() {
let data = {
platformType: 'APP',
edorType: 'PC',
operateType: '04',
surrenderId: this.customerInfo.surrenderId,
edorApplyNo: this.customerInfo.edorApplyNo,
checkCodeDTO: {
smsId: this.sessionId,
code: this.authCode
}
}
changeEdor(data).then(res => {
if (res.result == 0) {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/preserve/common/submitResult`
},
routerInfo: {
path: `/preserve/common/submitResult`
}
})
} else {
this.$toast(res.content)
}
})
},
// 清理计时器
clearTimer() {
window.clearInterval(this.timeId)
this.timeId = null
this.countDown = 60
this.codeDisabled = false
} }
} }
} }

View File

@@ -23,7 +23,7 @@
<!-- 以上变更后续账号信息 --> <!-- 以上变更后续账号信息 -->
<van-cell-group class="mt10 change-container"> <van-cell-group class="mt10 change-container">
<p style="border-bottom: 1px solid #ebedf0" class=" fs15 fwb pl10 pv12">以上变更后续账号信息</p> <p style="border-bottom: 1px solid #ebedf0" class=" fs15 fwb pl10 pv12">以上变更后续账号信息</p>
<van-cell required title="开户人" v-if="list.length">{{ list[0].accountName }}</van-cell> <van-field required label="开户人" v-if="list.length" v-model="list[0].accountName" />
<van-field <van-field
v-model="bank" v-model="bank"
label="新开户银行" label="新开户银行"
@@ -259,10 +259,14 @@ export default {
// 获取银行卡列表 // 获取银行卡列表
async getBank() { async getBank() {
let data = { let data = {
operateType: 'bank_type' operateType: 'claim_bank_type'
} }
let res = await getBankList(data) let res = await getBankList(data)
if (res.result == '0') { if (res.result == '0') {
res.content.forEach(item => {
item.id = item.code
item.text = item.bankName
})
this.bankList = res.content this.bankList = res.content
} else { } else {
this.$toast(res.resultMessage) this.$toast(res.resultMessage)
@@ -303,7 +307,8 @@ export default {
accountType: item.accountType, accountType: item.accountType,
bankCode: item.bankCode, bankCode: item.bankCode,
bankNo: item.bankNo, bankNo: item.bankNo,
bankProvince: item.bankProvince, bankProvince: this.bankProvince, //TEST测试专用
// bankProvince: item.bankProvince,
isNewInfo: item.isNewInfo, isNewInfo: item.isNewInfo,
contNo: item.bankNo, contNo: item.bankNo,
appntName: item.appntName, appntName: item.appntName,
@@ -357,17 +362,16 @@ export default {
.renewal-info-container { .renewal-info-container {
.cont-info-container { .cont-info-container {
/deep/.van-cell__title, /deep/ .van-cell__value {
.van-cell__value {
flex: auto;
text-align: left; text-align: left;
width: 70%; width: 75%;
} }
} }
.change-container { .change-container,
.align-items-c {
/deep/.van-field__label { /deep/.van-field__label {
flex: auto;
text-align: left; text-align: left;
width: 40%;
} }
} }
/deep/ .bankCard { /deep/ .bankCard {