diff --git a/src/views/ebiz/cardList/information.vue b/src/views/ebiz/cardList/information.vue index a754365bd..2efd031ff 100644 --- a/src/views/ebiz/cardList/information.vue +++ b/src/views/ebiz/cardList/information.vue @@ -574,7 +574,7 @@ import OccupationPicker from '@/components/ebiz/occipation/OccupationPicker' import CustomerPicker from '@/components/ebiz/customer/CustomerPicker' import DataDictionary from '@/assets/js/utils/data-dictionary' import areaList from '@/assets/js/utils/areaForSale' -import { saveOrUpdateCard } from '@/api/ebiz/cardList/cardList.js' +import { getProductInfo,saveOrUpdateCard } from '@/api/ebiz/cardList/cardList.js' import { underWrite } from '@/api/ebiz/sale/sale' import utilsAge from '@/assets/js/utils/age' import getAreaName from '@/assets/js/utils/getAreaNameForSale' @@ -589,6 +589,7 @@ import { selectComp, getIdentityInfo } from './js/methods' import dateUtils from '@/assets/js/utils/date-utils' import Vue from 'vue' import { GoodsAction, GoodsActionIcon, GoodsActionButton } from 'vant' +import riskRules from '../common/risk-rules' DataDictionary.relationToAppnt = DataDictionary.relationToAppnt.slice(0, 4) Vue.use(Checkbox).use(CheckboxGroup) @@ -757,9 +758,11 @@ export default { }, occupationalType: DataDictionary.queryOccupationalByType[0].id, isInsuredCertiexpiredate:true, //被保人有效止期是否显示 + trialDTOS:[] //产品详情信息 } }, created() { + this.getProductDetail() // document.body.style.backgroundColor = '#F5F5F5' //如果是编辑进来 // if (this.$route.query.edit) { @@ -893,6 +896,25 @@ export default { } }, methods: { + async getProductDetail() { + let that = this + let data = { + platform: 'app', + productCodes: [that.chooseProducts[0].productCode], + type: '1', + } + await getProductInfo(data) + .then((res) => { + if (res.result == 0) { + this.trialDTOS = res.trialDTOS[0] + } else { + this.$toast(res.resultMessage) + } + }) + .catch((err) => { + console.log('errerr', err) + }) + }, //长期状态改变时 effectiveDataTypeChange(val) { //勾选长期状态时,证件截止日期置空 @@ -919,6 +941,14 @@ export default { */ chooseOccupation(data) { let { code, name, healthGrade, lifeGrade } = data + //校验主合同被保险人寿险职业等级 + //投保同人时,验证投保人职业,投被不同人时验证被保人职业 + if(!(this.userInfo.relationToInsured != 1 && this.insureType === '1')){ + if (riskRules.lifeGradeLimitCard(this.trialDTOS, this, lifeGrade)) { + return + } + } + this.$jump({ flag: 'navigation', extra: { @@ -927,6 +957,7 @@ export default { } }) this.occupationShowPicker = false + // insureType '1'为投保人 '2'为被投保人 if (this.insureType === '1') { this.userInfo.occupationName = name this.userInfo.occupationCode = code diff --git a/src/views/ebiz/common/risk-rules.js b/src/views/ebiz/common/risk-rules.js index 11e1076b3..35e8b0efe 100644 --- a/src/views/ebiz/common/risk-rules.js +++ b/src/views/ebiz/common/risk-rules.js @@ -95,6 +95,16 @@ export default { } return false }, + //寿险等级对附加险的影响 标识--卡单 + lifeGradeLimitCard(resultData, vm ,cuttentLifeGrade) { + let lifeGrade = resultData.productInsuredDTO.lifeGrade + if (lifeGrade == 0) return false + if (Number(cuttentLifeGrade) > Number(lifeGrade)) { + vm.$toast('寿险职业等级不适合此款险种,请选择其他险种!') + return true + } + return false + }, // 福宝宝产品寿险等级对主险影响 lifeGradeLimitForBaby(resultData, vm) { let cuttentLifeGrade = this.getSaleInsuredInfo().lifeGrade