mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-12 02:06:43 +08:00
GFRS-454【0326】 建议书优化2.0 初版代码备份提交_3 --提交人:阳华祥
This commit is contained in:
@@ -5,18 +5,18 @@
|
|||||||
<div class="white fw500 fs18" style="margin-top: 37px;margin-left: 17px;">家庭保障计划</div>
|
<div class="white fw500 fs18" style="margin-top: 37px;margin-left: 17px;">家庭保障计划</div>
|
||||||
<van-sticky @scroll="testSticky">
|
<van-sticky @scroll="testSticky">
|
||||||
<div class="pl15 pt15 flex justify-content-fs align-items-c sticky_div" :class="pageShowType.isFixed ? 'divbg_1' : 'divbg_2'">
|
<div class="pl15 pt15 flex justify-content-fs align-items-c sticky_div" :class="pageShowType.isFixed ? 'divbg_1' : 'divbg_2'">
|
||||||
<div class="mr9 title_item" v-for="(item, index) in pageShowInfo.insuredDTOs" :key="index">
|
<div class="mr9 title_item" v-for="(item, index) in pageShowInfo.insuredDTOs" :key="index" @click="checkInsure(item.insuredId)">
|
||||||
<div class="relative">
|
<div class="relative">
|
||||||
<div class="bg-white insured_item">
|
<div class="bg-white insured_item">
|
||||||
<div class="insured_item_1">
|
<div class="insured_item_1">
|
||||||
<img :src="headPicture[item.relationToAppnt]" />
|
<img :src="headPicture[item.relationToAppnt]" />
|
||||||
</div>
|
</div>
|
||||||
<div class="text-center fs12" :class="item.relationToAppnt == '1' ? 'color_3A81F6' : ''">
|
<div class="text-center fs12" :class="item.insuredId == pageShowInfo.showInsuredDTO.insuredId ? 'color_3A81F6' : ''">
|
||||||
{{ relationToAppntType[item.relationToAppnt] }}<br />
|
{{ relationToAppntType[item.relationToAppnt] }}<br />
|
||||||
{{ item.name }}
|
{{ item.name }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="triangle" v-if="item.relationToAppnt == '1'"></div>
|
<div class="triangle" v-if="item.insuredId == pageShowInfo.showInsuredDTO.insuredId"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -131,6 +131,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="text-center flex justify-content-e align-items-c fs14 check_age">
|
||||||
|
<div>当被保人在</div>
|
||||||
|
<div class="check_one flex justify-content-fe align-items-c" @click="popupShow = true">
|
||||||
|
{{ pageShowInfo.showInsuredDTO.checkAge }} <img style="width: 18px;height: 18px;" src="@/assets/images/proposal/proposal_down.png" />
|
||||||
|
</div>
|
||||||
|
<div>岁时</div>
|
||||||
|
</div>
|
||||||
<div class="flex justify-content-s align-items-c mt15 mb20 ml15 mr15">
|
<div class="flex justify-content-s align-items-c mt15 mb20 ml15 mr15">
|
||||||
<img class="w20" src="@/assets/images/lessen.png" @click="reduce(pageShowInfo.showInsuredDTO)" />
|
<img class="w20" src="@/assets/images/lessen.png" @click="reduce(pageShowInfo.showInsuredDTO)" />
|
||||||
<van-slider
|
<van-slider
|
||||||
@@ -187,11 +194,36 @@
|
|||||||
<div>代理人手机号</div>
|
<div>代理人手机号</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<van-popup v-model="popupShow" position="bottom">
|
||||||
|
<van-picker show-toolbar :columns="pageShowInfo.showInsuredDTO.ageColums" @confirm="checkAge" @cancel="popupShow = false" />
|
||||||
|
</van-popup>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { Cell, RadioGroup, Radio, CellGroup, Collapse, CollapseItem, Slider, Row, Col, Tag, Divider, Toast, Swipe, SwipeItem, Sticky, Tab, Tabs } from 'vant'
|
import {
|
||||||
|
Field,
|
||||||
|
Popup,
|
||||||
|
Picker,
|
||||||
|
Cell,
|
||||||
|
RadioGroup,
|
||||||
|
Radio,
|
||||||
|
CellGroup,
|
||||||
|
Collapse,
|
||||||
|
CollapseItem,
|
||||||
|
Slider,
|
||||||
|
Row,
|
||||||
|
Col,
|
||||||
|
Tag,
|
||||||
|
Divider,
|
||||||
|
Toast,
|
||||||
|
Swipe,
|
||||||
|
SwipeItem,
|
||||||
|
Sticky,
|
||||||
|
Tab,
|
||||||
|
Tabs
|
||||||
|
} from 'vant'
|
||||||
import SelectRadio from '@/components/ebiz/SelectRadio'
|
import SelectRadio from '@/components/ebiz/SelectRadio'
|
||||||
import { getDemo, toInsurance, getDemoByProposalNo } from '@/api/ebiz/proposal/proposal.js'
|
import { getDemo, toInsurance, getDemoByProposalNo } from '@/api/ebiz/proposal/proposal.js'
|
||||||
import { haveTap, getTapIndex, relevanceByInsure } from './js/exhibitionMethod.js'
|
import { haveTap, getTapIndex, relevanceByInsure } from './js/exhibitionMethod.js'
|
||||||
@@ -200,13 +232,15 @@ import { weixinShare } from '@/assets/js/utils/wxShare.js'
|
|||||||
import { getAgentInfo } from '@/api/ebiz/my/my.js'
|
import { getAgentInfo } from '@/api/ebiz/my/my.js'
|
||||||
import getAge from '@/assets/js/utils/age.js'
|
import getAge from '@/assets/js/utils/age.js'
|
||||||
import filters from '@/filters'
|
import filters from '@/filters'
|
||||||
import dataDictionary from '@/assets/js/utils/data-dictionary' //使用数据字典中的险种类型
|
import dataDictionary from '@/assets/js/utils/data-dictionary'
|
||||||
|
import Layout from '../../app/layout/Layout' //使用数据字典中的险种类型
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
let isWeixin = this.$utils.device().isWeixin //判断环境
|
let isWeixin = this.$utils.device().isWeixin //判断环境
|
||||||
return {
|
return {
|
||||||
isWeixin,
|
isWeixin,
|
||||||
|
popupShow: false,
|
||||||
chooseProductCodes: [],
|
chooseProductCodes: [],
|
||||||
// 页面显示配置
|
// 页面显示配置
|
||||||
pageShowType: {
|
pageShowType: {
|
||||||
@@ -216,6 +250,7 @@ export default {
|
|||||||
},
|
},
|
||||||
// 页面显示详细数据
|
// 页面显示详细数据
|
||||||
pageShowInfo: {
|
pageShowInfo: {
|
||||||
|
checkAgeColumns: [], //年龄选择
|
||||||
insuredSlider: {}, // 滑动条
|
insuredSlider: {}, // 滑动条
|
||||||
appntDTO: {}, //投保人信息
|
appntDTO: {}, //投保人信息
|
||||||
insuredDTOs: [{}], //被保人信息
|
insuredDTOs: [{}], //被保人信息
|
||||||
@@ -271,6 +306,21 @@ export default {
|
|||||||
next()
|
next()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
checkInsure(insureId) {
|
||||||
|
let that = this
|
||||||
|
this.pageShowInfo.showInsuredDTO
|
||||||
|
this.pageShowInfo.insuredDTOs.map(item => {
|
||||||
|
if (item.insuredId == insureId) {
|
||||||
|
this.pageShowInfo.showInsuredDTO = item
|
||||||
|
that.$forceUpdate()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
checkAge(value) {
|
||||||
|
this.checkAgeForRate(value - Number(this.pageShowInfo.showInsuredDTO.ageColums[0]) + 1)
|
||||||
|
this.popupShow = false
|
||||||
|
},
|
||||||
// 粘性配置
|
// 粘性配置
|
||||||
testSticky(scrollTop) {
|
testSticky(scrollTop) {
|
||||||
this.pageShowType.isFixed = scrollTop.isFixed
|
this.pageShowType.isFixed = scrollTop.isFixed
|
||||||
@@ -476,10 +526,22 @@ export default {
|
|||||||
if (demoLabel) {
|
if (demoLabel) {
|
||||||
demoLabel.forEach(label => {
|
demoLabel.forEach(label => {
|
||||||
label.value = demoValue[index][label.content]
|
label.value = demoValue[index][label.content]
|
||||||
|
if (label.content == 'currentAge') {
|
||||||
|
this.pageShowInfo.showInsuredDTO.checkAge = label.value
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
// 选择年龄
|
||||||
|
checkAgeForRate(index) {
|
||||||
|
let risk = this.pageShowInfo.showInsuredDTO
|
||||||
|
if (risk.sliderValue == risk.policyYear) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
risk.sliderValue = index
|
||||||
|
this.$forceUpdate()
|
||||||
|
this.slideChange(risk)
|
||||||
|
},
|
||||||
// 点击增加
|
// 点击增加
|
||||||
exhibitionAdd(risk) {
|
exhibitionAdd(risk) {
|
||||||
if (risk.sliderValue == risk.policyYear) {
|
if (risk.sliderValue == risk.policyYear) {
|
||||||
@@ -503,6 +565,9 @@ export default {
|
|||||||
let index = String(risk.sliderValue)
|
let index = String(risk.sliderValue)
|
||||||
risk.demoLabel.forEach(label => {
|
risk.demoLabel.forEach(label => {
|
||||||
label.value = risk.demoValue[index][label.content]
|
label.value = risk.demoValue[index][label.content]
|
||||||
|
if (label.content == 'currentAge') {
|
||||||
|
this.pageShowInfo.showInsuredDTO.checkAge = label.value
|
||||||
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 跳转到公司介绍
|
// 跳转到公司介绍
|
||||||
@@ -565,6 +630,10 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
|
Layout,
|
||||||
|
[Field.name]: Field,
|
||||||
|
[Popup.name]: Popup,
|
||||||
|
[Picker.name]: Picker,
|
||||||
[Cell.name]: Cell,
|
[Cell.name]: Cell,
|
||||||
[RadioGroup.name]: RadioGroup,
|
[RadioGroup.name]: RadioGroup,
|
||||||
[Radio.name]: Radio,
|
[Radio.name]: Radio,
|
||||||
@@ -835,5 +904,16 @@ export default {
|
|||||||
height: 30px;
|
height: 30px;
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
}
|
}
|
||||||
|
.check_age {
|
||||||
|
height: 20px;
|
||||||
|
line-height: 20px;
|
||||||
|
width: 15em;
|
||||||
|
margin: 5px auto;
|
||||||
|
.check_one {
|
||||||
|
border-bottom: 1px solid gray;
|
||||||
|
width: 5em;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -116,25 +116,28 @@ export function relevance(insured, insuredLabelResult, insuredResult, insuredInf
|
|||||||
//将被保人与利益演示相关联(被保人维度)
|
//将被保人与利益演示相关联(被保人维度)
|
||||||
export function relevanceByInsure(insured, insuredLabelResult, insuredResult, insuredInfoResult) {
|
export function relevanceByInsure(insured, insuredLabelResult, insuredResult, insuredInfoResult) {
|
||||||
insured.forEach(insure => {
|
insured.forEach(insure => {
|
||||||
insure.radios = []
|
for (let key in insuredLabelResult[insure.insuredId]) {
|
||||||
insure.demoLabel = insuredLabelResult[insure.insuredId]['GFRS_M0017']
|
insure.demoLabel = insuredLabelResult[insure.insuredId][key]
|
||||||
if (!insure.demoLabel) {
|
|
||||||
insure.demoLabel = insuredLabelResult[insure.insuredId]['GFRS_M0016']
|
|
||||||
}
|
}
|
||||||
insure.demoValue = insuredResult[insure.insuredId]['GFRS_M0017']
|
for (let key in insuredResult[insure.insuredId]) {
|
||||||
if (!insure.demoValue) {
|
insure.demoValue = insuredResult[insure.insuredId][key]
|
||||||
insure.demoValue = insuredResult[insure.insuredId]['GFRS_M0016']
|
|
||||||
}
|
}
|
||||||
insure.demoLabel.forEach(v => {
|
insure.demoLabel.forEach(v => {
|
||||||
v.value = insure.demoValue['1'][v.content] //设置初始值
|
v.value = insure.demoValue['1'][v.content] //设置初始值
|
||||||
})
|
})
|
||||||
insure.sliderValue = 1
|
insure.sliderValue = 1
|
||||||
|
insure.radios = []
|
||||||
let policyYear = 1 //初始化保单年度 确定滑动条最大值
|
let policyYear = 1 //初始化保单年度 确定滑动条最大值
|
||||||
|
let ageColums = []
|
||||||
for (let key in insure.demoValue) {
|
for (let key in insure.demoValue) {
|
||||||
|
ageColums.push(insure.demoValue[key]['currentAge'])
|
||||||
if (Number(key) > policyYear) {
|
if (Number(key) > policyYear) {
|
||||||
policyYear = key
|
policyYear = key
|
||||||
|
// chuli
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
insure.ageColums = ageColums
|
||||||
|
insure.checkAge = ageColums[0]
|
||||||
insure.policyYear = Number(policyYear)
|
insure.policyYear = Number(policyYear)
|
||||||
|
|
||||||
insure.riskDTOLst.forEach(risk => {
|
insure.riskDTOLst.forEach(risk => {
|
||||||
|
|||||||
Reference in New Issue
Block a user