【FIX】问卷选择入参修复及部分页面样式调整

(cherry picked from commit 3119d1b14a)
This commit is contained in:
勾通
2025-10-14 17:35:16 +08:00
parent 99d9a2ddd8
commit 814d8fe0b7
3 changed files with 36 additions and 23 deletions

View File

@@ -32,7 +32,7 @@
</div>
<!-- 已测评过底部按钮 -->
<div class="bottom-btn bg-white flex" v-if="showHasTested">
<div class="bottom-btn bg-white flex testBtn" v-if="showHasTested">
<van-button type="danger" square size="large" plain v-no-more-click="1000" @click="goBack">上一步</van-button>
<van-button type="danger" square size="large" class="btn" v-no-more-click="1000" @click="goNext">已知晓继续投保</van-button>
<van-button type="danger" square size="large" v-no-more-click="1000" @click="reStart">重新评估</van-button>
@@ -147,9 +147,19 @@ export default {
.result-popup-btn{
}
.btn{
//flex:1.5;
}
/deep/ .testBtn{
.van-button:first-child{
flex:1;
}
.van-button:nth-child(2){
flex:1.3;
border-right:1px solid #fff !important;
}
.van-button:nth-child(3){
flex:1;
}
}
.itemLevel{
font-size: 10px;
color:#999;

View File

@@ -84,7 +84,7 @@ export default {
if(filterValue.length==1){
evalDesc += filterValue[0].join('')
}else if(filterValue.length>1){
evalDesc += filterValue.map(item => item[0]).join(',') + filterValue[0][1]
evalDesc += filterValue.map(item => item[0]).join('') +'' +filterValue[0][1]
}else return
})
this.evalDesc = evalDesc
@@ -156,6 +156,7 @@ export default {
height:100vh;
display:flex;
.fit-container{
padding:50px 0;
width:100%;
display:flex;
flex-direction: column;

View File

@@ -3,7 +3,7 @@
<div class="question-header bg-white pt20 pb20 pr10 pl10" >
<h5 class="fs14">投保人信息</h5>
<div class="fs14 fieldContent">
<van-cell-group>
<van-cell-group :border="false">
<van-field v-model="saleInsuredInfo.name" label="姓名" readonly required/>
<van-field :value="saleInsuredInfo.idType | idToText('insuredIdType')" label="证件类型" readonly required/>
<van-field v-model="saleInsuredInfo.idNo" label="证件号码" readonly required/>
@@ -24,9 +24,9 @@
<!-- 单选框 -->
<div v-if="item.type=='radio'">
<p style="margin:2vh 0">{{ item.title }}</p>
<van-radio-group class="mb10" v-model="answerList[idx]" @change="handlerRadio($event,item,idx)">
<van-radio-group class="mb15" v-model="answerList[idx]" @change="handlerRadio($event,item,idx)">
<van-radio
class="mb5"
class="mb15"
v-for="(itemRadio,idxRadio) in item.options"
:name="itemRadio.option"
:key="idxRadio"
@@ -38,12 +38,16 @@
<!-- 多选框 -->
<div v-if="item.type=='checkbox'">
<p style="margin:2vh 0">{{ item.title }}</p>
<van-checkbox-group v-model="answerList[idx]" shape="square" @change="handlerCheckbox($event,item,idx)">
<van-checkbox-group
v-model="answerList[idx]"
@change="handlerCheckbox($event,item,idx)"
>
<van-checkbox
class="mb5"
class="mb15"
v-for="(itemCheckbox,idxCheckbox) in item.options"
:name="itemCheckbox.option"
:key="idxCheckbox"
shape="square"
>
{{itemCheckbox.item}}
@@ -65,7 +69,7 @@
</div>
<!-- 输入框 -->
<div v-if="item.type=='input'" class="mb10">
<div v-if="item.type=='input'" class="mb15">
<p class="budget-text">
<template v-for="(segment, index) in item.title.split(/\___/)" >
<!-- 显示文本片段 -->
@@ -164,8 +168,11 @@ export default {
},
CheckBoxExtraRadio: {
handler(newVal) {
if(!!newVal) {
if(!!newVal&&this.answerList[1].includes('B')) {
// 创建一个新对象保留原对象的所有属性只修改subOption为空
if(newVal=='N'){
this.CheckBoxExtraDesc = ''
}
const updatedItem = {
...this.assessQuestionnaireDtoList[1],
subOption: newVal,
@@ -178,7 +185,7 @@ export default {
},
CheckBoxExtraDesc:{
handler(newVal) {
if(!!newVal) {
if(!!newVal&&this.answerList[1].includes('B')) {
// 创建一个新对象保留原对象的所有属性只修改subOption为空
const updatedItem = {
...this.assessQuestionnaireDtoList[1],
@@ -192,7 +199,10 @@ export default {
'answerList.1': {
handler(newVal) {
console.log('检测到了第一项数据', newVal)
if(!newVal.includes('B')) {
this.CheckBoxExtraDesc = ''
this.CheckBoxExtraRadio =''
const updatedItem = {
...this.assessQuestionnaireDtoList[1],
subOption: null,
@@ -360,12 +370,10 @@ export default {
questionContent:item.title,
choose:this.filterCheckBoxElement('letter',e,item),
chooseContent:this.filterCheckBoxElement('content',e,item),
//subOption:null,
//subOptionContent:null,
score:this.filterCheckBoxElement('score',e,item),
chooseDesc:null,
subOption: this.assessQuestionnaireDtoList[1].subOption?this.assessQuestionnaireDtoList[1].subOption:null,
subOptionContent:this.assessQuestionnaireDtoList[1].subOptionContent?this.assessQuestionnaireDtoList[1].subOptionContent:null
subOption:this.CheckBoxExtraRadio?this.CheckBoxExtraRadio:null,
subOptionContent:this.CheckBoxExtraDesc?this.CheckBoxExtraDesc:null,
})
console.log('answerList',this.answerList)
@@ -427,11 +435,6 @@ export default {
})
},
validatePositiveInteger(value) {
const regex = /^(?:[1-9]\d{0,3}|[1-9]\d{0,3}(?:,\d{3})*)$/;
return regex.test(value) && value <= 10000;
},
clickOverlay(){
this.showResultPopup = false
},
@@ -475,7 +478,6 @@ export default {
loadingType: 'spinner',
message: '加载中……'
})
this.$toast.clear()
saveEvalateAnswer({assessQuestionnaireDtoList:this.assessQuestionnaireDtoList})
.then(res =>{
this.$toast.clear()