diff --git a/.eslintrc.js b/.eslintrc.js index c1fea62d0..b9956eafe 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -5,8 +5,8 @@ module.exports = { }, extends: ['plugin:vue/essential', '@vue/prettier'], rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', + 'no-console': process.env.NODE_ENV === 'production' ? 'off' : 'off', + 'no-debugger': process.env.NODE_ENV === 'production' ? 'off' : 'off', 'prettier/prettier': 'off' }, parserOptions: { diff --git a/src/assets/images/人脸识别.mp4 b/src/assets/images/人脸识别.mp4 new file mode 100644 index 000000000..32eb6dc2b Binary files /dev/null and b/src/assets/images/人脸识别.mp4 differ diff --git a/src/views/ebiz/sale/SignatureConfirmation.vue b/src/views/ebiz/sale/SignatureConfirmation.vue index b31f2413a..b6db7aede 100644 --- a/src/views/ebiz/sale/SignatureConfirmation.vue +++ b/src/views/ebiz/sale/SignatureConfirmation.vue @@ -144,7 +144,7 @@ + + +
+ 下一步 +
+

为确保是您本人操作,短信验证码已发送至您手机号{{ encyCustomerMobile }},请您输入验证码以完成后续投保操作。

@@ -249,7 +255,7 @@ import { autchCodeCheck, getRecognitionUrl, getRecognitionResult, - saveCustomerRid + saveCustomerRid, } from '@/api/ebiz/sale/sale' import { checkPhone } from '@/api/ebiz/customer/customer' import { weixinShare } from '@/assets/js/utils/wxShare.js' @@ -261,6 +267,8 @@ export default { data() { let isWeixin = this.$utils.device().isWeixin //判断环境 return { + isVideo:false,//是否已阅读视频 + videoShow: false, //防误导视频 show: false, // 获取短信验证码 codeDisabled: false, // 获取验证码按钮是否禁用 timeId: null, // 计时器ID @@ -274,7 +282,7 @@ export default { faceAuthCount: { appnt: 0, insured: 0, - weixin: 0 + weixin: 0, }, customerMobile: '', //保险产品名称 @@ -323,7 +331,7 @@ export default { realName: '', idno: '', redirectUrl: '', - businessSource: '1' //微信端人脸识别业务来源:1-电投,2-入司,3-理赔,4-保全 + businessSource: '1', //微信端人脸识别业务来源:1-电投,2-入司,3-理赔,4-保全 }, // idcardData: { // typeface: false, @@ -338,14 +346,14 @@ export default { recognizeMessage: '', //微信端-人脸识别失败原因 realPeopleRidInfo: { appntRidFlag: null, - insureRidFlag: null - } + insureRidFlag: null, + }, } }, methods: { fakeFaceAuth(expect) { console.log('模拟调用人脸识别') - return new Promise(function(resolve, reject) { + return new Promise(function (resolve, reject) { setTimeout(() => { console.log('模拟人脸识别完成') if (expect) { @@ -364,7 +372,7 @@ export default { title: '提示', message: '退出流程可能会丢失部分数据,是否确认退出?', cancelButtonColor: '#E9332E', - confirmButtonColor: '#FFFFFF' + confirmButtonColor: '#FFFFFF', }) .then(() => { this.$jump({ @@ -372,12 +380,12 @@ export default { extra: { title: '电子投保单列表', forbidSwipeBack: 1, //当前页面禁止右滑返回 - url: location.origin + `/#/sale/list` + url: location.origin + `/#/sale/list`, }, routerInfo: { path: `/sale/list`, - type: '1' - } + type: '1', + }, }) }) .catch(() => { @@ -456,7 +464,7 @@ export default { weixinShare({ title: '国富人寿计划书', imgUrl: 'http://47.96.143.111:8000/app/images/logo.png', - desc: '国富为您量身定制的保险产品,请查收' + desc: '国富为您量身定制的保险产品,请查收', }) // let params = { // orderNo: '' @@ -480,7 +488,7 @@ export default { // 禁用背景点击s forbidClick: true, loadingType: 'spinner', - message: '加载中……' + message: '加载中……', }) let data = {} this.authCode = null @@ -490,7 +498,7 @@ export default { name: appntData.name, idType: appntData.idType, idNo: appntData.idNo, - mobile: appntData.mobile + mobile: appntData.mobile, } this.customerMobile = appntData.mobile this.encyCustomerMobile = this.customerMobile.replace(/^(\d{3})\d{4}(\d{4})$/, '$1****$2') @@ -500,14 +508,14 @@ export default { name: insuredData.name, idType: insuredData.idType, idNo: insuredData.idNo, - mobile: insuredData.mobile + mobile: insuredData.mobile, } this.customerMobile = insuredData.mobile this.encyCustomerMobile = this.customerMobile.replace(/^(\d{3})\d{4}(\d{4})$/, '$1****$2') } // eslint-disable-next-line no-unused-vars return new Promise((resolve, reject) => { - checkPhone(data).then(res => { + checkPhone(data).then((res) => { if (res.result == '0') { console.log(res) this.show = true @@ -515,7 +523,7 @@ export default { Dialog.confirm({ title: '提示', message: '抱歉,您预留的手机号非您本人的手机号,请进行线下投保!', - showCancelButton: false + showCancelButton: false, }) } }) @@ -529,7 +537,7 @@ export default { // 禁用背景点击s forbidClick: true, loadingType: 'spinner', - message: '加载中……' + message: '加载中……', }) let data = {} if ('appnt' == type) { @@ -538,7 +546,7 @@ export default { name: appntData.name, idType: appntData.idType, idNo: appntData.idNo, - mobile: appntData.mobile + mobile: appntData.mobile, } } else if ('insured' == type) { let insuredData = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')) @@ -546,7 +554,7 @@ export default { name: insuredData.name, idType: insuredData.idType, idNo: insuredData.idNo, - mobile: insuredData.mobile + mobile: insuredData.mobile, } } let res = await checkPhone(data) @@ -575,8 +583,8 @@ export default { type: 'H5', operateCode: this.customerMobile, system: 'agentApp', - operateCodeType: '0' - }).then(res => { + operateCodeType: '0', + }).then((res) => { console.log(res) if (res.result == 0) { this.sid = res.sessionId @@ -601,7 +609,7 @@ export default { } let res = await autchCodeCheck({ smsId: this.sid, - code: this.authCode + code: this.authCode, }) if (res.result == 0) { if ('appnt' == this.operaFlag) { @@ -635,7 +643,7 @@ export default { const res = await getWhitelist({ idNo: this.saleInsuredInfo.idNo, name: this.saleInsuredInfo.name, - whiteType: 'sale_face_show' + whiteType: 'sale_face_show', }) if (res.result === '0') { // 在白名单内 @@ -679,7 +687,7 @@ export default { const res = await getWhitelist({ idNo: this.saleInsuredPersonInfo.idNo, name: this.saleInsuredPersonInfo.name, - whiteType: 'sale_face_show' + whiteType: 'sale_face_show', }) if (res.result === '0') { // 用户在白名单内 @@ -722,7 +730,7 @@ export default { const res = await getWhitelist({ idNo: this.saleInsuredInfo.idNo, name: this.saleInsuredInfo.name, - whiteType: 'sale_face_show' + whiteType: 'sale_face_show', }) if (res.result === '0') { // 在白名单内 @@ -747,8 +755,8 @@ export default { const authRes = await EWebBridge.webCallAppInJs('face_auth', { businessSource: '1', //业务来源:1-电投,2-入司,3-理赔,4-保全 number: that.saleInsuredInfo.idNo, //身份证号码 - name: that.saleInsuredInfo.name //姓名 - }).then(data => { + name: that.saleInsuredInfo.name, //姓名 + }).then((data) => { if (JSON.parse(data).state == '1') { // 保存rid 数据 that.saveCustomerRidInfo('appnt_rid', 'B') @@ -786,7 +794,7 @@ export default { const res = await getWhitelist({ idNo: this.saleInsuredPersonInfo.idNo, name: this.saleInsuredPersonInfo.name, - whiteType: 'sale_face_show' + whiteType: 'sale_face_show', }) if (res.result === '0') { @@ -815,8 +823,8 @@ export default { const authRes = await EWebBridge.webCallAppInJs('face_auth', { businessSource: '1', //业务来源:1-电投,2-入司,3-理赔,4-保全 number: that.saleInsuredPersonInfo.idNo, //身份证号码 - name: that.saleInsuredPersonInfo.name //姓名 - }).then(data => { + name: that.saleInsuredPersonInfo.name, //姓名 + }).then((data) => { if (JSON.parse(data).state == '1') { that.saveCustomerRidInfo('insured_rid', 'B') that.insuredUrl() @@ -848,26 +856,30 @@ export default { } }, goUrl() { - let that = this - let path = '' - console.log('that.appntSign 1 ==', that.appntSign) - if (that.changeCard) { - path = 'insuranceInformation' + if (!this.isVideo) { + this.videoShow = true; + this.isVideo = true; } else { - console.log('that.appntSign.length ==', that.appntSign.length, typeof that.appntSign.length) - for (let i = 0; i < that.appntSign.length; i++) { - if ((that.appntSign[i].documentCode == '1' || that.appntSign[i].documentCode == '8') && that.appntSign[i].documentStatus == 0) { - //1投保须知 未读 - path = that.appntSign[i].routePath - break - } else { - if (that.appntSign[i].documentStatus == 2) { + let that = this + let path = '' + console.log('that.appntSign 1 ==', that.appntSign) + if (that.changeCard) { + path = 'insuranceInformation' + } else { + console.log('that.appntSign.length ==', that.appntSign.length, typeof that.appntSign.length) + for (let i = 0; i < that.appntSign.length; i++) { + if ((that.appntSign[i].documentCode == '1' || that.appntSign[i].documentCode == '8') && that.appntSign[i].documentStatus == 0) { + //1投保须知 未读 path = that.appntSign[i].routePath break + } else { + if (that.appntSign[i].documentStatus == 2) { + path = that.appntSign[i].routePath + break + } } } - } - /* if (localStorage.productCode == 'GFRS_M0003' || localStorage.productCode == 'GFRS_M0015' || this.productCode == 'GFRS_M0017') { + /* if (localStorage.productCode == 'GFRS_M0003' || localStorage.productCode == 'GFRS_M0015' || this.productCode == 'GFRS_M0017') { if (that.appntSign[0].documentStatus == 0) { path = 'insuranceInformation' } else if (that.appntSign[1].documentStatus == 2) { @@ -886,18 +898,20 @@ export default { path = 'SignatureOfElectronic' } }*/ + } + + console.log('跳转页面path', path) + if (path) + that.$jump({ + flag: 'h5', + extra: { + url: location.origin + '/#/sale/' + path, + }, + routerInfo: { + path: '/sale/' + path, + }, + }) } - console.log('跳转页面path', path) - if (path) - that.$jump({ - flag: 'h5', - extra: { - url: location.origin + '/#/sale/' + path - }, - routerInfo: { - path: '/sale/' + path - } - }) }, insuredUrl() { let that = this @@ -910,11 +924,11 @@ export default { that.$jump({ flag: 'h5', extra: { - url: location.origin + '/#/sale/' + path + url: location.origin + '/#/sale/' + path, }, routerInfo: { - path: '/sale/' + path - } + path: '/sale/' + path, + }, }) }, toTest() {}, @@ -968,8 +982,8 @@ export default { '&productCode=' + localStorage.productCode + '&changeCard=0', - img: this.$assetsUrl + 'images/logo.png' - } + img: this.$assetsUrl + 'images/logo.png', + }, }) } else { // eslint-disable-next-line no-undef @@ -992,8 +1006,8 @@ export default { this.signInvalid + '&productCode=' + localStorage.productCode, - img: this.$assetsUrl + 'images/logo.png' - } + img: this.$assetsUrl + 'images/logo.png', + }, }) } }, @@ -1007,19 +1021,19 @@ export default { loadingType: 'spinner', - message: '加载中……' + message: '加载中……', }) let data = { platform: 'app', type: '1', orderDTO: { orderInfoDTO: { - orderNo: window.localStorage.getItem('orderNo') - } - } + orderNo: window.localStorage.getItem('orderNo'), + }, + }, } // /insure/selfToHuman - underWrite(data).then(res => { + underWrite(data).then((res) => { this.$toast.clear() let that = this if (res.result == '0') { @@ -1030,11 +1044,11 @@ export default { that.$jump({ flag: 'h5', extra: { - url: location.origin + '/#/sale/payMent' + url: location.origin + '/#/sale/payMent', }, routerInfo: { - path: '/sale/payMent' - } + path: '/sale/payMent', + }, }) } else if (res.uwResult == '07') { // 核保失败 @@ -1044,11 +1058,11 @@ export default { flag: 'h5', extra: { url: location.origin + '/#/sale/result', - backToFirst: '1' + backToFirst: '1', }, routerInfo: { - path: '/sale/result' - } + path: '/sale/result', + }, }) } else if (res.uwResult == '46') { // 转人核 @@ -1058,11 +1072,11 @@ export default { flag: 'h5', extra: { url: location.origin + '/#/sale/result', - backToFirst: '1' + backToFirst: '1', }, routerInfo: { - path: '/sale/result' - } + path: '/sale/result', + }, }) } else if (res.uwResult == '47') { // 核心系统繁忙,请稍后重试 @@ -1071,11 +1085,11 @@ export default { flag: 'h5', extra: { url: location.origin + '/#/sale/result', - backToFirst: '1' + backToFirst: '1', }, routerInfo: { - path: '/sale/result' - } + path: '/sale/result', + }, }) } else { //其他-系统繁忙,请稍后重试 @@ -1084,11 +1098,11 @@ export default { flag: 'h5', extra: { url: location.origin + '/#/sale/result', - backToFirst: '1' + backToFirst: '1', }, routerInfo: { - path: '/sale/result' - } + path: '/sale/result', + }, }) } } else { @@ -1103,11 +1117,11 @@ export default { this.$jump({ flag: 'h5', extra: { - url: location.origin + '/#/sale/payMent' + url: location.origin + '/#/sale/payMent', }, routerInfo: { - path: '/sale/payMent' - } + path: '/sale/payMent', + }, }) }, // 获取消息和阅读状态 @@ -1119,15 +1133,15 @@ export default { // 禁用背景点击s forbidClick: true, loadingType: 'spinner', - message: '加载中……' + message: '加载中……', }) let data = { orderNo: window.localStorage.getItem('orderNo'), - getOtherType: 'RID' + getOtherType: 'RID', } localStorage.setItem('riskName', '') - return new Promise(resolve => { - getOrderDetail(data).then(res => { + return new Promise((resolve) => { + getOrderDetail(data).then((res) => { if (res.result == '0') { if (res.orderDTO && res.orderDTO.prtType) { localStorage.setItem('readingProtocolType', res.orderDTO.prtType) @@ -1172,7 +1186,7 @@ export default { Dialog({ message: message.split('\\n').join('\n  '), confirmButtonText: '本人已阅读并同意上述特别约定内容', - messageAlign: 'left' + messageAlign: 'left', }) } // const message = '  ' + res.orderDTO.productDTO.special.content @@ -1240,7 +1254,7 @@ export default { } that.appnt = res.orderDTO.appntDTO that.date = res.orderDTO.orderInfoDTO.appntDateLabel - res.orderDTO.ebizSignDTOS.map(item => { + res.orderDTO.ebizSignDTOS.map((item) => { if (item.signType == '0' || item.signType == '2') { if (!localStorage.changeCard) { if (item.documentCode != '5') { @@ -1259,11 +1273,11 @@ export default { }) if (!that.changeCard) { //将投保人数组排序 - that.appntSign.sort(function(a, b) { + that.appntSign.sort(function (a, b) { return a.key - b.key }) //获取投保和被保险人电子投保单签字状态 - that.appntSign.map(item => { + that.appntSign.map((item) => { // 判断是否双录 if (item.documentCode == '6') { localStorage.doubleRecordFlag = '1' @@ -1272,7 +1286,7 @@ export default { that.appntSignStatus = item.documentStatus } }) - that.insuredSign.map(item => { + that.insuredSign.map((item) => { if (item.documentCode == '2') { that.insuredSignStatus = item.documentStatus } @@ -1317,10 +1331,10 @@ export default { loadingType: 'spinner', - message: '加载中……' + message: '加载中……', }) let data = {} - getSignInvalid(data).then(res => { + getSignInvalid(data).then((res) => { if (res.result == '0') { this.$toast.clear() this.signInvalid = res.content.sign @@ -1336,13 +1350,13 @@ export default { loadingType: 'spinner', - message: '加载中……' + message: '加载中……', }) let data = { - sign: signInvalid + sign: signInvalid, } - return new Promise(resolve => { - checkSignInvalid(data).then(res => { + return new Promise((resolve) => { + checkSignInvalid(data).then((res) => { if (res.result == '0') { that.$toast.clear() let status = res.content.status @@ -1403,10 +1417,10 @@ export default { realName: this.idcardData.realName, idno: this.idcardData.idno, redirectUrl: this.idcardData.redirectUrl, - businessSource: this.idcardData.businessSource + businessSource: this.idcardData.businessSource, } getRecognitionUrl(data).then( - res => { + (res) => { if (res.result == '0') { localStorage.setItem('faceAuthWeXin-requestId', JSON.stringify(res.content.requestId)) localStorage.setItem('faceAuthWeXin-bizToken', JSON.stringify(res.content.bizToken)) @@ -1415,7 +1429,7 @@ export default { this.$toast(res.resultMessage) } }, - error => { + (error) => { console.log(error) } ) @@ -1424,7 +1438,7 @@ export default { getRecognitionResult(requestId, bizToken) { return new Promise(() => { getRecognitionResult({ requestId, bizToken }).then( - res => { + (res) => { if (res.result == '0') { this.recognizeResult = res.result } else { @@ -1432,7 +1446,7 @@ export default { } this.sendimage(this.recognizeResult) }, - error => { + (error) => { console.log(error) } ) @@ -1455,7 +1469,7 @@ export default { ridType: ridType, ridDate: Formatter.formatDate(new Date(), 'yyyy-MM-dd'), ridPhone: this.appnt.mobile, - orderNo: this.orderInfo.orderNo + orderNo: this.orderInfo.orderNo, } } else if (type == 'insured_rid') { param = { @@ -1467,21 +1481,21 @@ export default { ridType: ridType, ridDate: Formatter.formatDate(new Date(), 'yyyy-MM-dd'), ridPhone: this.insured[0].mobile, - orderNo: this.orderInfo.orderNo + orderNo: this.orderInfo.orderNo, } } // 保存rid 认证结果 不阻断流程 - saveCustomerRid(param).then(res => { + saveCustomerRid(param).then((res) => { console.log('saveCustomerRid', res) }) - } + }, }, created() { setTimeout(() => { // eslint-disable-next-line no-undef EWebBridge.webCallAppInJs('webview_left_button', { img: this.$assetsUrl + 'images/del-close-btn@3x.png', - intercept: '1' //是否拦截原生返回事件 1是 其他否 + intercept: '1', //是否拦截原生返回事件 1是 其他否 }) }, 100) window.appCallBack = this.appCallBack @@ -1498,7 +1512,7 @@ export default { Dialog.confirm({ title: '提示', message: '当前投保单件需进行双录,请手动切换至双录系统,进行双录操作,完成后进行后续操作', - showCancelButton: false + showCancelButton: false, }).then(() => { // 获取投被保险人是否同一个人 that.relationToAppnt = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).relationToAppnt @@ -1515,12 +1529,12 @@ export default { [CollapseItem.name]: CollapseItem, [Dialog.name]: Dialog, [Field.name]: Field, - [IndexBar.name]: IndexBar + [IndexBar.name]: IndexBar, }, beforeRouteLeave(to, from, next) { document.body.style.backgroundColor = '' next() - } + }, }