mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-06 14:16:44 +08:00
【FIX】遴选部分功能修复及签字页面修复
This commit is contained in:
@@ -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: {
|
||||
|
||||
@@ -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
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 = ''
|
||||
//保存对应的订单号
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
item.documentCode == '9' ||
|
||||
item.documentCode == '12' ||
|
||||
item.documentCode == '13' ||
|
||||
item.documentCode == '14'
|
||||
item.documentCode == '14'
|
||||
? '需阅读'
|
||||
: '需阅读并签署'
|
||||
}}</span>
|
||||
@@ -292,7 +292,7 @@
|
||||
item.documentCode == '9' ||
|
||||
item.documentCode == '12' ||
|
||||
item.documentCode == '13' ||
|
||||
item.documentCode == '14'
|
||||
item.documentCode == '14'
|
||||
? '需阅读'
|
||||
: '需阅读并签署'
|
||||
}}</span>
|
||||
@@ -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() {
|
||||
|
||||
@@ -5,12 +5,13 @@
|
||||
<div class="fs14">
|
||||
<van-cell-group>
|
||||
<van-field v-model="saleInsuredInfo.name" label="姓名" readonly required/>
|
||||
<van-field v-model="saleInsuredInfo.idType" label="证件类型" readonly required/>
|
||||
<van-field :value="saleInsuredInfo.idType | idToText('insuredIdType')" label="证件类型" readonly required/>
|
||||
<van-field v-model="saleInsuredInfo.idNo" label="证件号码" readonly required/>
|
||||
<van-field v-model="saleInsuredInfo.mobile" label="联系方式" readonly required/>
|
||||
<van-field v-model="saleInsuredInfo.occupationName" label="职业" readonly required/>
|
||||
</van-cell-group>
|
||||
</div>
|
||||
<!-- <button class="btn" @click="clickBtn">返回</button> -->
|
||||
<div class="fs16" >
|
||||
<h5> {{questionInfo.questionHeadDesc}}</h5>
|
||||
<h5>{{questionInfo.question1Desc}}</h5>
|
||||
@@ -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}`
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user