From 0b18daab3dca26e8a2aa4fc2d67d6eaf33bf95fc Mon Sep 17 00:00:00 2001 From: "tian.guangyuan" Date: Mon, 20 Apr 2020 16:42:33 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90new=E3=80=91=20=E6=96=B0=E5=A2=9E=20?= =?UTF-8?q?=E4=BF=9D=E5=85=A8=E8=BF=9B=E5=BA=A6=E8=AF=A6=E6=83=85=EF=BC=9A?= =?UTF-8?q?=E5=8F=97=E7=9B=8A=E4=BA=BA=E7=9B=B8=E6=83=85=E6=84=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/ebiz/preserve.js | 21 ++ .../ebiz/preserve/detail/Beneficiary.vue | 226 +++++++------- .../ebiz/preserve/detail/BeneficiaryInfo.vue | 286 ++++++++++++++++++ src/views/ebiz/preserve/js/data-dictionary.js | 3 +- src/views/ebiz/preserve/js/methods.js | 95 ++++++ src/views/ebiz/preserve/js/verification.js | 52 ++++ 6 files changed, 569 insertions(+), 114 deletions(-) create mode 100644 src/views/ebiz/preserve/detail/BeneficiaryInfo.vue create mode 100644 src/views/ebiz/preserve/js/methods.js create mode 100644 src/views/ebiz/preserve/js/verification.js diff --git a/src/router/ebiz/preserve.js b/src/router/ebiz/preserve.js index 9247290d4..ea0d1d30f 100644 --- a/src/router/ebiz/preserve.js +++ b/src/router/ebiz/preserve.js @@ -14,6 +14,8 @@ const surrenderInfo = () => import('@/views/ebiz/preserve/SurrenderInfo') const surrenderConfirmation = () => import('@/views/ebiz/preserve/SurrenderConfirmation') const Progress = () => import('@/views/ebiz/preserve/Progress') const Contact = () => import('@/views/ebiz/preserve/detail/Contact') +const Beneficiary = () => import('@/views/ebiz/preserve/detail/Beneficiary') +const BeneficiaryInfoD = () => import('@/views/ebiz/preserve/detail/BeneficiaryInfo') export default [ { @@ -151,4 +153,23 @@ export default [ index: 15 } }, + { + path: '/preserve/detail/Beneficiary/:surrenderId', + name: 'Beneficiary', + component: Beneficiary, + meta: { + title: '受益人', + index: 16 + } + }, + { + path: '/preserve/detail/BeneficiaryInfo', + name: 'BeneficiaryInfoD', + component: BeneficiaryInfoD, + meta: { + title: '指定受益人信息', + index: 17 + } + }, + ] diff --git a/src/views/ebiz/preserve/detail/Beneficiary.vue b/src/views/ebiz/preserve/detail/Beneficiary.vue index 73afdc423..edb485552 100644 --- a/src/views/ebiz/preserve/detail/Beneficiary.vue +++ b/src/views/ebiz/preserve/detail/Beneficiary.vue @@ -19,7 +19,7 @@
- - + --> - 提交申请 + @@ -85,23 +85,23 @@ export default { } }, data() { - let feachData = { - surrenderDTOList: [ - { - surrenderId: '', - edorapplyNo: '', - surrenderType: '2', - bnfDTOs: [] - } - ] - } + // let feachData = { + // surrenderDTOList: [ + // { + // surrenderId: '', + // edorapplyNo: '', + // surrenderType: '2', + // bnfDTOs: [] + // } + // ] + // } return { - show: false, // 获取短信验证码 - codeDisabled: false, // 获取验证码按钮是否禁用 - timeId: null, // 计时器ID - countDown: 60, // 倒计时 - authCode: '', // 验证码 - feachData: feachData, + // show: false, // 获取短信验证码 + // codeDisabled: false, // 获取验证码按钮是否禁用 + // timeId: null, // 计时器ID + // countDown: 60, // 倒计时 + // authCode: '', // 验证码 + // feachData: feachData, type: '', isDisType: true, policy: null, @@ -110,16 +110,16 @@ export default { } }, created() { - progressDetailQuery({ - surrenderType : 1, + surrenderType : 2, surrenderId : this.$route.params.surrenderId }) .then(res => { - console.log(res); if(res.result == '0'){ - this.customerInfo = res.content.customerInfoDTOList[0] - this.surrenderResult = res.content.surrenderResult + this.policy = res.content.policyListDTOList[0] + this.insuredName = this.policy.insuredName + this.beneficiaries = res.content.bnfDTOs + this.type = this.beneficiaries[0].bnfType } else { this.$toast(res.resultMessage) } @@ -127,7 +127,6 @@ export default { .catch( (err) => { console.log(err); }) - // 获取保单列表存储的数据 // this.policy = JSON.parse(localStorage['preserve-policy']) // this.insuredName = this.policy.insuredName @@ -137,12 +136,13 @@ export default { mounted() {}, methods: { //告知信息 - nextStep() { - this.showAuth() - }, - detail(index) { + // nextStep() { + // this.showAuth() + // }, + detail(item) { // edit=0 - let path = '/preserve/BeneficiaryInfoDetail?edit=' + index + localStorage["preserve-userInfo"] = JSON.stringify(item) + let path = '/preserve/detail/BeneficiaryInfo' this.$jump({ flag: 'h5', extra: { @@ -154,90 +154,90 @@ export default { }) }, // 显示验证码 van-dialog - showAuth() { - this.show = true - }, - // 获取短信验证码 - getAuthCode() { - this.codeDisabled = true - //倒计时 - this.timeId = setInterval(() => { - this.countDown-- - if (this.countDown <= 0) { - window.clearInterval(this.timeId) - this.codeDisabled = false - this.countDown = 60 - } - }, 1000) + // showAuth() { + // this.show = true + // }, + // // 获取短信验证码 + // 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', - sessionId: '', - validateCode: '', - operateCode: this.customerMobile, - system: '', - operateCodeType: '0' - }).then(res => { - if (res.result == 0) { - this.sessionId = res.sessionId - } else { - this.$toast({ - message: res.resultMessage, - onClose: this.showAuth - }) - } - }) - }, - // 验证码确认事件 - async authConfirm() { - //清理计时器 - this.clearTimer() - this.changeSubmit() - }, - // 清理计时器 - clearTimer() { - window.clearInterval(this.timeId) - this.timeId = null - this.countDown = 60 - this.codeDisabled = false - }, - //提交变更申请 - async changeSubmit() { - if (!this.sessionId) { - this.$toast({ - message: '请先获取验证码', - onClose: this.showAuth - }) - return - } - let res = await autchCodeCheck({ - smsId: this.sessionId, - code: this.authCode - }) - if (res.result == 0) { - this.$jump({ - flag: 'h5', - extra: { - url: location.origin + `/#/preserve/submitResult`, - backToFirst: '1' - }, - routerInfo: { - path: `/preserve/submitResult` - } - }) - } else { - this.show = false - this.$toast({ - message: res.resultMessage, - onClose: this.showAuth - }) - } - } + // getAuthCode({ + // operateType: 'appntInfoEntry', + // sessionId: '', + // validateCode: '', + // operateCode: this.customerMobile, + // system: '', + // operateCodeType: '0' + // }).then(res => { + // if (res.result == 0) { + // this.sessionId = res.sessionId + // } else { + // this.$toast({ + // message: res.resultMessage, + // onClose: this.showAuth + // }) + // } + // }) + // }, + // // 验证码确认事件 + // async authConfirm() { + // //清理计时器 + // this.clearTimer() + // this.changeSubmit() + // }, + // // 清理计时器 + // clearTimer() { + // window.clearInterval(this.timeId) + // this.timeId = null + // this.countDown = 60 + // this.codeDisabled = false + // }, + // //提交变更申请 + // async changeSubmit() { + // if (!this.sessionId) { + // this.$toast({ + // message: '请先获取验证码', + // onClose: this.showAuth + // }) + // return + // } + // let res = await autchCodeCheck({ + // smsId: this.sessionId, + // code: this.authCode + // }) + // if (res.result == 0) { + // this.$jump({ + // flag: 'h5', + // extra: { + // url: location.origin + `/#/preserve/submitResult`, + // backToFirst: '1' + // }, + // routerInfo: { + // path: `/preserve/submitResult` + // } + // }) + // } else { + // this.show = false + // this.$toast({ + // message: res.resultMessage, + // onClose: this.showAuth + // }) + // } + // } }, - beforeDestroy() { - //清理计时器 - this.clearTimer() - } + // beforeDestroy() { + // //清理计时器 + // this.clearTimer() + // } } diff --git a/src/views/ebiz/preserve/js/data-dictionary.js b/src/views/ebiz/preserve/js/data-dictionary.js index f596cfec8..3af1cc11d 100644 --- a/src/views/ebiz/preserve/js/data-dictionary.js +++ b/src/views/ebiz/preserve/js/data-dictionary.js @@ -31,6 +31,7 @@ export default { 5: '退保保存的客户' }, route: { - 1: 'Contact' + 1: 'Contact', + 2: 'Beneficiary' } } diff --git a/src/views/ebiz/preserve/js/methods.js b/src/views/ebiz/preserve/js/methods.js new file mode 100644 index 000000000..da4406408 --- /dev/null +++ b/src/views/ebiz/preserve/js/methods.js @@ -0,0 +1,95 @@ +//点击弹出组件 +export function selectComp(that, index, type = '') { + that.currentPopupIndex = index + let title = '' + if (index == 1) { + ;[that.customerShowPicker, title] = [true, '客户列表'] + } else if (index == 2) { + ;[that.occupationShowPicker, title] = [true, '职业类别'] + } else if (index == 3) { + if (type == '1') { + //投保人 + localStorage.scanFromInsured = 'true' + } else if (type == '2') { + //被保险人 + localStorage.scanFromInsured = 'false' + } + ;[that.isScan, title] = [true, '身份证扫描'] + } + + setTimeout(() => { + that.$jump({ + flag: 'navigation', + extra: { + title, + hiddenLeft: '1' + } + }) + closeBtn(that) + }, 400) +} + +// 关闭按钮的显示 +function closeBtn(that) { + that.$jump({ + flag: 'webview_right_button', + extra: { + btns: [ + { + img: that.$assetsUrl + 'images/del-close.png', + route: { flag: '', extra: {} } + } + ] + } + }) +} + +// 获取身份证扫描信息 +/** + * + * @param {*} that 上下文 + * @param {*} data 扫描数据 + * @param {*} type 1 投保人 2 被保险人 + */ +export function getIdentityInfo(that, data, type) { + console.log(data) + // 正面 + if (data.name && data.name != '待识别') { + that.userInfo.name = data.name + that.userInfo.idNo = data.idNo + that.userInfo.birthday = `${data.birthYear}-${data.birthMonth}-${data.birthDay}` + that.userInfo.sex = data.gender == '男' ? '0' : '1' + } + // 反面 + if (data.startDate && data.startDate != '待识别') { + that.userInfo.certificateValidate = `${data.startDate.substr(0, 4)}-${data.startDate.substr(5, 2)}-${data.startDate.substr(8, 2)}` + //that.userInfo.certificateValidate = `${data.startDate.substr(0, 4)}-${data.startDate.substr(4, 2)}-${data.startDate.substr(6, 2)}` + // 是否为长期身份证 + if (data.endDate != '长期') { + that.userInfo.certiexpiredate = `${data.endDate.substr(0, 4)}-${data.endDate.substr(5, 2)}-${data.endDate.substr(8, 2)}` + // that.userInfo.certiexpiredate = `${data.endDate.substr(0, 4)}-${data.endDate.substr(4, 2)}-${data.endDate.substr(6, 2)}` + that.effectiveDateTypeAble = true + that.idLimit = false + that.isRequired = true + } else { + // 勾选长期 + that.userInfo.effectiveDateType = true + // 长期按钮不禁用 + that.effectiveDateTypeAble = false + // 证件截止日期不需要校验 + that.certiexpiredateRequired = false + //截止日期不可编辑 + that.idLimit = true + that.isRequired = false + } + } + that.isScan = false + let title = type == '1' ? '投保人信息' : '被保险人信息' + that.$jump({ + flag: 'navigation', + extra: { + title, + hiddenRight: '1' + } + }) +} diff --git a/src/views/ebiz/preserve/js/verification.js b/src/views/ebiz/preserve/js/verification.js new file mode 100644 index 000000000..b42c40b4b --- /dev/null +++ b/src/views/ebiz/preserve/js/verification.js @@ -0,0 +1,52 @@ +import changeFifteenToEighteen from '@/assets/js/utils/changeFifteenToEighteen' +import idNoCheck from '@/assets/js/utils/idNoCheck' +import utilsAge from '@/assets/js/utils/age' + +//身份证带出出生日期,性别,年龄 +export function idToData(idNo) { + //非空 + if (!idNo.trim()) { + return { + text: '证件号码不能为空' + } + } + + // 证件号码规则校验 + if (!idNoCheck.isIdno(idNo)) { + return { + text: '您填写的证件号码有误' + } + } + + //如果是15位身份证号先转为18位 + if (idNo.length == 15) { + idNo = changeFifteenToEighteen(idNo) + } + let birthday = getBirthById(idNo) + let age = utilsAge.getAge(birthday, new Date()) + let sex = getSexById(idNo) + return { + birthday, + age, + sex + } +} + +function getBirthById(idNo) { + // 获取生日 + var year = idNo.substr(6, 4) + var month = idNo.substr(10, 2) + var day = idNo.substr(12, 2) + return year + '-' + month + '-' + day +} + +function getSexById(idNo) { + // 获取性别 + if (idNo.charAt(16) >= '0' && idNo.charAt(16) <= '9') { + if (parseInt(idNo.charAt(16)) % 2 == 0) { + return '1' + } else { + return '0' + } + } +}