Compare commits

..

2 Commits

Author SHA1 Message Date
liu.xiaofeng@ebiz-digits.com
774fed8691 上传附件增加断点查看代码逻辑运行分支 2023-07-10 11:36:49 +08:00
liu.xiaofeng@ebiz-digits.com
6bdac57653 卡单问题关于选择人员后变更了保费问题以及立即投保数据传递关于职业信息 2023-07-07 17:28:59 +08:00
23 changed files with 1804 additions and 2363 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 KiB

After

Width:  |  Height:  |  Size: 259 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 281 KiB

After

Width:  |  Height:  |  Size: 126 KiB

View File

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

View File

@@ -1,167 +0,0 @@
export default {
//计算身份证起始日期
getStartDate: function(age, endDate) {
let startDate = '' //证件起始日期
let thisDate = new Date() //当年日期
let thisyear = thisDate.getFullYear() //当前年份
if (age < 16) {
/**
* @Author: LiuXiaoFeng
* @Description: 16周岁以下的证件有效期为5年
* @Date: 2023/7/4
**/
startDate = String(Number(endDate.slice(0,4)) - 5) + endDate.slice(4,11)
} else if (age >= 16 && age <= 21) {
/**
* @Author: LiuXiaoFeng
* @Description: 16周岁~21周岁的证件有效期为10年或5年
* @Date: 2023/7/4
**/
if (age - (10 - (endDate.slice(0,4) - thisyear)) < 16 ) {
/**
* @Author: LiuXiaoFeng
* @Description: 如果证件有效期为10年 根据证件截止日期 判断10年前的年龄 如果小于16周岁 那么证件有效期就是5年
* @Date: 2023/7/5
**/
startDate = String(Number(endDate.slice(0,4)) - 5) + endDate.slice(4,11)
} else {
startDate = String(Number(endDate.slice(0,4)) - 10) + endDate.slice(4,11)
}
} else if(age >= 22 && age <= 25) {
/**
* @Author: LiuXiaoFeng
* @Description: 22周岁~25周岁的证件有效期为10年
* @Date: 2023/7/4
**/
startDate = String(Number(endDate.slice(0,4)) - 10) + endDate.slice(4,11)
} else if (age >= 26 && age <= 35) {
/**
* @Author: LiuXiaoFeng
* @Description: 26周岁~35周岁的证件有效期为20年或10年
* @Date: 2023/7/4
**/
if (age - (20 - (endDate.slice(0,4) - thisyear)) < 26 ) {
/**
* @Author: LiuXiaoFeng
* @Description: 如果证件有效期为20年 根据证件截止日期 判断20年前的年龄 如果小于26周岁 那么证件有效期就是10年
* @Date: 2023/7/5
**/
startDate = String(Number(endDate.slice(0,4)) - 10) + endDate.slice(4,11)
} else {
startDate = String(Number(endDate.slice(0,4)) - 20) + endDate.slice(4,11)
}
} else if (age >= 36 && age <= 45) {
/**
* @Author: LiuXiaoFeng
* @Description: 36周岁~45周岁的证件有效期为20年
* @Date: 2023/7/4
**/
startDate = String(Number(endDate.slice(0,4)) + 20) + endDate.slice(4,11)
} else if (age >= 46 && age <= 65) {
/**
* @Author: LiuXiaoFeng
* @Description: 46周岁~65周岁的证件有效期为20年或长期
* @Date: 2023/7/4
**/
if (age - (20 - (endDate.slice(0,4) - thisyear)) < 46 ) {
/**
* @Author: LiuXiaoFeng
* @Description: 如果证件有效期为20年 根据证件截止日期 判断20年前的年龄 如果小于46周岁 那么证件有效期就是20年
* @Date: 2023/7/5
**/
startDate = String(Number(endDate.slice(0,4)) - 20) + endDate.slice(4,11)
}
} else if (age > 65) {
/**
* @Author: LiuXiaoFeng
* @Description: 65周岁以上的证件有效期为长期
* @Date: 2023/7/4
**/
}
return startDate
},
//计算身份证截止日期
getEndDate: function(age, startDate) {
let endDate = '' //证件截止日期
let thisDate = new Date() //当年日期
let thisyear = thisDate.getFullYear() //当前年份
if (age < 16) {
/**
* @Author: LiuXiaoFeng
* @Description: 16周岁以下的证件有效期为5年
* @Date: 2023/7/4
**/
endDate = String(Number(startDate.slice(0,4)) + 5) + startDate.slice(4,11)
} else if (age >= 16 && age <= 21) {
/**
* @Author: LiuXiaoFeng
* @Description: 16周岁~21周岁的证件有效期为10年或5年
* @Date: 2023/7/4
**/
if (age - (thisyear - startDate.slice(0,4)) < 16 ) {
/**
* @Author: LiuXiaoFeng
* @Description: 根据证件起始日期计算办证时年龄 如果办证时年龄小于16周岁 那么证件有效期就是5年
* @Date: 2023/7/5
**/
endDate = String(Number(startDate.slice(0,4)) + 5) + startDate.slice(4,11)
} else {
endDate = String(Number(startDate.slice(0,4)) + 10) + startDate.slice(4,11)
}
} else if(age >= 22 && age <= 25) {
/**
* @Author: LiuXiaoFeng
* @Description: 22周岁~25周岁的证件有效期为10年
* @Date: 2023/7/4
**/
endDate = String(Number(startDate.slice(0,4)) + 10) + startDate.slice(4,11)
} else if (age >= 26 && age <= 35) {
/**
* @Author: LiuXiaoFeng
* @Description: 26周岁~35周岁的证件有效期为20年或10年
* @Date: 2023/7/4
**/
if (age - (thisyear - startDate.slice(0,4)) < 26 ) {
/**
* @Author: LiuXiaoFeng
* @Description: 根据证件起始日期计算办证时年龄 如果办证时年龄小于26周岁 那么证件有效期就是10年
* @Date: 2023/7/5
**/
endDate = String(Number(startDate.slice(0,4)) + 10) + startDate.slice(4,11)
} else {
endDate = String(Number(startDate.slice(0,4)) + 20) + startDate.slice(4,11)
}
} else if (age >= 36 && age <= 45) {
/**
* @Author: LiuXiaoFeng
* @Description: 36周岁~45周岁的证件有效期为20年
* @Date: 2023/7/4
**/
endDate = String(Number(startDate.slice(0,4)) + 20) + startDate.slice(4,11)
} else if (age >= 46 && age <= 65) {
/**
* @Author: LiuXiaoFeng
* @Description: 46周岁~65周岁的证件有效期为20年或长期
* @Date: 2023/7/4
**/
if (age - (thisyear - startDate.slice(0,4)) < 46 ) {
/**
* @Author: LiuXiaoFeng
* @Description: 根据证件起始日期计算办证时年龄 如果办证时年龄小于46周岁 那么证件有效期就是20年
* @Date: 2023/7/5
**/
endDate = String(Number(startDate.slice(0,4)) + 20) + startDate.slice(4,11)
}
} else if (age > 65) {
/**
* @Author: LiuXiaoFeng
* @Description: 65周岁以上的证件有效期为长期
* @Date: 2023/7/4
**/
}
return endDate
}
}

View File

@@ -3777,22 +3777,6 @@ export default {
{
code: "GFRS_M0073__cashValue",
label: "元"
},
{
code: "currentBonus_L",
label: "元"
},
{
code: "currentBonus_M",
label: "元"
},
{
code: "riskAC_L",
label: "元"
},
{
code: "riskAC_M",
label: "元"
}
],
// 卡单与短期险重新投保选择职业类别时,两个模块职业类型数据的排序不同,创建这个数据字典,用于在选择职业类别时,作为一个参数传入组件,

View File

@@ -653,6 +653,12 @@ 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':

View File

@@ -54,7 +54,7 @@
</template>
<script>
import {Field, GoodsAction, GoodsActionIcon, GoodsActionButton, Icon, Collapse, CollapseItem, Dialog} from 'vant'
import { Field, GoodsAction, GoodsActionIcon, GoodsActionButton, Icon ,Collapse, CollapseItem} 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'
@@ -79,8 +79,7 @@ export default {
riskDTO: {},
productDate: '',
orderInfoDTO:{},
isGroupCard:'',
mainRiskCode: ''
isGroupCard:''
// isLessEighteen: true // 被保人手机号和邮箱默认展示
}
},
@@ -102,11 +101,6 @@ export default {
this.orderInfoDTO = res.orderDTO.orderInfoDTO
this.insuredInfo = res.orderDTO.insuredDTOs
this.insuredInfo.forEach(item => {
item.riskDTOLst.forEach(ii=>{
if(ii.isMainRisk == '0'){
this.mainRiskCode = ii.mainRiskCode
}
})
item.homeName = getAreaName([{ code: item.homeProvince }, { code: item.homeCity }, { code: item.homeArea }])
})
// this.riskDTO = res.orderDTO.insuredDTOs[0].riskDTOLst[0]
@@ -138,37 +132,15 @@ export default {
},
methods: {
nextStep() {
if(this.mainRiskCode == 'GFRS_M0058'){
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(() => {
})
}else{
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/cardList/SignatureConfirmation?isGroupCard=`+this.isGroupCard
},
routerInfo: {
path: `/cardList/SignatureConfirmation?isGroupCard=`+this.isGroupCard
}
})
}
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/cardList/SignatureConfirmation?isGroupCard=`+this.isGroupCard
},
routerInfo: {
path: `/cardList/SignatureConfirmation?isGroupCard=`+this.isGroupCard
}
})
}
}
}

View File

@@ -290,7 +290,6 @@ export default {
accBankProvince: '',
accBankCity: '',
areaStr: '',
mainRiskCode: '',
isGroupCard:'' //1 团险标识
}
},
@@ -311,13 +310,17 @@ 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'){
this.mainRiskCode = ii.mainRiskCode
}
})
})
// this.radio = '3'
// this.isLoading = true
// this.$toast.loading({
// duration: 0, // 持续展示 toast
// forbidClick: true, // 禁用背景点击
// loadingType: 'spinner',
// message: '加载中……'
// })
// setTimeout(() => {
// this.pay()
// }, 500)
} else {
document.title = '支付分享'
// 再次支付 调详情 获取信息
@@ -510,13 +513,6 @@ export default {
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'){
this.mainRiskCode = ii.mainRiskCode
}
})
})
this.orderStatus = res.orderDTO.orderInfoDTO.orderStatus
try {
if (this.noEdit) {
@@ -746,69 +742,58 @@ export default {
支付之前要先保存银行账户信息
*/
let res = await saveOrUpdateAccount(data)
// .then(res => {
console.log('res', res)
this.$toast.clear()
if (res.result == '0') {
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, // 禁用背景点击
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
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
this.acceptInsurance()
})
.catch(() => {
})
}else{
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
this.acceptInsurance()
}
// 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()
// if (rs.result != '0') {
// this.$toast.clear()
// return this.$toast(rs.resultMessage)
// }
// if (rs.uwResult != '02') {
// return this.$toast(rs.message)
// }
// }
this.acceptInsurance()
}
},
// 选择微信支付校验身份证类型

View File

@@ -127,8 +127,7 @@ export default {
productDate = new Date(parseInt(hoDate) * 1000)
insuYearM = productDate.getMonth() + 1 < 10 ? '0' + (productDate.getMonth() + 1) : productDate.getMonth() + 1
insuYearD = productDate.getDate() < 10 ? '0' + productDate.getDate() : productDate.getDate()
// productDateTime = productDate.getFullYear() + '' + insuYearM + '' + insuYearD + ''
productDateTime = afterDate.getAfterDateTime(insuYear.cvaliDate,1)
productDateTime = productDate.getFullYear() + '' + insuYearM + '' + insuYearD + ''
this.productDate = currentData + '0时至' + productDateTime + '24时止'
this.orderAmount = this.orderDTO.orderInfoDTO.orderAmount
},

File diff suppressed because it is too large Load Diff

View File

@@ -23,7 +23,7 @@
</div>
<div class="text-right pv5">
<van-button v-if="isFrom == 'proposal'" size="small" round @click="editInsure(index,item)" class="mr5" type="danger">编辑</van-button>
<!-- <van-button v-if="isFrom == 'proposal'" size="small" round @click="editInsure(index,item)" class="mr5" type="danger">编辑</van-button>-->
<van-button size="small" round @click="deteleInsure(index)" plain type="danger">删除</van-button>
</div>
</div>
@@ -119,7 +119,7 @@
<script>
import { Tag, SubmitBar, Icon, Dialog, RadioGroup, Radio, Image } from 'vant'
import FieldPicker from '@/components/ebiz/FieldPicker'
import { orderDetail, deleteOrderInfo, mainRiskList, mainRiskListProposal, calculatePremium } from '@/api/ebiz/common/common'
import { orderDetail, deleteOrderInfo } from '@/api/ebiz/common/common'
import { formatAllRisk } from '@/assets/js/utils/formatRiskList'
import { getDetail, deleteProposal } from '@/api/ebiz/proposal/proposal.js'
import { saveOrderActiveType,getActivityList } from '@/api/ebiz/sale/sale.js'
@@ -148,7 +148,6 @@ export default {
noCheckedUrl: require('@/assets/images/kmh/no_checked.png'),
proposalOrderNo:'',
renovate:'',//刷新子组件
isCrossChannel: 0, // 是否选择交叉渠道列表 0-否 1-是
}
},
components: {
@@ -181,30 +180,18 @@ export default {
}
//建议书--右上角为退出流程键(到建议书列表)×,并清除浏览记录
if (localStorage.isFrom == 'proposal') {
// eslint-disable-next-line no-undef
setTimeout(() => {
EWebBridge.webCallAppInJs('webview_right_button', {
btns: [
{
img: this.$assetsUrl + 'images/del-close.png',
route: { flag: '', extra: {} }
}
]
})
}, 500)
getDetail({
orderNo: this.$route.query.proposalOrderNo
}).then(res => {
if (res.result == '0') {
this.recommendType = res.content[0].recmdDTO?res.content[0].recmdDTO.recommendType:'';
if (this.recommendType == '02' || this.recommendType == '11') {
// 电投 团险渠道产品 均为交叉渠道销售
this.isCrossChannel = '1';
}
}
})
// eslint-disable-next-line no-undef
setTimeout(() => {
EWebBridge.webCallAppInJs('webview_right_button', {
btns: [
{
img: this.$assetsUrl + 'images/del-close.png',
route: { flag: '', extra: {} }
}
]
})
}, 500)
}
window.appCallBack = this.appCallBack
document.body.style.backgroundColor = '#fff'
this.getProductList()
@@ -435,236 +422,8 @@ export default {
this.$toast(resultData.resultMessage)
}
},
//获取主险列表--普通产品
async getMainRiskList(riskProductCode) {
let mainRiskCodes = localStorage.mainRiskCodes && JSON.parse(localStorage.mainRiskCodes)
let mainListDate = { platform: 'app' }
switch (this.isFrom) {
case 'proposal':
mainListDate.platform = 'proposal'
break
case 'sale':
mainListDate.platform = 'app'
break
}
if (this.isCrossChannel == '1') {
mainListDate.platform = 'cross'
}
let resultData
if(this.isFrom == 'proposal'){
resultData = await mainRiskListProposal(mainListDate)
}else{
resultData = await mainRiskList(mainListDate)
}
if (resultData.result == 0) {
if (resultData.mainRiskDTOS && resultData.mainRiskDTOS.length > 0){
resultData.mainRiskDTOS.forEach(item=>{
if (item.riskProductCode == riskProductCode) {
this.result = item
}
})
this.addMainRisk()
}
}
},
//储存主险
async addMainRisk() {
localStorage.setItem('isTrial', '1')
let riskProductCode = this.result.riskProductCode
let resultData = await calculatePremium({ productCodes: [riskProductCode], platform: 'app', type: '1' })
if (resultData.result == 0) {
resultData = resultData.trialDTOS[0]
localStorage.isTrial = resultData.productTrialInfoDTO.productTrialYearDTOS != null ? '0' : '1'
localStorage.hint = resultData.hint
if (resultData.productTrialInfoDTO.dutyGroup != null) {
resultData.productTrialInfoDTO.dutyGroup.map(item => {
if (item.dutyName == '意外身故/伤残保险金') {
item.defaultDutyAmt = item.minDutyAmt
}
})
}
if (resultData.productTrialInfoDTO.ruleExpression) {
let ruleExpression = localStorage.ruleExpression ? JSON.parse(localStorage.ruleExpression) : {}
ruleExpression[resultData.productCode] = resultData.productTrialInfoDTO.ruleExpression
localStorage.ruleExpression = JSON.stringify(ruleExpression)
}
/********start 主险选择限制 start******/
// 检验投被人关系 惠企保特殊校验
if (riskProductCode == 'GFRS_M0040') {
if (riskRules.relationLimit(resultData, JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).relationToAppnt, this)) {
return
}
}
// 检验投被人关系 国富人寿特定疾病药品费用医疗保险特殊校验
if (riskProductCode == 'GFRS_M0045') {
if (riskRules.relationCommonLimit(resultData, JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).relationToAppnt, this)) {
return
}
}
if (riskRules.ageLimit(resultData, this, null,riskProductCode)) {
return
}
if (riskRules.medicalLimit(resultData, this)) {
return
}
if (riskRules.healthGradeLimit(resultData, this)) {
return
}
// if (riskRules.lifeGradeLimit(resultData, this)) {
// return
// }
//validateAppntFlag 0-职业寿险等级需校验主合同的投保人1-职业寿险等级无需校验主合同的投保人
if (resultData.productInsuredDTO.validateAppntFlag == '0') {
//校验主合同投保人寿险职业等级
if (riskRules.lifeGradeLimitForBaby(resultData, this)) {
return
}
} else {
//校验主合同被保险人寿险职业等级
if (riskRules.lifeGradeLimit(resultData, this)) {
return
}
}
let flagPermission = await riskRules.getProductSellPermissionList(resultData.productCode, this,this.isCrossChannel)
if (flagPermission.flag && localStorage.isFrom != 'proposal') {
//校验该代理人是否有该产品的售卖权限
return this.$toast(flagPermission.resultMessage)
}
let flagCompany = await riskRules.checkCompany(resultData.productCode, JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).workcompany, JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).isAsync,this)
if (flagCompany && localStorage.isFrom != 'proposal') {
//校验该投保人的工作单位是否能够投保该产品
return this.$toast('该投保人工作单位不能投保该产品')
}
/********end 主险选择限制 end******/
//保存附加险
localStorage.addtionRiskLst = JSON.stringify(resultData.productTrialInfoDTO.addtionRiskLst)
localStorage.isAutoPay = resultData.isAutoPay
localStorage.isRenew = resultData.isRenew
localStorage.isForceRenew = resultData.isForceRenew
localStorage.isRelated = resultData.isRelated
let calFactorLst = this.getFactorList(resultData)
let productTrialYearDTOS = resultData.productTrialInfoDTO.productTrialYearDTOS != null ? resultData.productTrialInfoDTO.productTrialYearDTOS : null
let hasAddtionRisk = (resultData.productTrialInfoDTO.addtionRiskLst != null && resultData.productTrialInfoDTO.addtionRiskLst.length) ? true : false
let currentProductInfo = localStorage.isTrial == '1' ? {
isCrossChannel:this.isCrossChannel,
calFactorLst,
hasAddtionRisk,
isMainRisk: 0,
hint: resultData.hint,
riskType: resultData.riskType,
riskName: this.result.riskName,
productCode: this.result.riskProductCode,
mainRiskCode: this.result.riskProductCode,
documentDTOS: resultData.productTrialInfoDTO.documentDTOS,
influences: resultData.productTrialInfoDTO.influences,
isRemit: resultData.productTrialInfoDTO.isRemit,
hasPredictTransferPrem: resultData.productTrialInfoDTO.hasPredictTransferPrem, //建议书使用 是否展示预计转入保费
predictTransferPrem: null //建议书使用 预计转入保费字段
} : {
isCrossChannel:this.isCrossChannel,
productTrialYearDTOS,
calFactorLst,
hasAddtionRisk,
isMainRisk: 0,
hint: resultData.hint,
riskType: resultData.riskType,
riskName: this.result.riskName,
productCode: this.result.riskProductCode,
mainRiskCode: this.result.riskProductCode,
documentDTOS: resultData.productTrialInfoDTO.documentDTOS,
influences: resultData.productTrialInfoDTO.influences,
isRemit: resultData.productTrialInfoDTO.isRemit,
hasPredictTransferPrem: resultData.productTrialInfoDTO.hasPredictTransferPrem, //建议书使用 是否展示预计转入保费
predictTransferPrem: null //建议书使用 预计转入保费字段
}
//构建险种数组
let productsData
if (localStorage.chooseProducts) {
productsData = JSON.parse(localStorage.chooseProducts)
productsData.push(currentProductInfo)
} else {
productsData = [currentProductInfo]
}
//保存选择险种
productsData = this.$utils.unrepeatObj(productsData, 'productCode') //产品数组去重,跳转试算页面未成功重复添加同一产品的情况
localStorage.chooseProducts = JSON.stringify(productsData)
this.jumpTo(this.thisEditIndex,this.thisEditData)
}
},
//构建险种因子列表
getFactorList(resultData) {
let productTrialInfoDTO = resultData.productTrialInfoDTO
console.log(productTrialInfoDTO, 'wode')
let calFactorLst = resultData.productTrialInfoDTO.calFactorLst
console.log('calFactorLst', calFactorLst)
calFactorLst.forEach(item => {
item['isMainRisk'] = 0
item.columns = []
if (item.type == 0) {
//1、type=0 select 2、type=1 input+stepper
productTrialInfoDTO[item.code].forEach(factor => {
if (factor.defaultValue == 0) {
item.showContent = factor.showContent
if (factor[item.code + 'Flag'] != undefined) {
item[item.code] = factor[item.code]
item[item.code + 'Flag'] = factor[item.code + 'Flag']
item.hasFlag = '1'
}else if(item.code == 'pensionAge'){
//养老保险金领取年龄
item[item.code] = factor[item.code]
item['sex'] = factor.sex
}else {
item[item.code] = factor[item.code]
}
}
let itemColumns = { text: factor.showContent, value: factor[item.code], flag: factor[item.code + 'Flag'],sex:factor.sex}
if (factor.medical !== undefined) {
itemColumns.medical = factor.medical
}
item.columns.push(itemColumns)
})
} else if (item.type == 1) {
//按年龄选择
if (productTrialInfoDTO[item.code] != null) {
productTrialInfoDTO[item.code].forEach(factor => {
// item = Object.assign(item, factor)
if(JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).insuredAge >= Number(factor.minAge) && JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).insuredAge <= Number(factor.maxAge)){
// if(JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).age >= Number(factor.minAge) && JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).age <= Number(factor.maxAge)){
item = Object.assign(item, factor)
}
})
if (item.code == 'inputPrem') {
item['inputPrem'] = Number(item.minPrem) * Number(item.moneyUnit)
} else {
item['amt'] = Number(item.minAmt) * Number(item.moneyUnit)
}
}
}
//规则储存
item['rules'] = productTrialInfoDTO[item.code]
})
// // 用于意外险初始化保额
// calFactorLst.map(item => {
// if (item.code == '"dutyGroup"') {
// item.rules.map(factor => {
// factor[0].defaultDutyAmt = 50
// })
// }
// })
return calFactorLst
},
jumpTo(index,data){
//编辑
editInsure(index,data){
let insuanceIdInfo = [{insuanceId: data.insuanceId, riskCode: data.riskCode, isMainRisk: 0 }]
if(data.addtion && data.addtion.length != 0){
data.addtion.forEach(item=>{
@@ -678,12 +437,11 @@ export default {
let isProposal = localStorage.isFrom == 'proposal' ? true : false
let thismyurl = ''
if (this.$route.query.orderNo) {
thismyurl = '/common/calculatePremium/?orderNo=' + this.$route.query.orderNo + '&insuanceIdInfo='+JSON.stringify(insuanceIdInfo)
thismyurl = '/common/calculatePremium/?orderNo=' + this.$route.query.orderNo + '&insuanceId='+insuanceId
} else if (this.$route.query.proposalOrderNo) {
thismyurl = '/common/calculatePremium?proposalOrderNo=' + this.$route.query.proposalOrderNo + '&insuanceIdInfo='+JSON.stringify(insuanceIdInfo)
thismyurl = '/common/calculatePremium?proposalOrderNo=' + this.$route.query.proposalOrderNo + '&insuanceId='+insuanceId
}
if (isProposal) {
window.localStorage.removeItem("editproposaladdrisk")
this.$jump({
flag: 'h5',
extra: {
@@ -695,12 +453,6 @@ export default {
})
}
},
//编辑
editInsure(index,data){
this.thisEditIndex = index
this.thisEditData = data
this.getMainRiskList(data.riskCode)
},
//下一步
async nextStep() {
if (!this.$route.query.salePageFlag) {

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_M0073')" />
<img src="../../../assets/images/home_cp_1.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0002')" />
</div>
<div class="pcenter-item text-center">
<img src="../../../assets/images/home_cp_2.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0072')" />
<img src="../../../assets/images/home_cp_2.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0035')" />
</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_M0073')" />
<img src="../../../assets/images/home_cp_1.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0002')" />
</div>
<div class="pcenter-item text-center">
<img src="../../../assets/images/home_cp_2.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0072')" />
<img src="../../../assets/images/home_cp_2.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0046')" />
</div>
</div>
</div>

View File

@@ -453,10 +453,21 @@ export default {
//编辑被保险人
edit(item) {
item.birthday = item.birthdayLabel
// item.age = item.insuredAge
this.$CacheUtils.setLocItem('saleInsuredPersonInfo', JSON.stringify(item)) //存储被保险人信息
localStorage.isFrom = 'proposal'
// let url = `/common/selectedProduct?proposalEdit=1&proposalOrderNo=${item.orderNo}`
let url = `/proposal/insuredPerson?proposalOrderNo=${this.proposalOrderNo}&insuredId=`+item.insuredId
this.$router.push({ path: url })
// this.$jump({
// flag: 'h5',
// extra: {
// url: location.origin + `/#${url}`
// },
// routerInfo: {
// path: url
// }
// })
},
//添加被保险人 添加一个没有险种的被保险人
addPerson(item) {

View File

@@ -326,11 +326,11 @@ export default {
//点击下一步
nextStep() {
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
// let sex = this.insured.sex == '0'?'男':'女'
// let name = sex + this.insured.insuredAge+'岁'
// if(this.insured.name == name){
// this.insured.name = ''
// }
let sex = this.insured.sex == '0'?'男':'女'
let name = sex + this.insured.insuredAge+'岁'
if(this.insured.name == name){
this.insured.name = ''
}
//保存有没有社保,在保费计算用到
//localStorage.setItem('proposalMedical', this.insured.medical == '0' ? '1' : '0')
localStorage.proposalMedical = this.insured.medical == '0' ? '1' : '0'

View File

@@ -4,12 +4,11 @@
</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' //使用数据字典中的险种类型
import { weixinShare } from '@/assets/js/utils/wxShare.js'
import { getAgentInfo } from '@/api/ebiz/my/my.js'
import { queryPersonal } from '@/api/ebiz/laurelClub/laurelClub'
export default {
data() {
@@ -17,8 +16,7 @@ export default {
return {
pdfUrl: '',
isWeixin,
title: '',
agent:{}
title: ''
}
},
components: {
@@ -33,7 +31,7 @@ export default {
this.init()
}
},
async mounted() {
mounted() {
let riskCode = localStorage.pdfShareCode
dataDictionary.riskType.some(item => {
if (item.code == riskCode) {
@@ -41,78 +39,10 @@ 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 = '保险产品组合计划'
}
}
}
}
let agentResult = await getAgentInfo({}) //调取代理人查询接口
if (agentResult.result == '0'){
let { agent } = this
let { name } = agentResult
agent.name = name
}
let date = new Date()
let month = date.getMonth() + 1
if (month <= 9) {
month = '0' + month
}
let reqData = {
mdType: 'm',
monthStr:date.getFullYear() + month
}
let shareContent;
let resData = await queryPersonal(reqData)
if (resData.content.length&&resData.content[0].glevel>0&&resData.content[0].ggrade) {
if(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') {
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') {
let ggrade =this.memberConversion(resData.content[0].ggrade);
shareContent='国富桂冠精英'+resData.content[0].glevel+'级'+ggrade+resData.content[0].name+'为您量身定制的保险产品,请查收';
} else {
shareContent = this.agent.name+'为您设计的专属保险计划书,请查阅!因为国富,所以民安!';
}
weixinShare({
title: this.title,
imgUrl: this.$assetsUrl + 'images/logo.png',
desc: shareContent
desc: '国富为您量身定制的保险产品,请查收'
})
//重置左上角按钮,变成返回
window.EWebBridge.webCallAppInJs("webview_left_button",{
@@ -179,15 +109,10 @@ export default {
if(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') {
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') {
let ggrade =this.memberConversion(resData.content[0].ggrade);
shareContent='国富桂冠精英'+resData.content[0].glevel+'级'+ggrade+resData.content[0].name+'为您量身定制的保险产品请查收';
shareContent='国富桂冠人力'+resData.content[0].glevel+''+ggrade+resData.content[0].name+'为您量身定制的保险产品请查收';
} else {
shareContent = this.agent.name+'为您设计的专属保险计划书,请查阅!因为国富,所以民安!';
shareContent='国富为您量身定制的保险产品,请查收';
}
if (data.trigger == 'right_button_click') {
// eslint-disable-next-line no-undef

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,11 +199,7 @@
<div class="text-left" style="width: 75%;">
<span>{{ moneyItem.contentLabel }}</span>
</div>
<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>
<div class="text-right">
<span class="color_3A81F6">{{ moneyItem.value | numFormatNo }}</span
>{{ moneyItem.content | productRateUnit }}
</div>
@@ -283,7 +279,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>
@@ -386,7 +382,6 @@ export default {
mainRiskCodes: [],
time: 5,
proposalNo:'',
mainRiskName: ''
}
},
filters: {
@@ -400,13 +395,6 @@ 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)
@@ -449,7 +437,6 @@ export default {
})
}, 1000)
window['appCallBack'] = this.appCallBack*/
// init方法在微信端存储token接口请求用此token所以init方法前不要请求接口会影响分享微信功能接口会报token为空
this.init()
//校验当前用户权限
funcPermCheck({}).then(res => {
@@ -609,7 +596,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) {
@@ -621,34 +608,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)
@@ -659,23 +637,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') {
@@ -725,32 +691,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
@@ -940,17 +880,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

@@ -136,9 +136,6 @@
data-vv-name="联系地址"
/>
<van-field v-model="userInfo.village" label="" name="详细地址" placeholder="请输入详细地址" v-validate="'required'" clearable maxlength="30" />
<div class="pl10 pt10 pb10 pr10 address fs14">
<van-checkbox v-model="withRootUser.value">同投保人地址</van-checkbox>
</div>
<van-field
v-model="userInfo.yearSalary"
label="平均年收入(万元)"
@@ -241,7 +238,6 @@ import FieldDatePicter from '@/components/ebiz/FieldDatePicter'
import OccupationPicker from '@/components/ebiz/occipation/OccupationPicker'
import DataDictionary from '@/assets/js/utils/data-dictionary'
import areaList from '@/assets/js/utils/areaForSale'
import countCredentialValidity from '@/assets/js/utils/countCredentialValidity'
import filter from '@/filters/index'
import utilsAge from '@/assets/js/utils/age'
import IdentityCardScan from '@/components/ebiz/sale/IdentityCardScan'
@@ -275,10 +271,6 @@ export default {
},
data() {
return {
withRootUser: {
load: false, //防止重复请求
value: false,
},
nameLimit: false,
idNoLimit: false,
birthdayLimit: false,
@@ -641,9 +633,6 @@ export default {
if (this.userInfo.idType == '1') {
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
this.effectiveDateTypeAble = age <= 45
if(this.userInfo.birthday){
this.userInfo.certiexpiredate = countCredentialValidity.getEndDate(age,val)
}
}
}
break
@@ -668,9 +657,63 @@ export default {
if (this.userInfo.idType == '1') {
//获取年龄
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
if(this.userInfo.birthday){
this.userInfo.certificateValidate = countCredentialValidity.getStartDate(age,val)
}
console.log(age)
//年龄在16周岁以下
if (age < 16) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 5) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('16周岁以下的证件有效期为5年')
}
//年龄在16-21周岁之间
}else if (age >= 16 && age <= 21) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10 && new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 5) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('16周岁~21周岁的证件有效期为10年或5年')
}
//年龄在22-25周岁之间
}else if (age >= 22 && age <= 25) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('22周岁~25周岁的证件有效期为10年')
}
//年龄在26-35周岁之间
}else if (age >= 26 && age <= 35) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20 && new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('26周岁~35周岁的证件有效期为20年或10年')
}
//年龄在36-45周岁之间
} else if (age >= 36 && age <= 45) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('36周岁~45周岁的证件有效期为20年')
}
//年龄在46-65周岁之间
} else if (age >= 46 && age <= 65) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20 || this.effectiveDateType == false) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('46周岁~65周岁的证件有效期为20年或长期')
}
//年龄在65周岁以上
} else if (age > 65) {
if (this.userInfo.effectiveDateType == false) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('65周岁以上的证件有效期为长期')
}
}
//此外的年龄段不支持
// else {
// this.userInfo.certiexpiredate = ''
// this.$refs.certiexpiredate.date = ''
// return this.$toast('身份证不支持此年龄段')
// }
}
}
break
@@ -696,13 +739,6 @@ export default {
return this.$toast('出生证有效期或出生日期有误')
}
}
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
if (this.userInfo.certificateValidate && !this.userInfo.certiexpiredate) {
this.userInfo.certiexpiredate = countCredentialValidity.getEndDate(age,this.userInfo.certificateValidate)
}
if (this.userInfo.certiexpiredate && !this.userInfo.certificateValidate) {
this.userInfo.certificateValidate = countCredentialValidity.getEndDate(age,this.userInfo.certiexpiredate)
}
}
break
}
@@ -915,44 +951,53 @@ 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) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('16周岁以下的证件有效期为5年')
}
//年龄在16-21周岁之间
}else if (age >= 16 && age <= 21) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10 && new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 5) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('16周岁~21周岁的证件有效期为10年或5年')
}
//年龄在22-25周岁之间
}else if (age >= 22 && age <= 25) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('22周岁~25周岁的证件有效期为10年')
}
//年龄在26-35周岁之间
}else if (age >= 26 && age <= 35) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20 && new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('26周岁~35周岁的证件有效期为20年或10年')
}
//年龄在36-45周岁之间
} else if (age >= 36 && age <= 45) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('36周岁~45周岁的证件有效期为20年')
}
//年龄在46-65周岁之间
} else if (age >= 46 && age <= 65) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20 && this.userInfo.effectiveDateType == false) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('46周岁~65周岁的证件有效期为20年或长期')
}
//年龄在65周岁以上
} else if (age > 65) {
if (this.userInfo.effectiveDateType == false) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('65周岁以上的证件有效期为长期')
}
}
@@ -1151,64 +1196,31 @@ export default {
}
this.isInsured = true
let params = {
orderNo: this.$route.query.orderNo
let insuredDetail = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo'))
console.log(insuredDetail,'insuredDetailqqqqqqqqq')
this.userInfo.name = insuredDetail.name //姓名
this.nameLimit = Boolean(insuredDetail.name)
this.userInfo.sex = insuredDetail.sex //性别
this.sexLimit = Boolean(insuredDetail.sex)
this.userInfo.nativeplace = insuredDetail.nativeplace //国家地区
this.userInfo.birthday = insuredDetail.birthday //出生日期
this.birthdayLimit = Boolean(insuredDetail.birthday)
this.userInfo.idType = insuredDetail.idType //证件类型
this.userInfo.idNo = insuredDetail.idNo //证件号码
this.idNoLimit = Boolean(insuredDetail.idNo)
this.userInfo.certificateValidate = insuredDetail.certificateValidate //证件起始日期
this.userInfo.certiexpiredate = insuredDetail.certiexpiredate == '9999-12-31' ? '' : insuredDetail.certiexpiredate //证件截止日期
this.userInfo.effectiveDateType = insuredDetail.certiexpiredate == '9999-12-31' //是否长期
this.userInfo.mobile = insuredDetail.mobile
this.mobileLimit = Boolean(insuredDetail.mobile)
let age = utilsAge.getAge(insuredDetail.birthday, new Date())
this.effectiveDateTypeAble = age <= 45
if (age > 45) {
this.userInfo.effectiveDateType = true
}
getOrderDetail(params).then(res=>{
if(res.result == 0){
let insuredDetail = res.orderDTO.appntDTO
this.userInfo.name = insuredDetail.name //姓名
this.nameLimit = Boolean(insuredDetail.name)
this.userInfo.sex = insuredDetail.sex //性别
this.sexLimit = Boolean(insuredDetail.sex)
this.userInfo.nativeplace = insuredDetail.nativeplace //国家地区
this.userInfo.birthday = insuredDetail.birthday //出生日期
this.birthdayLimit = Boolean(insuredDetail.birthday)
this.userInfo.idType = insuredDetail.idType //证件类型
this.userInfo.idNo = insuredDetail.idNo //证件号码
this.idNoLimit = Boolean(insuredDetail.idNo)
this.userInfo.certificateValidate = insuredDetail.certificateValidate //证件起始日期
this.userInfo.certiexpiredate = insuredDetail.certiexpiredate == '9999-12-31' ? '' : insuredDetail.certiexpiredate //证件截止日期
this.userInfo.effectiveDateType = insuredDetail.certiexpiredate == '9999-12-31' //是否长期
this.userInfo.mobile = insuredDetail.mobile
this.mobileLimit = Boolean(insuredDetail.mobile)
this.userInfo.marriage =insuredDetail.marriage
if(this.userInfo.marriage == 1){
this.userInfo.marriageStatus = '已婚'
}
else if(this.userInfo.marriage == 2){
this.userInfo.marriageStatus = '未婚'
}
else if(this.userInfo.marriage == 3){
this.userInfo.marriageStatus = '离异'
}
else if(this.userInfo.marriage == 4){
this.userInfo.marriageStatus = '丧偶'
}
let age = utilsAge.getAge(insuredDetail.birthday, new Date())
this.effectiveDateTypeAble = age <= 45
if (age > 45) {
this.userInfo.effectiveDateType = true
}
this.idLimit = true
this.userInfo.occupationCode = insuredDetail.occupationCode //职业类别编码
this.userInfo.occupationName = insuredDetail.occupationName //职业类别名称
this.areaStr = getAreaName([
{ code: insuredDetail.homeProvince },
{ code: insuredDetail.homeCity },
{ code: insuredDetail.homeArea },
])
this.userInfo.province = insuredDetail.homeProvince
this.userInfo.city = insuredDetail.homeCity
this.userInfo.area = insuredDetail.homeArea
this.userInfo.village = insuredDetail.homeAddress
this.userInfo.yearSalary = insuredDetail.averageAnnualIncome
this.userInfo.averageAnnualIncome = insuredDetail.averageAnnualIncome
}
})
this.idLimit = true
this.userInfo.occupationCode = insuredDetail.occupationCode //职业类别编码
this.userInfo.occupationName = insuredDetail.occupationName //职业类别名称
} else {
this.isInsured = false
this.userInfo.relationToInsured = ''
@@ -1290,38 +1302,11 @@ export default {
}
this.effectiveDateTypeAble = false
}
//如果选择户口本
if (this.userInfo.idType == '2') {
let exipreDate = Date.parse(this.userInfo.birthday) + Date.parse('1985-12-31')
this.userInfo.certificateValidate = this.userInfo.birthday
this.userInfo.certiexpiredate = this.timeStampFormat(exipreDate)
this.idLimit = true
//如果选择出生证明
}
}
},
filters: {
idToText: filter.idToText
},
watch: {
async 'withRootUser.value'(n) {
const orderNo = this.$route.query.orderNo
if (n && orderNo) {
const rs = await getOrderDetail({ orderNo: orderNo});
this.areaStr = getAreaName([
{ code: rs.orderDTO.appntDTO.homeProvince },
{ code: rs.orderDTO.appntDTO.homeCity },
{ code: rs.orderDTO.appntDTO.homeArea },
])
this.userInfo.province = rs.orderDTO.appntDTO.homeProvince
this.userInfo.city = rs.orderDTO.appntDTO.homeCity
this.userInfo.area = rs.orderDTO.appntDTO.homeArea
this.userInfo.village = rs.orderDTO.appntDTO.homeAddress
} else {
this.homeName = this.userInfo.homeAddress = ''
}
}
},
beforeRouteLeave(to, from, next) {
document.body.style.backgroundColor = ''
next()
@@ -1337,9 +1322,5 @@ export default {
/deep/.van-checkbox {
margin-left: auto;
}
.address {
display: flex;
flex-direction: row-reverse;
}
}
</style>

View File

@@ -1027,44 +1027,14 @@ export default {
})
let formdata = new FormData()
formdata.append('imgPath', that.dataURLtoFile(that.file, that.imgName))
uploadImg(formdata).then(
(res) => {
// console.log(res)
uploadImg(formdata).then((res) => {
if (res.result == '0') {
this.$toast.clear()
if(res.path){
if (
that.type == 'fileListIdFront' ||
that.type == 'fileListIdBack' ||
that.type == 'fileLIstImg' ||
that.type == 'fileListBank' ||
// that.type == 'fileListBankBack' ||
that.type == 'fileListNotify' ||
that.type == 'saleInsuredInfoOther'
) {
if (that.type == 'fileListIdFront' || that.type == 'fileListIdBack' || that.type == 'fileLIstImg' || that.type == 'fileListBank' || that.type == 'fileListNotify' || that.type == 'saleInsuredInfoOther') {
debugger
let imageInfoType = ''
let name = ''
// if (that.type == 'fileListIdFront' && that.id == '1') {
// imageInfoType = '1'
// } else if (that.type == 'fileListIdBack' && that.id == '1') {
// imageInfoType = '2'
// } else if (that.type == 'fileListBank') {
// imageInfoType = '3'
// } else if (that.type == 'fileListIdFront' && that.id == '2') {
// imageInfoType = '5'
// } else if (that.type == 'fileListIdBack' && that.id == '2') {
// imageInfoType = '6'
// } else if (that.type == 'fileLIstImg' && that.id == '3') {
// imageInfoType = '7'
// } else if (that.type == 'fileLIstImg' && that.id == '4') {
// imageInfoType = '8'
// } else if (that.type == 'fileLIstImg' && that.id == '5') {
// imageInfoType = '9'
// } else if (that.type == 'fileLIstImg' && that.id == '6') {
// imageInfoType = '10'
// } else if (that.type == 'saleInsuredInfoOther' && that.id == '7') {
// imageInfoType = '11'
// }
if (that.type == 'fileListIdFront' && that.id == '1') {
//身份证正面
name = 'fileListIdFront'
@@ -1149,20 +1119,13 @@ export default {
}
this.imageType = imageInfoType
that.list.push(obj)
} else if (
that.type == 'fileListIdFrontInsured' ||
that.type == 'fileListIdBackInsured' ||
that.type == 'fileListBankInsured' ||
that.type == 'fileLIstImgInsured' ||
that.type == 'fileListNotifyInsured' ||
that.type == 'saleInsuredPersonInfoOther'
) {
}
else if (that.type == 'fileListIdFrontInsured' || that.type == 'fileListIdBackInsured' || that.type == 'fileListBankInsured' || that.type == 'fileLIstImgInsured' || that.type == 'fileListNotifyInsured' || that.type == 'saleInsuredPersonInfoOther') {
debugger
// 是被保险人
// 证件类型
let imageInfoType = ''
let name = ''
if (that.type == 'fileListIdFrontInsured' && that.id == '1') {
name = 'fileListIdFrontInsured'
imageInfoType = '1'
@@ -1212,7 +1175,6 @@ export default {
name = 'fileListNotifyInsured'
imageInfoType = '24'
}
let obj = {
name: name,
businessNo: that.orderNo,
@@ -1225,17 +1187,13 @@ export default {
}
this.imageType = imageInfoType
that.list.push(obj)
} else if (
that.type == 'fileListIdFrontBeneficiary' ||
that.type == 'fileListIdBackBeneficiary' ||
that.type == 'fileLIstImgBeneficiary'
) {
}
else if (that.type == 'fileListIdFrontBeneficiary' || that.type == 'fileListIdBackBeneficiary' || that.type == 'fileLIstImgBeneficiary') {
debugger
// 是收益人
// 证件类型
let imageInfoType = ''
let name = ''
if (that.type == 'fileListIdFrontBeneficiary' && that.id == '1') {
name = 'fileListIdFrontBeneficiary'
imageInfoType = '1'
@@ -1295,7 +1253,8 @@ export default {
}
this.imageType = imageInfoType
that.list.push(obj)
} else if (that.type == 'fileListOther') {
}
else if (that.type == 'fileListOther') {
// 是其他
let type = '2'
let name = 'fileListOther'
@@ -1324,7 +1283,8 @@ export default {
// fileName: that.imgName
// }
// that.list.push(obj)
} else if (that.type == 'fileListNotify') {
}
else if (that.type == 'fileListNotify') {
// 健康告知异常类资料
// let obj = {
// name: 'fileListNotify',

View File

@@ -388,7 +388,6 @@ 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 countCredentialValidity from '@/assets/js/utils/countCredentialValidity'
import areaLists from '@/assets/js/utils/areaNewForSale'
import { saveOrUpdateOrderInfo, getAuthCode, getOrderDetail, getCompany } from '@/api/ebiz/sale/sale'
import utilsAge from '@/assets/js/utils/age'
@@ -859,14 +858,20 @@ export default {
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
// 长期按钮是否禁用
this.effectiveDateTypeAble = age <= 45
if(this.userInfo.birthday){
this.userInfo.certiexpiredate = countCredentialValidity.getEndDate(age,val)
}
}
}
break
case '1':
{
console.log('证件截止日期')
//证件截止日期
//如果已经勾选了长期
// if (this.userInfo.effectiveDateType) {
// //清空数据并返回
// this.userInfo.certiexpiredate = ''
// this.$refs.certiexpiredate.date = ''
// return
// }
this.userInfo.effectiveDateType = false
//如果录入日期早于当前日期
if (Date.parse(val) < Date.parse(new Date())) {
@@ -876,10 +881,65 @@ export default {
}
//身份证证件类型的判断
if (this.userInfo.idType == '1') {
//获取年龄
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
if(this.userInfo.birthday){
this.userInfo.certificateValidate = countCredentialValidity.getStartDate(age,val)
}
console.log(age)
//年龄在16周岁以下
if (age < 16) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 5) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('16周岁以下的证件有效期为5年')
}
//年龄在16-21周岁之间
}else if (age >= 16 && age <= 21) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10 && new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 5) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('16周岁~21周岁的证件有效期为10年或5年')
}
//年龄在22-25周岁之间
}else if (age >= 22 && age <= 25) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('22周岁~25周岁的证件有效期为10年')
}
//年龄在26-35周岁之间
}else if (age >= 26 && age <= 35) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20 && new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('26周岁~35周岁的证件有效期为20年或10年')
}
//年龄在36-45周岁之间
} else if (age >= 36 && age <= 45) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('36周岁~45周岁的证件有效期为20年')
}
//年龄在46-65周岁之间
} else if (age >= 46 && age <= 65) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20 && this.userInfo.effectiveDateType == false) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('46周岁~65周岁的证件有效期为20年或长期')
}
//年龄在65周岁以上
} else if (age > 65) {
if (this.userInfo.effectiveDateType == false) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('65周岁以上的证件有效期为长期')
}
}
//此外的年龄段不支持
// else {
// this.userInfo.certiexpiredate = ''
// this.$refs.certiexpiredate.date = ''
// return this.$toast('身份证不支持此年龄段')
// }
}
}
break
@@ -901,12 +961,6 @@ export default {
if (age < 18) {
this.userInfo.workcompany = this.userInfo.workcompany || '无'
}
if (this.userInfo.certificateValidate && !this.userInfo.certiexpiredate) {
this.userInfo.certiexpiredate = countCredentialValidity.getEndDate(age,this.userInfo.certificateValidate)
}
if (this.userInfo.certiexpiredate && !this.userInfo.certificateValidate) {
this.userInfo.certificateValidate = countCredentialValidity.getEndDate(age,this.userInfo.certiexpiredate)
}
}
break
}
@@ -1000,9 +1054,32 @@ export default {
//如果证件类型是身份证
if (this.userInfo.idType == '1') {
console.log('证件类型是身份证')
if (this.userInfo.nativeplace != '1') {
return this.$toast('证件类型”为“身份证,国籍必须为中国哦')
}
//校验性别是否与身份证号码位相符
// if (this.userInfo.idNo.length == '15') {
// //15位身份证第15位是性别位, 奇男偶女
// let sexSign = this.userInfo.idNo.substr(14, 1)
// console.log('性别位' + sexSign)
// if ((parseInt(sexSign) % 2 == 0 && this.userInfo.sex != 1) || (parseInt(sexSign) % 2 != 0 && this.userInfo.sex != 0)) {
// return this.$toast('性别录入与身份证不符')
// }
// //15位身份证第7-12位是生日位, 年月日
// let birthSign = this.userInfo.idNo.substr(6, 6)
// console.log('生日位' + birthSign)
// if (
// this.userInfo.birthday.substr(2, 2) != birthSign.substr(0, 2) ||
// this.userInfo.birthday.substr(5, 2) != birthSign.substr(2, 2) ||
// this.userInfo.birthday.substr(8, 2) != birthSign.substr(4, 2)
// ) {
// return this.$toast('生日录入与身份证不符')
// }
// } else
if (this.userInfo.idNo.length == '18') {
//18位身份证第17位是性别位, 奇男偶女
let sexSign = this.userInfo.idNo.substr(16, 1)
@@ -1033,48 +1110,75 @@ 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('您的证件已过期')
}
let val = this.userInfo.certiexpiredate
//年龄在16周岁以下
if (age < 16) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 5) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('16周岁以下的证件有效期为5年')
}
//年龄在16-21周岁之间
}else if (age >= 16 && age <= 21) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10 && new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 5) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('16周岁~21周岁的证件有效期为10年或5年')
}
//年龄在22-25周岁之间
}else if (age >= 22 && age <= 25) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('22周岁~25周岁的证件有效期为10年')
}
//年龄在26-35周岁之间
}else if (age >= 26 && age <= 35) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20 && new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('26周岁~35周岁的证件有效期为20年或10年')
}
//年龄在36-45周岁之间
} else if (age >= 36 && age <= 45) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('36周岁~45周岁的证件有效期为20年')
}
//年龄在46-65周岁之间
} else if (age >= 46 && age <= 65) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20 && this.userInfo.effectiveDateType == false) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('46周岁~65周岁的证件有效期为20年或长期')
}
//年龄在65周岁以上
} else if (age > 65) {
if (this.userInfo.effectiveDateType == false) {
if (this.userInfo.effectiveDateType == false) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('65周岁以上的证件有效期为长期')
}
}
}
// 年龄在 16-25 周岁之间
// if (age >= 16 && age <= 25) {
// if (Date.parse(this.userInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1980-01-01')) {
// this.userInfo.certiexpiredate = ''
// this.$refs.certiexpiredate.date = ''
// this.effectiveDateTypeAble = true
// return this.$toast('证件有效期错误16周岁~25周岁的公民身份证有效期应小于等于10年')
// }
// //年龄在 26-45 周岁之间
// } else if (age >= 26 && age <= 45) {
// if (Date.parse(this.userInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1990-01-01')) {
// this.userInfo.certiexpiredate = ''
// this.$refs.certiexpiredate.date = ''
// this.effectiveDateTypeAble = true
// return this.$toast('证件有效期错误26周岁~45周岁的公民身份证有效期应小于等于20年')
// }
// }
//证件类型是户口本
} else if (this.userInfo.idType == '2') {
if (age > 16) {

View File

@@ -452,7 +452,6 @@ import CustomerPicker from '@/components/ebiz/customer/CustomerPicker'
import DataDictionary from '@/assets/js/utils/data-dictionary'
import areaList from '@/assets/js/utils/areaForSale'
import areaLists from '@/assets/js/utils/areaNewForSale'
import countCredentialValidity from '@/assets/js/utils/countCredentialValidity'
import { saveOrUpdateOrderInfo, getAuthCode, getOrderDetail } from '@/api/ebiz/sale/sale'
import utilsAge from '@/assets/js/utils/age'
import getAreaName from '@/assets/js/utils/getAreaNameForSale'
@@ -1063,9 +1062,6 @@ export default {
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
// 长期按钮是否禁用
this.effectiveDateTypeAble = age <= 45
if(this.userInfo.birthday){
this.userInfo.certiexpiredate = countCredentialValidity.getEndDate(age,val)
}
}
}
break
@@ -1092,9 +1088,62 @@ export default {
//获取年龄
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
console.log(age)
if(this.userInfo.birthday){
this.userInfo.certificateValidate = countCredentialValidity.getStartDate(age,val)
}
//年龄在16周岁以下
if (age < 16) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 5) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('16周岁以下的证件有效期为5年')
}
//年龄在16-21周岁之间
}else if (age >= 16 && age <= 21) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10 && new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 5) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('16周岁~21周岁的证件有效期为10年或5年')
}
//年龄在22-25周岁之间
}else if (age >= 22 && age <= 25) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('22周岁~25周岁的证件有效期为10年')
}
//年龄在26-35周岁之间
}else if (age >= 26 && age <= 35) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20 && new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('26周岁~35周岁的证件有效期为20年或10年')
}
//年龄在36-45周岁之间
} else if (age >= 36 && age <= 45) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('36周岁~45周岁的证件有效期为20年')
}
//年龄在46-65周岁之间
} else if (age >= 46 && age <= 65) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20 && this.userInfo.effectiveDateType == false) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('46周岁~65周岁的证件有效期为20年或长期')
}
//年龄在65周岁以上
} else if (age > 65) {
if (this.userInfo.effectiveDateType == false) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('65周岁以上的证件有效期为长期')
}
}
//此外的年龄段不支持
// else {
// this.userInfo.certiexpiredate = ''
// this.$refs.certiexpiredate.date = ''
// return this.$toast('身份证不支持此年龄段')
// }
}
}
break
@@ -1121,14 +1170,24 @@ export default {
this.userInfo.otherSalarySource = '无'
this.userInfo.averageAnnualIncome = '0'
this.userInfo.liabilitiesMoney = '0'
// this.userInfo.jobStatus = '3'
// this.userInfo.marriage = '2'
} else {
// this.userInfo.salarySource = ''
// this.userInfo.averageAnnualIncome = ''
// this.userInfo.liabilitiesMoney = ''
// this.userInfo.jobStatus = ''
// this.userInfo.marriage = ''
}
}
if (this.userInfo.certificateValidate && !this.userInfo.certiexpiredate) {
this.userInfo.certiexpiredate = countCredentialValidity.getEndDate(age,this.userInfo.certificateValidate)
}
if (this.userInfo.certiexpiredate && !this.userInfo.certificateValidate) {
this.userInfo.certificateValidate = countCredentialValidity.getEndDate(age,this.userInfo.certiexpiredate)
}
//出生证有效期
// if (this.userInfo.idType == '3') {
// if (Date.parse(this.userInfo.certiexpiredate) - Date.parse(val) > Date.parse('1973-01-01')) {
// this.userInfo.birthday = ''
// this.$refs.birthday.date = ''
// return this.$toast('出生证有效期或出生日期有误')
// }
// }
}
break
}
@@ -1410,47 +1469,56 @@ 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) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('16周岁以下的证件有效期为5年')
}
//年龄在16-21周岁之间
}else if (age >= 16 && age <= 21) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10 && new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 5) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('16周岁~21周岁的证件有效期为10年或5年')
}
//年龄在22-25周岁之间
}else if (age >= 22 && age <= 25) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('22周岁~25周岁的证件有效期为10年')
}
//年龄在26-35周岁之间
}else if (age >= 26 && age <= 35) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20 && new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('26周岁~35周岁的证件有效期为20年或10年')
}
//年龄在36-45周岁之间
} else if (age >= 36 && age <= 45) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('36周岁~45周岁的证件有效期为20年')
}
//年龄在46-65周岁之间
} else if (age >= 46 && age <= 65) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20 && this.userInfo.effectiveDateType == false) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('46周岁~65周岁的证件有效期为20年或长期')
}
//年龄在65周岁以上
} else if (age > 65) {
if (this.userInfo.effectiveDateType == false) {
if (this.userInfo.effectiveDateType == false) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('65周岁以上的证件有效期为长期')
}
}
}
//年龄在0-15周岁之间
// if (age <= 15) {
// if (Date.parse(this.userInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1975-01-01')) {
@@ -1935,27 +2003,36 @@ export default {
this.userInfo.otherSalarySource = ''
this.userInfo.averageAnnualIncome = '0'
this.userInfo.liabilitiesMoney = '0'
// this.userInfo.jobStatus = '3'
// this.userInfo.marriage = '2'
} else {
this.userInfo.salarySource = ''
this.userInfo.averageAnnualIncome = ''
this.userInfo.liabilitiesMoney = ''
// this.userInfo.jobStatus = ''
// this.userInfo.marriage = ''
}
}
if (idToData(val).age > 45) {
// this.idLimit = true
// this.isRequired = false
if (from) {
this.userInfo.effectiveDateType = true
}
this.effectiveDateTypeAble = false
} else {
// this.idLimit = false
// this.isRequired = true
// this.userInfo.effectiveDateType = false
}
//如果选择户口本
if (this.userInfo.idType == '2') {
let exipreDate = Date.parse(this.userInfo.birthday) + Date.parse('1985-12-31')
this.userInfo.certificateValidate = this.userInfo.birthday
this.userInfo.certiexpiredate = this.timeStampFormat(exipreDate)
this.idLimit = true
//如果选择出生证明
}
// else if (this.userInfo.idType == '3') {
// if (this.userInfo.idType == '2') {
// let exipreDate = Date.parse(this.userInfo.birthday) + Date.parse('1985-12-31')
// this.userInfo.certificateValidate = this.userInfo.birthday
// this.userInfo.certiexpiredate = this.timeStampFormat(exipreDate)
// this.idLimit = true
// //如果选择出生证明
// } else if (this.userInfo.idType == '3') {
// let exipreDate = Date.parse(this.userInfo.birthday) + Date.parse('1972-12-31')
// this.userInfo.certificateValidate = this.userInfo.birthday
// this.userInfo.certiexpiredate = this.timeStampFormat(exipreDate)

View File

@@ -606,12 +606,10 @@ export default {
this.$toast.clear()
if (JSON.parse(data).state == '1') {
this.base64 = decodeURI(JSON.parse(data).sign)
if(this.base64){
this.appntSign.documentStatus = '3'
this.isDisabledComplite = false
this.isSubmit = false
this.isSign = false
}
this.appntSign.documentStatus = '3'
this.isDisabledComplite = false
this.isSubmit = false
this.isSign = false
}
})
}

View File

@@ -148,11 +148,6 @@ export default {
if (res.result == '0') {
res.orderDTO.insuredDTOs[0].riskDTOLst.forEach(item => {
if(item.isMainRisk == '0'){
/**
* @Author: LiuXiaoFeng
* @Description: 保险期间大于1年或者是保终身的才展示产品说明书
* @Date: 2023/7/4
**/
if(item.insuYearFlag == 'Y' && item.insuYear > 1){
this.hasProductTip = true
}