mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-11 07:26:44 +08:00
投保首页各教育阶段年龄显示需修订及系统加入被保险人年龄识别限制
This commit is contained in:
@@ -1037,6 +1037,17 @@ export default {
|
|||||||
text: '港澳台居民居住证'
|
text: '港澳台居民居住证'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
//投保人证件类型
|
||||||
|
insuredIdTypeSpecial: [
|
||||||
|
{
|
||||||
|
id: 1,
|
||||||
|
text: '居民身份证'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: 2,
|
||||||
|
text: '户口本'
|
||||||
|
}
|
||||||
|
],
|
||||||
// 卡单投保人证件类型
|
// 卡单投保人证件类型
|
||||||
cardListInsuredIdType: [
|
cardListInsuredIdType: [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -93,6 +93,7 @@
|
|||||||
right-icon="arrow"
|
right-icon="arrow"
|
||||||
/>
|
/>
|
||||||
<van-field
|
<van-field
|
||||||
|
v-if="itemProductDTOS.productCode =='GFRS_M0032'"
|
||||||
v-model="userInfo.averageAnnualIncome"
|
v-model="userInfo.averageAnnualIncome"
|
||||||
label="平均年收入(万元)"
|
label="平均年收入(万元)"
|
||||||
name="平均年收入"
|
name="平均年收入"
|
||||||
@@ -253,6 +254,7 @@
|
|||||||
/>
|
/>
|
||||||
<select-radio v-show="showField" :radios="medicalRadio" label="有无社保" name="有无社保" :value.sync="medical"></select-radio>
|
<select-radio v-show="showField" :radios="medicalRadio" label="有无社保" name="有无社保" :value.sync="medical"></select-radio>
|
||||||
<van-field
|
<van-field
|
||||||
|
v-if="itemProductDTOS.productCode =='GFRS_M0032'"
|
||||||
v-model="insuredInfo.averageAnnualIncome"
|
v-model="insuredInfo.averageAnnualIncome"
|
||||||
label="平均年收入(万元)"
|
label="平均年收入(万元)"
|
||||||
name="平均年收入"
|
name="平均年收入"
|
||||||
@@ -374,6 +376,7 @@
|
|||||||
/>
|
/>
|
||||||
<select-radio v-show="showField" :radios="medicalRadio" label="有无社保" name="有无社保" :value.sync="medical"></select-radio>
|
<select-radio v-show="showField" :radios="medicalRadio" label="有无社保" name="有无社保" :value.sync="medical"></select-radio>
|
||||||
<van-field
|
<van-field
|
||||||
|
v-if="itemProductDTOS.productCode =='GFRS_M0032'"
|
||||||
v-model="userInfo.averageAnnualIncome"
|
v-model="userInfo.averageAnnualIncome"
|
||||||
label="平均年收入(万元)"
|
label="平均年收入(万元)"
|
||||||
name="平均年收入"
|
name="平均年收入"
|
||||||
@@ -490,11 +493,11 @@
|
|||||||
>总保费:<span style="color: red; font-weight: bold; font-size: 18px; font-weight: 400">{{ allPrice }}</span
|
>总保费:<span style="color: red; font-weight: bold; font-size: 18px; font-weight: 400">{{ allPrice }}</span
|
||||||
>元</van-button
|
>元</van-button
|
||||||
>
|
>
|
||||||
<van-goods-action-button type="danger" text="立即投保" @click="showDialogMethond" v-no-more-click="1000" style="border-radius: 0em; width: 50%; height: 40px" />
|
<van-goods-action-button type="danger" text="立即投保" @click="nextStep" v-no-more-click="1000" style="border-radius: 0em; width: 50%; height: 40px" />
|
||||||
</van-goods-action>
|
</van-goods-action>
|
||||||
<van-dialog v-model="showDialog" title="温馨提示" message="被保险人年龄与所投保的方案不一致,请核实。" show-cancel-button @confirm="nextStep" confirmButtonText="继续投保" cancelButtonText="核对信息">
|
<!-- <van-dialog v-model="showDialog" title="温馨提示" message="被保险人年龄与所投保的方案不一致,请核实。" show-cancel-button @confirm="nextStep" confirmButtonText="继续投保" cancelButtonText="核对信息"> -->
|
||||||
|
|
||||||
</van-dialog>
|
<!-- </van-dialog> -->
|
||||||
<!-- 职业类别弹窗 -->
|
<!-- 职业类别弹窗 -->
|
||||||
<van-popup v-model="occupationShowPicker" position="bottom">
|
<van-popup v-model="occupationShowPicker" position="bottom">
|
||||||
<occupation-for-loop @chooseOccupation="chooseOccupation" :name="occupationName" :code="occupationCode"></occupation-for-loop>
|
<occupation-for-loop @chooseOccupation="chooseOccupation" :name="occupationName" :code="occupationCode"></occupation-for-loop>
|
||||||
@@ -695,7 +698,7 @@ export default {
|
|||||||
occupationCode: '',
|
occupationCode: '',
|
||||||
occupationName: '',
|
occupationName: '',
|
||||||
itemProductDTOS: JSON.parse(CacheUtils.getLocItem('itemProductDTOS')), //
|
itemProductDTOS: JSON.parse(CacheUtils.getLocItem('itemProductDTOS')), //
|
||||||
showDialog:false,
|
// showDialog:false,
|
||||||
showField:false,
|
showField:false,
|
||||||
medical:'1',
|
medical:'1',
|
||||||
firstOr:'0',
|
firstOr:'0',
|
||||||
@@ -1000,7 +1003,13 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
} else if (pickerType == '22') {
|
} else if (pickerType == '22') {
|
||||||
this.columns = DataDictionary.idType
|
//2516--三个学平险--被保险人身份信息选择仅保留“身份证、户口本”,目前选择户口本仍要填写身份证到期
|
||||||
|
//时间,如果选择户口本项,默认为长期。
|
||||||
|
if(this.itemProductDTOS.productCode == 'GFRS_M0048' || this.itemProductDTOS.productCode == 'GFRS_M0049'|| this.itemProductDTOS.productCode == 'GFRS_M0050'){
|
||||||
|
this.columns = DataDictionary.insuredIdTypeSpecial
|
||||||
|
}else{
|
||||||
|
this.columns = DataDictionary.insuredIdType
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
//确认选择字段
|
//确认选择字段
|
||||||
@@ -1056,10 +1065,18 @@ export default {
|
|||||||
//value.id 1 居民身份证 todo
|
//value.id 1 居民身份证 todo
|
||||||
if (value.id != '1') {
|
if (value.id != '1') {
|
||||||
this.effectiveDateTypeAbleInsured = false
|
this.effectiveDateTypeAbleInsured = false
|
||||||
|
//2516--三个学平险--被保险人身份信息选择仅保留“身份证、户口本”,目前选择户口本仍要填写身份证到期
|
||||||
|
//时间,如果选择户口本项,默认为长期。
|
||||||
|
if(this.itemProductDTOS.productCode == 'GFRS_M0048' || this.itemProductDTOS.productCode == 'GFRS_M0049'|| this.itemProductDTOS.productCode == 'GFRS_M0050'){
|
||||||
|
this.insuredInfo.effectiveDateType = true
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if (this.userInfo.birthday) {
|
//身份证
|
||||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
if (this.insuredInfo.birthday) {
|
||||||
|
let age = utilsAge.getAge(this.insuredInfo.birthday, new Date())
|
||||||
this.effectiveDateTypeAbleInsured = !(age >= 45)
|
this.effectiveDateTypeAbleInsured = !(age >= 45)
|
||||||
|
//身份证,年龄小于等于45,不可选长期
|
||||||
|
this.insuredInfo.effectiveDateType = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.insuredInfo.idType = value.id
|
this.insuredInfo.idType = value.id
|
||||||
@@ -1252,9 +1269,10 @@ export default {
|
|||||||
this.userInfo.homeAddress = data.homeAddress //家庭详细地址
|
this.userInfo.homeAddress = data.homeAddress //家庭详细地址
|
||||||
this.userInfo.occupationCode = data.occupationCode
|
this.userInfo.occupationCode = data.occupationCode
|
||||||
this.userInfo.occupationName = data.occupationName
|
this.userInfo.occupationName = data.occupationName
|
||||||
|
|
||||||
this.userInfo.lifeGrade = data.lifeGrade
|
this.userInfo.lifeGrade = data.lifeGrade
|
||||||
this.userInfo.healthGrade = data.healthGrade
|
this.userInfo.healthGrade = data.healthGrade
|
||||||
this.userInfo.averageAnnualIncome = data.averageYearlyIncome //平均年收入
|
this.userInfo.averageAnnualIncome = this.itemProductDTOS.productCode== 'GFRS_M0032'?data.averageYearlyIncome:'' //平均年收入
|
||||||
this.userInfo.nativeplace = data.country
|
this.userInfo.nativeplace = data.country
|
||||||
this.userInfo.marriage = data.marryStatus
|
this.userInfo.marriage = data.marryStatus
|
||||||
// 计算年龄
|
// 计算年龄
|
||||||
@@ -1286,13 +1304,25 @@ export default {
|
|||||||
this.insuredInfo.homeName = getAreaName([{ code: data.homeProvince }, { code: data.homeCity }, { code: data.homeArea }]) //家庭地址
|
this.insuredInfo.homeName = getAreaName([{ code: data.homeProvince }, { code: data.homeCity }, { code: data.homeArea }]) //家庭地址
|
||||||
}
|
}
|
||||||
this.insuredInfo.homeAddress = data.homeAddress //家庭详细地址
|
this.insuredInfo.homeAddress = data.homeAddress //家庭详细地址
|
||||||
this.insuredInfo.occupationCode = data.occupationCode
|
//2516--三个学平险--被保险人职业类别默认学生,允许修改。
|
||||||
this.insuredInfo.occupationName = data.occupationName
|
if(this.itemProductDTOS.productCode == 'GFRS_M0048' || this.itemProductDTOS.productCode == 'GFRS_M0049'|| this.itemProductDTOS.productCode == 'GFRS_M0050'){
|
||||||
|
this.insuredInfo.occupationCode = '2099907'
|
||||||
|
this.insuredInfo.occupationName = '一般学生'
|
||||||
|
}else{
|
||||||
|
this.insuredInfo.occupationCode = data.occupationCode
|
||||||
|
this.insuredInfo.occupationName = data.occupationName
|
||||||
|
}
|
||||||
this.insuredInfo.lifeGrade = data.lifeGrade
|
this.insuredInfo.lifeGrade = data.lifeGrade
|
||||||
this.insuredInfo.healthGrade = data.healthGrade
|
this.insuredInfo.healthGrade = data.healthGrade
|
||||||
this.insuredInfo.averageAnnualIncome = data.averageYearlyIncome //平均年收入
|
//除万福卡,投保人、被保险人年收入填写项去掉,默认为0,卡产品不满足反洗钱识别线
|
||||||
|
this.insuredInfo.averageAnnualIncome = this.itemProductDTOS.productCode== 'GFRS_M0032'?data.averageYearlyIncome:'' //平均年收入
|
||||||
this.insuredInfo.nativeplace = data.country
|
this.insuredInfo.nativeplace = data.country
|
||||||
this.insuredInfo.marriage = data.marryStatus
|
//2516--三个学平险--被保险人婚姻默认未婚,允许修改
|
||||||
|
if(this.itemProductDTOS.productCode == 'GFRS_M0048' || this.itemProductDTOS.productCode == 'GFRS_M0049'|| this.itemProductDTOS.productCode == 'GFRS_M0050'){
|
||||||
|
this.insuredInfo.marriage = '2'
|
||||||
|
}else{
|
||||||
|
this.insuredInfo.marriage = data.marryStatus
|
||||||
|
}
|
||||||
// 计算年龄
|
// 计算年龄
|
||||||
let age = utilsAge.getAge(this.insuredInfo.birthday, new Date())
|
let age = utilsAge.getAge(this.insuredInfo.birthday, new Date())
|
||||||
// 长期按钮是否禁用
|
// 长期按钮是否禁用
|
||||||
@@ -1351,7 +1381,7 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||||
console.log('计算年龄', age)
|
console.log('计算年龄', age)
|
||||||
// return
|
// return
|
||||||
// 如果是未成年人
|
// 如果是未成年人
|
||||||
if (age < 18) {
|
if (age < 18) {
|
||||||
@@ -1544,27 +1574,23 @@ export default {
|
|||||||
// return this.$toast('投保人必须是具有民事行为能力且有固定职业和收入的自然人,请确定')
|
// return this.$toast('投保人必须是具有民事行为能力且有固定职业和收入的自然人,请确定')
|
||||||
// }
|
// }
|
||||||
|
|
||||||
if (this.userInfo.relationToInsured == '4') {
|
let insuredInfoAge = utilsAge.getAge(this.insuredInfo.birthday, new Date())
|
||||||
//投被保人关系是子女
|
if (this.itemProductDTOS.productCode === 'GFRS_M0048') {
|
||||||
// 被保险人的出生日期大于投保人的出生日期(即被保险人年龄小于投保人年龄)点击【下一步】提示“当前被保险人是投保人的子女,被保险人年龄需小于投保人年龄。
|
//幼儿园:3岁≤被保险人≤7岁
|
||||||
if (age > insuredAge) {
|
if(insuredInfoAge<3||insuredInfoAge>7){
|
||||||
return this.$toast('当前投保人是被保险人的子女,投保人年龄需小于被保险人年龄')
|
return this.$toast('被保险人年龄应为3岁-7岁,请重新选择。')
|
||||||
}
|
}
|
||||||
} else if (this.userInfo.relationToInsured == '3') {
|
}else if (this.itemProductDTOS.productCode === 'GFRS_M0049') {
|
||||||
//投被保人关系是父母
|
//义务教育:5岁≤被保险人≤18岁
|
||||||
// 被保险人的出生日期小于投保人的出生日期(即被保险人年龄大于投保人年龄)点击【下一步】提示“当前被保险人是投保人的父母,被保险人年龄需大于投保人年龄。
|
if(insuredInfoAge<5||insuredInfoAge>18){
|
||||||
if (age < insuredAge) {
|
return this.$toast('被保险人年龄应为5岁-18岁,请重新选择。')
|
||||||
return this.$toast('当前投保人是被保险人的父母,投保人年龄需大于被保险人年龄')
|
}
|
||||||
|
}else if (this.itemProductDTOS.productCode === 'GFRS_M0050') {
|
||||||
|
//高中及高等教育:15岁≤被保险人≤40岁
|
||||||
|
if(insuredInfoAge<15||insuredInfoAge>40){
|
||||||
|
return this.$toast('被保险人年龄应为15岁-40岁,请重新选择。')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (this.userInfo.relationToInsured != '1') {
|
|
||||||
//投被保人关系不是本人
|
|
||||||
//投保人和被保险人的证件信息(证件号码、证件类型)相同时,关系只能是本人,当“是投保人的”枚举为非本人(配偶、父母、子女、其他),但证件号码和本人相同,点击【下一步】提示“投保人和被保人关系不是本人,证件号码不可一致,请修改。”
|
|
||||||
if(this.userInfo.idNo == this.insuredInfo.idNo && this.userInfo.idType == this.insuredInfo.idType){
|
|
||||||
return this.$toast('投保人和被保人关系不是本人,证件号码不可一致,请修改。')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
this.infoUpdate()
|
this.infoUpdate()
|
||||||
// console.log('success')
|
// console.log('success')
|
||||||
} else {
|
} else {
|
||||||
@@ -1572,33 +1598,33 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
showDialogMethond(){
|
// showDialogMethond(){
|
||||||
let insuredInfoAge = utilsAge.getAge(this.insuredInfo.birthday, new Date())
|
// let insuredInfoAge = utilsAge.getAge(this.insuredInfo.birthday, new Date())
|
||||||
if (this.itemProductDTOS.productCode === 'GFRS_M0048') {
|
// if (this.itemProductDTOS.productCode === 'GFRS_M0048') {
|
||||||
//义务教育 含6岁以下 20岁以上 弹窗
|
// //义务教育 含6岁以下 20岁以上 弹窗
|
||||||
if(insuredInfoAge<=6||insuredInfoAge>=20){
|
// if(insuredInfoAge<=6||insuredInfoAge>=20){
|
||||||
this.showDialog=true;
|
// this.showDialog=true;
|
||||||
}else{
|
// }else{
|
||||||
this.nextStep();
|
// this.nextStep();
|
||||||
}
|
// }
|
||||||
}else if (this.itemProductDTOS.productCode === 'GFRS_M0049') {
|
// }else if (this.itemProductDTOS.productCode === 'GFRS_M0049') {
|
||||||
//幼儿园 含7岁以上
|
// //幼儿园 含7岁以上
|
||||||
if(insuredInfoAge>=7){
|
// if(insuredInfoAge>=7){
|
||||||
this.showDialog=true;
|
// this.showDialog=true;
|
||||||
}else{
|
// }else{
|
||||||
this.nextStep();
|
// this.nextStep();
|
||||||
}
|
// }
|
||||||
}else if (this.itemProductDTOS.productCode === 'GFRS_M0050') {
|
// }else if (this.itemProductDTOS.productCode === 'GFRS_M0050') {
|
||||||
//高等教育 含6岁以下
|
// //高等教育 含6岁以下
|
||||||
if(insuredInfoAge<=6){
|
// if(insuredInfoAge<=6){
|
||||||
this.showDialog=true;
|
// this.showDialog=true;
|
||||||
}else{
|
// }else{
|
||||||
this.nextStep();
|
// this.nextStep();
|
||||||
}
|
// }
|
||||||
}else{
|
// }else{
|
||||||
this.nextStep();
|
// this.nextStep();
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
//信息变更
|
//信息变更
|
||||||
infoUpdate() {
|
infoUpdate() {
|
||||||
//local 里面是否存有险种信息
|
//local 里面是否存有险种信息
|
||||||
@@ -1826,24 +1852,34 @@ export default {
|
|||||||
Object.assign(this.insuredInfo, this.userInfo)
|
Object.assign(this.insuredInfo, this.userInfo)
|
||||||
} else {
|
} else {
|
||||||
this.insuredInfo = {
|
this.insuredInfo = {
|
||||||
name: '', // 被保人姓名
|
name: '', // 被保人姓名
|
||||||
idType: '1', //被保人证件类型
|
idType: '1', //被保人证件类型
|
||||||
idNo: '', //被保人证件号码
|
idNo: '', //被保人证件号码
|
||||||
sex: '0', //被保人性别
|
sex: '0', //被保人性别
|
||||||
birthday: '', //被保人出生日期
|
birthday: '', //被保人出生日期
|
||||||
occupationCode: '', //职业代码
|
occupationCode: '', //职业代码
|
||||||
occupationName: '', //职业名称
|
occupationName: '', //职业名称
|
||||||
lifeGrade: '', //寿险等级
|
lifeGrade: '', //寿险等级
|
||||||
healthGrade: '', //健康等级
|
healthGrade: '', //健康等级
|
||||||
nativeplace: '', //国家地区
|
nativeplace: '1', //国家地区
|
||||||
marriageStatus: '', //婚姻状况
|
marriageStatus: '', //婚姻状况
|
||||||
homeProvince: '', //家庭省
|
homeProvince: '', //家庭省
|
||||||
homeCity: '', //家庭市
|
homeCity: '', //家庭市
|
||||||
homeArea: '450101', //家庭区
|
homeArea: '450101', //家庭区
|
||||||
homeName: '', //联系地址
|
homeName: '', //联系地址
|
||||||
homeAddress: '', //详细地址
|
homeAddress: '', //详细地址
|
||||||
mobile: '', //移动电话
|
mobile: '', //移动电话
|
||||||
email: '' //电子邮箱
|
email: '' //电子邮箱
|
||||||
|
}
|
||||||
|
// 2516--三款学平险--被保险人职业类别默认学生,允许修改;
|
||||||
|
// 被保险人婚姻默认未婚,允许修改
|
||||||
|
// 被保险人手机及邮箱默认投保人,允许修改
|
||||||
|
if(this.itemProductDTOS.productCode == 'GFRS_M0048' || this.itemProductDTOS.productCode == 'GFRS_M0049'|| this.itemProductDTOS.productCode == 'GFRS_M0050'){
|
||||||
|
this.insuredInfo.occupationCode = '2099907'
|
||||||
|
this.insuredInfo.occupationName = '一般学生'
|
||||||
|
this.insuredInfo.marriage = '2'
|
||||||
|
this.insuredInfo.mobile = this.userInfo.mobile
|
||||||
|
this.insuredInfo.email = this.userInfo.email
|
||||||
}
|
}
|
||||||
if (newV === 2) {
|
if (newV === 2) {
|
||||||
this.userInfo.sex === '0' ? (this.insuredInfo.sex = '1') : (this.insuredInfo.sex = '0')
|
this.userInfo.sex === '0' ? (this.insuredInfo.sex = '1') : (this.insuredInfo.sex = '0')
|
||||||
@@ -1861,11 +1897,26 @@ export default {
|
|||||||
},
|
},
|
||||||
immediate: true,
|
immediate: true,
|
||||||
deep: true
|
deep: true
|
||||||
}
|
},
|
||||||
|
'userInfo.mobile': {
|
||||||
|
handler(newV) {
|
||||||
|
this.insuredInfo.mobile = this.userInfo.mobile
|
||||||
|
},
|
||||||
|
immediate: true,
|
||||||
|
deep: true
|
||||||
|
},
|
||||||
|
'userInfo.email': {
|
||||||
|
handler(newV) {
|
||||||
|
this.insuredInfo.email = this.userInfo.email
|
||||||
|
},
|
||||||
|
immediate: true,
|
||||||
|
deep: true
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
*{ touch-action: none; }
|
||||||
.insured-info-container {
|
.insured-info-container {
|
||||||
/deep/.van-checkbox {
|
/deep/.van-checkbox {
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
|
|||||||
Reference in New Issue
Block a user