mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-16 08:46:45 +08:00
Compare commits
21 Commits
release/【2
...
release/【2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0615088cae | ||
|
|
5a95805d87 | ||
|
|
256eefb80e | ||
|
|
bf74ade0a4 | ||
|
|
a8c66abbcd | ||
|
|
c0118b6cf0 | ||
|
|
f9bcf7d771 | ||
|
|
6813ad8ab4 | ||
|
|
c86107aaaf | ||
|
|
c1dfd27604 | ||
|
|
da88573133 | ||
|
|
9d6105f0ed | ||
|
|
d06b794cbc | ||
|
|
f7b7936dee | ||
|
|
280ec19892 | ||
|
|
464ca95731 | ||
|
|
55e200e36e | ||
|
|
47fb573cd6 | ||
|
|
fc68b2aab3 | ||
|
|
4fbb0e9470 | ||
|
|
a10e6d29a4 |
@@ -116,12 +116,3 @@ export function saveOrUpdateGbc(data) {
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// GBC数据看板
|
||||
export function dataShow(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/gbc/data/show', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
@@ -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,12 +168,4 @@ export function deleteGroupCardByInsured(data) {
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 不让跨天支付 单新契约出单跨天支付流程优化
|
||||
export function cardContIsPay(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/card/contIsPay', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -396,12 +396,4 @@ export function changeOrderStatus(data) {
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function riskLevelCheck(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/order/riskLevelCheck', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
@@ -1046,6 +1046,10 @@ export default {
|
||||
{
|
||||
id: 2,
|
||||
text: '户口本'
|
||||
},
|
||||
{
|
||||
id: 8,
|
||||
text: '外国人永久居留身份证'
|
||||
}
|
||||
],
|
||||
// 卡单投保人证件类型
|
||||
@@ -1055,8 +1059,8 @@ export default {
|
||||
text: '居民身份证'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
text: '户口本'
|
||||
id: 8,
|
||||
text: '外国人永久居留身份证'
|
||||
}
|
||||
],
|
||||
// 新市民身份
|
||||
|
||||
@@ -59,19 +59,16 @@ 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 /^[a-zA-Z\.\s\u4e00-\u9fa5]{2,120}$/.test(value);
|
||||
// return /^[\u4e00-\u9fa5·]{2,120}$|^[a-zA-Z\s]{4,120}$/.test(value);
|
||||
return /^[\u4e00-\u9fa5·]{2,120}$|^[a-zA-Z\s]{4,120}$/.test(value);
|
||||
}
|
||||
});
|
||||
// sale - 详细地址 - 详细地址须同时包含汉字和数字,
|
||||
|
||||
@@ -52,14 +52,14 @@
|
||||
</div>
|
||||
<div v-if="tabActive == 'dataBoard'">
|
||||
<div style="margin: 10px;padding: 10px;background: #fff;border-radius: 5px;">
|
||||
<p style="font-size: 18px;line-height: 35px;font-weight: bold;">项目名称:{{calGbcProject.projectName}}</p>
|
||||
<p style="color: #a7a7a7;font-size: 14px;">数据截止日期:{{calGbcProject.endDate}}</p>
|
||||
<p style="font-size: 18px;line-height: 35px;font-weight: bold;">项目名称:国富人寿北京协和医院AA项目</p>
|
||||
<p style="color: #a7a7a7;font-size: 14px;">数据截止日期:2024-03-30</p>
|
||||
<div style="display: flex;justify-content: center;margin-top: 20px;">
|
||||
<van-circle v-model="currentRate" color="#E9332E" :stroke-width="60" size="80px" :rate="interviewConversionRate" :speed="100" :text="text" />
|
||||
<van-circle v-model="currentRate" color="#E9332E" :stroke-width="60" size="80px" :rate="85" :speed="100" :text="text" />
|
||||
</div>
|
||||
<p style="display: flex;justify-content: center;font-weight: bold;font-size: 14px;margin: 10px;">面谈转化率</p>
|
||||
<div style="padding: 10px;background: rgba(251, 235, 230, 0.5);border-radius: 5px;display: flex;justify-content: flex-start;flex-wrap:wrap;">
|
||||
<div v-for="(item,index) in calGbcProjectDataList" style="width: 33%;display: flex;justify-content: space-around;align-items: center;">
|
||||
<div v-for="(item,index) in dataList1" style="width: 33%;display: flex;justify-content: space-around;align-items: center;">
|
||||
<div>
|
||||
<div style="font-size: 12px;line-height: 22px;margin: 7px 0px;">
|
||||
<p style="display: flex;justify-content: center;font-size: 14px;">{{item.value}}</p>
|
||||
@@ -76,7 +76,7 @@
|
||||
<div style="margin: 10px;padding: 10px;background: #fff;border-radius: 5px;">
|
||||
<div style="border-bottom: 1px dashed #666;padding-bottom: 15px;">
|
||||
<p style="font-size: 18px;line-height: 35px;font-weight: bold;">项目成员分配</p>
|
||||
<p v-if="calGbcPersonList.length != 0" style="color: #a7a7a7;font-size: 14px;">数据截止日期:{{calGbcPersonList[0].endDate}}</p>
|
||||
<p style="color: #a7a7a7;font-size: 14px;">数据截止日期:2024-03-30</p>
|
||||
</div>
|
||||
<div style="margin-top: 10px;margin-bottom: 3px;background: rgba(255, 87, 83, 0.7);line-height: 30px;display: flex;align-items: center;color: #fff;font-size: 14px;">
|
||||
<span style="width: 18%;display: flex;justify-content: center;">成员</span>
|
||||
@@ -85,11 +85,11 @@
|
||||
<span style="width: 30%;display: flex;justify-content: center;">受理标保(元)</span>
|
||||
</div>
|
||||
<div>
|
||||
<div v-for="item in calGbcPersonList" style="background: rgba(251, 235, 230, 0.44);margin-bottom: 1px;line-height: 30px;display: flex;align-items: center;color: #333;font-size: 13px;">
|
||||
<span style="width: 18%;display: flex;justify-content: center;">{{item.personName}}</span>
|
||||
<span style="width: 22%;display: flex;justify-content: center;">{{item.roleName}}</span>
|
||||
<span style="width: 30%;display: flex;justify-content: center;">{{item.sumStandardPrem}}</span>
|
||||
<span style="width: 30%;display: flex;justify-content: center;">{{item.sumAcceptedPrem}}</span>
|
||||
<div v-for="item in dataList2" style="background: rgba(251, 235, 230, 0.44);margin-bottom: 1px;line-height: 30px;display: flex;align-items: center;color: #333;font-size: 13px;">
|
||||
<span style="width: 18%;display: flex;justify-content: center;">{{item.name}}</span>
|
||||
<span style="width: 22%;display: flex;justify-content: center;">{{item.role}}</span>
|
||||
<span style="width: 30%;display: flex;justify-content: center;">{{item.value1}}</span>
|
||||
<span style="width: 30%;display: flex;justify-content: center;">{{item.value2}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -97,15 +97,14 @@
|
||||
<div style="margin: 10px;padding: 10px;background: #fff;border-radius: 5px;">
|
||||
<div style="border-bottom: 1px dashed #666;padding-bottom: 15px;">
|
||||
<p style="font-size: 18px;line-height: 35px;font-weight: bold;">项目数据统计</p>
|
||||
<p v-if="calGbcTeamList.length != 0" style="color: #a7a7a7;font-size: 14px;">数据截止日期:{{calGbcTeamList[0].endDate}}</p>
|
||||
<p style="color: #a7a7a7;font-size: 14px;">数据截止日期:2024-03-30</p>
|
||||
</div>
|
||||
<div style="overflow: auto;">
|
||||
<table cellspacing=0 style="margin-top: 10px;">
|
||||
<thead style="background: rgba(255, 87, 83, 0.7);color: #fff;">
|
||||
<tr class="theadClass">
|
||||
<th style="padding: 0px 40px;">小组</th>
|
||||
<th>小组</th>
|
||||
<th>组长</th>
|
||||
<th>承保保费(元)</th>
|
||||
<th>获客人数</th>
|
||||
<th>获客率</th>
|
||||
<th>筛客人数</th>
|
||||
@@ -126,42 +125,40 @@
|
||||
<tbody>
|
||||
<tr class="tbodyClass">
|
||||
<td colspan="2">项目合并</td>
|
||||
<td>{{calGbcTeamTotalDTO.sumInsuredPrem}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.guestNum}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.guestRate}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.guestSelectNum}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.guestSelectRate}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.sumStandardPrem}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.sumInsuredNum}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.sumInsuredCases}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.averagePrem}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.interviewConversionRate}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.acceptedRate}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.sumAcceptedPrem}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.sumAcceptedCases}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.sumMajorDiseaseCases}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.sumMajorDiseasePrem}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.averageMajorDiseasePrem}}</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
</tr>
|
||||
<tr v-for="(item,index) in calGbcTeamList" :key="index" class="tbodyClass">
|
||||
<td class="teamNameTdClass">{{item.teamName}}</td>
|
||||
<td>{{item.leaderName}}</td>
|
||||
<td>{{item.sumInsuredPrem}}</td>
|
||||
<td>{{item.guestNum}}</td>
|
||||
<td>{{item.guestRate}}</td>
|
||||
<td>{{item.guestSelectNum}}</td>
|
||||
<td>{{item.guestSelectRate}}</td>
|
||||
<td>{{item.sumStandardPrem}}</td>
|
||||
<td>{{item.sumInsuredNum}}</td>
|
||||
<td>{{item.sumInsuredCases}}</td>
|
||||
<td>{{item.averagePrem}}</td>
|
||||
<td>{{item.interviewConversionRate}}</td>
|
||||
<td>{{item.acceptedRate}}</td>
|
||||
<td>{{item.sumAcceptedPrem}}</td>
|
||||
<td>{{item.sumAcceptedCases}}</td>
|
||||
<td>{{item.sumMajorDiseaseCases}}</td>
|
||||
<td>{{item.sumMajorDiseasePrem}}</td>
|
||||
<td>{{item.averageMajorDiseasePrem}}</td>
|
||||
<tr v-for="(item,index) in dataList3" :key="index" class="tbodyClass">
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -188,7 +185,7 @@
|
||||
<script>
|
||||
import { Tab, Tabs, Search, DropdownMenu, DropdownItem, Circle } from 'vant'
|
||||
import { getList } from '@/api/ebiz/product/product.js'
|
||||
import { getGBCappntlist, dataShow } from '@/api/GBC/GBC.js'
|
||||
import { getGBCappntlist } from '@/api/GBC/GBC.js'
|
||||
export default {
|
||||
components: {
|
||||
[Tab.name]: Tab,
|
||||
@@ -220,20 +217,33 @@ export default {
|
||||
customerList:[],
|
||||
currentRate: 0,
|
||||
colorList:['#E9332E','#CB9BFF','#54C6FA','#FF9B39','#60D64D','#4045F3','#FF59D9','#E8C0A2','#FCD338','#7584A2'],
|
||||
calGbcProject: {},
|
||||
interviewConversionRate: 0,
|
||||
calGbcProjectDataList:[
|
||||
{name:'累计受理保费(元)',value:'150,000.00', code: 'sumAcceptedPrem'},
|
||||
{name:'累计标保(元)',value:'250,000.00', code: 'sumStandardPrem'},
|
||||
{name:'件均保费(元)',value:'130,000.00', code: 'averagePrem'},
|
||||
{name:'累计受理人数(人)',value:'10856', code: 'sumAcceptedNum'},
|
||||
{name:'累计受理件数(件)',value:'356', code: 'sumAcceptedCases'},
|
||||
{name:'累计承保人数(人)',value:'9569', code: 'sumInsuredNum'},
|
||||
{name:'累计承保件数(件)',value:'262', code: 'sumInsuredCases'},
|
||||
dataList1:[
|
||||
{name:'累计受理保费(元)',value:'150,000.00'},
|
||||
{name:'累计标保(元)',value:'250,000.00'},
|
||||
{name:'件均保费(元)',value:'130,000.00'},
|
||||
{name:'件均保费(元)',value:'10856'},
|
||||
{name:'累计受理件数(件)',value:'356'},
|
||||
{name:'累计承保人数(人)',value:'9569'},
|
||||
{name:'累计承保件数(件)',value:'262'},
|
||||
],
|
||||
dataList2:[
|
||||
{name:'张大大',role:'项目经理',value1:'15,000.00',value2:'15,000.00'},
|
||||
{name:'张大大',role:'项目经理',value1:'15,000.00',value2:'15,000.00'},
|
||||
{name:'张大大',role:'项目经理',value1:'15,000.00',value2:'15,000.00'},
|
||||
{name:'张大大',role:'项目经理',value1:'15,000.00',value2:'15,000.00'},
|
||||
{name:'张大大',role:'项目经理',value1:'15,000.00',value2:'15,000.00'},
|
||||
{name:'张大大',role:'项目经理',value1:'15,000.00',value2:'15,000.00'},
|
||||
{name:'张大大',role:'项目经理',value1:'15,000.00',value2:'15,000.00'},
|
||||
],
|
||||
dataList3:[
|
||||
{name:'A组',role:'李艾',value1:'600',value2:'60'},
|
||||
{name:'A组',role:'李艾',value1:'600',value2:'60'},
|
||||
{name:'A组',role:'李艾',value1:'600',value2:'60'},
|
||||
{name:'A组',role:'李艾',value1:'600',value2:'60'},
|
||||
{name:'A组',role:'李艾',value1:'600',value2:'60'},
|
||||
{name:'A组',role:'李艾',value1:'600',value2:'60'},
|
||||
{name:'A组',role:'李艾',value1:'600',value2:'60'},
|
||||
],
|
||||
calGbcPersonList:[],
|
||||
calGbcTeamList:[],
|
||||
calGbcTeamTotalDTO: {},
|
||||
dataList4:[],
|
||||
}
|
||||
},
|
||||
@@ -244,34 +254,8 @@ export default {
|
||||
document.title = this.$route.query.projectName
|
||||
this.getGBCappntlist()
|
||||
this.getProductList()
|
||||
this.getDataShow()
|
||||
},
|
||||
methods: {
|
||||
getDataShow() {
|
||||
let params = {
|
||||
projectCode: this.$route.query.projectCode
|
||||
}
|
||||
dataShow(params).then(res => {
|
||||
this.calGbcPersonList = []
|
||||
this.calGbcTeamList = []
|
||||
if(res.result == '0') {
|
||||
this.calGbcProject = res.content.calGbcProject
|
||||
this.interviewConversionRate = Number(res.content.calGbcProject.interviewConversionRate)
|
||||
for(let key in res.content.calGbcProject) {
|
||||
this.calGbcProjectDataList.forEach(item => {
|
||||
if(item.code == key) {
|
||||
item.value = res.content.calGbcProject[key]
|
||||
}
|
||||
})
|
||||
}
|
||||
this.calGbcPersonList = res.content.calGbcPersonList
|
||||
this.calGbcTeamList = res.content.calGbcTeamList
|
||||
this.calGbcTeamTotalDTO = res.content.calGbcTeamTotalDTO
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
dropdownMenuChange(value){
|
||||
this.filterType = value
|
||||
this.searchvalue = ''
|
||||
@@ -455,8 +439,4 @@ export default {
|
||||
border-bottom:1px solid #fff;
|
||||
}
|
||||
}
|
||||
.teamNameTdClass{
|
||||
display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;
|
||||
//width: 105px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -683,8 +683,8 @@ let bankListJson = [
|
||||
},
|
||||
{
|
||||
code: '50002',
|
||||
name: '广西农村商业联合银行股份有限公司',
|
||||
child: [{ code: '402611099974', name: '广西农村商业联合银行股份有限公司' }]
|
||||
name: '广西壮族自治区农村信用社联合社',
|
||||
child: [{ code: '402611099974', name: '广西壮族自治区农村信用社联合社' }]
|
||||
},
|
||||
{
|
||||
code: '20041',
|
||||
|
||||
@@ -246,6 +246,7 @@ import { selectComp, getIdentityInfo } from './js/methods'
|
||||
import Vue from 'vue'
|
||||
import { GoodsAction, GoodsActionIcon, GoodsActionButton } from 'vant'
|
||||
import riskRules from '@/views/ebiz/common/risk-rules'
|
||||
import {idNoCheck8} from "../sale/js/verification";
|
||||
|
||||
DataDictionary.relationToAppnt = DataDictionary.relationToAppnt.slice(0, 4)
|
||||
Vue.use(Checkbox).use(CheckboxGroup)
|
||||
@@ -550,7 +551,7 @@ export default {
|
||||
this.columns = DataDictionary.nativeplace
|
||||
this.pickerIndex = this.userInfo.nativeplace - 1 > 0 ? this.userInfo.nativeplace - 1 : 0
|
||||
} else if (pickerType == '2') {
|
||||
this.columns = DataDictionary.cardListInsuredIdType.slice(0, 1)
|
||||
this.columns = DataDictionary.cardListInsuredIdType
|
||||
console.log(this.columns, '=======================this.columns==================')
|
||||
} else if (pickerType == '3') {
|
||||
this.columns = DataDictionary.degree
|
||||
@@ -852,6 +853,11 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (this.userInfo.idType == '8') {
|
||||
if (idNoCheck8(this.userInfo,'cardList').text){
|
||||
return this.$toast(idNoCheck8(this.userInfo,'cardList').text)
|
||||
}
|
||||
}
|
||||
if (this.manageComCode == '45' && (this.userInfo.isNewPeopleFlag == '' || this.userInfo.isNewPeopleFlag == null || this.userInfo.isNewPeopleFlag == undefined)) {
|
||||
return this.$toast('投保人新市民身份不能为空')
|
||||
}
|
||||
|
||||
@@ -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 class="dutyAmt" value='保额' label='保险责任' name='保险责任' readonly input-align="right"/>
|
||||
<van-field value='保额' label='保险责任' name='保险责任' readonly />
|
||||
<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,13 +194,4 @@ export default {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
.dutyAmt{
|
||||
.van-field__label {
|
||||
width: 60vw;
|
||||
}
|
||||
|
||||
.van-field__control {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -313,6 +313,7 @@ import dateUtils from '@/assets/js/utils/date-utils'
|
||||
import Vue from 'vue'
|
||||
import { GoodsAction, GoodsActionIcon, GoodsActionButton } from 'vant'
|
||||
import riskRules from '@/views/ebiz/common/risk-rules'
|
||||
import {idNoCheck8} from "../sale/js/verification";
|
||||
|
||||
DataDictionary.relationToAppnt = DataDictionary.relationToAppnt.slice(0, 4)
|
||||
Vue.use(Checkbox).use(CheckboxGroup)
|
||||
@@ -1267,11 +1268,17 @@ export default {
|
||||
return this.$toast('证件有效期不正常,26周岁至45周岁公民身份证有效期应小于等于20年')
|
||||
}
|
||||
}
|
||||
}else if(this.insuredInfo.idType == '2'){
|
||||
}
|
||||
else if(this.insuredInfo.idType == '2'){
|
||||
if (idToData(this.insuredInfo.idNo).age >= 16) {
|
||||
return this.$toast('客户年龄在16周岁以上,不能使用户口本作为有效证件')
|
||||
}
|
||||
}
|
||||
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
|
||||
// 如果是未成年人
|
||||
|
||||
@@ -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, cardContIsPay } from '@/api/ebiz/cardList/cardList.js'
|
||||
import { saveOrUpdateAccount, getPayTemp, getShareParam } 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,38 +615,21 @@ export default {
|
||||
if (true !== valid) {
|
||||
return this.$toast(this.$validator.errors.all()[0])
|
||||
}
|
||||
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
|
||||
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('当前不可支付')
|
||||
}
|
||||
}
|
||||
},
|
||||
acceptInsurance() {
|
||||
@@ -655,7 +638,7 @@ export default {
|
||||
cardOrder: 'cardOrder',
|
||||
payType: this.radio
|
||||
}
|
||||
acceptInsurance(data).then((res) => {
|
||||
acceptInsurance(data).then(res => {
|
||||
// this.$jump({
|
||||
// flag: 'h5',
|
||||
// extra: {
|
||||
@@ -765,44 +748,13 @@ 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
|
||||
@@ -812,8 +764,42 @@ export default {
|
||||
})
|
||||
this.acceptInsurance()
|
||||
})
|
||||
.catch(() => {})
|
||||
.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, // 禁用背景点击
|
||||
@@ -822,6 +808,7 @@ export default {
|
||||
})
|
||||
this.acceptInsurance()
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
// 选择微信支付校验身份证类型
|
||||
|
||||
@@ -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.请关注微信公众号【国富人寿保险】查询、下载电子保单及电子发票。<br />
|
||||
2.为保障您的权益,投保成功后广西保险行业协会对您进行短信调研,请您注意查看短信。如您满意,请回复“1”。<br />
|
||||
如有疑问,可拨打国富人寿全国服务热线400-694-6688咨询。<br />
|
||||
1.保单承保后,您或被保险人可拨打国富人寿客户服务电话(400-694-6688)、或登陆国富人寿官网(www.e-guofu.com)以及关注官方微信公众号【国富人寿保险】查询、下载电子保单。<br />
|
||||
2.本保险产品提供电子发票。如您需要发票,您可以关注微信公众号【国富人寿保险】自助下载电子发票。<br />
|
||||
3.为保障您的权益,投保成功后广西保险行业协会对您进行短信调研,了解您本次保险消费的相关情况,请您注意查看短信。如您满意,请回复“1”。如有疑问,可拨打国富人寿全国服务热线400-694-6688咨询。<br />
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="payStatus == '2' || payStatus == '4' || payStatus == '8'" class=" p10 pb250 bg-white">
|
||||
@@ -78,7 +78,6 @@ export default {
|
||||
let isWeixin = this.$utils.device().isWeixin //判断环境
|
||||
return {
|
||||
isWeixin,
|
||||
orderNo: '',
|
||||
// 保融收银台返回的支付流水号
|
||||
paySeqNo: '',
|
||||
// 接口返回数据前,不做页面渲染
|
||||
@@ -210,10 +209,6 @@ 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 = ''
|
||||
|
||||
@@ -92,7 +92,7 @@ export default {
|
||||
//只有惠桂保团险添加此提示
|
||||
if( this.$route.query.isGroupCard == '1' ){
|
||||
Dialog.alert({
|
||||
title: '投保提示',
|
||||
title: '温馨提示',
|
||||
messageAlign: 'left',
|
||||
confirmButtonText: '确认',
|
||||
message: `1、您即将进入投保流程,为维护您的合法权益,投保时请您务必仔细阅读和确认保险条款、投保须知、免除保险人责任条款、犹豫期条款等页面所有内容。<br/>2.您的投保过程和操作将被记录。`,
|
||||
|
||||
@@ -272,7 +272,6 @@
|
||||
label='职业类别'
|
||||
placeholder='请输入'
|
||||
name='职业类别'
|
||||
readonly
|
||||
:value='insuredInfo.occupationName'
|
||||
right-icon='arrow'
|
||||
/>
|
||||
@@ -537,7 +536,7 @@
|
||||
placeholder='请选择'
|
||||
@click="toSelect('10')"
|
||||
/>
|
||||
<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='请输入' />
|
||||
<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='请输入' />
|
||||
<FieldDatePicter
|
||||
v-else
|
||||
label='指定生效日期'
|
||||
@@ -596,10 +595,6 @@
|
||||
||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
|
||||
@@ -959,7 +954,7 @@ export default {
|
||||
}
|
||||
//金掌桂无忧卡,少儿安康卡两款卡单产品关闭指定生效日功能,默认自承保之日起第四日零时生效
|
||||
//GFRS_M0052 国富人寿少儿安康保险产品组合、GFRS_M0041 国富无忧卡-国富人寿综合意外伤害保险计划
|
||||
if (this.itemProductDTOS.productCode === 'GFRS_M0052' || this.itemProductDTOS.productCode === 'GFRS_M0041' || this.itemProductDTOS.productCode === 'GFRS_M0071'|| this.itemProductDTOS.productCode === 'GFRS_M0091') {
|
||||
if (this.itemProductDTOS.productCode === 'GFRS_M0052' || this.itemProductDTOS.productCode === 'GFRS_M0041' || this.itemProductDTOS.productCode === 'GFRS_M0071') {
|
||||
this.cvaliDate = dateUtils.formatDate(afterDate.getAfterDays(Number(this.trialList[0].timeliness)), 'yyyy-MM-dd')
|
||||
//保险期间计算逻辑
|
||||
let val = this.cvaliDate
|
||||
@@ -1034,6 +1029,7 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
//试算逻辑国富万福卡GFRS_M0071
|
||||
insureTrial() {
|
||||
// if(this.insuredInfo.birthday || that.$route.query.relationToAppnt == '1'){
|
||||
if (this.userInfo.relationToInsured == 1) {
|
||||
@@ -1131,11 +1127,9 @@ export default {
|
||||
let { code, name, healthGrade, lifeGrade } = data
|
||||
//校验主合同被保险人寿险职业等级
|
||||
//投保同人时,验证投保人职业,投被不同人时验证被保人职业
|
||||
if(this.itemProductDTOS.productCode != 'GFRS_M0091') {
|
||||
if(!(this.userInfo.relationToInsured != 1 && this.insureType === '1')){
|
||||
if (riskRules.lifeGradeLimitCard(this.trialDTOS, this, lifeGrade)) {
|
||||
return
|
||||
}
|
||||
if(!(this.userInfo.relationToInsured != 1 && this.insureType === '1')){
|
||||
if (riskRules.lifeGradeLimitCard(this.trialDTOS, this, lifeGrade)) {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1152,14 +1146,10 @@ 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
|
||||
}
|
||||
},
|
||||
/**
|
||||
@@ -1834,14 +1824,9 @@ 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_M0063'||this.itemProductDTOS.productCode === 'GFRS_M0064') {
|
||||
|| this.itemProductDTOS.productCode === 'GFRS_M0062' || 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
|
||||
@@ -2075,7 +2060,12 @@ export default {
|
||||
return this.$toast(idNoCheck8(this.userInfo,'cardList').text)
|
||||
}
|
||||
}
|
||||
let insuredAge = utilsAge.getAge(this.insuredInfo.birthday, new Date(this.cvaliDate))
|
||||
else if (this.insuredInfo.idType == '8') {
|
||||
if (idNoCheck8(this.insuredInfo,'cardList').text){
|
||||
return this.$toast(idNoCheck8(this.insuredInfo,'cardList').text)
|
||||
}
|
||||
}
|
||||
let insuredAge = utilsAge.getAge(this.insuredInfo.birthday, new Date())
|
||||
console.log('计算年龄', insuredAge)
|
||||
//如果证件类型是身份证或户口本
|
||||
if (this.insuredInfo.idType == '1') {
|
||||
@@ -2214,11 +2204,6 @@ 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
|
||||
// 如果是未成年人
|
||||
@@ -2261,21 +2246,35 @@ export default {
|
||||
return this.$toast('被保险人的年龄不可以超过65周岁')
|
||||
}
|
||||
}
|
||||
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))
|
||||
|
||||
//投保人需大于等于 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岁,请重新选择。')
|
||||
// }
|
||||
// }
|
||||
|
||||
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'){
|
||||
@@ -2394,27 +2393,6 @@ 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 {
|
||||
@@ -2560,9 +2538,6 @@ 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) {
|
||||
@@ -2767,11 +2742,10 @@ export default {
|
||||
// GFRS-2641--被保险人职业:幼儿园版默认学龄前儿童,义务教育、高中/高等教育默认一般学生
|
||||
// 被保险人婚姻默认未婚,允许修改
|
||||
// 被保险人手机及邮箱默认投保人,允许修改
|
||||
if (this.itemProductDTOS.productCode == 'GFRS_M0048' || this.itemProductDTOS.productCode == 'GFRS_M0050'
|
||||
if (this.itemProductDTOS.productCode == 'GFRS_M0048' || this.itemProductDTOS.productCode == 'GFRS_M0050' || this.itemProductDTOS.productCode === 'GFRS_M0062'
|
||||
|| 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
|
||||
@@ -2783,22 +2757,8 @@ 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
|
||||
@@ -2815,7 +2775,6 @@ 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
|
||||
@@ -2887,7 +2846,7 @@ export default {
|
||||
//被保人职业变化时,重新调用试算接口
|
||||
'insuredInfo.occupationName': {
|
||||
handler(newV) {
|
||||
if (newV && (this.itemProductDTOS.productCode === 'GFRS_M0071' || this.itemProductDTOS.productCode === 'GFRS_M0091')) {
|
||||
if (newV && this.itemProductDTOS.productCode === 'GFRS_M0071') {
|
||||
this.insureTrial()
|
||||
}
|
||||
},
|
||||
@@ -2897,7 +2856,8 @@ export default {
|
||||
//投被同人时,投保人职业变化时,重新调用试算接口
|
||||
'userInfo.occupationName': {
|
||||
handler(newV) {
|
||||
if (newV && (this.itemProductDTOS.productCode === 'GFRS_M0071' || this.itemProductDTOS.productCode === 'GFRS_M0091')) {
|
||||
// if (newV && this.itemProductDTOS.productCode === 'GFRS_M0071'&& this.userInfo.relationToInsured == 1) {
|
||||
if (newV && this.itemProductDTOS.productCode === 'GFRS_M0071') {
|
||||
this.insureTrial()
|
||||
}
|
||||
},
|
||||
|
||||
@@ -90,7 +90,7 @@ export default {
|
||||
gotoInformation() {
|
||||
if(this.productType != '7'){ //7代表是团险 10卡单
|
||||
Dialog.confirm({
|
||||
title: '投保提示',
|
||||
title: '温馨提示',
|
||||
messageAlign: 'left',
|
||||
confirmButtonColor: '#ee0a24',
|
||||
confirmButtonText: '立即投保',
|
||||
|
||||
@@ -2761,21 +2761,6 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
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 == "一次性交清") {
|
||||
|
||||
@@ -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, riskLevelCheck } from '@/api/ebiz/sale/sale'
|
||||
import { getOrderDetail } 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: 'normal',
|
||||
active: 2,
|
||||
specilFlag: '0',
|
||||
flag: true,
|
||||
list: [],
|
||||
@@ -105,6 +105,8 @@ 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 银保渠道
|
||||
@@ -143,6 +145,26 @@ 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';
|
||||
@@ -202,25 +224,24 @@ export default {
|
||||
}
|
||||
|
||||
if (this.list.length == 0) {
|
||||
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
|
||||
// }
|
||||
// })
|
||||
// })
|
||||
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
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -279,63 +300,40 @@ export default {
|
||||
}
|
||||
|
||||
if (this.list.length == 0) {
|
||||
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
|
||||
// }
|
||||
// })
|
||||
// })
|
||||
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
|
||||
}
|
||||
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()
|
||||
}
|
||||
//置空产品
|
||||
localStorage.chooseProducts = ''
|
||||
|
||||
//添加主险
|
||||
this.addMainRisk()
|
||||
},
|
||||
//储存主险
|
||||
async addMainRisk() {
|
||||
|
||||
@@ -750,10 +750,6 @@
|
||||
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') {
|
||||
@@ -821,32 +817,6 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
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 {
|
||||
@@ -991,6 +961,35 @@
|
||||
}
|
||||
})
|
||||
},
|
||||
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) {
|
||||
@@ -1002,30 +1001,47 @@
|
||||
localStorage.fromAddBeneficiaryInfo = ''
|
||||
localStorage.removeItem('applicant')
|
||||
if(this.isFrom == 'sale') {
|
||||
let params = {
|
||||
orderNO: this.$route.query.orderNo,
|
||||
isElecCont: this.isElecCont
|
||||
if(!this.isElecCont) {
|
||||
this.$toast('请选择保单形式')
|
||||
return false
|
||||
}
|
||||
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)
|
||||
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)
|
||||
}
|
||||
})
|
||||
// this.$jump({
|
||||
// flag: 'h5',
|
||||
// extra: {
|
||||
// forbidSwipeBack: '1',
|
||||
// url: location.origin + '/#' + thismyurl,
|
||||
// needRefresh: '1'
|
||||
// },
|
||||
// routerInfo: {
|
||||
// path: thismyurl
|
||||
// }
|
||||
// })
|
||||
}
|
||||
} else {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
|
||||
@@ -310,10 +310,10 @@ export default {
|
||||
if(this.appntDTO.name == name){
|
||||
this.appntDTO.name = ''
|
||||
}
|
||||
// let ageRule = /^[a-zA-Z\.\s\u4e00-\u9fa5]{2,120}$/
|
||||
// if (this.appntDTO.name && !ageRule.test(this.appntDTO.name)) {
|
||||
// return Toast.fail('姓名长度为2-120个字符之内,只能输入汉字或者英文')
|
||||
// }
|
||||
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个字符之内,只能输入汉字、数字或者英文')
|
||||
}
|
||||
this.appntDTO.age = String(this.appntDTO.age)
|
||||
this.$validator.validate().then(valid => {
|
||||
if (true === valid) {
|
||||
|
||||
@@ -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('被保险人性别有误')
|
||||
}
|
||||
|
||||
@@ -247,7 +247,7 @@ import utilsAge from '@/assets/js/utils/age'
|
||||
import IdentityCardScan from '@/components/ebiz/sale/IdentityCardScan'
|
||||
import CustomerPicker from '@/components/ebiz/customer/CustomerPicker'
|
||||
import idNoCheck from '@/assets/js/utils/idNoCheck'
|
||||
import { idToData } from './js/verification'
|
||||
import {idNoCheck8, idToData} from './js/verification'
|
||||
import { selectComp } from './js/methods'
|
||||
import getAreaName from '@/assets/js/utils/getAreaNameForSale'
|
||||
import { getOrderDetail, checkAppointBnf } from '@/api/ebiz/sale/sale'
|
||||
@@ -961,7 +961,8 @@ export default {
|
||||
}
|
||||
}
|
||||
//证件类型是户口本
|
||||
} else if (this.userInfo.idType == '2') {
|
||||
}
|
||||
else if (this.userInfo.idType == '2') {
|
||||
if (age >= 16) {
|
||||
return this.$toast('客户年龄在16周岁以上,不能使用户口本作为有效证件')
|
||||
}
|
||||
@@ -1009,7 +1010,8 @@ export default {
|
||||
return this.$toast('您填写的证件号码有误')
|
||||
}
|
||||
//证件类型是出生证明
|
||||
} else if (this.userInfo.idType == '3') {
|
||||
}
|
||||
else if (this.userInfo.idType == '3') {
|
||||
if (age >= 2) {
|
||||
return this.$toast('客户年龄在2周岁及以上,不能使用出生证作为有效证件')
|
||||
}
|
||||
@@ -1019,20 +1021,29 @@ export default {
|
||||
return this.$toast('您填写的证件号码有误')
|
||||
}
|
||||
//证件类型是护照
|
||||
} else if (this.userInfo.idType == '4') {
|
||||
}
|
||||
else if (this.userInfo.idType == '4') {
|
||||
if (this.userInfo.nativeplace == '1') {
|
||||
return this.$toast('“证件类型”为“外国人护照”,“国籍”不能选择为“中国”哦~')
|
||||
}
|
||||
} else if (this.userInfo.idType == '5') {
|
||||
}
|
||||
else if (this.userInfo.idType == '5') {
|
||||
console.log(this.userInfo.nativeplace, 'nativeplace')
|
||||
if (this.userInfo.nativeplace != '2' && this.userInfo.nativeplace != '3') {
|
||||
return this.$toast('“证件类型”为“港澳居民来往内地通行证”,“国籍”请选择“中国香港”或“中国澳门”哦~')
|
||||
}
|
||||
} else if (this.userInfo.idType == '6') {
|
||||
}
|
||||
else if (this.userInfo.idType == '6') {
|
||||
if (this.userInfo.nativeplace != '4') {
|
||||
return this.$toast('“证件类型”为“台湾居民来往大陆通行证”,“国籍”请选择“中国台湾”~')
|
||||
}
|
||||
} else if (this.userInfo.idType == '9') {
|
||||
}
|
||||
else if (this.userInfo.idType == '8') {
|
||||
if (idNoCheck8(this.userInfo).text){
|
||||
return this.$toast(idNoCheck8(this.userInfo).text)
|
||||
}
|
||||
}
|
||||
else if (this.userInfo.idType == '9') {
|
||||
if (this.userInfo.nativeplace != '2' && this.userInfo.nativeplace != '3' && this.userInfo.nativeplace != '4') {
|
||||
return this.$toast('“证件类型”为“港澳台居民居住证”,“国籍”请选择“中国香港”、“中国澳门”或“中国台湾”~')
|
||||
}
|
||||
|
||||
@@ -460,7 +460,7 @@
|
||||
import IdentityCardScan from '@/components/ebiz/sale/IdentityCardScan'
|
||||
import idNoCheck from '@/assets/js/utils/idNoCheck'
|
||||
import beforeDate from '@/assets/js/utils/getBeforeDate.js'
|
||||
import { idToData } from './js/verification'
|
||||
import { idToData, idNoCheck8 } from './js/verification'
|
||||
import { selectComp, getIdentityInfo } from './js/methods'
|
||||
import SearchField from '@/components/common/SearchField'
|
||||
import riskRules from '@/views/ebiz/common/risk-rules'
|
||||
@@ -773,8 +773,6 @@
|
||||
this.isNewPeopleFlagTipshow = true
|
||||
},
|
||||
workcompanys(list) {
|
||||
// 单位数据
|
||||
console.log(list)
|
||||
this.userWorkcompanys = list
|
||||
},
|
||||
setCustomerMarriage(marriageCode) {
|
||||
@@ -1243,28 +1241,39 @@
|
||||
}
|
||||
}
|
||||
//证件类型是户口本
|
||||
} else if (this.userInfo.idType == '2') {
|
||||
}
|
||||
else if (this.userInfo.idType == '2') {
|
||||
if (age > 16) {
|
||||
return this.$toast('客户年龄在16周岁以上,不能使用户口本作为有效证件')
|
||||
}
|
||||
} else if (this.userInfo.idType == '3') {
|
||||
}
|
||||
else if (this.userInfo.idType == '3') {
|
||||
if (age >= 2) {
|
||||
return this.$toast('客户年龄在2周岁及以上,不能使用出生证作为有效证件')
|
||||
}
|
||||
} else if (this.userInfo.idType == '4') {
|
||||
}
|
||||
else if (this.userInfo.idType == '4') {
|
||||
if (this.userInfo.nativeplace == '1') {
|
||||
return this.$toast('“证件类型”为“外国人护照”,“国籍”不能选择为“中国”哦~')
|
||||
}
|
||||
} else if (this.userInfo.idType == '5') {
|
||||
}
|
||||
else if (this.userInfo.idType == '5') {
|
||||
console.log(this.userInfo.nativeplace, 'nativeplace')
|
||||
if (this.userInfo.nativeplace != 2 && this.userInfo.nativeplace != 3) {
|
||||
return this.$toast('“证件类型”为“港澳居民来往内地通行证”,“国籍”请选择“中国香港”或“中国澳门”哦~')
|
||||
}
|
||||
} else if (this.userInfo.idType == '6') {
|
||||
}
|
||||
else if (this.userInfo.idType == '6') {
|
||||
if (this.userInfo.nativeplace != 4) {
|
||||
return this.$toast('“证件类型”为“台湾居民来往大陆通行证”,“国籍”请选择“中国台湾”~')
|
||||
}
|
||||
} else if (this.userInfo.idType == '9') {
|
||||
}
|
||||
else if (this.userInfo.idType == '8') {
|
||||
if (idNoCheck8(this.userInfo).text){
|
||||
return this.$toast(idNoCheck8(this.userInfo).text)
|
||||
}
|
||||
}
|
||||
else if (this.userInfo.idType == '9') {
|
||||
if (this.userInfo.nativeplace != 2 && this.userInfo.nativeplace != 3 && this.userInfo.nativeplace != 4) {
|
||||
return this.$toast('“证件类型”为“港澳台居民居住证”,“国籍”请选择“中国香港”、“中国澳门”或“中国台湾”~')
|
||||
}
|
||||
@@ -1487,10 +1496,26 @@
|
||||
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
|
||||
// } else {
|
||||
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 {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
@@ -1500,7 +1525,7 @@
|
||||
path: `/sale/insuredPerson?${this.thismystr}` + '&orderNo=' + this.thismyorderNo,
|
||||
},
|
||||
})
|
||||
// }
|
||||
}
|
||||
} else {
|
||||
this.$toast(resultData.resultMessage)
|
||||
}
|
||||
@@ -1590,35 +1615,37 @@
|
||||
}
|
||||
},
|
||||
getRelatedData(val, source) {
|
||||
if (this.userInfo.idType != '1') {
|
||||
if (this.userInfo.idType != '1' && this.userInfo.idType != '8') {
|
||||
return
|
||||
}
|
||||
//如果证件校验不通过,恢复默认值
|
||||
if (idToData(val).text) {
|
||||
;[this.userInfo.idNo, this.userInfo.sex, this.userInfo.birthday, this.effectiveDateTypeAble] = ['', '0', '', false]
|
||||
return this.$toast(idToData(val).text)
|
||||
}
|
||||
// // 判断投保人年龄是否大于16周岁
|
||||
// if (idToData(val).age <= 16) {
|
||||
// ;[this.userInfo.idNo, this.userInfo.sex, this.userInfo.birthday, this.effectiveDateTypeAble] = ['', '0', '', false]
|
||||
// return this.$toast('亲,投保人年龄必须大于等于16周岁哦~')
|
||||
// }
|
||||
|
||||
this.userInfo.effectiveDateType = false
|
||||
this.effectiveDateTypeAble = idToData(val).age <= 45
|
||||
this.userInfo.birthday = idToData(val).birthday
|
||||
this.userInfo.sex = idToData(val).sex
|
||||
//年龄小于18周岁,工作单位默认值为‘无’
|
||||
if (idToData(val).age < 18) {
|
||||
this.userInfo.workcompany = this.userInfo.workcompany || '无'
|
||||
}
|
||||
if (idToData(val).age > 45) {
|
||||
if (source) {
|
||||
this.userInfo.effectiveDateType = true
|
||||
if(this.userInfo.idType == '1'){
|
||||
//如果证件校验不通过,恢复默认值
|
||||
if (idToData(val).text) {
|
||||
;[this.userInfo.idNo, this.userInfo.sex, this.userInfo.birthday, this.effectiveDateTypeAble] = ['', '0', '', false]
|
||||
return this.$toast(idToData(val).text)
|
||||
}
|
||||
// // 判断投保人年龄是否大于16周岁
|
||||
// if (idToData(val).age <= 16) {
|
||||
// ;[this.userInfo.idNo, this.userInfo.sex, this.userInfo.birthday, this.effectiveDateTypeAble] = ['', '0', '', false]
|
||||
// return this.$toast('亲,投保人年龄必须大于等于16周岁哦~')
|
||||
// }
|
||||
|
||||
this.userInfo.effectiveDateType = false
|
||||
this.effectiveDateTypeAble = idToData(val).age <= 45
|
||||
this.userInfo.birthday = idToData(val).birthday
|
||||
this.userInfo.sex = idToData(val).sex
|
||||
//年龄小于18周岁,工作单位默认值为‘无’
|
||||
if (idToData(val).age < 18) {
|
||||
this.userInfo.workcompany = this.userInfo.workcompany || '无'
|
||||
}
|
||||
if (idToData(val).age > 45) {
|
||||
if (source) {
|
||||
this.userInfo.effectiveDateType = true
|
||||
}
|
||||
this.effectiveDateTypeAble = false
|
||||
} else {
|
||||
// this.userInfo.effectiveDateType = false
|
||||
}
|
||||
this.effectiveDateTypeAble = false
|
||||
} else {
|
||||
// this.userInfo.effectiveDateType = false
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
@@ -493,7 +493,7 @@
|
||||
import IdentityCardScan from '@/components/ebiz/sale/IdentityCardScan'
|
||||
import idNoCheck from '@/assets/js/utils/idNoCheck'
|
||||
import beforeDate from '@/assets/js/utils/getBeforeDate.js'
|
||||
import { idToData } from './js/verification'
|
||||
import {idNoCheck8, idToData} from './js/verification'
|
||||
import { selectComp, getIdentityInfo } from './js/methods'
|
||||
import IndexBar from '@/components/ebiz/sale/IndexBar'
|
||||
import SearchField from '@/components/common/SearchField'
|
||||
@@ -1540,7 +1540,8 @@
|
||||
// }
|
||||
|
||||
//证件类型是户口本
|
||||
} else if (this.userInfo.idType == '2') {
|
||||
}
|
||||
else if (this.userInfo.idType == '2') {
|
||||
if (this.userInfo.nativeplace != '1') {
|
||||
return this.$toast('证件类型”为“身份证,国籍必须为中国哦')
|
||||
}
|
||||
@@ -1591,7 +1592,8 @@
|
||||
// return this.$toast('户口本的证件号码长度应等于18位')
|
||||
// }
|
||||
//证件类型是出生证明
|
||||
} else if (this.userInfo.idType == '3') {
|
||||
}
|
||||
else if (this.userInfo.idType == '3') {
|
||||
if (age >= 2) {
|
||||
return this.$toast('客户年龄在2周岁及以上,不能使用出生证作为有效证件')
|
||||
}
|
||||
@@ -1604,20 +1606,29 @@
|
||||
// return this.$toast('出生证须大于等于3个字符')
|
||||
// }
|
||||
//证件类型是护照
|
||||
} else if (this.userInfo.idType == '4') {
|
||||
}
|
||||
else if (this.userInfo.idType == '4') {
|
||||
if (this.userInfo.nativeplace == '1') {
|
||||
return this.$toast('“证件类型”为“外国人护照”,“国籍”不能选择为“中国”哦~')
|
||||
}
|
||||
} else if (this.userInfo.idType == '5') {
|
||||
}
|
||||
else if (this.userInfo.idType == '5') {
|
||||
console.log(this.userInfo.nativeplace, 'nativeplace')
|
||||
if (this.userInfo.nativeplace != 2 && this.userInfo.nativeplace != 3) {
|
||||
return this.$toast('“证件类型”为“港澳居民来往内地通行证”,“国籍”请选择“中国香港”或“中国澳门”哦~')
|
||||
}
|
||||
} else if (this.userInfo.idType == '6') {
|
||||
}
|
||||
else if (this.userInfo.idType == '6') {
|
||||
if (this.userInfo.nativeplace != 4) {
|
||||
return this.$toast('“证件类型”为“台湾居民来往大陆通行证”,“国籍”请选择“中国台湾”~')
|
||||
}
|
||||
} else if (this.userInfo.idType == '9') {
|
||||
}
|
||||
else if (this.userInfo.idType == '8') {
|
||||
if (idNoCheck8(this.userInfo).text){
|
||||
return this.$toast(idNoCheck8(this.userInfo).text)
|
||||
}
|
||||
}
|
||||
else if (this.userInfo.idType == '9') {
|
||||
if (this.userInfo.nativeplace != 2 && this.userInfo.nativeplace != 3 && this.userInfo.nativeplace != 4) {
|
||||
return this.$toast('“证件类型”为“港澳台居民居住证”,“国籍”请选择“中国香港”、“中国澳门”或“中国台湾”~')
|
||||
}
|
||||
|
||||
@@ -769,7 +769,7 @@ export default {
|
||||
window.localStorage.setItem('sign-appnt', JSON.stringify(that.appntSign))
|
||||
if (val == '0' || val == '2') {
|
||||
//idtype不为身份证跳过人脸识别
|
||||
if (JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).idType != '1') {
|
||||
if (JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).idType != '1' && JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).idType != '8') {
|
||||
that.goUrl()
|
||||
} else {
|
||||
// 白名单校验
|
||||
@@ -801,9 +801,10 @@ export default {
|
||||
if (localStorage['faceAuthWeXin-requestId'] && localStorage['faceAuthWeXin-bizToken'] && this.$route.query.faceAuthCountWeixin != undefined) {
|
||||
this.getRecognitionResult(JSON.parse(localStorage['faceAuthWeXin-requestId']), JSON.parse(localStorage['faceAuthWeXin-bizToken']))
|
||||
} else {
|
||||
this.idcardData.realName = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).name
|
||||
this.idcardData.idno = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).idNo
|
||||
this.recognition()
|
||||
this.idcardData.realName = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).name
|
||||
this.idcardData.idno = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).idNo
|
||||
this.idcardData.idType = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).idType
|
||||
this.recognition()
|
||||
}
|
||||
// if (this.faceAuthCount.appnt < this.smsAuthNum) {
|
||||
// this.idcardData.realName = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).name
|
||||
@@ -824,9 +825,7 @@ export default {
|
||||
} else {
|
||||
thismyage = thismysaleInsuredPersonInfo.insuredAge
|
||||
}
|
||||
if (
|
||||
JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).idType != '1' || thismyage < '18'
|
||||
) {
|
||||
if ((JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).idType != '1' && JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).idType != '8') || thismyage < '18') {
|
||||
that.goUrl()
|
||||
} else {
|
||||
// 白名单校验
|
||||
@@ -858,9 +857,10 @@ export default {
|
||||
if (localStorage['faceAuthWeXin-requestId'] && localStorage['faceAuthWeXin-bizToken'] && this.$route.query.faceAuthCountWeixin != undefined) {
|
||||
this.getRecognitionResult(JSON.parse(localStorage['faceAuthWeXin-requestId']), JSON.parse(localStorage['faceAuthWeXin-bizToken']))
|
||||
} else {
|
||||
this.idcardData.realName = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).name
|
||||
this.idcardData.idno = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).idNo
|
||||
this.recognition()
|
||||
this.idcardData.realName = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).name
|
||||
this.idcardData.idno = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).idNo
|
||||
this.idcardData.idType = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).idType
|
||||
this.recognition()
|
||||
}
|
||||
// if (this.faceAuthCount.insured < this.smsAuthNum) {
|
||||
// this.idcardData.realName = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).name
|
||||
@@ -876,7 +876,7 @@ export default {
|
||||
if (val == '0' || val == '2') {
|
||||
window.localStorage.setItem('sign-val', val)
|
||||
window.localStorage.setItem('sign-appnt', JSON.stringify(that.appntSign))
|
||||
if (this.saleInsuredInfo.idType != '1') {
|
||||
if (this.saleInsuredInfo.idType != '1' && this.saleInsuredInfo.idType != '8') {
|
||||
that.goUrl()
|
||||
} else {
|
||||
//RID 状态--有效
|
||||
@@ -905,11 +905,16 @@ export default {
|
||||
}
|
||||
if (this.faceAuthCount.appnt < this.smsAuthNum) {
|
||||
// 人脸识别
|
||||
let thisidType = ''
|
||||
if(that.saleInsuredInfo.idType == 8) {
|
||||
thisidType = '05'
|
||||
}
|
||||
//eslint-disable-next-line no-undef
|
||||
const authRes = await EWebBridge.webCallAppInJs('face_auth', {
|
||||
businessSource: '1', //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||
number: that.saleInsuredInfo.idNo, //身份证号码
|
||||
name: that.saleInsuredInfo.name //姓名
|
||||
name: that.saleInsuredInfo.name, //姓名
|
||||
idType: thisidType, //证件类型
|
||||
}).then((data) => {
|
||||
if (JSON.parse(data).state == '1') {
|
||||
// 保存rid 数据
|
||||
@@ -937,7 +942,7 @@ export default {
|
||||
} else {
|
||||
thismyage = this.saleInsuredPersonInfo.insuredAge
|
||||
}
|
||||
if (this.saleInsuredPersonInfo.idType != '1' || thismyage < '18') {
|
||||
if ((this.saleInsuredPersonInfo.idType != '1' && this.saleInsuredPersonInfo.idType != '8') || thismyage < '18') {
|
||||
that.goUrl()
|
||||
} else {
|
||||
//RID 状态--有效
|
||||
@@ -969,11 +974,16 @@ export default {
|
||||
|
||||
// 人脸识别
|
||||
if (this.faceAuthCount.insured < this.smsAuthNum) {
|
||||
let thisidType = ''
|
||||
if(that.saleInsuredPersonInfo.idType == 8) {
|
||||
thisidType = '05'
|
||||
}
|
||||
// 调原生人脸识别
|
||||
const authRes = await EWebBridge.webCallAppInJs('face_auth', {
|
||||
businessSource: '1', //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||
number: that.saleInsuredPersonInfo.idNo, //身份证号码
|
||||
name: that.saleInsuredPersonInfo.name //姓名
|
||||
name: that.saleInsuredPersonInfo.name, //姓名
|
||||
idType: thisidType, //证件类型
|
||||
}).then((data) => {
|
||||
if (JSON.parse(data).state == '1') {
|
||||
that.saveCustomerRidInfo('insured_rid', 'B')
|
||||
@@ -1746,6 +1756,9 @@ export default {
|
||||
redirectUrl: this.idcardData.redirectUrl,
|
||||
businessSource: this.idcardData.businessSource
|
||||
}
|
||||
if(this.idcardData.idType == 8) {
|
||||
data.idType = '05'
|
||||
}
|
||||
getRecognitionUrl(data).then(
|
||||
(res) => {
|
||||
if (res.result == '0') {
|
||||
|
||||
@@ -24,6 +24,30 @@ export function idToData(idNo) {
|
||||
text: '您填写的证件号码有误'
|
||||
}
|
||||
}
|
||||
console.log('12321321321')
|
||||
let birthday = getBirthById(idNo)
|
||||
let age = utilsAge.getAge(birthday, new Date())
|
||||
let sex = getSexById(idNo)
|
||||
return {
|
||||
birthday,
|
||||
age,
|
||||
sex
|
||||
}
|
||||
}
|
||||
|
||||
//外国人永久居留身份证带出出生日期,性别,年龄
|
||||
export function idToData8(idNo) {
|
||||
//非空
|
||||
if (!idNo.trim()) {
|
||||
return {
|
||||
text: '证件号码不能为空'
|
||||
}
|
||||
}
|
||||
if (idNo.length != 15 && idNo.length != 18) {
|
||||
return {
|
||||
text: '外国人永久居留身份证位数有误'
|
||||
}
|
||||
}
|
||||
let birthday = getBirthById(idNo)
|
||||
let age = utilsAge.getAge(birthday, new Date())
|
||||
let sex = getSexById(idNo)
|
||||
@@ -35,20 +59,218 @@ export function idToData(idNo) {
|
||||
}
|
||||
|
||||
function getBirthById(idNo) {
|
||||
// 获取生日
|
||||
var year = idNo.substr(6, 4)
|
||||
var month = idNo.substr(10, 2)
|
||||
var day = idNo.substr(12, 2)
|
||||
return year + '-' + month + '-' + day
|
||||
if(idNo.length == 15) {
|
||||
// 获取生日
|
||||
let year = '19' + idNo.substr(6, 2)
|
||||
let month = idNo.substr(8, 2)
|
||||
let day = idNo.substr(10, 2)
|
||||
return year + '-' + month + '-' + day
|
||||
}
|
||||
if(idNo.length == 18) {
|
||||
// 获取生日
|
||||
let year = idNo.substr(6, 4)
|
||||
let month = idNo.substr(10, 2)
|
||||
let day = idNo.substr(12, 2)
|
||||
return year + '-' + month + '-' + day
|
||||
}
|
||||
}
|
||||
|
||||
function getSexById(idNo) {
|
||||
// 获取性别
|
||||
if (idNo.charAt(16) >= '0' && idNo.charAt(16) <= '9') {
|
||||
if (parseInt(idNo.charAt(16)) % 2 == 0) {
|
||||
return '1'
|
||||
} else {
|
||||
return '0'
|
||||
// if(idNo.length == 15){
|
||||
// // 获取性别
|
||||
// if (idNo.charAt(13) >= '0' && idNo.charAt(13) <= '9') {
|
||||
// if (parseInt(idNo.charAt(13)) % 2 == 0) {
|
||||
// return '1'
|
||||
// } else {
|
||||
// return '0'
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
if(idNo.length == 18) {
|
||||
// 获取性别
|
||||
if (idNo.charAt(16) >= '0' && idNo.charAt(16) <= '9') {
|
||||
if (parseInt(idNo.charAt(16)) % 2 == 0) {
|
||||
return '1'
|
||||
} else {
|
||||
return '0'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
function js_date_time(unixtime) {
|
||||
var dateTime = new Date(parseInt(unixtime))
|
||||
var year = dateTime.getFullYear();
|
||||
var month = dateTime.getMonth() + 1;
|
||||
var day = dateTime.getDate();
|
||||
var timeSpanStr = year + '-' + month.toString().padStart(2, '0') + '-' + day.toString().padStart(2, '0');
|
||||
return timeSpanStr;
|
||||
}
|
||||
|
||||
export function idNoCheck8(userInfo,type) {
|
||||
if(!userInfo.idNo) {
|
||||
return {
|
||||
text: '证件号码不能为空'
|
||||
}
|
||||
}
|
||||
if(userInfo.idNo.length != 15 && userInfo.idNo.length != 18) {
|
||||
return {
|
||||
text: '外国人永久居留身份证位数有误'
|
||||
}
|
||||
}
|
||||
if(userInfo.idNo.length == 15) {
|
||||
let reg = /^[A-Za-z]{3}\d{12}$/
|
||||
if(!reg.test(userInfo.idNo)) {
|
||||
return {
|
||||
text: '外国人永久居留身份证位数有误'
|
||||
}
|
||||
}
|
||||
}
|
||||
if(userInfo.idNo.length == 18) {
|
||||
let reg = / (^9\d{17}$)|(^9\d{16}(\d|X)$)/
|
||||
if(!reg.test(userInfo.idNo)) {
|
||||
return {
|
||||
text: '外国人永久居留身份证位数有误'
|
||||
}
|
||||
}
|
||||
}
|
||||
// if(userInfo.idNo.length == 15) {
|
||||
// // 获取生日
|
||||
// let year = '19' + userInfo.idNo.substr(7, 2)
|
||||
// let month = userInfo.idNo.substr(9, 2)
|
||||
// let day = userInfo.idNo.substr(11, 2)
|
||||
// let thisBirthday = year + '-' + month + '-' + day
|
||||
// if(thisBirthday != userInfo.birthday) {
|
||||
// console.log('12321321321',thisBirthday)
|
||||
// return {
|
||||
// text: '出生日期必须与证件号码中的生日一致'
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
if(userInfo.idNo.length == 18) {
|
||||
// 获取生日
|
||||
let year = userInfo.idNo.substr(6, 4)
|
||||
let month = userInfo.idNo.substr(10, 2)
|
||||
let day = userInfo.idNo.substr(12, 2)
|
||||
let thisBirthday = year + '-' + month + '-' + day
|
||||
if(thisBirthday != userInfo.birthday) {
|
||||
return {
|
||||
text: '出生日期必须与证件号码中的生日一致'
|
||||
}
|
||||
}
|
||||
}
|
||||
if(userInfo.idNo.length == 18){
|
||||
let thisSex = getSexById(userInfo.idNo)
|
||||
if(thisSex != userInfo.sex) {
|
||||
return {
|
||||
text: '性别必须与证件号码中的一致'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (userInfo.nativeplace == '1' || userInfo.nativeplace == '2' || userInfo.nativeplace == '3' || userInfo.nativeplace == '4') {
|
||||
return {
|
||||
text: '外国人永久居留身份证不能选择中国国籍'
|
||||
}
|
||||
}
|
||||
if(!userInfo.certiexpiredate) {
|
||||
return {
|
||||
text: '证件截止日期不能为空'
|
||||
}
|
||||
}
|
||||
|
||||
if(type == 'cardList') {
|
||||
let thisAge = utilsAge.getAge(userInfo.birthday, new Date())
|
||||
if(thisAge < 18) {
|
||||
let date1 = new Date(userInfo.certiexpiredate.replace(/-/g,'/'));
|
||||
let date2 = date1.setFullYear(date1.getFullYear() - 5);
|
||||
let date3 = date2+(1000*60*60*24)
|
||||
let date4 = js_date_time(date3)
|
||||
let thisAge = utilsAge.getAge(userInfo.birthday, new Date(date4.replace(/-/g,'/')))
|
||||
if(thisAge > 18) {
|
||||
return {
|
||||
text: '外国人永久居留身份证证件有效期有误'
|
||||
}
|
||||
}
|
||||
if(date3 > new Date().getTime()) {
|
||||
return {
|
||||
text: '外国人永久居留身份证证件有效期有误'
|
||||
}
|
||||
}
|
||||
}
|
||||
if(thisAge >= 18 && thisAge <= 22) {
|
||||
let date1 = new Date(userInfo.certiexpiredate.replace(/-/g,'/'));
|
||||
let date2 = date1.setFullYear(date1.getFullYear() - 5);
|
||||
let date3 = date2+(1000*60*60*24)
|
||||
let date4 = js_date_time(date3)
|
||||
|
||||
let date5 = new Date(userInfo.certiexpiredate.replace(/-/g,'/'));
|
||||
let date6 = date5.setFullYear(date5.getFullYear() - 10);
|
||||
let date7 = date6+(1000*60*60*24)
|
||||
let date8 = js_date_time(date7)
|
||||
|
||||
let thisAge1 = utilsAge.getAge(userInfo.birthday, new Date(date4.replace(/-/g,'/')))
|
||||
let thisAge2 = utilsAge.getAge(userInfo.birthday, new Date(date8.replace(/-/g,'/')))
|
||||
if(thisAge1 >= 18 && thisAge2 < 18){
|
||||
return {
|
||||
text: '外国人永久居留身份证证件有效期有误'
|
||||
}
|
||||
}
|
||||
if(thisAge1 < 18 && date3 > new Date().getTime()) {
|
||||
return {
|
||||
text: '外国人永久居留身份证证件有效期有误'
|
||||
}
|
||||
}
|
||||
if(thisAge2 >= 18 &&date7 > new Date().getTime()) {
|
||||
return {
|
||||
text: '外国人永久居留身份证证件有效期有误'
|
||||
}
|
||||
}
|
||||
}
|
||||
if(thisAge >= 23) {
|
||||
let date1 = new Date(userInfo.certiexpiredate.replace(/-/g,'/'));
|
||||
let date2 = date1.setFullYear(date1.getFullYear() - 10);
|
||||
let date3 = date2+(1000*60*60*24)
|
||||
let date4 = js_date_time(date3)
|
||||
let thisAge = utilsAge.getAge(userInfo.birthday, new Date(date4.replace(/-/g,'/')))
|
||||
if(thisAge < 18) {
|
||||
return {
|
||||
text: '外国人永久居留身份证证件有效期有误'
|
||||
}
|
||||
}
|
||||
if(date3 > new Date().getTime()) {
|
||||
return {
|
||||
text: '外国人永久居留身份证证件有效期有误'
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
let thisAge = utilsAge.getAge(userInfo.birthday, new Date(userInfo.certificateValidate))
|
||||
if(thisAge < 18) {
|
||||
let date1 = new Date(userInfo.certificateValidate.replace(/-/g,'/'));
|
||||
let date2 = date1.setFullYear(date1.getFullYear() + 5);
|
||||
let date3 = date2-(1000*60*60*24)
|
||||
let date4 = js_date_time(date3)
|
||||
console.log(date4+'-'+userInfo.certiexpiredate)
|
||||
if(date4 != userInfo.certiexpiredate) {
|
||||
return {
|
||||
text: '外国人永久居留身份证证件有效期有误'
|
||||
}
|
||||
}
|
||||
}
|
||||
if(thisAge >= 18) {
|
||||
let date1 = new Date(userInfo.certificateValidate.replace(/-/g,'/'));
|
||||
let date2 = date1.setFullYear(date1.getFullYear() + 10);
|
||||
let date3 = date2-(1000*60*60*24)
|
||||
let date4 = js_date_time(date3)
|
||||
if(date4 != userInfo.certiexpiredate) {
|
||||
return {
|
||||
text: '外国人永久居留身份证证件有效期有误'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return {
|
||||
text:''
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user