Merge branch 'feature/GFRS-688_【国富人寿附加豁免保险费重大疾病保险】' into release/0312

This commit is contained in:
yuweiqi
2020-03-12 14:47:20 +08:00
3 changed files with 113 additions and 20 deletions

View File

@@ -95,18 +95,25 @@ export default {
if (riskRules.healthGradeLimit(resultData, this)) {
return
}
if (riskRules.lifeGradeLimit(resultData, this)) {
return
}
// if (riskRules.lifeGradeLimit(resultData, this)) {
// return
// }
if (this.remitLimit(resultData)) {
return
}
//validateAppntFlag 0-职业寿险等级需校验主合同的投保人1-职业寿险等级无需校验主合同的投保人
if (resultData.productInsuredDTO.validateAppntFlag == '0') {
//校验主合同投保人寿险职业等级
if (riskRules.lifeGradeLimitForBaby(resultData, this)) {
return
}
} else {
//校验主合同的被保人寿险职业等级
if (riskRules.lifeGradeLimit(resultData, this)) {
return
}
}
/********end 附加险选择限制 end******/

View File

@@ -193,13 +193,54 @@
<!-- 豁免险条件 -->
<div v-if="item.isRemit == 0">
<div v-for="(riskFactor, riskFactorIndex) in item.calFactorLst" :key="riskFactorIndex">
<div class="flex justify-content-s pv10 border-bottom">
<div v-for="(riskFactor, riskFactorIndex) in item.calFactorLst" :key="riskFactorIndex" class="border-bottom">
<div class="flex justify-content-s pv10">
<div class="flex">
<van-field v-if="riskFactor.type == 0" v-model="riskFactor.showContent" readonly :label="riskFactor.name" />
<van-field v-if="riskFactor.type == 1" v-model="riskFactor.defaultValue" readonly :label="riskFactor.name + '(' + riskFactor.suffix + ')'" />
</div>
</div>
<div v-if="riskFactor.type == 3">
<div class="pv12 border-bd">{{ riskFactor.name }}</div>
<div class="duty">
<div class="flex justify-content-s border-bd pv10 align-items-c" v-for="(dutyItem, dutyItemIndex) in riskFactor.rules" :key="dutyItemIndex">
<span class="fs14 w100">{{ dutyItem.dutyName }}({{ dutyItem.suffix }})</span>
<div class="flex relative">
<van-stepper
v-model="dutyItem.defaultDutyAmt"
:min="dutyItem.minDutyAmt"
:max="dutyItem.maxDutyAmt"
:show-plus="false"
:show-minus="false"
class="ml10 mr10"
:disabled="dutyItem.changeWithMainRisk === true ? 'disabled' : ''"
@focus="focusStep"
@blur="blurStep(dutyItem)"
@change="
dutyStepperChange(
item.calFactorLst[riskFactorIndex].rules[dutyItemIndex].defaultDutyAmt,
index,
riskFactorIndex,
dutyItemIndex,
dutyItem.necess,
dutyItem.minDutyAmt,
dutyItem.maxDutyAmt
)
"
input-width="200"
:integer="false"
/>
<van-checkbox
v-model="dutyItem.necess"
:disabled="dutyItem.defaultValue == '0'"
shape="square"
@change="changeChecked(index, riskFactorIndex, dutyItemIndex, dutyItem)"
></van-checkbox>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 只有万能险且只有建议书才展示 -->
@@ -352,7 +393,20 @@ export default {
this.mult = Math.ceil(Number(i.displayAmount) / Number(i.defaultValue))
})
}
// if (item.productCode == 'GFRS_A0003') {
// //该附加险的责任保额=主险的保费
// item.calFactorLst.map(v => {
// if (v.code == 'dutyGroup' && v.rules.length > 0) {
// v.rules.map(y => {
// if (y.defaultDutyAmt === null) {
// y.defaultDutyAmt = (JSON.parse(localStorage.trialList)[0].prem / 10000).toFixed(6)
// }
// y.moneyUnit = 10000
// y.changeWithMainRisk = true //责任险保额=主险保费,不允许用户手动更改
// })
// }
// })
// }
//保存险种编号
this.mainRiskCode = item.mainRiskCode
})
@@ -429,7 +483,10 @@ export default {
dutyStepperChange(value, productIndex, calFactorIndex, dutyItemIndex, isChecked, min, max) {
//这个险种使用其他验证方式
if (this.mainRiskCode === 'GFRS_M0016') return
if (this.chooseProducts[productIndex].productCode === 'GFRS_A0003') {
this.getTrial()
return
}
let currentEle = this.chooseProducts[productIndex].calFactorLst[calFactorIndex].rules[dutyItemIndex]
if (value < min || value > max) {
this.$toast(localStorage.hint)
@@ -767,6 +824,24 @@ export default {
item.moneyUnit = 1
item.suffix = '元'
}
if (this.chooseProducts[remitIndex].productCode == 'GFRS_A0003') {
//此附加险的缴费期间=主险缴费期间;保险期间=主险保险期间
if (item.code == 'insuYear') {
item.hasFlag = '1'
item.insuYearFlag = mainRiskInfo.insuYear.insuYearFlag
item.insuYear = Number(mainRiskInfo.insuYear.insuYear)
item.showContent = mainRiskInfo.insuYear.showContent
}
if (item.code == 'dutyGroup') {
let trialList = JSON.parse(localStorage.trialList)
item.rules.forEach(v => {
v.amt = trialList[0].prem
v.defaultDutyAmt = (Number(trialList[0].prem) / 10000).toFixed(6)
v.moneyUnit = 10000
v.suffix = '万元'
})
}
}
})
},
getRemitIndex() {
@@ -908,7 +983,7 @@ export default {
if (dutyItem.necess) {
// trialInfo['amt'] = this.trialList[index].amt
result.push({
amt: Number(dutyItem.defaultDutyAmt) * Number(dutyItem.moneyUnit),
amt: (Number(dutyItem.defaultDutyAmt) * Number(dutyItem.moneyUnit)).toFixed(2),
dutyCode: dutyItem.duty,
dutyName: dutyItem.dutyName
})
@@ -924,8 +999,12 @@ export default {
trialInfo['payEndYear'] = '1000'
trialInfo['payEndYearFlag'] = 'Y'
// 福宝宝和万能险传A
if (item.mainRiskCode != 'GFRS_M0006' && item.mainRiskCode != 'GFRS_M0017'
&& item.mainRiskCode != 'GFRS_M0003' && item.mainRiskCode != 'GFRS_M0013') {
if (
item.mainRiskCode != 'GFRS_M0006' &&
item.mainRiskCode != 'GFRS_M0017' &&
item.mainRiskCode != 'GFRS_M0003' &&
item.mainRiskCode != 'GFRS_M0013'
) {
trialInfo['insuYearFlag'] = 'Y'
}
}
@@ -1151,9 +1230,11 @@ export default {
//万能型产品保费赋值给保额
//增加判断是否是从建议书跳转过来了的
if (localStorage.isFrom != 'proposal') {
if (this.trialList[index].productCode == 'GFRS_M0003'
|| this.trialList[index].productCode == 'GFRS_M0015'
|| this.trialList[index].productCode == 'GFRS_M0017') {
if (
this.trialList[index].productCode == 'GFRS_M0003' ||
this.trialList[index].productCode == 'GFRS_M0015' ||
this.trialList[index].productCode == 'GFRS_M0017'
) {
riskItem['amt'] = this.trialList[index].prem
}
}

View File

@@ -9,10 +9,8 @@
</p>
<van-radio checked-color="red" slot="right-icon" :name="item" />
</van-cell>
<van-cell>
</van-cell>
<van-cell>
</van-cell>
<van-cell> </van-cell>
<van-cell> </van-cell>
</van-cell-group>
</van-radio-group>
@@ -126,13 +124,20 @@ export default {
if (riskRules.healthGradeLimit(resultData, this)) {
return
}
if (riskRules.lifeGradeLimit(resultData, this)) {
return
}
// if (riskRules.lifeGradeLimit(resultData, this)) {
// return
// }
//validateAppntFlag 0-职业寿险等级需校验主合同的投保人1-职业寿险等级无需校验主合同的投保人
if (resultData.productInsuredDTO.validateAppntFlag == '0') {
//校验主合同投保人寿险职业等级
if (riskRules.lifeGradeLimitForBaby(resultData, this)) {
return
}
} else {
//校验主合同被保人寿险职业等级
if (riskRules.lifeGradeLimit(resultData, this)) {
return
}
}
/********end 主险选择限制 end******/