Merge branch 'feature/GFRS-454【0326】建议书优化2.0' into release/0415

# Conflicts:
#	src/assets/js/utils/data-dictionary.js
#	src/views/ebiz/proposal/Exhibition.vue
This commit is contained in:
阳华祥
2020-04-15 13:39:53 +08:00
26 changed files with 1712 additions and 9 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 670 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 605 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

View File

@@ -926,6 +926,11 @@ export default {
shortName: '重疾险',
name: '国富人寿国富民安重大疾病保险(重疾型)',
code: 'GFRS_M0018'
},
{
shortName: '寿险',
name: '国富人寿国富栋梁定期寿险',
code: 'GFRS_M0020'
}
],
// 职级
@@ -2053,5 +2058,320 @@ export default {
{ id: '007', text: '销售' },
{ id: '008', text: '公务员' },
{ id: '011', text: '其他' }
],
// 利益演示单位
productRateUnit: [
{
code: 'years',
label: ''
},
{
code: 'currentAge',
label: '岁'
},
{
code: 'currentPremium',
label: '元'
},
{
code: 'totalPremium',
label: '元'
},
{
code: 'majorDiseaseInsurance',
label: '元'
},
{
code: 'majorDiseaseInsurance2',
label: '元'
},
{
code: 'mildillnessInsurance',
label: '元'
},
{
code: 'deathInsurance',
label: '元'
},
{
code: 'deathInsurance_L',
label: '元'
},
{
code: 'deathInsurance_M',
label: '元'
},
{
code: 'deathInsurance_H',
label: '元'
},
{
code: 'highDisabilityExemptionPremium',
label: '元'
},
{
code: 'deathExemptionPremium',
label: '元'
},
{
code: 'accidentalDeathInsurance',
label: '元'
},
{
code: 'accidentalDisabilityInsurance',
label: '元'
},
{
code: 'medicalInsuranceForAccidentalInjury',
label: '元'
},
{
code: 'incidentalInjuryHospitalizationAllowanceInsurance',
label: '元'
},
{
code: 'insurancePremiumForBedsInHospital',
label: '元'
},
{
code: 'inpatientSurgeryInsurance',
label: '元'
},
{
code: 'inpatientCancerRadiotherapyAndChemotherapyExpensesInsurance',
label: '元'
},
{
code: 'insuranceForOtherHospitalizationExpenses',
label: '元'
},
{
code: 'insuranceForSpecificCardiovascularAndCerebrovascularDiseases',
label: '元'
},
{
code: 'insuranceForCertainCardiovascularAndCerebrovascularMajorDiseases',
label: '元'
},
{
code: 'cashValue',
label: '元'
},
{
code: 'survival',
label: '元'
},
{
code: 'survival_T',
label: '元'
},
{
code: 'totalSurvival',
label: '元'
},
{
code: 'expireSurvival',
label: '元'
},
{
code: 'birthdayGold',
label: '元'
},
{
code: 'middleDiseaseInsurance',
label: '元'
},
{
code: 'appntADDCExemptionPremium',
label: '元'
},
{
code: 'majorMiddleMildDiseaseInsuranceExemptionPremium',
label: '元'
},
{
code: 'majorTMiddleMildDiseaseInsuranceExemptionPremium',
label: '元'
},
{
code: 'survival_L',
label: '元'
},
{
code: 'survival_M',
label: '元'
},
{
code: 'survival_H',
label: '元'
},
{
code: 'seneralMedicalInsurance',
label: '元'
},
{
code: 'malignantTumorMedicalInsurance',
label: '元'
},
{
code: 'malignantTumorInsurance',
label: '元'
},
{
code: 'specificMalignantTumorCareFor',
label: '元'
},
{
code: 'strokeSequelaInsurance',
label: '元'
},
{
code: 'highSchoolEducationFund',
label: '元'
},
{
code: 'universityEducationFund',
label: '元'
},
{
code: 'entrepreneurshipGold',
label: '元'
},
{
code: 'marriageGold',
label: '元'
},
{
code: 'theInitialCost',
label: '元'
},
{
code: 'continueToReward',
label: '元'
},
{
code: 'policyAccountValue_L',
label: '元'
},
{
code: 'policyAccountValue_M',
label: '元'
},
{
code: 'policyAccountValue_H',
label: '元'
},
{
code: 'enterPolicyAccountValue',
label: '元'
},
{
code: 'endowmentAnnuity_years',
label: '元'
},
{
code: 'endowmentAnnuity_month',
label: '元'
},
{
code: 'endowmentAnnuity_L',
label: '元'
},
{
code: 'endowmentAnnuity_M',
label: '元'
},
{
code: 'endowmentAnnuity_H',
label: '元'
},
{
code: 'pensionPaymentDate',
label: ''
},
{
code: 'theCumulativeEndowmentAnnuity_L',
label: '元'
},
{
code: 'theCumulativeEndowmentAnnuity_M',
label: '元'
},
{
code: 'theCumulativeEndowmentAnnuity_H',
label: '元'
},
{
code: 'cashValueFormula_L',
label: '元'
},
{
code: 'cashValueFormula_M',
label: '元'
},
{
code: 'cashValueFormula_H',
label: '元'
},
{
code: 'thePremium',
label: '元'
},
{
code: 'terminalIllnessBenefits',
label: '元'
},
{
code: 'years',
label: ''
},
{
code: 'transport_A',
label: '元'
},
{
code: 'transport_B',
label: '元'
},
{
code: 'transport_C',
label: '元'
},
{
code: 'transport_D',
label: '元'
},
{
code: 'transport_F',
label: '元'
},
{
code: 'totalSuvInterest_L',
label: '元'
},
{
code: 'totalSuvInterest_M',
label: '元'
},
{
code: 'totalSuvInterest_H',
label: '元'
},
{
code: 'remitPremRate',
label: ''
},
{
code: 'inpatientCare',
label: '元'
},
{
code: 'hospitalizationBenefit',
label: '元'
},
{
code: 'malignantTumor',
label: '元'
}
]
}

View File

@@ -6,7 +6,8 @@ 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')
const caluePdf = () => import('@/views/ebiz/proposal/CaluePDF')
export default [
{
path: '/proposal/list',
@@ -43,7 +44,15 @@ export default [
index: 1
}
},
{
path: '/proposal/proposalInfo',
name: 'proposalInfo',
component: proposalInfo,
meta: {
title: '建议书预览',
index: 1
}
},
{
path: '/proposal/insuredPerson',
name: 'InsuredPerson',
@@ -68,5 +77,13 @@ export default [
meta: {
title: 'PDF预览'
}
},
{
path: '/proposal/caluePdf',
name: 'caluePdf',
component: caluePdf,
meta: {
title: '条款PDF查看'
}
}
]

View File

@@ -0,0 +1,58 @@
<template>
<div class="pdf">
<iframe style="width:100vw;height:100vh" :src="pdfUrl"></iframe>
</div>
</template>
<script>
import { Toast } from 'vant'
import config from '@/config'
import dataDictionary from '@/assets/js/utils/data-dictionary' //使用数据字典中的险种类型
import { weixinShare } from '@/assets/js/utils/wxShare.js'
export default {
data() {
let isWeixin = this.$utils.device().isWeixin //判断环境
return {
pdfUrl: '',
isWeixin,
title: ''
}
},
components: {
[Toast.name]: Toast
},
created() {
this.init()
},
mounted() {},
methods: {
async init() {
let pdfUrl = localStorage.showCaluePDFUrl
this.pdfUrl = location.origin + '/pdfjs/web/viewer.html?file=' + pdfUrl
},
// 分享按钮
filterBtn() {
window.EWebBridge.webCallAppInJs('webview_right_button', {
btns: [
{
img: this.$assetsUrl + 'images/share@3x.png'
}
]
})
},
appCallBack(data) {
if (data.trigger == 'right_button_click') {
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('bridge', {
flag: 'share',
extra: {
title: this.title,
content: '国富为您量身定制的保险产品,请查收',
url: location.origin + '/#/proposal/pdf?orderNo=' + localStorage.orderNo + '&token=' + localStorage.token,
img: this.$assetsUrl + 'images/logo.png'
}
})
}
}
}
}
</script>

View File

@@ -205,10 +205,10 @@ export default {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/proposal/exhibition'
url: location.origin + '/#/proposal/proposalInfo'
},
routerInfo: {
path: '/proposal/exhibition'
path: '/proposal/proposalInfo'
}
})
}

View File

@@ -311,13 +311,13 @@ export default {
content: '国富为您量身定制的保险产品,请查收',
url:
location.origin +
'/#/proposal/exhibition?proposalNo=' +
'/#/proposal/proposalInfo?proposalNo=' +
encodeURI(localStorage.orderNo) +
'&token=' +
encodeURI(localStorage.token) +
'&mainRiskCodes=' +
encodeURI(JSON.stringify(that.mainRiskCodes)),
// url: 'http://47.96.143.111/#/proposal/exhibition?proposalNo=' + localStorage.orderNo + '&token=' + localStorage.token,
encodeURI(JSON.stringify(localStorage.mainRiskCodes)),
// url: 'http://47.96.143.111/#/proposal/proposalInfo?proposalNo=' + localStorage.orderNo + '&token=' + localStorage.token,
img: this.$assetsUrl + 'images/logo.png'
}
})

View File

@@ -237,10 +237,10 @@ export default {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/proposal/Exhibition'
url: location.origin + '/#/proposal/proposalInfo'
},
routerInfo: {
path: '/proposal/Exhibition'
path: '/proposal/proposalInfo'
}
})
},

File diff suppressed because it is too large Load Diff

View File

@@ -112,3 +112,62 @@ export function relevance(insured, insuredLabelResult, insuredResult, insuredInf
})
return insured
}
//将被保人与利益演示相关联(被保人维度)
export function relevanceByInsure(insured, insuredLabelResult, insuredResult, insuredInfoResult) {
insured.forEach(insure => {
for (let key in insuredLabelResult[insure.insuredId]) {
insure.demoLabel = insuredLabelResult[insure.insuredId][key]
}
for (let key in insuredResult[insure.insuredId]) {
insure.demoValue = insuredResult[insure.insuredId][key]
}
insure.demoLabel.forEach(v => {
v.value = insure.demoValue['1'][v.content] //设置初始值
})
insure.sliderValue = 1
insure.radios = []
let policyYear = 1 //初始化保单年度 确定滑动条最大值
let ageColums = []
for (let key in insure.demoValue) {
ageColums.push(insure.demoValue[key]['currentAge'])
if (Number(key) > policyYear) {
policyYear = key
// chuli
}
}
insure.ageColums = ageColums
insure.checkAge = ageColums[0]
insure.policyYear = Number(policyYear)
insure.riskDTOLst.forEach(risk => {
let currentInsuredInfo = insuredInfoResult[insure.insuredId][risk.riskCode]
if (currentInsuredInfo.plan && currentInsuredInfo.plan === '0') {
let defaulValue = 'M' //档位默认值
let radios = [
{
label: '低档' + currentInsuredInfo.L,
value: 'L'
},
{
label: '中档' + currentInsuredInfo.M,
value: 'M'
},
{
label: '高档' + currentInsuredInfo.H,
value: 'H'
}
]
insure.tap = defaulValue
radios.forEach(item => {
insure.radios.push(item)
})
}
})
//档位去重 默认显示中档 L低档 M中档 H高档
if (insure.tap) {
insure.demoLabel = formLabel(insure.demoLabel, insure.tap)
}
})
return insured
}