mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-11 03:56:44 +08:00
【FIX】部分功能修复及签字页面新增
This commit is contained in:
@@ -3431,6 +3431,8 @@ export default {
|
|||||||
this.verifyResultList = resultData.content.data.verifyResultList
|
this.verifyResultList = resultData.content.data.verifyResultList
|
||||||
this.riskAmntList = resultData.content.data.riskAmntList
|
this.riskAmntList = resultData.content.data.riskAmntList
|
||||||
}
|
}
|
||||||
|
}else{
|
||||||
|
this.$toast(resultData.resultMessage)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
//建议书试算记录保存更新--编辑功能
|
//建议书试算记录保存更新--编辑功能
|
||||||
@@ -3503,7 +3505,7 @@ export default {
|
|||||||
|
|
||||||
//关闭测评结果弹窗遮罩层
|
//关闭测评结果弹窗遮罩层
|
||||||
clickOverlay(extra){
|
clickOverlay(extra){
|
||||||
if(exrta==='overlay')return
|
if(extra==='overlay')return
|
||||||
this.goBack()
|
this.goBack()
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -3538,7 +3540,10 @@ export default {
|
|||||||
|
|
||||||
//重新测评
|
//重新测评
|
||||||
reStart(){
|
reStart(){
|
||||||
this.showResultPopup = false
|
if(this.assessFlag === '2'){
|
||||||
|
return this.$toast('已超过评估次数限制,无法重新评估')
|
||||||
|
}
|
||||||
|
localStorage.setItem('evalateFrom', 'toEvaluate')
|
||||||
this.$jump({
|
this.$jump({
|
||||||
flag: 'h5',
|
flag: 'h5',
|
||||||
extra: {
|
extra: {
|
||||||
|
|||||||
@@ -52,17 +52,7 @@ export default {
|
|||||||
title: '评估结果'
|
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'
|
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 => {
|
getOrderDetail({ orderNo: this.$route.query.orderNo,userAssessLogic:true }).then(res => {
|
||||||
if (res.result == 0) {
|
if (res.result == 0) {
|
||||||
this.assessResultDescList = res.orderDTO.orderInfoDTO.assessResultDescMap
|
this.assessResultDescList = res.orderDTO.orderInfoDTO.assessResultDescMap
|
||||||
@@ -131,7 +121,17 @@ export default {
|
|||||||
//继续投保
|
//继续投保
|
||||||
onConfirm(){
|
onConfirm(){
|
||||||
let index = localStorage.getItem('evalateFrom') == 'toEvaluate' ? '-4' : '-3'
|
let index = localStorage.getItem('evalateFrom') == 'toEvaluate' ? '-4' : '-3'
|
||||||
console.log('onConfirm')
|
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({
|
this.$jump({
|
||||||
flag: 'goBack',
|
flag: 'goBack',
|
||||||
extra: {
|
extra: {
|
||||||
@@ -141,10 +141,12 @@ export default {
|
|||||||
routerInfo: {
|
routerInfo: {
|
||||||
type: 2,
|
type: 2,
|
||||||
index,
|
index,
|
||||||
path: '/common/selectedProduct'+'/?orderNo=' + this.$route.query.orderNo
|
path: '/common/selectedProduct'+'?orderNo=' + this.$route.query.orderNo
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -465,6 +465,8 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
let orderStatus = order.orderInfoDTO.orderStatus
|
let orderStatus = order.orderInfoDTO.orderStatus
|
||||||
|
let assessQuestionnaireDtoList = order.orderInfoDTO.assessQuestionnaireDtoList
|
||||||
|
console.log(order,'order')
|
||||||
let orderNo = order.orderInfoDTO.orderNo
|
let orderNo = order.orderInfoDTO.orderNo
|
||||||
let url = ''
|
let url = ''
|
||||||
//保存对应的订单号
|
//保存对应的订单号
|
||||||
@@ -512,7 +514,11 @@ export default {
|
|||||||
url = '/sale/AttachmentManagement?edit=1&orderNo='+orderNo
|
url = '/sale/AttachmentManagement?edit=1&orderNo='+orderNo
|
||||||
}
|
}
|
||||||
}else if(orderStatus == '39'){ //险种信息保存成功, 跳到已选产品列表
|
}else if(orderStatus == '39'){ //险种信息保存成功, 跳到已选产品列表
|
||||||
|
if(!assessQuestionnaireDtoList){
|
||||||
|
url = '/sale/questionEvaluate?edit=1&orderNo='+orderNo
|
||||||
|
}else{
|
||||||
url = '/common/selectedProduct?edit=1&orderNo='+orderNo
|
url = '/common/selectedProduct?edit=1&orderNo='+orderNo
|
||||||
|
}
|
||||||
}else if(orderStatus == '40'){//告知信息保存成功, 跳到风险测评--
|
}else if(orderStatus == '40'){//告知信息保存成功, 跳到风险测评--
|
||||||
if( order.riskEvaluationDTO.isShowEvaluationPoint != '1'){
|
if( order.riskEvaluationDTO.isShowEvaluationPoint != '1'){
|
||||||
if(order.universalRiskNotifyDTO && order.universalRiskNotifyDTO.isUniversalRiskNotifyShowPoint == '1'){
|
if(order.universalRiskNotifyDTO && order.universalRiskNotifyDTO.isUniversalRiskNotifyShowPoint == '1'){
|
||||||
|
|||||||
@@ -1838,6 +1838,10 @@ export default {
|
|||||||
item.documentShortName = '风险告知'
|
item.documentShortName = '风险告知'
|
||||||
item.key = 7.1
|
item.key = 7.1
|
||||||
item.routePath = 'readDocuments'
|
item.routePath = 'readDocuments'
|
||||||
|
}else if(item.documentCode == '30'){
|
||||||
|
item.documentShortName = '适当性评估'
|
||||||
|
item.key = 13
|
||||||
|
item.routePath = 'readDocuments'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getSignInvalid() {
|
getSignInvalid() {
|
||||||
|
|||||||
@@ -5,12 +5,13 @@
|
|||||||
<div class="fs14">
|
<div class="fs14">
|
||||||
<van-cell-group>
|
<van-cell-group>
|
||||||
<van-field v-model="saleInsuredInfo.name" label="姓名" readonly required/>
|
<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.idNo" label="证件号码" readonly required/>
|
||||||
<van-field v-model="saleInsuredInfo.mobile" label="联系方式" readonly required/>
|
<van-field v-model="saleInsuredInfo.mobile" label="联系方式" readonly required/>
|
||||||
<van-field v-model="saleInsuredInfo.occupationName" label="职业" readonly required/>
|
<van-field v-model="saleInsuredInfo.occupationName" label="职业" readonly required/>
|
||||||
</van-cell-group>
|
</van-cell-group>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- <button class="btn" @click="clickBtn">返回</button> -->
|
||||||
<div class="fs16" >
|
<div class="fs16" >
|
||||||
<h5> {{questionInfo.questionHeadDesc}}</h5>
|
<h5> {{questionInfo.questionHeadDesc}}</h5>
|
||||||
<h5>{{questionInfo.question1Desc}}</h5>
|
<h5>{{questionInfo.question1Desc}}</h5>
|
||||||
@@ -123,14 +124,16 @@ export default {
|
|||||||
assessQuestionnaireDtoList:[],
|
assessQuestionnaireDtoList:[],
|
||||||
CheckBoxExtraRadio:'',
|
CheckBoxExtraRadio:'',
|
||||||
CheckBoxExtraDesc:'',
|
CheckBoxExtraDesc:'',
|
||||||
disabled:true
|
disabled:true,
|
||||||
|
assessFlag:null,
|
||||||
|
fromEdit:""
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
answerList: {
|
answerList: {
|
||||||
handler(newVal) {
|
handler(newVal) {
|
||||||
if(newVal) {
|
if(newVal) {
|
||||||
console.log('answerList', newVal)
|
console.log('检测到了长度', newVal.length)
|
||||||
if(newVal.length == this.questionList.length){
|
if(newVal.length == this.questionList.length){
|
||||||
// 检查每一项是否有空值
|
// 检查每一项是否有空值
|
||||||
// 使用every方法检查是否所有项都已填写
|
// 使用every方法检查是否所有项都已填写
|
||||||
@@ -160,9 +163,7 @@ export default {
|
|||||||
deep: true
|
deep: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created(){
|
|
||||||
this.init()
|
|
||||||
},
|
|
||||||
mounted(){
|
mounted(){
|
||||||
this.$jump({
|
this.$jump({
|
||||||
flag: 'navigation',
|
flag: 'navigation',
|
||||||
@@ -182,10 +183,23 @@ export default {
|
|||||||
window.appCallBack = this.appCallBack
|
window.appCallBack = this.appCallBack
|
||||||
document.body.style.backgroundColor = '#fff'
|
document.body.style.backgroundColor = '#fff'
|
||||||
const orderNo = this.$route.query.orderNo
|
const orderNo = this.$route.query.orderNo
|
||||||
|
|
||||||
getOrderDetail({ orderNo: this.$route.query.orderNo,userAssessLogic:true }).then(res => {
|
getOrderDetail({ orderNo: this.$route.query.orderNo,userAssessLogic:true }).then(res => {
|
||||||
if (res.result == 0) {
|
if (res.result == 0) {
|
||||||
|
//是否做过测评及是否超出限制
|
||||||
|
this.assessFlag = res.orderDTO.orderInfoDTO.assessFlag
|
||||||
this.questionInfo = res.orderDTO.orderInfoDTO.assessQuestionnaireDto
|
this.questionInfo = res.orderDTO.orderInfoDTO.assessQuestionnaireDto
|
||||||
this.questionList = res.orderDTO.orderInfoDTO.assessQuestionnaireDto.questionList
|
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 {
|
} else {
|
||||||
this.$toast(res.resultMessage)
|
this.$toast(res.resultMessage)
|
||||||
}
|
}
|
||||||
@@ -219,37 +233,10 @@ export default {
|
|||||||
.catch(() => {
|
.catch(() => {
|
||||||
return
|
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
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
//单选框处理数据
|
//单选框处理数据
|
||||||
handlerRadio(e,item, idx) {
|
handlerRadio(e,item, idx) {
|
||||||
console.log('单选框选择',e,item,idx)
|
|
||||||
this.$set(this.assessQuestionnaireDtoList,idx,{
|
this.$set(this.assessQuestionnaireDtoList,idx,{
|
||||||
orderNo:this.$route.query.orderNo,
|
orderNo:this.$route.query.orderNo,
|
||||||
questionNo:item.questionNo,
|
questionNo:item.questionNo,
|
||||||
@@ -278,6 +265,7 @@ export default {
|
|||||||
|
|
||||||
//单选框筛选出分数和每项
|
//单选框筛选出分数和每项
|
||||||
filterRadioElement(el,e,item){
|
filterRadioElement(el,e,item){
|
||||||
|
console.log('点击单选框',el,e,item)
|
||||||
if(el=='content'){
|
if(el=='content'){
|
||||||
return item.options.find(item=>item.option==e).item.substring(2)
|
return item.options.find(item=>item.option==e).item.substring(2)
|
||||||
}else if(el=='score'){
|
}else if(el=='score'){
|
||||||
@@ -382,12 +370,40 @@ export default {
|
|||||||
return score
|
return score
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
init(){
|
|
||||||
console.log('1231')
|
//处理第一个单选框并自动回显:根据投保人年龄区间,回显对应的选项,并组装数据;
|
||||||
if (this.$CacheUtils.getLocItem('saleInsuredInfo')) {
|
handlerFirstQuestion(){
|
||||||
this.saleInsuredInfo = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo'))
|
let age = this.saleInsuredInfo.age
|
||||||
console.log('this.saleInsuredInfo',this.saleInsuredInfo)
|
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) {
|
validatePositiveInteger(value) {
|
||||||
const regex = /^(?:[1-9]\d{0,3}|[1-9]\d{0,3}(?:,\d{3})*)$/;
|
const regex = /^(?:[1-9]\d{0,3}|[1-9]\d{0,3}(?:,\d{3})*)$/;
|
||||||
@@ -407,10 +423,13 @@ export default {
|
|||||||
}else{
|
}else{
|
||||||
if(Array.from(this.answerList[3]).length!=2||(Array.from(this.answerList[3]).some(item=>!item))){
|
if(Array.from(this.answerList[3]).length!=2||(Array.from(this.answerList[3]).some(item=>!item))){
|
||||||
return this.$toast('请填写完整信息')
|
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('请填写完整信息')
|
return this.$toast('请填写完整信息')
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let regex = /^([1-9]\d{0,3}|10000)$/;
|
let regex = /^([1-9]\d{0,3}|10000)$/;
|
||||||
@@ -418,6 +437,9 @@ export default {
|
|||||||
|| !regex.test(this.answerList[4][0])){
|
|| !regex.test(this.answerList[4][0])){
|
||||||
return this.$toast('请填写1-10000之间的整数')
|
return this.$toast('请填写1-10000之间的整数')
|
||||||
}
|
}
|
||||||
|
if(this.assessFlag === '2'){
|
||||||
|
return this.$toast('已超过评估次数限制,无法重新评估')
|
||||||
|
}
|
||||||
this.getEvaluateResult()
|
this.getEvaluateResult()
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -448,13 +470,28 @@ export default {
|
|||||||
},
|
},
|
||||||
//未测评过,测评成功后重新测评
|
//未测评过,测评成功后重新测评
|
||||||
reTest(){
|
reTest(){
|
||||||
console.log('重新测评')
|
localStorage.setItem('evalateFrom', 'toEvaluate')
|
||||||
|
if(this.assessFlag === '2'){
|
||||||
|
return this.$toast('已超过评估次数限制,无法重新评估')
|
||||||
|
}else{
|
||||||
window.location.reload()
|
window.location.reload()
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
//继续投保,跳转至评估结果页
|
//继续投保,跳转至评估结果页
|
||||||
toInsure(){
|
toInsure(){
|
||||||
this.showResultPopup = false
|
this.showResultPopup = false
|
||||||
|
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({
|
this.$jump({
|
||||||
flag: 'h5',
|
flag: 'h5',
|
||||||
extra: {
|
extra: {
|
||||||
@@ -465,6 +502,8 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user