Merge remote-tracking branch 'origin/feature/GFRS-2265【待确定】个险-惠企保重大疾病保险' into release/20210330

# Conflicts:
#	src/views/ebiz/common/CalculatePremium.vue
This commit is contained in:
baijinyan
2021-03-30 17:05:56 +08:00
10 changed files with 127 additions and 24 deletions

View File

@@ -1096,6 +1096,21 @@ export default {
text: '其他'
}
],
//投保人/被保险人关系 惠企保
hqbRelationToAppnt: [
{
id: 1,
text: '本人'
},
{
id: 2,
text: '配偶'
},
{
id: 4,
text: '子女'
}
],
//理赔报案投保人/被保险人关系
relationToAppnts: [
{
@@ -1803,6 +1818,11 @@ export default {
shortName: '重疾险',
name: '国富人寿八桂无忧重大疾病保险C款',
code: 'GFRS_M0035'
},
{
shortName: '重疾险',
name: '国富人寿桂企保重大疾病保险B款',
code: 'GFRS_M0040'
}
],
// 职级

View File

@@ -63,16 +63,16 @@
@click="toSelect(index, riskFactorIndex, riskFactor.columns)"
/>
</div>
<!-- 桂企产品GFRS_M0024不显示责任保费及万元只显示责任名称及勾选框 -->
<!-- 桂企产品GFRS_M0024/GFRS_M0040不显示责任保费及万元只显示责任名称及勾选框 -->
<div class="border-bottom" 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 v-if="item.productCode != 'GFRS_M0024'" class="fs14 w100">{{ dutyItem.dutyName }}({{ dutyItem.suffix }})</span>
<span v-if="!(item.productCode == 'GFRS_M0024' || item.productCode == 'GFRS_M0040')" class="fs14 w100">{{ dutyItem.dutyName }}({{ dutyItem.suffix }})</span>
<span v-else class="fs14 w100">{{ dutyItem.dutyName }}</span>
<div class="flex relative">
<van-stepper
v-if="item.productCode != 'GFRS_M0024'"
v-if="!(item.productCode == 'GFRS_M0024' || item.productCode == 'GFRS_M0040')"
v-model="dutyItem.defaultDutyAmt"
:min="dutyItem.minDutyAmt"
:max="dutyItem.maxDutyAmt"
@@ -1550,7 +1550,44 @@ export default {
}
}
//isTrial为0 ---暂时为富娃娃两全保险(万能型)专配 输入保费校验
} else if (this.isTrial === '0' && this.chooseProducts[productIndex].isMainRisk == '0') {
}else if (productCode == 'GFRS_M0040') {
// 惠企保保额限制
//被保险人年龄如果在41-60区间
if (this.saleInsuredPersonInfo.age >= 41) {
//使用rules规则里的第二条控制保额份数
if (Number(defalutValue) < Number(riskFactor.rules[1].minPrem) || Number(defalutValue) > Number(riskFactor.rules[1].maxPrem)) {
this.$toast('年龄在41周岁至60周岁被保险人投保本险种时最低基本保险金额为50000元。超过最低基本保险金额为10000元整数倍。')
this.nextStepFlag = true
} else {
if ((Number(defalutValue) * 10000) % (Number(currentEle.limit) * 10000) != 0) {
// this.defalutAmt = currentEle.rules[productIndex].displayAmount
this.$toast('年龄在41周岁至60周岁被保险人投保本险种时最低基本保险金额为50000元。超过最低基本保险金额为10000元整数倍。')
this.nextStepFlag = true
} else {
this.mainRiskInfluenceAddRisk()
currentEle['amt'] = Number(defalutValue) * Number(currentEle.moneyUnit)
this.getTrial()
}
}
} else if (this.saleInsuredPersonInfo.age >= 0 && this.saleInsuredPersonInfo.age <= 40) {
//使用rules规则里的第一条控制保额份数
if (Number(defalutValue) < Number(riskFactor.rules[0].minPrem) || Number(defalutValue) > Number(riskFactor.rules[0].maxPrem)) {
this.$toast('年龄在0-40周岁被保险人投保本险种时最低基本保险金额为100000元超过最低基本保险金额为10000元整数倍。')
this.nextStepFlag = true
} else {
if ((Number(defalutValue) * 10000) % (Number(currentEle.limit) * 10000) != 0) {
// this.defalutAmt = currentEle.rules[productIndex].displayAmount
this.$toast('年龄在0-40周岁被保险人投保本险种时最低基本保险金额为100000元超过最低基本保险金额为10000元整数倍。')
this.nextStepFlag = true
} else {
this.mainRiskInfluenceAddRisk()
currentEle['amt'] = Number(defalutValue) * Number(currentEle.moneyUnit)
this.getTrial()
}
}
}
//isTrial为0 ---暂时为富娃娃两全保险(万能型)专配 输入保费校验
} else if (this.isTrial === '0' && this.chooseProducts[productIndex].isMainRisk == '0') {
if (Number(defalutValue) < Number(min)) {
this.$toast(`交费期间为${riskFactor.yearWay}年交时,最低保费为${Number(min) * Number(riskFactor.moneyUnit)}`)
this.nextStepFlag = true
@@ -1685,7 +1722,7 @@ export default {
riskItem['amt'] = this.trialList[index].amt
} else {
//国富人寿桂企保重大疾病保险产品专写
if (this.trialList[index].productCode == 'GFRS_M0024') {
if (this.trialList[index].productCode == 'GFRS_M0024' || this.trialList[index].productCode == 'GFRS_M0040') {
riskItem['dutyLst'] = this.trialInfos[index].duty
}
}
@@ -1728,7 +1765,7 @@ export default {
//国富人寿桂企保重大疾病保险产品专写
this.trialInfos.map((v, i) => {
if (v.productCode == 'GFRS_M0024') {
if (v.productCode == 'GFRS_M0024' || v.productCode == 'GFRS_M0040') {
delete riskDTOLst[i].duty
}
})

View File

@@ -48,18 +48,18 @@ export default {
getOrderDetail({ orderNo: localStorage.orderNo }).then(
res => {
if (res.result == 0) {
//------------------------专为桂企写死--begin---------------//
//------------------------专为桂/惠企写死--begin---------------//
if (res.orderDTO.insuredDTOs[0] && res.orderDTO.insuredDTOs[0].riskDTOLst) {
this.flag = this.specilFlag = res.orderDTO.insuredDTOs[0].riskDTOLst.some(v => {
return v.riskCode == 'GFRS_M0024'
return v.riskCode == 'GFRS_M0024' || v.riskCode == 'GFRS_M0040'
})
if (this.flag) {
this.specilFlag = '1'
}
} else if (res.orderDTO.orderInfoDTO.productCode == 'GFRS_M0024') {
} else if (res.orderDTO.orderInfoDTO.productCode == 'GFRS_M0024' || res.orderDTO.orderInfoDTO.productCode == 'GFRS_M0040') {
this.specilFlag = '1'
}
// ------------------------专为桂企写死--end---------------//
// ------------------------专为桂/惠企写死--end---------------//
// 处理活动产品
this.activeFlag = res.orderDTO.orderInfoDTO.activeType
}
@@ -120,13 +120,13 @@ export default {
}
}
this.list = resultData.mainRiskDTOS
//------------------------专为企写死--begin---------------//
//------------------------专为企写死--begin---------------//
if (this.list.length > 0 && this.specilFlag == '1' && localStorage.isFrom == 'sale') {
this.result = this.list.find(v => {
return v.riskProductCode == 'GFRS_M0024'
return v.riskProductCode == 'GFRS_M0040'
})
}
// ------------------------专为企写死--end---------------//
// ------------------------专为企写死--end---------------//
if (this.list.length == 0) {
this.$dialog({ message: '暂无可选产品!' }).then(() => {
@@ -183,6 +183,13 @@ export default {
/********start 主险选择限制 start******/
// 检验投被人关系 惠企保特殊校验
if (riskProductCode == 'GFRS_M0040') {
if (riskRules.relationLimit(resultData, JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).relationToAppnt, this)) {
return
}
}
if (riskRules.ageLimit(resultData, this)) {
return
}

View File

@@ -1,8 +1,26 @@
import { productCheck } from '@/api/ebiz/common/common'
import { getCompany } from '@/api/ebiz/sale/sale'
import CacheUtils from '@/assets/js/utils/cacheUtils'
import DataDictionary from '@/assets/js/utils/data-dictionary'
export default {
//投、被保险人关系险种的限制
relationLimit(resultData, relationToAppnt, vm) {
var flag = '1'
let tips
DataDictionary.hqbRelationToAppnt.forEach(item => {
if (flag == '1') {
if (item.id == relationToAppnt) {
flag = '0'
}
}
})
if (flag == '1') {
tips = '惠企保产品被保险人与投保人的关系必须伟本人、配偶、子女!'
vm.$toast(tips)
return true
}
return false
},
//投、被保险人年龄对险种的限制
ageLimit(resultData, vm, isApplicant) {
let age, tips

View File

@@ -102,7 +102,7 @@ export default {
localStorage.chooseProductCodes = '' //置空所选险种
let path = `/sale/insuredInfo`
let flagPermission = true
if (this.$route.params.productDetailCode == 'GFRSPRO_M0024') {
if (this.$route.params.productDetailCode == 'GFRSPRO_M0024' || this.$route.params.productDetailCode == 'GFRSPRO_M0040') {
flagPermission = await riskRules.getProductSellPermissionList('GFRS_M0024', this)
let specilFlag = '1'
path = `${path}?specilFlag=${specilFlag}`

View File

@@ -282,7 +282,7 @@ export default {
}
}
let flag = item.insuredDTOs[0].riskDTOLst.some(v => {
return v.riskCode == 'GFRS_M0024'
return v.riskCode == 'GFRS_M0024' || v.riskCode == 'GFRS_M0040'
})
if (flag && (await riskRules.getProductSellPermissionList('GFRS_M0024', this))) {
return this.$toast('抱歉,您没有该产品的销售权限!')

View File

@@ -652,7 +652,7 @@ export default {
return Toast.fail('暂不支持组合产品转投保')
}
}
if (this.mainRiskCodes[0] == 'GFRS_M0024') {
if (this.mainRiskCodes[0] == 'GFRS_M0024' || this.mainRiskCodes[0] == 'GFRS_M0040') {
let specilFlag = '1'
path = `${path}&specilFlag=${specilFlag}`
let flagPermission = await riskRules.getProductSellPermissionList(this.mainRiskCodes[0], this)

View File

@@ -61,9 +61,6 @@
您可关注 国富人寿保险微信公众号点击我的菜单注册用户进入我的保单-保单变更服务完成在线办理或提交申请材料<br />
方式二 柜面办理<br />
您可前往国富人寿客户服务中心柜面办理保单变更业务<br />
方式三 邮箱办理<br />
您可登录国富人寿官方网站www.e-guofu.com
客服中心-单证下载下载保单变更申请书等单证填写后会同申请人手持证件人像面合影申请人有效证件银行账户等申请资料通过您投保时预留的电子邮箱发送电子邮件至国富人寿客服邮箱service@e-guofu.com国富人寿有专人进行受理如需帮助请咨询国富人寿客户服务热线4006946688
4保险金支付和业务款项退费<br />
各类保险金将根据权益人授权的银行账号进行转账支付<br />
保单退费款项按客户申请办理相应业务时所授权的银行账号进行转账支付<br />

View File

@@ -564,12 +564,14 @@ export default {
//------------------------专为桂企写死--begin---------------//
if (res.orderDTO.insuredDTOs[0] && res.orderDTO.insuredDTOs[0].riskDTOLst) {
this.specilFlag = res.orderDTO.insuredDTOs[0].riskDTOLst.some(v => {
return v.riskCode == 'GFRS_M0024'
return v.riskCode == 'GFRS_M0024' || v.riskCode == 'GFRS_M0040'
})
? '1'
: '0'
} else if (res.orderDTO.orderInfoDTO.productCode == 'GFRS_M0024') {
this.specilFlag = '1'
} else if (res.orderDTO.orderInfoDTO.productCode == 'GFRS_M0040') {
this.specilFlag = '1'
}
// ------------------------专为桂企写死--end---------------//
}
@@ -698,6 +700,7 @@ export default {
break
case '9':
this.productCodes.length = 0
// 已丢弃
this.productCodes.push('GFRS_M0024')
getCompany({ productCodes: this.productCodes }).then(res => {
if (res.result == 0) {
@@ -1244,7 +1247,9 @@ export default {
console.log('params :>> ', params)
//------------------------专为桂企写死--begin---------------//
if (this.specilFlag == '1') {
params.orderDTO.orderInfoDTO.productCode = 'GFRS_M0024'
params.orderDTO.orderInfoDTO.productCode = 'GFRS_M0040'
str = 'specilFlag=1&'
//params.orderDTO.orderInfoDTO.productCode = 'GFRS_M0024'
}
// ------------------------专为桂企写死--end---------------//
let resultData = await saveOrUpdateOrderInfo(params)
@@ -1256,7 +1261,7 @@ export default {
//如果从保单列表编辑按钮或者新增保单进入
localStorage.salePageFlag = '2'
} else {
str = 'edit=1&salePageFlag=2'
str = str + 'edit=1&salePageFlag=2'
}
localStorage.orderNo = resultData.orderNo
// localStorage.insuredDetail = JSON.stringify(this.userInfo)

View File

@@ -588,6 +588,7 @@ export default {
}
},
created() {
this.specilFlag = this.$route.query.specilFlag
//如果是编辑/导航进来
// if (this.$route.query.edit) {
if (localStorage.orderNo) {
@@ -683,6 +684,19 @@ export default {
// ]) //联系地址
// }
}
//------------------------专为惠企写死--begin---------------//
if (res.orderDTO.insuredDTOs[0] && res.orderDTO.insuredDTOs[0].riskDTOLst) {
this.specilFlag = res.orderDTO.insuredDTOs[0].riskDTOLst.some(v => {
return v.riskCode == 'GFRS_M0024' || v.riskCode == 'GFRS_M0040'
})
? '1'
: '0'
} else if (res.orderDTO.orderInfoDTO.productCode == 'GFRS_M0024') {
this.specilFlag = '1'
} else if (res.orderDTO.orderInfoDTO.productCode == 'GFRS_M0040') {
this.specilFlag = '1'
}
// ------------------------专为惠企写死--end---------------//
} else {
return this.$toast(res.resultMessage)
}
@@ -792,7 +806,12 @@ export default {
} /* else if (pickerType == '6') {
this.columns = DataDictionary.marriage
}*/ else if (pickerType == '7') {
this.columns = DataDictionary.relationToAppnt
if(this.specilFlag == '1') {
// 惠企保 投被关系限制
this.columns = DataDictionary.hqbRelationToAppnt
}else {
this.columns = DataDictionary.relationToAppnt
}
} else if (pickerType == '8') {
this.columns = DataDictionary.workCondition
} else if (pickerType == '9') {