diff --git a/src/router/ebiz/preserve.js b/src/router/ebiz/preserve.js index 2a5a9b295..d2a34fdb7 100644 --- a/src/router/ebiz/preserve.js +++ b/src/router/ebiz/preserve.js @@ -10,6 +10,7 @@ const contactInfo = () => import('@/views/ebiz/preserve/ContactInfo') const contacAgreement = () => import('@/views/ebiz/preserve/ContacAgreement') const contactConfirmation = () => import('@/views/ebiz/preserve/ContactConfirmation') const beneficiaryInfo = () => import('@/views/ebiz/preserve/BeneficiaryInfo') +const beneficiaryInfoAdd = () => import('@/views/ebiz/preserve/BeneficiaryInfoAdd') const beneficiaryConfirmation = () => import('@/views/ebiz/preserve/BeneficiaryConfirmation') const surrenderInfo = () => import('@/views/ebiz/preserve/SurrenderInfo') const surrenderConfirmation = () => import('@/views/ebiz/preserve/SurrenderConfirmation') @@ -70,6 +71,15 @@ export default [ index: 5 } }, + { + path: '/preserve/beneficiaryInfoAdd', + name: 'beneficiaryInfoAdd', + component: beneficiaryInfoAdd, + meta: { + title: '指定受益人信息', + index: 105 + } + }, { path: '/preserve/surrenderInfo', name: 'surrenderInfo', diff --git a/src/views/ebiz/preserve/BeneficiaryConfirmation.vue b/src/views/ebiz/preserve/BeneficiaryConfirmation.vue index b09433e35..86bb8649d 100644 --- a/src/views/ebiz/preserve/BeneficiaryConfirmation.vue +++ b/src/views/ebiz/preserve/BeneficiaryConfirmation.vue @@ -1 +1,403 @@ - \ No newline at end of file + + + + + diff --git a/src/views/ebiz/preserve/BeneficiaryInfo.vue b/src/views/ebiz/preserve/BeneficiaryInfo.vue index 048b818fd..5385b18fe 100644 --- a/src/views/ebiz/preserve/BeneficiaryInfo.vue +++ b/src/views/ebiz/preserve/BeneficiaryInfo.vue @@ -1 +1,311 @@ - \ No newline at end of file + + + + + diff --git a/src/views/ebiz/preserve/BeneficiaryInfoAdd.vue b/src/views/ebiz/preserve/BeneficiaryInfoAdd.vue new file mode 100644 index 000000000..6e6044f8c --- /dev/null +++ b/src/views/ebiz/preserve/BeneficiaryInfoAdd.vue @@ -0,0 +1,1070 @@ + + + + diff --git a/src/views/ebiz/preserve/ContactInfo.vue b/src/views/ebiz/preserve/ContactInfo.vue index 7ee2a58ae..02f00ea56 100644 --- a/src/views/ebiz/preserve/ContactInfo.vue +++ b/src/views/ebiz/preserve/ContactInfo.vue @@ -138,9 +138,9 @@ export default { this.$jump({ flag: 'h5', extra: { - url: location.origin + '/#/preserve/HandleResult' + url: location.origin + '/#/preserve/HandleResult?entry=contact' }, - routerInfo: '/preserve/HandleResult' + routerInfo: '/preserve/HandleResult?entry=contact' }) } else { this.$toast(res.resultMessage) diff --git a/src/views/ebiz/preserve/HandleResult.vue b/src/views/ebiz/preserve/HandleResult.vue index b3824ae21..7b09a0265 100644 --- a/src/views/ebiz/preserve/HandleResult.vue +++ b/src/views/ebiz/preserve/HandleResult.vue @@ -31,8 +31,11 @@ export default { } // 此处处理 this.path switch (this.entry) { - case 'basic': - this.path = '1' + case 'contact': + this.path = '/preserve/ContactConfirmation?entry=contact' + break + case 'beneficiary': + this.path = '/preserve/BeneficiaryConfirmation?entry=beneficiary&' break case 'renewal': this.path = '2' @@ -63,10 +66,10 @@ export default { // 若被保险人≥18周岁,人脸识别录入被保人本人 // 若被保险人<18周岁,被保险人与投保人为子女关系,人脸识别录入未成年人父亲或母亲 // toDo + this.jumpNextPage(this.path) } }, - jumpNextPage(path) { - path = '/preserve/ContactConfirmation' + jumpNextPage(path = '/preserve/BeneficiaryInfo') { this.$jump({ flag: 'h5', extra: { 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' + } + } +}