diff --git a/src/components/ebiz/sale/IndexBar.vue b/src/components/ebiz/sale/IndexBar.vue index 6f7a8125a..1da75ff63 100644 --- a/src/components/ebiz/sale/IndexBar.vue +++ b/src/components/ebiz/sale/IndexBar.vue @@ -89,14 +89,40 @@ export default { default: break } - this.$jump({ - flag: 'h5', - extra: { - forbidSwipeBack: '1', - url: location.origin + `/#${url}` - }, - routerInfo: { path: url } - }) + let str = location.hash + let i = str.search(/AttachmentManagement/i) + if (i !== -1 && pageIndex != 7 && pageIndex != 8) { + this.$dialog + .confirm({ + className: 'dialog-delete', + title: '提示', + message: '离开此页可能会丢失部分数据,是否确认离开?', + cancelButtonColor: '#E9332E', + confirmButtonColor: '#FFFFFF' + }) + .then(() => { + this.$jump({ + flag: 'h5', + extra: { + forbidSwipeBack: '1', + url: location.origin + `/#${url}` + }, + routerInfo: { path: url } + }) + }) + .catch(() => { + return + }) + } else { + this.$jump({ + flag: 'h5', + extra: { + forbidSwipeBack: '1', + url: location.origin + `/#${url}` + }, + routerInfo: { path: url } + }) + } }, selectTab() { let endIndex = location.hash.indexOf('?', 1) diff --git a/src/views/ebiz/sale/AccountInformation.vue b/src/views/ebiz/sale/AccountInformation.vue index e2aa0b66a..4817e1047 100644 --- a/src/views/ebiz/sale/AccountInformation.vue +++ b/src/views/ebiz/sale/AccountInformation.vue @@ -234,18 +234,45 @@ export default { } }) }, - appCallBack() { - this.isclear = true - // 筛选按钮的点击事件 - this.isclear = true - this.$jump({ - flag: 'navigation', - extra: { - title: '账户管理', - hiddenRight: '1' - } - }) - this.isScan = false + appCallBack(data) { + if (data.trigger == 'left_button_click') { + return this.$dialog + .confirm({ + className: 'dialog-delete', + title: '提示', + message: '退出流程可能会丢失部分数据,是否确认退出?', + cancelButtonColor: '#E9332E', + confirmButtonColor: '#FFFFFF' + }) + .then(() => { + this.$jump({ + flag: 'h5', + extra: { + title: '电子投保单列表', + url: location.origin + `/#/sale/list` + }, + routerInfo: { + path: `/sale/list`, + type: '1' + } + }) + }) + .catch(() => { + return + }) + } else { + this.isclear = true + // 筛选按钮的点击事件 + this.isclear = true + this.$jump({ + flag: 'navigation', + extra: { + title: '账户管理', + hiddenRight: '1' + } + }) + this.isScan = false + } }, // 单选框选中 clickRadio(val) { @@ -373,7 +400,6 @@ export default { } saveInformation(data).then(res => { if (res.result == '0') { - localStorage.salePageFlag = '8' //当前后台接口及前端代码不完善,仅调试观察现象使用,调试完成后删除 window.localStorage.setItem('accountInformationRadio', that.radio) that.$jump({ @@ -425,6 +451,8 @@ export default { localStorage.setItem('isAutoPay', res.orderDTO.orderAccountDTO.isAutoPay) localStorage.setItem('isAutoRenewal', res.orderDTO.orderAccountDTO.isAutoRenewal) localStorage.setItem('isRenew', res.orderDTO.orderAccountDTO.isRenew) + } else { + localStorage.setItem('salePageFlag', this.salePageFlag) } this.productNo = res.orderDTO.insuredDTOs[0].riskDTOLst[0].mainRiskCode //计算年龄 @@ -462,19 +490,14 @@ export default { }, mounted() { document.body.style.backgroundColor = '#F5F5F5' + setTimeout(() => { + EWebBridge.webCallAppInJs('webview_left_button', { + img: this.$assetsUrl + 'images/del-close@3x.png', + intercept: '1' //是否拦截原生返回事件 1是 其他否 + }) + }, 100) // 筛选按钮的点击事件 window.appCallBack = this.appCallBack - if (!this.$route.query.edit) { - //如果不是编辑/导航条跳转进来的 - localStorage.setItem('salePageFlag', this.salePageFlag) - } else if (this.$route.query.edit && !this.$route.query.salePageFlag) { - //如果从保单列表点击编辑按钮进入 - this.salePageFlag = '6' - localStorage.setItem('salePageFlag', this.salePageFlag) - } else if (this.$route.query.salePageFlag) { - //如果是从导航栏点击进入 - this.salePageFlag = localStorage.salePageFlag - } }, beforeRouteLeave(to, from, next) { document.body.style.backgroundColor = '' diff --git a/src/views/ebiz/sale/AttachmentManagement.vue b/src/views/ebiz/sale/AttachmentManagement.vue index a1653dffb..8e596b15f 100644 --- a/src/views/ebiz/sale/AttachmentManagement.vue +++ b/src/views/ebiz/sale/AttachmentManagement.vue @@ -385,6 +385,13 @@ export default { } }, mounted() { + setTimeout(() => { + EWebBridge.webCallAppInJs('webview_left_button', { + // img: this.$assetsUrl + 'images/del-close@3x.png', + intercept: '1' //是否拦截原生返回事件 1是 其他否 + }) + }, 100) + window.appCallBack = this.appCallBack if (!this.$route.query.edit) { //如果不是编辑/导航条跳转进来的 localStorage.setItem('salePageFlag', this.salePageFlag) @@ -534,6 +541,35 @@ export default { next() }, methods: { + appCallBack(data) { + if (data.trigger == 'left_button_click') { + return this.$dialog + .confirm({ + className: 'dialog-delete', + title: '提示', + message: '退出流程可能会丢失部分数据,是否确认退出?', + cancelButtonColor: '#E9332E', + confirmButtonColor: '#FFFFFF' + }) + .then(() => { + this.$jump({ + flag: 'h5', + extra: { + title: '电子投保单列表', + url: location.origin + `/#/sale/list` + }, + routerInfo: { + path: `/sale/list`, + type: '1' + } + }) + }) + .catch(() => { + return + }) + } + }, + // 删除图片前 beforeDelete(file, detail) { let that = this @@ -971,7 +1007,6 @@ export default { window.localStorage.removeItem('bankCardUrlPath') window.localStorage.removeItem('bankCardUrlInsured') window.localStorage.removeItem('bankCardUrlInsuredPath') - localStorage.salePageFlag = '8' //当前后台接口及前端代码不完善,仅调试观察现象使用,调试完成后删除 that.$jump({ flag: 'h5', extra: { diff --git a/src/views/ebiz/sale/Beneficiary.vue b/src/views/ebiz/sale/Beneficiary.vue index 168fed086..6df605787 100644 --- a/src/views/ebiz/sale/Beneficiary.vue +++ b/src/views/ebiz/sale/Beneficiary.vue @@ -86,13 +86,14 @@ export default { this.beneficiaries = this.beneficiaries.concat(JSON.parse(localStorage.beneficiaryInfo)) this.type = '2' console.log(this.beneficiaries) - } - //如果是从编辑/导航进来 - if (this.$route.query.edit) { + } else { getOrderDetail({ orderNo: localStorage.orderNo }).then(res => { if (res.result == 0) { this.$utils.intLocalStorage(res) this.type = res.orderDTO.orderInfoDTO.bnfFlag == '1' ? '2' : '1' //bnfFlag 0-法定受益人 1-指定受益人 + if (res.orderDTO.orderInfoDTO.bnfFlag == null) { + localStorage.setItem('salePageFlag', this.salePageFlag) + } if (res.orderDTO.insuredDTOs[0].bnfDTOs !== null) { this.beneficiaries = this.beneficiaries.concat(res.orderDTO.insuredDTOs[0].bnfDTOs) localStorage.beneficiaryInfo = JSON.stringify(res.orderDTO.insuredDTOs[0].bnfDTOs) @@ -101,25 +102,16 @@ export default { } } }) - } else { - localStorage.setItem('salePageFlag', this.salePageFlag) } - if (this.$route.query.edit && !this.$route.query.salePageFlag) { - //如果从保单列表点击编辑按钮进入 - this.salePageFlag = '4' - localStorage.setItem('salePageFlag', this.salePageFlag) - } else if (this.$route.query.salePageFlag) { - //如果是从导航栏点击进入 - this.salePageFlag = localStorage.salePageFlag - } - this.insuredPerson = JSON.parse(localStorage.saleInsuredPersonInfo).name }, mounted() { - EWebBridge.webCallAppInJs('webview_left_button', { - img: this.$assetsUrl + 'images/del-close@3x.png', - intercept: '1' //是否拦截原生返回事件 1是 其他否 - }) + setTimeout(() => { + EWebBridge.webCallAppInJs('webview_left_button', { + img: this.$assetsUrl + 'images/del-close@3x.png', + intercept: '1' //是否拦截原生返回事件 1是 其他否 + }) + }, 100) window.appCallBack = this.appCallBack document.body.style.backgroundColor = '#fff' }, @@ -193,20 +185,16 @@ export default { if (res.result == 0) { localStorage.removeItem('applicant') localStorage.removeItem('fromAddBeneficiaryInfo') - if (!this.$route.query.salePageFlag) { - //不是从导航栏进入 - localStorage.salePageFlag = '5' - } //页面跳转 this.$jump({ flag: 'h5', extra: { forbidSwipeBack: '1', - url: location.origin + '/#/sale/notifyingMessage', + url: location.origin + `/#/sale/notifyingMessage`, needRefresh: '1' }, routerInfo: { - path: '/sale/notifyingMessage' + path: `/sale/notifyingMessage` } }) } else { diff --git a/src/views/ebiz/sale/InsuredInfo.vue b/src/views/ebiz/sale/InsuredInfo.vue index a50b94ccd..c474690b9 100644 --- a/src/views/ebiz/sale/InsuredInfo.vue +++ b/src/views/ebiz/sale/InsuredInfo.vue @@ -496,25 +496,31 @@ export default { //国家/地区 this.userInfo.nativeplace = '1' this.$utils.intLocalStorage(res) + + if (this.$route.query.edit && !this.$route.query.salePageFlag) { + //如果从保单列表点击编辑按钮进入 + this.salePageFlag = '1' + localStorage.setItem('salePageFlag', this.salePageFlag) + } else { + //从导航栏进入 + this.homeName = getAreaName([ + { code: res.orderDTO.appntDTO.homeProvince }, + { code: res.orderDTO.appntDTO.homeCity }, + { code: res.orderDTO.appntDTO.homeArea } + ]) //获取家庭地址 + this.census = getAreaName([{ code: res.orderDTO.appntDTO.householdProvince }, { code: res.orderDTO.appntDTO.householdCity }]) //获取户籍 + } } }) } else { localStorage.setItem('salePageFlag', this.salePageFlag) localStorage.setItem('saleInsuredInfo', '') } - if (this.$route.query.edit && !this.$route.query.salePageFlag) { - //如果从保单列表点击编辑按钮进入 - this.salePageFlag = '1' - localStorage.setItem('salePageFlag', this.salePageFlag) - } else if (this.$route.query.salePageFlag) { - //如果是从导航栏点击进入 - this.salePageFlag = localStorage.salePageFlag - } }, mounted() { setTimeout(() => { EWebBridge.webCallAppInJs('webview_left_button', { - img: this.$assetsUrl + 'images/del-close@3x.png', + // img: this.$assetsUrl + 'images/del-close@3x.png', intercept: '1' //是否拦截原生返回事件 1是 其他否 }) }, 100) @@ -980,18 +986,17 @@ export default { .then(() => { // on confirm - this.save('isShow=1') - console.log('success') + this.save() + // this.save('isShow=1') }) .catch(() => { - // on cancel return }) } } this.save() }, - async save(str = '') { + async save() { let params = { orderType: 'APPNT_ORDER', orderDTO: { @@ -1003,22 +1008,18 @@ export default { appntDTO: {} } } - // let params = { - // operateType: 'authmobile', - // type: 'H5', - // system: 'agentApp', - // operateCodeType: '0' - // } - + let str = '' params.orderDTO.appntDTO = this.userInfo let resultData = await saveOrUpdateOrderInfo(params) if (resultData.result == 0) { //deleteFlag 0-该页面修改了信息且修改的信息影响到后面流程,后台进行了删除数据的操作 - if (resultData.deleteFlag === '0') { + if (resultData.deleteFlag == '0') { localStorage.salePageFlag = '2' } else if (!this.$route.query.salePageFlag) { - //如果从保单列表编辑按钮进入 + //如果从保单列表编辑按钮或者新增保单进入 localStorage.salePageFlag = '2' + } else { + str = 'edit=1&salePageFlag=2' } localStorage.orderNo = resultData.orderNo // localStorage.insuredDetail = JSON.stringify(this.userInfo) diff --git a/src/views/ebiz/sale/InsuredPerson.vue b/src/views/ebiz/sale/InsuredPerson.vue index 670124f41..c1b3ac614 100644 --- a/src/views/ebiz/sale/InsuredPerson.vue +++ b/src/views/ebiz/sale/InsuredPerson.vue @@ -681,9 +681,6 @@ export default { //如果从保单列表点击编辑按钮进入 this.salePageFlag = '2' localStorage.setItem('salePageFlag', this.salePageFlag) - } else if (this.$route.query.salePageFlag) { - //如果是从导航栏点击进入 - this.salePageFlag = localStorage.salePageFlag } }, mounted() { @@ -1366,17 +1363,20 @@ export default { delete this.userInfo.mediaDTOS } params.orderDTO.insuredDTOs = [this.userInfo] + let str = '' let resultData = await saveOrUpdateOrderInfo(params) if (resultData.result == 0) { localStorage.salePageFlag = '3' // localStorage.relationToAppnt = this.userInfo.relationToAppnt //deleteFlag 0-该页面修改了信息且修改的信息影响到后面流程,后台进行了删除数据的操作 - if (resultData.deleteFlag === '0') { + if (resultData.deleteFlag == '0') { localStorage.salePageFlag = '3' } else if (!this.$route.query.salePageFlag) { - //如果从保单列表编辑按钮进入 + //如果从保单列表编辑按钮/新增保单进入 localStorage.salePageFlag = '3' + } else { + str = 'edit=1&salePageFlag=3' } localStorage.isFrom = 'sale' //清理计时器 @@ -1388,10 +1388,10 @@ export default { flag: 'h5', extra: { forbidSwipeBack: '1', - url: location.origin + '/#/common/selectedProduct' + url: location.origin + `/#/common/selectedProduct?${str}` }, routerInfo: { - path: '/common/selectedProduct' + path: `/common/selectedProduct?${str}` } }) } else { diff --git a/src/views/ebiz/sale/NotifyingMessage.vue b/src/views/ebiz/sale/NotifyingMessage.vue index 66d6a38b0..476b0144c 100644 --- a/src/views/ebiz/sale/NotifyingMessage.vue +++ b/src/views/ebiz/sale/NotifyingMessage.vue @@ -240,10 +240,13 @@ export default { //this.information() }, mounted() { - EWebBridge.webCallAppInJs('webview_left_button', { - img: this.$assetsUrl + 'images/del-close@3x.png', - intercept: '1' //是否拦截原生返回事件 1是 其他否 - }) + setTimeout(() => { + EWebBridge.webCallAppInJs('webview_left_button', { + img: this.$assetsUrl + 'images/del-close@3x.png', + intercept: '1' //是否拦截原生返回事件 1是 其他否 + }) + }, 100) + window.appCallBack = this.appCallBack document.body.style.backgroundColor = '#F5F5F5' if (!this.$route.query.edit) { //如果不是编辑/导航条跳转进来的 diff --git a/src/views/ebiz/sale/SignatureConfirmation.vue b/src/views/ebiz/sale/SignatureConfirmation.vue index 0085f56d1..c6d38cbd4 100644 --- a/src/views/ebiz/sale/SignatureConfirmation.vue +++ b/src/views/ebiz/sale/SignatureConfirmation.vue @@ -316,7 +316,7 @@ export default { appntSignStatus: '', //投保人电子签名状态 insuredSignStatus: '', //被保险人电子签名状态 changeCard: localStorage.changeCard, - salePageFlag: '8' + salePageFlag: '-10' } }, methods: { @@ -1092,17 +1092,8 @@ export default { }) }, mounted() { - if (!this.$route.query.edit) { - //如果不是编辑/导航条跳转进来的 - localStorage.setItem('salePageFlag', this.salePageFlag) - } else if (this.$route.query.edit && !this.$route.query.salePageFlag) { - //如果从保单列表点击编辑按钮进入 - this.salePageFlag = '8' - localStorage.setItem('salePageFlag', this.salePageFlag) - } else if (this.$route.query.salePageFlag) { - //如果是从导航栏点击进入 - this.salePageFlag = localStorage.salePageFlag - } + //若进入签名页,则不允许回到签名页前面的页面 + localStorage.setItem('salePageFlag', this.salePageFlag) let that = this document.title = this.changeCard ? '修改银行卡号确认' : '签名确认' // 初始化