diff --git a/src/assets/js/utils/data-dictionary.js b/src/assets/js/utils/data-dictionary.js index a7997fe6d..13714bfea 100644 --- a/src/assets/js/utils/data-dictionary.js +++ b/src/assets/js/utils/data-dictionary.js @@ -684,12 +684,52 @@ export default { { shortName: '重疾险', name: '国富人寿八桂无忧重大疾病保险(B款)', - code: 'GFRSPRO_M0001' + code: 'GFRS_M0001' }, { shortName: '年金险', name: '国富人寿国富民鑫年金保险', - code: 'GFRSPRO_M0002' + code: 'GFRS_M0002' + }, + { + shortName: '年金险', + name: '国富人寿金管家养老年金保险产品(万能型)', + code: 'GFRS_M0003' + }, + { + shortName: '年金险', + name: '国富人寿瑞利年金保险', + code: 'GFRS_M0004' + }, + { + shortName: '医疗险', + name: '国富人寿国富民惠医疗保险', + code: 'GFRS_M0005' + }, + { + shortName: '年金险', + name: '国富人寿福宝宝教育年金保险', + code: 'GFRS_M0006' + }, + { + shortName: '重疾险', + name: '国富人寿国富民安重大疾病保险', + code: 'GFRS_M0007' + }, + { + shortName: '意外险', + name: '国富人寿综合意外伤害保险', + code: 'GFRS_M0008' + }, + { + shortName: '重疾险', + name: '国富人寿国富民康重大疾病保险', + code: 'GFRS_M0009' + }, + { + shortName: '重疾险', + name: '国富人寿八桂无忧重大疾病保险', + code: 'GFRS_M0010' } ], // 收入来源 @@ -745,79 +785,289 @@ export default { ], // 民族 nationType: [ - { id: '01', text: '汉族' }, - { id: '02', text: '蒙古族' }, - { id: '03', text: '回族' }, - { id: '04', text: '藏族' }, - { id: '05', text: '维吾尔族' }, - { id: '06', text: '苗族' }, - { id: '07', text: '彝族' }, - { id: '08', text: '壮族' }, - { id: '09', text: '布依族' }, - { id: '10', text: '朝鲜族' }, - { id: '11', text: '满族' }, - { id: '12', text: '侗族' }, - { id: '13', text: '瑶族' }, - { id: '14', text: '白族' }, - { id: '15', text: '土家族' }, - { id: '16', text: '哈尼族' }, - { id: '17', text: '哈萨克族' }, - { id: '18', text: '傣族' }, - { id: '19', text: '黎族' }, - { id: '20', text: '傈僳族' }, - { id: '21', text: '佤族' }, - { id: '22', text: '畲族' }, - { id: '23', text: '高山族' }, - { id: '24', text: '拉祜族' }, - { id: '25', text: '水族' }, - { id: '26', text: '东乡族' }, - { id: '27', text: '纳西族' }, - { id: '28', text: '景颇族' }, - { id: '代码', text: '民族' }, - { id: '29', text: '柯尔克孜族' }, - { id: '30', text: '土族' }, - { id: '31', text: '达斡尔族' }, - { id: '32', text: '仫佬族' }, - { id: '33', text: '羌族' }, - { id: '34', text: '布朗族' }, - { id: '35', text: '撒拉族' }, - { id: '36', text: '毛难族' }, - { id: '37', text: '仡佬族' }, - { id: '38', text: '锡伯族' }, - { id: '39', text: '阿昌族' }, - { id: '40', text: '普米族' }, - { id: '41', text: '塔吉克族' }, - { id: '42', text: '怒族' }, - { id: '43', text: '乌孜别克族' }, - { id: '44', text: '俄罗斯族' }, - { id: '45', text: '鄂温克族' }, - { id: '46', text: '崩龙族' }, - { id: '47', text: '保安族' }, - { id: '48', text: '裕固族' }, - { id: '49', text: '京族' }, - { id: '50', text: '塔塔尔族' }, - { id: '51', text: '独龙族' }, - { id: '52', text: '鄂伦春族' }, - { id: '53', text: '赫哲族' }, - { id: '54', text: '门巴族' }, - { id: '55', text: '珞巴族' }, - { id: '56', text: '基诺族' }, - { id: '97', text: '其他' }, - { id: '98', text: '外国血统' } + { + id: '01', + text: '汉族' + }, + { + id: '02', + text: '蒙古族' + }, + { + id: '03', + text: '回族' + }, + { + id: '04', + text: '藏族' + }, + { + id: '05', + text: '维吾尔族' + }, + { + id: '06', + text: '苗族' + }, + { + id: '07', + text: '彝族' + }, + { + id: '08', + text: '壮族' + }, + { + id: '09', + text: '布依族' + }, + { + id: '10', + text: '朝鲜族' + }, + { + id: '11', + text: '满族' + }, + { + id: '12', + text: '侗族' + }, + { + id: '13', + text: '瑶族' + }, + { + id: '14', + text: '白族' + }, + { + id: '15', + text: '土家族' + }, + { + id: '16', + text: '哈尼族' + }, + { + id: '17', + text: '哈萨克族' + }, + { + id: '18', + text: '傣族' + }, + { + id: '19', + text: '黎族' + }, + { + id: '20', + text: '傈僳族' + }, + { + id: '21', + text: '佤族' + }, + { + id: '22', + text: '畲族' + }, + { + id: '23', + text: '高山族' + }, + { + id: '24', + text: '拉祜族' + }, + { + id: '25', + text: '水族' + }, + { + id: '26', + text: '东乡族' + }, + { + id: '27', + text: '纳西族' + }, + { + id: '28', + text: '景颇族' + }, + { + id: '代码', + text: '民族' + }, + { + id: '29', + text: '柯尔克孜族' + }, + { + id: '30', + text: '土族' + }, + { + id: '31', + text: '达斡尔族' + }, + { + id: '32', + text: '仫佬族' + }, + { + id: '33', + text: '羌族' + }, + { + id: '34', + text: '布朗族' + }, + { + id: '35', + text: '撒拉族' + }, + { + id: '36', + text: '毛难族' + }, + { + id: '37', + text: '仡佬族' + }, + { + id: '38', + text: '锡伯族' + }, + { + id: '39', + text: '阿昌族' + }, + { + id: '40', + text: '普米族' + }, + { + id: '41', + text: '塔吉克族' + }, + { + id: '42', + text: '怒族' + }, + { + id: '43', + text: '乌孜别克族' + }, + { + id: '44', + text: '俄罗斯族' + }, + { + id: '45', + text: '鄂温克族' + }, + { + id: '46', + text: '崩龙族' + }, + { + id: '47', + text: '保安族' + }, + { + id: '48', + text: '裕固族' + }, + { + id: '49', + text: '京族' + }, + { + id: '50', + text: '塔塔尔族' + }, + { + id: '51', + text: '独龙族' + }, + { + id: '52', + text: '鄂伦春族' + }, + { + id: '53', + text: '赫哲族' + }, + { + id: '54', + text: '门巴族' + }, + { + id: '55', + text: '珞巴族' + }, + { + id: '56', + text: '基诺族' + }, + { + id: '97', + text: '其他' + }, + { + id: '98', + text: '外国血统' + } ], //政治面貌 politicsStatus: [ - { id: '01', text: '中共党员' }, - { id: '02', text: '中共预备党员' }, - { id: '04', text: '民革党员' }, - { id: '05', text: '民盟盟员' }, - { id: '06', text: '民建会员' }, - { id: '07', text: '民进会员' }, - { id: '08', text: '农工党党员' }, - { id: '09', text: '致公党党员' }, - { id: '10', text: '九三学社社员' }, - { id: '11', text: '台盟盟员' }, - { id: '12', text: '无党派人士' } + { + id: '01', + text: '中共党员' + }, + { + id: '02', + text: '中共预备党员' + }, + { + id: '04', + text: '民革党员' + }, + { + id: '05', + text: '民盟盟员' + }, + { + id: '06', + text: '民建会员' + }, + { + id: '07', + text: '民进会员' + }, + { + id: '08', + text: '农工党党员' + }, + { + id: '09', + text: '致公党党员' + }, + { + id: '10', + text: '九三学社社员' + }, + { + id: '11', + text: '台盟盟员' + }, + { + id: '12', + text: '无党派人士' + } ], rsIdType: [ { diff --git a/src/assets/js/utils/validator.js b/src/assets/js/utils/validator.js index 8f532603d..e8da7f9ba 100644 --- a/src/assets/js/utils/validator.js +++ b/src/assets/js/utils/validator.js @@ -1,5 +1,7 @@ import Vue from 'vue' -import VeeValidate, { Validator } from 'vee-validate' +import VeeValidate, { + Validator +} from 'vee-validate' import zh_CN from 'vee-validate/dist/locale/zh_CN' import idNoCheck from './idNoCheck' @@ -58,11 +60,11 @@ Validator.extend('age', { return value > 17 && /^\d{1,3}$/.test(value) } }) -//被保人年龄(不得小于16周岁) +//被保人年龄(不得小于18周岁) Validator.extend('appntAge', { - getMessage: () => '年龄不得小于16周岁', + getMessage: () => '年龄不得小于18周岁', validate: value => { - return value > 15 && /^\d{1,3}$/.test(value) + return value > 17 && /^\d{1,3}$/.test(value) } }) @@ -85,7 +87,7 @@ Validator.extend('bankCard', { return field + '格式不正确,请您填写正确的格式' }, validate: value => { - return /^(\d{16}|\d{19})$/.test(value) + return /^(\d{16}|\d{18}|\d{19})$/.test(value) } }) @@ -136,4 +138,4 @@ Validator.extend('avoirdupois', { validate: value => { return /^[0-9]+([.]{1}[0-9]{1})?$/.test(value) && value > 0.1 } -}) +}) \ No newline at end of file diff --git a/src/views/ebiz/common/CalculatePremium.vue b/src/views/ebiz/common/CalculatePremium.vue index 2aa83b573..9d885309b 100644 --- a/src/views/ebiz/common/CalculatePremium.vue +++ b/src/views/ebiz/common/CalculatePremium.vue @@ -596,7 +596,7 @@ export default { this.chooseProducts.forEach(item => { let trialInfo = {} item.calFactorLst.forEach(factor => { - //type 类型 0为picker 1计步器 2 + //type 类型 0为picker 1计步器 2职业等级 if (factor.type == 0) { if (factor.hasFlag == '1') { trialInfo[factor.code] = factor[factor.code] diff --git a/src/views/ebiz/common/MainRiskList.vue b/src/views/ebiz/common/MainRiskList.vue index 1ae341263..64ccb0b34 100644 --- a/src/views/ebiz/common/MainRiskList.vue +++ b/src/views/ebiz/common/MainRiskList.vue @@ -114,6 +114,11 @@ export default { if (riskRules.lifeGradeLimit(resultData, this)) { return } + if (resultData.productCode == 'GFRS_M0006') { + if (riskRules.lifeGradeLimitForBaby(resultData, this)) { + return + } + } /********end 主险选择限制 end******/ //保存附加险 diff --git a/src/views/ebiz/common/risk-rules.js b/src/views/ebiz/common/risk-rules.js index 7ec3873c0..d0b68a99b 100644 --- a/src/views/ebiz/common/risk-rules.js +++ b/src/views/ebiz/common/risk-rules.js @@ -10,8 +10,8 @@ export default { tips = '被保人年龄不适合此款险种,请选择其他险种!' } let minAge = resultData.productTrialInfoDTO.ageRange && resultData.productTrialInfoDTO.ageRange.minAge - let maxAge = resultData.productTrialInfoDTO.ageRange && resultData.productTrialInfoDTO.ageRange.maxAge - ;[age, minAge, maxAge] = [Number(age), Number(minAge), Number(maxAge)] + let maxAge = resultData.productTrialInfoDTO.ageRange && resultData.productTrialInfoDTO.ageRange.maxAge; + [age, minAge, maxAge] = [Number(age), Number(minAge), Number(maxAge)] if (age > maxAge || age < minAge) { vm.$toast(tips) return true @@ -35,7 +35,7 @@ export default { let healthGrade = resultData.productInsuredDTO.healthGrade if (healthGrade == 0) return false if (Number(cuttentHealthGrade) > Number(healthGrade)) { - vm.$toast('健康等级不适合此款险种,请选择其他险种!') + vm.$toast('健康职业等级不适合此款险种,请选择其他险种!') return true } return false @@ -46,7 +46,18 @@ export default { let lifeGrade = resultData.productInsuredDTO.lifeGrade if (lifeGrade == 0) return false if (Number(cuttentLifeGrade) > Number(lifeGrade)) { - vm.$toast('寿险等级不适合此款险种,请选择其他险种!') + vm.$toast('寿险职业等级不适合此款险种,请选择其他险种!') + return true + } + return false + }, + // 福宝宝产品寿险等级对主险影响 + lifeGradeLimitForBaby(resultData, vm) { + let cuttentLifeGrade = this.getSaleInsuredInfo().lifeGrade + let lifeGrade = resultData.productInsuredDTO.lifeGrade + if (lifeGrade == 0) return false + if (Number(cuttentLifeGrade) > Number(lifeGrade)) { + vm.$toast('投保人寿险职业等级不适合此款险种,请选择其他险种!') return true } return false @@ -59,4 +70,4 @@ export default { getSaleInsuredInfo() { return localStorage.saleInsuredInfo && JSON.parse(localStorage.saleInsuredInfo) } -} +} \ No newline at end of file diff --git a/src/views/ebiz/proposal/Appnt.vue b/src/views/ebiz/proposal/Appnt.vue index 64bd3ef9f..f9d5d0152 100644 --- a/src/views/ebiz/proposal/Appnt.vue +++ b/src/views/ebiz/proposal/Appnt.vue @@ -202,7 +202,7 @@ export default { this.appntDTO.age = String(this.appntDTO.age) this.$validator.validate().then(valid => { if (true === valid) { - //进行投保人年龄校验(大于16周岁) + //进行投保人年龄校验(大于18周岁) let params = { orderDTO: { appntDTO: this.appntDTO, diff --git a/src/views/ebiz/proposal/Exhibition.vue b/src/views/ebiz/proposal/Exhibition.vue index b2c0f7290..472a96110 100644 --- a/src/views/ebiz/proposal/Exhibition.vue +++ b/src/views/ebiz/proposal/Exhibition.vue @@ -253,6 +253,7 @@ export default { //在app端 params.proposalInfoDTO.proposalNo = localStorage.orderNo getDemo(params).then(res => { + this.formatLocal(res) }) } @@ -332,9 +333,16 @@ export default { }, //获取微信分享的标题 getWXTitle(insuredDTOs) { + dataDictionary.riskType.forEach(dataRisk => { //根据数字字典来找到 险种简称 + // console.log(insuredDTOs) + // console.log(insuredDTOs[0].mainRisk[0].riskCode) + // console.log(dataRisk.code) + if (insuredDTOs[0].mainRisk[0].riskCode == dataRisk.code) { + + this.wxTitle = dataRisk.shortName + '计划书' } }) diff --git a/src/views/ebiz/sale/AddBeneficiaryInfo.vue b/src/views/ebiz/sale/AddBeneficiaryInfo.vue index 00c94570a..4bad1ec85 100644 --- a/src/views/ebiz/sale/AddBeneficiaryInfo.vue +++ b/src/views/ebiz/sale/AddBeneficiaryInfo.vue @@ -5,6 +5,7 @@ 长期 - + 同投保人 - + - + { if (res.result == '0') { diff --git a/src/views/ebiz/sale/InsuredInfo.vue b/src/views/ebiz/sale/InsuredInfo.vue index 6da420f1f..612884255 100644 --- a/src/views/ebiz/sale/InsuredInfo.vue +++ b/src/views/ebiz/sale/InsuredInfo.vue @@ -18,6 +18,7 @@ :value="userInfo.idType | idToText('insuredIdType')" v-validate="'required'" readonly + required label="证件类型" name="证件类型" right-icon="arrow" @@ -25,13 +26,14 @@ @click="toSelect('2')" /> - + 证件扫描 长期 - + - + - - + + {{ codeDisabled ? `${countDown}s后重新获取` : '发送验证码' }} - + - +
负债金额 (万元) @@ -193,6 +207,7 @@ - + - +
设为联系地址
- + @@ -225,6 +241,7 @@ - +
设为联系地址
- + diff --git a/src/views/ebiz/sale/InsuredPerson.vue b/src/views/ebiz/sale/InsuredPerson.vue index ea81b6e8f..a59d2bb90 100644 --- a/src/views/ebiz/sale/InsuredPerson.vue +++ b/src/views/ebiz/sale/InsuredPerson.vue @@ -6,6 +6,7 @@ - + - + @@ -184,6 +198,7 @@ readonly label="税收居民身份" name="税收居民身份" + required right-icon="arrow" placeholder="请选择" v-validate="'required'" @@ -198,6 +213,7 @@ clearable label="职业类别" name="职业类别" + required v-validate="'required'" placeholder="请选择" :parentShowPicker.sync="occupationShowPicker" @@ -209,6 +225,7 @@ readonly label="收入来源" name="收入来源" + required right-icon="arrow" placeholder="请选择" v-validate="'required'" @@ -219,6 +236,7 @@ v-model="userInfo.otherSalarySource" label name="其他来源" + required placeholder="请输入其它收入来源" clearable maxlength="30" @@ -228,6 +246,7 @@ label="平均年收入(万元)" name="平均年收入" placeholder="请输入" + required v-validate="'required|onlyNumber'" clearable maxlength="5" @@ -237,6 +256,7 @@ v-model="userInfo.liabilitiesMoney" name="负债金额" placeholder="请输入" + required v-validate="'required|onlyNumber'" clearable maxlength="5" @@ -249,6 +269,7 @@ readonly label="在职情况" name="在职情况" + required placeholder="请选择" v-validate="'required'" right-icon="arrow" @@ -258,6 +279,7 @@ v-model="userInfo.workcompany" label="工作单位" name="工作单位" + required placeholder="请输入" v-validate="'required'" maxlength="50" @@ -269,6 +291,7 @@ readonly label="单位地址" name="单位地址" + required right-icon="arrow" placeholder="请选择" v-validate="'required'" @@ -289,6 +312,7 @@ label="邮编" name="邮编" placeholder="请输入" + required v-validate="'required|zipCode'" maxlength="6" clearable @@ -302,6 +326,7 @@

尊敬的 - {{ tipsName }}{{ tipsName }}先生/女士,您好!

该保单由国富人寿保险股份有限公司进行承保,具体确认信息如下:

@@ -18,6 +18,7 @@
+
@@ -25,6 +26,7 @@ {{ appnt.name }}

以下内容需要您按照顺序阅读并签字确认:

+

{{ item.documentCode == '1' ? '需阅读' : '需签署' }}

@@ -60,6 +62,7 @@

操作时间已失效,请联系销售人员!
+
@@ -208,7 +211,7 @@