Compare commits

..

27 Commits

Author SHA1 Message Date
liu.xiaofeng@ebiz-digits.com
676224a7b4 一年期产品责任总保额不想加 2023-09-22 17:11:52 +08:00
liu.xiaofeng@ebiz-digits.com
ce15304cdb 一年期产品基本责任与可选责任保额联动功能编写 2023-09-21 14:58:24 +08:00
liu.xiaofeng@ebiz-digits.com
bd007cdccc feature【GFRS-3784】放开一年期产品责任输入保额的输入框 2023-09-01 14:00:17 +08:00
liu.xiaofeng@ebiz-digits.com
4149903e13 feature【GFRS-3784】一年期产品设置基础责任不可取消勾选代码逻辑 2023-08-23 14:13:11 +08:00
liu.xiaofeng@ebiz-digits.com
e15ccaa279 feature【GFRS-3784】修改保额根据不同被保人信息以及输入的保额数值给出不同的提示语 2023-08-22 16:03:25 +08:00
liu.xiaofeng@ebiz-digits.com
5e5e660a3d 【GFRS-3784】一年期产品的责任根据被保人信息动态设置是否可选代码逻辑 2023-08-16 10:40:16 +08:00
liu.xiaofeng@ebiz-digits.com
dbaa918f30 【GFRS-3784】利益展示页面展示的字段增加单位”元“相关字段的映射 2023-08-14 17:22:59 +08:00
liu.xiaofeng@ebiz-digits.com
cf7427ad1d 【GFRS-3784】保费试算页面 责任步进器 增加判断 产品GFRS_M0077 隐藏输入框
【GFRS-3784】保费试算页面 责任步进器 增加判断 产品GFRS_M0077 根据被保人年龄以及性别设置默认选中得责任判断逻辑
2023-08-14 16:35:17 +08:00
liu.xiaofeng@ebiz-digits.com
7082d19d6a 调整卡单点击支付增加银行卡支付的逻辑 2023-07-31 17:19:56 +08:00
liu.xiaofeng@ebiz-digits.com
9a49e58faa 调整卡单点击支付加载中。。。loading的提示位置 2023-07-31 17:19:43 +08:00
liu.xiaofeng@ebiz-digits.com
8992c12004 关于紧急修改金掌桂惠桂保投保页面相关内容的申请 2023-07-31 17:19:35 +08:00
liu.xiaofeng@ebiz-digits.com
513dfa500d 试算页面关于年龄取值问题修改 2023-07-28 16:35:38 +08:00
liu.xiaofeng@ebiz-digits.com
82e9185853 试算页面修改保额保费没有变 2023-07-28 10:34:04 +08:00
liu.xiaofeng@ebiz-digits.com
9a7ee1a8a2 电子投保试算页面点击核保试算的弹窗调整说明样式2 2023-07-21 18:05:10 +08:00
liu.xiaofeng@ebiz-digits.com
24d66b823d 电子投保试算页面点击核保试算的弹窗调整说明样式 2023-07-21 18:04:58 +08:00
liu.xiaofeng@ebiz-digits.com
dc3c3707ec 在金掌桂核保试算功能页面中,去掉原来“达标”、“未达标”字段和展示,保留“绿色✔”、“红色×”(重新调整位置靠近左边一点);在展示框左下角添加说明:“绿色✔表示 未触发规则、红色×表示 触发规则”。 2023-07-21 18:04:53 +08:00
liu.xiaofeng@ebiz-digits.com
82d4d7b6d8 保费试算页面变更保额或者保费重新定义当前数据 2023-07-20 16:53:33 +08:00
liu.xiaofeng@ebiz-digits.com
3be901873c 利益展示页面去掉累计红利展示小数 2023-07-20 16:53:27 +08:00
liu.xiaofeng@ebiz-digits.com
a807027c02 利益展示页面关于年度红利展示以及累计红利展示四舍五入展示2位小数 2023-07-20 16:53:21 +08:00
liu.xiaofeng@ebiz-digits.com
baddd63819 银保_国富人寿年年丰B款两全保险(分红型)新产品 添加利益演示单位 2023-07-20 16:53:15 +08:00
liu.xiaofeng@ebiz-digits.com
51c075355d 建议书保费试算页面保存试算信息接口入参修改 2023-07-17 17:23:03 +08:00
liu.xiaofeng@ebiz-digits.com
22e821a565 客户管理证件类型截止日期校验去掉 2023-07-13 17:38:48 +08:00
liu.xiaofeng@ebiz-digits.com
3c2896dd30 投保流程投保人被保人受益人证件有效止期添加校验 2023-07-13 17:38:44 +08:00
liu.xiaofeng@ebiz-digits.com
1ba23bdcf5 不同渠道配置首页推荐产品图片 2023-07-11 16:44:18 +08:00
liu.xiaofeng@ebiz-digits.com
76c2df8948 首页更换推荐产品图片 2023-07-11 16:44:14 +08:00
liu.xiaofeng@ebiz-digits.com
0189328205 建议书编辑已选被保人页面点击下一步修改代码逻辑 并修改姓名的正则规则校验 2023-07-11 11:40:21 +08:00
liu.xiaofeng@ebiz-digits.com
1f7f86ad4e 修改配置文件 2023-07-11 11:39:26 +08:00
18 changed files with 531 additions and 729 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 259 KiB

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB

After

Width:  |  Height:  |  Size: 281 KiB

View File

@@ -559,7 +559,10 @@ export default {
)
if (insuredDTO) {
let insuredPersonAge = insuredDTO.birthday?utilsAge.getAge(insuredDTO.birthday, new Date()):insuredDTO.insuredAge
let insuredPersonAge = insuredDTO.insuredAge ? insuredDTO.insuredAge : insuredDTO.age
if(insuredDTO.birthday){
insuredPersonAge = utilsAge.getAge(insuredDTO.birthday, new Date())
}
CacheUtils.setLocItem('saleInsuredPersonInfo',
JSON.stringify({
birthday: insuredDTO.birthday,

View File

@@ -1059,36 +1059,6 @@ export default {
text: '户口本'
}
],
// 新市民身份
isNewPeopleFlag: [
{
id: 1,
text: '是'
},
{
id: 0,
text: '否'
}
],
// 新市民类型 创业、就业、子女上学、投奔子女
npType: [
{
id: 1,
text: '创业'
},
{
id: 2,
text: '就业'
},
{
id: 3,
text: '子女上学'
},
{
id: 4,
text: '投奔子女'
}
],
//出生证明
birthType: [
{
@@ -3807,6 +3777,42 @@ export default {
{
code: "GFRS_M0073__cashValue",
label: "元"
},
{
code: "currentBonus_L",
label: "元"
},
{
code: "currentBonus_M",
label: "元"
},
{
code: "riskAC_L",
label: "元"
},
{
code: "riskAC_M",
label: "元"
},
{
code: "CardiovascularCerebrovascularDiseasesInsurance",
label: "元"
},
{
code: "childrenSpecificDiseaseInsurance",
label: "元"
},
{
code: "maleSpecificDiseaseInsurance",
label: "元"
},
{
code: "femaleSpecificDiseaseInsurance",
label: "元"
},
{
code: "supplementarySpecificDiseaseInsurance",
label: "元"
}
],
// 卡单与短期险重新投保选择职业类别时,两个模块职业类型数据的排序不同,创建这个数据字典,用于在选择职业类别时,作为一个参数传入组件,

View File

@@ -62,27 +62,6 @@
<van-field v-model="userInfo.email" label="电子邮箱" name="电子邮箱" v-validate="'email'" placeholder="请输入" clearable maxlength="50" />
<van-field v-model="userInfo.stature" label="身高cm" name="身高" placeholder="请输入" clearable v-validate="'onlyNumber|stature'" maxlength="5" />
<van-field v-model="userInfo.weight" label=" 体重kg" name="体重" placeholder="请输入" clearable v-validate="'onlyNumber|avoirdupois'" />
<div class="p15 pl8 fs14" style="border-bottom: 1px solid #eee;display: flex;justify-content: space-between;align-items: center;" v-if="manageComCode == '45'">
<van-radio-group v-model="userInfo.isNewPeopleFlag" class="flex">
<label>
<i class="pr5"></i>
新市民身份
</label>
<van-radio name="1" class="ml30"></van-radio>
<van-radio name="0" class="ml20"></van-radio>
</van-radio-group>
<van-icon name="question-o" size="20" @click="isNewPeopleFlagTip"/>
</div>
<van-field
v-if="userInfo.isNewPeopleFlag == 1 && manageComCode == '45'"
:value="userInfo.npType | idToText('npType')"
readonly
label="新市民类型"
name="新市民类型"
right-icon="arrow"
placeholder="请选择"
@click="toSelect('11')"
/>
<van-field
:value="userInfo.customerType | idToText('customerType')"
readonly
@@ -217,22 +196,11 @@
<van-popup v-model="censusShow" position="bottom">
<van-area :area-list="areaList" value="110101" :columns-num="2" @confirm="sureArea($event, '3')" @cancel="areaShow = false" />
</van-popup>
<van-dialog v-model="isNewPeopleFlagTipshow" :showConfirmButton="false">
<div slot="title">
<p style="color: #E9332E;">新市民身份说明</p>
</div>
<div style="padding: 20px 30px 30px;font-size: 14px;">
<div style="line-height: 25px;">新市民是指因本人创业就业子女上学投靠子女等原因来到城镇常住未获得当地户籍或获得当地户籍不满三年的各类群体包括但不限于进城务工人员新就业大中专毕业生等</div>
</div>
<div style="text-align: center;margin-bottom: 30px;">
<van-button round type="danger" size="small" style="padding:0px 35px;font-size: 14px;" @click="isNewPeopleFlagTipshow = false">我知道了</van-button>
</div>
</van-dialog>
</div>
</template>
<script>
import {Field, CellGroup, Cell, Popup, Picker, Checkbox, Area, RadioGroup, Radio} from 'vant'
import { Field, CellGroup, Cell, Popup, Picker, Checkbox, Area } from 'vant'
import SelectRadio from '@/components/ebiz/SelectRadio'
import FieldDatePicter from '@/components/ebiz/FieldDatePicter'
import DataDictionary from '@/assets/js/utils/data-dictionary'
@@ -258,14 +226,11 @@ export default {
[FieldDatePicter.name]: FieldDatePicter,
[OccupationPicker.name]: OccupationPicker,
[SelectRadio.name]: SelectRadio,
[RadioGroup.name]: RadioGroup,
[Radio.name]: Radio,
[Area.name]: Area
},
props: ['userInfo'],
data() {
return {
isNewPeopleFlagTipshow: false,
popupShow: false,
areaShow: false, //省级联动
homeShow: false,
@@ -287,8 +252,6 @@ export default {
customerType: '',
customerSource: '',
age: '',
isNewPeopleFlag: '', //新市民身份
npType: '', //新市民类型
effectiveDateTypeAble: false, //长期按钮是否禁用
occupationShowPicker: false,
sexRadio: [
@@ -359,9 +322,6 @@ export default {
this.areaLists = areaLists
},
methods: {
isNewPeopleFlagTip(){
this.isNewPeopleFlagTipshow = true
},
selectClick() {
let title = ''
;[this.occupationShowPicker, title] = [true, '职业类别']
@@ -606,8 +566,6 @@ export default {
this.columns = DataDictionary.customerSource
} else if (pickerType == '9') {
this.columns = DataDictionary.workCondition
} else if (pickerType == '11') {
this.columns = DataDictionary.npType
}
},
//确认选择字段
@@ -644,8 +602,6 @@ export default {
;[this.userInfo.customerSource, this.customerSource] = [value.id, value.text]
} else if (this.pickerType == '9') {
;[this.userInfo.workCondition, this.workCondition] = [value.id, value.text]
} else if (this.pickerType == '11') {
;[this.userInfo.npType, this.npType] = [value.id, value.text]
}
},
//区域选择
@@ -697,12 +653,6 @@ export default {
// return
// }
this.userInfo.effectiveDateType = false
//如果录入日期早于当前日期
if (Date.parse(val) < Date.parse(new Date())) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('您的证件已过期')
}
}
break
case '2':
@@ -783,7 +733,4 @@ export default {
.van-checkbox {
margin-left: auto;
}
.isNewPeopleFlagTipClass{
margin-top: 45px;line-height: 24px;text-indent: 2em;letter-spacing: 1px;padding: 2px 10px;
}
</style>

View File

@@ -27,29 +27,29 @@ function getSearchString (key) {
}
return obj[key]
}
let apiVersion = 'v1'
// var ua = window.navigator.userAgent.toLowerCase()
// //通过正则表达式匹配ua中是否含有MicroMessenger字符串, 在微信
// if (localStorage.getItem('apiVersion')) {
// apiVersion = localStorage.getItem('apiVersion')
// } else {
// if (ua.match(/MicroMessenger/i) == 'micromessenger') {
// //report/reportList数据报表页面在浏览器可以打开了但在微信或企业微信中打开不了,接口请求不需要token
// if (window.location.href.indexOf('apiVersion') > 0) {
// apiVersion = getSearchString('apiVersion') == 'V3' ? 'v3' : 'v2';//url中apiVersion没有时为v2
// } else {
// apiVersion = 'v3'
// }
// } else {
// // 在app
// if (navigator.userAgent.indexOf('JZG_') > 0) {
// apiVersion = navigator.userAgent.split('JZG_')[1].split('/')[0].split('_')[1] == 'V3' ? 'v3' : 'v2'
// }
// }
// window.localStorage.setItem('apiVersion', apiVersion)
// }
// // 可以多个接口域名,按需添加
// console.log('环境:', process.env.VUE_APP_FLAG)
let apiVersion = 'v2'
var ua = window.navigator.userAgent.toLowerCase()
//通过正则表达式匹配ua中是否含有MicroMessenger字符串, 在微信
if (localStorage.getItem('apiVersion')) {
apiVersion = localStorage.getItem('apiVersion')
} else {
if (ua.match(/MicroMessenger/i) == 'micromessenger') {
//report/reportList数据报表页面在浏览器可以打开了但在微信或企业微信中打开不了,接口请求不需要token
if (window.location.href.indexOf('apiVersion') > 0) {
apiVersion = getSearchString('apiVersion') == 'V3' ? 'v3' : 'v2';//url中apiVersion没有时为v2
} else {
apiVersion = 'v3'
}
} else {
// 在app
if (navigator.userAgent.indexOf('JZG_') > 0) {
apiVersion = navigator.userAgent.split('JZG_')[1].split('/')[0].split('_')[1] == 'V3' ? 'v3' : 'v2'
}
}
window.localStorage.setItem('apiVersion', apiVersion)
}
// 可以多个接口域名,按需添加
console.log('环境:', process.env.VUE_APP_FLAG)
switch (process.env.VUE_APP_FLAG) {
case 'dev':
apiDomain = 'https://iagentsales-test2.e-guofu.com:5200/api/' + apiVersion // 国富api ///api/v1

View File

@@ -54,7 +54,7 @@
</template>
<script>
import { Field, GoodsAction, GoodsActionIcon, GoodsActionButton, Icon ,Collapse, CollapseItem} from 'vant'
import {Field, GoodsAction, GoodsActionIcon, GoodsActionButton, Icon, Collapse, CollapseItem, Dialog} from 'vant'
import {cardOrderDetail } from '@/api/ebiz/cardList/cardList.js'
import getAreaName from '@/assets/js/utils/getAreaNameForSale'
import afterDate from '@/assets/js/utils/getAfterDate.js'
@@ -132,14 +132,24 @@ export default {
},
methods: {
nextStep() {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/cardList/SignatureConfirmation?isGroupCard=`+this.isGroupCard
},
routerInfo: {
path: `/cardList/SignatureConfirmation?isGroupCard=`+this.isGroupCard
}
Dialog.alert({
title: '特别提醒',
messageAlign: 'left',
confirmButtonText: '确认',
message: `2023年9月1日起生效的惠桂保保单不能参保的5类既往症中增加了“神经性耳聋”敬请注意`,
})
.then(() => {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/cardList/SignatureConfirmation?isGroupCard=`+this.isGroupCard
},
routerInfo: {
path: `/cardList/SignatureConfirmation?isGroupCard=`+this.isGroupCard
}
})
})
.catch(() => {
})
}
}

View File

@@ -742,44 +742,31 @@ export default {
支付之前要先保存银行账户信息
*/
let res = await saveOrUpdateAccount(data)
// .then(res => {
console.log('res', res)
this.$toast.clear()
if (res.result == '0') {
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
Dialog.alert({
title: '特别提醒',
messageAlign: 'left',
confirmButtonText: '确认',
message: `2023年9月1日起生效的惠桂保保单不能参保的5类既往症中增加了“神经性耳聋”敬请注意`,
})
.then(() => {
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
this.acceptInsurance()
})
.catch(() => {
})
// if (!flag) {
// let rs = await this.underWrite()
// if (rs.result != '0') {
// this.$toast.clear()
// return this.$toast(rs.resultMessage)
// }
// if (rs.uwResult != '02') {
// return this.$toast(rs.message)
// }
// }
this.acceptInsurance()
} else {
this.$toast(res.resultMessage)
this.isLoading = false
}
// })
} else {
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
// if (!flag) {
// let rs = await this.underWrite()
@@ -793,7 +780,23 @@ export default {
// }
// }
this.acceptInsurance()
Dialog.alert({
title: '特别提醒',
messageAlign: 'left',
confirmButtonText: '确认',
message: `2023年9月1日起生效的惠桂保保单不能参保的5类既往症中增加了“神经性耳聋”敬请注意`,
})
.then(() => {
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
this.acceptInsurance()
})
.catch(() => {
})
}
},
// 选择微信支付校验身份证类型

View File

@@ -13,9 +13,9 @@
<van-tag type="primary" v-if="item.isMainRisk == 0" class="mr5 green" plain>主险</van-tag>
<van-tag type="primary" v-else class="mr5 green" plain>附加险</van-tag>
<span class="ml5 center fs13 flex1">{{ item.riskName }}</span>
<van-tag type="primary" v-if="item.isMainRisk == 0 && item.hasAddtionRisk && isEnterAddtionRisk" plain @click="selectAddtionRisk" class="green mr8"
></van-tag
>
<van-tag type="primary" v-if="item.isMainRisk == 0 && item.hasAddtionRisk && isEnterAddtionRisk" plain @click="selectAddtionRisk" class="green mr8">
</van-tag>
<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>
@@ -135,10 +135,10 @@
:max="dutyItem.maxDutyAmt"
:show-plus="false"
:show-minus="false"
:disabled="item.productCode == 'GFRS_A0012'"
:disabled="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)"
@blur="blurStep(dutyItem, index,item.productCode)"
@change="
dutyStepperChange(
item.calFactorLst[riskFactorIndex].rules[dutyItemIndex].defaultDutyAmt,
@@ -353,8 +353,17 @@
<van-dialog v-model="trialResultsShow" title="核保试算结果" :show-cancel-button="false">
<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=""><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=""></div>
<div>
<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="">
</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>
</div>
</van-dialog>
@@ -367,6 +376,7 @@ import { saveOrUpdateOrderInfo, getOrderDetail,orderTrial } from '@/api/ebiz/sal
import { saveProposal, getTrialRecordInfo, saveOrUpdateTrialRecordInfo } from '@/api/ebiz/proposal/proposal.js'
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";
//险种GFRS_M0016的责任的验证规则
@@ -655,6 +665,9 @@ export default {
if (this.$CacheUtils.getLocItem('saleInsuredPersonInfo')) {
this.saleInsuredPersonInfo = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo'))
this.saleInsuredPersonInfo.insuredAge = this.saleInsuredPersonInfo.insuredAge ? this.saleInsuredPersonInfo.insuredAge : this.saleInsuredPersonInfo.age
if(this.saleInsuredPersonInfo.birthday){
this.saleInsuredPersonInfo.insuredAge = utilsAge.getAge(this.saleInsuredPersonInfo.birthday, new Date())
}
if (this.isFrom == 'proposal' && !this.saleInsuredPersonInfo.name) {
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
let sex = this.saleInsuredPersonInfo.sex == '0'?'男':'女'
@@ -734,6 +747,42 @@ export default {
}
})
}
if (item.mainRiskCode == 'GFRS_M0077') {
item.calFactorLst.map((i) => {
if (i.code == 'dutyGroup') {
if(i.rules && i.rules.length != 0) {
i.rules.forEach(ii=>{
if(this.saleInsuredPersonInfo.insuredAge < 18) {
if(ii.duty == '311504'){
ii.necess = true
ii.defaultValue = '0'
} else {
ii.defaultValue = '0'
}
}else{
if(this.saleInsuredPersonInfo.sex == '0'){
if(ii.duty == '311505'){
ii.necess = true
ii.defaultValue = '0'
}
if(ii.duty == '311504' || ii.duty == '311506'){
ii.defaultValue = '0'
}
} else {
if(ii.duty == '311506'){
ii.defaultValue = '0'
ii.necess = true
}
if(ii.duty == '311504' || ii.duty == '311505'){
ii.defaultValue = '0'
}
}
}
})
}
}
})
}
if (item.mainRiskCode == 'GFRS_M0046') {
if (this.saleInsuredPersonInfo.relationToAppnt == 1) {
this.isEnterAddtionRiskListFunc()
@@ -761,25 +810,11 @@ export default {
}
}
// 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 //责任险保额=主险保费,不允许用户手动更改
// })
// }
// })
// }
//保存主险险种编号
if (item.isMainRisk == 0) {
this.mainRiskCode = item.mainRiskCode
}
})
//保存主险险种编号
if (item.isMainRisk == 0) {
this.mainRiskCode = item.mainRiskCode
}
})
if (this.mainRiskCode == 'GFRS_M0005') {
this.chooseProducts.map((item) => {
if (item.productCode == 'GFRS_A0004') {
@@ -837,91 +872,6 @@ export default {
rules.forEach((item) => {
let config = ''
config = JSON.parse(item.ruleExpression)
// let errorMsg = item.errorMsg;
// config = {
// eventName: 'GFRS_M0020_payEndYear_insuYear',
// eventType: 'onConfirm',
// funBody: [
// 'let ageMap = {',
// ' "10Y":{"30Y": 55,"70A": 55,"88A": 55},',
// ' "20Y":{ "30Y": 55, "70A": 50, "88A": 55 }, ',
// ' "30Y":{ "30Y": 45, "70A": 40, "88A": 45 },',
// '};',
// 'let payEndYear = "";',
// 'let insuYear = "";',
// 'let age = this.saleInsuredPersonInfo.insuredAge;',
// 'let parObj = {};',
// 'par.map(item => {',
// ' parObj[item.code] = item;',
// '});',
// 'if(ParKey == "payEndYear"){',
// ' payEndYear = Par.value + Par.flag;',
// ' lintAgeObj = ageMap[payEndYear];',
// ' let flag = true, num = parObj.insuYear.columns.length;',
// ' parObj.insuYear.columns.forEach(item => {',
// ' let lintAge = lintAgeObj[ item.value + item.flag ];',
// ' if( age > lintAge ){',
// ' item.disabled = true;',
// ' num = num - 1 ;',
// ' }else{',
// ' if(flag){',
// ' parObj.insuYear.insuYear = item.value;',
// ' parObj.insuYear.insuYearFlag = item.flag;',
// ' parObj.insuYear.showContent = item.text;',
// ' flag = false;',
// ' };',
// ' item.disabled = false;',
// ' };',
// ' });',
// ' if(!num){',
// ' this.errorMsg.push("被保险人年龄不符合当前所选交费期间");',
// ' payEndYear = parObj.payEndYear.payEndYear + parObj.payEndYear.payEndYearFlag;',
// ' lintAgeObj = ageMap[payEndYear];',
// ' parObj.insuYear.columns.forEach(item => {',
// ' let lintAge = lintAgeObj[ item.value + item.flag ];',
// ' if( age > lintAge ){',
// ' item.disabled = true;',
// ' }else{',
// ' item.disabled = false;',
// ' };',
// ' });',
// ' return false;',
// ' };',
// ' return true;',
// '}'],
// funPar: ['par','ParKey','Par'],
// }
// config = {
// eventName: 'GFRS_A0003_noMainCode',
// eventType: 'init',
// initBody: [
// 'for(let item of that.chooseProducts){',
// ' if(item.productCode == "GFRS_A0003"){',
// ' for(let itemC of item.calFactorLst){',
// ' if(itemC.code == "dutyGroup"){',
// ' for(let itemR of itemC.rules){',
// ' that.$emit("GFRS_A0003_noMainCode", itemR, that.mainRiskCode)',
// ' }',
// ' }',
// ' }',
// ' }',
// ' }',
// ],
// funBody: [
// 'let noMainCode = {',
// ' "GFRS_M0004" : true,',
// ' "GFRS_M0011" : true',
// '};',
// 'let noduty = {',
// ' "310101" : true',
// '};',
// 'if(noMainCode[mainRiskCode] && noduty[dutyItem.duty]){',
// ' dutyItem.necess = false;',
// ' dutyItem.isDisabled = true;',
// '}',
// ],
// funPar:['dutyItem', 'mainRiskCode'],
// }
this.$on(config.eventName, new Function(...config.funPar, config.funBody.join('')))
if (config.eventType == 'init') {
let initFn = new Function('that', config.initBody.join(''))
@@ -1237,6 +1187,23 @@ export default {
})
}
}
if (validateRiskCode === 'GFRS_M0077'){
if(dutyItem.duty == '311507' && dutyItem.necess){
this.chooseProducts.forEach(item => {
item.calFactorLst.map((i) => {
if (i.code == 'dutyGroup') {
if(i.rules && i.rules.length != 0) {
i.rules.forEach(ii=>{
if(ii.duty != '311507' && ii.necess){
dutyItem.defaultDutyAmt = ii.defaultDutyAmt
}
})
}
}
})
})
}
}
this.valiAndSend(dutyItem, productIndex)
},
valiAndSend(dutyItem, productIndex) {
@@ -1266,15 +1233,31 @@ export default {
focusStep() {
this.nextStepFlag = true
},
blurStep(dutyItem, productIndex) {
blurStep(dutyItem, productIndex, productCode) {
this.nextStepFlag = false
//失去焦点时做验证
if (dutyItem.necess) {
//勾选时才做验证
this.valiAndSend(dutyItem, productIndex)
}
},
//失去焦点时做验证
if (dutyItem.necess) {
//勾选时才做验证
this.valiAndSend(dutyItem, productIndex)
}
if(productCode == 'GFRS_M0077'){
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=>{
if(ii.duty == '311507' && ii.necess){
ii.defaultDutyAmt = dutyItem.defaultDutyAmt
}
})
}
}
})
}
})
}
},
//险种GFRS_M0016\GFRS_M0070的责任的验证规则
valiDuty(value, duty) {
if (this.mainRiskCode === 'GFRS_M0016') {
@@ -2338,7 +2321,7 @@ export default {
this.saleInsuredInfo.sex,
this.saleInsuredInfo.occupationCode,
this.saleInsuredInfo.occupationName,
this.saleInsuredInfo.insuredAge?this.saleInsuredInfo.insuredAge:this.saleInsuredInfo.age,
this.saleInsuredPersonInfo.insuredAge
]
} else {
;[birthday, sex, occupationCode, occupationName, age] = [
@@ -2346,7 +2329,7 @@ export default {
this.saleInsuredPersonInfo.sex,
this.saleInsuredPersonInfo.occupationCode,
this.saleInsuredPersonInfo.occupationName,
this.saleInsuredPersonInfo.insuredAge?this.saleInsuredPersonInfo.insuredAge:this.saleInsuredPersonInfo.age
this.saleInsuredPersonInfo.insuredAge
]
}
trialInfo = Object.assign(trialInfo, {
@@ -2404,25 +2387,161 @@ export default {
},
//保额份数变化
stepperChange(defalutValue, productIndex, calFactorIndex, min, max, riskFactor) {
let currentEle =
localStorage.isTrial !== '1' && this.chooseProducts[productIndex].isMainRisk == '0'
? this.chooseProducts[productIndex].productTrialYearDTOS[calFactorIndex]
: this.chooseProducts[productIndex].calFactorLst[calFactorIndex]
//改动原因:孝心保产品有对年龄的特殊要求
//添加判断,是否是孝心保产品
let showHint = this.chooseProducts[productIndex].hint
let productCode = localStorage.trialList == '' ? '' : JSON.parse(localStorage.trialList)[0].productCode
if (productCode == 'GFRS_M0014') {
//被保险人年龄如果在50-65区间
if (this.saleInsuredPersonInfo.insuredAge >= 50 && this.saleInsuredPersonInfo.insuredAge <= 65) {
//使用rules规则里的第二条控制保额份数
if (Number(defalutValue) < Number(riskFactor.rules[1].minPrem) || Number(defalutValue) > Number(riskFactor.rules[1].maxPrem)) {
let currentEle = ''
let params = this.getParams()
if(localStorage.isTrial !== '1' && this.chooseProducts[productIndex].isMainRisk == '0'){
// params[productIndex].payEndYear == '1000' 交费期间为一次性交清
this.chooseProducts[productIndex].productTrialYearDTOS.forEach(item=>{
if(params.trialInfos[productIndex].payEndYear == '1000') {
if(item.yearWay == '一次性交清'){
currentEle = item
}
} else {
if(item.yearWay == params.trialInfos[productIndex].payEndYear){
currentEle = item
}
}
})
} else {
currentEle = this.chooseProducts[productIndex].calFactorLst[calFactorIndex]
}
//改动原因:孝心保产品有对年龄的特殊要求
//添加判断,是否是孝心保产品
let showHint = this.chooseProducts[productIndex].hint
let productCode = localStorage.trialList == '' ? '' : JSON.parse(localStorage.trialList)[0].productCode
if (productCode == 'GFRS_M0014') {
//被保险人年龄如果在50-65区间
if (this.saleInsuredPersonInfo.insuredAge >= 50 && this.saleInsuredPersonInfo.insuredAge <= 65) {
//使用rules规则里的第二条控制保额份数
if (Number(defalutValue) < Number(riskFactor.rules[1].minPrem) || Number(defalutValue) > Number(riskFactor.rules[1].maxPrem)) {
this.$toast(showHint)
this.nextStepFlag = true
} else {
if ((Number(defalutValue) * 10000) % (Number(currentEle.limit) * 10000) != 0) {
// this.defalutAmt = currentEle.rules[productIndex].displayAmount
this.$toast(showHint)
this.nextStepFlag = true
} else {
this.mainRiskInfluenceAddRisk()
currentEle['amt'] = Number(defalutValue) * Number(currentEle.moneyUnit)
this.getTrial()
}
}
//被保险人年龄如果在66-75之间
} else if (this.saleInsuredPersonInfo.insuredAge >= 66 && this.saleInsuredPersonInfo.insuredAge <= 75) {
//使用rules规则里的第一条控制保额份数
if (Number(defalutValue) < Number(riskFactor.rules[0].minPrem) || Number(defalutValue) > Number(riskFactor.rules[0].maxPrem)) {
this.$toast(showHint)
this.nextStepFlag = true
} else {
if ((Number(defalutValue) * 10000) % (Number(currentEle.limit) * 10000) != 0) {
// this.defalutAmt = currentEle.rules[productIndex].displayAmount
this.$toast(showHint)
this.nextStepFlag = true
} else {
this.mainRiskInfluenceAddRisk()
currentEle['amt'] = Number(defalutValue) * Number(currentEle.moneyUnit)
this.getTrial()
}
}
}
//isTrial为0 ---暂时为富娃娃两全保险(万能型)专配 输入保费校验
}
else if (productCode == 'GFRS_M0035' || productCode == 'GFRS_M0044'
|| productCode == 'GFRS_M0056' || productCode == 'GFRS_M0057' || productCode == 'GFRS_M0060') {
console.log('defalutValue==', defalutValue)
console.log("currentEle['amt']==", currentEle['amt'])
console.log('riskFactor.rules', riskFactor.rules)
console.log('this.saleInsuredPersonInfo.insuredAge ', this.saleInsuredPersonInfo.insuredAge)
//被保险人年龄如果在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.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.nextStepFlag = true
} else {
this.mainRiskInfluenceAddRisk()
currentEle['amt'] = Number(defalutValue) * Number(currentEle.moneyUnit)
this.getTrial()
}
}
//年龄在0-55周岁被保险人投保本险种时最低基本保险金额为50000元超过最低基本保险金额为10000元整数倍。
} 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.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.nextStepFlag = true
} else {
this.mainRiskInfluenceAddRisk()
currentEle['amt'] = Number(defalutValue) * Number(currentEle.moneyUnit)
this.getTrial()
}
}
}
//isTrial为0 ---暂时为富娃娃两全保险(万能型)专配 输入保费校验
}
else if (productCode == 'GFRS_M0040') {
// 惠企保保额限制
//被保险人年龄如果在41-60区间
if (this.saleInsuredPersonInfo.insuredAge >= 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.insuredAge >= 0 && this.saleInsuredPersonInfo.insuredAge <= 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 (productCode == 'GFRS_M0046') {
//被保险人年龄如果在50-65区间
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.nextStepFlag = true
} else {
if ((Number(defalutValue) * 10000) % (Number(currentEle.limit) * 10000) != 0) {
// this.defalutAmt = currentEle.rules[productIndex].displayAmount
this.$toast(showHint)
this.$toast('51周岁-60周岁最低基本保险金额为'+ (Number(riskFactor.rules[1].minPrem) * 10000) +'元。超过最低基本保险金额为'+ (Number(riskFactor.rules[1].limit) * 10000) +'元整数倍。')
this.nextStepFlag = true
} else {
this.mainRiskInfluenceAddRisk()
@@ -2430,16 +2549,15 @@ export default {
this.getTrial()
}
}
//被保险人年龄如果在66-75之间
} else if (this.saleInsuredPersonInfo.insuredAge >= 66 && this.saleInsuredPersonInfo.insuredAge <= 75) {
//年龄在0-50周岁被保险人投保本险种时最低基本保险金额为50000元超过最低基本保险金额为10000元整数倍。
} 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(showHint)
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.defalutAmt = currentEle.rules[productIndex].displayAmount
this.$toast(showHint)
this.$toast('0周岁-50周岁最低基本保险金额为'+ (Number(riskFactor.rules[0].minPrem) * 10000) +'元。超过最低基本保险金额为'+ (Number(riskFactor.rules[0].limit) * 10000) +'元整数倍。')
this.nextStepFlag = true
} else {
this.mainRiskInfluenceAddRisk()
@@ -2448,17 +2566,11 @@ export default {
}
}
}
//isTrial为0 ---暂时为富娃娃两全保险(万能型)专配 输入保费校验
} else if (productCode == 'GFRS_M0035' || productCode == 'GFRS_M0044'
|| productCode == 'GFRS_M0056' || productCode == 'GFRS_M0057' || productCode == 'GFRS_M0060') {
console.log('defalutValue==', defalutValue)
console.log("currentEle['amt']==", currentEle['amt'])
console.log('riskFactor.rules', riskFactor.rules)
console.log('this.saleInsuredPersonInfo.insuredAge ', this.saleInsuredPersonInfo.insuredAge)
}else if(this.branchTypeVal == 'G' || this.branchTypeVal == 'T'|| this.branchTypeVal == 'Y' ){ //世纪无忧中介渠道规则(银销个,健销个投保规则同个险规则)
//被保险人年龄如果在50-65区间
if (this.saleInsuredPersonInfo.insuredAge >= 56 && this.saleInsuredPersonInfo.insuredAge <= 60) {
//使用rules规则里的第二条控制保额份数
// 年龄在56周岁及以上被保险人投保本险种时最低基本保险金额为10000元。超过最低基本保险金额为10000元整数倍。
// 年龄在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.nextStepFlag = true
@@ -2473,7 +2585,7 @@ export default {
this.getTrial()
}
}
//年龄在0-55周岁被保险人投保本险种时最低基本保险金额为50000元超过最低基本保险金额为10000元整数倍。
//年龄在0-50周岁被保险人投保本险种时最低基本保险金额为50000元超过最低基本保险金额为10000元整数倍。
} 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)) {
@@ -2481,7 +2593,6 @@ export default {
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.nextStepFlag = true
} else {
@@ -2491,162 +2602,35 @@ export default {
}
}
}
//isTrial为0 ---暂时为富娃娃两全保险(万能型)专配 输入保费校验
} else if (productCode == 'GFRS_M0040') {
// 惠企保保额限制
//被保险人年龄如果在41-60区间
if (this.saleInsuredPersonInfo.insuredAge >= 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.insuredAge >= 0 && this.saleInsuredPersonInfo.insuredAge <= 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()
}
}
}
// 国富人寿富桂金生养老年金保险GFRS_M0053中介渠道鑫享金生养老年金保险GFRS_M0061
}
else if (productCode == 'GFRS_M0053' || productCode == 'GFRS_M0061') {
if (Number(defalutValue) < Number(min)) {
if (riskFactor.yearWay == "一次性交清") {
this.$toast(`交费期间为${riskFactor.yearWay}时,最低保费为${Number(min) * Number(riskFactor.moneyUnit)}元`)
} else {
this.$toast(`交费期间为${riskFactor.yearWay}年交时,最低保费为${Number(min) * Number(riskFactor.moneyUnit)}元`)
}
//isTrial为0 ---暂时为富娃娃两全保险(万能型)专配 输入保费校验
} else if (productCode == 'GFRS_M0046') {
//被保险人年龄如果在50-65区间
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.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.nextStepFlag = true
} else {
this.mainRiskInfluenceAddRisk()
currentEle['amt'] = Number(defalutValue) * Number(currentEle.moneyUnit)
this.getTrial()
}
}
//年龄在0-50周岁被保险人投保本险种时最低基本保险金额为50000元超过最低基本保险金额为10000元整数倍。
} 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.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.nextStepFlag = true
} else {
this.mainRiskInfluenceAddRisk()
currentEle['amt'] = Number(defalutValue) * Number(currentEle.moneyUnit)
this.getTrial()
}
}
}
}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.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.nextStepFlag = true
} else {
this.mainRiskInfluenceAddRisk()
currentEle['amt'] = Number(defalutValue) * Number(currentEle.moneyUnit)
this.getTrial()
}
}
//年龄在0-50周岁被保险人投保本险种时最低基本保险金额为50000元超过最低基本保险金额为10000元整数倍。
} 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.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.nextStepFlag = true
} else {
this.mainRiskInfluenceAddRisk()
currentEle['amt'] = Number(defalutValue) * Number(currentEle.moneyUnit)
this.getTrial()
}
}
}
}
// 国富人寿富桂金生养老年金保险GFRS_M0053中介渠道鑫享金生养老年金保险GFRS_M0061
} else if (productCode == 'GFRS_M0053' || productCode == 'GFRS_M0061') {
if (Number(defalutValue) < Number(min)) {
if (riskFactor.yearWay == "一次性交清") {
this.$toast(`交费期间为${riskFactor.yearWay}时,最低保费为${Number(min) * Number(riskFactor.moneyUnit)}元`)
} else {
this.$toast(`交费期间为${riskFactor.yearWay}年交时,最低保费为${Number(min) * Number(riskFactor.moneyUnit)}元`)
}
this.nextStepFlag = true
}else{
this.nextStepFlag = false
this.mainRiskInfluenceAddRisk()
currentEle['amt'] = Number(defalutValue) * Number(riskFactor.moneyUnit)
this.getTrial()
}
} else if (this.isTrial === '0' && this.chooseProducts[productIndex].isMainRisk == '0') {
if (Number(defalutValue) < Number(min)) {
if (riskFactor.yearWay == "一次性交清") {
this.$toast(`交费期间为${riskFactor.yearWay}时,最低保费为${Number(min) * Number(riskFactor.moneyUnit)}元`)
} else {
this.$toast(`交费期间为${riskFactor.yearWay}年交时,最低保费为${Number(min) * Number(riskFactor.moneyUnit)}元`)
}
this.nextStepFlag = true
}else{
this.nextStepFlag = false
this.mainRiskInfluenceAddRisk()
currentEle['amt'] = Number(defalutValue) * Number(riskFactor.moneyUnit)
this.getTrial()
}
}
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.nextStepFlag = true
} else {
if ((Number(defalutValue) * 10000) % (Number(currentEle.limit) * 10000) != 0) {
// this.defalutAmt = currentEle.rules[productIndex].displayAmount
this.$toast(`超过最低保费部分金额需为1000元整数倍`)
this.nextStepFlag = true
} else {
this.nextStepFlag = false
this.mainRiskInfluenceAddRisk()
currentEle['amt'] = Number(defalutValue) * Number(riskFactor.moneyUnit)
this.getTrial()
}
}
//其他产品按照原先的逻辑判断
} 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
} else {
if ((Number(defalutValue) * 10000) % (Number(currentEle.limit) * 10000) != 0) {
// defalutValue = currentEle.rules[productIndex].displayAmount
this.$toast('投保本险种最低基本保险金额为10000元超过最低基本保险金额为1000元整数倍')
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()
@@ -2654,14 +2638,15 @@ export default {
this.getTrial()
}
}
} else {
if (Number(defalutValue) < Number(min) || Number(defalutValue) > Number(max)) {
this.$toast(showHint)
//年龄在0-50周岁被保险人投保本险种时最低基本保险金额为50000元超过最低基本保险金额为10000元整数倍。
} 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.nextStepFlag = true
} else {
if ((Number(defalutValue) * 10000) % (Number(currentEle.limit) * 10000) != 0) {
// defalutValue = currentEle.rules[productIndex].displayAmount
this.$toast(showHint)
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()
@@ -2670,11 +2655,66 @@ export default {
}
}
}
// let currentEle = this.chooseProducts[this.productIndex].calFactorLst[this.calFactorIndex]
// defalutValue = value
console.log('进来几次')
this.mult = Math.ceil(Number(defalutValue) / Number(riskFactor.defaultValue))
},
}
else if (this.isTrial === '0' && this.chooseProducts[productIndex].isMainRisk == '0') {
if (Number(defalutValue) < Number(min)) {
if (riskFactor.yearWay == "一次性交清") {
this.$toast(`交费期间为${riskFactor.yearWay}时,最低保费为${Number(min) * Number(riskFactor.moneyUnit)}元`)
} else {
this.$toast(`交费期间为${riskFactor.yearWay}年交时,最低保费为${Number(min) * Number(riskFactor.moneyUnit)}元`)
}
this.nextStepFlag = true
} else {
if ((Number(defalutValue) * 10000) % (Number(currentEle.limit) * 10000) != 0) {
// this.defalutAmt = currentEle.rules[productIndex].displayAmount
this.$toast(`超过最低保费部分金额需为1000元整数倍`)
this.nextStepFlag = true
} else {
this.nextStepFlag = false
this.mainRiskInfluenceAddRisk()
currentEle['amt'] = Number(defalutValue) * Number(riskFactor.moneyUnit)
this.getTrial()
}
}
//其他产品按照原先的逻辑判断
}
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
} else {
if ((Number(defalutValue) * 10000) % (Number(currentEle.limit) * 10000) != 0) {
// defalutValue = currentEle.rules[productIndex].displayAmount
this.$toast('投保本险种最低基本保险金额为10000元超过最低基本保险金额为1000元整数倍')
this.nextStepFlag = true
} else {
this.mainRiskInfluenceAddRisk()
currentEle['amt'] = Number(defalutValue) * Number(currentEle.moneyUnit)
this.getTrial()
}
}
}
else {
if (Number(defalutValue) < Number(min) || Number(defalutValue) > Number(max)) {
this.$toast(showHint)
this.nextStepFlag = true
} else {
if ((Number(defalutValue) * 10000) % (Number(currentEle.limit) * 10000) != 0) {
// defalutValue = currentEle.rules[productIndex].displayAmount
this.$toast(showHint)
this.nextStepFlag = true
} else {
this.mainRiskInfluenceAddRisk()
currentEle['amt'] = Number(defalutValue) * Number(currentEle.moneyUnit)
this.getTrial()
}
}
}
// let currentEle = this.chooseProducts[this.productIndex].calFactorLst[this.calFactorIndex]
// defalutValue = value
console.log('进来几次')
this.mult = Math.ceil(Number(defalutValue) / Number(riskFactor.defaultValue))
},
//下一步
async nextStep(isFrom) {
//GFRS_M0016需要验证责任
@@ -2775,6 +2815,7 @@ export default {
this.trialList[index].productCode == 'GFRS_M0051' ||
this.trialList[index].productCode == 'GFRS_M0054' ||
this.trialList[index].productCode == 'GFRS_M0073' ||
this.trialList[index].productCode == 'GFRS_M0077' ||
this.trialList[index].productCode == 'GFRS_M0057'
) {
riskItem['dutyLst'] = this.trialInfos[index].duty
@@ -2811,7 +2852,7 @@ export default {
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'){
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-附加两全 属于非豁免险 但附加两全保额=主险年交保费+其他不带豁免责任的长期期交附加险年交保费
@@ -2837,7 +2878,7 @@ export default {
//国富人寿桂企保重大疾病保险产品专写
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_M0046'|| v.productCode == 'GFRS_M0051'|| v.productCode == 'GFRS_M0057' || v.productCode == 'GFRS_M0073'|| v.productCode == 'GFRS_M0077') {
delete riskDTOLst[i].duty
}
})
@@ -2845,7 +2886,7 @@ export default {
//建议书需要添加全部投保人信息电投只需要投保人ID
let insuredDTOItem = Object.assign(this.saleInsuredPersonInfo, { riskDTOLst: riskDTOLst })
if (!insuredDTOItem.insuredAge) {
insuredDTOItem.insuredAge = insuredDTOItem.age
insuredDTOItem.insuredAge = insuredDTOItem.birthday ? utilsAge.getAge(insuredDTOItem.birthday, new Date()) : insuredDTOItem.age
}
let orderNo = localStorage.isFrom == 'proposal'?this.$route.query.proposalOrderNo:this.$route.query.orderNo
let params = {
@@ -2956,7 +2997,7 @@ export default {
}
})
let data = {
serialNo:this.$CacheUtils.getLocItem('proposalNo'),
serialNo:this.$route.query.proposalOrderNo,
mainRiskId:insuanceId+'',
trialJsonStr:localStorage.chooseProducts
}

View File

@@ -28,7 +28,7 @@
</template>
<script>
import { Field, CellGroup, Cell, RadioGroup, Radio, } from 'vant'
import { Field, CellGroup, Cell } from 'vant'
import { updateCustomerInfo } from '@/api/ebiz/customer/customer'
import formBlock from '@/components/ebiz/customer/formBlock'
@@ -84,9 +84,7 @@ export default {
homeArea: '', //家庭区
homeAddress: '', //家庭详细地址
homeZip: '', //家庭邮编
homePhone: '', //家庭电话
isNewPeopleFlag: '', //新市民身份
npType: '', //新市民类型
homePhone: '' //家庭电话
}
}
},
@@ -189,9 +187,7 @@ export default {
familyAnnualIncome: $this.userInfo.familyAnnualIncome,
province: $this.userInfo.province,
city: $this.userInfo.city,
homePhone: $this.userInfo.homePhone,
isNewPeopleFlag: $this.userInfo.isNewPeopleFlag,
npType: $this.userInfo.npType,
homePhone: $this.userInfo.homePhone
}
}
switch (data.agentCustomerInfoDTO.companyArea) {

View File

@@ -95,9 +95,7 @@ export default {
homeArea: '', //家庭区
homeAddress: '', //家庭详细地址
homeZip: '', //家庭邮编
homePhone: '', //家庭电话
isNewPeopleFlag: '', //新市民身份
npType: '', //新市民类型
homePhone: '' //家庭电话
}
}
},
@@ -180,8 +178,6 @@ export default {
$this.userInfo.homeProvince = result.homeProvince
$this.userInfo.homeCity = result.homeCity
$this.userInfo.homeArea = result.homeArea
$this.userInfo.isNewPeopleFlag = result.isNewPeopleFlag
$this.userInfo.npType = result.npType
sessionStorage.setItem('birthday', result.birthday)
sessionStorage.setItem('idType', result.customerIdType)
@@ -345,9 +341,7 @@ export default {
familyAnnualIncome: $this.userInfo.familyAnnualIncome,
province: $this.userInfo.province,
city: $this.userInfo.city,
homePhone: $this.userInfo.homePhone,
isNewPeopleFlag: $this.userInfo.isNewPeopleFlag,
npType: $this.userInfo.npType,
homePhone: $this.userInfo.homePhone
}
}
switch (data.agentCustomerInfoDTO.companyArea) {

View File

@@ -44,10 +44,10 @@
<div class="pcenter-list mr20 mb10 ml15">
<template v-if="branchType != '6'">
<div class="pcenter-item text-center">
<img src="../../../assets/images/home_cp_1.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0002')" />
<img src="../../../assets/images/home_cp_1.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0056')" />
</div>
<div class="pcenter-item text-center">
<img src="../../../assets/images/home_cp_2.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0035')" />
<img src="../../../assets/images/home_cp_2.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0072')" />
</div>
</template>
<template v-else-if="branchType == '6'">
@@ -122,10 +122,10 @@
<div class="home-product-pcenter">
<div class="pcenter-list mr20 mb10 ml15">
<div class="pcenter-item text-center">
<img src="../../../assets/images/home_cp_1.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0002')" />
<img src="../../../assets/images/home_cp_1.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0056')" />
</div>
<div class="pcenter-item text-center">
<img src="../../../assets/images/home_cp_2.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0046')" />
<img src="../../../assets/images/home_cp_2.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0072')" />
</div>
</div>
</div>

View File

@@ -4,7 +4,7 @@
</div>
</template>
<script>
import { makePdf, share, getDemo } from '@/api/ebiz/proposal/proposal.js'
import { makePdf, share } from '@/api/ebiz/proposal/proposal.js'
import { Toast } from 'vant'
import config from '@/config'
import dataDictionary from '@/assets/js/utils/data-dictionary' //使用数据字典中的险种类型
@@ -31,7 +31,7 @@ export default {
this.init()
}
},
async mounted() {
mounted() {
let riskCode = localStorage.pdfShareCode
dataDictionary.riskType.some(item => {
if (item.code == riskCode) {
@@ -39,43 +39,6 @@ export default {
return true
}
})
if(this.$route.query.proposalOrderNo){
let params = {
proposalInfoDTO: {
proposalNo: this.$route.query.proposalOrderNo
}
}
let res = await getDemo(params)
if(res.result == 0){
let mainRiskNameList = []
res.content.orderDTO.insuredDTOs.forEach(item => {
item.riskDTOLst.forEach(item01 => {
if (item01.isMainRisk == '0') {
mainRiskNameList.push(item01.riskName)
}
})
})
// 一、单个被保险人
// 1、1个主险含附加险的情况直接显示“主险产品名称”
// 2、有2个及以上主险组合建议书名称显示“保险产品组合计划”
// 二、有多个被保险人
// 都显示“家庭保障计划”
if(mainRiskNameList.length == 1){
if (res.content.orderDTO.insuredDTOs.length > 1) {
this.title = '家庭保障计划'
} else {
this.title = mainRiskNameList[0]
}
}else{
if (res.content.orderDTO.insuredDTOs.length > 1) {
this.title = '家庭保障计划'
} else {
this.title = '保险产品组合计划'
}
}
}
}
weixinShare({
title: this.title,
imgUrl: this.$assetsUrl + 'images/logo.png',

View File

@@ -4,7 +4,7 @@
<div>
<div class="mb50">
<img class="w178 h41 div_1" src="@/assets/images/proposal/proposal_logo.png" />
<div class="white fw500 fs18 div_2">{{mainRiskName}}</div>
<div class="white fw500 fs18 div_2">家庭保障计划</div>
<van-sticky @scroll="testSticky">
<div class="pl15 pt15 flex justify-content-fs align-items-c sticky_div" :class="pageShowType.isFixed ? 'divbg_1' : 'divbg_2'">
<div class="mr9 title_item" v-for="(item, index) in pageShowInfo.insuredDTOs" :key="index" @click="checkInsure(item.insuredId)">
@@ -199,7 +199,11 @@
<div class="text-left" style="width: 75%;">
<span>{{ moneyItem.contentLabel }}</span>
</div>
<div class="text-right">
<div class="text-right" v-if="moneyItem.content == 'currentBonus_M'">
<span class="color_3A81F6">{{ moneyItem.value | numFormat2 }}</span
>{{ moneyItem.content | productRateUnit }}
</div>
<div class="text-right" v-else>
<span class="color_3A81F6">{{ moneyItem.value | numFormatNo }}</span
>{{ moneyItem.content | productRateUnit }}
</div>
@@ -279,7 +283,7 @@
</div>
<div class="div_02">
<div class="text-center div_021">
<div class="text-center div_022">{{mainRiskName}}</div>
<div class="text-center div_022">家庭保障计划</div>
<!-- 如果没有姓名的话根据性别展示男士或女士 -->
<div class="text-center div_023">尊敬的<span v-if="pageShowInfo.appntDTO.name">{{ pageShowInfo.appntDTO.name.substr(0, 1) }}</span>{{ pageShowInfo.appntDTO.sex == '0' ? '先生' : '女士' }}</div>
</div>
@@ -382,7 +386,6 @@ export default {
mainRiskCodes: [],
time: 5,
proposalNo:'',
mainRiskName: ''
}
},
filters: {
@@ -396,6 +399,13 @@ export default {
numFormat(str) {
return str.replace(/\.00/, '')
},
numFormat2(str) {
if (str) {
return Number(str.replace(/,/g, '')).toFixed(2)
} else {
return '-'
}
},
numFormatNo(str) {
if (str) {
return Number(str.replace(/,/g, '')).toFixed(0)
@@ -438,7 +448,6 @@ export default {
})
}, 1000)
window['appCallBack'] = this.appCallBack*/
// init方法在微信端存储token接口请求用此token所以init方法前不要请求接口会影响分享微信功能接口会报token为空
this.init()
//校验当前用户权限
funcPermCheck({}).then(res => {
@@ -598,7 +607,7 @@ export default {
}
},
async sharePeople() {
console.log(this.pageShowInfo.insuredDTOs,'this.pageShowInfo.insuredDTOs')
console.log(this.agent,'this.agent.name')
let date = new Date()
let month = date.getMonth() + 1
if (month <= 9) {
@@ -610,34 +619,25 @@ export default {
}
let shareContent;
let resData = await queryPersonal(reqData)
// debugger
//准会员话术改为普通人话术
if(resData.content.length&&resData.content[0].slevel<3){
resData.content[0].sgrade='00'
}
if(resData.content.length&&resData.content[0].glevel<3){
resData.content[0].ggrade='00'
}
if (resData.content.length&&resData.content[0].slevel>0&&resData.content[0].sgrade&&resData.content[0].sgrade!='00') {
// if(resData.content[0].slevel<3){
// resData.content[0].sgrade='00'
// }
if(resData.content[0].slevel<3){
resData.content[0].sgrade='00'
}
let sgrade =this.memberConversion(resData.content[0].sgrade);
shareContent='国富双冠精英'+resData.content[0].slevel+''+sgrade+resData.content[0].name+'为您量身定制的保险产品请查收';
}else if (resData.content.length&&resData.content[0].glevel>0&&resData.content[0].ggrade&&resData.content[0].ggrade!='00') {
// if(resData.content[0].glevel<3){
// resData.content[0].ggrade='00'
// }
}else if (resData.content.length&&resData.content[0].glevel>0&&resData.content[0].ggrade&&!resData.content[0].sgrade&&resData.content[0].sgrade!='00') {
if(resData.content[0].glevel<3){
resData.content[0].ggrade='00'
}
let ggrade =this.memberConversion(resData.content[0].ggrade);
shareContent='国富桂冠精英'+resData.content[0].glevel+''+ggrade+resData.content[0].name+'为您量身定制的保险产品请查收';
} else {
shareContent = this.agent.name+'为您设计的专属保险计划书,请查阅!因为国富,所以民安!';
shareContent = this.agent.name+'为您设计的专属保险计划书请查阅因为国富所以民安';
}
console.log(shareContent,'shareContent')
let title
let riskList = [] //所有险种
let riskCodeList = [] //所有险种code
this.pageShowInfo.insuredDTOs.map(item => {
this.pageShowInfo.insuredDTOs.map(item => {
item.mainRisk.map(item01 => {
if (item01.isMainRisk == '0') { //主险
riskList.push(item01)
@@ -648,23 +648,11 @@ export default {
riskCodeList.push(item.riskCode)
})
let sameRisk = isAllEqual(riskCodeList)
// 一、单个被保险人
// 1、1个主险含附加险的情况直接显示“主险产品名称”
// 2、有2个及以上主险组合建议书名称显示“保险产品组合计划”
// 二、有多个被保险人
// 都显示“家庭保障计划”
// 以主险为单位,一个主险,显示主险名称。 多个主险,显示“家庭综合保障计划”,跟被保人人数无关
if(sameRisk){
if(this.pageShowInfo.insuredDTOs.length > 1){
title='家庭保障计划'
}else{
title= riskList[0].riskName
}
title= riskList[0].riskName
}else{
if(this.pageShowInfo.insuredDTOs.length > 1){
title='家庭保障计划'
}else{
title= '保险产品组合计划'
}
title='家庭综合保障计划'
}
let res = await getSharingToken({ shareType: 'proposal_demonstrate' })
if (res.result == '0') {
@@ -714,32 +702,6 @@ export default {
this.pageShowInfo.appntDTO = res.content.orderDTO.appntDTO
this.pageShowInfo.insuredDTOs = res.content.orderDTO.insuredDTOs
this.pageShowInfo.showInsuredDTO = this.pageShowInfo.insuredDTOs[0]
let mainRiskNameList = []
that.pageShowInfo.insuredDTOs.forEach(item => {
item.riskDTOLst.forEach(item01 => {
if (item01.isMainRisk == '0') {
mainRiskNameList.push(item01.riskName)
}
})
})
// 一、单个被保险人
// 1、1个主险含附加险的情况直接显示“主险产品名称”
// 2、有2个及以上主险组合建议书名称显示“保险产品组合计划”
// 二、有多个被保险人
// 都显示“家庭保障计划”
if(mainRiskNameList.length == 1){
if (this.pageShowInfo.insuredDTOs.length > 1) {
that.mainRiskName = '家庭保障计划'
} else {
that.mainRiskName = mainRiskNameList[0]
}
}else{
if (this.pageShowInfo.insuredDTOs.length > 1) {
that.mainRiskName = '家庭保障计划'
} else {
that.mainRiskName = '保险产品组合计划'
}
}
//投保人年龄
// this.pageShowInfo.appntDTO.age = getAge.getAge(this.pageShowInfo.appntDTO.birthdayLabel, new Date())
let { insuredLabelResult, insuredResult, insuredInfoResult } = res.content.calculusResDTO
@@ -929,17 +891,7 @@ export default {
},
//跳转到pdf 进入建议书后 根据建议书编码来查找相应的pdf
async goPDF() {
if(this.$route.query.proposalOrderNo){
this.$router.push({
path: '/proposal/pdf',
query: {
proposalOrderNo:this.$route.query.proposalOrderNo
}
})
}else{
this.$router.push({ path: '/proposal/pdf' })
}
this.$router.push({ path: '/proposal/pdf' })
// this.$jump({
// flag: 'h5',
// extra: {

View File

@@ -958,6 +958,11 @@ export default {
}
//证件止期
let val = this.userInfo.certiexpiredate
if (Date.parse(val) < Date.parse(new Date())) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('您的证件已过期')
}
//年龄在16周岁以下
if (age < 16) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 5) {

View File

@@ -145,29 +145,6 @@
clearable
@blur="checkAvoirdupois(userInfo.avoirdupois)"
/>
<div class="p15 pl8 fs14" style="border-bottom: 1px solid #eee;display: flex;justify-content: space-between;align-items: center;" v-if="manageComCode == '45'">
<van-radio-group v-model="userInfo.isNewPeopleFlag" class="flex">
<label>
<i class="red">*</i>
新市民身份
</label>
<van-radio name="1" class="ml30"></van-radio>
<van-radio name="0" class="ml20"></van-radio>
</van-radio-group>
<van-icon name="question-o" size="20" @click="isNewPeopleFlagTip"/>
</div>
<van-field
v-if="userInfo.isNewPeopleFlag == 1"
:value="userInfo.npType | idToText('npType')"
readonly
label="新市民类型"
name="新市民类型"
required
right-icon="arrow"
placeholder="请选择"
v-validate="'required'"
@click="toSelect('11')"
/>
<div class="p15 pl8 fs14">
<van-radio-group v-model="isElecCont" class="flex">
<label>
@@ -400,17 +377,6 @@
</van-popup> -->
<!--身份证扫描 -->
<van-popup v-model="isScan" position="bottom"><IdentityCardScan @getScanInfo="getIdentityInfo"></IdentityCardScan></van-popup>
<van-dialog v-model="isNewPeopleFlagTipshow" :showConfirmButton="false">
<div slot="title">
<p style="color: #E9332E;">新市民身份说明</p>
</div>
<div style="padding: 20px 30px 30px;font-size: 14px;">
<div style="line-height: 25px;">新市民是指因本人创业就业子女上学投靠子女等原因来到城镇常住未获得当地户籍或获得当地户籍不满三年的各类群体包括但不限于进城务工人员新就业大中专毕业生等</div>
</div>
<div style="text-align: center;margin-bottom: 30px;">
<van-button round type="danger" size="small" style="padding:0px 35px;font-size: 14px;" @click="isNewPeopleFlagTipshow = false">我知道了</van-button>
</div>
</van-dialog>
</div>
</template>
<script>
@@ -456,7 +422,6 @@ export default {
},
data() {
return {
isNewPeopleFlagTipshow: false,
renovate: '',
specilFlag: '', //特殊显示-为桂企产品专写 1-桂企 undefind-其他
productCodes: [], //产品编码-用于“产品允许投保人单位列表获取”接口,作为请求参数
@@ -560,8 +525,6 @@ export default {
// householdProvince: '', //户籍省
// householdCity: '' //户籍市
// addressStatus: '0' //是否是联系地址
isNewPeopleFlag: '', //新市民身份
npType: '', //新市民类型
},
areaList: areaList,
areaLists: areaLists,
@@ -669,9 +632,6 @@ export default {
this.areaLists = areaLists
},
methods: {
isNewPeopleFlagTip(){
this.isNewPeopleFlagTipshow = true
},
workcompanys(list) {
// 单位数据
console.log(list)
@@ -750,7 +710,7 @@ export default {
//弹框选择
toSelect(pickerType, valueKey) {
console.log(valueKey)
//pickerType 1、国家地区 2、证件类型 3、文化程度 4、有无社保(弃用) 5、税收居民身份 6、婚姻状况 7、在职情况 8、收入来源 11、新市民类型
//pickerType 1、国家地区 2、证件类型 3、文化程度 4、有无社保(弃用) 5、税收居民身份 6、婚姻状况 7、在职情况 8、收入来源
;[this.popupShow, this.pickerType] = [true, pickerType]
if (valueKey) this.valueKey = valueKey
@@ -797,9 +757,6 @@ export default {
case '10':
this.columns = DataDictionary.marriage
break
case '11':
this.columns = DataDictionary.npType
break
}
// if (pickerType == '1') {
@@ -881,8 +838,6 @@ export default {
this.userInfo.workcompany = value
} else if (this.pickerType === '10') {
this.userInfo.marriageStatus = value.text
} else if (this.pickerType === '11') {
this.userInfo.npType = value.id
}
},
//证件起始截止日期
@@ -1063,8 +1018,6 @@ export default {
this.userInfo.homeCity = data.homeCity //家庭市
this.userInfo.homeArea = data.homeArea //家庭区
this.userInfo.homeAddress = data.homeAddress //家庭详细地址
this.userInfo.isNewPeopleFlag = data.isNewPeopleFlag //新市民身份
this.userInfo.npType = data.npType //新市民类型
// this.userInfo.homeZip = data.homeZip //家庭邮编
// this.userInfo.homePhone = data.homePhone //家庭电话
// this.userInfo.householdProvince = data.province //户籍省
@@ -1089,12 +1042,6 @@ export default {
async nextStep() {
//表单校验, 成功跳转
let valid = await this.$validator.validate()
if(this.manageComCode == '45'){
if(this.userInfo.isNewPeopleFlag !== '0' || this.userInfo.isNewPeopleFlag !== '1'){
this.$toast('新市民身份不能为空')
return false
}
}
// .then(valid => {
if (true === valid) {
localStorage.chooseProductCodesNew = localStorage.chooseProductCodes
@@ -1163,7 +1110,12 @@ export default {
//身份证证件类型的判断
//证件止期
let val = this.userInfo.certiexpiredate
let val = this.userInfo.certiexpiredate
if (Date.parse(val) < Date.parse(new Date())) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('您的证件已过期')
}
//年龄在16周岁以下
if (age < 16) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 5) {
@@ -1636,8 +1588,5 @@ export default {
/deep/.van-radio {
margin-left: auto;
}
.isNewPeopleFlagTipClass{
margin-top: 45px;line-height: 24px;text-indent: 2em;letter-spacing: 1px;padding: 2px 10px;
}
}
</style>

View File

@@ -191,29 +191,6 @@
:readonly="isAppnt"
@blur="checkAvoirdupois(userInfo.avoirdupois)"
/>
<div class="p15 pl8 fs14" style="border-bottom: 1px solid #eee;display: flex;justify-content: space-between;align-items: center;" v-if="manageComCode == '45'">
<van-radio-group v-model="userInfo.isNewPeopleFlag" class="flex">
<label>
<i class="red">*</i>
新市民身份
</label>
<van-radio name="1" class="ml30"></van-radio>
<van-radio name="0" class="ml20"></van-radio>
</van-radio-group>
<van-icon name="question-o" size="20" @click="isNewPeopleFlagTip"/>
</div>
<van-field
v-if="userInfo.isNewPeopleFlag == 1"
:value="userInfo.npType | idToText('npType')"
readonly
label="新市民类型"
name="新市民类型"
required
right-icon="arrow"
placeholder="请选择"
v-validate="'required'"
@click="toSelect('11')"
/>
</van-cell-group>
<!-- 工作信息 -->
<van-cell-group class="mt5" v-if="!isScan">
@@ -463,22 +440,11 @@
<van-popup v-model="isMarriageStatusShow" position="bottom">
<van-picker show-toolbar :columns="columns" @confirm="onMarriageConfirm" @cancel="isMarriageStatusShow = false" />
</van-popup>
<van-dialog v-model="isNewPeopleFlagTipshow" :showConfirmButton="false">
<div slot="title">
<p style="color: #E9332E;">新市民身份说明</p>
</div>
<div style="padding: 20px 30px 30px;font-size: 14px;">
<div style="line-height: 25px;">新市民是指因本人创业就业子女上学投靠子女等原因来到城镇常住未获得当地户籍或获得当地户籍不满三年的各类群体包括但不限于进城务工人员新就业大中专毕业生等</div>
</div>
<div style="text-align: center;margin-bottom: 30px;">
<van-button round type="danger" size="small" style="padding:0px 35px;font-size: 14px;" @click="isNewPeopleFlagTipshow = false">我知道了</van-button>
</div>
</van-dialog>
</div>
</template>
<script>
import {Field, CellGroup, Checkbox, Popup, Picker, Area, Dialog, RadioGroup, Radio} from 'vant'
import { Field, CellGroup, Checkbox, Popup, Picker, Area, Dialog } from 'vant'
import SelectRadio from '@/components/ebiz/SelectRadio'
import FieldDatePicter from '@/components/ebiz/FieldDatePicter'
import OccupationPicker from '@/components/ebiz/occipation/OccupationPicker'
@@ -514,13 +480,10 @@ export default {
[IdentityCardScan.name]: IdentityCardScan,
[IndexBar.name]: IndexBar,
[Dialog.name]: Dialog,
[RadioGroup.name]: RadioGroup,
[Radio.name]: Radio,
SearchField,
},
data() {
return {
isNewPeopleFlagTipshow: false,
isMarriageStatusShow: false,
withRootUser: {
load: false, //防止重复请求
@@ -630,8 +593,6 @@ export default {
// householdProvince: '', //户籍省
// householdCity: '' //户籍市
// addressStatus: '' //是否是联系地址
isNewPeopleFlag: '', //新市民身份
npType: '', //新市民类型
},
areaList: areaList,
areaLists: areaLists,
@@ -822,9 +783,6 @@ export default {
this.areaLists = areaLists
},
methods: {
isNewPeopleFlagTip(){
this.isNewPeopleFlagTipshow = true
},
workcompanys(list) {
// 单位数据
console.log(list)
@@ -895,7 +853,7 @@ export default {
if (this.isAppnt && pickerType != '7') {
return
}
//pickerType 1、国家地区 2、证件类型 3、文化程度 4、有无社保(弃用) 5、税收居民身份 6、婚姻状况 7、在职情况 8、收入来源 11、新市民类型
//pickerType 1、国家地区 2、证件类型 3、文化程度 4、有无社保(弃用) 5、税收居民身份 6、婚姻状况 7、被保险人关系
;[this.popupShow, this.pickerType] = [true, pickerType]
if (valueKey) this.valueKey = valueKey
if (pickerType == '1') {
@@ -924,8 +882,6 @@ export default {
this.columns = DataDictionary.workCondition
} else if (pickerType == '9') {
this.columns = DataDictionary.salarySource
} else if (pickerType == '11') {
this.columns = DataDictionary.npType
}
},
//确认选择字段
@@ -1086,8 +1042,6 @@ export default {
this.userInfo.salarySource = value.id
} else if (this.pickerType === '10') {
this.userInfo
} else if (this.pickerType === '11') {
this.userInfo.npType = value.id
}
},
//证件起始截止日期
@@ -1362,8 +1316,6 @@ export default {
this.userInfo.homeCity = data.homeCity //家庭市
this.userInfo.homeArea = data.homeArea //家庭区
this.userInfo.homeAddress = data.homeAddress //家庭详细地址
this.userInfo.isNewPeopleFlag = data.isNewPeopleFlag //新市民身份
this.userInfo.npType = data.npType //新市民类型
// this.userInfo.homeZip = data.homeZip //家庭邮编
// this.userInfo.homePhone = data.homePhone //家庭电话
// this.userInfo.householdProvince = data.province //户籍省
@@ -1388,12 +1340,6 @@ export default {
//下一步
async nextStep() {
let valid = await this.$validator.validate()
if(this.manageComCode == '45'){
if(this.userInfo.isNewPeopleFlag == '' || this.userInfo.isNewPeopleFlag == null || this.userInfo.isNewPeopleFlag == undefined){
this.$toast('新市民身份不能为空')
return false
}
}
// .then(valid => {
if (true === valid) {
// 职业 学龄前儿童 2099908 离休人员 8000003家庭主妇 4071203无业人员 8000001
@@ -1523,6 +1469,11 @@ export default {
//证件止期
let val = this.userInfo.certiexpiredate
if (Date.parse(val) < Date.parse(new Date())) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('您的证件已过期')
}
//年龄在16周岁以下
if (age < 16) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 5) {
@@ -2154,8 +2105,5 @@ export default {
display: flex;
flex-direction: row-reverse;
}
.isNewPeopleFlagTipClass{
margin-top: 45px;line-height: 24px;text-indent: 2em;letter-spacing: 1px;padding: 2px 10px;
}
}
</style>

View File

@@ -20,8 +20,6 @@
<van-cell title="证件类型" :value="appntDTO.idTypeText" />
<van-cell title="证件号码" :value="appntDTO.idNo" />
<van-cell title="联系电话" :value="appntDTO.mobileStar" />
<!-- <van-cell title="新市民身份" v-if="manageComCode == '45'" :value="appntDTO.isNewPeopleFlagText" />-->
<!-- <van-cell v-if="appntDTO.isNewPeopleFlagText == '是' && manageComCode == '45'" title="新市民类型" :value="appntDTO.npTypeTypeText" />-->
</van-cell-group>
</van-collapse-item>
@@ -35,8 +33,6 @@
<van-cell title="证件类型" :value="item.idTypeText" />
<van-cell title="证件号码" :value="item.idNo" />
<van-cell title="联系电话" :value="item.mobile" />
<!-- <van-cell title="新市民身份" v-if="manageComCode == '45'" :value="item.isNewPeopleFlagText" />-->
<!-- <van-cell v-if="item.isNewPeopleFlagText == '是' && manageComCode == '45'" title="新市民类型" :value="item.npTypeText" />-->
</van-cell-group>
</van-collapse-item>
<div v-for="(itm, i) in item.bnfDTOs" :key="i" class="pb10">
@@ -106,7 +102,6 @@ import { getAuthCode, autchCodeCheck } from '@/api/ebiz/sale/sale'
import { checkPhone } from '@/api/ebiz/customer/customer'
import dataDictionary from '@/assets/js/utils/data-dictionary' //根据数据字典进行页面展示
import { formatAllRisk } from '@/assets/js/utils/formatRiskList'
import riskRules from '@/views/ebiz/common/risk-rules'
export default {
data() {
return {
@@ -136,7 +131,7 @@ export default {
insuredDTOs: [],
// 保单号
contNo: '',
manageComCode:'',//代理人管理机构 52贵州 45广西
list: []
}
},
@@ -155,10 +150,6 @@ export default {
// 获取保单详情
this.getPolicyDetail()
},
async mounted() {
let dataReturn = await riskRules.getAgentInfoFunc(this)
this.manageComCode = dataReturn.manageComCode
},
components: {
[Collapse.name]: Collapse,
[CollapseItem.name]: CollapseItem,
@@ -287,8 +278,6 @@ export default {
that.OrderInfoDTO = orderInfoDTO
// 投保人信息
this.filterData(dataDictionary.sex, 'sex', appntDTO)
this.filterData(dataDictionary.isNewPeopleFlag, 'isNewPeopleFlag', appntDTO)
this.filterData(dataDictionary.npType, 'isNewPeopleFlag', appntDTO)
this.filterData(dataDictionary.idType, 'idType', appntDTO)
that.appntDTO = appntDTO
this.$CacheUtils.setLocItem('saleInsuredInfo', JSON.stringify(appntDTO))
@@ -329,15 +318,11 @@ export default {
}
})
this.filterData(dataDictionary.sex, 'sex', insured)
this.filterData(dataDictionary.isNewPeopleFlag, 'isNewPeopleFlag', insured)
this.filterData(dataDictionary.npType, 'npType', insured)
this.filterData(dataDictionary.idType, 'idType', insured)
this.filterData(dataDictionary.relationToAppnt, 'relation', insured)
insured.bnfDTOs.map(bnf => {
this.filterData(dataDictionary.bnfType, 'bnfType', bnf)
this.filterData(dataDictionary.sex, 'sex', bnf)
this.filterData(dataDictionary.isNewPeopleFlag, 'isNewPeopleFlag', bnf)
this.filterData(dataDictionary.npType, 'npType', bnf)
this.filterData(dataDictionary.idType, 'idType', bnf)
this.filterData(dataDictionary.relationToAppnt, 'relation', bnf)
})