Merge branch 'feature/FCRS-825-【需求】《国富人寿富贵尊享终身寿险(分红型》个险渠道产品运营系统需求'

This commit is contained in:
zhang.weiwei
2024-10-21 16:31:11 +08:00
2 changed files with 2904 additions and 2726 deletions

View File

@@ -19,7 +19,7 @@
<van-icon name="search" size="20" v-if="item.documentDTOS && item.documentDTOS.length > 0" @click="seeDocument(index)" class="green mr5" />
<van-icon name="delete" size="22" @click="deleteRisk(index, item)" class="green" />
</div>
<!-- 险种条件-->
<!-- 险种条件 isRemit是否是豁免险1 -->
<div v-if="(item.isRemit == 1 && isTrial == '1') || (item.isRemit == 1 && isTrial != '1' && item.isMainRisk == 1)">
<!-- <div v-if="item.isRemit == 1 && isTrial == '1'"> -->
<div v-for="(riskFactor, riskFactorIndex) in item.calFactorLst" :key="riskFactorIndex">
@@ -54,7 +54,10 @@
</div>
</div>
<!-- GFRS_A0011-附加两全 属于非豁免险 但附加两全保额=主险年交保费+其他不带豁免责任的长期期交附加险年交保费 此处保额单独展示 -->
<div v-else-if="item.productCode == 'GFRS_A0011' && riskFactor.type == 1 && riskFactor.code == 'amt'" class="flex justify-content-s pv10 border-bottom">
<div
v-else-if="item.productCode == 'GFRS_A0011' && riskFactor.type == 1 && riskFactor.code == 'amt'"
class="flex justify-content-s pv10 border-bottom"
>
<van-field v-model="riskFactor.defaultValue" readonly :label="riskFactor.name + '(' + riskFactor.suffix + ')'" />
</div>
<!-- //主险的交费期间联动国富人寿附加两全(GFRS_A0011)保险的交费期间 -->
@@ -140,7 +143,12 @@
:max="dutyItem.maxDutyAmt"
:show-plus="false"
:show-minus="false"
:disabled="item.productCode == 'GFRS_M0088' || item.productCode == 'GFRS_A0012' || (item.productCode == 'GFRS_M0077' && !dutyItem.necess) || (item.productCode == 'GFRS_M0077' && dutyItem.duty == '311507')"
:disabled="
item.productCode == 'GFRS_M0088' ||
item.productCode == 'GFRS_A0012' ||
(item.productCode == 'GFRS_M0077' && !dutyItem.necess) ||
(item.productCode == 'GFRS_M0077' && dutyItem.duty == '311507')
"
class="ml10 mr10"
@focus="focusStep"
@blur="blurStep(dutyItem, index, item.productCode)"
@@ -168,6 +176,10 @@
</div>
</div>
</div>
<!-- 类型为5的字段单元格只展示文本 -->
<div class="border-bottom pv10" v-if="riskFactor.type == 5">
<van-field v-model="riskFactor.showContent" readonly :label="riskFactor.name" />
</div>
</div>
</div>
<!-- 为富娃娃两全保险(万能型)专写 外加鑫享年年-->
@@ -254,6 +266,10 @@
</div>
</div>
</div>
<!-- 类型为5的字段单元格只展示文本 -->
<div class="border-bottom pv10" v-if="riskFactor.type == 5">
<van-field v-model="riskFactor.showContent" readonly :label="riskFactor.name" />
</div>
</div>
</div>
@@ -307,6 +323,10 @@
</div>
</div>
</div>
<!-- 类型为5的字段单元格只展示文本 -->
<div class="border-bottom pv10" v-if="riskFactor.type == 5">
<van-field v-model="riskFactor.showContent" readonly :label="riskFactor.name" />
</div>
</div>
</div>
<!-- 只有万能险且只有建议书才展示 -->
@@ -324,7 +344,10 @@
placeholder="请录入保单号或者投保单号,如果关联多个保单,请用\隔开"
/>
</div>
<div class="flex justify-content-s pv10 border-bottom prem" v-if="item.productCode != 'GFRS_M0080' && item.productCode != 'GFRS_M0083' && item.productCode != 'GFRS_M0085'">
<div
class="flex justify-content-s pv10 border-bottom prem"
v-if="item.productCode != 'GFRS_M0080' && item.productCode != 'GFRS_M0083' && item.productCode != 'GFRS_M0085'"
>
<!-- trialType 0-保额算保费1-保费算保额 -->
<!-- isTrial是否需存在特殊配置(规则) 0-是 1-否-->
<span
@@ -359,16 +382,16 @@
<div class="pl40 pr40 mt10">
<div class="flex justify-content-s fs12" v-for="(item, index) in verifyResultList" :key="index">
<div>
<img class="w20 h20 p10 v-middle" :src="require('@/assets/images/sale/ruleType0'+ item.ruleType +'.png')" alt="">
<img class="w20 h20 p10 v-middle" :src="require('@/assets/images/sale/ruleType0' + item.ruleType + '.png')" alt="" />
<span class="v-middle">{{ item.ruleType | ruleTypeFilter }}</span>
</div>
<div>
<!-- <span class="v-middle">{{item.status | approvedFilter}}</span>-->
<img class="w20 h20 p10 v-middle" :src="require('@/assets/images/sale/approved'+ item.status +'.png')" alt="">
<img class="w20 h20 p10 v-middle" :src="require('@/assets/images/sale/approved' + item.status + '.png')" alt="" />
</div>
</div>
<div style="padding:25px 0px 10px 10px;font-size: 10px;color: #999;">
<p style="line-height: 20px;"><span style="width: 40px;display: inline-block;">说明:</span>绿色✔表示 未触发规则、红色×表示 触发规则</p>
<div style="padding: 25px 0px 10px 10px; font-size: 10px; color: #999">
<p style="line-height: 20px"><span style="width: 40px; display: inline-block">说明:</span>绿色✔表示 未触发规则、红色×表示 触发规则</p>
</div>
</div>
</van-dialog>
@@ -382,7 +405,7 @@
import { getAgentInfo } from '@/api/ebiz/my/my.js'
import occupationList from '@/components/ebiz/occipation/data/occupation'
import utilsAge from '@/assets/js/utils/age'
import riskRules from "./risk-rules";
import riskRules from './risk-rules'
//险种GFRS_M0016的责任的验证规则
//默认 最低基本保险金额min 10000 整数倍要求mutiple 1000
@@ -580,7 +603,7 @@
flag: 'navigation',
extra: {
title: '保费计算'
},
}
})
if (this.isFrom === 'proposal') {
// eslint-disable-next-line no-undef
@@ -596,7 +619,7 @@
}, 500)
}
window.appCallBack = this.appCallBack
getAgentInfo({}).then(res => {
getAgentInfo({}).then((res) => {
// branchType N1、1代表个险渠道 和 N5、5 代表中介渠道N代表内勤
if (res.branchType == 'N1' || res.branchType == '1') {
this.branchTypeVal = 'G'
@@ -686,7 +709,7 @@
const orderNo = this.$route.query.orderNo
let detailPromise = this.isFrom === 'proposal' ? localStorage.proposalMedical : await getOrderDetail({ orderNo })
let collect = (data, code) => {
data.forEach(item => {
data.forEach((item) => {
if (item.code == code) {
this.saleInsuredPersonInfo.healthGrade = item.healthGrade
this.saleInsuredPersonInfo.lifeGrade = item.lifeGrade
@@ -717,7 +740,7 @@
let thismyinsuanceIdInfo = JSON.parse(this.$route.query.insuanceIdInfo)
let insuanceId = ''
let riskProductCode = ''
thismyinsuanceIdInfo.forEach(item=>{
thismyinsuanceIdInfo.forEach((item) => {
if (item.isMainRisk == 0) {
insuanceId = item.insuanceId
riskProductCode = item.riskCode
@@ -726,7 +749,7 @@
await getTrialRecordInfo({
serialNo: serialNo,
mainRiskId: insuanceId
}).then(res => {
}).then((res) => {
if (res.result == '0') {
this.chooseProducts = JSON.parse(res.content.trialJsonStr)
this.trialRecordInfoId = res.content.id
@@ -756,7 +779,7 @@
item.calFactorLst.map((i) => {
if (i.code == 'dutyGroup') {
if (i.rules && i.rules.length != 0) {
i.rules.forEach(ii=>{
i.rules.forEach((ii) => {
if (this.saleInsuredPersonInfo.insuredAge < 18) {
if (ii.duty == '311504') {
ii.necess = true
@@ -795,7 +818,7 @@
}
if ((item.mainRiskCode == 'GFRS_M0083' || item.mainRiskCode == 'GFRS_M0085') && this.isFrom == 'proposal') {
item.calFactorLst.forEach((i) => {
if (i.code == "inputPrem") {
if (i.code == 'inputPrem') {
i.minPrem = 0.01
i.displayAmount = 0.01
i.defaultValue = 0.01
@@ -920,7 +943,14 @@
let detailPromise = this.isFrom === 'proposal' ? localStorage.proposalMedical : await getOrderDetail({ orderNo })
this.chooseProducts.map((item) => {
if (
!(item.mainRiskCode === 'GFRS_M0016' ||item.mainRiskCode === 'GFRS_M0070' || item.productCode === 'GFRS_A0004' || item.productCode === 'GFRS_A0008' || item.productCode === 'GFRS_A0005' || item.productCode === 'GFRS_M0088')
!(
item.mainRiskCode === 'GFRS_M0016' ||
item.mainRiskCode === 'GFRS_M0070' ||
item.productCode === 'GFRS_A0004' ||
item.productCode === 'GFRS_A0008' ||
item.productCode === 'GFRS_A0005' ||
item.productCode === 'GFRS_M0088'
)
) {
//其他产品删掉两个字段
let calFactorLst = item.calFactorLst
@@ -932,7 +962,13 @@
}
return
}
if (item.mainRiskCode === 'GFRS_M0016' || item.mainRiskCode === 'GFRS_M0070' ||item.productCode === 'GFRS_A0004' || item.productCode === 'GFRS_A0008' || item.productCode === 'GFRS_A0005') {
if (
item.mainRiskCode === 'GFRS_M0016' ||
item.mainRiskCode === 'GFRS_M0070' ||
item.productCode === 'GFRS_A0004' ||
item.productCode === 'GFRS_A0008' ||
item.productCode === 'GFRS_A0005'
) {
let isMedical = null
if (this.isFrom === 'proposal') {
isMedical = detailPromise == '1'
@@ -987,7 +1023,7 @@
) {
setTimeout(() => {
this.getTrial()
}, 500);
}, 500)
return
}
let currentEle = this.chooseProducts[productIndex].calFactorLst[calFactorIndex].rules[dutyItemIndex]
@@ -1061,7 +1097,7 @@
this.chooseProducts.forEach((item, index) => {
if (item.mainRiskCode == 'GFRS_M0086') {
item.calFactorLst.forEach((i) => {
if (i.code == "inputAmt") {
if (i.code == 'inputAmt') {
i.minPrem = 20
i.displayAmount = 20
i.defaultValue = 20
@@ -1073,7 +1109,7 @@
this.chooseProducts.forEach((item, index) => {
if (item.mainRiskCode == 'GFRS_M0086') {
item.calFactorLst.forEach((i) => {
if (i.code == "inputAmt") {
if (i.code == 'inputAmt') {
i.minPrem = 10
i.displayAmount = 10
i.defaultValue = 10
@@ -1113,11 +1149,11 @@
this.popupShow = false
return false
}
if (currentEle.code == 'payEndYear' && await this.ageInfluencePayEndYear(value.value, currentEle)) {
if (currentEle.code == 'payEndYear' && (await this.ageInfluencePayEndYear(value.value, currentEle))) {
this.popupShow = false
return false
}
if (currentEle.code == 'insuYear' && await this.ageInfluenceInsuYear(value.value, currentEle)) {
if (currentEle.code == 'insuYear' && (await this.ageInfluenceInsuYear(value.value, currentEle))) {
this.popupShow = false
return false
}
@@ -1181,7 +1217,14 @@
isClearAddtionRiskListFunc() {
let chooseProductsNew = []
this.chooseProducts.forEach((item01) => {
if (item01.productCode != 'GFRS_A0007' && item01.productCode != 'GFRS_A0009'&& item01.productCode != 'GFRS_A0010'&& item01.productCode != 'GFRS_A0012'&& item01.productCode != 'GFRS_A0013'&& item01.productCode != 'GFRS_A0014') {
if (
item01.productCode != 'GFRS_A0007' &&
item01.productCode != 'GFRS_A0009' &&
item01.productCode != 'GFRS_A0010' &&
item01.productCode != 'GFRS_A0012' &&
item01.productCode != 'GFRS_A0013' &&
item01.productCode != 'GFRS_A0014'
) {
chooseProductsNew.push(item01)
}
})
@@ -1204,7 +1247,14 @@
//嘉和保多责任组合选中、取消任意一款其他5款也跟着选中、取消
let validateRiskCode = this.chooseProducts[productIndex].productCode
if (validateRiskCode === 'GFRS_M0054') {
if(dutyItem.duty == '100022' || dutyItem.duty == '100023' || dutyItem.duty == '100024' || dutyItem.duty == '100025' || dutyItem.duty == '100026' || dutyItem.duty == '100027'){
if (
dutyItem.duty == '100022' ||
dutyItem.duty == '100023' ||
dutyItem.duty == '100024' ||
dutyItem.duty == '100025' ||
dutyItem.duty == '100026' ||
dutyItem.duty == '100027'
) {
this.chooseProducts[productIndex].calFactorLst[calFactorIndex].rules.map((i) => {
if (i.duty == '100022' || i.duty == '100023' || i.duty == '100024' || i.duty == '100025' || i.duty == '100026' || i.duty == '100027') {
i.necess = dutyItem.necess
@@ -1230,11 +1280,11 @@
}
if (validateRiskCode === 'GFRS_M0077') {
if (dutyItem.duty == '311507' && dutyItem.necess) {
this.chooseProducts.forEach(item => {
this.chooseProducts.forEach((item) => {
item.calFactorLst.map((i) => {
if (i.code == 'dutyGroup') {
if (i.rules && i.rules.length != 0) {
i.rules.forEach(ii=>{
i.rules.forEach((ii) => {
if (ii.duty != '311507' && ii.necess) {
dutyItem.defaultDutyAmt = ii.defaultDutyAmt
}
@@ -1306,12 +1356,12 @@
this.valiAndSend(dutyItem, productIndex)
}
if (productCode == 'GFRS_M0077') {
this.chooseProducts.forEach(item => {
this.chooseProducts.forEach((item) => {
if (item.mainRiskCode == 'GFRS_M0077') {
item.calFactorLst.map((i) => {
if (i.code == 'dutyGroup') {
if (i.rules && i.rules.length != 0) {
i.rules.forEach(ii=>{
i.rules.forEach((ii) => {
if (ii.duty == '311507' && ii.necess) {
ii.defaultDutyAmt = dutyItem.defaultDutyAmt
}
@@ -1481,7 +1531,14 @@
if (addtionRiskLst) {
let list = []
addtionRiskLst.forEach((item, index) => {
if (item.productCode != 'GFRS_A0007' && item.productCode != 'GFRS_A0009' && item.productCode != 'GFRS_A0010'&& item.productCode != 'GFRS_A0012'&& item.productCode != 'GFRS_A0013'&& item.productCode != 'GFRS_A0014') {
if (
item.productCode != 'GFRS_A0007' &&
item.productCode != 'GFRS_A0009' &&
item.productCode != 'GFRS_A0010' &&
item.productCode != 'GFRS_A0012' &&
item.productCode != 'GFRS_A0013' &&
item.productCode != 'GFRS_A0014'
) {
list.push(item)
}
})
@@ -1641,7 +1698,13 @@
})
localStorage.chooseProducts = JSON.stringify(this.chooseProducts)
// window.localStorage.setItem('chooseProducts',JSON.stringify( this.chooseProducts))
if(this.chooseProducts[0].productCode == 'GFRS_M0035' || this.chooseProducts[0].productCode == 'GFRS_M0044' || this.chooseProducts[0].productCode == 'GFRS_M0060' || this.chooseProducts[0].productCode == 'GFRS_M0040'|| this.chooseProducts[0].productCode == 'GFRS_M0046'){
if (
this.chooseProducts[0].productCode == 'GFRS_M0035' ||
this.chooseProducts[0].productCode == 'GFRS_M0044' ||
this.chooseProducts[0].productCode == 'GFRS_M0060' ||
this.chooseProducts[0].productCode == 'GFRS_M0040' ||
this.chooseProducts[0].productCode == 'GFRS_M0046'
) {
if (this.trialList.length) {
let showPrem //计算后的保费
//(被保险人)国富人寿附加豁免保险费重大疾病保险(B款GFRS_A0010
@@ -1758,7 +1821,13 @@
item.moneyUnit = 1
item.suffix = '元'
}
if (this.chooseProducts[itemRemitIndex].productCode == 'GFRS_A0003' || this.chooseProducts[itemRemitIndex].productCode == 'GFRS_A0009'|| this.chooseProducts[itemRemitIndex].productCode == 'GFRS_A0010'|| this.chooseProducts[itemRemitIndex].productCode == 'GFRS_A0013'|| this.chooseProducts[itemRemitIndex].productCode == 'GFRS_A0014') {
if (
this.chooseProducts[itemRemitIndex].productCode == 'GFRS_A0003' ||
this.chooseProducts[itemRemitIndex].productCode == 'GFRS_A0009' ||
this.chooseProducts[itemRemitIndex].productCode == 'GFRS_A0010' ||
this.chooseProducts[itemRemitIndex].productCode == 'GFRS_A0013' ||
this.chooseProducts[itemRemitIndex].productCode == 'GFRS_A0014'
) {
//此附加险的缴费期间=主险缴费期间;保险期间=主险保险期间
if (item.code == 'insuYear') {
item.hasFlag = '1'
@@ -2000,7 +2069,10 @@
this.chooseProducts[0].mainRiskCode == 'GFRS_M0038' ||
this.chooseProducts[0].mainRiskCode == 'GFRS_M0040'
) {
if (currentGFRS_A0011 && (JSON.stringify(this.chooseProducts).includes('GFRS_A0010') || JSON.stringify(this.chooseProducts).includes('GFRS_A0014'))) {
if (
currentGFRS_A0011 &&
(JSON.stringify(this.chooseProducts).includes('GFRS_A0010') || JSON.stringify(this.chooseProducts).includes('GFRS_A0014'))
) {
this.chooseProducts.forEach((item, index01) => {
if (item.productCode == 'GFRS_A0010' || item.productCode == 'GFRS_A0014') {
this.chooseProducts.splice(index01, 1)
@@ -2013,7 +2085,6 @@
// })
}
// let risks = this.chooseProducts
// let longRisks = []
// //拿到长险附加险数组
@@ -2060,8 +2131,7 @@
localStorage.chooseProducts = JSON.stringify(this.chooseProducts)
this.getTrial()
})
.catch(() => {
})
.catch(() => {})
}
},
//试算
@@ -2070,7 +2140,7 @@
let productCode = ''
let thisproductInfo = JSON.parse(window.localStorage.getItem('chooseProducts'))
if (thisproductInfo && thisproductInfo.length != 0) {
thisproductInfo.forEach(item => {
thisproductInfo.forEach((item) => {
if (item.productCode == 'GFRS_M0083' || item.productCode == 'GFRS_M0085') {
productCode = item.productCode
}
@@ -2079,8 +2149,8 @@
if (this.isFrom != 'proposal') {
if (productCode == 'GFRS_M0083' || productCode == 'GFRS_M0085') {
if (!that.policyNo) {
that.chooseProducts.forEach(item=>{
item.calFactorLst.forEach(ii=>{
that.chooseProducts.forEach((item) => {
item.calFactorLst.forEach((ii) => {
if (ii.type == 1) {
ii.minPrem = 5
ii.displayAmount = 5
@@ -2088,8 +2158,8 @@
})
})
} else {
that.chooseProducts.forEach(item=>{
item.calFactorLst.forEach(ii=>{
that.chooseProducts.forEach((item) => {
item.calFactorLst.forEach((ii) => {
if (ii.type == 1) {
ii.minPrem = 0.01
ii.displayAmount = 0.01
@@ -2140,8 +2210,7 @@
this.$toast('被保险人年龄不适合该交费期间或保险期间!')
trialFlag = false
}
}
else if (item.productCode == 'GFRS_M0053') {
} else if (item.productCode == 'GFRS_M0053') {
//国富人寿富桂金生养老年金保险
if (sex == '0') {
if (
@@ -2171,7 +2240,8 @@
this.$toast('被保险人年龄不适合该交费期间!')
trialFlag = false
}
}else{ //女
} else {
//女
if (
(item.pensionAge == '55' && item.payEndYear == '30' && age > 25) ||
(item.pensionAge == '55' && item.payEndYear == '20' && age > 35) ||
@@ -2201,10 +2271,10 @@
trialFlag = false
}
}
}
else if (item.productCode == 'GFRS_M0061') {
} else if (item.productCode == 'GFRS_M0061') {
//中介渠道鑫享金生养老年金保险
if(sex == '0'){ //男
if (sex == '0') {
//男
if (
(item.pensionAge == '60' && item.payEndYear == '20' && age > 40) ||
(item.pensionAge == '60' && item.payEndYear == '10' && age > 50) ||
@@ -2233,7 +2303,8 @@
this.$toast('被保险人年龄不适合该交费期间!')
trialFlag = false
}
}else{ //女
} else {
//女
if (
(item.pensionAge == '55' && item.payEndYear == '20' && age > 35) ||
(item.pensionAge == '55' && item.payEndYear == '10' && age > 45) ||
@@ -2486,7 +2557,7 @@
let params = this.getParams()
if (localStorage.isTrial !== '1' && this.chooseProducts[productIndex].isMainRisk == '0') {
// params[productIndex].payEndYear == '1000' 交费期间为一次性交清
this.chooseProducts[productIndex].productTrialYearDTOS.forEach(item=>{
this.chooseProducts[productIndex].productTrialYearDTOS.forEach((item) => {
if (params.trialInfos[productIndex].payEndYear == '1000') {
if (item.yearWay == '一次性交清') {
currentEle = item
@@ -2541,20 +2612,36 @@
}
}
//isTrial为0 ---暂时为富娃娃两全保险(万能型)专配 输入保费校验
}
else if (productCode == 'GFRS_M0035' || productCode == 'GFRS_M0044'
|| productCode == 'GFRS_M0056' || productCode == 'GFRS_M0057' || productCode == 'GFRS_M0060') {
} else if (
productCode == 'GFRS_M0035' ||
productCode == 'GFRS_M0044' ||
productCode == 'GFRS_M0056' ||
productCode == 'GFRS_M0057' ||
productCode == 'GFRS_M0060'
) {
//被保险人年龄如果在50-65区间
if (this.saleInsuredPersonInfo.insuredAge >= 56 && this.saleInsuredPersonInfo.insuredAge <= 60) {
//使用rules规则里的第二条控制保额份数
// 年龄在56周岁及以上被保险人投保本险种时最低基本保险金额为10000元。超过最低基本保险金额为10000元整数倍。
if (Number(defalutValue) < Number(riskFactor.rules[1].minPrem) || Number(defalutValue) > Number(riskFactor.rules[1].maxPrem)) {
this.$toast('56周岁-60周岁最低基本保险金额为'+ (Number(riskFactor.rules[1].minPrem) * 10000) +'元。超过最低基本保险金额为'+ (Number(riskFactor.rules[1].limit) * 10000) +'元整数倍。')
this.$toast(
'56周岁-60周岁最低基本保险金额为' +
Number(riskFactor.rules[1].minPrem) * 10000 +
'元。超过最低基本保险金额为' +
Number(riskFactor.rules[1].limit) * 10000 +
'元整数倍。'
)
this.nextStepFlag = true
} else {
if ((Number(defalutValue) * 10000) % (Number(currentEle.limit) * 10000) != 0) {
// this.defalutAmt = currentEle.rules[productIndex].displayAmount
this.$toast('56周岁-60周岁最低基本保险金额为'+ (Number(riskFactor.rules[1].minPrem) * 10000) +'元。超过最低基本保险金额为'+ (Number(riskFactor.rules[1].limit) * 10000) +'元整数倍。')
this.$toast(
'56周岁-60周岁最低基本保险金额为' +
Number(riskFactor.rules[1].minPrem) * 10000 +
'元。超过最低基本保险金额为' +
Number(riskFactor.rules[1].limit) * 10000 +
'元整数倍。'
)
this.nextStepFlag = true
} else {
this.mainRiskInfluenceAddRisk()
@@ -2566,12 +2653,24 @@
} else if (this.saleInsuredPersonInfo.insuredAge >= 0 && this.saleInsuredPersonInfo.insuredAge <= 55) {
//使用rules规则里的第一条控制保额份数
if (Number(defalutValue) < Number(riskFactor.rules[0].minPrem) || Number(defalutValue) > Number(riskFactor.rules[0].maxPrem)) {
this.$toast('0周岁-55周岁最低基本保险金额为'+ (Number(riskFactor.rules[0].minPrem) * 10000) +'元。超过最低基本保险金额为'+ (Number(riskFactor.rules[0].limit) * 10000) +'元整数倍。')
this.$toast(
'0周岁-55周岁最低基本保险金额为' +
Number(riskFactor.rules[0].minPrem) * 10000 +
'元。超过最低基本保险金额为' +
Number(riskFactor.rules[0].limit) * 10000 +
'元整数倍。'
)
this.nextStepFlag = true
} else {
if ((Number(defalutValue) * 10000) % (Number(currentEle.limit) * 10000) != 0) {
// this.defalutAmt = currentEle.rules[productIndex].displayAmount
this.$toast('0周岁-55周岁最低基本保险金额为'+ (Number(riskFactor.rules[0].minPrem) * 10000) +'元。超过最低基本保险金额为'+ (Number(riskFactor.rules[0].limit) * 10000) +'元整数倍。')
this.$toast(
'0周岁-55周岁最低基本保险金额为' +
Number(riskFactor.rules[0].minPrem) * 10000 +
'元。超过最低基本保险金额为' +
Number(riskFactor.rules[0].limit) * 10000 +
'元整数倍。'
)
this.nextStepFlag = true
} else {
this.mainRiskInfluenceAddRisk()
@@ -2581,8 +2680,7 @@
}
}
//isTrial为0 ---暂时为富娃娃两全保险(万能型)专配 输入保费校验
}
else if (productCode == 'GFRS_M0040') {
} else if (productCode == 'GFRS_M0040') {
// 惠企保保额限制
//被保险人年龄如果在41-60区间
if (this.saleInsuredPersonInfo.insuredAge >= 41) {
@@ -2619,20 +2717,32 @@
}
}
//isTrial为0 ---暂时为富娃娃两全保险(万能型)专配 输入保费校验
}
else if (productCode == 'GFRS_M0046') {
} else if (productCode == 'GFRS_M0046') {
//被保险人年龄如果在50-65区间
if(this.branchTypeVal == 'Z'){ //中介渠道规则
if (this.branchTypeVal == 'Z') {
//中介渠道规则
if (this.saleInsuredPersonInfo.insuredAge >= 51 && this.saleInsuredPersonInfo.insuredAge <= 60) {
//使用rules规则里的第二条控制保额份数
// 年龄在51周岁及以上被保险人投保本险种时最低基本保险金额为10000元。超过最低基本保险金额为10000元整数倍。
if (Number(defalutValue) < Number(riskFactor.rules[1].minPrem) || Number(defalutValue) > Number(riskFactor.rules[1].maxPrem)) {
this.$toast('51周岁-60周岁最低基本保险金额为'+ (Number(riskFactor.rules[1].minPrem) * 10000) +'元。超过最低基本保险金额为'+ (Number(riskFactor.rules[1].limit) * 10000) +'元整数倍。')
this.$toast(
'51周岁-60周岁最低基本保险金额为' +
Number(riskFactor.rules[1].minPrem) * 10000 +
'元。超过最低基本保险金额为' +
Number(riskFactor.rules[1].limit) * 10000 +
'元整数倍。'
)
this.nextStepFlag = true
} else {
if ((Number(defalutValue) * 10000) % (Number(currentEle.limit) * 10000) != 0) {
// this.defalutAmt = currentEle.rules[productIndex].displayAmount
this.$toast('51周岁-60周岁最低基本保险金额为'+ (Number(riskFactor.rules[1].minPrem) * 10000) +'元。超过最低基本保险金额为'+ (Number(riskFactor.rules[1].limit) * 10000) +'元整数倍。')
this.$toast(
'51周岁-60周岁最低基本保险金额为' +
Number(riskFactor.rules[1].minPrem) * 10000 +
'元。超过最低基本保险金额为' +
Number(riskFactor.rules[1].limit) * 10000 +
'元整数倍。'
)
this.nextStepFlag = true
} else {
this.mainRiskInfluenceAddRisk()
@@ -2644,11 +2754,23 @@
} else if (this.saleInsuredPersonInfo.insuredAge >= 0 && this.saleInsuredPersonInfo.insuredAge <= 50) {
//使用rules规则里的第一条控制保额份数
if (Number(defalutValue) < Number(riskFactor.rules[0].minPrem) || Number(defalutValue) > Number(riskFactor.rules[0].maxPrem)) {
this.$toast('0周岁-50周岁最低基本保险金额为'+ (Number(riskFactor.rules[0].minPrem) * 10000) +'元。超过最低基本保险金额为'+ (Number(riskFactor.rules[0].limit) * 10000) +'元整数倍。')
this.$toast(
'0周岁-50周岁最低基本保险金额为' +
Number(riskFactor.rules[0].minPrem) * 10000 +
'元。超过最低基本保险金额为' +
Number(riskFactor.rules[0].limit) * 10000 +
'元整数倍。'
)
this.nextStepFlag = true
} else {
if ((Number(defalutValue) * 10000) % (Number(currentEle.limit) * 10000) != 0) {
this.$toast('0周岁-50周岁最低基本保险金额为'+ (Number(riskFactor.rules[0].minPrem) * 10000) +'元。超过最低基本保险金额为'+ (Number(riskFactor.rules[0].limit) * 10000) +'元整数倍。')
this.$toast(
'0周岁-50周岁最低基本保险金额为' +
Number(riskFactor.rules[0].minPrem) * 10000 +
'元。超过最低基本保险金额为' +
Number(riskFactor.rules[0].limit) * 10000 +
'元整数倍。'
)
this.nextStepFlag = true
} else {
this.mainRiskInfluenceAddRisk()
@@ -2657,18 +2779,31 @@
}
}
}
}else if(this.branchTypeVal == 'G' || this.branchTypeVal == 'T'|| this.branchTypeVal == 'Y' ){ //世纪无忧中介渠道规则(银销个,健销个投保规则同个险规则)
} else if (this.branchTypeVal == 'G' || this.branchTypeVal == 'T' || this.branchTypeVal == 'Y') {
//世纪无忧中介渠道规则(银销个,健销个投保规则同个险规则)
//被保险人年龄如果在50-65区间
if (this.saleInsuredPersonInfo.insuredAge >= 56 && this.saleInsuredPersonInfo.insuredAge <= 60) {
//使用rules规则里的第二条控制保额份数
// 年龄在51周岁及以上被保险人投保本险种时最低基本保险金额为10000元。超过最低基本保险金额为10000元整数倍。
if (Number(defalutValue) < Number(riskFactor.rules[1].minPrem) || Number(defalutValue) > Number(riskFactor.rules[1].maxPrem)) {
this.$toast('56周岁-60周岁最低基本保险金额为'+ (Number(riskFactor.rules[1].minPrem) * 10000) +'元。超过最低基本保险金额为'+ (Number(riskFactor.rules[1].limit) * 10000) +'元整数倍。')
this.$toast(
'56周岁-60周岁最低基本保险金额为' +
Number(riskFactor.rules[1].minPrem) * 10000 +
'元。超过最低基本保险金额为' +
Number(riskFactor.rules[1].limit) * 10000 +
'元整数倍。'
)
this.nextStepFlag = true
} else {
if ((Number(defalutValue) * 10000) % (Number(currentEle.limit) * 10000) != 0) {
// this.defalutAmt = currentEle.rules[productIndex].displayAmount
this.$toast('56周岁-60周岁最低基本保险金额为'+ (Number(riskFactor.rules[1].minPrem) * 10000) +'元。超过最低基本保险金额为'+ (Number(riskFactor.rules[1].limit) * 10000) +'元整数倍。')
this.$toast(
'56周岁-60周岁最低基本保险金额为' +
Number(riskFactor.rules[1].minPrem) * 10000 +
'元。超过最低基本保险金额为' +
Number(riskFactor.rules[1].limit) * 10000 +
'元整数倍。'
)
this.nextStepFlag = true
} else {
this.mainRiskInfluenceAddRisk()
@@ -2680,11 +2815,23 @@
} else if (this.saleInsuredPersonInfo.insuredAge >= 0 && this.saleInsuredPersonInfo.insuredAge <= 55) {
//使用rules规则里的第一条控制保额份数
if (Number(defalutValue) < Number(riskFactor.rules[0].minPrem) || Number(defalutValue) > Number(riskFactor.rules[0].maxPrem)) {
this.$toast('0周岁-55周岁最低基本保险金额为'+ (Number(riskFactor.rules[0].minPrem) * 10000) +'元。超过最低基本保险金额为'+ (Number(riskFactor.rules[0].limit) * 10000) +'元整数倍。')
this.$toast(
'0周岁-55周岁最低基本保险金额为' +
Number(riskFactor.rules[0].minPrem) * 10000 +
'元。超过最低基本保险金额为' +
Number(riskFactor.rules[0].limit) * 10000 +
'元整数倍。'
)
this.nextStepFlag = true
} else {
if ((Number(defalutValue) * 10000) % (Number(currentEle.limit) * 10000) != 0) {
this.$toast('0周岁-55周岁最低基本保险金额为'+ (Number(riskFactor.rules[0].minPrem) * 10000) +'元。超过最低基本保险金额为'+ (Number(riskFactor.rules[0].limit) * 10000) +'元整数倍。')
this.$toast(
'0周岁-55周岁最低基本保险金额为' +
Number(riskFactor.rules[0].minPrem) * 10000 +
'元。超过最低基本保险金额为' +
Number(riskFactor.rules[0].limit) * 10000 +
'元整数倍。'
)
this.nextStepFlag = true
} else {
this.mainRiskInfluenceAddRisk()
@@ -2695,10 +2842,9 @@
}
}
// 国富人寿富桂金生养老年金保险GFRS_M0053中介渠道鑫享金生养老年金保险GFRS_M0061
}
else if (productCode == 'GFRS_M0053' || productCode == 'GFRS_M0061') {
} else if (productCode == 'GFRS_M0053' || productCode == 'GFRS_M0061') {
if (Number(defalutValue) < Number(min)) {
if (riskFactor.yearWay == "一次性交清") {
if (riskFactor.yearWay == '一次性交清') {
this.$toast(`交费期间为${riskFactor.yearWay}时,最低保费为${Number(min) * Number(riskFactor.moneyUnit)}元`)
} else {
this.$toast(`交费期间为${riskFactor.yearWay}年交时,最低保费为${Number(min) * Number(riskFactor.moneyUnit)}元`)
@@ -2710,18 +2856,31 @@
currentEle['amt'] = Number(defalutValue) * Number(riskFactor.moneyUnit)
this.getTrial()
}
}
else if (productCode == 'GFRS_M0076') {
} else if (productCode == 'GFRS_M0076') {
if (this.saleInsuredPersonInfo.insuredAge >= 51 && this.saleInsuredPersonInfo.insuredAge <= 60) {
//使用rules规则里的第二条控制保额份数
// 年龄在51周岁及以上被保险人投保本险种时最低基本保险金额为10000元。超过最低基本保险金额为10000元整数倍。
if (Number(defalutValue) < Number(riskFactor.rules[1].minPrem) || Number(defalutValue) > Number(riskFactor.rules[1].maxPrem)) {
this.$toast('51周岁-60周岁最低基本保险金额为'+ (Number(riskFactor.rules[1].minPrem) * 10000) +'元,最高投保金额为'+ (Number(riskFactor.rules[1].maxPrem) * 10000) +'元。')
this.$toast(
'51周岁-60周岁最低基本保险金额为' +
Number(riskFactor.rules[1].minPrem) * 10000 +
'元,最高投保金额为' +
Number(riskFactor.rules[1].maxPrem) * 10000 +
'元。'
)
this.nextStepFlag = true
} else {
if ((Number(defalutValue) * 10000) % (Number(currentEle.limit) * 10000) != 0) {
// this.defalutAmt = currentEle.rules[productIndex].displayAmount
this.$toast('51周岁-60周岁最低基本保险金额为'+ (Number(riskFactor.rules[1].minPrem) * 10000) +'元,最高投保金额为'+ (Number(riskFactor.rules[1].maxPrem) * 10000) +'元。超过最低基本保险金额为'+ (Number(riskFactor.rules[1].limit) * 10000) +'元整数倍。')
this.$toast(
'51周岁-60周岁最低基本保险金额为' +
Number(riskFactor.rules[1].minPrem) * 10000 +
'元,最高投保金额为' +
Number(riskFactor.rules[1].maxPrem) * 10000 +
'元。超过最低基本保险金额为' +
Number(riskFactor.rules[1].limit) * 10000 +
'元整数倍。'
)
this.nextStepFlag = true
} else {
this.mainRiskInfluenceAddRisk()
@@ -2733,11 +2892,25 @@
} else if (this.saleInsuredPersonInfo.insuredAge >= 0 && this.saleInsuredPersonInfo.insuredAge <= 50) {
//使用rules规则里的第一条控制保额份数
if (Number(defalutValue) < Number(riskFactor.rules[0].minPrem) || Number(defalutValue) > Number(riskFactor.rules[0].maxPrem)) {
this.$toast('出生满 28 天至 50周岁最低基本保险金额为'+ (Number(riskFactor.rules[0].minPrem) * 10000) +'元,最高投保金额为'+ (Number(riskFactor.rules[0].maxPrem) * 10000) +'元。')
this.$toast(
'出生满 28 天至 50周岁最低基本保险金额为' +
Number(riskFactor.rules[0].minPrem) * 10000 +
'元,最高投保金额为' +
Number(riskFactor.rules[0].maxPrem) * 10000 +
'元。'
)
this.nextStepFlag = true
} else {
if ((Number(defalutValue) * 10000) % (Number(currentEle.limit) * 10000) != 0) {
this.$toast('出生满 28 天至 50周岁最低基本保险金额为'+ (Number(riskFactor.rules[0].minPrem) * 10000) +'元,最高投保金额为'+ (Number(riskFactor.rules[0].maxPrem) * 10000) +'元。超过最低基本保险金额为'+ (Number(riskFactor.rules[0].limit) * 10000) +'元整数倍。')
this.$toast(
'出生满 28 天至 50周岁最低基本保险金额为' +
Number(riskFactor.rules[0].minPrem) * 10000 +
'元,最高投保金额为' +
Number(riskFactor.rules[0].maxPrem) * 10000 +
'元。超过最低基本保险金额为' +
Number(riskFactor.rules[0].limit) * 10000 +
'元整数倍。'
)
this.nextStepFlag = true
} else {
this.mainRiskInfluenceAddRisk()
@@ -2746,8 +2919,7 @@
}
}
}
}
else if (productCode == 'GFRS_M0083' || productCode == 'GFRS_M0085') {
} else if (productCode == 'GFRS_M0083' || productCode == 'GFRS_M0085') {
if (this.isFrom != 'proposal') {
if (!this.policyNo && defalutValue < 5) {
this.$toast('单独投保保费为大于等于50000元')
@@ -2762,25 +2934,20 @@
this.$toast('保费最小100元')
}
}
}
else if (productCode == 'GFRS_M0087') {
} else if (productCode == 'GFRS_M0087') {
if (this.saleInsuredPersonInfo.insuredAge >= 18 && this.saleInsuredPersonInfo.insuredAge <= 40) {
currentEle['maxAmt'] = 70
}
else if(this.saleInsuredPersonInfo.insuredAge>=41 && this.saleInsuredPersonInfo.insuredAge <= 45) {
} else if (this.saleInsuredPersonInfo.insuredAge >= 41 && this.saleInsuredPersonInfo.insuredAge <= 45) {
currentEle['maxAmt'] = 50
}
else if(this.saleInsuredPersonInfo.insuredAge>=46 && this.saleInsuredPersonInfo.insuredAge <= 50) {
} else if (this.saleInsuredPersonInfo.insuredAge >= 46 && this.saleInsuredPersonInfo.insuredAge <= 50) {
currentEle['maxAmt'] = 40
}
else if(this.saleInsuredPersonInfo.insuredAge>=51 && this.saleInsuredPersonInfo.insuredAge <= 60) {
} else if (this.saleInsuredPersonInfo.insuredAge >= 51 && this.saleInsuredPersonInfo.insuredAge <= 60) {
currentEle['maxAmt'] = 30
}
this.getTrial()
}
else if (this.isTrial === '0' && this.chooseProducts[productIndex].isMainRisk == '0') {
} else if (this.isTrial === '0' && this.chooseProducts[productIndex].isMainRisk == '0') {
if (Number(defalutValue) < Number(min)) {
if (riskFactor.yearWay == "一次性交清") {
if (riskFactor.yearWay == '一次性交清') {
this.$toast(`交费期间为${riskFactor.yearWay}时,最低保费为${Number(min) * Number(riskFactor.moneyUnit)}元`)
} else {
this.$toast(`交费期间为${riskFactor.yearWay}年交时,最低保费为${Number(min) * Number(riskFactor.moneyUnit)}元`)
@@ -2799,8 +2966,7 @@
}
}
//其他产品按照原先的逻辑判断
}
else if (this.isTrial === '0' && this.chooseProducts[productIndex].isMainRisk == '1') {
} else if (this.isTrial === '0' && this.chooseProducts[productIndex].isMainRisk == '1') {
if (Number(defalutValue) < Number(min) || Number(defalutValue) > Number(max)) {
this.$toast('投保本险种最低基本保险金额为10000元超过最低基本保险金额为1000元整数倍')
this.nextStepFlag = true
@@ -2815,8 +2981,7 @@
this.getTrial()
}
}
}
else {
} else {
if (Number(defalutValue) < Number(min) || Number(defalutValue) > Number(max)) {
this.$toast(showHint)
this.nextStepFlag = true
@@ -2891,7 +3056,7 @@
if (this.$route.query.insuanceIdInfo) {
let thismyinsuanceIdInfo = JSON.parse(this.$route.query.insuanceIdInfo)
thismyinsuanceIdInfo.forEach(item01=>{
thismyinsuanceIdInfo.forEach((item01) => {
if (item01.riskCode == item.productCode) {
insuanceId = item01.insuanceId
}
@@ -2973,7 +3138,13 @@
this.trialInfos[index].amt = this.trialList[index].amt
}
// GFRS_A0009,GFRS_A0010 这两款时,责任保额不相加
if(item.productCode == 'GFRS_A0009' || item.productCode == 'GFRS_A0010' || item.productCode == 'GFRS_A0013'|| item.productCode == 'GFRS_A0014' || item.productCode == 'GFRS_M0077'){
if (
item.productCode == 'GFRS_A0009' ||
item.productCode == 'GFRS_A0010' ||
item.productCode == 'GFRS_A0013' ||
item.productCode == 'GFRS_A0014' ||
item.productCode == 'GFRS_M0077'
) {
this.trialInfos[index].amt = this.trialList[index].duty[0].amt
}
// GFRS_A0011-附加两全 属于非豁免险 但附加两全保额=主险年交保费+其他不带豁免责任的长期期交附加险年交保费
@@ -2996,8 +3167,16 @@
}
//国富人寿桂企保重大疾病保险产品专写
this.trialInfos.map((v, i) => {
if (v.productCode == 'GFRS_M0024' || v.productCode == 'GFRS_M0040' || v.productCode == 'GFRS_M0044'
|| v.productCode == 'GFRS_M0046'|| v.productCode == 'GFRS_M0051'|| v.productCode == 'GFRS_M0057' || v.productCode == 'GFRS_M0073'|| v.productCode == 'GFRS_M0077') {
if (
v.productCode == 'GFRS_M0024' ||
v.productCode == 'GFRS_M0040' ||
v.productCode == 'GFRS_M0044' ||
v.productCode == 'GFRS_M0046' ||
v.productCode == 'GFRS_M0051' ||
v.productCode == 'GFRS_M0057' ||
v.productCode == 'GFRS_M0073' ||
v.productCode == 'GFRS_M0077'
) {
delete riskDTOLst[i].duty
}
})
@@ -3022,11 +3201,11 @@
// 富娃娃&一年定寿交费方式,交费区间固定为月交
if (this.richChildrenFlag) {
let product = params.orderDTO.insuredDTOs[0].riskDTOLst.find(item => {
let product = params.orderDTO.insuredDTOs[0].riskDTOLst.find((item) => {
return item.productCode === 'GFRS_M0015'
})
if (product) {
let trialProduct = params.orderDTO.insuredDTOs[0].riskDTOLst.find(item => {
let trialProduct = params.orderDTO.insuredDTOs[0].riskDTOLst.find((item) => {
return item.productCode === 'GFRS_A0006'
})
if (trialProduct) {
@@ -3042,9 +3221,9 @@
if (localStorage.isFrom == 'proposal') {
// 从建议书进入, 豁免险保费空值特殊处理
let prdCodes = ['GFRS_A0001', 'GFRS_A0007']
params.orderDTO.insuredDTOs[0].riskDTOLst.forEach(item => {
params.orderDTO.insuredDTOs[0].riskDTOLst.forEach((item) => {
if (prdCodes.includes(item.productCode)) {
this.trialList.forEach(element => {
this.trialList.forEach((element) => {
if (item.productCode == element.productCode) {
item.amt = element.amt
}
@@ -3052,11 +3231,9 @@
}
})
resultData = await saveProposal(params)
}
else if (isFrom != 'orderTrial' && localStorage.isFrom == 'sale') {
} else if (isFrom != 'orderTrial' && localStorage.isFrom == 'sale') {
resultData = await saveOrUpdateOrderInfo(params)
}
else if (isFrom == 'orderTrial' && localStorage.isFrom == 'sale') {
} else if (isFrom == 'orderTrial' && localStorage.isFrom == 'sale') {
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
@@ -3066,11 +3243,11 @@
resultData = await orderTrial(params)
}
if (resultData.result == 0) {
window.localStorage.removeItem("editproposaladdrisk")
window.localStorage.removeItem('editproposaladdrisk')
//电投
if (isFrom != 'orderTrial' && localStorage.isFrom == 'sale') {
if (resultData.deleteFlag == '0') {
localStorage.salePageFlag = '3';
localStorage.salePageFlag = '3'
}
let thismyurl = ''
if (this.$route.query.orderNo) {
@@ -3090,17 +3267,15 @@
path: '/common/selectedProduct' + thismyurl
}
})
}
else if (localStorage.isFrom == 'proposal'){
} else if (localStorage.isFrom == 'proposal') {
let proposalOrderNo = this.$CacheUtils.getLocItem('proposalNo') || ''
if (resultData.content.id) {
this.saleInsuredPersonInfo.insuredId = resultData.content.id;
this.saleInsuredPersonInfo.insuredId = resultData.content.id
this.$CacheUtils.setLocItem('saleInsuredPersonInfo', JSON.stringify(this.saleInsuredPersonInfo))
}
//试算记录保存更新--编辑
this.saveOrUpdateTrialRecordInfoFunc(resultData.content.riskDTO)
}
else if (isFrom == 'orderTrial' && localStorage.isFrom == 'sale') {
} else if (isFrom == 'orderTrial' && localStorage.isFrom == 'sale') {
this.$toast.clear()
this.trialResultsShow = true
this.verifyResultList = resultData.content.data.verifyResultList
@@ -3110,7 +3285,7 @@
//建议书试算记录保存更新--编辑功能
saveOrUpdateTrialRecordInfoFunc(riskDTO) {
let insuanceId
riskDTO.forEach(item => {
riskDTO.forEach((item) => {
if (item.isMainRisk == '0') {
insuanceId = item.insuanceId
}
@@ -3123,7 +3298,7 @@
if (this.trialRecordInfoId) {
data.id = this.trialRecordInfoId
}
saveOrUpdateTrialRecordInfo(data).then(res => {
saveOrUpdateTrialRecordInfo(data).then((res) => {
if (res.result == '0') {
//被保人产品列表界面 点击编辑按钮进入产品试算界面 点击完成 页面跳转不正确
let proposalOrderNo = ''
@@ -3196,7 +3371,7 @@
/deep/ .van-button--plain {
border: none !important;
border-top: 1px solid #E9332E !important;
border-top: 1px solid #e9332e !important;
}
.renewalWrappser {
display: flex;

View File

@@ -553,6 +553,9 @@ export default {
item['amt'] = Number(item.minAmt) * Number(item.moneyUnit)
}
}
}else if(item.type==5){
// 单元格用于展示文案从extra中获取
item['showContent'] = item.extra
}
//规则储存
item['rules'] = productTrialInfoDTO[item.code]