Compare commits

...

28 Commits

Author SHA1 Message Date
种岩宁
65e2642dea 新增卡单出单支付调用接口 2024-06-28 11:53:13 +08:00
liu.xiaofeng@ebiz-digits.com
f937a9c376 修改卡单被保人职业类型 2024-05-29 13:07:22 +08:00
liu.xiaofeng@ebiz-digits.com
6975dbd2a4 选择产品页面提交页面增加判断 2024-05-09 10:03:06 +08:00
liu.xiaofeng@ebiz-digits.com
0d07f33c20 双录改动 2024-05-08 22:48:51 +08:00
liu.xiaofeng@ebiz-digits.com
b4cdafbd9b 双录调整 2024-05-08 22:48:45 +08:00
liu.xiaofeng@ebiz-digits.com
88ade7e51c 广西壮族自治区农村信用社联合社需要改为广西农村商业联合银行股份有限公司 2024-04-28 14:59:03 +08:00
liu.xiaofeng@ebiz-digits.com
e5d01e1fe1 银保渠道调用产品销售权限增加接口入参字段productChannl 2024-04-26 18:43:16 +08:00
liu.xiaofeng@ebiz-digits.com
c3f62c0f0f 电投流程调用销售权限接口,其他的渠道不调 2024-04-26 18:43:12 +08:00
liu.xiaofeng@ebiz-digits.com
e949d990b9 关于产品风险等级与销售人员资质校验系统需求 2024-04-26 18:43:08 +08:00
liu.xiaofeng@ebiz-digits.com
3129686bc4 姓名录入校验修改 2024-04-25 17:35:38 +08:00
liu.xiaofeng@ebiz-digits.com
4286f43d85 卡单支付分享页面保障责任字段显示方式调整为右对齐 2024-04-19 16:03:23 +08:00
liu.xiaofeng@ebiz-digits.com
182ab6229c 卡单支付分享页面保障责任字段显示方式调整为右对齐 2024-04-19 16:03:20 +08:00
liu.xiaofeng@ebiz-digits.com
d27541f8fd GBC渠道富安一生产品不同年龄最大保额限制 2024-04-15 09:28:49 +08:00
liu.xiaofeng@ebiz-digits.com
5a7f09f5d8 卡单签字确认页面阅读文件前弹窗提示内容修改 2024-04-15 09:28:45 +08:00
liu.xiaofeng@ebiz-digits.com
5818898564 职业限制逻辑修改 2024-04-15 09:28:41 +08:00
liu.xiaofeng@ebiz-digits.com
b1de132117 职业限制逻辑修改 2024-04-15 09:28:38 +08:00
liu.xiaofeng@ebiz-digits.com
2454b5ee44 职业限制逻辑修改 2024-04-15 09:28:34 +08:00
liu.xiaofeng@ebiz-digits.com
ea8eb2990a 投保年龄计算按照生效日来算 2024-04-15 09:28:30 +08:00
liu.xiaofeng@ebiz-digits.com
9a2845160c 卡单支付结果页面展示内容信息补全 2024-04-15 09:28:26 +08:00
liu.xiaofeng@ebiz-digits.com
566b497a75 卡单支付结果页面展示内容信息补全 2024-04-15 09:28:22 +08:00
liu.xiaofeng@ebiz-digits.com
0c451caf34 国富无忧安康卡-国富无忧综合意外伤害保险计划(2024版) 投保信息页面增加备注信息 2024-04-15 09:28:19 +08:00
liu.xiaofeng@ebiz-digits.com
894a57801e 投保前提示弹窗标题修改
支付成功后页面温馨提示语内容修改
2024-04-15 09:28:15 +08:00
liu.xiaofeng@ebiz-digits.com
17c4cc955b 职业限制修改 2024-04-15 09:28:11 +08:00
liu.xiaofeng@ebiz-digits.com
c1b4f6e1b7 国富无忧安康卡-国富无忧综合意外伤害保险计划(2024版)修改 2024-04-15 09:28:06 +08:00
liu.xiaofeng@ebiz-digits.com
8de047c8fa 国富无忧安康卡-国富无忧综合意外伤害保险计划(2024版) 2024-04-15 09:28:02 +08:00
liu.xiaofeng@ebiz-digits.com
9238ad698b 卡单投保学平险职业默认一般学生参数传递occupationType设置为1 2024-03-29 14:13:08 +08:00
liu.xiaofeng@ebiz-digits.com
1224b3e2d8 卡单投保学平险职业默认一般学生参数传递occupationType设置为1 2024-03-29 14:13:05 +08:00
liu.xiaofeng@ebiz-digits.com
8b96bea8e7 银保渠道吐过没有产品可选 修改信息提示为请提示不再阻断 2024-03-29 09:44:42 +08:00
16 changed files with 369 additions and 288 deletions

View File

@@ -3,7 +3,7 @@
* @Date: 2021-03-26 10:38:37
* @LastEditTime: 2021-04-02 16:10:30
* @LastEditors: PangXingYue
* @Description:
* @Description:
* @FilePath: \ebiz-h5\src\api\ebiz\cardList\cardList.js
*/
// 卡单接口
@@ -95,7 +95,7 @@ export function getPayTemp(data) {
//
export function getShareParam(data) {
return request({
url: getUrl('/customer/account/getShareParam', 1),
url: getUrl('/customer/account/getShareParam', 1),
method: 'post',
data
})
@@ -168,4 +168,12 @@ export function deleteGroupCardByInsured(data) {
method: 'post',
data
})
}
}
// 不让跨天支付 单新契约出单跨天支付流程优化
export function cardContIsPay(data) {
return request({
url: getUrl('/sale/card/contIsPay', 1),
method: 'post',
data
})
}

View File

@@ -396,4 +396,12 @@ export function changeOrderStatus(data) {
method: 'post',
data
})
}
export function riskLevelCheck(data) {
return request({
url: getUrl('/sale/order/riskLevelCheck', 1),
method: 'post',
data
})
}

View File

@@ -59,16 +59,19 @@ Validator.extend('email', {
Validator.extend('name', {
getMessage: () => '姓名长度为2-120个字符之内只能输入汉字或者英文',
validate: value => {
return value
// return /^[\u4e00-\u9fa5·]{1,15}$/.test(value)
return /^[a-zA-Z\.\s\u4e00-\u9fa5]{2,120}$/.test(value);
// return /^[a-zA-Z\.\s\u4e00-\u9fa5]{2,120}$/.test(value);
}
});
//sale 投保名字 2个汉字4个字母
Validator.extend('salename', {
getMessage: () => '亲,请确认您录入的姓名是否正确哦~',
validate: value => {
return value
// return /^[\u4e00-\u9fa5·]{1,15}$/.test(value)
return /^[\u4e00-\u9fa5·]{2,120}$|^[a-zA-Z\s]{4,120}$/.test(value);
// return /^[a-zA-Z\.\s\u4e00-\u9fa5]{2,120}$/.test(value);
// return /^[\u4e00-\u9fa5·]{2,120}$|^[a-zA-Z\s]{4,120}$/.test(value);
}
});
// sale - 详细地址 - 详细地址须同时包含汉字和数字,

View File

@@ -683,8 +683,8 @@ let bankListJson = [
},
{
code: '50002',
name: '广西壮族自治区农村信用社联合社',
child: [{ code: '402611099974', name: '广西壮族自治区农村信用社联合社' }]
name: '广西农村商业联合银行股份有限公司',
child: [{ code: '402611099974', name: '广西农村商业联合银行股份有限公司' }]
},
{
code: '20041',

View File

@@ -12,7 +12,7 @@
<van-cell-group class='mt10'>
<p style='border-bottom: 1px solid #ebedf0' class='fs15 fwb pl10 pv12'>产品信息</p>
<van-field :value='riskDTO.riskName' label='保障方案' name='保障方案' readonly />
<van-field value='保额' label='保险责任' name='保险责任' readonly />
<van-field class="dutyAmt" value='保额' label='保险责任' name='保险责任' readonly input-align="right"/>
<div v-if='riskDTO.dutyLst && riskDTO.dutyLst.length>0'>
<div class='duty' v-for='(item, index) in riskDTO.dutyLst' :key='index'>
<van-field :value="item.amt/10000 +''" :label='item.dutyName' :name='item.dutyName' readonly />
@@ -194,4 +194,13 @@ export default {
text-align: center;
}
}
.dutyAmt{
.van-field__label {
width: 60vw;
}
.van-field__control {
text-align: center;
}
}
</style>

View File

@@ -198,7 +198,7 @@ Vue.use(Checkbox).use(CheckboxGroup)
Vue.use(Field)
Vue.use(Button)
import { acceptInsurance, getBankList, underWrite, getOrderDetail } from '@/api/ebiz/sale/sale'
import { saveOrUpdateAccount, getPayTemp, getShareParam } from '@/api/ebiz/cardList/cardList.js'
import { saveOrUpdateAccount, getPayTemp, getShareParam, cardContIsPay } from '@/api/ebiz/cardList/cardList.js'
import BankCardScan from '@/components/ebiz/sale/BankCardScan'
import areaList from '@/assets/js/utils/area'
import Loading from '@/components/ebiz/Loading'
@@ -219,7 +219,7 @@ export default {
data() {
let isWeixin = this.$utils.device().isWeixin //判断环境
return {
insuredDTOs:[],//被保人信息
insuredDTOs: [], //被保人信息
// 银行卡支付图片地址
src: this.$assetsUrl + 'images/cardImg.png',
// 微信支付图片地址
@@ -291,7 +291,7 @@ export default {
accBankCity: '',
areaStr: '',
mainRiskCode: '',
isGroupCard:'' //1 团险标识
isGroupCard: '' //1 团险标识
}
},
created() {
@@ -311,9 +311,9 @@ export default {
this.bankListName = orderDetail.orderAccountDTO.bankName
this.orderStatus = orderDetail.orderInfoDTO.orderStatus
localStorage.orderNo = orderDetail.orderInfoDTO.orderNo
orderDetail.insuredDTOs.forEach(item=>{
item.riskDTOLst.forEach(ii=>{
if(ii.isMainRisk == '0'){
orderDetail.insuredDTOs.forEach((item) => {
item.riskDTOLst.forEach((ii) => {
if (ii.isMainRisk == '0') {
this.mainRiskCode = ii.mainRiskCode
}
})
@@ -478,7 +478,7 @@ export default {
let data = {
operateType: 'bank_type'
}
getBankList(data).then(res => {
getBankList(data).then((res) => {
if (res.result == '0') {
console.log('银行卡列表', res.content)
self.bankList = res.content
@@ -496,23 +496,23 @@ export default {
},
getPayTemp() {
getPayTemp({ orderNo: window.localStorage.getItem('orderNo') })
.then(res => {
.then((res) => {
if (res.result == '0') {
this.noEdit = res.content.flag != 'false'
}
})
.catch(e => {
.catch((e) => {
console.error(e)
})
},
// 获取支付详情
getOrderDetail() {
getOrderDetail({ orderNo: window.localStorage.getItem('orderNo') }).then(res => {
getOrderDetail({ orderNo: window.localStorage.getItem('orderNo') }).then((res) => {
if (res.result == '0') {
this.insuredDTOs = res.orderDTO.insuredDTOs
res.orderDTO.insuredDTOs.forEach(item=>{
item.riskDTOLst.forEach(ii=>{
if(ii.isMainRisk == '0'){
res.orderDTO.insuredDTOs.forEach((item) => {
item.riskDTOLst.forEach((ii) => {
if (ii.isMainRisk == '0') {
this.mainRiskCode = ii.mainRiskCode
}
})
@@ -544,7 +544,7 @@ export default {
result: '',
resultMessage: '交易处理成功',
uwResult: '02',
cvalidate:res.orderDTO.orderInfoDTO.cvalidate //生效日期
cvalidate: res.orderDTO.orderInfoDTO.cvalidate //生效日期
}
// this.bankListName = res.orderDTO.orderAccountDTO.bankName
this.underWriteData.bankCode =
@@ -573,7 +573,7 @@ export default {
result: '',
resultMessage: '交易处理失败',
uwResult: '00',
cvalidate:res.orderDTO.orderInfoDTO.cvalidate //生效日期
cvalidate: res.orderDTO.orderInfoDTO.cvalidate //生效日期
}
// window.localStorage.setItem('underWriteData', JSON.stringify(underWriteData))
this.$toast(res.resultMessage)
@@ -615,21 +615,38 @@ export default {
if (true !== valid) {
return this.$toast(this.$validator.errors.all()[0])
}
switch (this.orderStatus) {
case '56':
case '57':
this.payMent()
break
// case '02':
// break
default:
if (!this.noEdit) {
this.payMent(true)
return true
} else {
this.acceptInsurance()
return this.$toast('当前不可支付')
}
let data = {
orderNo: window.localStorage.getItem('orderNo')
}
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
// 支付之前要先调用一下是否跨天,不让跨天支付 过了24点 保费不一样 CYN 2024.06.28
let res = await cardContIsPay(data)
this.$toast.clear()
if (res.result == '0') {
switch (this.orderStatus) {
case '56':
case '57':
this.payMent()
break
// case '02':
// break
default:
if (!this.noEdit) {
this.payMent(true)
return true
} else {
this.acceptInsurance()
return this.$toast('当前不可支付')
}
}
} else {
this.$toast(res.resultMessage)
this.isLoading = false
}
},
acceptInsurance() {
@@ -638,7 +655,7 @@ export default {
cardOrder: 'cardOrder',
payType: this.radio
}
acceptInsurance(data).then(res => {
acceptInsurance(data).then((res) => {
// this.$jump({
// flag: 'h5',
// extra: {
@@ -748,13 +765,44 @@ export default {
let res = await saveOrUpdateAccount(data)
this.$toast.clear()
if (res.result == '0') {
if(this.mainRiskCode == 'GFRS_M0058'){
if (this.mainRiskCode == 'GFRS_M0058') {
Dialog.alert({
title: '特别提醒',
messageAlign: 'left',
confirmButtonText: '确认',
message: `2023年9月1日起生效的惠桂保保单不能参保的5类既往症中增加了“神经性耳聋”敬请注意`,
message: `2023年9月1日起生效的惠桂保保单不能参保的5类既往症中增加了“神经性耳聋”敬请注意`
})
.then(() => {
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
this.acceptInsurance()
})
.catch(() => {})
} else {
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
this.acceptInsurance()
}
} else {
this.$toast(res.resultMessage)
this.isLoading = false
}
} else {
if (this.mainRiskCode == 'GFRS_M0058') {
Dialog.alert({
title: '特别提醒',
messageAlign: 'left',
confirmButtonText: '确认',
message: `2023年9月1日起生效的惠桂保保单不能参保的5类既往症中增加了“神经性耳聋”敬请注意`
})
.then(() => {
this.$toast.loading({
duration: 0, // 持续展示 toast
@@ -764,42 +812,8 @@ export default {
})
this.acceptInsurance()
})
.catch(() => {
})
}else{
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
this.acceptInsurance()
}
.catch(() => {})
} else {
this.$toast(res.resultMessage)
this.isLoading = false
}
} else {
if(this.mainRiskCode == 'GFRS_M0058'){
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(() => {
})
}else{
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
@@ -808,7 +822,6 @@ export default {
})
this.acceptInsurance()
}
}
},
// 选择微信支付校验身份证类型

View File

@@ -25,9 +25,9 @@
<div v-if="payStatus == '1'" class=" p10 pb250 bg-white">
<span class="pt150 fs14"> 核心承保中请您稍后查看</span>
<div class="pt20 red"> 温馨提示<br />
1.保单承保后您或被保险人可拨打国富人寿客户服务电话400-694-6688或登陆国富人寿官网www.e-guofu.com以及关注官方微信公众号国富人寿保险查询下载电子保单<br />
2.本保险产品提供电子发票如您需要发票您可以关注微信公众号国富人寿保险自助下载电子发票<br />
3.为保障您的权益投保成功后广西保险行业协会对您进行短信调研了解您本次保险消费的相关情况请您注意查看短信如您满意请回复1如有疑问可拨打国富人寿全国服务热线400-694-6688咨询<br />
1.请关注微信公众号国富人寿保险查询下载电子保单及电子发票<br />
2.为保障您的权益投保成功后广西保险行业协会对您进行短信调研请您注意查看短信如您满意请回复1<br />
如有疑问可拨打国富人寿全国服务热线400-694-6688咨询<br />
</div>
</div>
<div v-if="payStatus == '2' || payStatus == '4' || payStatus == '8'" class=" p10 pb250 bg-white">
@@ -78,6 +78,7 @@ export default {
let isWeixin = this.$utils.device().isWeixin //判断环境
return {
isWeixin,
orderNo: '',
// 保融收银台返回的支付流水号
paySeqNo: '',
// 接口返回数据前,不做页面渲染
@@ -209,6 +210,10 @@ export default {
} else {
this.queryPayState()
}
this.card.orderNo = window.localStorage.getItem('orderNo')
let orderDetail = JSON.parse(sessionStorage.orderDetail)
this.card.insuredName = orderDetail.insuredDTOs[0].name
this.card.cvalidate = orderDetail.insuredDTOs[0].riskDTOLst[0].cvaliDate
},
beforeRouteLeave(to, from, next) {
document.body.style.backgroundColor = ''

View File

@@ -92,7 +92,7 @@ export default {
//只有惠桂保团险添加此提示
if( this.$route.query.isGroupCard == '1' ){
Dialog.alert({
title: '温馨提示',
title: '投保提示',
messageAlign: 'left',
confirmButtonText: '确认',
message: `1、您即将进入投保流程为维护您的合法权益投保时请您务必仔细阅读和确认保险条款、投保须知、免除保险人责任条款、犹豫期条款等页面所有内容。<br/>2.您的投保过程和操作将被记录。`,

View File

@@ -272,6 +272,7 @@
label='职业类别'
placeholder='请输入'
name='职业类别'
readonly
:value='insuredInfo.occupationName'
right-icon='arrow'
/>
@@ -536,7 +537,7 @@
placeholder='请选择'
@click="toSelect('10')"
/>
<van-field v-if="this.itemProductDTOS.productCode === 'GFRS_M0041'||this.itemProductDTOS.productCode === 'GFRS_M0052'||this.itemProductDTOS.productCode === 'GFRS_M0071'" v-model='cvaliDate' readonly label='生效日期' name='生效日期' placeholder='请输入' />
<van-field v-if="this.itemProductDTOS.productCode === 'GFRS_M0041'||this.itemProductDTOS.productCode === 'GFRS_M0052'||this.itemProductDTOS.productCode === 'GFRS_M0071'||this.itemProductDTOS.productCode === 'GFRS_M0091'" v-model='cvaliDate' readonly label='生效日期' name='生效日期' placeholder='请输入' />
<FieldDatePicter
v-else
label='指定生效日期'
@@ -595,14 +596,17 @@
||this.itemProductDTOS.productCode === 'GFRS_M0052' || this.itemProductDTOS.productCode === 'GFRS_M0062' || this.itemProductDTOS.productCode === 'GFRS_M0063'||this.itemProductDTOS.productCode === 'GFRS_M0064'">
注:为未成年子女投保的人身保险,在被保险人成年之前,因被保险人身故给付的保险金总和不得超过国务院保险监督管理机构规定的限额,身故给付的保险金额总和的约定也不得超过前述限额。但航空意外死亡保险金额及重大自然灾害意外死亡保险金额不计算在上述规定限额之中。
</div>
<div class='tips'
v-if="this.itemProductDTOS.productCode === 'GFRS_M0091'">
注:为未成年子女投保的人身保险,在被保险人成年之前,因被保险人身故给付的保险金总和不得超过国务院保险监督管理机构规定的限额,身故给付的保险金额总和的约定也不得超过前述限额。
</div>
<van-goods-action style='z-index: 99'>
<van-button type='default' style='width: 50%; font-size: 14px; height: 40px; background: white'
>总保费:<span style='color: red; font-weight: bold; font-size: 18px; font-weight: 400'>{{ allPrice }}</span
>元
</van-button
>
<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-button type='danger' text='立即投保' @click='nextStep' v-no-more-click='1000' style='border-radius: 0em; width: 50%; height: 40px' />
</van-goods-action>
<!-- <van-dialog v-model="showDialog" title="温馨提示" message="被保险人年龄与所投保的方案不一致,请核实。" show-cancel-button @confirm="nextStep" confirmButtonText="继续投保" cancelButtonText="核对信息"> -->
@@ -675,6 +679,7 @@ import Vue from 'vue'
import { GoodsAction, GoodsActionIcon, GoodsActionButton } from 'vant'
import riskRules from '../common/risk-rules'
import occupationList from '@/components/ebiz/occipation/data/occupation'
import {idNoCheck8} from "../sale/js/verification";
DataDictionary.relationToAppnt = DataDictionary.relationToAppnt.slice(0, 4)
Vue.use(Checkbox).use(CheckboxGroup)
@@ -954,7 +959,7 @@ export default {
}
//金掌桂无忧卡,少儿安康卡两款卡单产品关闭指定生效日功能,默认自承保之日起第四日零时生效
//GFRS_M0052 国富人寿少儿安康保险产品组合、GFRS_M0041 国富无忧卡-国富人寿综合意外伤害保险计划
if (this.itemProductDTOS.productCode === 'GFRS_M0052' || this.itemProductDTOS.productCode === 'GFRS_M0041' || this.itemProductDTOS.productCode === 'GFRS_M0071') {
if (this.itemProductDTOS.productCode === 'GFRS_M0052' || this.itemProductDTOS.productCode === 'GFRS_M0041' || this.itemProductDTOS.productCode === 'GFRS_M0071'|| this.itemProductDTOS.productCode === 'GFRS_M0091') {
this.cvaliDate = dateUtils.formatDate(afterDate.getAfterDays(Number(this.trialList[0].timeliness)), 'yyyy-MM-dd')
//保险期间计算逻辑
let val = this.cvaliDate
@@ -1029,7 +1034,6 @@ export default {
}
},
methods: {
//试算逻辑国富万福卡GFRS_M0071
insureTrial() {
// if(this.insuredInfo.birthday || that.$route.query.relationToAppnt == '1'){
if (this.userInfo.relationToInsured == 1) {
@@ -1127,9 +1131,11 @@ export default {
let { code, name, healthGrade, lifeGrade } = data
//校验主合同被保险人寿险职业等级
//投保同人时,验证投保人职业,投被不同人时验证被保人职业
if(!(this.userInfo.relationToInsured != 1 && this.insureType === '1')){
if (riskRules.lifeGradeLimitCard(this.trialDTOS, this, lifeGrade)) {
return
if(this.itemProductDTOS.productCode != 'GFRS_M0091') {
if(!(this.userInfo.relationToInsured != 1 && this.insureType === '1')){
if (riskRules.lifeGradeLimitCard(this.trialDTOS, this, lifeGrade)) {
return
}
}
}
@@ -1146,10 +1152,14 @@ export default {
this.userInfo.occupationName = name
this.userInfo.occupationCode = code
this.userInfo.occupationType = lifeGrade
this.userInfo.lifeGrade = lifeGrade
this.userInfo.healthGrade = healthGrade
} else if (this.insureType === '2') {
this.insuredInfo.occupationName = name
this.insuredInfo.occupationCode = code
this.insuredInfo.occupationType = lifeGrade
this.insuredInfo.lifeGrade = lifeGrade
this.insuredInfo.healthGrade = healthGrade
}
},
/**
@@ -1824,9 +1834,14 @@ export default {
this.insuredInfo.homeAddress = data.homeAddress //家庭详细地址
//2516--三个学平险--被保险人职业类别默认学生允许修改
if (this.itemProductDTOS.productCode == 'GFRS_M0048' || this.itemProductDTOS.productCode == 'GFRS_M0049' || this.itemProductDTOS.productCode == 'GFRS_M0050'
|| this.itemProductDTOS.productCode === 'GFRS_M0062' || this.itemProductDTOS.productCode === 'GFRS_M0063'||this.itemProductDTOS.productCode === 'GFRS_M0064') {
|| this.itemProductDTOS.productCode === 'GFRS_M0063'||this.itemProductDTOS.productCode === 'GFRS_M0064') {
this.insuredInfo.occupationCode = '2099907'
this.insuredInfo.occupationName = '一般学生'
this.insuredInfo.occupationType = '1'
} else if (this.itemProductDTOS.productCode === 'GFRS_M0062') {
this.insuredInfo.occupationCode = '2099908'
this.insuredInfo.occupationName = '学龄前儿童'
this.insuredInfo.occupationType = '1'
} else {
this.insuredInfo.occupationCode = data.occupationCode
this.insuredInfo.occupationName = data.occupationName
@@ -2055,7 +2070,12 @@ export default {
// return this.$toast('户口本的证件号码长度应等于18位')
// }
}
let insuredAge = utilsAge.getAge(this.insuredInfo.birthday, new Date())
else if (this.userInfo.idType == '8') {
if (idNoCheck8(this.userInfo,'cardList').text){
return this.$toast(idNoCheck8(this.userInfo,'cardList').text)
}
}
let insuredAge = utilsAge.getAge(this.insuredInfo.birthday, new Date(this.cvaliDate))
console.log('计算年龄', insuredAge)
//如果证件类型是身份证或户口本
if (this.insuredInfo.idType == '1') {
@@ -2194,6 +2214,11 @@ export default {
return this.$toast('您填写的证件号码有误')
}
}
else if (this.insuredInfo.idType == '8') {
if (idNoCheck8(this.insuredInfo,'cardList').text){
return this.$toast(idNoCheck8(this.insuredInfo,'cardList').text)
}
}
if (this.itemProductDTOS.productCode === 'GFRS_M0022') {
// return
// 如果是未成年人
@@ -2236,35 +2261,21 @@ export default {
return this.$toast('被保险人的年龄不可以超过65周岁')
}
}
//投保人需大于等于 18 周岁
// if (age < 18) {
// return this.$toast('投保人必须是具有民事行为能力且有固定职业和收入的自然人,请确定')
// }
let insuredInfoAge = utilsAge.getAge(this.insuredInfo.birthday, new Date())
// if (this.itemProductDTOS.productCode === 'GFRS_M0049') {
// //幼儿园2岁≤被保险人≤7岁
// if (insuredInfoAge < 2 || insuredInfoAge > 7) {
// return this.$toast('被保险人年龄应为2岁-7岁请重新选择。')
// }
// } else if (this.itemProductDTOS.productCode === 'GFRS_M0048') {
// //义务教育5岁≤被保险人≤18岁
// if (insuredInfoAge < 5 || insuredInfoAge > 18) {
// return this.$toast('被保险人年龄应为5岁-18岁请重新选择。')
// }
// } else if (this.itemProductDTOS.productCode === 'GFRS_M0050') {
// //高中及高等教育15岁≤被保险人≤40岁
// if (insuredInfoAge < 15 || insuredInfoAge > 40) {
// return this.$toast('被保险人年龄应为15岁-40岁请重新选择。')
// }
// } else if (this.itemProductDTOS.productCode === 'GFRS_M0052') {
// //GFRS-2641--少儿安康17岁≤被保险人
// if (insuredInfoAge > 17) {
// return this.$toast('被保险人年龄应为0岁-17岁请重新选择。')
// }
// }
else if (this.itemProductDTOS.productCode === 'GFRS_M0091') {
console.log(this.proSchemeCode)
if (this.proSchemeCode == '06860438-B') {
if (insuredAge < 10) {
return this.$toast('被保险人的年龄需要大于10岁')
}
}
if (insuredAge < 0) {
return this.$toast('被保险人的年龄需要大于28天')
}
if (insuredAge > 65) {
return this.$toast('被保险人的年龄不可以超过65周岁')
}
}
let insuredInfoAge = utilsAge.getAge(this.insuredInfo.birthday, new Date(this.cvaliDate))
if(this.itemProductDTOS.productCode == 'GFRS_M0048' || this.itemProductDTOS.productCode == 'GFRS_M0049' || this.itemProductDTOS.productCode == 'GFRS_M0050'
|| this.itemProductDTOS.productCode == 'GFRS_M0052' ||this.itemProductDTOS.productCode === 'GFRS_M0062' || this.itemProductDTOS.productCode === 'GFRS_M0063'
|| this.itemProductDTOS.productCode === 'GFRS_M0064'){
@@ -2383,6 +2394,27 @@ export default {
this.insuredInfo.homeArea = '500243'
break
}
console.log(this.insuredInfo,'this.insuredInfo')
if(this.itemProductDTOS.productCode === 'GFRS_M0091'){
if(this.proSchemeCode == '06860438-A') {
if (Number(this.insuredInfo.lifeGrade) > 3) {
this.$toast('寿险职业等级不适合此款险种,请选择其他险种!')
return
}
}
if(this.proSchemeCode == '06860438-B') {
if (Number(this.insuredInfo.lifeGrade) > 4) {
this.$toast('寿险职业等级不适合此款险种,请选择其他险种!')
return
}
}
if(!this.proSchemeCode) {
if (Number(this.insuredInfo.lifeGrade) > 4) {
this.$toast('寿险职业等级不适合此款险种,请选择其他险种!')
return
}
}
}
this.infoUpdate()
// console.log('success')
} else {
@@ -2528,6 +2560,9 @@ export default {
return
}
params.orderDTO.insuredDTOs[0].riskDTOLst = riskDTOLst
if(params.orderDTO.insuredDTOs[0].occupationCode == '2099907') {
params.orderDTO.insuredDTOs[0].occupationType = '1'
}
let resultData = await saveOrUpdateCard(params)
if (resultData.result == 0) {
@@ -2732,10 +2767,11 @@ export default {
// GFRS-2641--被保险人职业:幼儿园版默认学龄前儿童,义务教育、高中/高等教育默认一般学生
// 被保险人婚姻默认未婚,允许修改
// 被保险人手机及邮箱默认投保人,允许修改
if (this.itemProductDTOS.productCode == 'GFRS_M0048' || this.itemProductDTOS.productCode == 'GFRS_M0050' || this.itemProductDTOS.productCode === 'GFRS_M0062'
if (this.itemProductDTOS.productCode == 'GFRS_M0048' || this.itemProductDTOS.productCode == 'GFRS_M0050'
|| this.itemProductDTOS.productCode === 'GFRS_M0064') {
this.insuredInfo.occupationCode = '2099907'
this.insuredInfo.occupationName = '一般学生'
this.insuredInfo.occupationType = '1'
this.insuredInfo.marriage = '2'
this.insuredInfo.mobile = this.userInfo.mobile
this.insuredInfo.email = this.userInfo.email
@@ -2747,8 +2783,22 @@ export default {
// this.isInsuredCertiexpiredate = false
this.isInsuredCertiexpiredate = true
} else if (this.itemProductDTOS.productCode == 'GFRS_M0049' || this.itemProductDTOS.productCode === 'GFRS_M0063') {
this.insuredInfo.occupationCode = '2099907'
this.insuredInfo.occupationName = '一般学生'
this.insuredInfo.occupationType = '1'
this.insuredInfo.marriage = '2'
this.insuredInfo.idType = '2'
// this.insuredInfo.effectiveDateType = true
// this.insuredInfo.certiexpiredate = '9999-12-31'
// 去掉--选择户口本时是否长期默认为是不可点击有效止期隐藏证件类型为户口本时被保人年龄小于16周岁时户口本有效止期长期变更为第16周岁日期
// this.effectiveDateTypeAbleInsured = true
// this.isInsuredCertiexpiredate = false
this.isInsuredCertiexpiredate = true
}
else if (this.itemProductDTOS.productCode === 'GFRS_M0062') {
this.insuredInfo.occupationCode = '2099908'
this.insuredInfo.occupationName = '学龄前儿童'
this.insuredInfo.occupationType = '1'
this.insuredInfo.marriage = '2'
this.insuredInfo.idType = '2'
// this.insuredInfo.effectiveDateType = true
@@ -2765,6 +2815,7 @@ export default {
// this.insuredInfo.effectiveDateType = true
this.insuredInfo.occupationCode = '2099907'
this.insuredInfo.occupationName = '一般学生'
this.insuredInfo.occupationType = '1'
this.insuredInfo.marriage = '2'
// 去掉--选择户口本时是否长期默认为是不可点击有效止期隐藏证件类型为户口本时被保人年龄小于16周岁时户口本有效止期长期变更为第16周岁日期
this.effectiveDateTypeAbleInsured = true
@@ -2836,7 +2887,7 @@ export default {
//被保人职业变化时,重新调用试算接口
'insuredInfo.occupationName': {
handler(newV) {
if (newV && this.itemProductDTOS.productCode === 'GFRS_M0071') {
if (newV && (this.itemProductDTOS.productCode === 'GFRS_M0071' || this.itemProductDTOS.productCode === 'GFRS_M0091')) {
this.insureTrial()
}
},
@@ -2846,8 +2897,7 @@ export default {
//投被同人时,投保人职业变化时,重新调用试算接口
'userInfo.occupationName': {
handler(newV) {
// if (newV && this.itemProductDTOS.productCode === 'GFRS_M0071'&& this.userInfo.relationToInsured == 1) {
if (newV && this.itemProductDTOS.productCode === 'GFRS_M0071') {
if (newV && (this.itemProductDTOS.productCode === 'GFRS_M0071' || this.itemProductDTOS.productCode === 'GFRS_M0091')) {
this.insureTrial()
}
},

View File

@@ -90,7 +90,7 @@ export default {
gotoInformation() {
if(this.productType != '7'){ //7代表是团险 10卡单
Dialog.confirm({
title: '温馨提示',
title: '投保提示',
messageAlign: 'left',
confirmButtonColor: '#ee0a24',
confirmButtonText: '立即投保',

View File

@@ -2761,6 +2761,21 @@
}
}
}
else if (productCode == 'GFRS_M0087') {
if(this.saleInsuredPersonInfo.insuredAge>=18 && this.saleInsuredPersonInfo.insuredAge <= 40) {
currentEle['maxAmt'] = 70
}
else if(this.saleInsuredPersonInfo.insuredAge>=41 && this.saleInsuredPersonInfo.insuredAge <= 45) {
currentEle['maxAmt'] = 50
}
else if(this.saleInsuredPersonInfo.insuredAge>=46 && this.saleInsuredPersonInfo.insuredAge <= 50) {
currentEle['maxAmt'] = 40
}
else if(this.saleInsuredPersonInfo.insuredAge>=51 && this.saleInsuredPersonInfo.insuredAge <= 60) {
currentEle['maxAmt'] = 30
}
this.getTrial()
}
else if (this.isTrial === '0' && this.chooseProducts[productIndex].isMainRisk == '0') {
if (Number(defalutValue) < Number(min)) {
if (riskFactor.yearWay == "一次性交清") {

View File

@@ -52,7 +52,7 @@
<script>
import { Cell, CellGroup, Tag, Radio, RadioGroup,Tab,Tabs} from 'vant'
import { mainRiskList,mainRiskListProposal,calculatePremium,getActProductList } from '@/api/ebiz/common/common'
import { getOrderDetail } from '@/api/ebiz/sale/sale'
import { getOrderDetail, riskLevelCheck } from '@/api/ebiz/sale/sale'
import { getDetail } from '@/api/ebiz/proposal/proposal.js'
import riskRules from './risk-rules'
export default {
@@ -70,7 +70,7 @@ export default {
return {
recommendType: '', // 渠道控制
isCrossChannel: 0, // 是否选择交叉渠道列表 0-否 1-是
active: 2,
active: 'normal',
specilFlag: '0',
flag: true,
list: [],
@@ -105,8 +105,6 @@ export default {
} else if (res.orderDTO.orderInfoDTO.productCode == 'GFRS_M0024' || res.orderDTO.orderInfoDTO.productCode == 'GFRS_M0040') {
this.specilFlag = '1'
}
// 处理活动产品
// this.activeFlag = res.orderDTO.orderInfoDTO.activeType
//isActivityCode 有值代表是活动,无值代表是普通产品
this.isActivityCode = res.orderDTO.orderInfoDTO.activityCode
// recommendType 03 银保渠道
@@ -145,26 +143,6 @@ export default {
}
},
methods: {
// checkItemShow(item) {
// if (this.activeFlag != 'KMH' && this.activeFlag != 'SQY') {
// return true
// }
// let showFlag = false
// if (item.activeLst && item.activeLst.length > 0) {
// item.activeLst.forEach(subItem => {
// if (this.activeFlag && this.activeFlag == 'KMH') {
// if (subItem == 'KMH') {
// showFlag = true;
// }
// }else if (this.activeFlag && this.activeFlag == 'SQY') {
// if (subItem == 'SQY') {
// showFlag = true;
// }
// }
// })
// }
// return showFlag
// },
onChangeMainList(name){
if (name == 'cross') {
this.isCrossChannel = '1';
@@ -224,24 +202,25 @@ export default {
}
if (this.list.length == 0) {
this.$dialog({ message: '暂无可选产品!' }).then(() => {
let thismyurl = ''
if (this.$route.query.orderNo) {
thismyurl = '?orderNo=' + this.$route.query.orderNo
} else if (this.$route.query.proposalOrderNo) {
thismyurl = '?proposalOrderNo=' + this.$route.query.proposalOrderNo
}
this.$jump({
flag: 'goBack',
// extra: {
// url: location.origin + '/#/common/selectedProduct'
// },
routerInfo: {
type: 1,
path: '/common/selectedProduct' + thismyurl
}
})
})
this.$route('暂无可选产品')
// this.$dialog({ message: '暂无可选产品!' }).then(() => {
// let thismyurl = ''
// if (this.$route.query.orderNo) {
// thismyurl = '?orderNo=' + this.$route.query.orderNo
// } else if (this.$route.query.proposalOrderNo) {
// thismyurl = '?proposalOrderNo=' + this.$route.query.proposalOrderNo
// }
// this.$jump({
// flag: 'goBack',
// // extra: {
// // url: location.origin + '/#/common/selectedProduct'
// // },
// routerInfo: {
// type: 1,
// path: '/common/selectedProduct' + thismyurl
// }
// })
// })
}
}
},
@@ -300,40 +279,63 @@ export default {
}
if (this.list.length == 0) {
this.$dialog({ message: '暂无可选产品!' }).then(() => {
let thismyurl = ''
if (this.$route.query.orderNo) {
thismyurl = '?orderNo=' + this.$route.query.orderNo
} else if (this.$route.query.proposalOrderNo) {
thismyurl = '?proposalOrderNo=' + this.$route.query.proposalOrderNo
}
this.$jump({
flag: 'goBack',
// extra: {
// url: location.origin + '/#/common/selectedProduct'
// },
routerInfo: {
type: 1,
path: '/common/selectedProduct' + thismyurl
}
})
})
this.$route('暂无可选产品')
// this.$dialog({ message: '暂无可选产品!' }).then(() => {
// let thismyurl = ''
// if (this.$route.query.orderNo) {
// thismyurl = '?orderNo=' + this.$route.query.orderNo
// } else if (this.$route.query.proposalOrderNo) {
// thismyurl = '?proposalOrderNo=' + this.$route.query.proposalOrderNo
// }
// this.$jump({
// flag: 'goBack',
// // extra: {
// // url: location.origin + '/#/common/selectedProduct'
// // },
// routerInfo: {
// type: 1,
// path: '/common/selectedProduct' + thismyurl
// }
// })
// })
}
}
},
//下一步
nextStep() {
console.log(this.result)
if (!this.result) {
this.$toast('请选择产品')
return
}
//置空产品
localStorage.chooseProducts = ''
//添加主险
this.addMainRisk()
if(localStorage.getItem('isFrom') == 'sale') {
let params = {
productCode: this.result.riskProductCode,
orderNo: this.$route.query.orderNo,
}
if(this.recommendType == '03' && !this.isActivityCode) {
params.productChannl = this.isCrossChannel
}
riskLevelCheck(params).then(res => {
if(res.result == 0) {
if(res.saLevelMatch == "Y"){
//置空产品
localStorage.chooseProducts = ''
//添加主险
this.addMainRisk()
} else {
this.$toast(res.resultMessage)
}
} else {
this.$toast(res.resultMessage)
}
})
} else {
//置空产品
localStorage.chooseProducts = ''
//添加主险
this.addMainRisk()
}
},
//储存主险
async addMainRisk() {

View File

@@ -750,6 +750,10 @@
if (this.chooseProducts.length == 0) {
return this.$toast('请添加产品')
}
if(!this.isElecCont && localStorage.isFrom == 'sale') {
this.$toast('请选择保单形式')
return false
}
//重新校验该产品是否需要为协同单位
let flagCompany = await riskRules.checkCompany(this.chooseProducts[0].riskCode, JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).workcompany, JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).isAsync,this)
if (flagCompany && localStorage.isFrom != 'proposal') {
@@ -817,6 +821,32 @@
}
}
}
if(this.manageComCode == '45') {
console.log(this.chooseProducts)
if(this.appntDTO.age >= 60) {
this.chooseProducts.map(item => {
if (item.insuYearFlag == 'A' || (item.insuYearFlag == 'Y' && item.insuYear != '1')) {
showFlag = true
return true
}
})
if(!showFlag){
let doubleRecordRes = await getDoubleRecordProductLst({})
if(doubleRecordRes.result == 0){
if(doubleRecordRes.content && doubleRecordRes.content.length != 0){
doubleRecordRes.content.forEach(items=>{
this.chooseProducts.map(item => {
if (item.riskCode == items ) {
showFlag = true
return true
}
})
})
}
}
}
}
}
if (showFlag) {
this.thisdoubledialogshow = true
} else {
@@ -961,35 +991,6 @@
}
})
},
async showTipForDoubleRecord() {
//判断投保人年龄是否大于等于60岁
let showFlag = false
let age = this.appntDTO.birthday?utilsAge.getAge(this.appntDTO.birthday, new Date()):this.appntDTO.age
if (this.manageComCode == '52') {
this.chooseProducts.map(item => {
if (item.insuYearFlag == 'A' || (item.insuYearFlag == 'Y' && item.insuYear != '1')) {
showFlag = true
return true
}
})
}
if(showFlag){
let doubleRecordRes = await getDoubleRecordProductLst({})
if(doubleRecordRes.result == 0){
if(doubleRecordRes.content && doubleRecordRes.content.length != 0){
doubleRecordRes.content.forEach(items=>{
this.chooseProducts.map(item => {
if (item.riskCode == items ) {
showFlag = true
return true
}
})
})
}
}
}
return showFlag
},
nextPageShow() {
let thismyurl = ''
if (this.$route.query.orderNo) {
@@ -1001,47 +1002,30 @@
localStorage.fromAddBeneficiaryInfo = ''
localStorage.removeItem('applicant')
if(this.isFrom == 'sale') {
if(!this.isElecCont) {
this.$toast('请选择保单形式')
return false
let params = {
orderNO: this.$route.query.orderNo,
isElecCont: this.isElecCont
}
else {
let params = {
orderNO: this.$route.query.orderNo,
isElecCont: this.isElecCont
if(this.isElecCont == '1') {
params.isElecCont = '0'
}
saveOrderType(params).then(res => {
if(res.result == 0) {
this.$jump({
flag: 'h5',
extra: {
forbidSwipeBack: '1',
url: location.origin + '/#' + thismyurl,
needRefresh: '1'
},
routerInfo: {
path: thismyurl
}
})
} else {
this.$toast(res.resultMessage)
}
if(this.isElecCont == '1') {
params.isElecCont = '0'
}
saveOrderType(params).then(res => {
if(res.result == 0) {
this.$jump({
flag: 'h5',
extra: {
forbidSwipeBack: '1',
url: location.origin + '/#' + thismyurl,
needRefresh: '1'
},
routerInfo: {
path: thismyurl
}
})
} else {
this.$toast(res.resultMessage)
}
})
// this.$jump({
// flag: 'h5',
// extra: {
// forbidSwipeBack: '1',
// url: location.origin + '/#' + thismyurl,
// needRefresh: '1'
// },
// routerInfo: {
// path: thismyurl
// }
// })
}
})
} else {
this.$jump({
flag: 'h5',

View File

@@ -310,10 +310,10 @@ export default {
if(this.appntDTO.name == name){
this.appntDTO.name = ''
}
let ageRule = /^[a-zA-Z0-9\.\s\u4e00-\u9fa5]{2,120}$/
if (this.appntDTO.name && !ageRule.test(this.appntDTO.name)) {
return Toast.fail('姓名长度为2-120个字符之内只能输入汉字、数字或者英文')
}
// let ageRule = /^[a-zA-Z\.\s\u4e00-\u9fa5]{2,120}$/
// if (this.appntDTO.name && !ageRule.test(this.appntDTO.name)) {
// return Toast.fail('姓名长度为2-120个字符之内只能输入汉字或者英文')
// }
this.appntDTO.age = String(this.appntDTO.age)
this.$validator.validate().then(valid => {
if (true === valid) {

View File

@@ -339,10 +339,10 @@ export default {
let localSex = this.insured.sex
let relation = this.localInfo.relationToAppnt
let resultSex = checkSex(cacheSex, localSex, relation)
let ageRule = /^[a-zA-Z0-9\.\s\u4e00-\u9fa5]{2,120}$/
if (this.insured.name && !ageRule.test(this.insured.name)) {
return Toast.fail('姓名长度为2-120个字符之内只能输入汉字、数字或者英文')
}
// let ageRule = /^[a-zA-Z0-9\.\s\u4e00-\u9fa5]{2,120}$/
// if (this.insured.name && !ageRule.test(this.insured.name)) {
// return Toast.fail('姓名长度为2-120个字符之内只能输入汉字、数字或者英文')
// }
if (!resultSex) {
return Toast.fail('被保险人性别有误')
}

View File

@@ -1487,26 +1487,10 @@
this.$CacheUtils.setLocItem('orderNo', resultData.orderNo)
// localStorage.insuredDetail = JSON.stringify(this.userInfo)
// 添加提示
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
if (age >= 60 && this.manageComCode == '45') {
this.thisdoubledialogshow = true
// this.$dialog
// .alert({
// message: '根据监管要求,本单需要您配合对销售过程进行录音录像!',
// confirmButtonColor: '#000000',
// })
// .then(() => {
// this.$jump({
// flag: 'h5',
// extra: {
// url: location.origin + `/#/sale/insuredPerson?${str}` + '&orderNo=' + resultData.orderNo,
// },
// routerInfo: {
// path: `/sale/insuredPerson?${str}` + '&orderNo=' + resultData.orderNo,
// },
// })
// })
} else {
// let age = utilsAge.getAge(this.userInfo.birthday, new Date())
// if (age >= 60 && this.manageComCode == '45') {
// this.thisdoubledialogshow = true
// } else {
this.$jump({
flag: 'h5',
extra: {
@@ -1516,7 +1500,7 @@
path: `/sale/insuredPerson?${this.thismystr}` + '&orderNo=' + this.thismyorderNo,
},
})
}
// }
} else {
this.$toast(resultData.resultMessage)
}