【fix】 投保流程中 - 保费计算 - 将原本写死的 免赔额 和 赔付比例 改为从后台获取。

\src\views\ebiz\common\CalculatePremium.vue 如果 返回的是 elect 项 并且 medical 项不是 undefined ,则赋值到 columns 的 item 中
 \src\views\ebiz\common\MainRiskList.vue 如果是 免赔额 、 赔付比例 ,则 筛选出 columns 中 符合 medical 和当前被保险人medical 相同的项
This commit is contained in:
tian.guangyuan
2020-03-23 13:18:16 +08:00
parent bc26648a8d
commit 6910f77fc4
2 changed files with 64 additions and 51 deletions

View File

@@ -413,57 +413,66 @@ export default {
//GFRS_M0016需要展示免赔额和赔付比例并需要根据是否有社保调整数值
// let mainRiskCode = chooseProducts[0].mainRiskCode
this.chooseProducts.map(item => {
if (item.mainRiskCode === 'GFRS_M0016') {
const orderNo = localStorage.getItem('orderNo')
let detailPromise = this.isFrom === 'proposal' ? new Promise(r => r(localStorage.getItem('proposalMedical'))) : getOrderDetail({ orderNo })
detailPromise.then(res => {
let isMedical = null
if (this.isFrom === 'proposal') {
isMedical = res === '1'
} else {
isMedical = res.orderDTO.insuredDTOs[0].medical === '0'
}
//根据社保写死两个字段 赔付比例和免赔额
item.calFactorLst.map(i => {
//免赔额
if (i.code === 'getLimit') {
const text = isMedical ? '0元意外医疗' : '100元意外医疗'
const value = isMedical ? '0' : '100'
//保存数据
this.medicalInfo = this.medicalInfo || {}
this.medicalInfo.getLimit = text
i.showContent = text
i.getLimit = value
i.columns = [{ text, value }]
}
//赔付比例
if (i.code === 'getRate') {
const text = isMedical ? '80%(意外医疗)' : '70%(意外医疗)'
const value = isMedical ? '0.8' : '0.7'
//保存数据
this.medicalInfo = this.medicalInfo || {}
this.medicalInfo.getRate = text
i.showContent = text
i.getRate = value
i.columns = [{ text, value }]
}
})
this.$forceUpdate()
})
} else {
//其他产品删掉两个字段
let calFactorLst = item.calFactorLst
for (let i = calFactorLst.length - 1; i >= 0; i--) {
let item = calFactorLst[i]
if (item.code === 'getLimit' || item.code === 'getRate') {
calFactorLst.splice(i, 1)
}
// console.log('item', item)
// if (item.mainRiskCode === 'GFRS_M0016') {
const orderNo = localStorage.getItem('orderNo')
let detailPromise = this.isFrom === 'proposal' ? new Promise(r => r(localStorage.getItem('proposalMedical'))) : getOrderDetail({ orderNo })
detailPromise.then(res => {
let isMedical = null
if (this.isFrom === 'proposal') {
isMedical = res === '1'
} else {
isMedical = res.orderDTO.insuredDTOs[0].medical === '0'
}
}
//根据社保写死两个字段 赔付比例和免赔额
item.calFactorLst.map(i => {
//免赔额
if (i.code === 'getLimit') {
i.columns = i.columns.filter(itemC => {
return itemC.medical == isMedical
})
this.trialInfos[0].getLimit = i.columns[0].value
// const text = isMedical ? '0元意外医疗' : '100元意外医疗'
// const value = isMedical ? '0' : '100'
//保存数据
// this.medicalInfo = this.medicalInfo || {}
// this.medicalInfo.getLimit = text
// i.showContent = text
// i.getLimit = value
// i.columns = [{ text, value }]
}
//赔付比例
if (i.code === 'getRate') {
i.columns = i.columns.filter(itemC => {
return itemC.medical == isMedical
})
this.trialInfos[0].getRate = i.columns[0].value
// const text = isMedical ? '80%(意外医疗)' : '70%(意外医疗)'
// const value = isMedical ? '0.8' : '0.7'
// //保存数据
// this.medicalInfo = this.medicalInfo || {}
// this.medicalInfo.getRate = text
// i.showContent = text
// i.getRate = value
// i.columns = [{ text, value }]
}
})
this.$forceUpdate()
})
// } else {
// //其他产品删掉两个字段
// let calFactorLst = item.calFactorLst
// for (let i = calFactorLst.length - 1; i >= 0; i--) {
// let item = calFactorLst[i]
// if (item.code === 'getLimit' || item.code === 'getRate') {
// calFactorLst.splice(i, 1)
// }
// }
// }
})
// this.influenceAddRiskCodes