diff --git a/src/views/ebiz/common/CalculatePremium.vue b/src/views/ebiz/common/CalculatePremium.vue
index ea27df01f..9509cdb2d 100644
--- a/src/views/ebiz/common/CalculatePremium.vue
+++ b/src/views/ebiz/common/CalculatePremium.vue
@@ -3432,6 +3432,8 @@ export default {
this.verifyResultList = resultData.content.data.verifyResultList
this.riskAmntList = resultData.content.data.riskAmntList
}
+ }else{
+ this.$toast(resultData.resultMessage)
}
},
//建议书试算记录保存更新--编辑功能
@@ -3504,7 +3506,7 @@ export default {
//关闭测评结果弹窗遮罩层
clickOverlay(extra){
- if(exrta==='overlay')return
+ if(extra==='overlay')return
this.goBack()
},
@@ -3539,7 +3541,10 @@ export default {
//重新测评
reStart(){
- this.showResultPopup = false
+ if(this.assessFlag === '2'){
+ return this.$toast('已超过评估次数限制,无法重新评估')
+ }
+ localStorage.setItem('evalateFrom', 'toEvaluate')
this.$jump({
flag: 'h5',
extra: {
diff --git a/src/views/ebiz/common/EvaluateResult.vue b/src/views/ebiz/common/EvaluateResult.vue
index 932c7ae34..bc0f4d9a6 100644
--- a/src/views/ebiz/common/EvaluateResult.vue
+++ b/src/views/ebiz/common/EvaluateResult.vue
@@ -52,17 +52,7 @@ export default {
title: '评估结果'
},
})
- if (localStorage.isFrom == 'sale') {
- setTimeout(() => {
- EWebBridge.webCallAppInJs('webview_left_button', {
- img: this.$assetsUrl + 'images/del-close-btn@3x.png',
- intercept: '1' //是否拦截原生返回事件 1是 其他否
- })
- }, 100)
- }
- window.appCallBack = this.appCallBack
document.body.style.backgroundColor = '#fff'
- this.$route.query.assessResult && (this.assessResult = this.$route.query.assessResult)
getOrderDetail({ orderNo: this.$route.query.orderNo,userAssessLogic:true }).then(res => {
if (res.result == 0) {
this.assessResultDescList = res.orderDTO.orderInfoDTO.assessResultDescMap
@@ -131,19 +121,31 @@ export default {
//继续投保
onConfirm(){
let index = localStorage.getItem('evalateFrom') == 'toEvaluate' ? '-4' : '-3'
- console.log('onConfirm')
- this.$jump({
- flag: 'goBack',
- extra: {
- refresh: '1',
- index,
- },
- routerInfo: {
- type: 2,
- index,
- path: '/common/selectedProduct'+'/?orderNo=' + this.$route.query.orderNo
- }
- })
+ if(!!this.$route.query.edit&&(this.$route.query.edit=='1')){
+ this.$jump({
+ flag: 'h5',
+ extra: {
+ url: location.origin + '/#' + '/common/selectedProduct?orderNo=' + this.$route.query.orderNo
+ },
+ routerInfo: {
+ path:'/common/selectedProduct?orderNo=' + this.$route.query.orderNo
+ }
+ })
+ }else{
+ this.$jump({
+ flag: 'goBack',
+ extra: {
+ refresh: '1',
+ index,
+ },
+ routerInfo: {
+ type: 2,
+ index,
+ path: '/common/selectedProduct'+'?orderNo=' + this.$route.query.orderNo
+ }
+ })
+ }
+
}
}
}
diff --git a/src/views/ebiz/sale/List.vue b/src/views/ebiz/sale/List.vue
index 12c8c3ec5..8f7f39267 100644
--- a/src/views/ebiz/sale/List.vue
+++ b/src/views/ebiz/sale/List.vue
@@ -539,6 +539,8 @@ export default {
}
}
let orderStatus = order.orderInfoDTO.orderStatus
+ let assessQuestionnaireDtoList = order.orderInfoDTO.assessQuestionnaireDtoList
+ console.log(order,'order')
let orderNo = order.orderInfoDTO.orderNo
let url = ''
//保存对应的订单号
diff --git a/src/views/ebiz/sale/SignatureConfirmation.vue b/src/views/ebiz/sale/SignatureConfirmation.vue
index c19d3d7ff..68ced0421 100644
--- a/src/views/ebiz/sale/SignatureConfirmation.vue
+++ b/src/views/ebiz/sale/SignatureConfirmation.vue
@@ -58,7 +58,7 @@
item.documentCode == '9' ||
item.documentCode == '12' ||
item.documentCode == '13' ||
- item.documentCode == '14'
+ item.documentCode == '14'
? '需阅读'
: '需阅读并签署'
}}
@@ -292,7 +292,7 @@
item.documentCode == '9' ||
item.documentCode == '12' ||
item.documentCode == '13' ||
- item.documentCode == '14'
+ item.documentCode == '14'
? '需阅读'
: '需阅读并签署'
}}
@@ -1845,6 +1845,10 @@ export default {
item.documentShortName = '风险告知'
item.key = 7.1
item.routePath = 'readDocuments'
+ }else if(item.documentCode == '30'){
+ item.documentShortName = '适当性评估'
+ item.key = 13
+ item.routePath = 'readDocuments'
}
},
getSignInvalid() {
diff --git a/src/views/ebiz/sale/questionEvaluate.vue b/src/views/ebiz/sale/questionEvaluate.vue
index d49b9cceb..ba56748e9 100644
--- a/src/views/ebiz/sale/questionEvaluate.vue
+++ b/src/views/ebiz/sale/questionEvaluate.vue
@@ -5,12 +5,13 @@
-
+
+
{{questionInfo.questionHeadDesc}}
{{questionInfo.question1Desc}}
@@ -123,14 +124,16 @@ export default {
assessQuestionnaireDtoList:[],
CheckBoxExtraRadio:'',
CheckBoxExtraDesc:'',
- disabled:true
+ disabled:true,
+ assessFlag:null,
+ fromEdit:""
}
},
watch: {
answerList: {
handler(newVal) {
if(newVal) {
- console.log('answerList', newVal)
+ console.log('检测到了长度', newVal.length)
if(newVal.length == this.questionList.length){
// 检查每一项是否有空值
// 使用every方法检查是否所有项都已填写
@@ -160,9 +163,7 @@ export default {
deep: true
}
},
- created(){
- this.init()
- },
+
mounted(){
this.$jump({
flag: 'navigation',
@@ -182,10 +183,23 @@ export default {
window.appCallBack = this.appCallBack
document.body.style.backgroundColor = '#fff'
const orderNo = this.$route.query.orderNo
+
getOrderDetail({ orderNo: this.$route.query.orderNo,userAssessLogic:true }).then(res => {
if (res.result == 0) {
+ //是否做过测评及是否超出限制
+ this.assessFlag = res.orderDTO.orderInfoDTO.assessFlag
this.questionInfo = res.orderDTO.orderInfoDTO.assessQuestionnaireDto
this.questionList = res.orderDTO.orderInfoDTO.assessQuestionnaireDto.questionList
+ this.ageList = res.orderDTO.orderInfoDTO.assessQuestionnaireDto.questionList[0].options.map(item=>item.item)
+ if (this.$CacheUtils.getLocItem('saleInsuredInfo')) {
+ this.saleInsuredInfo = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo'))
+
+ }else{
+ this.saleInsuredInfo = res.orderDTO.appntDTO
+ }
+ console.log('投保人信息',this.saleInsuredInfo)
+ this.handlerFirstQuestion()
+ console.log('this.ageList',this.ageList,this.questionList)
} else {
this.$toast(res.resultMessage)
}
@@ -193,63 +207,36 @@ export default {
},
methods: {
appCallBack(data) {
- if (data.trigger == 'left_button_click' && localStorage.isFrom == 'sale') {
+ if (data.trigger == 'left_button_click' && localStorage.isFrom == 'sale') {
return this.$dialog
- .confirm({
- className: 'dialog-delete',
- title: '提示',
- message: '退出流程可能会丢失部分数据,是否确认退出?',
- cancelButtonColor: '#E9332E',
- confirmButtonColor: '#FFFFFF'
- })
- .then(() => {
- this.$jump({
- flag: 'h5',
- extra: {
- title: '电子投保单列表',
- forbidSwipeBack: 1, //当前页面禁止右滑返回
- url: location.origin + `/#/sale/list`
- },
- routerInfo: {
- path: `/sale/list`,
- type: '1'
- }
- })
- })
- .catch(() => {
- return
- })
- }else if (data.trigger == 'right_button_click' && localStorage.isFrom == 'proposal') {
- return this.$dialog
- .confirm({
- className: 'dialog-delete',
- title: '提示',
- message: '退出流程可能会丢失部分数据,是否确认退出?',
- cancelButtonColor: '#E9332E',
- confirmButtonColor: '#FFFFFF'
- })
- .then(() => {
- this.$jump({
- flag: 'h5',
- extra: {
- title: '建议书列表',
- forbidSwipeBack: 1, //当前页面禁止右滑返回
- url: location.origin + `/#/proposal/list`
- },
- routerInfo: {
- path: `/proposal/list`,
- type: '1'
- }
- })
- })
- .catch(() => {
- return
- })
+ .confirm({
+ className: 'dialog-delete',
+ title: '提示',
+ message: '退出流程可能会丢失部分数据,是否确认退出?',
+ cancelButtonColor: '#E9332E',
+ confirmButtonColor: '#FFFFFF'
+ })
+ .then(() => {
+ this.$jump({
+ flag: 'h5',
+ extra: {
+ title: '电子投保单列表',
+ forbidSwipeBack: 1, //当前页面禁止右滑返回
+ url: location.origin + `/#/sale/list`
+ },
+ routerInfo: {
+ path: `/sale/list`,
+ type: '1'
+ }
+ })
+ })
+ .catch(() => {
+ return
+ })
}
},
//单选框处理数据
handlerRadio(e,item, idx) {
- console.log('单选框选择',e,item,idx)
this.$set(this.assessQuestionnaireDtoList,idx,{
orderNo:this.$route.query.orderNo,
questionNo:item.questionNo,
@@ -278,6 +265,7 @@ export default {
//单选框筛选出分数和每项
filterRadioElement(el,e,item){
+ console.log('点击单选框',el,e,item)
if(el=='content'){
return item.options.find(item=>item.option==e).item.substring(2)
}else if(el=='score'){
@@ -382,12 +370,40 @@ export default {
return score
}
},
- init(){
- console.log('1231')
- if (this.$CacheUtils.getLocItem('saleInsuredInfo')) {
- this.saleInsuredInfo = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo'))
- console.log('this.saleInsuredInfo',this.saleInsuredInfo)
- }
+
+ //处理第一个单选框并自动回显:根据投保人年龄区间,回显对应的选项,并组装数据;
+ handlerFirstQuestion(){
+ let age = this.saleInsuredInfo.age
+ console.log('投保人年龄',age)
+ let answer;
+ if(age<=18) {
+ answer = 'F'
+ }else if(age>=18&&age<=25) {
+ answer = "A"
+ }else if(age>=26&&age<=50) {
+ answer = "B"
+ }else if(age>=51&&age<=60) {
+ answer = "C"
+ }else if(age<=65) {
+ answer = "D"
+ }else{
+ answer = "E"
+ }
+ this.answerList[0] = answer //单选框自动回显
+ let firstChoice = this.questionList[0].options.filter(item=>item.option==answer)
+ console.log('res',firstChoice,this.questionList[0],this.questionList[0].options)
+ this.$set(this.assessQuestionnaireDtoList,0,{
+ orderNo:this.$route.query.orderNo,
+ questionNo:this.questionList[0].questionNo,
+ questionContent:this.questionList[0].title,
+ choose:answer,
+ chooseContent:this.filterRadioElement('content',answer,this.questionList[0]),
+ subOption:null,
+ subOptionContent:null,
+ score:this.filterRadioElement('score',answer,this.questionList[0]),
+ chooseDesc:null,
+ })
+
},
validatePositiveInteger(value) {
const regex = /^(?:[1-9]\d{0,3}|[1-9]\d{0,3}(?:,\d{3})*)$/;
@@ -407,10 +423,13 @@ export default {
}else{
if(Array.from(this.answerList[3]).length!=2||(Array.from(this.answerList[3]).some(item=>!item))){
return this.$toast('请填写完整信息')
- }else if(Array.from(this.answerList[1]).includes('B')&&(!this.CheckBoxExtraRadio||this.CheckBoxExtraRadio=="Y"&&!this.CheckBoxExtraDesc))
+ }else if(Array.from(this.answerList[1]).includes('B')&&this.CheckBoxExtraRadio=="Y"&&!this.CheckBoxExtraDesc)
{
+ return this.$toast('请您补充险种和保额信息。')
+ } else if(Array.from(this.answerList[1]).includes('B')&&!this.CheckBoxExtraRadio){
return this.$toast('请填写完整信息')
}
+
}
}
let regex = /^([1-9]\d{0,3}|10000)$/;
@@ -418,6 +437,9 @@ export default {
|| !regex.test(this.answerList[4][0])){
return this.$toast('请填写1-10000之间的整数')
}
+ if(this.assessFlag === '2'){
+ return this.$toast('已超过评估次数限制,无法重新评估')
+ }
this.getEvaluateResult()
},
@@ -448,22 +470,39 @@ export default {
},
//未测评过,测评成功后重新测评
reTest(){
- console.log('重新测评')
- window.location.reload()
+ localStorage.setItem('evalateFrom', 'toEvaluate')
+ if(this.assessFlag === '2'){
+ return this.$toast('已超过评估次数限制,无法重新评估')
+ }else{
+ window.location.reload()
+ }
},
//继续投保,跳转至评估结果页
toInsure(){
this.showResultPopup = false
- this.$jump({
- flag: 'h5',
- extra: {
- url: location.origin +`/#/common/evaluateResult?orderNo=${this.$route.query.orderNo}`
- },
- routerInfo: {
- path: `/common/evaluateResult?orderNo=${this.$route.query.orderNo}`
- }
- })
+ if(!!this.$route.query.edit&&(this.$route.query.edit=='1')){
+ this.$jump({
+ flag: 'h5',
+ extra: {
+ url: location.origin +`/#/common/evaluateResult?orderNo=${this.$route.query.orderNo}&&edit=1`
+ },
+ routerInfo: {
+ path: `/common/evaluateResult?orderNo=${this.$route.query.orderNo}&&edit=1`
+ }
+ })
+ }else{
+ this.$jump({
+ flag: 'h5',
+ extra: {
+ url: location.origin +`/#/common/evaluateResult?orderNo=${this.$route.query.orderNo}`
+ },
+ routerInfo: {
+ path: `/common/evaluateResult?orderNo=${this.$route.query.orderNo}`
+ }
+ })
+ }
+
}
}
}