mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-08 07:06:45 +08:00
Compare commits
81 Commits
hotfix/【20
...
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 | ||
|
|
4dd71eb80d | ||
|
|
3aabd2cd47 | ||
|
|
ccc2bd1eaf | ||
|
|
502a35fdc0 | ||
|
|
1364105990 | ||
|
|
23f843f53b | ||
|
|
7a4de61cca | ||
|
|
78f6343af3 | ||
|
|
f4e8f8b4b0 | ||
|
|
2f93dbbc6d | ||
|
|
2eadcc4c4e | ||
|
|
05b8dbb703 | ||
|
|
141b9d6a24 | ||
|
|
76a7e379b7 | ||
|
|
07dc5fa96e | ||
|
|
fbe59da7fa | ||
|
|
f2c230b3e7 | ||
|
|
14e236f9cc | ||
|
|
df590bc2d0 | ||
|
|
a6a2e5b749 | ||
|
|
eebb84093f | ||
|
|
c11ba15a0f | ||
|
|
e94249475e | ||
|
|
67148b4721 | ||
|
|
bdbebc7ad8 | ||
|
|
6e58fbb33d | ||
|
|
5104f52f40 | ||
|
|
6baffe50a8 | ||
|
|
62de743fbc | ||
|
|
6cd71bb8d5 | ||
|
|
e8453879a0 | ||
|
|
d57c539de4 | ||
|
|
b068888067 | ||
|
|
4190d65579 | ||
|
|
54f474dda2 | ||
|
|
988efd34d1 | ||
|
|
0ad0575414 | ||
|
|
3477f9ffd8 | ||
|
|
ccb2b12762 | ||
|
|
1a5b8c2a9e | ||
|
|
31b1485e23 | ||
|
|
0842b27a62 | ||
|
|
65e41ed410 | ||
|
|
7739e8b90b | ||
|
|
33e6b150b4 | ||
|
|
d037b8e36a | ||
|
|
5a9512b5b7 | ||
|
|
570cc88b30 | ||
|
|
7ef7799545 | ||
|
|
e21e16ddbe | ||
|
|
02c408f5ef | ||
|
|
247ad5e13e | ||
|
|
44bd097ae2 | ||
|
|
c20dda510e | ||
|
|
cf0661b6ba | ||
|
|
a9809d32bd | ||
|
|
2be815d1bd | ||
|
|
21a8f13c7e | ||
|
|
c5dd4bcb51 | ||
|
|
a6f572b816 |
17316
package-lock.json
generated
Normal file
17316
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -88,4 +88,31 @@ export function getGBCappntConnectSave(data) {
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// 获取GBC一级产品
|
||||
export function getGBCRiskList(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/product/getGBCRiskList ', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// GBC一级产品校验
|
||||
export function gbcAppntCheckProdect(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/gbc/appnt/checkProdect ', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// GBC一级产品校验
|
||||
export function saveOrUpdateGbc(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/gbc/appnt/saveOrUpdateGbc', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
@@ -390,3 +390,10 @@ export function saveOrderType(data) {
|
||||
})
|
||||
}
|
||||
|
||||
export function changeOrderStatus(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/order/changeOrderStatus', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
BIN
src/assets/images/GBC/submitResult.png
Normal file
BIN
src/assets/images/GBC/submitResult.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 56 KiB |
@@ -16,12 +16,12 @@ export default {
|
||||
if(date2_29 == '02-29'){
|
||||
let thisyear = Number(endDate.slice(0, 4)) - 5
|
||||
if (thisyear % 4 == 0 && thisyear % 100 != 0 || thisyear % 400 == 0){
|
||||
return startDate = thisyear + '-02-29'
|
||||
startDate = thisyear + '-02-29'
|
||||
} else {
|
||||
return startDate = thisyear + '-02-28'
|
||||
startDate = thisyear + '-02-28'
|
||||
}
|
||||
}else{
|
||||
return startDate = String(Number(endDate.slice(0, 4)) - 5) + endDate.slice(4, 11)
|
||||
startDate = String(Number(endDate.slice(0, 4)) - 5) + endDate.slice(4, 11)
|
||||
}
|
||||
}
|
||||
/**
|
||||
@@ -37,12 +37,12 @@ export default {
|
||||
if(date2_29 == '02-29') {
|
||||
let thisyear = Number(endDate.slice(0, 4)) - 10
|
||||
if (thisyear % 4 == 0 && thisyear % 100 != 0 || thisyear % 400 == 0){
|
||||
return startDate = thisyear + '-02-29'
|
||||
startDate = thisyear + '-02-29'
|
||||
} else {
|
||||
return startDate = thisyear + '-02-28'
|
||||
startDate = thisyear + '-02-28'
|
||||
}
|
||||
} else {
|
||||
return startDate
|
||||
startDate
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -59,12 +59,12 @@ export default {
|
||||
if(date2_29 == '02-29') {
|
||||
let thisyear = Number(endDate.slice(0, 4)) - 20
|
||||
if (thisyear % 4 == 0 && thisyear % 100 != 0 || thisyear % 400 == 0){
|
||||
return startDate = thisyear + '-02-29'
|
||||
startDate = thisyear + '-02-29'
|
||||
} else {
|
||||
return startDate = thisyear + '-02-28'
|
||||
startDate = thisyear + '-02-28'
|
||||
}
|
||||
} else {
|
||||
return startDate
|
||||
startDate
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -74,8 +74,12 @@ export default {
|
||||
* @Date: 2023/7/4
|
||||
**/
|
||||
else if (endage - 20 >= 46) {
|
||||
return startDate
|
||||
startDate
|
||||
}
|
||||
if(new Date(birthday).getTime() >= new Date(startDate).getTime() || new Date().getTime() < new Date(startDate).getTime()){
|
||||
startDate = ''
|
||||
}
|
||||
return startDate
|
||||
},
|
||||
|
||||
//计算身份证截止日期
|
||||
|
||||
@@ -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: '外国人永久居留身份证'
|
||||
}
|
||||
],
|
||||
// 新市民身份
|
||||
@@ -3891,6 +3895,38 @@ export default {
|
||||
{
|
||||
code: "GFRS_M0087__cashValue",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "deathDisabilityInsurance",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "middleDiseaseMildillnessExemptionPremium",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "malignantTumorAdditionalInsurance",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "specCardiovascularCerebrovascularDiseasesInsurance",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "firstCriticalIllnessCareFund",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "firstModerateIllnessCareFund",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "firstLightIllnessCareFund",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "GFRS_M0086__cashValue",
|
||||
label: "元"
|
||||
}
|
||||
],
|
||||
// 卡单与短期险重新投保选择职业类别时,两个模块职业类型数据的排序不同,创建这个数据字典,用于在选择职业类别时,作为一个参数传入组件,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="search_box" ref="search_box">
|
||||
<van-field :label="label" required>
|
||||
<van-field :label="label" :class="{ 'van-cell--required': required }">
|
||||
<template #input>
|
||||
<input
|
||||
style="width: 100%; border: none"
|
||||
@@ -40,6 +40,10 @@ export default {
|
||||
value: {
|
||||
type: String
|
||||
},
|
||||
required: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
isAsync: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
|
||||
@@ -29,29 +29,29 @@ function getSearchString (key) {
|
||||
}
|
||||
return obj[key]
|
||||
}
|
||||
let apiVersion = 'v2'
|
||||
var ua = window.navigator.userAgent.toLowerCase()
|
||||
//通过正则表达式匹配ua中是否含有MicroMessenger字符串, 在微信
|
||||
if (localStorage.getItem('apiVersion')) {
|
||||
apiVersion = localStorage.getItem('apiVersion')
|
||||
} else {
|
||||
if (ua.match(/MicroMessenger/i) == 'micromessenger') {
|
||||
//report/reportList数据报表页面在浏览器可以打开了,但在微信或企业微信中打开不了,接口请求不需要token
|
||||
if (window.location.href.indexOf('apiVersion') > 0) {
|
||||
apiVersion = getSearchString('apiVersion') == 'V3' ? 'v3' : 'v2';//url中apiVersion没有时,为v2
|
||||
} else {
|
||||
apiVersion = 'v3'
|
||||
}
|
||||
} else {
|
||||
// 在app
|
||||
if (navigator.userAgent.indexOf('JZG_') > 0) {
|
||||
apiVersion = navigator.userAgent.split('JZG_')[1].split('/')[0].split('_')[1] == 'V3' ? 'v3' : 'v2'
|
||||
}
|
||||
}
|
||||
window.localStorage.setItem('apiVersion', apiVersion)
|
||||
}
|
||||
// 可以多个接口域名,按需添加
|
||||
console.log('环境:', process.env.VUE_APP_FLAG)
|
||||
let apiVersion = 'v1'
|
||||
// var ua = window.navigator.userAgent.toLowerCase()
|
||||
// //通过正则表达式匹配ua中是否含有MicroMessenger字符串, 在微信
|
||||
// if (localStorage.getItem('apiVersion')) {
|
||||
// apiVersion = localStorage.getItem('apiVersion')
|
||||
// } else {
|
||||
// if (ua.match(/MicroMessenger/i) == 'micromessenger') {
|
||||
// //report/reportList数据报表页面在浏览器可以打开了,但在微信或企业微信中打开不了,接口请求不需要token
|
||||
// if (window.location.href.indexOf('apiVersion') > 0) {
|
||||
// apiVersion = getSearchString('apiVersion') == 'V3' ? 'v3' : 'v2';//url中apiVersion没有时,为v2
|
||||
// } else {
|
||||
// apiVersion = 'v3'
|
||||
// }
|
||||
// } else {
|
||||
// // 在app
|
||||
// if (navigator.userAgent.indexOf('JZG_') > 0) {
|
||||
// apiVersion = navigator.userAgent.split('JZG_')[1].split('/')[0].split('_')[1] == 'V3' ? 'v3' : 'v2'
|
||||
// }
|
||||
// }
|
||||
// window.localStorage.setItem('apiVersion', apiVersion)
|
||||
// }
|
||||
// // 可以多个接口域名,按需添加
|
||||
// console.log('环境:', process.env.VUE_APP_FLAG)
|
||||
switch (process.env.VUE_APP_FLAG) {
|
||||
case 'dev':
|
||||
apiDomain = 'https://iagentsales-test2.e-guofu.com:5200/api/' + apiVersion // 国富api ///api/v1
|
||||
|
||||
@@ -3,6 +3,8 @@ const GBC_home = () => import('@/views/GBC/home')
|
||||
const GBC_projectList = () => import('@/views/GBC/projectList')
|
||||
const GBC_projectDetail = () => import('@/views/GBC/projectDetail')
|
||||
const GBC_customerDetail = () => import('@/views/GBC/customerDetail')
|
||||
const GBC_InsuredInfo = () => import('@/views/GBC/InsuredInfo')
|
||||
const GBC_submitResult = () => import('@/views/GBC/submitResult')
|
||||
|
||||
export default [
|
||||
{
|
||||
@@ -41,4 +43,22 @@ export default [
|
||||
index: 1
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/GBC/InsuredInfo',
|
||||
name: 'GBC_InsuredInfo',
|
||||
component: GBC_InsuredInfo,
|
||||
meta: {
|
||||
title: '信息录入',
|
||||
index: 1
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/GBC/submitResult',
|
||||
name: 'GBC_submitResult',
|
||||
component: GBC_submitResult,
|
||||
meta: {
|
||||
title: '提交结果',
|
||||
index: 1
|
||||
}
|
||||
},
|
||||
]
|
||||
|
||||
@@ -23,7 +23,7 @@ export default [
|
||||
name: 'Prefecture',
|
||||
component: PerformanceReport,
|
||||
meta: {
|
||||
title: '一月业绩查询'
|
||||
title: '旺季业绩查询'
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -31,7 +31,7 @@ export default [
|
||||
name: 'Prefecture',
|
||||
component: Prefecture,
|
||||
meta: {
|
||||
title: '一月专区'
|
||||
title: '旺季专区'
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -53,7 +53,7 @@ export default [
|
||||
name: 'GoodStartScheme',
|
||||
component: GoodStartScheme,
|
||||
meta: {
|
||||
title: '一月方案'
|
||||
title: '旺季方案'
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -61,7 +61,7 @@ export default [
|
||||
name: 'businessMap',
|
||||
component: businessMap,
|
||||
meta: {
|
||||
title: '一月业务地图'
|
||||
title: '旺季业务地图'
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -77,7 +77,7 @@ export default [
|
||||
name: 'newsPaper',
|
||||
component: newsPaper,
|
||||
meta: {
|
||||
title: '一月实时贺报'
|
||||
title: '旺季实时贺报'
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
1439
src/views/GBC/InsuredInfo.vue
Normal file
1439
src/views/GBC/InsuredInfo.vue
Normal file
File diff suppressed because it is too large
Load Diff
@@ -9,16 +9,20 @@
|
||||
</div>
|
||||
<div style="display: flex;font-size: 13px;color: #999;margin-top: 10px;">
|
||||
<span style="width: 25%;display: flex;align-items: flex-end;align-items: baseline;justify-content: center;">
|
||||
<span style="color: #EC5449;font-size: 22px;margin-right: 7px;font-weight: bold;">{{infoContent.contSize}}</span>份
|
||||
<span style="color: #EC5449;font-size: 22px;margin-right: 2px;font-weight: bold;">{{infoContent.contSize}}</span>
|
||||
<span>份</span>
|
||||
</span>
|
||||
<span style="width: 25%;display: flex;align-items: flex-end;align-items: baseline;justify-content: center;">
|
||||
<span style="color: #EC5449;font-size: 22px;margin-right: 7px;font-weight: bold;">{{infoContent.members.length}}</span>人
|
||||
<span style="color: #EC5449;font-size: 22px;margin-right: 2px;font-weight: bold;">{{infoContent.members.length}}</span>
|
||||
<span>人</span>
|
||||
</span>
|
||||
<span style="width: 25%;display: flex;align-items: flex-end;align-items: baseline;justify-content: center;">
|
||||
<span style="color: #EC5449;font-size: 22px;margin-right: 7px;font-weight: bold;">{{infoContent.totalAmt}}</span>
|
||||
<span style="color: #EC5449;font-size: 22px;margin-right: 2px;font-weight: bold;">{{infoContent.totalAmt}}</span>
|
||||
<span>万元</span>
|
||||
</span>
|
||||
<span style="width: 25%;display: flex;align-items: flex-end;align-items: baseline;justify-content: center;">
|
||||
<span style="color: #EC5449;font-size: 22px;margin-right: 7px;font-weight: bold;">{{infoContent.totalPrem}}</span>
|
||||
<span style="color: #EC5449;font-size: 22px;margin-right: 2px;font-weight: bold;">{{infoContent.totalPrem}}</span>
|
||||
<span>万元</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -131,22 +135,22 @@
|
||||
</div>
|
||||
<div style="padding: 10px 0px;">
|
||||
<div style="display: flex;line-height: 30px;align-items: center;">
|
||||
<p style="width: 30%;color: #666;">投保人:</p>
|
||||
<p style="width: 25%;color: #666;">投保人:</p>
|
||||
<p style="width: 25%;color: #000;">{{item.appntName}}</p>
|
||||
<p style="width: 25%;color: #666;">被保险人:</p>
|
||||
<p style="width: 20%;color: #000;">{{item.insuredName}}</p>
|
||||
<p style="width: 25%;color: #000;">{{item.insuredName}}</p>
|
||||
</div>
|
||||
<div style="display: flex;line-height: 30px;align-items: center;">
|
||||
<p style="width: 30%;color: #666;">保额(元):</p>
|
||||
<p style="width: 25%;color: #000;">{{item.amt}}</p>
|
||||
<p style="width: 25%;color: #666;">保额(元):</p>
|
||||
<p style="width: 25%;color: #000;">{{Number(item.amt).toFixed(2)}}</p>
|
||||
<p style="width: 25%;color: #666;">保费(元):</p>
|
||||
<p style="width: 20%;color: #000;">{{item.prem}}</p>
|
||||
<p style="width: 25%;color: #000;">{{Number(item.prem).toFixed(2)}}</p>
|
||||
</div>
|
||||
<div style="display: flex;line-height: 30px;align-items: center;">
|
||||
<p style="width: 30%;color: #666;">交费期间:</p>
|
||||
<p style="width: 25%;color: #666;">交费期间:</p>
|
||||
<p style="width: 25%;color: #000;">{{item.paymentPeriod}}</p>
|
||||
<p style="width: 25%;color: #666;">保险期间:</p>
|
||||
<p style="width: 20%;color: #000;">{{item.insuredPeriod}}</p>
|
||||
<p style="width: 25%;color: #000;">{{item.insuredPeriod}}</p>
|
||||
</div>
|
||||
<div style="display: flex;line-height: 30px;align-items: center;">
|
||||
<p style="width: 30%;color: #666;">保险生效日期:</p>
|
||||
@@ -224,12 +228,14 @@ export default {
|
||||
],
|
||||
connectContent: "",
|
||||
maxLength: 500,
|
||||
activeAppntId:'',
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
},
|
||||
mounted(){
|
||||
this.activeAppntId = this.$route.query.appntId
|
||||
this.getGBCappntDetail()
|
||||
},
|
||||
methods: {
|
||||
@@ -237,6 +243,7 @@ export default {
|
||||
this.activeMembersIndex = thisIndex
|
||||
this.infoContent.appntName = thisData.name
|
||||
this.infoContent.age = thisData.age
|
||||
this.activeAppntId = thisData.appntId
|
||||
this.infoContent.gender = thisData.gender
|
||||
this.infoContent.mobile = thisData.mobile
|
||||
this.infoContent.departmentName = thisData.departmentName
|
||||
@@ -257,12 +264,14 @@ export default {
|
||||
getGBCappntConnectSave(){
|
||||
let params = {
|
||||
"projectCode": this.$route.query.projectCode,
|
||||
"appntId": this.$route.query.projectCode,
|
||||
"appntId": this.activeAppntId,
|
||||
"connectContent": this.connectContent
|
||||
}
|
||||
getGBCappntConnectSave(params).then(res=>{
|
||||
if(res.result == 0) {
|
||||
this.$toast('保存成功')
|
||||
this.connectContent = ''
|
||||
this.activeConnectRecords = false
|
||||
this.getGBCappntDetail()
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
@@ -275,7 +284,7 @@ export default {
|
||||
this.infoContent.appntType = value.id
|
||||
let params = {
|
||||
"projectCode": this.$route.query.projectCode,
|
||||
"appntId": this.$route.query.appntId,
|
||||
"appntId": this.activeAppntId,
|
||||
"appntType": this.infoContent.appntType
|
||||
}
|
||||
getGBCappntTypeSave(params).then(res=>{
|
||||
|
||||
@@ -5,128 +5,173 @@
|
||||
<van-tab title="数据看板" name="dataBoard"></van-tab>
|
||||
<van-tab title="产品列表" name="productList"></van-tab>
|
||||
</van-tabs>
|
||||
<div v-if="tabActive == 'customerList'">
|
||||
<div style="display: flex;align-items: center;padding-left: 10px;background: #fff;">
|
||||
<div style="width: 30%;">
|
||||
<van-dropdown-menu :overlay="dropdownmenuoverlay">
|
||||
<van-dropdown-item v-model="filterType" :options="filterTypeOption" @change="dropdownMenuChange"/>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
<van-search v-if="filterType == 1 || filterType == 2 || filterType == 3" v-model="searchvalue" shape="round" @search="getGBCappntlist" placeholder="搜索客户姓名/部门/科室/服务人员" style="width: 70%;"/>
|
||||
<div v-if="filterType == 4" style="display: flex;align-items: center;height: 54px;">
|
||||
<div @click="toChooseDate('startDate')" style="background: #f5f5f5;height: 34px;border-radius: 17px;width: 90px;display: flex;align-items: center;padding:0px 10px;">
|
||||
<van-icon name="notes-o" />
|
||||
<span v-if="!startDate" style="font-size: 12px;margin-left: 5px;color: #666;">请选择日期</span>
|
||||
<span v-if="startDate" style="font-size: 12px;margin-left: 5px;color: #333;">{{startDate}}</span>
|
||||
<div style="height: calc(100vh - 50px);overflow: auto;">
|
||||
<div v-if="tabActive == 'customerList'">
|
||||
<div style="display: flex;align-items: center;padding-left: 10px;background: #fff;">
|
||||
<div style="width: 30%;">
|
||||
<van-dropdown-menu :overlay="dropdownmenuoverlay">
|
||||
<van-dropdown-item v-model="filterType" :options="filterTypeOption" @change="dropdownMenuChange"/>
|
||||
</van-dropdown-menu>
|
||||
</div>
|
||||
<span style="margin: 0px 5px;font-size: 14px;">至</span>
|
||||
<div @click="toChooseDate('endDate')" style="background: #f5f5f5;height: 34px;border-radius: 17px;width: 90px;display: flex;align-items: center;padding: 0px 10px;">
|
||||
<van-icon name="notes-o" />
|
||||
<span v-if="!endDate" style="font-size: 12px;margin-left: 5px;color: #666;">请选择日期</span>
|
||||
<span v-if="endDate" style="font-size: 12px;margin-left: 5px;color: #333;">{{endDate}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="padding: 0px 10px 10px;">
|
||||
<div v-for="(item,index) in customerList" :key="index">
|
||||
<div style="padding: 20px 20px 10px;border-radius: 5px;background: #fff;margin-top: 20px;">
|
||||
<div style="display: flex;font-size: 14px;line-height: 30px;border-bottom: 1px solid #eee;padding-bottom: 10px;">
|
||||
<div style="width: 55%;overflow: hidden;white-space: nowrap;">
|
||||
<p>客户姓名:{{item.appntName}}</p>
|
||||
<p>手机号码:{{item.mobile}}</p>
|
||||
<p>服务组长:{{item.teamLeader}}</p>
|
||||
</div>
|
||||
<div style="width: 45%;overflow: hidden;white-space: nowrap;">
|
||||
<p>部门/科室:{{item.departmentName}}</p>
|
||||
<p>承包保单:{{item.contSize}}份</p>
|
||||
<p>服务组员:{{item.teamMember}}</p>
|
||||
</div>
|
||||
<van-search v-if="filterType == 1 || filterType == 2 || filterType == 3" v-model="searchvalue" shape="round" @search="getGBCappntlist" placeholder="搜索客户姓名/部门/科室/服务人员" style="width: 70%;"/>
|
||||
<div v-if="filterType == 4" style="display: flex;align-items: center;height: 54px;">
|
||||
<div @click="toChooseDate('startDate')" style="background: #f5f5f5;height: 34px;border-radius: 17px;width: 90px;display: flex;align-items: center;padding:0px 10px;">
|
||||
<van-icon name="notes-o" />
|
||||
<span v-if="!startDate" style="font-size: 12px;margin-left: 5px;color: #666;">请选择日期</span>
|
||||
<span v-if="startDate" style="font-size: 12px;margin-left: 5px;color: #333;">{{startDate}}</span>
|
||||
</div>
|
||||
<div style="display: flex;justify-content: flex-end;margin-top: 10px;">
|
||||
<van-button @click="goCustomerDetail(item)" type="danger" size="small" style="border-radius:5px;">查看编辑</van-button>
|
||||
<span style="margin: 0px 5px;font-size: 14px;">至</span>
|
||||
<div @click="toChooseDate('endDate')" style="background: #f5f5f5;height: 34px;border-radius: 17px;width: 90px;display: flex;align-items: center;padding: 0px 10px;">
|
||||
<van-icon name="notes-o" />
|
||||
<span v-if="!endDate" style="font-size: 12px;margin-left: 5px;color: #666;">请选择日期</span>
|
||||
<span v-if="endDate" style="font-size: 12px;margin-left: 5px;color: #333;">{{endDate}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="padding: 0px 10px 10px;">
|
||||
<div v-for="(item,index) in customerList" :key="index">
|
||||
<div style="padding: 20px 20px 10px;border-radius: 5px;background: #fff;margin-top: 20px;">
|
||||
<div style="display: flex;font-size: 14px;line-height: 30px;border-bottom: 1px solid #eee;padding-bottom: 10px;">
|
||||
<div style="width: 55%;overflow: hidden;white-space: nowrap;">
|
||||
<p>客户姓名:{{item.appntName}}</p>
|
||||
<p>手机号码:{{item.mobile}}</p>
|
||||
<p>服务组长:{{item.teamLeader}}</p>
|
||||
</div>
|
||||
<div style="width: 45%;overflow: hidden;white-space: nowrap;">
|
||||
<p>部门/科室:{{item.departmentName}}</p>
|
||||
<p>承保保单:{{item.contSize}}份</p>
|
||||
<p>服务组员:{{item.teamMember}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div style="display: flex;justify-content: flex-end;margin-top: 10px;">
|
||||
<van-button @click="goCustomerDetail(item)" type="danger" size="small" style="border-radius:5px;">查看编辑</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</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;">项目名称:国富人寿北京协和医院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="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 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>
|
||||
<p style="display: flex;justify-content: center;align-items: center;">
|
||||
<span class="colorBlock" :style="{background:colorList[index]}"></span>
|
||||
{{item.name}}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div v-if="(index + 1) % 3 != 0 || index < 2" style="width: 1px;background: #FFC9AF;height: 60%;"></div>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<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>
|
||||
<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;">项目名称:国富人寿北京协和医院AA项目</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>
|
||||
<span style="width: 22%;display: flex;justify-content: center;">角色</span>
|
||||
<span style="width: 30%;display: flex;justify-content: center;">累计标保(元)</span>
|
||||
<span style="width: 30%;display: flex;justify-content: center;">受理标保(元)</span>
|
||||
</div>
|
||||
<div>
|
||||
<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 style="display: flex;justify-content: center;margin-top: 20px;">
|
||||
<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 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>
|
||||
<p style="display: flex;justify-content: center;align-items: center;">
|
||||
<span class="colorBlock" :style="{background:colorList[index]}"></span>
|
||||
{{item.name}}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div v-if="(index + 1) % 3 != 0 || index < 2" style="width: 1px;background: #FFC9AF;height: 60%;"></div>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<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 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>
|
||||
<span style="width: 22%;display: flex;justify-content: center;">角色</span>
|
||||
<span style="width: 30%;display: flex;justify-content: center;">累计标保(元)</span>
|
||||
<span style="width: 30%;display: flex;justify-content: center;">受理标保(元)</span>
|
||||
</div>
|
||||
<div>
|
||||
<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>
|
||||
</div>
|
||||
|
||||
<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 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: 25%;display: flex;justify-content: center;">小组</span>
|
||||
<span style="width: 25%;display: flex;justify-content: center;">组长</span>
|
||||
<span style="width: 25%;display: flex;justify-content: center;">获客人数</span>
|
||||
<span style="width: 25%;display: flex;justify-content: center;">获客率</span>
|
||||
</div>
|
||||
<div>
|
||||
<div 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: 50%;display: flex;justify-content: center;">项目合并</span>
|
||||
<span style="width: 25%;display: flex;justify-content: center;">890</span>
|
||||
<span style="width: 25%;display: flex;justify-content: center;">89%</span>
|
||||
<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 style="color: #a7a7a7;font-size: 14px;">数据截止日期:2024-03-30</p>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div v-for="(item,index) in dataList3" :key="index" 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: 25%;display: flex;justify-content: center;">{{item.name}}</span>
|
||||
<span style="width: 25%;display: flex;justify-content: center;">{{item.role}}</span>
|
||||
<span style="width: 25%;display: flex;justify-content: center;">{{item.value1}}</span>
|
||||
<span style="width: 25%;display: flex;justify-content: center;">{{item.value2}}</span>
|
||||
<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>小组</th>
|
||||
<th>组长</th>
|
||||
<th>获客人数</th>
|
||||
<th>获客率</th>
|
||||
<th>筛客人数</th>
|
||||
<th>筛客率</th>
|
||||
<th>累计标保(元)</th>
|
||||
<th>承保人数</th>
|
||||
<th>承保件数(件)</th>
|
||||
<th>件均(元)</th>
|
||||
<th>面谈转化率</th>
|
||||
<th>受理承保率</th>
|
||||
<th>受理标保(元)</th>
|
||||
<th>受理件数</th>
|
||||
<th>重疾险件数</th>
|
||||
<th>重疾标保(元)</th>
|
||||
<th>重疾件均(元)</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="tbodyClass">
|
||||
<td colspan="2">项目合并</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 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>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="tabActive == 'productList'">
|
||||
<div v-for="(item,index) in dataList4" @click="goProductDetail(item.productCode)" :key="index" style="background: #fff;border-radius: 5px;margin: 5px;display: flex;padding: 5px;">
|
||||
<img :src="item.productImageUrl" style="display: inline-block;width: 35%;border-radius: 5px;"/>
|
||||
<div style="display: inline-block;width: 65%;padding-left: 10px;">
|
||||
<p style="font-size: 16px;">{{item.productName}}</p>
|
||||
<p style="font-size: 14px;color: #bdbdbd;margin-top: 20px;">{{item.productDesc}}</p>
|
||||
<div v-if="tabActive == 'productList'">
|
||||
<div v-for="(item,index) in dataList4" @click="goProductDetail(item.productCode)" :key="index" style="background: #fff;border-radius: 5px;margin: 5px;display: flex;padding: 5px;">
|
||||
<img :src="item.productImageUrl" style="display: inline-block;width: 35%;border-radius: 5px;"/>
|
||||
<div style="display: inline-block;width: 65%;padding-left: 10px;">
|
||||
<p style="font-size: 16px;">{{item.productName}}</p>
|
||||
<p style="font-size: 14px;color: #bdbdbd;margin-top: 20px;">{{item.productDesc}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -206,6 +251,7 @@ export default {
|
||||
|
||||
},
|
||||
mounted(){
|
||||
document.title = this.$route.query.projectName
|
||||
this.getGBCappntlist()
|
||||
this.getProductList()
|
||||
},
|
||||
@@ -302,9 +348,6 @@ export default {
|
||||
getList(params).then(res=>{
|
||||
if(res.result == '0') {
|
||||
this.dataList4 = this.dataList4.concat(res.productList)
|
||||
this.dataList4 = this.dataList4.concat(res.productList)
|
||||
this.dataList4 = this.dataList4.concat(res.productList)
|
||||
this.dataList4 = this.dataList4.concat(res.productList)
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
@@ -376,4 +419,24 @@ export default {
|
||||
/deep/ [data-v-3f765cce] .van-dropdown-item__content{
|
||||
box-shadow: 0px 0px 5px 5px #f5f5f5;
|
||||
}
|
||||
.theadClass{
|
||||
th{
|
||||
white-space: nowrap;
|
||||
padding: 0px 10px;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 30px;
|
||||
}
|
||||
}
|
||||
.tbodyClass{
|
||||
background: rgba(251, 235, 230, 0.44);
|
||||
line-height: 30px;
|
||||
margin-bottom: 1px;
|
||||
font-size: 13px;
|
||||
/*color: #fff;*/
|
||||
td{
|
||||
text-align: center;
|
||||
border-bottom:1px solid #fff;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<van-search v-model="searchvalue" shape="round" background="#fff" placeholder="搜索项目名称"/>
|
||||
<van-search v-model="searchvalue" shape="round" background="#fff" @search="getGBCprojectlistByYear" placeholder="搜索项目名称"/>
|
||||
<div style="padding: 10px;">
|
||||
<van-collapse v-for="item in yearList" :key="item.year" v-model="activeNames" style="margin-top: 10px;border-radius: 5px;">
|
||||
<van-collapse-item :title="item.year" :name="item.year">
|
||||
@@ -45,7 +45,7 @@ export default {
|
||||
methods: {
|
||||
getGBCprojectlistByYear(){
|
||||
let params = {
|
||||
|
||||
projectName: this.searchvalue
|
||||
}
|
||||
getGBCprojectlistByYear(params).then(res=>{
|
||||
if(res.result == '0') {
|
||||
@@ -62,7 +62,8 @@ export default {
|
||||
this.$router.push({
|
||||
path:'/GBC/projectDetail',
|
||||
query:{
|
||||
projectCode:data.projectCode
|
||||
projectCode:data.projectCode,
|
||||
projectName:data.projectName
|
||||
},
|
||||
})
|
||||
},
|
||||
|
||||
40
src/views/GBC/submitResult.vue
Normal file
40
src/views/GBC/submitResult.vue
Normal file
@@ -0,0 +1,40 @@
|
||||
<template>
|
||||
<div>
|
||||
<div style="text-align: center;margin-top: 10vh;">
|
||||
<img :src="submitResultImg" style="width: 60vw;"/>
|
||||
</div>
|
||||
<p style="font-size: 20px;text-align: center;margin-top: 5vh;">提交成功</p>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import submitResultImg from '@/assets/images/GBC/submitResult.png'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
submitResultImg,
|
||||
}
|
||||
},
|
||||
components: {
|
||||
|
||||
},
|
||||
created() {
|
||||
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
|
||||
},
|
||||
|
||||
beforeRouteLeave(to, from, next) {
|
||||
document.body.style.backgroundColor = ''
|
||||
next()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
||||
@@ -149,7 +149,8 @@
|
||||
keyWord: '乙方锟斤拷:'
|
||||
}
|
||||
window.sessionStorage.setItem('signInfo',JSON.stringify(signInfo))
|
||||
window.location.href = 'http://'+window.location.host + '/signH5/1.html'
|
||||
// window.location.href = 'http://'+window.location.host + '/signH5/1.html'
|
||||
window.location.href = this.$mainUrl + '/signH5/1.html'
|
||||
},
|
||||
goNext(){
|
||||
let params = {
|
||||
|
||||
@@ -131,6 +131,29 @@
|
||||
placeholder='请选择'
|
||||
@click="toSelect('6')"
|
||||
/>
|
||||
<div class="p15 pl8 fs14" style="border-bottom: 1px solid #eee;display: flex;justify-content: space-between;align-items: center;" v-if="manageComCode == '45'">
|
||||
<van-radio-group v-model="userInfo.isNewPeopleFlag" class="flex">
|
||||
<label>
|
||||
<i class="red">*</i>
|
||||
新市民身份
|
||||
</label>
|
||||
<van-radio name="1" class="ml30">是</van-radio>
|
||||
<van-radio name="0" class="ml20">否</van-radio>
|
||||
</van-radio-group>
|
||||
<van-icon name="question-o" size="20" @click="isNewPeopleFlagTip = true"/>
|
||||
</div>
|
||||
<van-field
|
||||
v-if="userInfo.isNewPeopleFlag == 1"
|
||||
:value="userInfo.npType | idToText('npType')"
|
||||
readonly
|
||||
label="新市民类型"
|
||||
name="新市民类型"
|
||||
required
|
||||
right-icon="arrow"
|
||||
placeholder="请选择"
|
||||
v-validate="'required'"
|
||||
@click="toSelect('11')"
|
||||
/>
|
||||
<van-field
|
||||
v-model='userInfo.homeName'
|
||||
readonly
|
||||
@@ -188,6 +211,17 @@
|
||||
<van-popup v-model='isScan2' position='bottom'>
|
||||
<IdentityCardScan @getScanInfo='getIdentityInfo'></IdentityCardScan>
|
||||
</van-popup>
|
||||
<van-dialog v-model="isNewPeopleFlagTipshow" :showConfirmButton="false">
|
||||
<div slot="title">
|
||||
<p style="color: #E9332E;">新市民身份说明</p>
|
||||
</div>
|
||||
<div style="padding: 20px 30px 30px;font-size: 14px;">
|
||||
<div style="line-height: 25px;">新市民是指因本人创业就业、子女上学、投靠子女等原因来到城镇常住,未获得当地户籍或获得当地户籍不满三年的各类群体,包括但不限于进城务工人员、新就业大中专毕业生等。</div>
|
||||
</div>
|
||||
<div style="text-align: center;margin-bottom: 30px;">
|
||||
<van-button round type="danger" size="small" style="padding:0px 35px;font-size: 14px;" @click="isNewPeopleFlagTipshow = false">我知道了</van-button>
|
||||
</div>
|
||||
</van-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
@@ -211,6 +245,8 @@ import OccupationForLoop from '@/components/ebiz/occipation/OccupationForLoop'
|
||||
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)
|
||||
@@ -312,7 +348,9 @@ export default {
|
||||
mobile: '', //移动电话
|
||||
email: '', //电子邮箱
|
||||
schoolName: '',
|
||||
className: ''
|
||||
className: '',
|
||||
isNewPeopleFlag: '', //新市民身份
|
||||
npType: '', //新市民类型
|
||||
// effectiveDate: '' //指定生效日期
|
||||
},
|
||||
selectUser: '',
|
||||
@@ -337,34 +375,15 @@ export default {
|
||||
load: false, //防止重复请求
|
||||
value: false
|
||||
},
|
||||
occupationalType: DataDictionary.queryOccupationalByType[0].id
|
||||
occupationalType: DataDictionary.queryOccupationalByType[0].id,
|
||||
manageComCode: '',
|
||||
isNewPeopleFlagTipshow: false,
|
||||
}
|
||||
},
|
||||
created() {
|
||||
// document.body.style.backgroundColor = '#F5F5F5'
|
||||
//如果是编辑进来
|
||||
// if (this.$route.query.edit) {
|
||||
// getOrderDetail({ orderNo: localStorage.orderNo }).then(res => {
|
||||
// if (res.result == 0) {
|
||||
// //投保人信息返显
|
||||
// this.userInfo = res.orderDTO.appntDTO
|
||||
// //是否长期
|
||||
// this.userInfo.effectiveDateType = res.orderDTO.appntDTO.effectiveDateType == 'false' ? false : true
|
||||
// //有无社保
|
||||
// this.userInfo.medical = '1'
|
||||
// //设为联系地址
|
||||
// this.userInfo.addressStatus = '0'
|
||||
// //证件类型
|
||||
// this.userInfo.idType = '1'
|
||||
// //国家/地区
|
||||
// this.userInfo.nativeplace = '1'
|
||||
// this.$utils.intLocalStorage(res)
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
this.userInfo.homeName = getAreaName([{ code: 450000 }, { code: 450100 }, { code: 450101 }]) //家庭地址
|
||||
},
|
||||
mounted() {
|
||||
async mounted() {
|
||||
let that = this
|
||||
setTimeout(() => {
|
||||
// eslint-disable-next-line no-undef
|
||||
@@ -375,6 +394,8 @@ export default {
|
||||
}, 100)
|
||||
// 筛选按钮的点击事件
|
||||
window.appCallBack = this.appCallBack
|
||||
let dataReturn = await riskRules.getAgentInfoFunc(this)
|
||||
this.manageComCode = dataReturn.manageComCode
|
||||
if (this.$route.query.cardOrderNo) {
|
||||
this.cardOrderNo = this.$route.query.cardOrderNo
|
||||
//根据后台数据来展示
|
||||
@@ -530,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
|
||||
@@ -548,6 +569,8 @@ export default {
|
||||
this.columns = DataDictionary.workCondition
|
||||
} else if (pickerType == '8') {
|
||||
this.columns = DataDictionary.salarySource
|
||||
} else if (pickerType == '11') {
|
||||
this.columns = DataDictionary.npType
|
||||
}
|
||||
},
|
||||
//确认选择字段
|
||||
@@ -585,6 +608,8 @@ export default {
|
||||
this.proScheme = value.text
|
||||
this.proSchemeCode = value.id
|
||||
this.chooseKind = value.label
|
||||
} else if (this.pickerType === '11') {
|
||||
this.userInfo.npType = value.id
|
||||
}
|
||||
},
|
||||
//证件起始截止日期
|
||||
@@ -730,6 +755,8 @@ export default {
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
// 长期按钮是否禁用
|
||||
this.effectiveDateTypeAble = age <= 45
|
||||
this.userInfo.isNewPeopleFlag = data.isNewPeopleFlag //新市民身份
|
||||
this.userInfo.npType = data.npType //新市民类型
|
||||
this.getRelatedData(this.userInfo.idNo, '1')
|
||||
}
|
||||
// console.log(data, val)
|
||||
@@ -826,6 +853,17 @@ 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('投保人新市民身份不能为空')
|
||||
}
|
||||
if(this.manageComCode == '45' && this.userInfo.isNewPeopleFlag != '0' && !this.userInfo.npType) {
|
||||
return this.$toast('投保人新市民类型不能为空')
|
||||
}
|
||||
this.infoUpdate()
|
||||
// console.log('success')
|
||||
} else {
|
||||
|
||||
@@ -147,6 +147,29 @@
|
||||
placeholder='请选择'
|
||||
@click="toSelect('66')"
|
||||
/>
|
||||
<div class="p15 pl8 fs14" style="border-bottom: 1px solid #eee;display: flex;justify-content: space-between;align-items: center;" v-if="manageComCode == '45'">
|
||||
<van-radio-group v-model="insuredInfo.isNewPeopleFlag" class="flex">
|
||||
<label>
|
||||
<i class="red">*</i>
|
||||
新市民身份
|
||||
</label>
|
||||
<van-radio name="1" class="ml30">是</van-radio>
|
||||
<van-radio name="0" class="ml20">否</van-radio>
|
||||
</van-radio-group>
|
||||
<van-icon name="question-o" size="20" @click="isNewPeopleFlagTip = true"/>
|
||||
</div>
|
||||
<van-field
|
||||
v-if="insuredInfo.isNewPeopleFlag == 1"
|
||||
:value="userInfo.npType | idToText('npType')"
|
||||
readonly
|
||||
label="新市民类型"
|
||||
name="新市民类型"
|
||||
required
|
||||
right-icon="arrow"
|
||||
placeholder="请选择"
|
||||
v-validate="'required'"
|
||||
@click="toSelect('npType')"
|
||||
/>
|
||||
<van-field
|
||||
v-model='insuredInfo.homeName'
|
||||
readonly
|
||||
@@ -254,6 +277,17 @@
|
||||
<van-popup v-model='isScan2' position='bottom'>
|
||||
<IdentityCardScan @getScanInfo='getIdentityInfo'></IdentityCardScan>
|
||||
</van-popup>
|
||||
<van-dialog v-model="isNewPeopleFlagTipshow" :showConfirmButton="false">
|
||||
<div slot="title">
|
||||
<p style="color: #E9332E;">新市民身份说明</p>
|
||||
</div>
|
||||
<div style="padding: 20px 30px 30px;font-size: 14px;">
|
||||
<div style="line-height: 25px;">新市民是指因本人创业就业、子女上学、投靠子女等原因来到城镇常住,未获得当地户籍或获得当地户籍不满三年的各类群体,包括但不限于进城务工人员、新就业大中专毕业生等。</div>
|
||||
</div>
|
||||
<div style="text-align: center;margin-bottom: 30px;">
|
||||
<van-button round type="danger" size="small" style="padding:0px 35px;font-size: 14px;" @click="isNewPeopleFlagTipshow = false">我知道了</van-button>
|
||||
</div>
|
||||
</van-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
@@ -278,6 +312,8 @@ import { selectComp, getIdentityInfo } from './js/methods'
|
||||
import dateUtils from '@/assets/js/utils/date-utils'
|
||||
import Vue from 'vue'
|
||||
import { GoodsAction, GoodsActionIcon, GoodsActionButton } from 'vant'
|
||||
import riskRules from '@/views/ebiz/common/risk-rules'
|
||||
import {idNoCheck8} from "../sale/js/verification";
|
||||
|
||||
DataDictionary.relationToAppnt = DataDictionary.relationToAppnt.slice(0, 4)
|
||||
Vue.use(Checkbox).use(CheckboxGroup)
|
||||
@@ -388,7 +424,9 @@ export default {
|
||||
email: '', //电子邮箱
|
||||
medical:'0',//有无社保
|
||||
schoolName: '',
|
||||
className: ''
|
||||
className: '',
|
||||
isNewPeopleFlag: '', //新市民身份
|
||||
npType: '', //新市民类型
|
||||
// effectiveDate: '' //指定生效日期
|
||||
},
|
||||
//被保人信息
|
||||
@@ -446,7 +484,9 @@ export default {
|
||||
},
|
||||
occupationalType: DataDictionary.queryOccupationalByType[0].id,
|
||||
isInsuredCertiexpiredate:true, //被保人有效止期是否显示
|
||||
isAppnt: false // 是否投被同人
|
||||
isAppnt: false, // 是否投被同人
|
||||
manageComCode: '',
|
||||
isNewPeopleFlagTipshow: false,
|
||||
}
|
||||
},
|
||||
created() {
|
||||
@@ -482,7 +522,7 @@ export default {
|
||||
this.expireDate = afterDate.getAfterDateTime(val,2)
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
async mounted() {
|
||||
let that = this
|
||||
window.appCallBack = this.appCallBack
|
||||
// 2516--除万福卡,投保人、被保险人年收入,默认为0,允许修改
|
||||
@@ -496,6 +536,8 @@ export default {
|
||||
if (this.$route.query.cardOrderNo) {
|
||||
this.cardOrderNo = this.$route.query.cardOrderNo
|
||||
}
|
||||
let dataReturn = await riskRules.getAgentInfoFunc(this)
|
||||
this.manageComCode = dataReturn.manageComCode
|
||||
//根据后台数据来展示
|
||||
let cardInfoDTO = {
|
||||
orderNo: this.cardOrderNo
|
||||
@@ -738,6 +780,8 @@ export default {
|
||||
// })
|
||||
} else if (pickerType == '22') {
|
||||
this.columns = DataDictionary.cardListInsuredIdType
|
||||
} else if(pickerType == 'npType') {
|
||||
this.columns = DataDictionary.npType
|
||||
}
|
||||
},
|
||||
//确认选择字段
|
||||
@@ -823,6 +867,8 @@ export default {
|
||||
// this.isInsuredCertiexpiredate = true
|
||||
}
|
||||
this.insuredInfo.idType = value.id
|
||||
} else if(this.pickerType == 'npType') {
|
||||
this.userInfo.npType = value.id
|
||||
}
|
||||
},
|
||||
//试算逻辑
|
||||
@@ -1086,6 +1132,8 @@ export default {
|
||||
// 长期按钮是否禁用
|
||||
this.effectiveDateTypeAbleInsured = age <= 45
|
||||
console.log(this.insuredInfo,'this.insuredInfo')
|
||||
this.userInfo.isNewPeopleFlag = data.isNewPeopleFlag //新市民身份
|
||||
this.userInfo.npType = data.npType //新市民类型
|
||||
this.getRelatedData(this.insuredInfo.idNo, '2')
|
||||
}
|
||||
// console.log(data, val)
|
||||
@@ -1220,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
|
||||
// 如果是未成年人
|
||||
@@ -1313,6 +1367,12 @@ export default {
|
||||
if (this.insuredInfo.effectiveDateType) {
|
||||
this.insuredInfo.certiexpiredate = '9999-12-31'
|
||||
}
|
||||
if (this.manageComCode == '45' && (this.insuredInfo.isNewPeopleFlag == '' || this.insuredInfo.isNewPeopleFlag == null || this.insuredInfo.isNewPeopleFlag == undefined)) {
|
||||
return this.$toast('投保人新市民身份不能为空')
|
||||
}
|
||||
if(this.manageComCode == '45' && this.insuredInfo.isNewPeopleFlag != '0' && !this.insuredInfo.npType) {
|
||||
return this.$toast('投保人新市民类型不能为空')
|
||||
}
|
||||
this.infoUpdate()
|
||||
// console.log('success')
|
||||
} else {
|
||||
|
||||
@@ -142,6 +142,29 @@
|
||||
placeholder='请选择'
|
||||
@click="toSelect('6')"
|
||||
/>
|
||||
<div class="p15 pl8 fs14" style="border-bottom: 1px solid #eee;display: flex;justify-content: space-between;align-items: center;" v-if="manageComCode == '45'">
|
||||
<van-radio-group v-model="userInfo.isNewPeopleFlag" class="flex">
|
||||
<label>
|
||||
<i class="red">*</i>
|
||||
新市民身份
|
||||
</label>
|
||||
<van-radio name="1" class="ml30">是</van-radio>
|
||||
<van-radio name="0" class="ml20">否</van-radio>
|
||||
</van-radio-group>
|
||||
<van-icon name="question-o" size="20" @click="isNewPeopleFlagTipshow = true"/>
|
||||
</div>
|
||||
<van-field
|
||||
v-if="userInfo.isNewPeopleFlag == 1"
|
||||
:value="userInfo.npType | idToText('npType')"
|
||||
readonly
|
||||
label="新市民类型"
|
||||
name="新市民类型"
|
||||
required
|
||||
right-icon="arrow"
|
||||
placeholder="请选择"
|
||||
v-validate="'required'"
|
||||
@click="toSelect('appntNpType')"
|
||||
/>
|
||||
<van-field
|
||||
v-model='userInfo.homeName'
|
||||
readonly
|
||||
@@ -299,6 +322,29 @@
|
||||
placeholder='请选择'
|
||||
@click="toSelect('66')"
|
||||
/>
|
||||
<div class="p15 pl8 fs14" style="border-bottom: 1px solid #eee;display: flex;justify-content: space-between;align-items: center;" v-if="manageComCode == '45'">
|
||||
<van-radio-group v-model="insuredInfo.isNewPeopleFlag" class="flex">
|
||||
<label>
|
||||
<i class="red">*</i>
|
||||
新市民身份
|
||||
</label>
|
||||
<van-radio name="1" class="ml30">是</van-radio>
|
||||
<van-radio name="0" class="ml20">否</van-radio>
|
||||
</van-radio-group>
|
||||
<van-icon name="question-o" size="20" @click="isNewPeopleFlagTipshow = true"/>
|
||||
</div>
|
||||
<van-field
|
||||
v-if="insuredInfo.isNewPeopleFlag == 1"
|
||||
:value="insuredInfo.npType | idToText('npType')"
|
||||
readonly
|
||||
label="新市民类型"
|
||||
name="新市民类型"
|
||||
required
|
||||
right-icon="arrow"
|
||||
placeholder="请选择"
|
||||
v-validate="'required'"
|
||||
@click="toSelect('insuredNpType')"
|
||||
/>
|
||||
<van-field
|
||||
v-model='insuredInfo.homeName'
|
||||
readonly
|
||||
@@ -432,6 +478,29 @@
|
||||
right-icon='arrow'
|
||||
placeholder='请选择'
|
||||
/>
|
||||
<div class="p15 pl8 fs14" style="border-bottom: 1px solid #eee;display: flex;justify-content: space-between;align-items: center;" v-if="manageComCode == '45'">
|
||||
<van-radio-group v-model="userInfo.isNewPeopleFlag" class="flex">
|
||||
<label>
|
||||
<i class="red">*</i>
|
||||
新市民身份
|
||||
</label>
|
||||
<van-radio name="1" class="ml30">是</van-radio>
|
||||
<van-radio name="0" class="ml20">否</van-radio>
|
||||
</van-radio-group>
|
||||
<van-icon name="question-o" size="20" @click="isNewPeopleFlagTipshow = true"/>
|
||||
</div>
|
||||
<van-field
|
||||
v-if="userInfo.isNewPeopleFlag == 1"
|
||||
:value="userInfo.npType | idToText('npType')"
|
||||
readonly
|
||||
label="新市民类型"
|
||||
name="新市民类型"
|
||||
required
|
||||
right-icon="arrow"
|
||||
placeholder="请选择"
|
||||
v-validate="'required'"
|
||||
@click="toSelect('appntNpType')"
|
||||
/>
|
||||
<van-field
|
||||
v-model='userInfo.homeName'
|
||||
readonly
|
||||
@@ -532,8 +601,7 @@
|
||||
>元
|
||||
</van-button
|
||||
>
|
||||
<van-goods-action-button type='danger' text='立即投保' @click='nextStep' v-no-more-click='1000'
|
||||
style='border-radius: 0em; width: 50%; height: 40px' />
|
||||
<van-goods-action-button type='danger' text='立即投保' @click='nextStep' v-no-more-click='1000' style='border-radius: 0em; width: 50%; height: 40px' />
|
||||
</van-goods-action>
|
||||
<!-- <van-dialog v-model="showDialog" title="温馨提示" message="被保险人年龄与所投保的方案不一致,请核实。" show-cancel-button @confirm="nextStep" confirmButtonText="继续投保" cancelButtonText="核对信息"> -->
|
||||
|
||||
@@ -568,6 +636,17 @@
|
||||
<van-popup v-model='isScan2' position='bottom'>
|
||||
<IdentityCardScan @getScanInfo='getIdentityInfo'></IdentityCardScan>
|
||||
</van-popup>
|
||||
<van-dialog v-model="isNewPeopleFlagTipshow" :showConfirmButton="false">
|
||||
<div slot="title">
|
||||
<p style="color: #E9332E;">新市民身份说明</p>
|
||||
</div>
|
||||
<div style="padding: 20px 30px 30px;font-size: 14px;">
|
||||
<div style="line-height: 25px;">新市民是指因本人创业就业、子女上学、投靠子女等原因来到城镇常住,未获得当地户籍或获得当地户籍不满三年的各类群体,包括但不限于进城务工人员、新就业大中专毕业生等。</div>
|
||||
</div>
|
||||
<div style="text-align: center;margin-bottom: 30px;">
|
||||
<van-button round type="danger" size="small" style="padding:0px 35px;font-size: 14px;" @click="isNewPeopleFlagTipshow = false">我知道了</van-button>
|
||||
</div>
|
||||
</van-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
@@ -595,6 +674,7 @@ import Vue from 'vue'
|
||||
import { GoodsAction, GoodsActionIcon, GoodsActionButton } from 'vant'
|
||||
import riskRules from '../common/risk-rules'
|
||||
import occupationList from '@/components/ebiz/occipation/data/occupation'
|
||||
import {idNoCheck8} from "../sale/js/verification";
|
||||
|
||||
DataDictionary.relationToAppnt = DataDictionary.relationToAppnt.slice(0, 4)
|
||||
Vue.use(Checkbox).use(CheckboxGroup)
|
||||
@@ -706,7 +786,9 @@ export default {
|
||||
mobile: '', //移动电话
|
||||
email: '', //电子邮箱
|
||||
schoolName: '',
|
||||
className: ''
|
||||
className: '',
|
||||
isNewPeopleFlag: '', //新市民身份
|
||||
npType: '', //新市民类型
|
||||
// effectiveDate: '' //指定生效日期
|
||||
},
|
||||
//被保人信息
|
||||
@@ -735,7 +817,9 @@ export default {
|
||||
mobile: '', //移动电话
|
||||
email: '',//电子邮箱
|
||||
schoolName: '',
|
||||
className: ''
|
||||
className: '',
|
||||
isNewPeopleFlag: '', //新市民身份
|
||||
npType: '', //新市民类型
|
||||
},
|
||||
selectUser: '',
|
||||
areaList: areaList,
|
||||
@@ -767,7 +851,9 @@ export default {
|
||||
},
|
||||
occupationalType: DataDictionary.queryOccupationalByType[0].id,
|
||||
isInsuredCertiexpiredate:true, //被保人有效止期是否显示
|
||||
trialDTOS:[] //产品详情信息
|
||||
trialDTOS:[], //产品详情信息
|
||||
manageComCode: '',
|
||||
isNewPeopleFlagTipshow: false,
|
||||
}
|
||||
},
|
||||
created() {
|
||||
@@ -905,7 +991,9 @@ export default {
|
||||
}
|
||||
this.userInfo.homeName = getAreaName([{ code: 450000 }, { code: 450100 }, { code: 450101 }]) //家庭地址
|
||||
},
|
||||
mounted() {
|
||||
async mounted() {
|
||||
let dataReturn = await riskRules.getAgentInfoFunc(this)
|
||||
this.manageComCode = dataReturn.manageComCode
|
||||
// 2516--除万福卡,投保人、被保险人年收入,默认为0,允许修改
|
||||
if (this.itemProductDTOS.productCode != 'GFRS_M0032') {
|
||||
this.userInfo.averageAnnualIncome = '0'
|
||||
@@ -1327,7 +1415,12 @@ export default {
|
||||
} else {
|
||||
this.columns = DataDictionary.idType
|
||||
}
|
||||
} else if(pickerType == 'appntNpType') {
|
||||
this.columns = DataDictionary.npType
|
||||
} else if(pickerType == 'insuredNpType') {
|
||||
this.columns = DataDictionary.npType
|
||||
}
|
||||
|
||||
},
|
||||
//确认选择字段
|
||||
onConfirm(value) {
|
||||
@@ -1425,6 +1518,10 @@ export default {
|
||||
this.isInsuredCertiexpiredate = true
|
||||
}
|
||||
this.insuredInfo.idType = value.id
|
||||
} else if (this.pickerType === 'appntNpType') {
|
||||
this.userInfo.npType = value.id
|
||||
} else if (this.pickerType === 'insuredNpType') {
|
||||
this.insuredInfo.npType = value.id
|
||||
}
|
||||
},
|
||||
//证件起始截止日期
|
||||
@@ -1664,9 +1761,13 @@ export default {
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
// 长期按钮是否禁用
|
||||
this.effectiveDateTypeAble = age <= 45
|
||||
this.userInfo.isNewPeopleFlag = data.isNewPeopleFlag //新市民身份
|
||||
this.userInfo.npType = data.npType //新市民类型
|
||||
this.getRelatedData(this.userInfo.idNo, '1')
|
||||
} else if (this.selectUser == '1') {
|
||||
let { customerName, customerSex } = data
|
||||
let { customerName, customerSex, isNewPeopleFlag, npType } = data
|
||||
this.insuredInfo.isNewPeopleFlag = isNewPeopleFlag //新市民身份
|
||||
this.insuredInfo.npType = npType //新市民类型
|
||||
this.insuredInfo.name = customerName //用户名
|
||||
this.insuredInfo.sex = customerSex ? customerSex.toString() : '0' //性别
|
||||
this.insuredInfo.birthday = data.birthday //出生日期
|
||||
@@ -1689,7 +1790,8 @@ export default {
|
||||
this.insuredInfo.certiexpiredate = '9999-12-31'
|
||||
this.effectiveDateTypeAbleInsured = true
|
||||
this.isInsuredCertiexpiredate = false
|
||||
}else{
|
||||
}
|
||||
else{
|
||||
this.isInsuredCertiexpiredate = true
|
||||
// 因为学平险产品 和 少儿卡单 被保人证件类型只有身份证和户口本 所以回显被保人信息时 如果不是身份证和户口本 就隐藏被保人证件类型
|
||||
if ((this.itemProductDTOS.productCode == 'GFRS_M0048' || this.itemProductDTOS.productCode == 'GFRS_M0049' || this.itemProductDTOS.productCode == 'GFRS_M0050'
|
||||
@@ -1732,6 +1834,7 @@ export default {
|
||||
this.insuredInfo.lifeGrade = data.lifeGrade
|
||||
this.insuredInfo.occupationType = data.lifeGrade
|
||||
this.insuredInfo.healthGrade = data.healthGrade
|
||||
|
||||
//除万福卡,投保人、被保险人年收入填写项去掉,默认为0,卡产品不满足反洗钱识别线
|
||||
this.insuredInfo.averageAnnualIncome = this.itemProductDTOS.productCode == 'GFRS_M0032' ? data.averageYearlyIncome : '0' //平均年收入
|
||||
//2516--三个学平险--被保险人婚姻默认未婚,允许修改
|
||||
@@ -1760,9 +1863,12 @@ export default {
|
||||
// console.log(data, val)
|
||||
},
|
||||
nextStep() {
|
||||
// console.log(this.userInfo.idType)
|
||||
// console.log(this.userInfo.salarySource)
|
||||
// console.log(this.userInfo.otherSalarySource)
|
||||
if (this.manageComCode == '45' && (this.userInfo.isNewPeopleFlag == '' || this.userInfo.isNewPeopleFlag == null || this.userInfo.isNewPeopleFlag == undefined)) {
|
||||
return this.$toast('投保人新市民身份不能为空')
|
||||
}
|
||||
if(this.manageComCode == '45' && this.userInfo.isNewPeopleFlag != '0' && !this.userInfo.npType) {
|
||||
return this.$toast('投保人新市民类型不能为空')
|
||||
}
|
||||
//表单校验, 成功跳转
|
||||
if (this.userInfo.relationToInsured == 1) {
|
||||
Object.assign(this.insuredInfo, this.userInfo)
|
||||
@@ -1807,6 +1913,12 @@ export default {
|
||||
if (this.userInfo.relationToInsured == 2 && this.userInfo.sex == this.insuredInfo.sex) {
|
||||
return this.$toast('哦~配偶性别不能相同的哟~')
|
||||
}
|
||||
if (this.manageComCode == '45' && (this.insuredInfo.isNewPeopleFlag == '' || this.insuredInfo.isNewPeopleFlag == null || this.insuredInfo.isNewPeopleFlag == undefined)) {
|
||||
return this.$toast('被保人新市民身份不能为空')
|
||||
}
|
||||
if (this.manageComCode == '45' && this.insuredInfo.isNewPeopleFlag != '0' && !this.insuredInfo.npType) {
|
||||
return this.$toast('被保人新市民类型不能为空')
|
||||
}
|
||||
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
console.log('计算年龄', age)
|
||||
@@ -1891,7 +2003,8 @@ export default {
|
||||
}
|
||||
}
|
||||
//如果证件类型是户口本
|
||||
}else if(this.userInfo.idType == '2'){
|
||||
}
|
||||
else if(this.userInfo.idType == '2'){
|
||||
if (this.userInfo.nativeplace != '1') {
|
||||
return this.$toast('证件类型”为“身份证,国籍必须为中国哦')
|
||||
}
|
||||
@@ -1942,6 +2055,16 @@ export default {
|
||||
// return this.$toast('户口本的证件号码长度应等于18位')
|
||||
// }
|
||||
}
|
||||
else if (this.userInfo.idType == '8') {
|
||||
if (idNoCheck8(this.userInfo,'cardList').text){
|
||||
return this.$toast(idNoCheck8(this.userInfo,'cardList').text)
|
||||
}
|
||||
}
|
||||
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)
|
||||
//如果证件类型是身份证或户口本
|
||||
@@ -2019,7 +2142,8 @@ export default {
|
||||
return this.$toast('证件有效期不正常,26周岁至45周岁公民身份证有效期应小于等于20年')
|
||||
}
|
||||
}
|
||||
}else if (this.insuredInfo.idType == '2'){
|
||||
}
|
||||
else if (this.insuredInfo.idType == '2'){
|
||||
if (this.insuredInfo.nativeplace != '1') {
|
||||
return this.$toast('证件类型”为“身份证,国籍必须为中国哦')
|
||||
}
|
||||
@@ -2069,7 +2193,8 @@ export default {
|
||||
// else if (this.insuredInfo.idNo.length != 18) {
|
||||
// return this.$toast('户口本的证件号码长度应等于18位')
|
||||
// }
|
||||
}else if (this.insuredInfo.idType == '3'){
|
||||
}
|
||||
else if (this.insuredInfo.idType == '3'){
|
||||
if (insuredAge >= 2) {
|
||||
return this.$toast('客户年龄在2周岁及以上,不能使用出生证作为有效证件')
|
||||
}
|
||||
@@ -2092,7 +2217,8 @@ export default {
|
||||
if (insuredAge < 0) {
|
||||
return this.$toast('被保险人的年龄需要大于28天')
|
||||
}
|
||||
} else if (this.itemProductDTOS.productCode === 'GFRS_M0041') {
|
||||
}
|
||||
else if (this.itemProductDTOS.productCode === 'GFRS_M0041') {
|
||||
console.log(this.proSchemeCode)
|
||||
if (this.proSchemeCode == '00000227') {
|
||||
if (insuredAge < 18) {
|
||||
@@ -2595,7 +2721,9 @@ export default {
|
||||
homeAddress: '', //详细地址
|
||||
mobile: '', //移动电话
|
||||
email: '', //电子邮箱
|
||||
effectiveDateType: false //是否长期
|
||||
effectiveDateType: false, //是否长期
|
||||
isNewPeopleFlag: '', //新市民身份
|
||||
npType: '', //新市民类型
|
||||
}
|
||||
// 设置选中‘同投保人’的勾选项
|
||||
this.withRootUser.value = true
|
||||
|
||||
@@ -110,7 +110,8 @@
|
||||
item.productCode == 'GFRS_M0051' ||
|
||||
item.productCode == 'GFRS_M0054' ||
|
||||
item.productCode == 'GFRS_M0073' ||
|
||||
item.productCode == 'GFRS_M0057'
|
||||
item.productCode == 'GFRS_M0057' ||
|
||||
item.productCode == 'GFRS_M0086'
|
||||
)
|
||||
"
|
||||
class="fs14 w100"
|
||||
@@ -128,7 +129,8 @@
|
||||
item.productCode == 'GFRS_M0051' ||
|
||||
item.productCode == 'GFRS_M0054' ||
|
||||
item.productCode == 'GFRS_M0073' ||
|
||||
item.productCode == 'GFRS_M0057'
|
||||
item.productCode == 'GFRS_M0057' ||
|
||||
item.productCode == 'GFRS_M0086'
|
||||
)
|
||||
"
|
||||
v-model="dutyItem.defaultDutyAmt"
|
||||
@@ -136,7 +138,7 @@
|
||||
:max="dutyItem.maxDutyAmt"
|
||||
:show-plus="false"
|
||||
:show-minus="false"
|
||||
:disabled="item.productCode == 'GFRS_A0012' || (item.productCode == 'GFRS_M0077' && !dutyItem.necess) || (item.productCode == 'GFRS_M0077' && dutyItem.duty == '311507')"
|
||||
:disabled="item.productCode == 'GFRS_M0088' || item.productCode == 'GFRS_A0012' || (item.productCode == 'GFRS_M0077' && !dutyItem.necess) || (item.productCode == 'GFRS_M0077' && dutyItem.duty == '311507')"
|
||||
class="ml10 mr10"
|
||||
@focus="focusStep"
|
||||
@blur="blurStep(dutyItem, index,item.productCode)"
|
||||
@@ -798,7 +800,6 @@
|
||||
}
|
||||
})
|
||||
}
|
||||
console.log(item,'123231321321')
|
||||
let payEndYearVal
|
||||
//初始化时交费期间为一次性交清时,在就是中介渠道, 附加险GFRS_A0007,GFRS_A0009,GFRS_A0010去掉后,附加险list就为空--隐藏’附‘icon
|
||||
item.calFactorLst.map((i) => {
|
||||
@@ -871,7 +872,6 @@
|
||||
//初始化数据试算
|
||||
this.getTrial()
|
||||
})
|
||||
console.log(this.trialList, '')
|
||||
// 判断是否 含有 后台配置js验证函数
|
||||
if (localStorage.ruleExpression) {
|
||||
let ruleExpression = JSON.parse(localStorage.ruleExpression)
|
||||
@@ -918,7 +918,7 @@
|
||||
let detailPromise = this.isFrom === 'proposal' ? localStorage.proposalMedical : await getOrderDetail({ orderNo })
|
||||
this.chooseProducts.map((item) => {
|
||||
if (
|
||||
!(item.mainRiskCode === 'GFRS_M0016' ||item.mainRiskCode === 'GFRS_M0070' || item.productCode === 'GFRS_A0004' || item.productCode === 'GFRS_A0008' || item.productCode === 'GFRS_A0005')
|
||||
!(item.mainRiskCode === 'GFRS_M0016' ||item.mainRiskCode === 'GFRS_M0070' || item.productCode === 'GFRS_A0004' || item.productCode === 'GFRS_A0008' || item.productCode === 'GFRS_A0005' || item.productCode === 'GFRS_M0088')
|
||||
) {
|
||||
//其他产品删掉两个字段
|
||||
let calFactorLst = item.calFactorLst
|
||||
@@ -1053,6 +1053,34 @@
|
||||
// let productCode = this.chooseProducts[this.productIndex].productCode
|
||||
let currentFactor = this.chooseProducts[this.productIndex].calFactorLst
|
||||
let currentEle = currentFactor[this.calFactorIndex]
|
||||
console.log(currentEle.code)
|
||||
if(currentEle.code == 'insuYear'){
|
||||
if(value.value == '70') {
|
||||
this.chooseProducts.forEach((item, index) => {
|
||||
if (item.mainRiskCode == 'GFRS_M0086') {
|
||||
item.calFactorLst.forEach((i) => {
|
||||
if (i.code == "inputAmt") {
|
||||
i.minPrem = 20
|
||||
i.displayAmount = 20
|
||||
i.defaultValue = 20
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
} else if(value.value == '106') {
|
||||
this.chooseProducts.forEach((item, index) => {
|
||||
if (item.mainRiskCode == 'GFRS_M0086') {
|
||||
item.calFactorLst.forEach((i) => {
|
||||
if (i.code == "inputAmt") {
|
||||
i.minPrem = 10
|
||||
i.displayAmount = 10
|
||||
i.defaultValue = 10
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
// let sex = this.saleInsuredPersonInfo.sex //0男 1女
|
||||
|
||||
// //特殊设置:如果需要填写的保费/保额校验规则跟缴费期间挂钩,当改变缴费期间时,将输入框的值恢复默认值1
|
||||
@@ -1215,6 +1243,30 @@
|
||||
})
|
||||
}
|
||||
}
|
||||
if (validateRiskCode === 'GFRS_M0088'){
|
||||
if(dutyItem.duty == '411200' || dutyItem.duty == '411206' || dutyItem.duty == '411207'){
|
||||
this.chooseProducts[productIndex].calFactorLst[calFactorIndex].rules.forEach((i) => {
|
||||
if(i.duty == '411200' || i.duty == '411206' || i.duty == '411207'){
|
||||
i.necess = dutyItem.necess
|
||||
} else {
|
||||
if(dutyItem.necess){
|
||||
i.necess = !dutyItem.necess
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
if(dutyItem.duty == '411200_GBC' || dutyItem.duty == '411206_GBC' || dutyItem.duty == '411207_GBC'){
|
||||
this.chooseProducts[productIndex].calFactorLst[calFactorIndex].rules.forEach((i) => {
|
||||
if(i.duty == '411200_GBC' || i.duty == '411206_GBC' || i.duty == '411207_GBC'){
|
||||
i.necess = dutyItem.necess
|
||||
} else {
|
||||
if(dutyItem.necess){
|
||||
i.necess = !dutyItem.necess
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
this.valiAndSend(dutyItem, productIndex)
|
||||
},
|
||||
valiAndSend(dutyItem, productIndex) {
|
||||
@@ -1289,7 +1341,6 @@
|
||||
const rule = dutdutyGFRS_M0070RulesyRules[duty]
|
||||
const mutiple = rule.mutiple || DUTY_DEFAULT_MIN
|
||||
const min = rule.min || DUTY_DEFAULT_MIN
|
||||
console.log(rule.min,'rule.min')
|
||||
if (!value || value < min || value % mutiple !== 0) {
|
||||
this.$toast(rule.msg)
|
||||
this.nextStepFlag = true
|
||||
@@ -1565,7 +1616,6 @@
|
||||
},
|
||||
trialBeforeRule() {
|
||||
let that = this
|
||||
console.log('走试算前规则')
|
||||
// 针对于国富人寿附加两全保险附加险(GFRS_A0011),缴费期间期间要等于主险的缴费期间
|
||||
let mainRiskInfo = this.getMainRiskInfo()
|
||||
this.chooseProducts.forEach((item) => {
|
||||
@@ -2492,10 +2542,6 @@
|
||||
}
|
||||
else if (productCode == 'GFRS_M0035' || productCode == 'GFRS_M0044'
|
||||
|| productCode == 'GFRS_M0056' || productCode == 'GFRS_M0057' || productCode == 'GFRS_M0060') {
|
||||
console.log('defalutValue==', defalutValue)
|
||||
console.log("currentEle['amt']==", currentEle['amt'])
|
||||
console.log('riskFactor.rules', riskFactor.rules)
|
||||
console.log('this.saleInsuredPersonInfo.insuredAge ', this.saleInsuredPersonInfo.insuredAge)
|
||||
//被保险人年龄如果在50-65区间
|
||||
if (this.saleInsuredPersonInfo.insuredAge >= 56 && this.saleInsuredPersonInfo.insuredAge <= 60) {
|
||||
//使用rules规则里的第二条控制保额份数
|
||||
@@ -2769,9 +2815,6 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
// let currentEle = this.chooseProducts[this.productIndex].calFactorLst[this.calFactorIndex]
|
||||
// defalutValue = value
|
||||
console.log('进来几次')
|
||||
this.mult = Math.ceil(Number(defalutValue) / Number(riskFactor.defaultValue))
|
||||
},
|
||||
//下一步
|
||||
@@ -2875,7 +2918,8 @@
|
||||
this.trialList[index].productCode == 'GFRS_M0054' ||
|
||||
this.trialList[index].productCode == 'GFRS_M0073' ||
|
||||
this.trialList[index].productCode == 'GFRS_M0077' ||
|
||||
this.trialList[index].productCode == 'GFRS_M0057'
|
||||
this.trialList[index].productCode == 'GFRS_M0057' ||
|
||||
this.trialList[index].productCode == 'GFRS_M0086'
|
||||
) {
|
||||
riskItem['dutyLst'] = this.trialInfos[index].duty
|
||||
}
|
||||
@@ -2925,8 +2969,6 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// console.log(riskItem)
|
||||
riskItem = Object.assign(riskItem, this.trialInfos[index])
|
||||
riskDTOLst.push(riskItem)
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ export default {
|
||||
const res =await getServiceConfig({})
|
||||
if (res.sections) {
|
||||
res.sections.forEach(e=>{
|
||||
if(e.name.indexOf('一月专区')!=-1){
|
||||
if(e.name.indexOf('旺季专区')!=-1){
|
||||
this.menuList =e.items;
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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('“证件类型”为“港澳台居民居住证”,“国籍”请选择“中国香港”、“中国澳门”或“中国台湾”~')
|
||||
}
|
||||
@@ -1606,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')
|
||||
@@ -1162,6 +1172,9 @@ export default {
|
||||
break
|
||||
}
|
||||
}
|
||||
if(!path) {
|
||||
path = 'signDocuments'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1179,6 +1192,9 @@ export default {
|
||||
break
|
||||
}
|
||||
}
|
||||
if(!path) {
|
||||
path = 'signDocuments'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1193,9 +1209,12 @@ export default {
|
||||
break
|
||||
}
|
||||
}
|
||||
if(!path) {
|
||||
path = 'signDocuments'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
console.log('12321321'+path)
|
||||
if (path){
|
||||
that.$jump({
|
||||
flag: 'h5',
|
||||
@@ -1737,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') {
|
||||
@@ -1866,12 +1888,12 @@ export default {
|
||||
line-height: 30px;
|
||||
}
|
||||
/deep/ .fs16{
|
||||
font-size: 16px;
|
||||
font-size: 16px!important;
|
||||
}
|
||||
/deep/ .fs20{
|
||||
font-size: 20px;
|
||||
font-size: 16px;
|
||||
.van-cell{
|
||||
font-size: 20px;
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -31,7 +31,8 @@
|
||||
data-vv-name="单选"
|
||||
v-for="(items, indexs) in item.options" :key="indexs"
|
||||
>
|
||||
<van-radio :name="items.option" :label="items.option" class="mr150 ml70">{{items.item}} ({{items.score}}分)</van-radio>
|
||||
<!-- <van-radio :name="items.option" :label="items.option" class="mr150 ml70">{{items.item}} ({{items.score}}分)</van-radio>-->
|
||||
<van-radio :name="items.option" :label="items.option" class="mr150 ml70">{{items.item}}</van-radio>
|
||||
</van-radio-group>
|
||||
<div style=" font-size:13px" v-if="item.remarks" v-html="item.remarks">
|
||||
</div>
|
||||
@@ -43,11 +44,23 @@
|
||||
<div class="bottom-btn bg-white">
|
||||
<van-button type="danger" size="large" @click="next" :disabled="isDisabled" v-no-more-click="1000">提交问卷</van-button>
|
||||
</div>
|
||||
<van-dialog v-model="thisdialogshow" :showConfirmButton="false">
|
||||
<div slot="title">
|
||||
<p style="color: #E9332E;">提示</p>
|
||||
</div>
|
||||
<div style="padding: 20px 30px 20px;font-size: 14px;">
|
||||
<div style="line-height: 20px;">根据风险测评结果,您不适合投保万能型或分红型保险产品,建议您停止投保。</div>
|
||||
</div>
|
||||
<div style="text-align: center;display: flex;align-items: end;">
|
||||
<van-button type="danger" style="font-size: 12px;background: #fff;color: #e9332e;line-height: 15px;width: 50%;padding: 0px 2px;" @click="thisdialogfunc1">已知晓不适宜继续投保,但本人仍申请继续投保</van-button>
|
||||
<van-button type="danger" style="font-size: 14px;width: 50%;" @click="thisdialogfunc2">停止投保</van-button>
|
||||
</div>
|
||||
</van-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { Collapse, CollapseItem, RadioGroup, Radio, Field, CellGroup, Icon } from 'vant'
|
||||
import { saveInformation, getOrderDetail } from '@/api/ebiz/sale/sale'
|
||||
import { saveInformation, getOrderDetail, changeOrderStatus } from '@/api/ebiz/sale/sale'
|
||||
import IndexBar from '@/components/ebiz/sale/IndexBar'
|
||||
export default {
|
||||
data() {
|
||||
@@ -56,6 +69,8 @@ export default {
|
||||
],
|
||||
isDisabled:true,
|
||||
salePageFlag: '6',
|
||||
thisdialogshow:false,
|
||||
productType:'',
|
||||
}
|
||||
},
|
||||
components: {
|
||||
@@ -72,6 +87,7 @@ created(){
|
||||
getOrderDetail({ orderNo: this.$route.query.orderNo }).then(res => {
|
||||
if (res.result == 0) {
|
||||
this.question =JSON.parse( res.orderDTO.riskEvaluationDTO.quentionAnswer)
|
||||
this.productType = res.orderDTO.orderInfoDTO.productType
|
||||
this.isDisabledType()
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
@@ -100,6 +116,38 @@ mounted(){
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
thisdialogfunc1(){
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/answerSuccess?orderNo=' + this.$route.query.orderNo,
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/answerSuccess?orderNo=' + this.$route.query.orderNo
|
||||
}
|
||||
})
|
||||
},
|
||||
thisdialogfunc2(){
|
||||
let params = {
|
||||
orderNO:this.$route.query.orderNo
|
||||
}
|
||||
changeOrderStatus(params).then(res=>{
|
||||
if(res.result == 0){
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/list',
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/list'
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
appCallBack(data) {
|
||||
if (data.trigger == 'left_button_click') {
|
||||
return this.$dialog
|
||||
@@ -159,21 +207,42 @@ methods:{
|
||||
}
|
||||
saveInformation(data).then(res => {
|
||||
if (res.result == '0') {
|
||||
let that = this
|
||||
localStorage.removeItem('changeCard')
|
||||
if (!this.$route.query.salePageFlag) {
|
||||
//不是从导航栏进入
|
||||
localStorage.salePageFlag = '7'
|
||||
}
|
||||
that.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/answerSuccess?orderNo=' + this.$route.query.orderNo,
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/answerSuccess?orderNo=' + this.$route.query.orderNo
|
||||
}
|
||||
})
|
||||
if(this.productType == '1' || this.productType == '2') {
|
||||
getOrderDetail({ orderNo: this.$route.query.orderNo }).then(res => {
|
||||
if (res.result == 0) {
|
||||
if(res.orderDTO.riskEvaluationDTO.totalScore >= 60 && res.orderDTO.riskEvaluationDTO.totalScore <= 85){
|
||||
this.thisdialogshow = true
|
||||
} else {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/answerSuccess?orderNo=' + this.$route.query.orderNo,
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/answerSuccess?orderNo=' + this.$route.query.orderNo
|
||||
}
|
||||
})
|
||||
}
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/answerSuccess?orderNo=' + this.$route.query.orderNo,
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/answerSuccess?orderNo=' + this.$route.query.orderNo
|
||||
}
|
||||
})
|
||||
}
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
|
||||
@@ -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:''
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -27,9 +27,9 @@
|
||||
</van-button>
|
||||
</div>
|
||||
<div class='bg-white bottom-btn' v-if="current != '1'">
|
||||
<van-button style="width: 30%;font-size: 20px;" plain type='danger' size='large' v-no-more-click='1000' @click="prevStep">上一步
|
||||
<van-button style="width: 30%;font-size: 16px;" plain type='danger' size='large' v-no-more-click='1000' @click="prevStep">上一步
|
||||
</van-button>
|
||||
<van-button style="width: 70%;font-size: 20px;" type='danger' size='large' :disabled='isDisabledComplite' @click='goNext' v-no-more-click='1000'>
|
||||
<van-button style="width: 70%;font-size: 16px;" type='danger' size='large' :disabled='isDisabledComplite' @click='goNext' v-no-more-click='1000'>
|
||||
我已阅读确认并理解,继续
|
||||
</van-button>
|
||||
</div>
|
||||
@@ -417,7 +417,7 @@
|
||||
color: red;
|
||||
}
|
||||
/deep/ .fs20{
|
||||
font-size: 20px;
|
||||
font-size: 16px;
|
||||
.van-button__text{
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
代理人:{{signName}}
|
||||
</span>
|
||||
</div>
|
||||
<div style="margin-top: 15px;font-weight: bold;line-height: 32px;font-size: 20px;" class="fs20">
|
||||
<div style="margin-top: 15px;font-weight: bold;line-height: 32px;font-size: 16px;" class="fs20">
|
||||
<span v-if="signVal == '3'">
|
||||
1.接下来您作为代理人将进行投保文件的签字,请在签字前确保您已仔细阅读投保文件并了解投保文件的内容和含义,确定投保单各项信息准确无误。签字完成并成功提交说明您正式向我司提交投保申请。
|
||||
</span>
|
||||
@@ -27,21 +27,21 @@
|
||||
</span>
|
||||
</div>
|
||||
<div style="border-bottom: 1px dashed #eee;padding-bottom: 15px;margin-top: 15px;">
|
||||
<p style="font-size: 20px;font-weight: bold;">2.您将为以下文件进行统一签名:</p>
|
||||
<p style="font-size: 16px;font-weight: bold;">2.您将为以下文件进行统一签名:</p>
|
||||
<div v-for="item in fileList" style="margin-top: 15px;display: flex;justify-content: space-between;">
|
||||
<span style="font-size: 20px;color: red;opacity: 0.7;width: 60%;display: inline-block;">{{item.name}}</span>
|
||||
<span style="font-size: 16px;color: red;opacity: 0.7;width: 60%;display: inline-block;">{{item.name}}</span>
|
||||
<span v-if="signstatus == '1'" style="display: flex;align-items: center;display: inline-block;width: 40%;">
|
||||
<img :src="src" style="margin-left: 15px;width: 16px;"/>
|
||||
<span style="font-size: 20px;color: #03ceaf;margin-left: 10px;">签署完成</span>
|
||||
<span style="font-size: 16px;color: #03ceaf;margin-left: 10px;">签署完成</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div style="margin-top: 15px;display: flex;align-items: center;" class="fs20">
|
||||
<span v-if="signVal == '3'" style="font-size: 20px;font-weight: bold;">代理人签名:</span>
|
||||
<span v-if="signVal == '0' || signVal == '2'" style="font-size: 20px;font-weight: bold;">投保人签名:</span>
|
||||
<span v-if="signVal == '1' && insuredAge >= 18" style="font-size: 20px;font-weight: bold;">被保险人签名:</span>
|
||||
<span v-if="signVal == '1' && insuredAge < 18" style="font-size: 20px;font-weight: bold;">被保险人/监护人签名:</span>
|
||||
<van-button type="danger" size="small" round style="margin-left: 20px;height: 40px;font-size: 16px;" @click="gosign" class="fs20">
|
||||
<span v-if="signVal == '3'" style="font-size: 16px;font-weight: bold;">代理人签名:</span>
|
||||
<span v-if="signVal == '0' || signVal == '2'" style="font-size: 16px;font-weight: bold;">投保人签名:</span>
|
||||
<span v-if="signVal == '1' && insuredAge >= 18" style="font-size: 16px;font-weight: bold;">被保险人签名:</span>
|
||||
<span v-if="signVal == '1' && insuredAge < 18" style="font-size: 16px;font-weight: bold;">被保险人/监护人签名:</span>
|
||||
<van-button type="danger" size="small" round style="margin-left: 20px;height: 32px;font-size: 16px;" @click="gosign" class="fs20">
|
||||
{{signstatus ? '重新签名' : '签名'}}
|
||||
</van-button>
|
||||
</div>
|
||||
@@ -49,7 +49,7 @@
|
||||
<img v-if="signstatus" :src="signImgUrl" style="height: 34px;margin-left: 20px;width: auto;"/>
|
||||
</div>
|
||||
<div class='bg-white bottom-btn'>
|
||||
<van-button :disabled="nextDisabled" type='danger' size='normal' style="font-size: 20px;" block v-no-more-click='1000' @click="gonext">
|
||||
<van-button :disabled="nextDisabled" type='danger' size='normal' style="font-size: 16px;" block v-no-more-click='1000' @click="gonext">
|
||||
完成阅读并签署
|
||||
</van-button>
|
||||
</div>
|
||||
@@ -59,7 +59,7 @@
|
||||
<p style="color: #E9332E;">监护人姓名</p>
|
||||
</div>
|
||||
<div class="guardianContent" style="padding: 20px 30px 30px;font-size: 14px;">
|
||||
<van-field v-model="guardianName" label="" name="体重" placeholder="请输入"/>
|
||||
<van-field v-model="guardianName" label="" name="监护人姓名" placeholder="请输入"/>
|
||||
</div>
|
||||
<div style="text-align: center;margin-bottom: 30px;">
|
||||
<van-button round type="danger" size="small" style="padding:0px 35px;font-size: 14px;" @click="gosign">确定</van-button>
|
||||
@@ -276,9 +276,9 @@
|
||||
}
|
||||
}
|
||||
.fs20{
|
||||
font-size: 20px;
|
||||
font-size: 16px;
|
||||
.van-button__text{
|
||||
padding: 10px 20px;
|
||||
padding: 8px 16px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user