GFRS-454【0326】 建议书优化2.0 初版代码备份提交 --提交人:阳华祥
BIN
src/assets/images/proposal/person_br.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
src/assets/images/proposal/person_ez.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
src/assets/images/proposal/person_fq.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
src/assets/images/proposal/person_mq.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
src/assets/images/proposal/person_nr.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
src/assets/images/proposal/person_po.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
src/assets/images/proposal/person_qt.png
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
BIN
src/assets/images/proposal/proposal_bg.png
Normal file
|
After Width: | Height: | Size: 101 KiB |
BIN
src/assets/images/proposal/proposal_company.png
Normal file
|
After Width: | Height: | Size: 7.1 KiB |
BIN
src/assets/images/proposal/proposal_down.png
Normal file
|
After Width: | Height: | Size: 2.5 KiB |
BIN
src/assets/images/proposal/proposal_logo.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
src/assets/images/proposal/proposal_pdf.png
Normal file
|
After Width: | Height: | Size: 7.5 KiB |
@@ -6,7 +6,7 @@ const insuredPerson = () => import('@/views/ebiz/proposal/InsuredPerson')
|
||||
const exhibition = () => import('@/views/ebiz/proposal/Exhibition')
|
||||
const companyProfile = () => import('@/views/ebiz/proposal/CompanyProfile')
|
||||
const pdf = () => import('@/views/ebiz/proposal/PDF')
|
||||
|
||||
const proposalInfo = () => import('@/views/ebiz/proposal/ProposalInfo')
|
||||
export default [
|
||||
{
|
||||
path: '/proposal/list',
|
||||
@@ -43,7 +43,15 @@ export default [
|
||||
index: 1
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
path: '/proposal/proposalInfo',
|
||||
name: 'proposalInfo',
|
||||
component: proposalInfo,
|
||||
meta: {
|
||||
title: '建议书2.0',
|
||||
index: 1
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/proposal/insuredPerson',
|
||||
name: 'InsuredPerson',
|
||||
|
||||
798
src/views/ebiz/proposal/ProposalInfo.vue
Normal file
@@ -0,0 +1,798 @@
|
||||
<template>
|
||||
<div class="proposal-exhibition-container">
|
||||
<div class="mb50">
|
||||
<img class="w178 h41" style="margin-top: 13px;margin-left: 14px;" src="@/assets/images/proposal/proposal_logo.png" />
|
||||
<div class="white fw500 fs18" style="margin-top: 37px;margin-left: 17px;">家庭保障计划</div>
|
||||
<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="mr9" style="height: 124px;">
|
||||
<div class="relative">
|
||||
<div class="bg-white insured_item">
|
||||
<div class="insured_item_1">
|
||||
<img src="@/assets/images/proposal/person_br.png" />
|
||||
</div>
|
||||
<div class="text-center fs12">
|
||||
本人<br />
|
||||
张先生
|
||||
</div>
|
||||
</div>
|
||||
<div class="triangle"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mr9" style="height: 124px;">
|
||||
<div class="relative">
|
||||
<div class="bg-white insured_item">
|
||||
<div class="insured_item_1">
|
||||
<img src="@/assets/images/proposal/person_br.png" />
|
||||
</div>
|
||||
<div class="text-center fs12">
|
||||
本人<br />
|
||||
张先生
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</van-sticky>
|
||||
<!--被保人数据-->
|
||||
<div>
|
||||
<!-- 险种信息 -->
|
||||
<div class="pt15 bg-white relative" style="border-radius: 5px;margin:14px 15px;">
|
||||
<div class="fs14 flex justify-content-a align-items-c">
|
||||
<div class="text-center">
|
||||
<label class="fs14 color_3A81F6 fw600 lh24">被保人</label><br />
|
||||
<label class="fs13 color_666666 lh20">男 28周岁</label>
|
||||
</div>
|
||||
<div class="line_gray"></div>
|
||||
<div class="text-center">
|
||||
<label class="fs14 color_3A81F6 fw600 lh24">投保人</label><br />
|
||||
<label class="fs13 color_666666 lh20">男 28周岁</label>
|
||||
</div>
|
||||
<div class="line_gray"></div>
|
||||
<div class="text-center">
|
||||
<label class="fs14 color_3A81F6 fw600 lh24">首年保费</label><br />
|
||||
<label class="fs13 color_FFA42F lh20">5898.99元</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fs15 line_title">产品计划</div>
|
||||
|
||||
<div :class="pageShowType.productCheckStatus ? '' : 'hideInfo'" class="fs12" style="position: relative;">
|
||||
<div class="risk_head flex text-center line-height table fs12">
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7">投保险种</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">保额(元)</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">保险期间</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">交费期间</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">首年保费(元)</div>
|
||||
</div>
|
||||
<div class="risk_body flex text-center bg-green-base c-gray-darker table">
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7">终身重大疾病保险</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">100,00</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">终身</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">5年</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">500.00</div>
|
||||
</div>
|
||||
<div class="risk_body flex text-center bg-green-base c-gray-darker table risk_body_last">
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7">终身重大疾病保险</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">100,00</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">终身</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">5年</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">500.00</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="h20"> </div>
|
||||
<div class="up_down_div">
|
||||
<img src="@/assets/images/proposal/proposal_down.png" @click="testProductCheck" />
|
||||
</div>
|
||||
</div>
|
||||
<!--保险责任-->
|
||||
<div class="pt15 pb17 bg-white text-center relative model_title">
|
||||
<div class="fs16 color_3A81F6 lh24 fw600">保险责任</div>
|
||||
<div class="line_C8DBFB"></div>
|
||||
<div class="flex align-items-c justify-content-c">
|
||||
<div class="fs14 checked_risk_type" @click="checkType('00')">按责任显示</div>
|
||||
<div class="fs14 no_check_risk_type" @click="checkType('01')">按险种显示</div>
|
||||
</div>
|
||||
<div :class="pageShowType.riskCheckStatus ? '' : 'hideInfo'">
|
||||
12<br />
|
||||
12<br />
|
||||
12<br />
|
||||
12<br />
|
||||
12<br />
|
||||
12<br />
|
||||
12<br />
|
||||
12<br />
|
||||
12<br />
|
||||
12<br />
|
||||
12<br />
|
||||
12<br />
|
||||
</div>
|
||||
<div class="h20"> </div>
|
||||
<div class="up_down_div">
|
||||
<img src="@/assets/images/proposal/proposal_down.png" @click="testRiskCheck" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="pt15 pb17 bg-white text-center relative model_title">
|
||||
<div class="fs16 color_3A81F6 lh24 fw600">产品条款</div>
|
||||
<div class="line_C8DBFB"></div>
|
||||
<div class="fs14 pl12 pr12 lh20 color_3A81F6 flex align-items-c justify-content-s">
|
||||
<div class="text-center pl5 pr5 calue_name">《条框名称绝地逢生地方就是开发及地方就是恐惧看》</div>
|
||||
<div class="calue_button">查看</div>
|
||||
</div>
|
||||
<div class="fs14 pl12 pr12 lh20 color_3A81F6 flex align-items-c justify-content-s">
|
||||
<div class="text-center pl5 pr5 calue_name">《条框名称绝地逢生地》</div>
|
||||
<div class="calue_button">查看</div>
|
||||
</div>
|
||||
<div style="padding-top: 30px;width: 100%;height: 1px;"></div>
|
||||
</div>
|
||||
<div class="pt15 pb17 bg-white text-center relative model_title">
|
||||
<div class="fs16 color_3A81F6 lh24 fw600">产品总利益演示</div>
|
||||
<div class="line_C8DBFB"></div>
|
||||
<div class="flex justify-content-s align-items-c mt30 mb20 ml15 mr15">
|
||||
<img class="w20" src="@/assets/images/lessen.png" />
|
||||
<van-slider
|
||||
class="w220"
|
||||
active-color="#9EC2FC"
|
||||
inactive-color="#9EC2FC"
|
||||
bar-height="4px"
|
||||
:min="1"
|
||||
:max="pageShowInfo.insuredSlider.policyYear"
|
||||
v-model="pageShowInfo.insuredSlider.sliderValue"
|
||||
@input="input(pageShowInfo.insuredSlider.sliderValue, pageShowInfo.insuredSlider.demoValue, pageShowInfo.insuredSlider.demoLabel)"
|
||||
>
|
||||
<div slot="button" class="customer_button"></div>
|
||||
</van-slider>
|
||||
<img class="w20" src="@/assets/images/add.png" />
|
||||
</div>
|
||||
<div class="fs12 text-center pb15" style="color: #999999;">拖动按钮查看不同年龄的保单利益</div>
|
||||
<div style="padding-top: 10px;width: 100%;height: 1px;"></div>
|
||||
</div>
|
||||
<div class="pt15 pb17 bg-white relative model_title">
|
||||
<div class="fs16 color_3A81F6 lh24 fw600 text-center">温馨提示</div>
|
||||
<div class="line_C8DBFB"></div>
|
||||
<div class="fs13 gray" style="padding: 0 17px;">
|
||||
本资料仅供客户理解产品条款所用,有关产品的说明、解释、承诺或保证,如与产品条款不一致,均以产品条款为准。
|
||||
</div>
|
||||
<div style="padding-top: 20px;width: 100%;height: 1px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fixed" style="right: 0px;top: 40%;width: 23px;">
|
||||
<img style="width: 23px;" src="@/assets/images/proposal/proposal_company.png" />
|
||||
<img style="width: 23px;margin-top: -2px;" src="@/assets/images/proposal/proposal_pdf.png" />
|
||||
</div>
|
||||
<div v-show="!isWeixin" class="fixed fs15 flex text-centerjustify-content-c last_fix_div">
|
||||
<div class="color_3A81F6 bg-white text-center">转投保</div>
|
||||
<div class="bg_3A81F6 white text-center">分享给客户</div>
|
||||
</div>
|
||||
<div v-show="isWeixin" class="fix_bottom">
|
||||
<div class="fix_bottom_sub">
|
||||
<img src="@/assets/images/sharePeople.png" />
|
||||
<div>代理人姓名</div>
|
||||
</div>
|
||||
<div class="fix_bottom_sub">
|
||||
<img src="@/assets/images/sharePhone.png" />
|
||||
<div>代理人手机号</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { 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 { getDemo, toInsurance, getDemoByProposalNo } from '@/api/ebiz/proposal/proposal.js'
|
||||
import { haveTap, getTapIndex, relevance } from './js/exhibitionMethod.js'
|
||||
import { formatRiskList } from '@/assets/js/utils/formatRiskList.js'
|
||||
import { weixinShare } from '@/assets/js/utils/wxShare.js'
|
||||
import { getAgentInfo } from '@/api/ebiz/my/my.js'
|
||||
import getAge from '@/assets/js/utils/age.js'
|
||||
import filters from '@/filters'
|
||||
import dataDictionary from '@/assets/js/utils/data-dictionary' //使用数据字典中的险种类型
|
||||
|
||||
export default {
|
||||
data() {
|
||||
let isWeixin = this.$utils.device().isWeixin //判断环境
|
||||
return {
|
||||
isWeixin,
|
||||
// 页面显示配置
|
||||
pageShowType: {
|
||||
isFixed: false, // 粘性布局状态
|
||||
productCheckStatus: true, //产品收展状态
|
||||
riskCheckStatus: true //责任收展状态
|
||||
},
|
||||
// 页面显示详细数据
|
||||
pageShowInfo: {
|
||||
insuredSlider: {}, // 滑动条
|
||||
appntDTO: {}, //投保人信息
|
||||
insuredDTOs: [{}] //被保人信息
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
localStorage.setItem('pdfShareCode', '')
|
||||
document.body.style.backgroundColor = '#fff'
|
||||
setTimeout(() => {
|
||||
// 右上角的显示
|
||||
window.EWebBridge.webCallAppInJs('webview_right_button', {
|
||||
btns: [
|
||||
{
|
||||
img: this.$assetsUrl + 'images/share@3x.png'
|
||||
}
|
||||
]
|
||||
})
|
||||
}, 1000)
|
||||
window['appCallBack'] = this.appCallBack
|
||||
this.init()
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
document.body.style.backgroundColor = ''
|
||||
next()
|
||||
},
|
||||
methods: {
|
||||
// 粘性配置
|
||||
testSticky(scrollTop) {
|
||||
this.pageShowType.isFixed = scrollTop.isFixed
|
||||
},
|
||||
testProductCheck() {
|
||||
this.pageShowType.productCheckStatus = !this.pageShowType.productCheckStatus
|
||||
},
|
||||
testRiskCheck() {
|
||||
this.pageShowType.riskCheckStatus = !this.pageShowType.riskCheckStatus
|
||||
},
|
||||
//页面初始化
|
||||
async init() {
|
||||
let params = {
|
||||
proposalInfoDTO: {
|
||||
proposalNo: ''
|
||||
}
|
||||
}
|
||||
|
||||
if (this.isWeixin) {
|
||||
//在微信端
|
||||
params.proposalInfoDTO.proposalNo = this.$route.query.proposalNo
|
||||
this.mainRiskCodes = JSON.parse(this.$route.query.mainRiskCodes)
|
||||
localStorage.token = this.$route.query.token
|
||||
localStorage.orderNo = this.$route.query.proposalNo
|
||||
let agentResult = await getAgentInfo({}) //调取代理人查询接口
|
||||
if (agentResult.result == '0') {
|
||||
let { agent } = this
|
||||
let { name, phoneNo, certificateInfoList } = agentResult
|
||||
if (certificateInfoList != null && certificateInfoList != '') {
|
||||
certificateInfoList.forEach(c => {
|
||||
if (c.certificateType == '0') {
|
||||
agent.certificate = c.certificateNo
|
||||
}
|
||||
})
|
||||
} else {
|
||||
agent.certificate = '暂无'
|
||||
}
|
||||
agent.name = name
|
||||
agent.phoneNo = phoneNo
|
||||
let demoResult = await getDemoByProposalNo(params)
|
||||
this.formatLocal(demoResult)
|
||||
weixinShare({
|
||||
title: this.wxTitle,
|
||||
imgUrl: this.$assetsUrl + 'images/logo.png',
|
||||
desc: '国富为您量身定制的保险产品,请查收'
|
||||
})
|
||||
} else {
|
||||
Toast.fail(agentResult.resultMessage)
|
||||
}
|
||||
} else {
|
||||
//在app端
|
||||
params.proposalInfoDTO.proposalNo = localStorage.orderNo
|
||||
this.mainRiskCodes.push(localStorage.mainRiskCode)
|
||||
console.log(localStorage.mainRiskCode)
|
||||
// if (localStorage.mainRiskCodes) {
|
||||
// this.mainRiskCodes = JSON.parse(localStorage.mainRiskCodes)
|
||||
// }
|
||||
console.log(this.mainRiskCodes[0])
|
||||
getDemo(params).then(res => {
|
||||
this.formatLocal(res)
|
||||
})
|
||||
}
|
||||
},
|
||||
//app回调
|
||||
appCallBack(data) {
|
||||
if (data.trigger == 'right_button_click') {
|
||||
EWebBridge.webCallAppInJs('bridge', {
|
||||
flag: 'share',
|
||||
extra: {
|
||||
title: this.wxTitle,
|
||||
content: '国富为您量身定制的保险产品,请查收',
|
||||
url:
|
||||
location.origin +
|
||||
'/#/proposal/exhibition?proposalNo=' +
|
||||
encodeURI(localStorage.orderNo) +
|
||||
'&token=' +
|
||||
encodeURI(localStorage.token) +
|
||||
'&mainRiskCodes=' +
|
||||
encodeURI(JSON.stringify(localStorage.mainRiskCodes)),
|
||||
// url: 'http://47.96.143.111/#/proposal/exhibition?proposalNo=' + localStorage.orderNo + '&token=' + localStorage.token,
|
||||
img: this.$assetsUrl + 'images/logo.png'
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
//档位更换时
|
||||
radioChange(risk) {
|
||||
let that = this
|
||||
let key = risk.tap
|
||||
risk.demoLabel.forEach(demo => {
|
||||
let result = haveTap(demo.content, '_')
|
||||
if (result) {
|
||||
let index = getTapIndex(demo.content, '_') + 1
|
||||
demo.content = demo.content.slice(0, index) + key //更换content中的值(确保滑动的时候 找到相对应的值)
|
||||
demo.value = risk.demoValue[risk.sliderValue][demo.content] //更换label中的对应的值
|
||||
}
|
||||
})
|
||||
setTimeout(() => {
|
||||
that.$forceUpdate() //解决页面不刷新问题
|
||||
}, 0)
|
||||
},
|
||||
//将后端返回的数据格式化为本地
|
||||
formatLocal(res) {
|
||||
if (res.result == '0') {
|
||||
let orderDTO = res.content.orderDTO
|
||||
this.createDate = res.content.orderDTO.orderInfoDTO.appntDateLabel
|
||||
let { insuredLabelResult, insuredResult, insuredInfoResult } = res.content.calculusResDTO
|
||||
|
||||
orderDTO.insuredDTOs.forEach(v => {
|
||||
//根据数据字典 获取当前值
|
||||
v.age = getAge.getAge(v.birthdayLabel, new Date())
|
||||
v.riskDTOLst.forEach(risk => {
|
||||
// if (risk.planCode) {
|
||||
// risk.planCode = '计划' + NumberToChinese(Number(risk.planCode))
|
||||
// }
|
||||
if (risk.insuYear == 106 && risk.insuYearFlag == 'A') {
|
||||
risk.insureName = '终身'
|
||||
} else {
|
||||
if (risk.insuYearFlag == 'Y') {
|
||||
risk.insureName = risk.insuYear + '年' //页面展示
|
||||
} else {
|
||||
risk.insureName = '至' + risk.insuYear + '周岁的保单周年日'
|
||||
}
|
||||
}
|
||||
|
||||
if (risk.payEndYearFlag == 'Y') {
|
||||
console.log(111)
|
||||
if (risk.payEndYear == '1000') {
|
||||
risk.payName = '一次交清'
|
||||
} else {
|
||||
console.log(222)
|
||||
risk.payName = risk.payEndYear + '年'
|
||||
}
|
||||
} else {
|
||||
console.log(333)
|
||||
risk.payName = risk.payEndYear + '岁'
|
||||
}
|
||||
// risk.demoValue[demoLabel.content] == dutyLst.dutyCode
|
||||
this.dutyLst = risk.dutyLst
|
||||
})
|
||||
})
|
||||
this.appntDTO = orderDTO.appntDTO
|
||||
let insuredDTOs = [{}]
|
||||
insuredDTOs[0].insuredDTOs = orderDTO.insuredDTOs
|
||||
insuredDTOs = formatRiskList(insuredDTOs, 'insuredDTOs', 'riskDTOLst')
|
||||
this.insuredDTOs = insuredDTOs[0].insuredDTOs
|
||||
this.insuredDTOs = relevance(this.insuredDTOs, insuredLabelResult, insuredResult, insuredInfoResult, this.amtFormat, this.dutyLst) //进行数据关联
|
||||
// console.log('insuredDTOs',insuredDTOs)
|
||||
this.getWXTitle(this.insuredDTOs) //获取微信标题
|
||||
let active = this.insuredDTOs.length //默认展开项
|
||||
this.activeNames = [active]
|
||||
this.insuredDTOs.forEach(item => {
|
||||
if (item.riskDTOLst && item.riskDTOLst.length > 0) {
|
||||
item.riskDTOLst.forEach(ele => {
|
||||
this.chooseProductCodes.push(ele.riskCode)
|
||||
})
|
||||
}
|
||||
})
|
||||
localStorage.pdfShareCode = this.chooseProductCodes[0]
|
||||
}
|
||||
},
|
||||
//获取微信分享的标题
|
||||
getWXTitle(insuredDTOs) {
|
||||
dataDictionary.riskType.forEach(dataRisk => {
|
||||
//根据数字字典来找到 险种简称
|
||||
// console.log(insuredDTOs)
|
||||
// console.log(insuredDTOs[0].mainRisk[0].riskCode)
|
||||
// console.log(dataRisk.code)
|
||||
|
||||
if (insuredDTOs[0].mainRisk[0].riskCode == dataRisk.code) {
|
||||
this.wxTitle = dataRisk.shortName + '计划书'
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
//转投保
|
||||
insure() {
|
||||
console.log(JSON.parse(localStorage.mainRiskCodes).length)
|
||||
if (localStorage.mainRiskCodes) {
|
||||
if (JSON.parse(localStorage.mainRiskCodes).length == '2') {
|
||||
return Toast.fail('暂不支持组合产品转投保')
|
||||
}
|
||||
}
|
||||
let params = {
|
||||
proposalInfoDTO: {
|
||||
proposalNo: localStorage.orderNo
|
||||
}
|
||||
}
|
||||
toInsurance(params).then(res => {
|
||||
if (res.result == '0') {
|
||||
localStorage.orderNo = res.content.orderNo
|
||||
localStorage.chooseProductCodes = ''
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/insuredInfo?edit=1',
|
||||
backToFirst: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/insuredInfo?edit=1'
|
||||
}
|
||||
})
|
||||
} else {
|
||||
Toast.fail(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
// 滑动块发生变化时
|
||||
input(value, demoValue, demoLabel) {
|
||||
this.$forceUpdate() //强制组件更新 解决值更改之后 滑块不滑动的问题
|
||||
/*let index = String(value)
|
||||
demoLabel.forEach(label => {
|
||||
label.value = demoValue[index][label.content]
|
||||
})*/
|
||||
},
|
||||
// 点击增加
|
||||
exhibitionAdd(risk) {
|
||||
if (risk.sliderValue == risk.policyYear) {
|
||||
return
|
||||
}
|
||||
risk.sliderValue++
|
||||
this.$forceUpdate()
|
||||
this.slideChange(risk)
|
||||
},
|
||||
//点击减少
|
||||
reduce(risk) {
|
||||
if (risk.sliderValue == 1) {
|
||||
return
|
||||
}
|
||||
risk.sliderValue--
|
||||
this.$forceUpdate()
|
||||
this.slideChange(risk)
|
||||
},
|
||||
//点击滑块增加或者减少时调用
|
||||
slideChange(risk) {
|
||||
let index = String(risk.sliderValue)
|
||||
risk.demoLabel.forEach(label => {
|
||||
label.value = risk.demoValue[index][label.content]
|
||||
})
|
||||
},
|
||||
// 跳转到公司介绍
|
||||
goToCompanyProfile() {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/proposal/companyProfile'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/proposal/companyProfile'
|
||||
}
|
||||
})
|
||||
},
|
||||
//跳转到pdf 进入建议书后 根据建议书编码来查找相应的pdf
|
||||
async goPDF() {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/proposal/pdf'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/proposal/pdf'
|
||||
}
|
||||
})
|
||||
|
||||
// let params = {
|
||||
// proposalInfoDTO: {
|
||||
// proposalNo: localStorage.orderNo
|
||||
// }
|
||||
// }
|
||||
// //在微信端 直接跳转
|
||||
// if (this.isWeixin) {
|
||||
// return this.$jump({
|
||||
// flag: 'h5',
|
||||
// extra: {
|
||||
// url: location.origin + '/#/proposal/pdf'
|
||||
// },
|
||||
// routerInfo: {
|
||||
// path: '/proposal/pdf'
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
// let make = await makePdf(params)
|
||||
// if (make.result == '0') {
|
||||
// let pdfUrl = encodeURIComponent(config.imgDomain + '/returnDirectStream?imgPath=' + make.content)
|
||||
// this.$jump({
|
||||
// flag: 'h5',
|
||||
// extra: {
|
||||
// url: location.origin + '/pdfjs/web/viewer.html?file=' + pdfUrl,
|
||||
// title: 'PDF预览'
|
||||
// },
|
||||
// routerInfo: {
|
||||
// path: '/proposal/pdf'
|
||||
// }
|
||||
// })
|
||||
// } else {
|
||||
// Toast.fail(make.resultMessage)
|
||||
// }
|
||||
}
|
||||
},
|
||||
components: {
|
||||
[Cell.name]: Cell,
|
||||
[RadioGroup.name]: RadioGroup,
|
||||
[Radio.name]: Radio,
|
||||
[CellGroup.name]: CellGroup,
|
||||
[Collapse.name]: Collapse,
|
||||
[CollapseItem.name]: CollapseItem,
|
||||
[Slider.name]: Slider,
|
||||
[Row.name]: Row,
|
||||
[Col.name]: Col,
|
||||
[Tag.name]: Tag,
|
||||
[Divider.name]: Divider,
|
||||
[Swipe.name]: Swipe,
|
||||
[SwipeItem.name]: SwipeItem,
|
||||
[Sticky.name]: Sticky,
|
||||
[Tab.name]: Tab,
|
||||
[Tabs.name]: Tabs,
|
||||
SelectRadio
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.proposal-exhibition-container {
|
||||
padding-bottom: 10px;
|
||||
.sex-radio {
|
||||
.van-cell-group {
|
||||
background: transparent;
|
||||
.van-cell {
|
||||
background: transparent;
|
||||
justify-content: center;
|
||||
.van-field__label {
|
||||
width: 0;
|
||||
flex: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.ph30 {
|
||||
padding: 0px !important;
|
||||
}
|
||||
}
|
||||
&::before {
|
||||
content: '';
|
||||
display: table;
|
||||
}
|
||||
width: 100%;
|
||||
background: url('../../../assets/images/proposal/proposal_bg.png') repeat-y;
|
||||
background-size: 100% auto;
|
||||
.line-height {
|
||||
line-height: 35px;
|
||||
}
|
||||
.lh40 {
|
||||
line-height: 40px;
|
||||
}
|
||||
.van-divider {
|
||||
margin: 0 0 15px;
|
||||
}
|
||||
|
||||
.table {
|
||||
& > div {
|
||||
width: 19%;
|
||||
}
|
||||
& > div:last-child {
|
||||
width: 25%;
|
||||
}
|
||||
}
|
||||
.wx {
|
||||
img {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
div::-webkit-scrollbar {
|
||||
width: 0;
|
||||
}
|
||||
.divbg_1 {
|
||||
background-color: #9ec2fc;
|
||||
}
|
||||
.divbg_2 {
|
||||
background-color: none;
|
||||
}
|
||||
.hideInfo {
|
||||
height: 40px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.insured_item {
|
||||
border-radius: 8px;
|
||||
width: 67px;
|
||||
height: 100px;
|
||||
.insured_item_1 {
|
||||
margin: 0px 13.5px 0px 13.5px;
|
||||
padding-top: 9px;
|
||||
img {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.color_3A81F6 {
|
||||
color: #3a81f6;
|
||||
}
|
||||
.bg_3A81F6 {
|
||||
background-color: #3a81f6;
|
||||
}
|
||||
.color_666666 {
|
||||
color: #666666;
|
||||
}
|
||||
.color_FFA42F {
|
||||
color: #ffa42f;
|
||||
}
|
||||
.lh24 {
|
||||
line-height: 24px;
|
||||
}
|
||||
.lh20 {
|
||||
line-height: 20px;
|
||||
}
|
||||
.line_gray {
|
||||
width: 1px;
|
||||
height: 19px;
|
||||
background-color: #999999;
|
||||
line-height: 24px;
|
||||
}
|
||||
.sticky_div {
|
||||
width: 100%;
|
||||
overflow-x: auto;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.line_title {
|
||||
border-left: 6px solid #3a81f6;
|
||||
padding-left: 6px;
|
||||
height: 18px;
|
||||
margin-top: 25px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
.risk_head {
|
||||
border-top-right-radius: 6px;
|
||||
border-top-left-radius: 6px;
|
||||
margin: 0px 10px;
|
||||
background-color: #dbeffe;
|
||||
color: #669efa;
|
||||
border: 1px solid #acc5e6;
|
||||
line-height: 18px;
|
||||
}
|
||||
.risk_body {
|
||||
border: 1px solid #acc5e6;
|
||||
border-top: 0px;
|
||||
margin: 0px 10px;
|
||||
line-height: 18px;
|
||||
}
|
||||
.risk_body_last {
|
||||
border-bottom-right-radius: 6px;
|
||||
border-bottom-left-radius: 6px;
|
||||
}
|
||||
.up_down_div {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 24px;
|
||||
left: 0;
|
||||
bottom: -12px;
|
||||
text-align: center;
|
||||
img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
}
|
||||
.model_title {
|
||||
margin: 29px 15px;
|
||||
padding-top: 15px;
|
||||
border-radius: 5px;
|
||||
.checked_risk_type {
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
border-bottom-left-radius: 15px;
|
||||
border-top-left-radius: 15px;
|
||||
border: 1px solid #3a81f6;
|
||||
background-color: #3a81f6;
|
||||
padding: 0px 25px;
|
||||
color: #ffffff;
|
||||
}
|
||||
.no_check_risk_type {
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
border-bottom-right-radius: 15px;
|
||||
border-top-right-radius: 15px;
|
||||
border: 1px solid #3a81f6;
|
||||
background-color: #ffffff;
|
||||
color: #3a81f6;
|
||||
padding: 0px 25px;
|
||||
}
|
||||
}
|
||||
.line_C8DBFB {
|
||||
height: 1px;
|
||||
margin: 17px;
|
||||
border-top: 1px dashed #c8dbfb;
|
||||
}
|
||||
.calue_name {
|
||||
width: 80%;
|
||||
text-align: left !important;
|
||||
}
|
||||
.calue_button {
|
||||
width: 20%;
|
||||
height: 26px;
|
||||
line-height: 26px;
|
||||
border-radius: 13px;
|
||||
text-align: center;
|
||||
border: 1px solid #3a81f6;
|
||||
}
|
||||
.customer_button {
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
border-radius: 7.5px;
|
||||
background-color: #3a81f6;
|
||||
}
|
||||
.last_fix_div {
|
||||
bottom: 0px;
|
||||
left: 0px;
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
box-shadow: 0px 0px 10px 5px #aaa;
|
||||
div {
|
||||
width: 50%;
|
||||
}
|
||||
}
|
||||
.triangle {
|
||||
margin: 0px;
|
||||
border-width: 7px;
|
||||
border-style: solid;
|
||||
border-color: white transparent transparent;
|
||||
padding: 0px;
|
||||
width: 0px;
|
||||
height: 0px;
|
||||
left: 26px;
|
||||
top: 99px;
|
||||
position: absolute;
|
||||
}
|
||||
.fix_bottom {
|
||||
position: fixed;
|
||||
height: 40px;
|
||||
width: 100%;
|
||||
margin: auto;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
background: rgba(0, 0, 0, 0.6);
|
||||
color: white;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
.fix_bottom_sub {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
margin: 0 10px;
|
||||
img {
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
}
|
||||
div {
|
||||
padding-left: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.table_border {
|
||||
border-left: 1px solid #acc5e6;
|
||||
}
|
||||
}
|
||||
</style>
|
||||