mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-07 05:26:43 +08:00
Compare commits
166 Commits
release/【2
...
hotfix/【20
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
00459a0f35 | ||
|
|
13acc3a0f5 | ||
|
|
5493d99c15 | ||
|
|
f19f7eb2b6 | ||
|
|
89bb1b1f40 | ||
|
|
c2726abf93 | ||
|
|
8346e6f284 | ||
|
|
b2cac7eb1b | ||
|
|
4aa877446d | ||
|
|
a348d5734a | ||
|
|
216923e5c3 | ||
|
|
ba551a7b59 | ||
|
|
eaaf8fa485 | ||
|
|
a82a7c8d64 | ||
|
|
70d2f6da7f | ||
|
|
f590880d36 | ||
|
|
3d3a450bbf | ||
|
|
33f91f2ea2 | ||
|
|
7bbaec5075 | ||
|
|
815c2e54fc | ||
|
|
d2a941fea5 | ||
|
|
a1f994069f | ||
|
|
4e86319a61 | ||
|
|
13eb83d585 | ||
|
|
30046fbcca | ||
|
|
73b99fa5ec | ||
|
|
4d0823bd60 | ||
|
|
2e15f71b7d | ||
|
|
c136b1f4ca | ||
|
|
e1953900c9 | ||
|
|
1b81c044ca | ||
|
|
a86e1bcd9a | ||
|
|
2c2b206c86 | ||
|
|
dbc1891bf3 | ||
|
|
b28a8bf9fa | ||
|
|
07dafba445 | ||
|
|
1e77392b45 | ||
|
|
e9e3685d97 | ||
|
|
8837b4e491 | ||
|
|
210b777739 | ||
|
|
540b74492a | ||
|
|
74248f5c4f | ||
|
|
2d37780850 | ||
|
|
ef3a45c7d1 | ||
|
|
c0d01f9f5a | ||
|
|
71ba3df54b | ||
|
|
b57a6e3bda | ||
|
|
7f050ea622 | ||
|
|
205ffe6668 | ||
|
|
f3502485fb | ||
|
|
f44a8efe50 | ||
|
|
d02dd5748a | ||
|
|
fc3ec41ea0 | ||
|
|
005630da8c | ||
|
|
38a051fae4 | ||
|
|
d49fd76db9 | ||
|
|
1bd368b684 | ||
|
|
8164ff8fc7 | ||
|
|
f96cc01b74 | ||
|
|
dfa1afefd1 | ||
|
|
cd5039074e | ||
|
|
f31865d26a | ||
|
|
60a255abc8 | ||
|
|
23d7ea8ce7 | ||
|
|
05d8a6a03d | ||
|
|
7d4c1f1397 | ||
|
|
bc3318f4c6 | ||
|
|
8b82fe77d1 | ||
|
|
0687f0aea1 | ||
|
|
f971318e4c | ||
|
|
56e0a315ed | ||
|
|
af60e7ee49 | ||
|
|
a240169c58 | ||
|
|
93c7c991d8 | ||
|
|
839cd16311 | ||
|
|
5514f65996 | ||
|
|
c41d705394 | ||
|
|
4483280f99 | ||
|
|
157eed1f23 | ||
|
|
3a52e5ed8a | ||
|
|
e8fbcc33c0 | ||
|
|
fb15fc8cd4 | ||
|
|
527a687fee | ||
|
|
71e63645f7 | ||
|
|
7e21178f48 | ||
|
|
5fb321351a | ||
|
|
bec1215624 | ||
|
|
77f1d12543 | ||
|
|
84fb85b58b | ||
|
|
f2dc1d7ee8 | ||
|
|
36f03597cb | ||
|
|
45cf78cf3e | ||
|
|
27218226de | ||
|
|
2c48e0c927 | ||
|
|
13276d9c7f | ||
|
|
96eca99a4e | ||
|
|
3758be49b6 | ||
|
|
e43f9e9881 | ||
|
|
cc73fb4ebb | ||
|
|
f5aec4972b | ||
|
|
bd61c5b8c0 | ||
|
|
9aaa7ad106 | ||
|
|
0de31877e7 | ||
|
|
7c2fcb7993 | ||
|
|
01c5e3acc3 | ||
|
|
23278094ea | ||
|
|
f4fdc05f95 | ||
|
|
49df5e8176 | ||
|
|
33350a4a5b | ||
|
|
0ae0de8e51 | ||
|
|
3d2bca3228 | ||
|
|
5d04db24a7 | ||
|
|
7684831fdc | ||
|
|
47c68db32d | ||
|
|
e6e5c7b375 | ||
|
|
3167d58990 | ||
|
|
09d6f63ab9 | ||
|
|
e782eb1065 | ||
|
|
7c2fca39bf | ||
|
|
af041ddd0c | ||
|
|
85ff38ec6f | ||
|
|
151f793f99 | ||
|
|
a024a67995 | ||
|
|
e5ae68f225 | ||
|
|
0a4018b445 | ||
|
|
1b59db041b | ||
|
|
e718c684c8 | ||
|
|
30d9c008d1 | ||
|
|
e6a4957e74 | ||
|
|
344c367c08 | ||
|
|
cf9de9636d | ||
|
|
31e3cb6241 | ||
|
|
b4ddba6018 | ||
|
|
5422bc9145 | ||
|
|
29224df8f6 | ||
|
|
d5da63c544 | ||
|
|
167a004b21 | ||
|
|
ff9bffcd15 | ||
|
|
b3b450d511 | ||
|
|
f41e28b630 | ||
|
|
b7ed7a049c | ||
|
|
a6e2347dd8 | ||
|
|
f134accf04 | ||
|
|
c6e2f069c5 | ||
|
|
b772d68d76 | ||
|
|
b6bbcd302e | ||
|
|
5f79a28079 | ||
|
|
1f3531fad9 | ||
|
|
74a523d587 | ||
|
|
279d82f514 | ||
|
|
8b24ef1c87 | ||
|
|
f3443ad2fd | ||
|
|
d347b6590f | ||
|
|
62fcad1ca2 | ||
|
|
6c669754d2 | ||
|
|
6f9a134dd7 | ||
|
|
31dcf67190 | ||
|
|
e2d9fc11d3 | ||
|
|
38ffce31ee | ||
|
|
9cff332438 | ||
|
|
7234c0929e | ||
|
|
dbf2f7842e | ||
|
|
bd4018f7f4 | ||
|
|
cb45c0b691 | ||
|
|
cdb37af241 | ||
|
|
f68982f5cb |
27
src/App.vue
27
src/App.vue
@@ -26,6 +26,33 @@ export default {
|
||||
reload: this.reload
|
||||
}
|
||||
},
|
||||
created () {
|
||||
// 在页面加载时读取sessionStorage
|
||||
// if (sessionStorage.getItem('store')) {
|
||||
// this.$store.replaceState(Object.assign({}, this.$store.state, JSON.parse(sessionStorage.getItem('store'))))
|
||||
// }
|
||||
// // 在页面刷新时将store保存到sessionStorage里
|
||||
// window.addEventListener('beforeunload', () => {
|
||||
// sessionStorage.setItem('store', JSON.stringify(this.$store.state))
|
||||
// })
|
||||
//ios刷新时vuex信息保留
|
||||
let isiOS = !!navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
|
||||
if (isiOS) {
|
||||
//在页面刷新时将vuex里的信息保存到缓存里
|
||||
window.addEventListener("pagehide", () => {
|
||||
localStorage.setItem("store", JSON.stringify(this.$store.state))
|
||||
})
|
||||
//在页面加载时读取localStorage里的状态信息
|
||||
localStorage.getItem("store") && this.$store.replaceState(Object.assign(this.$store.state,JSON.parse(localStorage.getItem("store"))));
|
||||
} else {
|
||||
//在页面刷新时将vuex里的信息保存到缓存里
|
||||
window.addEventListener("beforeunload", () => {
|
||||
localStorage.setItem("store", JSON.stringify(this.$store.state))
|
||||
})
|
||||
//在页面加载时读取localStorage里的状态信息
|
||||
localStorage.getItem("store") && this.$store.replaceState(Object.assign(this.$store.state,JSON.parse(localStorage.getItem("store"))));
|
||||
}
|
||||
},
|
||||
mounted(){
|
||||
},
|
||||
methods: {
|
||||
|
||||
46
src/api/ebiz/YB_agentSign/YB_agentSign.js
Normal file
46
src/api/ebiz/YB_agentSign/YB_agentSign.js
Normal file
@@ -0,0 +1,46 @@
|
||||
import request from '@/assets/js/utils/request'
|
||||
import getUrl from '@/assets/js/utils/get-url'
|
||||
// 银保代理人签署信息查询接口
|
||||
export function getContractInfo(data) {
|
||||
return request({
|
||||
url: getUrl('/agent/enterYB/getContractInfo', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 银保代理人签署信息接收接口
|
||||
export function putContractInfo(data) {
|
||||
return request({
|
||||
url: getUrl('/agent/enterYB/putContractInfo', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 生成电子合同pdf
|
||||
export function generateAgreementYB(data) {
|
||||
return request({
|
||||
url: getUrl('/agent/enterYB/generateAgreementYB', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取验证码
|
||||
export function getAuthCode(data) {
|
||||
return request({
|
||||
url: getUrl('/customer/authcode/noLoginedSend', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 校验验证码
|
||||
export function checkSignYB(data) {
|
||||
return request({
|
||||
url: getUrl('/customer/authcode/checkSignYB', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
import request from '@/assets/js/utils/request'
|
||||
import request1 from '@/assets/js/utils/request1'
|
||||
import getUrl from '@/assets/js/utils/get-url'
|
||||
import store from '@/store'
|
||||
// 保费计算
|
||||
export function saveOrUpdateOrderInfo(data) {
|
||||
return request({
|
||||
@@ -99,6 +100,15 @@ export function uploadImg(data) {
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 上传图片
|
||||
export function uploadImg2(data) {
|
||||
return request1({
|
||||
url: getUrl('/uploadImage?imgType='+store.getters.getUploadImgType+'&orderNo='+store.getters.getUploadImgOrderNo, 1, 2),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
/*
|
||||
// 人脸识别
|
||||
export function recognition(data) {
|
||||
@@ -343,4 +353,22 @@ export function getUniversalCodeLst(data) {
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// 获取柳州分红万能投连型产品编码集合
|
||||
export function getDoubleRecordProductLst(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/product/getDoubleRecordProductLst ', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 指定受益人身份四要素
|
||||
export function checkAppointBnf(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/bnfCheck/checkAppointBnf ', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
BIN
src/assets/images/erweima.png
Normal file
BIN
src/assets/images/erweima.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 56 KiB |
@@ -1,167 +1,164 @@
|
||||
import utilsAge from '@/assets/js/utils/age'
|
||||
export default {
|
||||
//计算身份证起始日期
|
||||
getStartDate: function(age, endDate) {
|
||||
getStartDate: function(birthday, endDate) {
|
||||
let startDate = '' //证件起始日期
|
||||
let thisDate = new Date() //当年日期
|
||||
let thisyear = thisDate.getFullYear() //当前年份
|
||||
let startage = ''
|
||||
let endage = utilsAge.getAge(birthday, new Date(endDate))
|
||||
|
||||
if (age < 16) {
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 16周岁以下的证件有效期为5年
|
||||
* @Date: 2023/7/4
|
||||
**/
|
||||
startDate = String(Number(endDate.slice(0,4)) - 5) + endDate.slice(4,11)
|
||||
} else if (age >= 16 && age <= 21) {
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 16周岁~21周岁的证件有效期为10年或5年
|
||||
* @Date: 2023/7/4
|
||||
**/
|
||||
if (age - (10 - (endDate.slice(0,4) - thisyear)) < 16 ) {
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 如果证件有效期为10年 根据证件截止日期 判断10年前的年龄 如果小于16周岁 那么证件有效期就是5年
|
||||
* @Date: 2023/7/5
|
||||
**/
|
||||
startDate = String(Number(endDate.slice(0,4)) - 5) + endDate.slice(4,11)
|
||||
} else {
|
||||
startDate = String(Number(endDate.slice(0,4)) - 10) + endDate.slice(4,11)
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 未满16周岁的公民申领的居民身份证有效期为5年
|
||||
* @Date: 2023/7/4
|
||||
**/
|
||||
if (endage - 5 < 16) {
|
||||
let date2_29 = endDate.slice(5, 11)
|
||||
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'
|
||||
} else {
|
||||
return startDate = thisyear + '-02-28'
|
||||
}
|
||||
}else{
|
||||
return startDate = String(Number(endDate.slice(0, 4)) - 5) + startDate.slice(4, 11)
|
||||
}
|
||||
} else if(age >= 22 && age <= 25) {
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 22周岁~25周岁的证件有效期为10年
|
||||
* @Date: 2023/7/4
|
||||
**/
|
||||
startDate = String(Number(endDate.slice(0,4)) - 10) + endDate.slice(4,11)
|
||||
} else if (age >= 26 && age <= 35) {
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 26周岁~35周岁的证件有效期为20年或10年
|
||||
* @Date: 2023/7/4
|
||||
**/
|
||||
if (age - (20 - (endDate.slice(0,4) - thisyear)) < 26 ) {
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 如果证件有效期为20年 根据证件截止日期 判断20年前的年龄 如果小于26周岁 那么证件有效期就是10年
|
||||
* @Date: 2023/7/5
|
||||
**/
|
||||
startDate = String(Number(endDate.slice(0,4)) - 10) + endDate.slice(4,11)
|
||||
} else {
|
||||
startDate = String(Number(endDate.slice(0,4)) - 20) + endDate.slice(4,11)
|
||||
}
|
||||
} else if (age >= 36 && age <= 45) {
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 36周岁~45周岁的证件有效期为20年
|
||||
* @Date: 2023/7/4
|
||||
**/
|
||||
startDate = String(Number(endDate.slice(0,4)) + 20) + endDate.slice(4,11)
|
||||
} else if (age >= 46 && age <= 65) {
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 46周岁~65周岁的证件有效期为20年或长期
|
||||
* @Date: 2023/7/4
|
||||
**/
|
||||
if (age - (20 - (endDate.slice(0,4) - thisyear)) < 46 ) {
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 如果证件有效期为20年 根据证件截止日期 判断20年前的年龄 如果小于46周岁 那么证件有效期就是20年
|
||||
* @Date: 2023/7/5
|
||||
**/
|
||||
startDate = String(Number(endDate.slice(0,4)) - 20) + endDate.slice(4,11)
|
||||
}
|
||||
} else if (age > 65) {
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 65周岁以上的证件有效期为长期
|
||||
* @Date: 2023/7/4
|
||||
**/
|
||||
}
|
||||
return startDate
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 年满16周岁至25周岁的公民申领的居民身份证有效期为10年
|
||||
* @Date: 2023/7/4
|
||||
**/
|
||||
else if (endage - 5 >= 16 && endage - 10 <= 25) {
|
||||
startDate = String(Number(endDate.slice(0,4)) - 10) + endDate.slice(4,11)
|
||||
startage = utilsAge.getAge(birthday, new Date(startDate))
|
||||
if(startage >= 16 && startage <= 25){
|
||||
let date2_29 = endDate.slice(5, 11)
|
||||
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'
|
||||
} else {
|
||||
return startDate = thisyear + '-02-28'
|
||||
}
|
||||
} else {
|
||||
return startDate
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 年满26周岁至45周岁的公民申领的居民身份证有效期为20年
|
||||
* @Date: 2023/7/4
|
||||
**/
|
||||
else if(endage - 10 >= 26 && endage - 20 <= 45) {
|
||||
startDate = String(Number(endDate.slice(0,4)) - 20) + endDate.slice(4,11)
|
||||
startage = utilsAge.getAge(birthday, new Date(startDate))
|
||||
if(startage >= 26 && startage <= 45){
|
||||
let date2_29 = endDate.slice(5, 11)
|
||||
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'
|
||||
} else {
|
||||
return startDate = thisyear + '-02-28'
|
||||
}
|
||||
} else {
|
||||
return startDate
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 年满46周岁的公民申领居民身份证有效期为长期
|
||||
* @Date: 2023/7/4
|
||||
**/
|
||||
else if (endage - 20 >= 46) {
|
||||
return startDate
|
||||
}
|
||||
},
|
||||
|
||||
//计算身份证截止日期
|
||||
getEndDate: function(age, startDate) {
|
||||
getEndDate: function(birthday, startDate) {
|
||||
let endDate = '' //证件截止日期
|
||||
let thisDate = new Date() //当年日期
|
||||
let thisyear = thisDate.getFullYear() //当前年份
|
||||
|
||||
if (age < 16) {
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 16周岁以下的证件有效期为5年
|
||||
* @Date: 2023/7/4
|
||||
**/
|
||||
endDate = String(Number(startDate.slice(0,4)) + 5) + startDate.slice(4,11)
|
||||
} else if (age >= 16 && age <= 21) {
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 16周岁~21周岁的证件有效期为10年或5年
|
||||
* @Date: 2023/7/4
|
||||
**/
|
||||
if (age - (thisyear - startDate.slice(0,4)) < 16 ) {
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 根据证件起始日期计算办证时年龄 如果办证时年龄小于16周岁 那么证件有效期就是5年
|
||||
* @Date: 2023/7/5
|
||||
**/
|
||||
endDate = String(Number(startDate.slice(0,4)) + 5) + startDate.slice(4,11)
|
||||
let startage = utilsAge.getAge(birthday, new Date(startDate))
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 未满16周岁的公民申领的居民身份证有效期为5年
|
||||
* @Date: 2023/7/4
|
||||
**/
|
||||
if (startage < 16) {
|
||||
let date2_29 = startDate.slice(5, 11)
|
||||
if(date2_29 == '02-29') {
|
||||
let thisyear = Number(startDate.slice(0, 4)) + 5
|
||||
if (thisyear % 4 == 0 && thisyear % 100 != 0 || thisyear % 400 == 0){
|
||||
return endDate = thisyear + '-02-29'
|
||||
} else {
|
||||
return endDate = thisyear + '-02-28'
|
||||
}
|
||||
} else {
|
||||
endDate = String(Number(startDate.slice(0,4)) + 10) + startDate.slice(4,11)
|
||||
return endDate = String(Number(startDate.slice(0, 4)) + 5) + startDate.slice(4, 11)
|
||||
}
|
||||
} else if(age >= 22 && age <= 25) {
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 22周岁~25周岁的证件有效期为10年
|
||||
* @Date: 2023/7/4
|
||||
**/
|
||||
endDate = String(Number(startDate.slice(0,4)) + 10) + startDate.slice(4,11)
|
||||
} else if (age >= 26 && age <= 35) {
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 26周岁~35周岁的证件有效期为20年或10年
|
||||
* @Date: 2023/7/4
|
||||
**/
|
||||
if (age - (thisyear - startDate.slice(0,4)) < 26 ) {
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 根据证件起始日期计算办证时年龄 如果办证时年龄小于26周岁 那么证件有效期就是10年
|
||||
* @Date: 2023/7/5
|
||||
**/
|
||||
endDate = String(Number(startDate.slice(0,4)) + 10) + startDate.slice(4,11)
|
||||
} else {
|
||||
endDate = String(Number(startDate.slice(0,4)) + 20) + startDate.slice(4,11)
|
||||
}
|
||||
} else if (age >= 36 && age <= 45) {
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 36周岁~45周岁的证件有效期为20年
|
||||
* @Date: 2023/7/4
|
||||
**/
|
||||
endDate = String(Number(startDate.slice(0,4)) + 20) + startDate.slice(4,11)
|
||||
} else if (age >= 46 && age <= 65) {
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 46周岁~65周岁的证件有效期为20年或长期
|
||||
* @Date: 2023/7/4
|
||||
**/
|
||||
if (age - (thisyear - startDate.slice(0,4)) < 46 ) {
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 根据证件起始日期计算办证时年龄 如果办证时年龄小于46周岁 那么证件有效期就是20年
|
||||
* @Date: 2023/7/5
|
||||
**/
|
||||
endDate = String(Number(startDate.slice(0,4)) + 20) + startDate.slice(4,11)
|
||||
}
|
||||
} else if (age > 65) {
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 65周岁以上的证件有效期为长期
|
||||
* @Date: 2023/7/4
|
||||
**/
|
||||
}
|
||||
return endDate
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 年满16周岁至25周岁的公民申领的居民身份证有效期为10年
|
||||
* @Date: 2023/7/4
|
||||
**/
|
||||
else if (startage >= 16 && startage <= 25) {
|
||||
let date2_29 = startDate.slice(5, 11)
|
||||
if(date2_29 == '02-29') {
|
||||
let thisyear = Number(startDate.slice(0, 4)) + 10
|
||||
if (thisyear % 4 == 0 && thisyear % 100 != 0 || thisyear % 400 == 0){
|
||||
return endDate = thisyear + '-02-29'
|
||||
} else {
|
||||
return endDate = thisyear + '-02-28'
|
||||
}
|
||||
} else {
|
||||
return endDate = String(Number(startDate.slice(0, 4)) + 10) + startDate.slice(4, 11)
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 年满26周岁至45周岁的公民申领的居民身份证有效期为20年
|
||||
* @Date: 2023/7/4
|
||||
**/
|
||||
else if (startage >= 26 && startage <= 45) {
|
||||
let date2_29 = startDate.slice(5, 11)
|
||||
if(date2_29 == '02-29') {
|
||||
let thisyear = Number(startDate.slice(0, 4)) + 20
|
||||
if (thisyear % 4 == 0 && thisyear % 100 != 0 || thisyear % 400 == 0){
|
||||
return endDate = thisyear + '-02-29'
|
||||
} else {
|
||||
return endDate = thisyear + '-02-28'
|
||||
}
|
||||
} else {
|
||||
return endDate = String(Number(startDate.slice(0, 4)) + 20) + startDate.slice(4, 11)
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @Author: LiuXiaoFeng
|
||||
* @Description: 年满46周岁的公民申领居民身份证有效期为长期
|
||||
* @Date: 2023/7/4
|
||||
**/
|
||||
else if (startage > 65) {
|
||||
return endDate
|
||||
}
|
||||
},
|
||||
|
||||
//计算户口本截止日期
|
||||
getEndDate2: function(birthday, startDate) {
|
||||
let endDate = ''
|
||||
let date2_29 = startDate.slice(5, 11)
|
||||
if(date2_29 == '02-29'){
|
||||
let thisyear = Number(startDate.slice(0, 4)) + 16
|
||||
if (thisyear % 4 == 0 && thisyear % 100 != 0 || thisyear % 400 == 0){
|
||||
return endDate = thisyear + '-02-29'
|
||||
} else {
|
||||
return endDate = thisyear + '-02-28'
|
||||
}
|
||||
}else{
|
||||
return endDate = String(Number(startDate.slice(0, 4)) + 16) + startDate.slice(4, 11)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -965,10 +965,10 @@ export default {
|
||||
id: 2,
|
||||
text: '户口本'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
text: '出生证'
|
||||
},
|
||||
// {
|
||||
// id: 3,
|
||||
// text: '出生证'
|
||||
// },
|
||||
{
|
||||
id: 4,
|
||||
text: '外国人护照'
|
||||
@@ -1059,6 +1059,36 @@ export default {
|
||||
text: '户口本'
|
||||
}
|
||||
],
|
||||
// 新市民身份
|
||||
isNewPeopleFlag: [
|
||||
{
|
||||
id: 1,
|
||||
text: '是'
|
||||
},
|
||||
{
|
||||
id: 0,
|
||||
text: '否'
|
||||
}
|
||||
],
|
||||
// 新市民类型 创业、就业、子女上学、投奔子女
|
||||
npType: [
|
||||
{
|
||||
id: 1,
|
||||
text: '创业'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
text: '就业'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
text: '子女上学'
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
text: '投奔子女'
|
||||
}
|
||||
],
|
||||
//出生证明
|
||||
birthType: [
|
||||
{
|
||||
@@ -1947,7 +1977,7 @@ export default {
|
||||
},
|
||||
{
|
||||
id: '58',
|
||||
text: '待客户付款'
|
||||
text: '转人核支付'
|
||||
},
|
||||
{
|
||||
id: '59',
|
||||
@@ -3727,36 +3757,36 @@ export default {
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "AppntModerateOrMinorDiseaseExemptionPremiumC",
|
||||
label: "元"
|
||||
code: "AppntModerateOrMinorDiseaseExemptionPremiumC",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "AppntDeathOrTotalDiseaseExemptionPremiumC",
|
||||
label: "元"
|
||||
code: "AppntDeathOrTotalDiseaseExemptionPremiumC",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "InsuredCriticalDiseaseExemptionPremiumC",
|
||||
label: "元"
|
||||
code: "InsuredCriticalDiseaseExemptionPremiumC",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "InsuredModerateOrMinorDiseaseExemptionPremiumC",
|
||||
label: "元"
|
||||
code: "InsuredModerateOrMinorDiseaseExemptionPremiumC",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "InsuredDeathOrTotalDiseaseExemptionPremiumC",
|
||||
label: "元"
|
||||
code: "InsuredDeathOrTotalDiseaseExemptionPremiumC",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "transport_G",
|
||||
label: "元"
|
||||
code: "transport_G",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "transport_H",
|
||||
label: "元"
|
||||
code: "transport_H",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "transport_J",
|
||||
label: "元"
|
||||
code: "transport_J",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "firstMajorDiseaseInsurance",
|
||||
@@ -3778,6 +3808,14 @@ export default {
|
||||
code: "GFRS_M0073__cashValue",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "specMajorDiseaseInsurance",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "expireSurvivalInsurance",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "currentBonus_L",
|
||||
label: "元"
|
||||
@@ -3793,6 +3831,62 @@ export default {
|
||||
{
|
||||
code: "riskAC_M",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "CardiovascularCerebrovascularDiseasesInsurance",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "childrenSpecificDiseaseInsurance",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "maleSpecificDiseaseInsurance",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "femaleSpecificDiseaseInsurance",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "supplementarySpecificDiseaseInsurance",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "deductible",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "deductible",
|
||||
label: "免赔额"
|
||||
},
|
||||
{
|
||||
code: "accidentalDeductible",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "accidentalLimit",
|
||||
label: "%"
|
||||
},
|
||||
{
|
||||
code: "policyFee",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "expireSurvivalInsurance_L",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "expireSurvivalInsurance_M",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "riskCost_L",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "riskCost_M",
|
||||
label: "元"
|
||||
}
|
||||
],
|
||||
// 卡单与短期险重新投保选择职业类别时,两个模块职业类型数据的排序不同,创建这个数据字典,用于在选择职业类别时,作为一个参数传入组件,
|
||||
|
||||
@@ -5,12 +5,14 @@ import CacheUtils from '@/assets/js/utils/cacheUtils'
|
||||
// import 'nprogress/nprogress.css' // Progress 进度条样式
|
||||
export function permission() {
|
||||
router.beforeEach((to, from, next) => {
|
||||
// NProgress.start()
|
||||
//修改title
|
||||
const title = to.meta && to.meta.title
|
||||
if (title) {
|
||||
document.title = title
|
||||
}
|
||||
if(from.path == '/sale/signatureConfirmation' && to.path == '/sale/attachmentManagement'){
|
||||
window.location.href = window.location.origin + '#' + from.path + '?orderNo=' + from.query.orderNo
|
||||
}
|
||||
//判断是否登录
|
||||
let token = CacheUtils.getLocItem('token')
|
||||
if (!token) {
|
||||
|
||||
@@ -220,7 +220,7 @@ service.interceptors.request.use(
|
||||
let isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //判断是否是 android终端
|
||||
if (isAndroid) {
|
||||
// setTimeout(() => {
|
||||
if (window.location.hash !== '#/my/privacyPolicy') {
|
||||
if (window.location.hash !== '#/my/privacyPolicy' && window.location.hash !== '#/YB_agentSign/step1' && window.location.hash !== '#/YB_agentSign/step2') {
|
||||
console.log(window.Android.getToken(), 'Android获取token')
|
||||
CacheUtils.setLocItem('token', window.Android.getToken())
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -6,6 +6,8 @@
|
||||
* @Description:
|
||||
* @FilePath: \ebiz-h5\src\config\index.js
|
||||
*/
|
||||
import YB_agentSign from "../router/ebiz/YB_agentSign";
|
||||
|
||||
/**
|
||||
* 配置编译环境和线上环境之间的切换
|
||||
* 默认三套环境,可以增添
|
||||
@@ -13,7 +15,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
let apiDomain, imgDomain, assetsUrl, mainUrl, payUrl, zssqUrl, REQ_PWD, CACHE_ENCRYP, API_VERSION, assetsUpUrl, YB_APP // 保融支付的收银台服务地址
|
||||
let apiDomain, imgDomain, assetsUrl, mainUrl, payUrl, zssqUrl, REQ_PWD, CACHE_ENCRYP, API_VERSION, YB_agenturl, assetsUpUrl, YB_APP // 保融支付的收银台服务地址
|
||||
function getSearchString (key) {
|
||||
var str = window.location.href.split('?')[1]
|
||||
str = str.substring(1, str.length) // 获取URL中?之后的字符(去掉第一位的问号)
|
||||
@@ -68,6 +70,7 @@ switch (process.env.VUE_APP_FLAG) {
|
||||
// YB_APP = 'http://10.10.100.98:7001'
|
||||
// YB_APP = 'https://iagentsales-test2.e-guofu.com:5200/api/v1'
|
||||
YB_APP = 'https://iagentsales-test2.e-guofu.com:5200/api/' + apiVersion
|
||||
YB_agenturl ='https://iagentsales-test2.e-guofu.com:443'
|
||||
API_VERSION = apiVersion
|
||||
break
|
||||
case 'uat':
|
||||
@@ -91,6 +94,7 @@ switch (process.env.VUE_APP_FLAG) {
|
||||
// 上传影像地址 挂载共享盘 地址
|
||||
assetsUpUrl = 'https://iagentsales.e-guofu.com'
|
||||
mainUrl = 'https://iagentsales.e-guofu.com'
|
||||
YB_agenturl = 'https://iagentsales.e-guofu.com'
|
||||
payUrl = 'https://uns3.e-guofu.com/s3-modules-gateway/embed/gateway.action'
|
||||
zssqUrl = ''
|
||||
REQ_PWD = '41424344454631323334353637383930'
|
||||
@@ -130,6 +134,7 @@ export default {
|
||||
assetsUpUrl,
|
||||
mainUrl,
|
||||
payUrl,
|
||||
YB_agenturl,
|
||||
zssqUrl, //知识社区地址
|
||||
REQ_PWD, //报文加密密码
|
||||
CACHE_ENCRYP, //缓存加密密码
|
||||
|
||||
22
src/router/ebiz/YB_agentSign.js
Normal file
22
src/router/ebiz/YB_agentSign.js
Normal file
@@ -0,0 +1,22 @@
|
||||
//电子投保 定义相关组件
|
||||
const step1 = () => import('@/views/ebiz/YB_agentSign/step1')
|
||||
const step2 = () => import('@/views/ebiz/YB_agentSign/step2')
|
||||
let riskName = localStorage.riskName
|
||||
export default [
|
||||
{
|
||||
path: '/YB_agentSign/step1',
|
||||
name: 'step1',
|
||||
component: step1,
|
||||
meta: {
|
||||
title: '银保代理人电子化合同签署'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/YB_agentSign/step2',
|
||||
name: 'step2',
|
||||
component: step2,
|
||||
meta: {
|
||||
title: '银保代理人电子化合同签署'
|
||||
}
|
||||
},
|
||||
]
|
||||
@@ -2,6 +2,7 @@
|
||||
import proposal from './proposal'
|
||||
import question from './question'
|
||||
import sale from './sale'
|
||||
import YB_agentSign from './YB_agentSign'
|
||||
import customer from './customer'
|
||||
import my from './my'
|
||||
import serve from './serve'
|
||||
@@ -51,6 +52,7 @@ import YB_APP from '../YB_APP/index'
|
||||
export default [
|
||||
...proposal,
|
||||
...sale,
|
||||
...YB_agentSign,
|
||||
...customer,
|
||||
...my,
|
||||
...serve,
|
||||
|
||||
@@ -15,6 +15,7 @@ const answerPage = () => import('@/views/ebiz/sale/answerPage')
|
||||
const answerSuccess = () => import('@/views/ebiz/sale/answerSuccess')
|
||||
const accountInformation = () => import('@/views/ebiz/sale/AccountInformation')
|
||||
const insuranceInformation = () => import('@/views/ebiz/sale/InsuranceInformation')
|
||||
const insuranceInformation_0081 = () => import('@/views/ebiz/sale/InsuranceInformation_0081')
|
||||
const insuranceClauses = () => import('@/views/ebiz/sale/insuranceClauses')
|
||||
const insuranceTip = () => import('@/views/ebiz/sale/InsuranceTip')
|
||||
const universalRiskNotifyingMessageTip = () => import('@/views/ebiz/sale/universalRiskNotifyingMessageTip')
|
||||
@@ -164,6 +165,14 @@ export default [
|
||||
title: '投保须知'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/sale/insuranceInformation_0081',
|
||||
name: 'insuranceInformation_0081',
|
||||
component: insuranceInformation_0081,
|
||||
meta: {
|
||||
title: '投保须知'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/sale/insuranceClauses',
|
||||
name: 'insuranceClauses',
|
||||
|
||||
@@ -28,6 +28,9 @@ export default new Vuex.Store({
|
||||
secondManageCode: '', //内勤所需参数
|
||||
orderDetail: {},//无优卡分享微信端订单信息
|
||||
answerType: false,//风险测评tab是否显示
|
||||
YBidNo: '', //银保代理人电子化合同签署证件号码
|
||||
YBname: '', //银保代理人电子化合同签署姓名
|
||||
YBuuid: '', //银保代理人电子化合同签署代理人uuid
|
||||
},
|
||||
mutations: {
|
||||
setOrderDetail (state, data) {
|
||||
@@ -78,6 +81,18 @@ export default new Vuex.Store({
|
||||
updateAnswerType (state, val) {
|
||||
state.answerType = val
|
||||
},
|
||||
//更新 银保代理人电子化合同签署证件号码
|
||||
updateYBidNo (state, val) {
|
||||
state.YBidNo = val
|
||||
},
|
||||
//更新 银保代理人电子化合同签署姓名
|
||||
updateYBname (state, val) {
|
||||
state.YBname = val
|
||||
},
|
||||
//更新 银保代理人电子化合同签署代理人uuid
|
||||
updateYBuuid (state, val) {
|
||||
state.YBuuid = val
|
||||
},
|
||||
},
|
||||
getters: {
|
||||
getPageFlag (state) {
|
||||
@@ -104,6 +119,15 @@ export default new Vuex.Store({
|
||||
getAnswerType (state) {
|
||||
return state.answerType
|
||||
},
|
||||
getYBidNo (state) {
|
||||
return state.YBidNo
|
||||
},
|
||||
getYBname (state) {
|
||||
return state.YBname
|
||||
},
|
||||
getYBuuid (state) {
|
||||
return state.YBuuid
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
196
src/views/ebiz/YB_agentSign/step1.vue
Normal file
196
src/views/ebiz/YB_agentSign/step1.vue
Normal file
@@ -0,0 +1,196 @@
|
||||
<template>
|
||||
<div style="height: 100vh;background: #fff;">
|
||||
<div style="display: flex;align-items: center;justify-content: center;padding-top: 60px;">
|
||||
<img style="width: 40px;" src="@/assets/images/logo.png" />
|
||||
<span style="margin-left: 15px;">请您填写以下正确信息</span>
|
||||
</div>
|
||||
<div style="margin-top: 120px;">
|
||||
<van-cell-group>
|
||||
<van-field v-model="name" v-validate="'required|salename'" label="姓名" name="姓名"/>
|
||||
<van-field v-model="idNo" v-validate="'required|idNo'" label="身份证号" name="身份证号" maxlength="18"/>
|
||||
</van-cell-group>
|
||||
</div>
|
||||
<van-button type="danger" class="bottom-btn" @click="nextStep" v-no-more-click="1000">确定</van-button>
|
||||
<van-dialog class="text-center" v-model="isCaptchaModalShow" title="请输入验证码">
|
||||
<div style="margin-top: 20px;margin-bottom: 20px;">
|
||||
<van-field v-model="mobile" label="手机号码" readonly/>
|
||||
<van-field v-model="code" type="number" v-validate="'required|onlyNumber'" maxlength="6" center clearable label="短信验证码" placeholder="请输入短信验证码">
|
||||
<template #button>
|
||||
<van-button size="small" type="danger" :disabled="countDownNum !== 0" @click="getCaptcha">{{
|
||||
countDownNum === 0 ? '获取验证码' : countDownNum | countDownText
|
||||
}}</van-button>
|
||||
</template>
|
||||
</van-field>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<van-button type="danger" @click="onCaptchaConfirm" style="width:80%;margin-bottom: 20px;">确定</van-button>
|
||||
</div>
|
||||
</van-dialog>
|
||||
<van-dialog class="text-center nobutton" v-model="isNoButtonModalShow" title="提示">
|
||||
<div style="margin-top: 20px;margin-bottom: 70px;margin-top: 50px;">
|
||||
<span>系统不存在该人员或已离职!</span>
|
||||
</div>
|
||||
</van-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
|
||||
import {Field, CellGroup} from "vant";
|
||||
import { getContractInfo, putContractInfo, getAuthCode, checkSignYB } from '@/api/ebiz/YB_agentSign/YB_agentSign'
|
||||
|
||||
export default {
|
||||
name: 'YB_agentSign_step1',
|
||||
components: {
|
||||
[Field.name]: Field,
|
||||
[CellGroup.name]: CellGroup,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
name:'',
|
||||
idNo:'',
|
||||
isCaptchaModalShow:false,
|
||||
isNoButtonModalShow: false,
|
||||
mobile:'',
|
||||
oldmobile:'',
|
||||
code:'',
|
||||
countDownNum: 0,
|
||||
uuid: ''
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
async nextStep(){
|
||||
let valid = await this.$validator.validate()
|
||||
if (true === valid) {
|
||||
let params = {
|
||||
idType: "0",
|
||||
idNo: this.idNo,
|
||||
name: this.name
|
||||
}
|
||||
getContractInfo(params).then(res => {
|
||||
if (res.result == 0) {
|
||||
if(res.content.uuid){
|
||||
this.isCaptchaModalShow = true
|
||||
this.uuid = res.content.uuid
|
||||
if(res.content.phone){
|
||||
this.oldmobile = res.content.phone
|
||||
this.mobile = this.dataMaskingMobile(this.oldmobile)
|
||||
}else{
|
||||
this.$toast('当前代理人没有手机号码信息')
|
||||
}
|
||||
}else{
|
||||
this.$toast(res.content.message)
|
||||
}
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
return false
|
||||
}
|
||||
})
|
||||
// this.isNoButtonModalShow = true
|
||||
} else {
|
||||
return this.$toast(this.$validator.errors.all()[0])
|
||||
}
|
||||
},
|
||||
async getCaptcha() {
|
||||
if(!this.oldmobile){
|
||||
this.$toast('当前代理人没有手机号码信息,不能获取验证码');
|
||||
return false
|
||||
}
|
||||
let data = {
|
||||
operateType: 'appntInfoEntry',
|
||||
type: 'H5',
|
||||
operateCode: this.oldmobile,
|
||||
system: 'agentApp',
|
||||
operateCodeType: '0'
|
||||
}
|
||||
// 获取验证码
|
||||
let res = await getAuthCode(data)
|
||||
if (res.result === '0') {
|
||||
this.$toast(res.resultMessage)
|
||||
this.sid = res.sessionId
|
||||
this.countDownNum = 60
|
||||
this.countDownTimer = setInterval(() => {
|
||||
this.countDownNum--
|
||||
if (this.countDownNum <= 0) {
|
||||
clearInterval(this.countDownTimer)
|
||||
this.countDownTimer = null
|
||||
}
|
||||
}, 1000)
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
},
|
||||
async onCaptchaConfirm(){
|
||||
if (!this.sid) {
|
||||
return this.$toast('请先获取验证码')
|
||||
}
|
||||
if (!this.code.trim()) {
|
||||
return this.$toast('请输入验证码')
|
||||
}
|
||||
let res = await checkSignYB({
|
||||
smsId: this.sid,
|
||||
code: this.code
|
||||
})
|
||||
if (res.result === '0') {
|
||||
this.code = ''
|
||||
this.isCaptchaModalShow = false
|
||||
this.$store.commit('updateYBidNo', this.idNo)
|
||||
this.$store.commit('updateYBname', this.name)
|
||||
this.$store.commit('updateYBuuid', this.uuid)
|
||||
this.$router.push({ path: '/YB_agentSign/step2'})
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
},
|
||||
dataMaskingMobile(mobile) {
|
||||
let str = ''
|
||||
if (mobile && mobile.trim().length == 11) {
|
||||
str = mobile.trim().replace(/^(\S{0})(\S*)(\S{4})$/, function(all, u1, u2, u3) {
|
||||
return u1 + new Array(u2.length + 1).join('*') + u3
|
||||
})
|
||||
}
|
||||
return str
|
||||
}
|
||||
},
|
||||
filters: {
|
||||
countDownText(val) {
|
||||
if (isNaN(parseFloat(val))) {
|
||||
return val
|
||||
} else {
|
||||
return `${val} s`
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
/deep/ .van-cell{
|
||||
padding: 18px 15px;
|
||||
}
|
||||
/deep/.van-dialog__confirm{
|
||||
color: #fff!important;
|
||||
background: #e9332e;
|
||||
border-radius: 8px;
|
||||
margin-bottom: 20px;
|
||||
width: 80%;
|
||||
}
|
||||
/deep/.van-field__label{
|
||||
margin-left: 15px;
|
||||
}
|
||||
.text-center{
|
||||
/deep/.van-field__label{
|
||||
margin-left: 15px;
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
.nobutton{
|
||||
/deep/ .van-dialog__footer{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
/deep/ .van-dialog__footer{
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
230
src/views/ebiz/YB_agentSign/step2.vue
Normal file
230
src/views/ebiz/YB_agentSign/step2.vue
Normal file
@@ -0,0 +1,230 @@
|
||||
<template>
|
||||
<div class='insuranceInformation-container pb50 redRadioCheckbox'>
|
||||
<van-notice-bar :scrollable='false' v-if='!Time' class='notice'>
|
||||
{{ `提示:阅读时长需在${this.Time ? this.time : this.number}秒以上` }}
|
||||
</van-notice-bar>
|
||||
<div id="pdf" style="height: 70vh;overflow: scroll;background: #eee;">
|
||||
<div id="pdfH5ID"></div>
|
||||
</div>
|
||||
<van-radio-group v-model='radio' class='pb10 pt20 pl30 fs14'>
|
||||
<van-radio name='1' @click='click'>
|
||||
本人确认已阅读<span>《国富人寿保险股份有限公司委托代理合同》</span>
|
||||
</van-radio>
|
||||
</van-radio-group>
|
||||
<div class='pt30 pl30 flex align-items-c'>
|
||||
<span class='mr10'>代理人签名 :</span>
|
||||
<van-button type='danger' size='small' :disabled="signBtnDisable" @click="sign" v-no-more-click='1000'>
|
||||
{{signInfo.status == '1' ? '签名' : '已签名' }}
|
||||
</van-button>
|
||||
<img v-if="signH5Img" :src="signImgUrl" style="height: 34px;margin-left: 20px;width: auto;"/>
|
||||
</div>
|
||||
<div class='bg-white bottom-btn'>
|
||||
<van-button type='danger' size='large' :disabled='isDisabledComplite' @click='goNext' v-no-more-click='1000'>提交
|
||||
</van-button>
|
||||
</div>
|
||||
<van-popup v-model="signSuccessShow" :close-on-click-overlay="false" round>
|
||||
<div style="width: 300px;height: 150px;text-align: center;">
|
||||
<div style="margin-top: 30px;font-size: 20px;">提交结果</div>
|
||||
<div style="margin-top: 30px;font-size: 16px;display: flex;justify-content: center;align-items: center;">
|
||||
<img src="@/assets/images/ebiz/radio-active.png" style="width: 25px;height: 25px;"/>
|
||||
<span style="margin-left: 15px;">签署成功</span>
|
||||
</div>
|
||||
</div>
|
||||
</van-popup>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { RadioGroup, Radio, Dialog, NoticeBar } from 'vant'
|
||||
import config from '@/config'
|
||||
import { generateAgreementYB, putContractInfo } from '@/api/ebiz/YB_agentSign/YB_agentSign'
|
||||
import Pdfh5 from "pdfh5";
|
||||
export default {
|
||||
data() {
|
||||
let isWeixin = this.$utils.device().isWeixin //判断环境
|
||||
return {
|
||||
time:'10',
|
||||
radio: '',
|
||||
number: '',
|
||||
src: location.origin + '/pdfjs/web/viewer.html?file=',
|
||||
pdfUrl: '',
|
||||
signVal: '2',
|
||||
base64: '',
|
||||
signBtnDisable: true,
|
||||
isDisabledComplite:true,
|
||||
isOver: false,
|
||||
signInfo: {
|
||||
status: '1'
|
||||
},
|
||||
signSuccessShow:false,
|
||||
signImgUrl:'data:image/gif;base64,',
|
||||
signH5Val: '',
|
||||
signH5Img: '',
|
||||
pdfh5: null
|
||||
}
|
||||
},
|
||||
components: {
|
||||
[RadioGroup.name]: RadioGroup,
|
||||
[Radio.name]: Radio,
|
||||
[Dialog.name]: Dialog,
|
||||
[NoticeBar.name]: NoticeBar
|
||||
},
|
||||
created(){
|
||||
this.timeOut()
|
||||
},
|
||||
mounted() {
|
||||
document.body.style.backgroundColor = '#fff'
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
forbidClick: true, // 禁用背景点击
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
})
|
||||
let dataParams = {
|
||||
idType:'0',
|
||||
idNo:this.$store.getters.getYBidNo,
|
||||
name:this.$store.getters.getYBname
|
||||
}
|
||||
generateAgreementYB(dataParams).then(res=>{
|
||||
this.$toast.clear()
|
||||
if(res.result == 0){
|
||||
window.sessionStorage.setItem('signName',this.$store.getters.getYBname)
|
||||
// this.pdfUrl = config.assetsUpUrl + res.content.rgssUrl
|
||||
//实例化
|
||||
this.pdfh5 = new Pdfh5("#pdfH5ID", {
|
||||
pdfurl: config.YB_agenturl + res.content.rgssUrl,
|
||||
// pdfurl: 'https://iagentsales-test2.e-guofu.com/opt/ebiz/webapps/ebiz-epolicy/pdf/2023/08/09/1000001078372351/1000001078372351.pdf',
|
||||
lazy:false,
|
||||
scale:1
|
||||
}).on("complete", function (status, msg, time) { //监听完成事件
|
||||
console.log("状态:" + status + ",信息:" + msg + ",耗时:" + time + "毫秒,总页数:" + this.totalNum)
|
||||
})
|
||||
this.signH5Img = sessionStorage.getItem('signH5Img')
|
||||
if(this.signH5Img){
|
||||
this.$set(this.signInfo, 'status', '2')
|
||||
this.radio = '1'
|
||||
this.Time = true
|
||||
this.isOver = true
|
||||
this.signImgUrl = this.signImgUrl + this.signH5Img
|
||||
}
|
||||
}else{
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
// 点击阅读时
|
||||
click() {
|
||||
let that = this
|
||||
if (that.isOver == false) {
|
||||
Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '该内容涉及您的重大权益,请您仔细阅读',
|
||||
showCancelButton: false
|
||||
}).then(() => {
|
||||
that.radio = ''
|
||||
})
|
||||
}
|
||||
},
|
||||
timeOut() {
|
||||
let that = this
|
||||
let time = that.time
|
||||
that.Time = false
|
||||
that.number = `${time}`
|
||||
let timer = setInterval(() => {
|
||||
time--
|
||||
if (time <= 0) {
|
||||
time = 0
|
||||
clearInterval(timer)
|
||||
|
||||
that.Time = true
|
||||
that.isOver = true
|
||||
// window.localStorage.setItem('step', '1')
|
||||
}
|
||||
that.number = `${time}`
|
||||
}, 1000)
|
||||
},
|
||||
sign() {
|
||||
window.location.href = 'http://'+window.location.host + '/signH5/1.html'
|
||||
},
|
||||
goNext(){
|
||||
// this.signSuccessShow = true
|
||||
// window.localStorage.removeItem('signInfo')
|
||||
let params = {
|
||||
uuid:this.$store.getters.getYBuuid,
|
||||
signInfo: window.sessionStorage.getItem('signH5Val')
|
||||
}
|
||||
putContractInfo(params).then(res=>{
|
||||
if(res.result == 0){
|
||||
this.signSuccessShow = true
|
||||
window.localStorage.removeItem('signInfo')
|
||||
}else{
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
listenChange() {
|
||||
const { isOver, radio, signInfo } = this
|
||||
return { isOver, radio, signInfo }
|
||||
}
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
window.sessionStorage.removeItem('signH5Val')
|
||||
document.body.style.backgroundColor = ''
|
||||
next()
|
||||
},
|
||||
watch: {
|
||||
listenChange(val) {
|
||||
let that = this
|
||||
if (that.signVal == '0' || that.signVal == '2') {
|
||||
if (val.isOver == true && val.radio != '') {
|
||||
that.signBtnDisable = false
|
||||
} else {
|
||||
that.signBtnDisable = true
|
||||
}
|
||||
if (that.radio == '1' && val.signInfo.status == '2') {
|
||||
that.isDisabledComplite = false
|
||||
} else {
|
||||
that.isDisabledComplite = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang='scss' scoped>
|
||||
img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.notice {
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
z-index: 20;
|
||||
}
|
||||
|
||||
.iframe {
|
||||
width: 100vw;
|
||||
height: 70vh;
|
||||
}
|
||||
#pdfH5ID{
|
||||
width: 100vw;
|
||||
}
|
||||
/deep/.viewerContainer{
|
||||
width: 100vw;
|
||||
overflow: inherit;
|
||||
}
|
||||
/deep/ .pageNum{
|
||||
display: none!important;
|
||||
}
|
||||
/deep/ .pageContainer{
|
||||
margin: 2vw;
|
||||
background: #fff;
|
||||
img{
|
||||
width: 96vw;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
702
src/views/ebiz/YB_agentSign/step3.vue
Normal file
702
src/views/ebiz/YB_agentSign/step3.vue
Normal file
@@ -0,0 +1,702 @@
|
||||
<template>
|
||||
<div class="sale-list-container pb50 text-center" v-if="isCheck == 1">
|
||||
<p class="f10 gray mt60">您暂无使用权限!</p>
|
||||
<p class="f10 gray mt5">如有问题咨询,请联系个险业务部。</p>
|
||||
</div>
|
||||
<div class="sale-list-container pb50" v-else-if="isCheck == 0">
|
||||
<van-search placeholder="请输入投保人姓名" v-model="searchName" @change="searchList" @keyup.enter="searchList" />
|
||||
<van-sticky>
|
||||
<van-tabs :line-width="45" v-model="active" @change="tabChange" sticky>
|
||||
<van-tab name="uncommit" title="未提交"></van-tab>
|
||||
<van-tab name="commit" title="已提交"></van-tab>
|
||||
<van-tab name="waitUnderwritten" title="待承保"></van-tab>
|
||||
</van-tabs>
|
||||
</van-sticky>
|
||||
|
||||
<van-list
|
||||
v-model="loading"
|
||||
:immediate-check="false"
|
||||
:finished="finished"
|
||||
:finished-text="finishedText"
|
||||
error-text="请求失败,点击重新加载"
|
||||
:error.sync="error"
|
||||
@load="loadMore"
|
||||
class="pb45"
|
||||
>
|
||||
<div v-if="isSuccess">
|
||||
<div v-if="saleList.length > 0">
|
||||
<div v-for="(order, index) in saleList" :key="index">
|
||||
<div class="fs12 mt20 mb5 text-center">{{ order.orderInfoDTO.createDate }}</div>
|
||||
<div class="bg-white m15 pv15 pr15 pl10">
|
||||
<div class="flex justify-content-s align-items-c">
|
||||
<div>
|
||||
<div class="w45 inline-b">
|
||||
<van-tag plain color="#5CA7DE">投保</van-tag>
|
||||
</div>
|
||||
<span class="fs15 c-gray-dark">{{ order.appntDTO.name }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-for="(insured, insuredIndex) in order.insuredDTOs" :key="insuredIndex">
|
||||
<div class="mv15">
|
||||
<div class="w45 inline-b">
|
||||
<van-tag plain color="#DD9C56">被保</van-tag>
|
||||
</div>
|
||||
<span class="fs15 c-gray-dark">{{ insured.name }}</span>
|
||||
</div>
|
||||
<div v-for="(main, mainIndex) in insured.mainRisk" :key="mainIndex">
|
||||
<div class="mv10">
|
||||
<span class="w45 inline-b">
|
||||
<van-tag plain type="danger">主险</van-tag>
|
||||
</span>
|
||||
<span class="fs15 c-gray-dark">{{ main.riskName }}</span>
|
||||
</div>
|
||||
<div class="mv10 pl45 flex" v-for="(addtional, addtionIndex) in main.addtion" :key="addtionIndex">
|
||||
<span class="mr10" style="flex-shrink: 0">
|
||||
<van-tag mark color="#DDF2EF" text-color="#E9332E">附加</van-tag>
|
||||
</span>
|
||||
<span class="fs13">{{ addtional.riskName }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex fs15 justify-content-s mt15 mb15">
|
||||
<span class="c-gray-darker fwb">首期总保费(元)</span>
|
||||
<span class="yellow fwb">{{ order.firstPrem == 0 ? '0.00' : order.firstPrem | moneyFormat }}</span>
|
||||
</div>
|
||||
<div class="pt15" v-if="active == 'commit' || active == 'waitUnderwritten'" style="border-top:1px solid #dadada">
|
||||
<div>
|
||||
<div class="w80 inline-b">
|
||||
<van-tag plain color="#999999">投保单号</van-tag>
|
||||
</div>
|
||||
<span class="fs14 c-gray-dark">{{ order.orderInfoDTO.orderNo }}</span>
|
||||
</div>
|
||||
<div class="mt10">
|
||||
<div class="w80 inline-b">
|
||||
<van-tag plain color="#999999">状态</van-tag>
|
||||
</div>
|
||||
<span class="fs14 c-gray-dark">{{ order.stateName }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!!order.orderInfoDTO.doubleFlag && order.orderInfoDTO.doubleFlag == '0'" class="fs12 mt15">
|
||||
温馨提示:本投保单满足双录条件,需要双录质检通过后才能承保。
|
||||
</div>
|
||||
|
||||
<div class="text-right mt15 ">
|
||||
<van-button v-if="active == 'uncommit'" round @click="goDetail(order)" size="small" class="mr5" type="danger" v-no-more-click="1000"
|
||||
>编辑</van-button
|
||||
>
|
||||
<van-button
|
||||
v-if="active == 'uncommit'"
|
||||
plain
|
||||
round
|
||||
@click.stop="del(order, index)"
|
||||
size="small"
|
||||
class="mr5"
|
||||
type="danger"
|
||||
v-no-more-click="1000"
|
||||
>删除</van-button
|
||||
>
|
||||
<van-button
|
||||
@click="againPay(order)"
|
||||
v-if="active == 'commit' && order.orderInfoDTO.orderStatus == '19'"
|
||||
size="small"
|
||||
class="mr5"
|
||||
type="danger"
|
||||
round
|
||||
>重新支付</van-button
|
||||
>
|
||||
<van-button
|
||||
@click="changeCard(order)"
|
||||
v-if="(active == 'commit' && order.orderInfoDTO.orderStatus == '48') || (active == 'commit' && order.orderInfoDTO.orderStatus == '49')"
|
||||
size="small"
|
||||
class="mr5"
|
||||
type="danger"
|
||||
round
|
||||
>修改卡号</van-button
|
||||
>
|
||||
<template v-if="active == 'commit' && order.orderInfoDTO.orderStatus == '55'">
|
||||
<van-button @click="changeCard(order)" size="small" class="mr5" type="danger" round>修改卡号</van-button>
|
||||
<van-button @click="againPay(order)" size="small" class="mr5" type="danger" round>重新支付</van-button>
|
||||
</template>
|
||||
<template v-if="active == 'commit' && (order.orderInfoDTO.orderStatus == '02' || order.orderInfoDTO.orderStatus == '58')">
|
||||
<van-button @click="goPay(order)" size="small" class="mr5" type="danger" round>去支付</van-button>
|
||||
</template>
|
||||
<!-- doubleFlag 1-否 0-是,doubleFlag为0双录时,canRevokeDouble加 orderStatus 16 -->
|
||||
<van-button
|
||||
@click="revokeOrder(order)"
|
||||
v-if="active == 'commit' && ((canRevoke[order.orderInfoDTO.orderStatus] && (order.orderInfoDTO.doubleFlag == '1' || order.orderInfoDTO.doubleFlag == null || order.orderInfoDTO.doubleFlag == ''))
|
||||
|| (canRevokeDouble[order.orderInfoDTO.orderStatus] && order.orderInfoDTO.doubleFlag == '0'))"
|
||||
size="small"
|
||||
class="mr5"
|
||||
type="danger"
|
||||
round
|
||||
>撤单</van-button
|
||||
>
|
||||
<van-button @click="seePolicy(order)" v-if="active == 'commit'" size="small" type="danger" round>查看投保单</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-else class="text-center">
|
||||
<img class="mt40" src="@/assets/images/pic_page-non.png" />
|
||||
<div class="fs17 mt40">暂无订单</div>
|
||||
</div>
|
||||
</div>
|
||||
</van-list>
|
||||
|
||||
<van-button type="danger" class="bottom-btn" @click="add" v-no-more-click="1000">点我新增</van-button>
|
||||
<van-dialog
|
||||
class="dialog-delete"
|
||||
@confirm="checkCaptchaCode"
|
||||
@cancel="cancelCaptchaCode"
|
||||
:before-close="beforeClose"
|
||||
confirm-button-color="#fff"
|
||||
v-model="revokePanelShow"
|
||||
title="短信验证"
|
||||
show-cancel-button
|
||||
>
|
||||
<p class="captchaReceiver">投保人手机号: {{ captchaReceiver | phoneNumFilter }}</p>
|
||||
<van-field v-model="sms" center clearable placeholder="请输入短信验证码">
|
||||
<template #button>
|
||||
<van-button :disabled="sendTime !== 0" v-no-more-click="1000" @click="getCaptchaCode" size="small" type="danger">{{
|
||||
sendTime ? `${sendTime}s后获取` : '获取验证码'
|
||||
}}</van-button>
|
||||
</template>
|
||||
</van-field>
|
||||
</van-dialog>
|
||||
|
||||
<!-- 短信验证 -->
|
||||
<check-agent @checModelSuccessMethod="initThisPage" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Search, Tabs, Tab, List, Tag, Sticky, Toast, Dialog, Field } from 'vant'
|
||||
import { orderList, deleteOrderInfo, getAuthCode, revokeOrder } from '@/api/ebiz/sale/sale'
|
||||
import { funcPermCheck } from '@/api/ebiz/common/common'
|
||||
import { formatRiskList } from '@/assets/js/utils/formatRiskList.js'
|
||||
import dataDictionary from '@/assets/js/utils/data-dictionary' //根据数据字典找到用户等级
|
||||
import CheckAgent from '@/components/common/CheckAgent'
|
||||
|
||||
export default {
|
||||
name: 'saleList',
|
||||
components: {
|
||||
[CheckAgent.name]: CheckAgent,
|
||||
[Field.name]: Field,
|
||||
[Search.name]: Search,
|
||||
[Tabs.name]: Tabs,
|
||||
[Tab.name]: Tab,
|
||||
[List.name]: List,
|
||||
[Tag.name]: Tag,
|
||||
[Sticky.name]: Sticky,
|
||||
[Dialog.name]: Dialog
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isCheck: 0, //查看是否有权限
|
||||
showFlag: true,
|
||||
searchName: '',
|
||||
active: 'uncommit', //uncommit 表示未提交 commit表示已提交
|
||||
saleList: [],
|
||||
loading: false,
|
||||
finished: false,
|
||||
total: '', //总页数
|
||||
currentPage: 1, //当前页数
|
||||
error: false,
|
||||
finishedText: '没有更多了',
|
||||
pageSize: 5, //每页数据条数
|
||||
isSuccess: false,
|
||||
canRevoke: {
|
||||
'19': true,
|
||||
'02': true,
|
||||
'48': true,
|
||||
'49': true,
|
||||
'55': true,
|
||||
'58': true,
|
||||
'46': true,
|
||||
'50': true,
|
||||
'51': true
|
||||
},
|
||||
canRevokeDouble: {
|
||||
'19': true,
|
||||
'02': true,
|
||||
'48': true,
|
||||
'49': true,
|
||||
'55': true,
|
||||
'58': true,
|
||||
'46': true,
|
||||
'50': true,
|
||||
'51': true,
|
||||
'16': true,
|
||||
},
|
||||
revokePanelShow: false,
|
||||
sms: '',
|
||||
smsId: '',
|
||||
sendTime: 0,
|
||||
getCaptcha: false,
|
||||
captchaTimer: null,
|
||||
captchaReceiver: '',
|
||||
revokeOrderNo: '',
|
||||
captchaMaped: false
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
setTimeout(() => {
|
||||
// eslint-disable-next-line no-undef
|
||||
EWebBridge.webCallAppInJs('webview_left_button', {
|
||||
intercept: '1' //是否拦截原生返回事件 1是 其他否
|
||||
})
|
||||
}, 100)
|
||||
window.appCallBack = this.appCallBack
|
||||
funcPermCheck({}).then(res => {
|
||||
this.isCheck = res.result
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
beforeClose(action, done) {
|
||||
this.captchaMaped ? done() : done(false)
|
||||
},
|
||||
async getCaptchaCode() {
|
||||
if (this.sendTime !== 0) return
|
||||
this.getCaptcha = true
|
||||
this.sendTime = 60
|
||||
let data = {
|
||||
operateType: 'appntInfoEntry',
|
||||
type: 'H5',
|
||||
operateCode: this.captchaReceiver,
|
||||
system: 'agentApp',
|
||||
operateCodeType: '0'
|
||||
}
|
||||
let res = await getAuthCode(data)
|
||||
if (res.result === '0') {
|
||||
this.$toast('获取验证码成功')
|
||||
}
|
||||
this.smsId = res.sessionId
|
||||
this.captchaTimer = setInterval(() => {
|
||||
this.sendTime--
|
||||
if (this.sendTime === 0) {
|
||||
clearInterval(this.captchaTimer)
|
||||
this.captchaTimer = null
|
||||
}
|
||||
}, 1000)
|
||||
},
|
||||
async checkCaptchaCode() {
|
||||
if (!this.getCaptcha) {
|
||||
return this.$toast('请先获取验证码')
|
||||
}
|
||||
if (!this.sms.trim()) {
|
||||
return this.$toast('请输入验证码')
|
||||
}
|
||||
clearInterval(this.captchaTimer)
|
||||
this.captchaTimer = null
|
||||
let revokeResult = await revokeOrder({
|
||||
id: this.revokeOrderNo,
|
||||
smsId: this.smsId,
|
||||
code: this.sms
|
||||
})
|
||||
if (revokeResult.result == 0) {
|
||||
this.$toast('撤单成功!')
|
||||
setTimeout(() => {
|
||||
this.saleList = []
|
||||
this.isSuccess = false
|
||||
this.currentPage = 1
|
||||
;[this.loading, this.finished] = [true, false]
|
||||
let pageInfo = {
|
||||
pageNum: this.currentPage,
|
||||
pageSize: this.pageSize,
|
||||
orderType: this.active
|
||||
}
|
||||
this.loadMore(pageInfo)
|
||||
}, 1000)
|
||||
} else {
|
||||
Toast.fail(revokeResult.resultMessage)
|
||||
}
|
||||
this.cancelCaptchaCode()
|
||||
this.sms = ''
|
||||
},
|
||||
cancelCaptchaCode() {
|
||||
this.sendTime = 0
|
||||
this.revokePanelShow = false
|
||||
clearInterval(this.captchaTimer)
|
||||
this.captchaTimer = null
|
||||
this.getCaptcha = false
|
||||
this.captchaMaped = false
|
||||
this.captchaReceiver = ''
|
||||
},
|
||||
initThisPage(showFlag) {
|
||||
this.showFlag = showFlag
|
||||
if (this.showFlag) {
|
||||
return
|
||||
}
|
||||
this.loadMore()
|
||||
},
|
||||
appCallBack(data) {
|
||||
if (data.trigger == 'left_button_click') {
|
||||
this.$jump({
|
||||
flag: 'home'
|
||||
})
|
||||
}
|
||||
},
|
||||
//分页用
|
||||
loadMore() {
|
||||
if (this.showFlag) {
|
||||
return
|
||||
}
|
||||
let pageInfo = {
|
||||
pageNum: this.currentPage,
|
||||
pageSize: this.pageSize,
|
||||
orderType: this.active,
|
||||
name: this.searchName,
|
||||
desensitizType: this.active === 'uncommit' ? 1 : 0
|
||||
}
|
||||
this.getOrderList(pageInfo)
|
||||
},
|
||||
//再次支付
|
||||
againPay(order) {
|
||||
localStorage.orderNo = order.orderInfoDTO.orderNo
|
||||
// 再次支付 salelist为 0
|
||||
localStorage.salelist = '0'
|
||||
localStorage.removeItem('changeCard')
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/payMent?orderNo=' + order.orderInfoDTO.orderNo
|
||||
},
|
||||
routerInfo: { path: '/sale/payMent?orderNo=' + order.orderInfoDTO.orderNo }
|
||||
})
|
||||
},
|
||||
//支付失败去换卡
|
||||
changeCard(order) {
|
||||
let url = ''
|
||||
let orderStatus = order.orderInfoDTO.orderStatus
|
||||
localStorage.orderNo = order.orderInfoDTO.orderNo
|
||||
if (order.insuredDTOs[0].riskDTOLst[0]) {
|
||||
localStorage.setItem('productCode', order.insuredDTOs[0].riskDTOLst[0].mainRiskCode)
|
||||
}
|
||||
localStorage.setItem('changeCard', true)
|
||||
switch (orderStatus) {
|
||||
case '55': //账户信息页
|
||||
url = '/sale/AccountInformation?orderNo=' + order.orderInfoDTO.orderNo
|
||||
break
|
||||
case '48': //账户信息填写成功,跳到影像上传页
|
||||
url = '/sale/AttachmentManagement?orderNo=' + order.orderInfoDTO.orderNo
|
||||
break
|
||||
case '49': //影像上传页填写成功,跳到银行卡号确认页
|
||||
url = '/sale/SignatureConfirmation?orderNo=' + order.orderInfoDTO.orderNo
|
||||
break
|
||||
}
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + `/#${url}`
|
||||
},
|
||||
routerInfo: { path: url }
|
||||
})
|
||||
},
|
||||
//去支付
|
||||
goPay(order) {
|
||||
localStorage.orderNo = order.orderInfoDTO.orderNo
|
||||
localStorage.setItem('AppntidType', order.appntDTO.idType)
|
||||
localStorage.salelist = '1'
|
||||
localStorage.removeItem('changeCard')
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/payMent?orderNo=' + order.orderInfoDTO.orderNo
|
||||
},
|
||||
routerInfo: { path: '/sale/payMent?orderNo=' + order.orderInfoDTO.orderNo }
|
||||
})
|
||||
},
|
||||
//查看保单
|
||||
seePolicy(order) {
|
||||
localStorage.orderNo = order.orderInfoDTO.orderNo
|
||||
localStorage.removeItem('changeCard')
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/detail?type=1&orderNo=' + order.orderInfoDTO.orderNo
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/detail?orderNo=' + order.orderInfoDTO.orderNo,
|
||||
query: {
|
||||
type: 1
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
//初始化保单列表
|
||||
getOrderList(pageInfo) {
|
||||
orderList(pageInfo).then(res => {
|
||||
if (res.result == '0') {
|
||||
this.isSuccess = true
|
||||
this.currentPage++
|
||||
if (res.orderDTOPageInfo == null || res.orderDTOPageInfo == '' || res.orderDTOPageInfo == undefined) {
|
||||
this.finished = true
|
||||
this.loading = false
|
||||
this.finishedText = ''
|
||||
return
|
||||
}
|
||||
let list = res.orderDTOPageInfo.list
|
||||
if (list.length == 0) {
|
||||
this.finishedText = ''
|
||||
} else {
|
||||
this.finishedText = '已经全部加载'
|
||||
}
|
||||
list = formatRiskList(list, 'insuredDTOs', 'riskDTOLst') //根据后面两个参数 来格式化数据
|
||||
dataDictionary.policyState.forEach(state => {
|
||||
list.forEach(order => {
|
||||
if (state.id == order.orderInfoDTO.orderStatus) {
|
||||
order.stateName = state.text
|
||||
}
|
||||
})
|
||||
})
|
||||
this.saleList = this.saleList.concat(list)
|
||||
if (this.saleList.length == 0) {
|
||||
this.isSuccess = false
|
||||
}
|
||||
this.loading = false
|
||||
if (res.orderDTOPageInfo.nextPage == 0) {
|
||||
//当下一页为0时 表示全部数据加载完毕
|
||||
this.finished = true
|
||||
}
|
||||
} else {
|
||||
this.finished = true
|
||||
this.loading = false
|
||||
this.finishedText = res.resultMessage
|
||||
}
|
||||
})
|
||||
},
|
||||
tabChange(name) {
|
||||
this.currentPage = 1
|
||||
this.active = name
|
||||
this.saleList = []
|
||||
;[this.loading, this.finished] = [true, false]
|
||||
this.finishedText = '正在加载...'
|
||||
this.loadMore()
|
||||
},
|
||||
searchList() {
|
||||
this.currentPage = 1
|
||||
this.saleList = []
|
||||
;[this.loading, this.finished] = [true, false]
|
||||
this.finishedText = '正在加载...'
|
||||
this.loadMore()
|
||||
},
|
||||
//投保单详情
|
||||
goDetail(order) {
|
||||
let thisToken = this.$CacheUtils.getLocItem('token')
|
||||
window.localStorage.clear()
|
||||
this.$CacheUtils.setLocItem('token', thisToken)
|
||||
window.localStorage.setItem('detailJump', '')
|
||||
if (order.insuredDTOs[0]) {
|
||||
if (order.insuredDTOs[0].riskDTOLst[0]) {
|
||||
localStorage.setItem('productCode', order.insuredDTOs[0].riskDTOLst[0].mainRiskCode)
|
||||
}
|
||||
}
|
||||
let orderStatus = order.orderInfoDTO.orderStatus
|
||||
let orderNo = order.orderInfoDTO.orderNo
|
||||
let url = ''
|
||||
//保存对应的订单号
|
||||
localStorage.orderNo = orderNo
|
||||
localStorage.isFrom = 'sale'
|
||||
localStorage.removeItem('changeCard')
|
||||
if(orderStatus == '01'){ //已签名待客户确认, 跳到签名确认页面
|
||||
url = '/sale/SignatureConfirmation?edit=1&orderNo='+orderNo
|
||||
}else if(orderStatus == '43'){//未签名待客户确认, 跳到签名确认页面
|
||||
url = '/sale/SignatureConfirmation?edit=1&orderNo='+orderNo
|
||||
}else if(orderStatus == '35'){//投保人保存成功, 跳到被保险人页面
|
||||
url = '/sale/insuredPerson?edit=1&orderNo='+orderNo
|
||||
}else if(orderStatus == '36'){//被保险人保存成功, 跳到已选产品列表
|
||||
url = '/common/selectedProduct?edit=1&orderNo='+orderNo
|
||||
}else if(orderStatus == '37'){//受益人保存成功, 跳到告知信息--
|
||||
url = '/sale/NotifyingMessage?edit=1&orderNo='+orderNo
|
||||
}else if(orderStatus == '38'){ //账户信息保存成功, 跳到附件管理--
|
||||
url = '/sale/AttachmentManagement?edit=1&orderNo='+orderNo
|
||||
}else if(orderStatus == '39'){ //险种信息保存成功, 跳到已选产品列表
|
||||
url = '/common/selectedProduct?edit=1&orderNo='+orderNo
|
||||
}else if(orderStatus == '40'){//告知信息保存成功, 跳到风险测评--
|
||||
if( order.riskEvaluationDTO.isShowEvaluationPoint != '1'){
|
||||
if(order.universalRiskNotifyDTO && order.universalRiskNotifyDTO.isUniversalRiskNotifyShowPoint == '1'){
|
||||
url = '/sale/universalRiskNotifyingMessage?edit=1&orderNo='+orderNo
|
||||
}else{
|
||||
url = '/sale/AccountInformation?edit=1&orderNo='+orderNo
|
||||
}
|
||||
}else {
|
||||
url = '/sale/answerPage?edit=1&orderNo='+orderNo
|
||||
}
|
||||
}else if(orderStatus == ''){//跳到投保人
|
||||
url = '/sale/insuredInfo?edit=1&orderNo='+orderNo
|
||||
}else if(orderStatus == '44'){//建议书转投保, 跳到投保人
|
||||
url = '/sale/insuredInfo?edit=1&orderNo='+orderNo
|
||||
}else if(orderStatus == '62'){//风险测评保存成功, 跳到账户信息--
|
||||
if(order.universalRiskNotifyDTO && order.universalRiskNotifyDTO.isUniversalRiskNotifyShowPoint != '1'){
|
||||
url = '/sale/AccountInformation?edit=1&orderNo='+orderNo
|
||||
}else{
|
||||
url = '/sale/universalRiskNotifyingMessage?edit=1&orderNo='+orderNo
|
||||
}
|
||||
}else if(orderStatus == '63'){//风险测评保存成功, 跳到账户信息--
|
||||
url = '/sale/AccountInformation?edit=1&orderNo='+orderNo
|
||||
}
|
||||
// switch (orderStatus) {
|
||||
// case '01': //已签名待客户确认, 跳到签名确认页面
|
||||
// url = '/sale/SignatureConfirmation?edit=1'
|
||||
// break
|
||||
// case '43': //未签名待客户确认, 跳到签名确认页面
|
||||
// url = '/sale/SignatureConfirmation?edit=1'
|
||||
// break
|
||||
// case '35': //投保人保存成功, 跳到被保险人页面--
|
||||
// url = '/sale/insuredPerson?edit=1'
|
||||
// break
|
||||
// case '36': //被保险人保存成功, 跳到已选产品列表
|
||||
// url = '/common/selectedProduct?edit=1'
|
||||
// break
|
||||
// case '37': //受益人保存成功, 跳到告知信息--
|
||||
// url = '/sale/NotifyingMessage?edit=1'
|
||||
// break
|
||||
// case '38': //账户信息保存成功, 跳到附件管理--
|
||||
// url = '/sale/AttachmentManagement?edit=1'
|
||||
// break
|
||||
// case '39': //险种信息保存成功, 跳到已选产品列表
|
||||
// url = '/common/selectedProduct?edit=1'
|
||||
// break
|
||||
// case '40': //告知信息保存成功, 跳到风险测评--
|
||||
// url = '/sale/answerPage?edit=1'
|
||||
// break
|
||||
// case '': //跳到投保人
|
||||
// url = '/sale/insuredInfo?edit=1'
|
||||
// break
|
||||
// case '44': //建议书转投保, 跳到投保人
|
||||
// url = '/sale/insuredInfo?edit=1'
|
||||
// break
|
||||
// case '62': //风险测评保存成功, 跳到账户信息--
|
||||
// // url = '/sale/AccountInformation?edit=1'
|
||||
// url = '/sale/answerSuccess?edit=1'
|
||||
// break
|
||||
// default:
|
||||
// break
|
||||
// }
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
forbidSwipeBack: '1',
|
||||
url: location.origin + `/#${url}`
|
||||
},
|
||||
routerInfo: { path: url }
|
||||
})
|
||||
},
|
||||
//删除投保单
|
||||
del(order) {
|
||||
let params = {
|
||||
orderType: 'DEL_ORDER', //列表页 此值为固定
|
||||
id: order.orderInfoDTO.orderNo,
|
||||
orderDTO: {
|
||||
orderInfo: {
|
||||
orderNo: order.orderNo
|
||||
}
|
||||
}
|
||||
}
|
||||
this.$dialog
|
||||
.confirm({
|
||||
className: 'dialog-delete',
|
||||
title: '提示',
|
||||
message: '确认删除投保单吗?',
|
||||
cancelButtonColor: '#E9332E',
|
||||
confirmButtonColor: '#FFFFFF'
|
||||
})
|
||||
.then(() => {
|
||||
deleteOrderInfo(params).then(res => {
|
||||
if (res.result == 0) {
|
||||
this.saleList = []
|
||||
this.isSuccess = false
|
||||
this.currentPage = 1
|
||||
;[this.loading, this.finished] = [true, false]
|
||||
let pageInfo = {
|
||||
pageNum: this.currentPage,
|
||||
pageSize: this.pageSize,
|
||||
orderType: this.active
|
||||
}
|
||||
this.loadMore(pageInfo)
|
||||
} else {
|
||||
Toast.fail(res.resultMessage)
|
||||
}
|
||||
})
|
||||
})
|
||||
.catch(() => {})
|
||||
},
|
||||
//新增
|
||||
add() {
|
||||
let thisToken = this.$CacheUtils.getLocItem('token')
|
||||
window.localStorage.clear()
|
||||
this.$CacheUtils.setLocItem('token', thisToken)
|
||||
localStorage.orderNo = ''
|
||||
localStorage.chooseProductCodes = '' //置空所选险种
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/insuredInfo'
|
||||
},
|
||||
routerInfo: { path: '/sale/insuredInfo' }
|
||||
})
|
||||
},
|
||||
revokeOrder(order) {
|
||||
console.dir(order)
|
||||
this.$dialog
|
||||
.confirm({
|
||||
className: 'dialog-delete',
|
||||
title: '提示',
|
||||
message: '撤单后,数据将不可恢复,您确定要撤单吗?',
|
||||
cancelButtonColor: '#E9332E',
|
||||
confirmButtonColor: '#FFFFFF'
|
||||
})
|
||||
.then(() => {
|
||||
this.revokePanelShow = true
|
||||
this.captchaReceiver = order.appntDTO.mobile
|
||||
this.revokeOrderNo = order.orderInfoDTO.orderNo
|
||||
})
|
||||
}
|
||||
},
|
||||
filters: {
|
||||
encryCheckModelMobile(code) {
|
||||
return code.replace(/^(\d{3})\d{4}(\d{4})$/, '$1****$2')
|
||||
},
|
||||
phoneNumFilter(phoneNum) {
|
||||
let num = phoneNum.split('')
|
||||
num.splice(3, 4, '****')
|
||||
return num.join('')
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
/deep/ .dialog-delete .van-dialog__header {
|
||||
padding: 0.5em;
|
||||
margin-bottom: 0;
|
||||
border-bottom: 1px solid #eaeaea;
|
||||
}
|
||||
|
||||
/deep/ .van-cell {
|
||||
padding: 0;
|
||||
padding-bottom: 0.5em;
|
||||
border-bottom: 1px solid #eaeaea;
|
||||
}
|
||||
|
||||
/deep/ .van-dialog__content {
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
.captchaReceiver {
|
||||
margin-bottom: 1em;
|
||||
padding-bottom: 1em;
|
||||
border-bottom: 1px solid #eaeaea;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.van-search__content {
|
||||
background: #fff !important;
|
||||
border-radius: 10px;
|
||||
}
|
||||
.van-search {
|
||||
background: none !important;
|
||||
}
|
||||
</style>
|
||||
@@ -329,6 +329,7 @@ export default {
|
||||
let orderStatus = order.orderStatus
|
||||
console.log(order.orderStatus,'fdkfa')
|
||||
let cardOrderNo = order.orderNo
|
||||
localStorage.setItem('orderNo', JSON.stringify(cardOrderNo))
|
||||
let url
|
||||
if(orderStatus == '59'){
|
||||
url =`/cardList/GroupAppntInfo?cardOrderNo=${cardOrderNo}&editOrder=1`
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -194,7 +194,7 @@ export default {
|
||||
getAgentInfo({}).then(
|
||||
res => {
|
||||
if (res.result == 0) {
|
||||
flag.manageComCode = res.manageComCode.substring(2, 4)
|
||||
flag.manageComCode = res.manageComCode ? res.manageComCode.substring(2, 4) : ''
|
||||
flag.jobNo = res.jobNo
|
||||
// branchType N1、1代表个险渠道 和 N5、5 代表中介渠道,N代表内勤
|
||||
if (res.branchType == 'N1' || res.branchType == '1') {
|
||||
|
||||
@@ -3,24 +3,24 @@
|
||||
<!-- 基本信息 -->
|
||||
<p class="title pl10 pv12 mt10">基本信息</p>
|
||||
<van-field
|
||||
v-model="userInfo.customerName"
|
||||
required
|
||||
clearable
|
||||
label="姓名"
|
||||
name="姓名"
|
||||
placeholder="请输入"
|
||||
v-validate="'required|name'"
|
||||
v-model="userInfo.customerName"
|
||||
required
|
||||
clearable
|
||||
label="姓名"
|
||||
name="姓名"
|
||||
placeholder="请输入"
|
||||
v-validate="'required|name'"
|
||||
/>
|
||||
<van-field
|
||||
v-model="userInfo.customerPhone"
|
||||
required
|
||||
clearable
|
||||
label="移动电话"
|
||||
name="移动电话"
|
||||
placeholder="请输入"
|
||||
maxlength="11"
|
||||
type="tel"
|
||||
v-validate="'required|mobile'"
|
||||
v-model="userInfo.customerPhone"
|
||||
required
|
||||
clearable
|
||||
label="移动电话"
|
||||
name="移动电话"
|
||||
placeholder="请输入"
|
||||
maxlength="11"
|
||||
type="tel"
|
||||
v-validate="'required|mobile'"
|
||||
/>
|
||||
<form-block :userInfo="userInfo" ref="formBlock"></form-block>
|
||||
<van-button type="danger" class="bottom-btn" @click="save" v-no-more-click="1000">保存</van-button>
|
||||
@@ -28,303 +28,307 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Field, CellGroup, Cell } from 'vant'
|
||||
import { updateCustomerInfo } from '@/api/ebiz/customer/customer'
|
||||
import formBlock from '@/components/ebiz/customer/formBlock'
|
||||
import { Field, CellGroup, Cell, RadioGroup, Radio, } from 'vant'
|
||||
import { updateCustomerInfo } from '@/api/ebiz/customer/customer'
|
||||
import formBlock from '@/components/ebiz/customer/formBlock'
|
||||
|
||||
export default {
|
||||
name: 'addCustomer',
|
||||
components: {
|
||||
[Field.name]: Field,
|
||||
[CellGroup.name]: CellGroup,
|
||||
[Cell.name]: Cell,
|
||||
[formBlock.name]: formBlock
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
userInfo: {
|
||||
customerName: '', //姓名
|
||||
customerPhone: '', // 手机号
|
||||
customerSex: '0', //性别
|
||||
nativeplace: '1', //国家地区
|
||||
province: '', //户籍省
|
||||
city: '', //户籍市
|
||||
birthday: '', //出生日期
|
||||
idType: '1', //证件类型
|
||||
customerIdNumber: '', //证件号码
|
||||
certificateValidate: '', //证件起始日期
|
||||
certiexpiredate: '', //证件到期时间
|
||||
effectiveDateType: false, //是否长期
|
||||
email: '', //电子邮箱
|
||||
stature: '', //身高
|
||||
weight: '', //体重,
|
||||
customerType: '0', //客户类别
|
||||
customerSource: '-1', //客户来源
|
||||
degree: '', //文化程度
|
||||
socialSecurity: '0', //有无社保
|
||||
taxIdentity: '1', //税收居民身份
|
||||
occupationCode: '', //职业类别
|
||||
occupationName: '',
|
||||
lifeGrade: '', //寿险等级
|
||||
healthGrade: '', //健康等级
|
||||
averageYearlyIncome: '', //平均年收入
|
||||
liabilitiesMoney: '', //负债金额
|
||||
workUnits: '', //工作单位
|
||||
workCondition: '', //在职情况
|
||||
companyProvince: '', //单位省
|
||||
companyCity: '', //单位市
|
||||
companyArea: '', //单位区
|
||||
companyAddress: '', //单位详细地址
|
||||
companyZip: '', //单位邮编
|
||||
companyPhone: '', //单位电话
|
||||
marriage: '', //婚姻状况
|
||||
familyAnnualIncome: '', //家庭年收入
|
||||
homeProvince: '', //家庭省
|
||||
homeCity: '', //家庭市
|
||||
homeArea: '', //家庭区
|
||||
homeAddress: '', //家庭详细地址
|
||||
homeZip: '', //家庭邮编
|
||||
homePhone: '' //家庭电话
|
||||
export default {
|
||||
name: 'addCustomer',
|
||||
components: {
|
||||
[Field.name]: Field,
|
||||
[CellGroup.name]: CellGroup,
|
||||
[Cell.name]: Cell,
|
||||
[formBlock.name]: formBlock
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
userInfo: {
|
||||
customerName: '', //姓名
|
||||
customerPhone: '', // 手机号
|
||||
customerSex: '0', //性别
|
||||
nativeplace: '1', //国家地区
|
||||
province: '', //户籍省
|
||||
city: '', //户籍市
|
||||
birthday: '', //出生日期
|
||||
idType: '1', //证件类型
|
||||
customerIdNumber: '', //证件号码
|
||||
certificateValidate: '', //证件起始日期
|
||||
certiexpiredate: '', //证件到期时间
|
||||
effectiveDateType: false, //是否长期
|
||||
email: '', //电子邮箱
|
||||
stature: '', //身高
|
||||
weight: '', //体重,
|
||||
customerType: '0', //客户类别
|
||||
customerSource: '-1', //客户来源
|
||||
degree: '', //文化程度
|
||||
socialSecurity: '0', //有无社保
|
||||
taxIdentity: '1', //税收居民身份
|
||||
occupationCode: '', //职业类别
|
||||
occupationName: '',
|
||||
lifeGrade: '', //寿险等级
|
||||
healthGrade: '', //健康等级
|
||||
averageYearlyIncome: '', //平均年收入
|
||||
liabilitiesMoney: '', //负债金额
|
||||
workUnits: '', //工作单位
|
||||
workCondition: '', //在职情况
|
||||
companyProvince: '', //单位省
|
||||
companyCity: '', //单位市
|
||||
companyArea: '', //单位区
|
||||
companyAddress: '', //单位详细地址
|
||||
companyZip: '', //单位邮编
|
||||
companyPhone: '', //单位电话
|
||||
marriage: '', //婚姻状况
|
||||
familyAnnualIncome: '', //家庭年收入
|
||||
homeProvince: '', //家庭省
|
||||
homeCity: '', //家庭市
|
||||
homeArea: '', //家庭区
|
||||
homeAddress: '', //家庭详细地址
|
||||
homeZip: '', //家庭邮编
|
||||
homePhone: '', //家庭电话
|
||||
isNewPeopleFlag: '', //新市民身份
|
||||
npType: '', //新市民类型
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
//this.filterBtn() //按钮初始化
|
||||
//window.appCallBack = this.appCallBack //app回调
|
||||
},
|
||||
methods: {
|
||||
// filterBtn() {
|
||||
// EWebBridge.webCallAppInJs('webview_right_button', {
|
||||
// btns: [
|
||||
// {
|
||||
// // img:"@/assets/images/u12045.png",
|
||||
// title: '保存'
|
||||
// }
|
||||
// ]
|
||||
// })
|
||||
// },
|
||||
// appCallBack(data) {
|
||||
// if (data.trigger == 'right_button_click') {
|
||||
// if (data.index == 0 && this.loading) {
|
||||
// this.$validator.validate().then(valid => {
|
||||
// if (true === valid) {
|
||||
// this.updateCustomerInfo()
|
||||
// } else {
|
||||
// this.$toast(this.$validator.errors.all()[0])
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
// }
|
||||
// },
|
||||
save() {
|
||||
this.$validator.validate().then(valid => {
|
||||
if (true === valid) {
|
||||
let vf1 = this.$refs.formBlock.validateForm()
|
||||
Promise.all([vf1]).then(result => {
|
||||
if (result.indexOf(false) > -1) {
|
||||
this.$toast(this.$refs.formBlock.$validator.errors.all()[0])
|
||||
return
|
||||
} else if (this.userInfo.customerIdNumber) {
|
||||
this.$refs.formBlock.validateIdType()
|
||||
} else if (this.userInfo.birthday && this.userInfo.marriage) {
|
||||
this.$refs.formBlock.validateMarr()
|
||||
} else {
|
||||
if (this.userInfo.birthday && this.userInfo.marriage) {
|
||||
},
|
||||
mounted() {
|
||||
//this.filterBtn() //按钮初始化
|
||||
//window.appCallBack = this.appCallBack //app回调
|
||||
},
|
||||
methods: {
|
||||
// filterBtn() {
|
||||
// EWebBridge.webCallAppInJs('webview_right_button', {
|
||||
// btns: [
|
||||
// {
|
||||
// // img:"@/assets/images/u12045.png",
|
||||
// title: '保存'
|
||||
// }
|
||||
// ]
|
||||
// })
|
||||
// },
|
||||
// appCallBack(data) {
|
||||
// if (data.trigger == 'right_button_click') {
|
||||
// if (data.index == 0 && this.loading) {
|
||||
// this.$validator.validate().then(valid => {
|
||||
// if (true === valid) {
|
||||
// this.updateCustomerInfo()
|
||||
// } else {
|
||||
// this.$toast(this.$validator.errors.all()[0])
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
// }
|
||||
// },
|
||||
save() {
|
||||
this.$validator.validate().then(valid => {
|
||||
if (true === valid) {
|
||||
let vf1 = this.$refs.formBlock.validateForm()
|
||||
Promise.all([vf1]).then(result => {
|
||||
if (result.indexOf(false) > -1) {
|
||||
this.$toast(this.$refs.formBlock.$validator.errors.all()[0])
|
||||
return
|
||||
} else if (this.userInfo.customerIdNumber) {
|
||||
this.$refs.formBlock.validateIdType()
|
||||
} else if (this.userInfo.birthday && this.userInfo.marriage) {
|
||||
this.$refs.formBlock.validateMarr()
|
||||
} else {
|
||||
this.updateCustomerInfo()
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$toast(this.$validator.errors.all()[0])
|
||||
}
|
||||
})
|
||||
},
|
||||
updateCustomerInfo() {
|
||||
let $this = this
|
||||
let data = {
|
||||
agentCustomerInfoDTO: {
|
||||
customerNumber: '',
|
||||
customerName: $this.userInfo.customerName,
|
||||
customerPhone: $this.userInfo.customerPhone,
|
||||
customerSex: $this.userInfo.customerSex,
|
||||
country: $this.userInfo.nativeplace,
|
||||
//rgtaddress: $this.userInfo.census,
|
||||
birthday: $this.userInfo.birthday,
|
||||
customerIdType: $this.userInfo.idType,
|
||||
customerIdNumber: $this.userInfo.customerIdNumber,
|
||||
idEffectStartDate: $this.userInfo.certificateValidate,
|
||||
idEffectEndDate: $this.userInfo.certiexpiredate,
|
||||
email: $this.userInfo.email,
|
||||
height: $this.userInfo.stature,
|
||||
weight: $this.userInfo.weight,
|
||||
customerType: $this.userInfo.customerType,
|
||||
customerSource: $this.userInfo.customerSource,
|
||||
educationLevel: $this.userInfo.degree,
|
||||
socialSecurity: $this.userInfo.socialSecurity,
|
||||
residentStatus: $this.userInfo.taxIdentity,
|
||||
occupationCode: $this.userInfo.occupationCode,
|
||||
occupationName: $this.userInfo.occupationName,
|
||||
lifeGrade: $this.userInfo.lifeGrade,
|
||||
healthGrade: $this.userInfo.healthGrade,
|
||||
averageYearlyIncome: $this.userInfo.averageYearlyIncome,
|
||||
liabilitiesMoney: $this.userInfo.liabilitiesMoney,
|
||||
workUnits: $this.userInfo.workUnits,
|
||||
jobStatus: $this.userInfo.workCondition,
|
||||
companyProvince: $this.userInfo.companyProvince,
|
||||
companyCity: $this.userInfo.companyCity,
|
||||
companyArea: $this.userInfo.companyArea,
|
||||
companyAddress: $this.userInfo.companyAddress,
|
||||
companyZip: $this.userInfo.companyZip,
|
||||
companyPhone: $this.userInfo.companyPhone,
|
||||
marryStatus: $this.userInfo.marriage,
|
||||
homeProvince: $this.userInfo.homeProvince,
|
||||
homeCity: $this.userInfo.homeCity,
|
||||
homeArea: $this.userInfo.homeArea,
|
||||
homeAddress: $this.userInfo.homeAddress,
|
||||
homeZip: $this.userInfo.homeZip,
|
||||
familyAnnualIncome: $this.userInfo.familyAnnualIncome,
|
||||
province: $this.userInfo.province,
|
||||
city: $this.userInfo.city,
|
||||
homePhone: $this.userInfo.homePhone
|
||||
}
|
||||
}
|
||||
switch (data.agentCustomerInfoDTO.companyArea) {
|
||||
case '500129':
|
||||
data.agentCustomerInfoDTO.companyArea = '500229'
|
||||
break
|
||||
case '500130':
|
||||
data.agentCustomerInfoDTO.companyArea = '500230'
|
||||
break
|
||||
case '500131':
|
||||
data.agentCustomerInfoDTO.companyArea = '500231'
|
||||
break
|
||||
case '500133':
|
||||
data.agentCustomerInfoDTO.companyArea = '500233'
|
||||
break
|
||||
case '500135':
|
||||
data.agentCustomerInfoDTO.companyArea = '500235'
|
||||
break
|
||||
case '500136':
|
||||
data.agentCustomerInfoDTO.companyArea = '500236'
|
||||
break
|
||||
case '500137':
|
||||
data.agentCustomerInfoDTO.companyArea = '500237'
|
||||
break
|
||||
case '500138':
|
||||
data.agentCustomerInfoDTO.companyArea = '500238'
|
||||
break
|
||||
case '500140':
|
||||
data.agentCustomerInfoDTO.companyArea = '500240'
|
||||
break
|
||||
case '500141':
|
||||
data.agentCustomerInfoDTO.companyArea = '500241'
|
||||
break
|
||||
case '500142':
|
||||
data.agentCustomerInfoDTO.companyArea = '500242'
|
||||
break
|
||||
case '500143':
|
||||
data.agentCustomerInfoDTO.companyArea = '500243'
|
||||
break
|
||||
}
|
||||
switch (data.agentCustomerInfoDTO.homeArea) {
|
||||
case '500129':
|
||||
data.agentCustomerInfoDTO.homeArea = '500229'
|
||||
break
|
||||
case '500130':
|
||||
data.agentCustomerInfoDTO.homeArea = '500230'
|
||||
break
|
||||
case '500131':
|
||||
data.agentCustomerInfoDTO.homeArea = '500231'
|
||||
break
|
||||
case '500133':
|
||||
data.agentCustomerInfoDTO.homeArea = '500233'
|
||||
break
|
||||
case '500135':
|
||||
data.agentCustomerInfoDTO.homeArea = '500235'
|
||||
break
|
||||
case '500136':
|
||||
data.agentCustomerInfoDTO.homeArea = '500236'
|
||||
break
|
||||
case '500137':
|
||||
data.agentCustomerInfoDTO.homeArea = '500237'
|
||||
break
|
||||
case '500138':
|
||||
data.agentCustomerInfoDTO.homeArea = '500238'
|
||||
break
|
||||
case '500140':
|
||||
data.agentCustomerInfoDTO.homeArea = '500240'
|
||||
break
|
||||
case '500141':
|
||||
data.agentCustomerInfoDTO.homeArea = '500241'
|
||||
break
|
||||
case '500142':
|
||||
data.agentCustomerInfoDTO.homeArea = '500242'
|
||||
break
|
||||
case '500143':
|
||||
data.agentCustomerInfoDTO.homeArea = '500243'
|
||||
break
|
||||
}
|
||||
updateCustomerInfo(data)
|
||||
.then(res => {
|
||||
if (res.result == 0) {
|
||||
// EWebBridge.webCallAppInJs('goBack', { refresh: '1' })
|
||||
this.$jump({
|
||||
flag: 'goBack',
|
||||
extra: {
|
||||
refresh: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/customer/customerList'
|
||||
if (this.userInfo.birthday && this.userInfo.marriage) {
|
||||
this.$refs.formBlock.validateMarr()
|
||||
} else {
|
||||
this.updateCustomerInfo()
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
$this.$toast(res.resultMessage)
|
||||
this.$toast(this.$validator.errors.all()[0])
|
||||
}
|
||||
})
|
||||
.catch(err => {})
|
||||
},
|
||||
updateCustomerInfo() {
|
||||
let $this = this
|
||||
let data = {
|
||||
agentCustomerInfoDTO: {
|
||||
customerNumber: '',
|
||||
customerName: $this.userInfo.customerName,
|
||||
customerPhone: $this.userInfo.customerPhone,
|
||||
customerSex: $this.userInfo.customerSex,
|
||||
country: $this.userInfo.nativeplace,
|
||||
//rgtaddress: $this.userInfo.census,
|
||||
birthday: $this.userInfo.birthday,
|
||||
customerIdType: $this.userInfo.idType,
|
||||
customerIdNumber: $this.userInfo.customerIdNumber,
|
||||
idEffectStartDate: $this.userInfo.certificateValidate,
|
||||
idEffectEndDate: $this.userInfo.certiexpiredate,
|
||||
email: $this.userInfo.email,
|
||||
height: $this.userInfo.stature,
|
||||
weight: $this.userInfo.weight,
|
||||
customerType: $this.userInfo.customerType,
|
||||
customerSource: $this.userInfo.customerSource,
|
||||
educationLevel: $this.userInfo.degree,
|
||||
socialSecurity: $this.userInfo.socialSecurity,
|
||||
residentStatus: $this.userInfo.taxIdentity,
|
||||
occupationCode: $this.userInfo.occupationCode,
|
||||
occupationName: $this.userInfo.occupationName,
|
||||
lifeGrade: $this.userInfo.lifeGrade,
|
||||
healthGrade: $this.userInfo.healthGrade,
|
||||
averageYearlyIncome: $this.userInfo.averageYearlyIncome,
|
||||
liabilitiesMoney: $this.userInfo.liabilitiesMoney,
|
||||
workUnits: $this.userInfo.workUnits,
|
||||
jobStatus: $this.userInfo.workCondition,
|
||||
companyProvince: $this.userInfo.companyProvince,
|
||||
companyCity: $this.userInfo.companyCity,
|
||||
companyArea: $this.userInfo.companyArea,
|
||||
companyAddress: $this.userInfo.companyAddress,
|
||||
companyZip: $this.userInfo.companyZip,
|
||||
companyPhone: $this.userInfo.companyPhone,
|
||||
marryStatus: $this.userInfo.marriage,
|
||||
homeProvince: $this.userInfo.homeProvince,
|
||||
homeCity: $this.userInfo.homeCity,
|
||||
homeArea: $this.userInfo.homeArea,
|
||||
homeAddress: $this.userInfo.homeAddress,
|
||||
homeZip: $this.userInfo.homeZip,
|
||||
familyAnnualIncome: $this.userInfo.familyAnnualIncome,
|
||||
province: $this.userInfo.province,
|
||||
city: $this.userInfo.city,
|
||||
homePhone: $this.userInfo.homePhone,
|
||||
isNewPeopleFlag: $this.userInfo.isNewPeopleFlag,
|
||||
npType: $this.userInfo.npType,
|
||||
}
|
||||
}
|
||||
switch (data.agentCustomerInfoDTO.companyArea) {
|
||||
case '500129':
|
||||
data.agentCustomerInfoDTO.companyArea = '500229'
|
||||
break
|
||||
case '500130':
|
||||
data.agentCustomerInfoDTO.companyArea = '500230'
|
||||
break
|
||||
case '500131':
|
||||
data.agentCustomerInfoDTO.companyArea = '500231'
|
||||
break
|
||||
case '500133':
|
||||
data.agentCustomerInfoDTO.companyArea = '500233'
|
||||
break
|
||||
case '500135':
|
||||
data.agentCustomerInfoDTO.companyArea = '500235'
|
||||
break
|
||||
case '500136':
|
||||
data.agentCustomerInfoDTO.companyArea = '500236'
|
||||
break
|
||||
case '500137':
|
||||
data.agentCustomerInfoDTO.companyArea = '500237'
|
||||
break
|
||||
case '500138':
|
||||
data.agentCustomerInfoDTO.companyArea = '500238'
|
||||
break
|
||||
case '500140':
|
||||
data.agentCustomerInfoDTO.companyArea = '500240'
|
||||
break
|
||||
case '500141':
|
||||
data.agentCustomerInfoDTO.companyArea = '500241'
|
||||
break
|
||||
case '500142':
|
||||
data.agentCustomerInfoDTO.companyArea = '500242'
|
||||
break
|
||||
case '500143':
|
||||
data.agentCustomerInfoDTO.companyArea = '500243'
|
||||
break
|
||||
}
|
||||
switch (data.agentCustomerInfoDTO.homeArea) {
|
||||
case '500129':
|
||||
data.agentCustomerInfoDTO.homeArea = '500229'
|
||||
break
|
||||
case '500130':
|
||||
data.agentCustomerInfoDTO.homeArea = '500230'
|
||||
break
|
||||
case '500131':
|
||||
data.agentCustomerInfoDTO.homeArea = '500231'
|
||||
break
|
||||
case '500133':
|
||||
data.agentCustomerInfoDTO.homeArea = '500233'
|
||||
break
|
||||
case '500135':
|
||||
data.agentCustomerInfoDTO.homeArea = '500235'
|
||||
break
|
||||
case '500136':
|
||||
data.agentCustomerInfoDTO.homeArea = '500236'
|
||||
break
|
||||
case '500137':
|
||||
data.agentCustomerInfoDTO.homeArea = '500237'
|
||||
break
|
||||
case '500138':
|
||||
data.agentCustomerInfoDTO.homeArea = '500238'
|
||||
break
|
||||
case '500140':
|
||||
data.agentCustomerInfoDTO.homeArea = '500240'
|
||||
break
|
||||
case '500141':
|
||||
data.agentCustomerInfoDTO.homeArea = '500241'
|
||||
break
|
||||
case '500142':
|
||||
data.agentCustomerInfoDTO.homeArea = '500242'
|
||||
break
|
||||
case '500143':
|
||||
data.agentCustomerInfoDTO.homeArea = '500243'
|
||||
break
|
||||
}
|
||||
updateCustomerInfo(data)
|
||||
.then(res => {
|
||||
if (res.result == 0) {
|
||||
// EWebBridge.webCallAppInJs('goBack', { refresh: '1' })
|
||||
this.$jump({
|
||||
flag: 'goBack',
|
||||
extra: {
|
||||
refresh: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/customer/customerList'
|
||||
}
|
||||
})
|
||||
} else {
|
||||
$this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
.catch(err => {})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.van-index-anchor {
|
||||
background: #fff;
|
||||
}
|
||||
.container {
|
||||
padding-bottom: 45px;
|
||||
.header {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
padding: 10px;
|
||||
}
|
||||
.title {
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
.van-index-anchor {
|
||||
background: #fff;
|
||||
border-bottom: 1px solid #ebedf0;
|
||||
}
|
||||
.sex-radio {
|
||||
.radio-area {
|
||||
display: -webkit-flex;
|
||||
.container {
|
||||
padding-bottom: 45px;
|
||||
.header {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
.item {
|
||||
width: 70px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
border: 1px solid #ea5b50;
|
||||
border-radius: 20px;
|
||||
text-align: center;
|
||||
color: #ea5b50;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.active {
|
||||
background: #ea5b50;
|
||||
color: #fff;
|
||||
justify-content: flex-end;
|
||||
padding: 10px;
|
||||
}
|
||||
.title {
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
background: #fff;
|
||||
border-bottom: 1px solid #ebedf0;
|
||||
}
|
||||
.sex-radio {
|
||||
.radio-area {
|
||||
display: -webkit-flex;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
.item {
|
||||
width: 70px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
border: 1px solid #ea5b50;
|
||||
border-radius: 20px;
|
||||
text-align: center;
|
||||
color: #ea5b50;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.active {
|
||||
background: #ea5b50;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -3,24 +3,24 @@
|
||||
<p class="title pl10 pv12 mt10">基本信息</p>
|
||||
<div v-if="source == 'app'">
|
||||
<van-field
|
||||
v-model="userInfo.customerName"
|
||||
required
|
||||
clearable
|
||||
label="姓名"
|
||||
name="姓名"
|
||||
placeholder="请输入"
|
||||
v-validate="'required|name'"
|
||||
v-model="userInfo.customerName"
|
||||
required
|
||||
clearable
|
||||
label="姓名"
|
||||
name="姓名"
|
||||
placeholder="请输入"
|
||||
v-validate="'required|name'"
|
||||
/>
|
||||
<van-field
|
||||
v-model="userInfo.customerPhone"
|
||||
required
|
||||
clearable
|
||||
label="移动电话"
|
||||
name="移动电话"
|
||||
placeholder="请输入"
|
||||
maxlength="11"
|
||||
type="tel"
|
||||
v-validate="'required|mobile'"
|
||||
v-model="userInfo.customerPhone"
|
||||
required
|
||||
clearable
|
||||
label="移动电话"
|
||||
name="移动电话"
|
||||
placeholder="请输入"
|
||||
maxlength="11"
|
||||
type="tel"
|
||||
v-validate="'required|mobile'"
|
||||
/>
|
||||
</div>
|
||||
<div v-else>
|
||||
@@ -34,456 +34,462 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Field, CellGroup, Cell } from 'vant'
|
||||
import { getAgentCustomerInfo, updateCustomerInfo } from '@/api/ebiz/customer/customer'
|
||||
import formBlock from '@/components/ebiz/customer/formBlock'
|
||||
import { constants } from 'crypto'
|
||||
import { Field, CellGroup, Cell } from 'vant'
|
||||
import { getAgentCustomerInfo, updateCustomerInfo } from '@/api/ebiz/customer/customer'
|
||||
import formBlock from '@/components/ebiz/customer/formBlock'
|
||||
import { constants } from 'crypto'
|
||||
|
||||
export default {
|
||||
name: 'editCustomer',
|
||||
components: {
|
||||
[Field.name]: Field,
|
||||
[CellGroup.name]: CellGroup,
|
||||
[Cell.name]: Cell,
|
||||
[formBlock.name]: formBlock
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
source: this.$route.query.from,
|
||||
appName: this.$route.query.name,
|
||||
appPhone: this.$route.query.tel,
|
||||
customerNumber: localStorage.getItem('customerNumber'),
|
||||
userInfo: {
|
||||
customerName: '', //姓名
|
||||
customerPhone: '', // 手机号
|
||||
customerSex: '0', //性别
|
||||
nativeplace: '1', //国家地区
|
||||
province: '', //户籍省
|
||||
city: '', //户籍市
|
||||
birthday: '', //出生日期
|
||||
idType: '1', //证件类型
|
||||
customerIdNumber: '', //证件号码
|
||||
certificateValidate: '', //证件起始日期
|
||||
certiexpiredate: '', //证件到期时间
|
||||
effectiveDateType: false, //是否长期
|
||||
email: '', //电子邮箱
|
||||
stature: '', //身高
|
||||
weight: '', //体重,
|
||||
customerType: '0', //客户类别
|
||||
customerSource: '-1', //客户来源
|
||||
degree: '', //文化程度
|
||||
socialSecurity: '0', //有无社保
|
||||
taxIdentity: '1', //税收居民身份
|
||||
occupationCode: '', //职业类别
|
||||
occupationName: '',
|
||||
lifeGrade: '', //寿险等级
|
||||
healthGrade: '', //健康等级
|
||||
averageYearlyIncome: '', //平均年收入
|
||||
liabilitiesMoney: '', //负债金额
|
||||
workUnits: '', //工作单位
|
||||
workCondition: '', //在职情况
|
||||
companyProvince: '', //单位省
|
||||
companyCity: '', //单位市
|
||||
companyArea: '', //单位区
|
||||
companyAddress: '', //单位详细地址
|
||||
companyZip: '', //单位邮编
|
||||
companyPhone: '', //单位电话
|
||||
marriage: '', //婚姻状况
|
||||
familyAnnualIncome: '', //家庭年收入
|
||||
homeProvince: '', //家庭省
|
||||
homeCity: '', //家庭市
|
||||
homeArea: '', //家庭区
|
||||
homeAddress: '', //家庭详细地址
|
||||
homeZip: '', //家庭邮编
|
||||
homePhone: '' //家庭电话
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
//this.filterBtn() //按钮初始化
|
||||
//window.appCallBack = this.appCallBack //app回调
|
||||
//数据回显
|
||||
if (this.source == 'app') {
|
||||
this.userInfo.customerName = this.appName
|
||||
this.userInfo.customerPhone = this.appPhone
|
||||
this.customerNumber = ''
|
||||
} else {
|
||||
this.getCustomerInfo() //获取客户信息
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// filterBtn() {
|
||||
// EWebBridge.webCallAppInJs('webview_right_button', {
|
||||
// btns: [
|
||||
// {
|
||||
// img:"@/assets/images/u12045.png",
|
||||
// }
|
||||
// ]
|
||||
// })
|
||||
// },
|
||||
// appCallBack(data) {
|
||||
// if (data.trigger == 'right_button_click') {
|
||||
// if (data.index == 0 && this.loading) {
|
||||
// this.updateCustomerInfo() //保存信息
|
||||
// }
|
||||
// }
|
||||
// },
|
||||
getCustomerInfo() {
|
||||
let $this = this
|
||||
let data = {
|
||||
customerNumber: $this.customerNumber
|
||||
}
|
||||
getAgentCustomerInfo(data)
|
||||
.then(res => {
|
||||
if (res.result == 0) {
|
||||
let result = res.content
|
||||
$this.userInfo.nativeplace = result.country
|
||||
$this.userInfo.idType = result.customerIdType
|
||||
$this.userInfo.degree = result.educationLevel
|
||||
$this.userInfo.taxIdentity = result.residentStatus
|
||||
$this.userInfo.marriage = result.marryStatus
|
||||
$this.userInfo.socialSecurity = result.socialSecurity
|
||||
$this.userInfo.customerName = result.customerName
|
||||
$this.userInfo.customerPhone = result.customerPhone
|
||||
$this.userInfo.customerSex = result.customerSex
|
||||
$this.userInfo.birthday = result.birthday
|
||||
$this.userInfo.customerIdNumber = result.customerIdNumber
|
||||
$this.userInfo.certificateValidate = result.idEffectStartDate
|
||||
$this.userInfo.certiexpiredate = result.idEffectEndDate
|
||||
$this.userInfo.email = result.email
|
||||
$this.userInfo.stature = result.height
|
||||
$this.userInfo.weight = result.weight
|
||||
$this.userInfo.customerType = result.customerType
|
||||
$this.userInfo.customerSource = result.customerSource
|
||||
$this.userInfo.occupationName = result.occupationName
|
||||
$this.userInfo.occupationCode = result.occupationCode
|
||||
$this.userInfo.lifeGrade = result.lifeGrade
|
||||
$this.userInfo.healthGrade = result.healthGrade
|
||||
$this.userInfo.averageYearlyIncome = result.averageYearlyIncome
|
||||
$this.userInfo.workUnits = result.workUnits
|
||||
$this.userInfo.province = result.province
|
||||
$this.userInfo.city = result.city
|
||||
$this.userInfo.homeAddress = result.homeAddress
|
||||
$this.userInfo.homeZip = result.homeZip
|
||||
$this.userInfo.homePhone = result.homePhone
|
||||
$this.userInfo.familyAnnualIncome = result.familyAnnualIncome
|
||||
$this.userInfo.workCondition = result.jobStatus
|
||||
$this.userInfo.companyAddress = result.companyAddress
|
||||
$this.userInfo.companyZip = result.companyZip
|
||||
$this.userInfo.companyPhone = result.companyPhone
|
||||
$this.userInfo.liabilitiesMoney = result.liabilitiesMoney
|
||||
$this.userInfo.companyProvince = result.companyProvince
|
||||
$this.userInfo.companyCity = result.companyCity
|
||||
$this.userInfo.companyArea = result.companyArea
|
||||
$this.userInfo.homeProvince = result.homeProvince
|
||||
$this.userInfo.homeCity = result.homeCity
|
||||
$this.userInfo.homeArea = result.homeArea
|
||||
sessionStorage.setItem('birthday', result.birthday)
|
||||
sessionStorage.setItem('idType', result.customerIdType)
|
||||
|
||||
switch ($this.userInfo.companyArea) {
|
||||
case '500229':
|
||||
$this.userInfo.companyArea = '500129'
|
||||
break
|
||||
case '500230':
|
||||
$this.userInfo.companyArea = '500130'
|
||||
break
|
||||
case '500231':
|
||||
$this.userInfo.companyArea = '500131'
|
||||
break
|
||||
case '500233':
|
||||
$this.userInfo.companyArea = '500133'
|
||||
break
|
||||
case '500235':
|
||||
$this.userInfo.companyArea = '500135'
|
||||
break
|
||||
case '500236':
|
||||
$this.userInfo.companyArea = '500136'
|
||||
break
|
||||
case '500237':
|
||||
$this.userInfo.companyArea = '500137'
|
||||
break
|
||||
case '500238':
|
||||
$this.userInfo.companyArea = '500138'
|
||||
break
|
||||
case '500240':
|
||||
$this.userInfo.companyArea = '500140'
|
||||
break
|
||||
case '500241':
|
||||
$this.userInfo.companyArea = '500141'
|
||||
break
|
||||
case '500242':
|
||||
$this.userInfo.companyArea = '500142'
|
||||
break
|
||||
case '500243':
|
||||
$this.userInfo.companyArea = '500143'
|
||||
break
|
||||
}
|
||||
switch ($this.userInfo.homeArea) {
|
||||
case '500229':
|
||||
$this.userInfo.homeArea = '500129'
|
||||
break
|
||||
case '500230':
|
||||
$this.userInfo.homeArea = '500130'
|
||||
break
|
||||
case '500231':
|
||||
$this.userInfo.homeArea = '500131'
|
||||
break
|
||||
case '500233':
|
||||
$this.userInfo.homeArea = '500133'
|
||||
break
|
||||
case '500235':
|
||||
$this.userInfo.homeArea = '500135'
|
||||
break
|
||||
case '500236':
|
||||
$this.userInfo.homeArea = '500136'
|
||||
break
|
||||
case '500237':
|
||||
$this.userInfo.homeArea = '500137'
|
||||
break
|
||||
case '500238':
|
||||
$this.userInfo.homeArea = '500138'
|
||||
break
|
||||
case '500240':
|
||||
$this.userInfo.homeArea = '500140'
|
||||
break
|
||||
case '500241':
|
||||
$this.userInfo.homeArea = '500141'
|
||||
break
|
||||
case '500242':
|
||||
$this.userInfo.homeArea = '500142'
|
||||
break
|
||||
case '500243':
|
||||
$this.userInfo.homeArea = '500143'
|
||||
break
|
||||
}
|
||||
this.$refs.formBlock.isEndFlag()
|
||||
//查询职业名称
|
||||
// occupationList.forEach(first => {
|
||||
// first.subs.forEach(second => {
|
||||
// second.subs.forEach(third => {
|
||||
// if (third.code == result.occupationCode) {
|
||||
// $this.userInfo.occupationName = third.name
|
||||
// }
|
||||
// })
|
||||
// })
|
||||
// })
|
||||
}
|
||||
})
|
||||
.catch(err => {})
|
||||
export default {
|
||||
name: 'editCustomer',
|
||||
components: {
|
||||
[Field.name]: Field,
|
||||
[CellGroup.name]: CellGroup,
|
||||
[Cell.name]: Cell,
|
||||
[formBlock.name]: formBlock
|
||||
},
|
||||
save() {
|
||||
this.$validator.validate().then(valid => {
|
||||
if (true === valid) {
|
||||
let vf1 = this.$refs.formBlock.validateForm()
|
||||
Promise.all([vf1]).then(result => {
|
||||
if (result.indexOf(false) > -1) {
|
||||
this.$toast(this.$refs.formBlock.$validator.errors.all()[0])
|
||||
return
|
||||
} else if (this.userInfo.customerIdNumber) {
|
||||
this.$refs.formBlock.validateIdType()
|
||||
} else {
|
||||
if (this.userInfo.birthday && this.userInfo.marriage) {
|
||||
this.$refs.formBlock.validateMarr()
|
||||
data() {
|
||||
return {
|
||||
source: this.$route.query.from,
|
||||
appName: this.$route.query.name,
|
||||
appPhone: this.$route.query.tel,
|
||||
customerNumber: localStorage.getItem('customerNumber'),
|
||||
userInfo: {
|
||||
customerName: '', //姓名
|
||||
customerPhone: '', // 手机号
|
||||
customerSex: '0', //性别
|
||||
nativeplace: '1', //国家地区
|
||||
province: '', //户籍省
|
||||
city: '', //户籍市
|
||||
birthday: '', //出生日期
|
||||
idType: '1', //证件类型
|
||||
customerIdNumber: '', //证件号码
|
||||
certificateValidate: '', //证件起始日期
|
||||
certiexpiredate: '', //证件到期时间
|
||||
effectiveDateType: false, //是否长期
|
||||
email: '', //电子邮箱
|
||||
stature: '', //身高
|
||||
weight: '', //体重,
|
||||
customerType: '0', //客户类别
|
||||
customerSource: '-1', //客户来源
|
||||
degree: '', //文化程度
|
||||
socialSecurity: '0', //有无社保
|
||||
taxIdentity: '1', //税收居民身份
|
||||
occupationCode: '', //职业类别
|
||||
occupationName: '',
|
||||
lifeGrade: '', //寿险等级
|
||||
healthGrade: '', //健康等级
|
||||
averageYearlyIncome: '', //平均年收入
|
||||
liabilitiesMoney: '', //负债金额
|
||||
workUnits: '', //工作单位
|
||||
workCondition: '', //在职情况
|
||||
companyProvince: '', //单位省
|
||||
companyCity: '', //单位市
|
||||
companyArea: '', //单位区
|
||||
companyAddress: '', //单位详细地址
|
||||
companyZip: '', //单位邮编
|
||||
companyPhone: '', //单位电话
|
||||
marriage: '', //婚姻状况
|
||||
familyAnnualIncome: '', //家庭年收入
|
||||
homeProvince: '', //家庭省
|
||||
homeCity: '', //家庭市
|
||||
homeArea: '', //家庭区
|
||||
homeAddress: '', //家庭详细地址
|
||||
homeZip: '', //家庭邮编
|
||||
homePhone: '', //家庭电话
|
||||
isNewPeopleFlag: '', //新市民身份
|
||||
npType: '', //新市民类型
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
//this.filterBtn() //按钮初始化
|
||||
//window.appCallBack = this.appCallBack //app回调
|
||||
//数据回显
|
||||
if (this.source == 'app') {
|
||||
this.userInfo.customerName = this.appName
|
||||
this.userInfo.customerPhone = this.appPhone
|
||||
this.customerNumber = ''
|
||||
} else {
|
||||
this.getCustomerInfo() //获取客户信息
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// filterBtn() {
|
||||
// EWebBridge.webCallAppInJs('webview_right_button', {
|
||||
// btns: [
|
||||
// {
|
||||
// img:"@/assets/images/u12045.png",
|
||||
// }
|
||||
// ]
|
||||
// })
|
||||
// },
|
||||
// appCallBack(data) {
|
||||
// if (data.trigger == 'right_button_click') {
|
||||
// if (data.index == 0 && this.loading) {
|
||||
// this.updateCustomerInfo() //保存信息
|
||||
// }
|
||||
// }
|
||||
// },
|
||||
getCustomerInfo() {
|
||||
let $this = this
|
||||
let data = {
|
||||
customerNumber: $this.customerNumber
|
||||
}
|
||||
getAgentCustomerInfo(data)
|
||||
.then(res => {
|
||||
if (res.result == 0) {
|
||||
let result = res.content
|
||||
$this.userInfo.nativeplace = result.country
|
||||
$this.userInfo.idType = result.customerIdType
|
||||
$this.userInfo.degree = result.educationLevel
|
||||
$this.userInfo.taxIdentity = result.residentStatus
|
||||
$this.userInfo.marriage = result.marryStatus
|
||||
$this.userInfo.socialSecurity = result.socialSecurity
|
||||
$this.userInfo.customerName = result.customerName
|
||||
$this.userInfo.customerPhone = result.customerPhone
|
||||
$this.userInfo.customerSex = result.customerSex
|
||||
$this.userInfo.birthday = result.birthday
|
||||
$this.userInfo.customerIdNumber = result.customerIdNumber
|
||||
$this.userInfo.certificateValidate = result.idEffectStartDate
|
||||
$this.userInfo.certiexpiredate = result.idEffectEndDate
|
||||
$this.userInfo.email = result.email
|
||||
$this.userInfo.stature = result.height
|
||||
$this.userInfo.weight = result.weight
|
||||
$this.userInfo.customerType = result.customerType
|
||||
$this.userInfo.customerSource = result.customerSource
|
||||
$this.userInfo.occupationName = result.occupationName
|
||||
$this.userInfo.occupationCode = result.occupationCode
|
||||
$this.userInfo.lifeGrade = result.lifeGrade
|
||||
$this.userInfo.healthGrade = result.healthGrade
|
||||
$this.userInfo.averageYearlyIncome = result.averageYearlyIncome
|
||||
$this.userInfo.workUnits = result.workUnits
|
||||
$this.userInfo.province = result.province
|
||||
$this.userInfo.city = result.city
|
||||
$this.userInfo.homeAddress = result.homeAddress
|
||||
$this.userInfo.homeZip = result.homeZip
|
||||
$this.userInfo.homePhone = result.homePhone
|
||||
$this.userInfo.familyAnnualIncome = result.familyAnnualIncome
|
||||
$this.userInfo.workCondition = result.jobStatus
|
||||
$this.userInfo.companyAddress = result.companyAddress
|
||||
$this.userInfo.companyZip = result.companyZip
|
||||
$this.userInfo.companyPhone = result.companyPhone
|
||||
$this.userInfo.liabilitiesMoney = result.liabilitiesMoney
|
||||
$this.userInfo.companyProvince = result.companyProvince
|
||||
$this.userInfo.companyCity = result.companyCity
|
||||
$this.userInfo.companyArea = result.companyArea
|
||||
$this.userInfo.homeProvince = result.homeProvince
|
||||
$this.userInfo.homeCity = result.homeCity
|
||||
$this.userInfo.homeArea = result.homeArea
|
||||
$this.userInfo.isNewPeopleFlag = result.isNewPeopleFlag
|
||||
$this.userInfo.npType = result.npType
|
||||
sessionStorage.setItem('birthday', result.birthday)
|
||||
sessionStorage.setItem('idType', result.customerIdType)
|
||||
|
||||
switch ($this.userInfo.companyArea) {
|
||||
case '500229':
|
||||
$this.userInfo.companyArea = '500129'
|
||||
break
|
||||
case '500230':
|
||||
$this.userInfo.companyArea = '500130'
|
||||
break
|
||||
case '500231':
|
||||
$this.userInfo.companyArea = '500131'
|
||||
break
|
||||
case '500233':
|
||||
$this.userInfo.companyArea = '500133'
|
||||
break
|
||||
case '500235':
|
||||
$this.userInfo.companyArea = '500135'
|
||||
break
|
||||
case '500236':
|
||||
$this.userInfo.companyArea = '500136'
|
||||
break
|
||||
case '500237':
|
||||
$this.userInfo.companyArea = '500137'
|
||||
break
|
||||
case '500238':
|
||||
$this.userInfo.companyArea = '500138'
|
||||
break
|
||||
case '500240':
|
||||
$this.userInfo.companyArea = '500140'
|
||||
break
|
||||
case '500241':
|
||||
$this.userInfo.companyArea = '500141'
|
||||
break
|
||||
case '500242':
|
||||
$this.userInfo.companyArea = '500142'
|
||||
break
|
||||
case '500243':
|
||||
$this.userInfo.companyArea = '500143'
|
||||
break
|
||||
}
|
||||
switch ($this.userInfo.homeArea) {
|
||||
case '500229':
|
||||
$this.userInfo.homeArea = '500129'
|
||||
break
|
||||
case '500230':
|
||||
$this.userInfo.homeArea = '500130'
|
||||
break
|
||||
case '500231':
|
||||
$this.userInfo.homeArea = '500131'
|
||||
break
|
||||
case '500233':
|
||||
$this.userInfo.homeArea = '500133'
|
||||
break
|
||||
case '500235':
|
||||
$this.userInfo.homeArea = '500135'
|
||||
break
|
||||
case '500236':
|
||||
$this.userInfo.homeArea = '500136'
|
||||
break
|
||||
case '500237':
|
||||
$this.userInfo.homeArea = '500137'
|
||||
break
|
||||
case '500238':
|
||||
$this.userInfo.homeArea = '500138'
|
||||
break
|
||||
case '500240':
|
||||
$this.userInfo.homeArea = '500140'
|
||||
break
|
||||
case '500241':
|
||||
$this.userInfo.homeArea = '500141'
|
||||
break
|
||||
case '500242':
|
||||
$this.userInfo.homeArea = '500142'
|
||||
break
|
||||
case '500243':
|
||||
$this.userInfo.homeArea = '500143'
|
||||
break
|
||||
}
|
||||
this.$refs.formBlock.isEndFlag()
|
||||
//查询职业名称
|
||||
// occupationList.forEach(first => {
|
||||
// first.subs.forEach(second => {
|
||||
// second.subs.forEach(third => {
|
||||
// if (third.code == result.occupationCode) {
|
||||
// $this.userInfo.occupationName = third.name
|
||||
// }
|
||||
// })
|
||||
// })
|
||||
// })
|
||||
}
|
||||
})
|
||||
.catch(err => {})
|
||||
},
|
||||
save() {
|
||||
this.$validator.validate().then(valid => {
|
||||
if (true === valid) {
|
||||
let vf1 = this.$refs.formBlock.validateForm()
|
||||
Promise.all([vf1]).then(result => {
|
||||
if (result.indexOf(false) > -1) {
|
||||
this.$toast(this.$refs.formBlock.$validator.errors.all()[0])
|
||||
return
|
||||
} else if (this.userInfo.customerIdNumber) {
|
||||
this.$refs.formBlock.validateIdType()
|
||||
} else {
|
||||
this.updateCustomerInfo()
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$toast(this.$validator.errors.all()[0])
|
||||
}
|
||||
})
|
||||
},
|
||||
updateCustomerInfo() {
|
||||
let $this = this
|
||||
let data = {
|
||||
agentCustomerInfoDTO: {
|
||||
customerNumber: $this.customerNumber,
|
||||
customerName: $this.userInfo.customerName,
|
||||
customerPhone: $this.userInfo.customerPhone,
|
||||
customerSex: $this.userInfo.customerSex,
|
||||
country: $this.userInfo.nativeplace,
|
||||
//rgtaddress: $this.userInfo.census,
|
||||
birthday: $this.userInfo.birthday,
|
||||
customerIdType: $this.userInfo.idType,
|
||||
customerIdNumber: $this.userInfo.customerIdNumber,
|
||||
idEffectStartDate: $this.userInfo.certificateValidate,
|
||||
idEffectEndDate: sessionStorage.getItem('isEnd') || $this.userInfo.certiexpiredate,
|
||||
email: $this.userInfo.email,
|
||||
height: $this.userInfo.stature,
|
||||
weight: $this.userInfo.weight,
|
||||
customerType: $this.userInfo.customerType,
|
||||
customerSource: $this.userInfo.customerSource,
|
||||
educationLevel: $this.userInfo.degree,
|
||||
socialSecurity: $this.userInfo.socialSecurity,
|
||||
residentStatus: $this.userInfo.taxIdentity,
|
||||
occupationCode: $this.userInfo.occupationCode,
|
||||
occupationName: $this.userInfo.occupationName,
|
||||
lifeGrade: $this.userInfo.lifeGrade,
|
||||
healthGrade: $this.userInfo.healthGrade,
|
||||
averageYearlyIncome: $this.userInfo.averageYearlyIncome,
|
||||
liabilitiesMoney: $this.userInfo.liabilitiesMoney,
|
||||
workUnits: $this.userInfo.workUnits,
|
||||
jobStatus: $this.userInfo.workCondition,
|
||||
companyProvince: $this.userInfo.companyProvince,
|
||||
companyCity: $this.userInfo.companyCity,
|
||||
companyArea: $this.userInfo.companyArea,
|
||||
companyAddress: $this.userInfo.companyAddress,
|
||||
companyZip: $this.userInfo.companyZip,
|
||||
companyPhone: $this.userInfo.companyPhone,
|
||||
marryStatus: $this.userInfo.marriage,
|
||||
homeProvince: $this.userInfo.homeProvince,
|
||||
homeCity: $this.userInfo.homeCity,
|
||||
homeArea: $this.userInfo.homeArea,
|
||||
homeAddress: $this.userInfo.homeAddress,
|
||||
homeZip: $this.userInfo.homeZip,
|
||||
familyAnnualIncome: $this.userInfo.familyAnnualIncome,
|
||||
province: $this.userInfo.province,
|
||||
city: $this.userInfo.city,
|
||||
homePhone: $this.userInfo.homePhone
|
||||
}
|
||||
}
|
||||
switch (data.agentCustomerInfoDTO.companyArea) {
|
||||
case '500129':
|
||||
data.agentCustomerInfoDTO.companyArea = '500229'
|
||||
break
|
||||
case '500130':
|
||||
data.agentCustomerInfoDTO.companyArea = '500230'
|
||||
break
|
||||
case '500131':
|
||||
data.agentCustomerInfoDTO.companyArea = '500231'
|
||||
break
|
||||
case '500133':
|
||||
data.agentCustomerInfoDTO.companyArea = '500233'
|
||||
break
|
||||
case '500135':
|
||||
data.agentCustomerInfoDTO.companyArea = '500235'
|
||||
break
|
||||
case '500136':
|
||||
data.agentCustomerInfoDTO.companyArea = '500236'
|
||||
break
|
||||
case '500137':
|
||||
data.agentCustomerInfoDTO.companyArea = '500237'
|
||||
break
|
||||
case '500138':
|
||||
data.agentCustomerInfoDTO.companyArea = '500238'
|
||||
break
|
||||
case '500140':
|
||||
data.agentCustomerInfoDTO.companyArea = '500240'
|
||||
break
|
||||
case '500141':
|
||||
data.agentCustomerInfoDTO.companyArea = '500241'
|
||||
break
|
||||
case '500142':
|
||||
data.agentCustomerInfoDTO.companyArea = '500242'
|
||||
break
|
||||
case '500143':
|
||||
data.agentCustomerInfoDTO.companyArea = '500243'
|
||||
break
|
||||
}
|
||||
switch (data.agentCustomerInfoDTO.homeArea) {
|
||||
case '500129':
|
||||
data.agentCustomerInfoDTO.homeArea = '500229'
|
||||
break
|
||||
case '500130':
|
||||
data.agentCustomerInfoDTO.homeArea = '500230'
|
||||
break
|
||||
case '500131':
|
||||
data.agentCustomerInfoDTO.homeArea = '500231'
|
||||
break
|
||||
case '500133':
|
||||
data.agentCustomerInfoDTO.homeArea = '500233'
|
||||
break
|
||||
case '500135':
|
||||
data.agentCustomerInfoDTO.homeArea = '500235'
|
||||
break
|
||||
case '500136':
|
||||
data.agentCustomerInfoDTO.homeArea = '500236'
|
||||
break
|
||||
case '500137':
|
||||
data.agentCustomerInfoDTO.homeArea = '500237'
|
||||
break
|
||||
case '500138':
|
||||
data.agentCustomerInfoDTO.homeArea = '500238'
|
||||
break
|
||||
case '500140':
|
||||
data.agentCustomerInfoDTO.homeArea = '500240'
|
||||
break
|
||||
case '500141':
|
||||
data.agentCustomerInfoDTO.homeArea = '500241'
|
||||
break
|
||||
case '500142':
|
||||
data.agentCustomerInfoDTO.homeArea = '500242'
|
||||
break
|
||||
case '500143':
|
||||
data.agentCustomerInfoDTO.homeArea = '500243'
|
||||
break
|
||||
}
|
||||
updateCustomerInfo(data)
|
||||
.then(res => {
|
||||
if (res.result == 0) {
|
||||
// EWebBridge.webCallAppInJs("bridge",{
|
||||
// "flag":"webview_toast",
|
||||
// "extra":{"content":res.resultMessage}
|
||||
// })
|
||||
//EWebBridge.webCallAppInJs('goBack', { refresh: '1', index: '-2' })
|
||||
this.$jump({
|
||||
flag: 'goBack',
|
||||
extra: {
|
||||
refresh: '1',
|
||||
index: this.$route.query.from == 2 ? '-2' : '-1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/customer/customerList'
|
||||
if (this.userInfo.birthday && this.userInfo.marriage) {
|
||||
this.$refs.formBlock.validateMarr()
|
||||
} else {
|
||||
this.updateCustomerInfo()
|
||||
}
|
||||
}
|
||||
})
|
||||
} else {
|
||||
$this.$toast(res.resultMessage)
|
||||
// EWebBridge.webCallAppInJs("bridge",{
|
||||
// "flag":"webview_toast",
|
||||
// "extra":{"content":res.resultMessage}
|
||||
// })
|
||||
this.$toast(this.$validator.errors.all()[0])
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err)
|
||||
})
|
||||
},
|
||||
go(path) {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/customer/' + path
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/customer/' + path
|
||||
},
|
||||
updateCustomerInfo() {
|
||||
let $this = this
|
||||
let data = {
|
||||
agentCustomerInfoDTO: {
|
||||
customerNumber: $this.customerNumber,
|
||||
customerName: $this.userInfo.customerName,
|
||||
customerPhone: $this.userInfo.customerPhone,
|
||||
customerSex: $this.userInfo.customerSex,
|
||||
country: $this.userInfo.nativeplace,
|
||||
//rgtaddress: $this.userInfo.census,
|
||||
birthday: $this.userInfo.birthday,
|
||||
customerIdType: $this.userInfo.idType,
|
||||
customerIdNumber: $this.userInfo.customerIdNumber,
|
||||
idEffectStartDate: $this.userInfo.certificateValidate,
|
||||
idEffectEndDate: sessionStorage.getItem('isEnd') || $this.userInfo.certiexpiredate,
|
||||
email: $this.userInfo.email,
|
||||
height: $this.userInfo.stature,
|
||||
weight: $this.userInfo.weight,
|
||||
customerType: $this.userInfo.customerType,
|
||||
customerSource: $this.userInfo.customerSource,
|
||||
educationLevel: $this.userInfo.degree,
|
||||
socialSecurity: $this.userInfo.socialSecurity,
|
||||
residentStatus: $this.userInfo.taxIdentity,
|
||||
occupationCode: $this.userInfo.occupationCode,
|
||||
occupationName: $this.userInfo.occupationName,
|
||||
lifeGrade: $this.userInfo.lifeGrade,
|
||||
healthGrade: $this.userInfo.healthGrade,
|
||||
averageYearlyIncome: $this.userInfo.averageYearlyIncome,
|
||||
liabilitiesMoney: $this.userInfo.liabilitiesMoney,
|
||||
workUnits: $this.userInfo.workUnits,
|
||||
jobStatus: $this.userInfo.workCondition,
|
||||
companyProvince: $this.userInfo.companyProvince,
|
||||
companyCity: $this.userInfo.companyCity,
|
||||
companyArea: $this.userInfo.companyArea,
|
||||
companyAddress: $this.userInfo.companyAddress,
|
||||
companyZip: $this.userInfo.companyZip,
|
||||
companyPhone: $this.userInfo.companyPhone,
|
||||
marryStatus: $this.userInfo.marriage,
|
||||
homeProvince: $this.userInfo.homeProvince,
|
||||
homeCity: $this.userInfo.homeCity,
|
||||
homeArea: $this.userInfo.homeArea,
|
||||
homeAddress: $this.userInfo.homeAddress,
|
||||
homeZip: $this.userInfo.homeZip,
|
||||
familyAnnualIncome: $this.userInfo.familyAnnualIncome,
|
||||
province: $this.userInfo.province,
|
||||
city: $this.userInfo.city,
|
||||
homePhone: $this.userInfo.homePhone,
|
||||
isNewPeopleFlag: $this.userInfo.isNewPeopleFlag,
|
||||
npType: $this.userInfo.npType,
|
||||
}
|
||||
}
|
||||
})
|
||||
switch (data.agentCustomerInfoDTO.companyArea) {
|
||||
case '500129':
|
||||
data.agentCustomerInfoDTO.companyArea = '500229'
|
||||
break
|
||||
case '500130':
|
||||
data.agentCustomerInfoDTO.companyArea = '500230'
|
||||
break
|
||||
case '500131':
|
||||
data.agentCustomerInfoDTO.companyArea = '500231'
|
||||
break
|
||||
case '500133':
|
||||
data.agentCustomerInfoDTO.companyArea = '500233'
|
||||
break
|
||||
case '500135':
|
||||
data.agentCustomerInfoDTO.companyArea = '500235'
|
||||
break
|
||||
case '500136':
|
||||
data.agentCustomerInfoDTO.companyArea = '500236'
|
||||
break
|
||||
case '500137':
|
||||
data.agentCustomerInfoDTO.companyArea = '500237'
|
||||
break
|
||||
case '500138':
|
||||
data.agentCustomerInfoDTO.companyArea = '500238'
|
||||
break
|
||||
case '500140':
|
||||
data.agentCustomerInfoDTO.companyArea = '500240'
|
||||
break
|
||||
case '500141':
|
||||
data.agentCustomerInfoDTO.companyArea = '500241'
|
||||
break
|
||||
case '500142':
|
||||
data.agentCustomerInfoDTO.companyArea = '500242'
|
||||
break
|
||||
case '500143':
|
||||
data.agentCustomerInfoDTO.companyArea = '500243'
|
||||
break
|
||||
}
|
||||
switch (data.agentCustomerInfoDTO.homeArea) {
|
||||
case '500129':
|
||||
data.agentCustomerInfoDTO.homeArea = '500229'
|
||||
break
|
||||
case '500130':
|
||||
data.agentCustomerInfoDTO.homeArea = '500230'
|
||||
break
|
||||
case '500131':
|
||||
data.agentCustomerInfoDTO.homeArea = '500231'
|
||||
break
|
||||
case '500133':
|
||||
data.agentCustomerInfoDTO.homeArea = '500233'
|
||||
break
|
||||
case '500135':
|
||||
data.agentCustomerInfoDTO.homeArea = '500235'
|
||||
break
|
||||
case '500136':
|
||||
data.agentCustomerInfoDTO.homeArea = '500236'
|
||||
break
|
||||
case '500137':
|
||||
data.agentCustomerInfoDTO.homeArea = '500237'
|
||||
break
|
||||
case '500138':
|
||||
data.agentCustomerInfoDTO.homeArea = '500238'
|
||||
break
|
||||
case '500140':
|
||||
data.agentCustomerInfoDTO.homeArea = '500240'
|
||||
break
|
||||
case '500141':
|
||||
data.agentCustomerInfoDTO.homeArea = '500241'
|
||||
break
|
||||
case '500142':
|
||||
data.agentCustomerInfoDTO.homeArea = '500242'
|
||||
break
|
||||
case '500143':
|
||||
data.agentCustomerInfoDTO.homeArea = '500243'
|
||||
break
|
||||
}
|
||||
updateCustomerInfo(data)
|
||||
.then(res => {
|
||||
if (res.result == 0) {
|
||||
// EWebBridge.webCallAppInJs("bridge",{
|
||||
// "flag":"webview_toast",
|
||||
// "extra":{"content":res.resultMessage}
|
||||
// })
|
||||
//EWebBridge.webCallAppInJs('goBack', { refresh: '1', index: '-2' })
|
||||
this.$jump({
|
||||
flag: 'goBack',
|
||||
extra: {
|
||||
refresh: '1',
|
||||
index: this.$route.query.from == 2 ? '-2' : '-1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/customer/customerList'
|
||||
}
|
||||
})
|
||||
} else {
|
||||
$this.$toast(res.resultMessage)
|
||||
// EWebBridge.webCallAppInJs("bridge",{
|
||||
// "flag":"webview_toast",
|
||||
// "extra":{"content":res.resultMessage}
|
||||
// })
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
console.log(err)
|
||||
})
|
||||
},
|
||||
go(path) {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/customer/' + path
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/customer/' + path
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.van-index-anchor {
|
||||
background: #fff;
|
||||
}
|
||||
.container {
|
||||
padding-bottom: 45px;
|
||||
.header {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
padding: 10px;
|
||||
}
|
||||
.title {
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
.van-index-anchor {
|
||||
background: #fff;
|
||||
border-bottom: 1px solid #ebedf0;
|
||||
}
|
||||
}
|
||||
.bd {
|
||||
border-bottom: 1px solid #ebedf0;
|
||||
margin-left: 15px;
|
||||
}
|
||||
.container {
|
||||
padding-bottom: 45px;
|
||||
.header {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
padding: 10px;
|
||||
}
|
||||
.title {
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
background: #fff;
|
||||
border-bottom: 1px solid #ebedf0;
|
||||
}
|
||||
}
|
||||
.bd {
|
||||
border-bottom: 1px solid #ebedf0;
|
||||
margin-left: 15px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -338,7 +338,7 @@ export default {
|
||||
}
|
||||
|
||||
submit(data).then(res => {
|
||||
if (res.reslut == '0') {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
window.localStorage.setItem('submitStatus', res.result)
|
||||
this.$jump({
|
||||
|
||||
@@ -51,14 +51,14 @@
|
||||
<div class="fs12 div_4">
|
||||
<div class="risk_head flex text-center line-height table fs12 bg_DBEFFE">
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7">投保险种</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">保额(元)</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border" v-if="mainRiskCodes[0] != 'GFRS_M0080' && mainRiskCodes[0] != 'GFRS_M0083'">保额(元)</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">保险期间</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">交费期间</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">首年保费(元)</div>
|
||||
</div>
|
||||
<div class="risk_body flex text-center table bg_f7fbff" v-for="(riskItem, index) in pageShowInfo.showInsuredDTO.riskDTOLst" :key="index">
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7">{{ riskItem.riskName }}</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.amt ? riskItem.amt : '--' }}</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border" v-if="mainRiskCodes[0] != 'GFRS_M0080' && mainRiskCodes[0] != 'GFRS_M0083'">{{ riskItem.amt ? riskItem.amt : '--' }}</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.insureName }}</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.payName }}</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.showPrem ? riskItem.showPrem : '--' }}</div>
|
||||
|
||||
@@ -115,6 +115,10 @@ export function relevance(insured, insuredLabelResult, insuredResult, insuredInf
|
||||
|
||||
//将被保人与利益演示相关联(被保人维度)
|
||||
export function relevanceByInsure(insured, insuredLabelResult, insuredResult, insuredInfoResult) {
|
||||
console.log(insured)
|
||||
console.log(insuredLabelResult)
|
||||
console.log(insuredResult)
|
||||
console.log(insuredInfoResult)
|
||||
insured.forEach(insure => {
|
||||
for (let key in insuredLabelResult[insure.insuredId]) {
|
||||
insure.demoLabel = insuredLabelResult[insure.insuredId][key]
|
||||
@@ -144,20 +148,39 @@ export function relevanceByInsure(insured, insuredLabelResult, insuredResult, in
|
||||
let currentInsuredInfo = insuredInfoResult[insure.insuredId][risk.riskCode]
|
||||
if (currentInsuredInfo.plan && currentInsuredInfo.plan === '0') {
|
||||
let defaulValue = 'M' //档位默认值
|
||||
let radios = [
|
||||
{
|
||||
label: '低档' + currentInsuredInfo.L,
|
||||
value: 'L'
|
||||
},
|
||||
{
|
||||
label: '中档' + currentInsuredInfo.M,
|
||||
value: 'M'
|
||||
},
|
||||
{
|
||||
let radios = []
|
||||
if(currentInsuredInfo.L){
|
||||
if(risk.mainRiskCode == 'GFRS_M0083') {
|
||||
radios.push({
|
||||
label: '保证' + currentInsuredInfo.L,
|
||||
value: 'L'
|
||||
})
|
||||
} else {
|
||||
radios.push({
|
||||
label: '低档' + currentInsuredInfo.L,
|
||||
value: 'L'
|
||||
})
|
||||
}
|
||||
}
|
||||
if(currentInsuredInfo.M){
|
||||
if(risk.mainRiskCode == 'GFRS_M0083') {
|
||||
radios.push({
|
||||
label: '演示' + currentInsuredInfo.M,
|
||||
value: 'M'
|
||||
})
|
||||
} else {
|
||||
radios.push({
|
||||
label: '中档' + currentInsuredInfo.M,
|
||||
value: 'M'
|
||||
})
|
||||
}
|
||||
}
|
||||
if(currentInsuredInfo.H){
|
||||
radios.push({
|
||||
label: '高档' + currentInsuredInfo.H,
|
||||
value: 'H'
|
||||
}
|
||||
]
|
||||
})
|
||||
}
|
||||
insure.tap = defaulValue
|
||||
radios.forEach(item => {
|
||||
insure.radios.push(item)
|
||||
|
||||
@@ -250,7 +250,7 @@ import idNoCheck from '@/assets/js/utils/idNoCheck'
|
||||
import { idToData } from './js/verification'
|
||||
import { selectComp } from './js/methods'
|
||||
import getAreaName from '@/assets/js/utils/getAreaNameForSale'
|
||||
import { getOrderDetail } from '@/api/ebiz/sale/sale'
|
||||
import { getOrderDetail, checkAppointBnf } from '@/api/ebiz/sale/sale'
|
||||
|
||||
let relationToInsured = [
|
||||
{ id: 2, text: '配偶' },
|
||||
@@ -1114,21 +1114,51 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
beneficiaries.push(this.userInfo)
|
||||
// 保存 新增的受益人信息 以及页面跳转字段
|
||||
localStorage.beneficiaryInfo = JSON.stringify(beneficiaries)
|
||||
localStorage.fromAddBeneficiaryInfo = true
|
||||
if (this.userInfo.asAppntAddress == true) {
|
||||
localStorage.applicant = '1'
|
||||
let thisbnfDTOs = []
|
||||
thisbnfDTOs.push(this.userInfo)
|
||||
let params = {
|
||||
orderType: 'BNF_ORDER',
|
||||
orderDTO: {
|
||||
productDTO: null,
|
||||
orderInfoDTO: {
|
||||
bnfFlag: this.bnfFlag,
|
||||
orderNo: this.$route.query.orderNo
|
||||
},
|
||||
appntDTO: {},
|
||||
insuredDTOs: [
|
||||
{
|
||||
insuredId: JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).insuredId,
|
||||
bnfDTOs: thisbnfDTOs
|
||||
}
|
||||
],
|
||||
paymentDTO: {},
|
||||
orderAccountDTO: {},
|
||||
channelDTO: null,
|
||||
orderExpandDTO: null,
|
||||
thirdOrderDTO: null
|
||||
}
|
||||
}
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/beneficiary?orderNo=' + this.$route.query.orderNo,
|
||||
needRefresh: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/beneficiary?orderNo=' + this.$route.query.orderNo
|
||||
checkAppointBnf(params).then(res=>{
|
||||
if(res.result == '0'){
|
||||
beneficiaries.push(this.userInfo)
|
||||
// 保存 新增的受益人信息 以及页面跳转字段
|
||||
localStorage.beneficiaryInfo = JSON.stringify(beneficiaries)
|
||||
localStorage.fromAddBeneficiaryInfo = true
|
||||
if (this.userInfo.asAppntAddress == true) {
|
||||
localStorage.applicant = '1'
|
||||
}
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/beneficiary?orderNo=' + this.$route.query.orderNo,
|
||||
needRefresh: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/beneficiary?orderNo=' + this.$route.query.orderNo
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
@@ -1254,7 +1284,7 @@ export default {
|
||||
let year = date.getFullYear()
|
||||
let month = date.getMonth() + 1
|
||||
month = month.toString().padStart(2, '0')
|
||||
let day = date.getDate()
|
||||
let day = Number(date.getDate()) + 1
|
||||
day = day.toString().padStart(2, '0')
|
||||
return `${year}-${month}-${day}`
|
||||
},
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
787
src/views/ebiz/sale/InsuranceInformation_0081.vue
Normal file
787
src/views/ebiz/sale/InsuranceInformation_0081.vue
Normal file
@@ -0,0 +1,787 @@
|
||||
<template>
|
||||
<div class="insuranceInformation-container pb50 redRadioCheckbox">
|
||||
<van-notice-bar :scrollable="false" v-if="!Time" class="notice">{{ `提示:阅读时长需在${this.Time ? this.time : this.number}秒以上` }}</van-notice-bar>
|
||||
<div class="bg-white flex justify-content-c flex-direction-colunm align-it<po>ems-center p20 fs14">
|
||||
<!-- 重疾, 医疗, 意外 -->
|
||||
<div v-if="!changeCard">
|
||||
<h2 style="text-align:center" class="mb20">国富人寿保险股份有限公司</h2>
|
||||
<h2 style="text-align:center" class="mb20">人身保险投保须知</h2>
|
||||
<p class="mb20">
|
||||
1.本产品由国富人寿保险股份有限公司(以下简称国富人寿)承保,目前该公司广西、贵州地区设有分支机构。
|
||||
</p>
|
||||
<p class="mb20">
|
||||
2.您的本次投保信息将以电子投保书的形式提交给国富人寿。
|
||||
</p>
|
||||
<p class="mb20">
|
||||
3.电子投保书的填写:本电子投保书是您与国富人寿订立保险合同的重要组成部分。为保障您的权益,请务必保证电子投保书各项内容为投保人和被保险人如实、准确填写。请您以书面形式对所有告知事项进行告知。
|
||||
<span class="fw600">
|
||||
依据《中华人民共和国保险法》的有关规定,保险公司就被保险人有关情况的询问,您应当履行如实告知义务。
|
||||
</span>
|
||||
投保人故意或者因重大过失未履行如实告知义务,足以影响保险公司决定是否同意承保或者提高保险费率的,保险公司有权解除合同。前款规定的合同解除权,自保险公司知道有解除事由之日起,超过三十日不行使而消灭。自合同成立之日起超过二年的,保险公司不得解除合同;发生保险事故的,保险公司应当承担赔偿或者给付保险金的责任。投保人故意不履行如实告知义务的,保险公司对于合同解除前发生的保险事故,不承担赔偿或者给付保险金的责任,并不退还保险费。投保人因重大过失未履行如实告知义务,对保险事故的发生有严重影响的,保险公司对于合同解除前发生的保险事故,不承担赔偿或者给付保险金的责任,但应当退还保险费。保险公司在合同订立时已经知道投保人未如实告知的情况的,保险公司不得解除合同;发生保险事故的,保险公司应当承担赔偿或者给付保险金的责任。保险事故是指保险合同约定的保险责任范围内的事故。
|
||||
</p>
|
||||
<p class="mb20">
|
||||
4.投保信息真实性:为保障您的权益,请您务必真实、准确地填写相关投保信息,包括但不限于投保人、被保险人和受益人的姓名、性别、出生日期、证件类型、证件号码、本人联系电话和联系地址等。如果您提供的信息不真实、不准确或不完整,可能导致保险合同无效或您的权益受损等。
|
||||
</p>
|
||||
<p class="mb20">
|
||||
5.您在投保时如有疑问、投保成功后需要查询保单信息、投保成功后如有资料需要变更以及投诉,请您关注“国富人寿保险”官方微信公众号或前往国富人寿客户服务中心进行办理,同时还可拨打4006946688咨询。
|
||||
</p>
|
||||
<p class="mb20">
|
||||
6.投保前,请您认真阅读产品条款、页面展示内容、条款合同解除、责任免除、犹豫期退保、退保、《投保声明》等重要内容,确认理解并接受条款和页面提示的全部内容,了解理赔申请方式及理赔应备文件。
|
||||
</p>
|
||||
<p class="mb20">
|
||||
7.如您成功投保国富人寿保险产品,国富人寿将根据您投保时申请的保单形式为您发送电子保险合同或寄送纸质版电子保险合同。本产品自保险合同签收之日起,有15日的犹豫期。在此期间如果您认为本产品与您的需求不相符,可以提出解除保险合同,我们将退还您所交的保险费,此时不会有损失。如果超过犹豫期退保,国富人寿将退还您现金价值,此时有一定的损失,请您慎重。犹豫期过后,国富人寿向您投保时提供的电子邮箱发送电子发票,请您注意查收。
|
||||
</p>
|
||||
<p class="mb20">
|
||||
8.国富人寿分支机构信息详见官网信息公示(官网地址:www.e-guofu.com)。
|
||||
</p>
|
||||
<p class="mb20">
|
||||
9.以身故为给付保险金条件的保险合同,未经被保险人同意并认可保险金额的,保险合同无效。父母为其未成年子女投保的人身保险,不受此规定限制。
|
||||
</p>
|
||||
<p class="mb20">
|
||||
10.为未成年子女投保的人身保险,因被保险人死亡给付的保险金总和不得超过国务院保险监督管理机构规定的限额,死亡给付的保险金额总和约定也不得超过前述限额。
|
||||
</p>
|
||||
<p class="mb20">
|
||||
11.请您根据自身财务状况,确定选择了合适的交费期间和交费金额,无法持续交纳保险费有可能导致合同效力中止或保险合同解除。提前终止或放弃之前有效的保险合同,可能使您蒙受经济上的损失。
|
||||
</p>
|
||||
<p class="mb20">
|
||||
12.国富人寿采集客户信息的用途,包括但不限于计算保费、核保、寄送保单、客户回访、续期提醒和寄送通知书、推荐产品等。<br />
|
||||
为了保证您的权益,如果联系电话和联系地址等信息发生变更,应及时办理更正手续。
|
||||
</p>
|
||||
<p class="mb">
|
||||
13.国富人寿承诺未经您的同意,不会将客户信息用于第三方机构的销售活动
|
||||
</p>
|
||||
<p class="mb20">
|
||||
14.其他服务说明<br />
|
||||
(1)投保、承保流程<br />
|
||||
选择保险产品→点击购买→填写投保信息→确认信息和金额→在线支付→收到承保通知→投保成功。<br />
|
||||
(2)保险费支付方式<br />
|
||||
本产品的保险费支付方式:银行转账或微信支付。<br />
|
||||
(3)保单变更办理流程<br />
|
||||
方式一 :微信办理<br />
|
||||
您可关注“国富人寿保险”微信公众号,点击“服务大厅”菜单注册用户,进入“服务大厅-保单查询与变更”完成在线办理或提交申请材料。<br />
|
||||
方式二: 柜面办理<br />
|
||||
您可前往国富人寿客户服务中心柜面办理保单变更业务。<br />
|
||||
(4)保险金支付和业务款项退费<br />
|
||||
各类保险金将根据权益人授权的银行账号进行转账支付。<br />
|
||||
保单退费款项按客户申请办理相应业务时,所授权的银行账号进行转账支付。<br />
|
||||
</p>
|
||||
<h2 style="text-align:center" class="mb20">投保人授权声明</h2>
|
||||
<p class="mb20">
|
||||
1、为提供保险服务的需要,本人授权:国富人寿保险股份有限公司(以下简称国富人寿)可通过知悉本人信息的机构查询与本人有关的全部信息(包括但不限于投保、承保、理赔、行为、财务、信用、健康、医疗信息等);国富人寿及与其具有必要合作关系的机构均可对上述信息进行合理的使用。为确保信息安全,国富人寿及其合作机构应采取有效措施并承担保密义务。
|
||||
</p>
|
||||
<p class="mb20">
|
||||
2、为提供保险产品服务的需要,本人授权:国富人寿可将本人的姓名、身份证号等个人信息提供给中国银行保险信息技术管理有限公司(以下简称“中国银保信”),并同意中国银保信对上述信息以及本人投保、承保、理赔、医疗健康等信息,进行收集并经加工分析、合理使用后,传输给国富人寿用于保险产品服务。<br />
|
||||
中国银保信的上述处理行为对您接受国富人寿服务具有必要性,不会对您的个人权益造成非法侵害。如有关于个人信息保护相关的问题咨询,您可以通过以下方式联系。
|
||||
</p>
|
||||
<h2 style="text-align:center" class="mb20">被保险人授权声明</h2>
|
||||
<p class="mb20">
|
||||
1、险服务的需要,本人授权:国富人寿保险股份有限公司(以下简称国富人寿)可通过知悉本人信息的机构查询与本人有关的全部信息(包括但不限于投保、承保、理赔、行为、财务、信用、健康、医疗信息等);国富人寿及与其具有必要合作关系的机构均可对上述信息进行合理的使用。为确保信息安全,国富人寿及其合作机构应采取有效措施并承担保密义务。
|
||||
</p>
|
||||
<p class="mb20">
|
||||
2、为提供保险产品服务的需要,本人授权:国富人寿可将本人的姓名、身份证号等个人信息提供给中国银行保险信息技术管理有限公司(以下简称“中国银保信”),并同意中国银保信对上述信息以及本人投保、承保、理赔、医疗健康等信息,进行收集并经加工分析、合理使用后,传输给国富人寿用于保险产品服务。
|
||||
</p>
|
||||
<p class="mb20">
|
||||
中国银保信的上述处理行为对您接受国富人寿服务具有必要性,不会对您的个人权益造成非法侵害。如有关于个人信息保护相关的问题咨询,您可以通过以下方式联系。
|
||||
</p>
|
||||
<p class="mb20">
|
||||
中国银保信联系方式:privacy@cbit.com.cn。
|
||||
</p>
|
||||
<p style="text-indent: 2em;" class="mb20">
|
||||
说明:如您想获取个人信息处理的合作机构名称、联系方式、信息处理方式、保存期限详情和个人行使信息保护权利的方式和程序,可拨打国富人寿服务热线4006946688咨询。
|
||||
</p>
|
||||
</div>
|
||||
<div>
|
||||
<h2 style="text-align:center" class="mb20">转账授权书</h2>
|
||||
<p class="mb20">本人授权国富人寿保险股份有限公司(以下简称国富人寿)及本人指定之银行账户、微信账户按下述授权内容进行保险费的划扣及相关权益的给付。</p>
|
||||
<p class="mb20" style="font-weight: bold;">银行卡转账授权声明:</p>
|
||||
<p class="mb20">1、本人同意委托国富人寿,从本人的授权账户中扣取本保险合同所需缴纳的保险费,并保证授权账户中有足够的金额支付应交保险费。</p>
|
||||
<p class="mb20">
|
||||
2、本人确认授权的银行账户所有人为投保人本人账户的开户银行、户名和账号均真实有效,续期交费账户与首期保费交纳账户为同一账户。
|
||||
本人所提供的授权账户,必须是本人的个人结算账户(如:借记卡、个人活期结算存折)。
|
||||
</p>
|
||||
<p class="mb20">
|
||||
3、本人同意若因账户挂失、账户冻结、账户余额不足或其
|
||||
他非银行原因造成转账不成功,致使产生保险合同终止的任何后果或投资账户的费用损失,因此引起的责任概由本人承担。
|
||||
</p>
|
||||
<p class="mb20">4、如本人在同一指定账户内同时授权两张或两张以上保险单中的保险费或其他自动转账业务时,本人同意依照国富人寿规定的转账顺序转账。</p>
|
||||
<p class="mb20">5、本人投保后若办理退保或退费业务,同意国富人寿将应退金额通过银行划转入该账户。</p>
|
||||
<p class="mb20">
|
||||
6、本人因故结清账户,会重新开立账户,并及时通过国富人寿进行变更。如本人欲终止本授权,应立即向国富人寿递交终止的书面申请,由国富人寿知会银行停止转账;若因本人未及时办理账户变更手续而导致退保给付金无法按时给付,则同意国富人寿按退保申请日的给付金额支付。
|
||||
</p>
|
||||
<p class="mb20">7、对于一年期以上的产品,国富人寿可在保险费约定支付日之前及时通知本人交纳续期保险费。</p>
|
||||
<p class="mb20" style="font-weight: bold;">微信转账授权声明:</p>
|
||||
<p class="mb20">1、首期保险费使用微信支付的,本人同意国富人寿通过本人投保时留存的银行账户进行续期保险费转账扣除。</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<van-radio-group v-model="radio" class="pb10 pb20 pl30">
|
||||
<van-radio name="1" @click="click" class="fs14">
|
||||
<span v-if="changeCard">本人已详细阅读转账授权书并明确以上事项</span>
|
||||
<span v-else>本人已详细阅读保险条款并明确以上事项 </span>
|
||||
</van-radio>
|
||||
</van-radio-group>
|
||||
<div class="bg-white bottom-btn">
|
||||
<van-button type="danger" size="large" :disabled="isDisable" @click="goNext" v-no-more-click="1000">下一步</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { RadioGroup, Radio, Dialog, NoticeBar } from 'vant'
|
||||
import { saveInformation } from '@/api/ebiz/sale/sale'
|
||||
// import riskRules from '@/views/ebiz/common/risk-rules'
|
||||
|
||||
// import config from '@/config'
|
||||
// import axios from 'axios'
|
||||
export default {
|
||||
data() {
|
||||
let isWeixin = this.$utils.device().isWeixin //判断环境
|
||||
return {
|
||||
// 投保人还是被保险人信息
|
||||
signVal: '',
|
||||
// 被保险人签名信息
|
||||
insuredSign: {},
|
||||
// 投保人签名信息
|
||||
appntSign: {},
|
||||
radio: '',
|
||||
// 倒计时时间
|
||||
number: '',
|
||||
// 定时器时间
|
||||
time: '10',
|
||||
// 定时器名称
|
||||
timer: null,
|
||||
isOver: false,
|
||||
// 判断验证码是否开始倒计时
|
||||
Time: true,
|
||||
// 按钮是否可以点击
|
||||
isDisable: true,
|
||||
// 是否在微信
|
||||
isWeixin,
|
||||
changeCard: localStorage.changeCard, //是否从修改银行卡号进来
|
||||
productCode: localStorage.productCode, //获取产品编号
|
||||
protocol: false,
|
||||
documentCodeType: false,
|
||||
// manageComCode:''//代理人管理机构 52贵州 45广西
|
||||
}
|
||||
},
|
||||
components: {
|
||||
[RadioGroup.name]: RadioGroup,
|
||||
[Radio.name]: Radio,
|
||||
[Dialog.name]: Dialog,
|
||||
[NoticeBar.name]: NoticeBar
|
||||
},
|
||||
async mounted() {
|
||||
let readingType = localStorage.getItem('readingProtocolType')
|
||||
if (readingType && readingType === '1') {
|
||||
this.protocol = true
|
||||
}
|
||||
let that = this
|
||||
// {{switchFlag.Time?pageVariable.msg:pageVariable.number}}
|
||||
that.timeOut()
|
||||
document.title = this.changeCard ? '转账授权书' : '投保须知'
|
||||
// Notify({
|
||||
// type: 'warning',
|
||||
// message: `提示:阅读时长需在${this.Time ? this.time : this.number}秒以上`,
|
||||
// duration: 10000,
|
||||
// background: '#999999',
|
||||
// className: 'notify'
|
||||
// })
|
||||
|
||||
document.body.style.backgroundColor = '#fff'
|
||||
that.signVal = window.localStorage.getItem('sign-val')
|
||||
if (JSON.parse(window.localStorage.getItem('sign-insured'))) {
|
||||
that.insuredSign = JSON.parse(window.localStorage.getItem('sign-insured'))
|
||||
}
|
||||
if (JSON.parse(window.localStorage.getItem('sign-appnt'))) {
|
||||
that.appntSign = JSON.parse(window.localStorage.getItem('sign-appnt'))
|
||||
}
|
||||
//获取代理人管理机构 52贵州 45广西
|
||||
// let dataReturn = await riskRules.getAgentInfoFunc(this)
|
||||
// this.manageComCode = dataReturn.manageComCode
|
||||
},
|
||||
created() {
|
||||
this.documentCodeType = localStorage.getItem('documentCodeType')
|
||||
setTimeout(() => {
|
||||
// eslint-disable-next-line no-undef
|
||||
EWebBridge.webCallAppInJs('webview_left_button', {
|
||||
img: this.$assetsUrl + 'images/del-close-btn@3x.png',
|
||||
intercept: '1' //是否拦截原生返回事件 1是 其他否
|
||||
})
|
||||
}, 100)
|
||||
console.log(this.documentCodeType,'documentCodeType');
|
||||
window.appCallBack = this.appCallBack
|
||||
},
|
||||
methods: {
|
||||
appCallBack(data) {
|
||||
if (data.trigger == 'left_button_click') {
|
||||
return this.$dialog
|
||||
.confirm({
|
||||
className: 'dialog-delete',
|
||||
title: '提示',
|
||||
message: '退出流程可能会丢失部分数据,是否确认退出?',
|
||||
cancelButtonColor: '#E9332E',
|
||||
confirmButtonColor: '#FFFFFF'
|
||||
})
|
||||
.then(() => {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
title: '电子投保单列表',
|
||||
forbidSwipeBack: 1, //当前页面禁止右滑返回
|
||||
url: location.origin + `/#/sale/list`
|
||||
},
|
||||
routerInfo: {
|
||||
path: `/sale/list`,
|
||||
type: '1'
|
||||
}
|
||||
})
|
||||
})
|
||||
.catch(() => {
|
||||
return
|
||||
})
|
||||
}
|
||||
},
|
||||
timeOut() {
|
||||
let that = this
|
||||
let time = that.time
|
||||
that.Time = false
|
||||
that.number = `${time}`
|
||||
let timer = setInterval(() => {
|
||||
time--
|
||||
if (time <= 0) {
|
||||
time = 0
|
||||
clearInterval(timer)
|
||||
|
||||
that.Time = true
|
||||
that.isOver = true
|
||||
// window.localStorage.setItem('step', '1')
|
||||
}
|
||||
that.number = `${time}`
|
||||
}, 1000)
|
||||
},
|
||||
// 点击阅读时
|
||||
click() {
|
||||
let that = this
|
||||
if (that.isOver == false) {
|
||||
Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '该内容涉及您的重大权益,请您仔细阅读',
|
||||
showCancelButton: false
|
||||
}).then(() => {
|
||||
that.radio = ''
|
||||
})
|
||||
}
|
||||
},
|
||||
// 下一步
|
||||
goNext() {
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
forbidClick: true, // 禁用背景点击
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
})
|
||||
let that = this
|
||||
if (that.signVal == '0' || that.signVal == '2') {
|
||||
// 查看保险条款是否有,如果没有的话走原有逻辑
|
||||
let isHasClauses = Array.isArray(this.appntSign)?this.appntSign.some(item => {
|
||||
return item.documentCode == '13' && (item.documentStatus == '0' || item.documentStatus == '2')
|
||||
}):false
|
||||
if(isHasClauses) {
|
||||
that.appntSign.map(item => {
|
||||
if (item.documentCode == '1') {
|
||||
that.appntSign.signId = item.signId
|
||||
that.appntSign.documentCode = item.documentCode
|
||||
that.appntSign.documentType = item.documentType
|
||||
}
|
||||
})
|
||||
|
||||
let data = {
|
||||
orderType: 'SIGN_ORDER',
|
||||
orderDTO: {
|
||||
orderInfoDTO: {
|
||||
orderNo: that.$route.query.orderNo
|
||||
},
|
||||
ebizSignDTOS: [
|
||||
{
|
||||
signOrRead: 'read',
|
||||
signId: that.appntSign.signId,
|
||||
orderNo: that.$route.query.orderNo,
|
||||
documentCode: that.appntSign.documentCode,
|
||||
documentStatus: '1',
|
||||
documentType: that.appntSign.documentType,
|
||||
signType: that.signVal
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
saveInformation(data).then(res => {
|
||||
|
||||
// console.log(res)
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
window.localStorage.setItem('detailJump', '')
|
||||
if(this.documentCodeType == 'true') {
|
||||
// console.log('11111111111111111111');
|
||||
let url = 'AnswerTip'
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/' + url + '?orderNo=' + that.$route.query.orderNo
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/' + url + '?orderNo=' + that.$route.query.orderNo
|
||||
}
|
||||
})
|
||||
|
||||
} else {
|
||||
// console.log('222222222222222222222');
|
||||
//GFRS_M0003为万能型产品需要投保人签署产品说明书
|
||||
let url = 'insuranceClauses'
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/' + url + '?orderNo=' + this.$route.query.orderNo
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/' + url + '?orderNo=' + this.$route.query.orderNo
|
||||
}
|
||||
})
|
||||
}
|
||||
} else {
|
||||
that.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
that.goNextBefore()
|
||||
}
|
||||
} else {
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
forbidClick: true, // 禁用背景点击
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
})
|
||||
// 查看保险条款是否有,如果没有的话走原有逻辑
|
||||
let isHasClauses = Array.isArray(this.insuredSign)? this.insuredSign.some(item => {
|
||||
return item.documentCode == '13' && (item.documentStatus == '0' || item.documentStatus == '2')
|
||||
}):false
|
||||
if(isHasClauses) {
|
||||
that.insuredSign.map(item => {
|
||||
if (item.documentCode == '1') {
|
||||
that.insuredSign.signId = item.signId
|
||||
that.insuredSign.documentCode = item.documentCode
|
||||
that.insuredSign.documentType = item.documentType
|
||||
}
|
||||
})
|
||||
let data = {
|
||||
orderType: 'SIGN_ORDER',
|
||||
orderDTO: {
|
||||
orderInfoDTO: {
|
||||
orderNo: that.$route.query.orderNo
|
||||
},
|
||||
ebizSignDTOS: [
|
||||
{
|
||||
signOrRead: 'read',
|
||||
signId: that.insuredSign.signId,
|
||||
orderNo: that.$route.query.orderNo,
|
||||
documentCode: that.insuredSign.documentCode,
|
||||
documentStatus: '1',
|
||||
documentType: that.insuredSign.documentType,
|
||||
signType: that.signVal
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
saveInformation(data).then(res => {
|
||||
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
window.localStorage.setItem('detailJump', '')
|
||||
console.log('保存了结果:' + localStorage.getItem('insurance-policyUrl'))
|
||||
// if(this.documentCodeType == 'true') {
|
||||
// // console.log('3333333333333333333');
|
||||
// let url = 'AnswerTip'
|
||||
// this.$jump({
|
||||
// flag: 'h5',
|
||||
// extra: {
|
||||
// url: location.origin + '/#/sale/' + url
|
||||
// },
|
||||
// routerInfo: {
|
||||
// path: '/sale/' + url
|
||||
// }
|
||||
// })
|
||||
|
||||
// } else {
|
||||
// console.log('4444444444444444');
|
||||
//GFRS_M0003为万能型产品需要投保人签署产品说明书
|
||||
let url = 'insuranceClauses'
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/' + url + '?orderNo=' + this.$route.query.orderNo
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/' + url + '?orderNo=' + this.$route.query.orderNo
|
||||
}
|
||||
})
|
||||
// }
|
||||
// let url = 'insuranceClauses'
|
||||
// this.$jump({
|
||||
// flag: 'h5',
|
||||
// extra: {
|
||||
// url: location.origin + '/#/sale/' + url
|
||||
// },
|
||||
// routerInfo: {
|
||||
// path: '/sale/' + url
|
||||
// }
|
||||
// })
|
||||
} else {
|
||||
that.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
that.goNextBefore()
|
||||
}
|
||||
}
|
||||
},
|
||||
// 下一步,原有逻辑
|
||||
goNextBefore() {
|
||||
if (this.isWeixin) {
|
||||
console.log('````````````````````')
|
||||
console.log('进入微信')
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
|
||||
forbidClick: true, // 禁用背景点击
|
||||
|
||||
loadingType: 'spinner',
|
||||
|
||||
message: '加载中……'
|
||||
})
|
||||
let that = this
|
||||
if (that.signVal == '0' || that.signVal == '2') {
|
||||
if (!that.changeCard) {
|
||||
that.appntSign.map(item => {
|
||||
if (item.documentCode == '1') {
|
||||
that.appntSign.signId = item.signId
|
||||
that.appntSign.documentCode = item.documentCode
|
||||
that.appntSign.documentType = item.documentType
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
let data = {
|
||||
orderType: that.changeCard ? 'SIGNNEW_ORDER' : 'SIGN_ORDER',
|
||||
orderDTO: {
|
||||
orderInfoDTO: {
|
||||
orderNo: that.$route.query.orderNo
|
||||
},
|
||||
ebizSignDTOS: [
|
||||
{
|
||||
signOrRead: 'read',
|
||||
signId: that.appntSign.signId,
|
||||
orderNo: that.$route.query.orderNo,
|
||||
documentCode: that.appntSign.documentCode,
|
||||
documentStatus: '1',
|
||||
documentType: that.appntSign.documentType,
|
||||
signType: that.signVal
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
saveInformation(data).then(res => {
|
||||
// console.log(res)
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
// window.localStorage.setItem('tips-PolicyUrl', res.signDTO.tipsPolicyUrl)
|
||||
// console.log(res)
|
||||
// console.log(res.signDTO.policyUrl)
|
||||
// console.log('````````````')
|
||||
// console.log('接口拉去成功:' + res.signDTO.policyUrl)
|
||||
// window.localStorage.setItem('insurance-policyUrl', res.signDTO.policyUrl)
|
||||
window.localStorage.setItem('detailJump', '')
|
||||
// console.log('保存了结果:' + localStorage.getItem('insurance-policyUrl'))
|
||||
// let url = config.imgDomain + `/app/returnStream?imgPath=${res.signDTO.policyUrl}`
|
||||
// axios.get(url).then(res => {
|
||||
// console.log(res)
|
||||
// })
|
||||
//GFRS_M0003为万能型产品需要投保人签署产品说明书
|
||||
let url = ''
|
||||
if (that.changeCard) {
|
||||
url = 'SignatureConfirmation'
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/SignatureConfirmation?orderNo=' + this.$route.query.orderNo
|
||||
},
|
||||
routerInfo: {
|
||||
path:
|
||||
'/sale/signatureConfirmation?orderNo=' +
|
||||
this.$route.query.orderNo +
|
||||
'&token=' +
|
||||
localStorage.token +
|
||||
'&saleInsuredInfo=' +
|
||||
this.$CacheUtils.getLocItem('saleInsuredInfo') +
|
||||
'&saleInsuredPersonInfo=' +
|
||||
this.$CacheUtils.getLocItem('saleInsuredPersonInfo') +
|
||||
'&relationToAppnt=' +
|
||||
JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).relationToAppnt +
|
||||
'&signInvalid=' +
|
||||
sessionStorage.getItem('signInvalid') +
|
||||
'&airSign=1' +
|
||||
'&changeCard=0'
|
||||
}
|
||||
})
|
||||
} else {
|
||||
url = this.productCode == 'GFRS_M0003' || this.productCode == 'GFRS_M0015' || this.productCode == 'GFRS_M0017' ? 'productTip' : 'insuranceTip'
|
||||
/*that.appntSign.map(item => {
|
||||
if (item.documentCode == '8') {
|
||||
url = 'apointValidDoc'
|
||||
}
|
||||
})*/
|
||||
// 若需展示 短期健康险投保须知,则优先展示
|
||||
that.appntSign.map(item => {
|
||||
if (item.documentCode == '9') {
|
||||
url = 'shortPeriodProduct'
|
||||
}
|
||||
})
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/' + url + '?orderNo=' + that.$route.query.orderNo
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/' + url + '?orderNo=' + that.$route.query.orderNo
|
||||
}
|
||||
})
|
||||
}
|
||||
} else {
|
||||
that.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
|
||||
forbidClick: true, // 禁用背景点击
|
||||
|
||||
loadingType: 'spinner',
|
||||
|
||||
message: '加载中……'
|
||||
})
|
||||
that.insuredSign.map(item => {
|
||||
if (item.documentCode == '1') {
|
||||
that.insuredSign.signId = item.signId
|
||||
that.insuredSign.documentCode = item.documentCode
|
||||
that.insuredSign.documentType = item.documentType
|
||||
}
|
||||
})
|
||||
let data = {
|
||||
orderType: 'SIGN_ORDER',
|
||||
orderDTO: {
|
||||
orderInfoDTO: {
|
||||
orderNo: that.$route.query.orderNo
|
||||
},
|
||||
ebizSignDTOS: [
|
||||
{
|
||||
signOrRead: 'read',
|
||||
signId: that.insuredSign.signId,
|
||||
orderNo: that.$route.query.orderNo,
|
||||
documentCode: that.insuredSign.documentCode,
|
||||
documentStatus: '1',
|
||||
documentType: that.insuredSign.documentType,
|
||||
signType: that.signVal
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
saveInformation(data).then(res => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
console.log('````````````')
|
||||
// console.log('接口拉去成功:' + res.signDTO.policyUrl)
|
||||
// window.localStorage.setItem('tips-PolicyUrl', res.signDTO.tipsPolicyUrl)
|
||||
// window.localStorage.setItem('insurance-policyUrl', res.signDTO.policyUrl)
|
||||
window.localStorage.setItem('detailJump', '')
|
||||
console.log('保存了结果:' + localStorage.getItem('insurance-policyUrl'))
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/SignatureOfElectronic?orderNo=' + that.$route.query.orderNo
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/SignatureOfElectronic?orderNo=' + that.$route.query.orderNo
|
||||
}
|
||||
})
|
||||
} else {
|
||||
that.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
}
|
||||
} else {
|
||||
let that = this
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
|
||||
forbidClick: true, // 禁用背景点击
|
||||
|
||||
loadingType: 'spinner',
|
||||
|
||||
message: '加载中……'
|
||||
})
|
||||
// console.log('that.appntSign.signId',that.appntSign,that.appntSign.signId,that.appntSign.documentCode,that.appntSign.documentType)
|
||||
if (that.signVal == '0' || that.signVal == '2') {
|
||||
if (!that.changeCard) {
|
||||
that.appntSign.map(item => {
|
||||
if (item.documentCode == '1') {
|
||||
that.appntSign.signId = item.signId
|
||||
that.appntSign.documentCode = item.documentCode
|
||||
that.appntSign.documentType = item.documentType
|
||||
}
|
||||
})
|
||||
}
|
||||
let data = {
|
||||
orderType: that.changeCard ? 'SIGNNEW_ORDER' : 'SIGN_ORDER',
|
||||
orderDTO: {
|
||||
orderInfoDTO: {
|
||||
orderNo: that.$route.query.orderNo
|
||||
},
|
||||
ebizSignDTOS: [
|
||||
{
|
||||
signOrRead: 'read',
|
||||
signId: that.appntSign.signId,
|
||||
orderNo: that.$route.query.orderNo,
|
||||
documentCode: that.appntSign.documentCode,
|
||||
documentStatus: '1',
|
||||
documentType: that.appntSign.documentType,
|
||||
signType: that.signVal
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
saveInformation(data).then(res => {
|
||||
// console.log(res)
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
// window.localStorage.setItem('insurance-url', res.signDTO.policyUrl)
|
||||
// console.log('saveInformationres',res)
|
||||
// console.log(res.signDTO.policyUrl)
|
||||
// window.localStorage.setItem('tips-PolicyUrl', res.signDTO.tipsPolicyUrl)
|
||||
// window.localStorage.setItem('insurance-policyUrl', res.signDTO.policyUrl)
|
||||
window.localStorage.setItem('detailJump', '')
|
||||
// let url = config.imgDomain + `/app/returnStream?imgPath=${res.signDTO.policyUrl}`
|
||||
// axios.get(url).then(res => {
|
||||
// console.log(res)
|
||||
// })
|
||||
let url = ''
|
||||
if (that.changeCard) {
|
||||
url = 'SignatureConfirmation'
|
||||
} else {
|
||||
|
||||
url = this.productCode == 'GFRS_M0003' || this.productCode == 'GFRS_M0015' || this.productCode == 'GFRS_M0017' ? 'productTip' : 'insuranceTip'
|
||||
// 本人或投保人-需阅读短期健康险投保须知时 跳转shortPeriodProduct
|
||||
that.appntSign.map(item => {
|
||||
if (item.documentCode == '9') {
|
||||
url = 'shortPeriodProduct'
|
||||
}
|
||||
})
|
||||
}
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/' + url + '?orderNo=' + that.$route.query.orderNo,
|
||||
forbidSwipeBack: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/' + url + '?orderNo=' + that.$route.query.orderNo
|
||||
}
|
||||
})
|
||||
} else {
|
||||
that.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
that.insuredSign.map(item => {
|
||||
if (item.documentCode == '1') {
|
||||
that.insuredSign.signId = item.signId
|
||||
that.insuredSign.documentCode = item.documentCode
|
||||
that.insuredSign.documentType = item.documentType
|
||||
}
|
||||
})
|
||||
let data = {
|
||||
orderType: 'SIGN_ORDER',
|
||||
orderDTO: {
|
||||
orderInfoDTO: {
|
||||
orderNo: that.$route.query.orderNo
|
||||
},
|
||||
ebizSignDTOS: [
|
||||
{
|
||||
signOrRead: 'read',
|
||||
signId: that.insuredSign.signId,
|
||||
orderNo: that.$route.query.orderNo,
|
||||
documentCode: that.insuredSign.documentCode,
|
||||
documentStatus: '1',
|
||||
documentType: that.insuredSign.documentType,
|
||||
signType: that.signVal
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
saveInformation(data).then(res => {
|
||||
if (res.result == '0') {
|
||||
// window.localStorage.setItem('tips-PolicyUrl', res.signDTO.tipsPolicyUrl)
|
||||
// window.localStorage.setItem('insurance-policyUrl', res.signDTO.policyUrl)
|
||||
this.$toast.clear()
|
||||
window.localStorage.setItem('detailJump', '')
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/SignatureOfElectronic?orderNo=' + that.$route.query.orderNo,
|
||||
forbidSwipeBack: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/SignatureOfElectronic?orderNo=' + that.$route.query.orderNo
|
||||
}
|
||||
})
|
||||
} else {
|
||||
that.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
listenChange() {
|
||||
const { isOver, radio } = this
|
||||
return { isOver, radio }
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
listenChange(val) {
|
||||
let that = this
|
||||
// console.log('listenChange :', val)
|
||||
if (val.isOver == true && val.radio !== '') {
|
||||
that.isDisable = false
|
||||
} else {
|
||||
that.isDisable = true
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
beforeRouteLeave(to, from, next) {
|
||||
document.body.style.backgroundColor = ''
|
||||
next()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
p {
|
||||
text-align: justify;
|
||||
}
|
||||
.notice {
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
z-index: 20;
|
||||
}
|
||||
</style>
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -13,16 +13,7 @@
|
||||
</van-tabs>
|
||||
</van-sticky>
|
||||
|
||||
<van-list
|
||||
v-model="loading"
|
||||
:immediate-check="false"
|
||||
:finished="finished"
|
||||
:finished-text="finishedText"
|
||||
error-text="请求失败,点击重新加载"
|
||||
:error.sync="error"
|
||||
@load="loadMore"
|
||||
class="pb45"
|
||||
>
|
||||
<van-list v-model="loading" :immediate-check="false" :finished="finished" :finished-text="finishedText" error-text="请求失败,点击重新加载" :error.sync="error" @load="loadMore" class="pb45">
|
||||
<div v-if="isSuccess">
|
||||
<div v-if="saleList.length > 0">
|
||||
<div v-for="(order, index) in saleList" :key="index">
|
||||
@@ -83,57 +74,38 @@
|
||||
</div>
|
||||
|
||||
<div class="text-right mt15 ">
|
||||
<van-button v-if="active == 'uncommit'" round @click="goDetail(order)" size="small" class="mr5" type="danger" v-no-more-click="1000"
|
||||
>编辑</van-button
|
||||
>
|
||||
<van-button
|
||||
v-if="active == 'uncommit'"
|
||||
plain
|
||||
round
|
||||
@click.stop="del(order, index)"
|
||||
size="small"
|
||||
class="mr5"
|
||||
type="danger"
|
||||
v-no-more-click="1000"
|
||||
>删除</van-button
|
||||
>
|
||||
<van-button
|
||||
@click="againPay(order)"
|
||||
v-if="active == 'commit' && order.orderInfoDTO.orderStatus == '19'"
|
||||
size="small"
|
||||
class="mr5"
|
||||
type="danger"
|
||||
round
|
||||
>重新支付</van-button
|
||||
>
|
||||
<van-button
|
||||
@click="changeCard(order)"
|
||||
v-if="(active == 'commit' && order.orderInfoDTO.orderStatus == '48') || (active == 'commit' && order.orderInfoDTO.orderStatus == '49')"
|
||||
size="small"
|
||||
class="mr5"
|
||||
type="danger"
|
||||
round
|
||||
>修改卡号</van-button
|
||||
>
|
||||
<van-button v-if="active == 'uncommit'" round @click="goDetail(order)" size="small" class="mr5" type="danger" v-no-more-click="1000">
|
||||
编辑
|
||||
</van-button>
|
||||
<van-button v-if="active == 'uncommit'" plain round @click.stop="del(order, index)" size="small" class="mr5" type="danger" v-no-more-click="1000">
|
||||
删除
|
||||
</van-button>
|
||||
<van-button @click="againPay(order)" v-if="active == 'commit' && order.orderInfoDTO.orderStatus == '19'" size="small" class="mr5" type="danger" round>
|
||||
重新支付
|
||||
</van-button>
|
||||
<van-button @click="changeCard(order)" v-if="(active == 'commit' && order.orderInfoDTO.orderStatus == '48') || (active == 'commit' && order.orderInfoDTO.orderStatus == '49')" size="small" class="mr5" type="danger" round>
|
||||
修改卡号
|
||||
</van-button>
|
||||
<template v-if="active == 'commit' && order.orderInfoDTO.orderStatus == '55'">
|
||||
<van-button @click="changeCard(order)" size="small" class="mr5" type="danger" round>修改卡号</van-button>
|
||||
<van-button @click="againPay(order)" size="small" class="mr5" type="danger" round>重新支付</van-button>
|
||||
<van-button @click="changeCard(order)" size="small" class="mr5" type="danger" round>
|
||||
修改卡号
|
||||
</van-button>
|
||||
<van-button @click="againPay(order)" size="small" class="mr5" type="danger" round>
|
||||
重新支付
|
||||
</van-button>
|
||||
</template>
|
||||
<template v-if="active == 'commit' && (order.orderInfoDTO.orderStatus == '02' || order.orderInfoDTO.orderStatus == '58')">
|
||||
<van-button @click="goPay(order)" size="small" class="mr5" type="danger" round>去支付</van-button>
|
||||
<van-button @click="goPay(order)" size="small" class="mr5" type="danger" round>
|
||||
支付
|
||||
</van-button>
|
||||
</template>
|
||||
<!-- doubleFlag 1-否 0-是,doubleFlag为0双录时,canRevokeDouble加 orderStatus 16 -->
|
||||
<van-button
|
||||
@click="revokeOrder(order)"
|
||||
v-if="active == 'commit' && ((canRevoke[order.orderInfoDTO.orderStatus] && (order.orderInfoDTO.doubleFlag == '1' || order.orderInfoDTO.doubleFlag == null || order.orderInfoDTO.doubleFlag == ''))
|
||||
|| (canRevokeDouble[order.orderInfoDTO.orderStatus] && order.orderInfoDTO.doubleFlag == '0'))"
|
||||
size="small"
|
||||
class="mr5"
|
||||
type="danger"
|
||||
round
|
||||
>撤单</van-button
|
||||
>
|
||||
<van-button @click="seePolicy(order)" v-if="active == 'commit'" size="small" type="danger" round>查看投保单</van-button>
|
||||
<van-button @click="revokeOrder(order)" v-if="active == 'commit' && ((canRevoke[order.orderInfoDTO.orderStatus] && (order.orderInfoDTO.doubleFlag == '1' || order.orderInfoDTO.doubleFlag == null || order.orderInfoDTO.doubleFlag == ''))|| (canRevokeDouble[order.orderInfoDTO.orderStatus] && order.orderInfoDTO.doubleFlag == '0'))" size="small" class="mr5" type="danger" round>
|
||||
撤单
|
||||
</van-button>
|
||||
<van-button @click="seePolicy(order)" v-if="active == 'commit'" size="small" type="danger" round>
|
||||
查看投保单
|
||||
</van-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -147,16 +119,7 @@
|
||||
</van-list>
|
||||
|
||||
<van-button type="danger" class="bottom-btn" @click="add" v-no-more-click="1000">点我新增</van-button>
|
||||
<van-dialog
|
||||
class="dialog-delete"
|
||||
@confirm="checkCaptchaCode"
|
||||
@cancel="cancelCaptchaCode"
|
||||
:before-close="beforeClose"
|
||||
confirm-button-color="#fff"
|
||||
v-model="revokePanelShow"
|
||||
title="短信验证"
|
||||
show-cancel-button
|
||||
>
|
||||
<van-dialog class="dialog-delete" @confirm="checkCaptchaCode" @cancel="cancelCaptchaCode" :before-close="beforeClose" confirm-button-color="#fff" v-model="revokePanelShow" title="短信验证" show-cancel-button>
|
||||
<p class="captchaReceiver">投保人手机号: {{ captchaReceiver | phoneNumFilter }}</p>
|
||||
<van-field v-model="sms" center clearable placeholder="请输入短信验证码">
|
||||
<template #button>
|
||||
@@ -538,44 +501,6 @@ export default {
|
||||
}else if(orderStatus == '63'){//风险测评保存成功, 跳到账户信息--
|
||||
url = '/sale/AccountInformation?edit=1&orderNo='+orderNo
|
||||
}
|
||||
// switch (orderStatus) {
|
||||
// case '01': //已签名待客户确认, 跳到签名确认页面
|
||||
// url = '/sale/SignatureConfirmation?edit=1'
|
||||
// break
|
||||
// case '43': //未签名待客户确认, 跳到签名确认页面
|
||||
// url = '/sale/SignatureConfirmation?edit=1'
|
||||
// break
|
||||
// case '35': //投保人保存成功, 跳到被保险人页面--
|
||||
// url = '/sale/insuredPerson?edit=1'
|
||||
// break
|
||||
// case '36': //被保险人保存成功, 跳到已选产品列表
|
||||
// url = '/common/selectedProduct?edit=1'
|
||||
// break
|
||||
// case '37': //受益人保存成功, 跳到告知信息--
|
||||
// url = '/sale/NotifyingMessage?edit=1'
|
||||
// break
|
||||
// case '38': //账户信息保存成功, 跳到附件管理--
|
||||
// url = '/sale/AttachmentManagement?edit=1'
|
||||
// break
|
||||
// case '39': //险种信息保存成功, 跳到已选产品列表
|
||||
// url = '/common/selectedProduct?edit=1'
|
||||
// break
|
||||
// case '40': //告知信息保存成功, 跳到风险测评--
|
||||
// url = '/sale/answerPage?edit=1'
|
||||
// break
|
||||
// case '': //跳到投保人
|
||||
// url = '/sale/insuredInfo?edit=1'
|
||||
// break
|
||||
// case '44': //建议书转投保, 跳到投保人
|
||||
// url = '/sale/insuredInfo?edit=1'
|
||||
// break
|
||||
// case '62': //风险测评保存成功, 跳到账户信息--
|
||||
// // url = '/sale/AccountInformation?edit=1'
|
||||
// url = '/sale/answerSuccess?edit=1'
|
||||
// break
|
||||
// default:
|
||||
// break
|
||||
// }
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
|
||||
@@ -98,6 +98,7 @@ import { Cell, CellGroup, RadioGroup, Radio, Dialog } from 'vant'
|
||||
import { acceptInsurance, getBankCardSignState,payFlag, underWrite, getOrderDetail,signConfirm} from '@/api/ebiz/sale/sale'
|
||||
import Loading from '@/components/ebiz/Loading'
|
||||
import config from '@/config'
|
||||
import { wxShare } from '@/api/ebiz/common/common.js'
|
||||
export default {
|
||||
data() {
|
||||
let isWeixin = this.$utils.device().isWeixin //判断环境
|
||||
@@ -202,6 +203,25 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getOpenid(){
|
||||
wxShare({ url: location.href }).then(response => {
|
||||
if (response.result == '0') {
|
||||
let orderNo = this.$route.query.orderNo
|
||||
let code = this.getUrlParam('code')
|
||||
if(!code){
|
||||
window.location.href = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=' + response.content.appid + '&redirect_uri=' + encodeURIComponent(location.href + '?orderNo=' + orderNo) + '&response_type=code&scope=snsapi_base&state=1#wechat_redirect'
|
||||
}else{
|
||||
window.location.href = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' + response.content.appid + '&secret=' + response.content.appsecret + '&code=' + code + '&grant_type=authorization_code'
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
// 获取地址上的参数
|
||||
getUrlParam(name) {
|
||||
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
|
||||
var r = window.location.search.substr(1).match(reg);
|
||||
if (r != null) return unescape(r[2]); return null;
|
||||
},
|
||||
async payMentWx(orderNo){
|
||||
const res = await payFlag({ orderNo: orderNo })
|
||||
console.dir(res)
|
||||
@@ -225,6 +245,9 @@ export default {
|
||||
orderNo: this.orderNo,
|
||||
payType: this.radio
|
||||
}
|
||||
if(that.isWeixin){
|
||||
data.payType = 'WXJSAPI'
|
||||
}
|
||||
acceptInsurance(data).then(res => {
|
||||
console.log('----取支付参数结果:', JSON.stringify(res))
|
||||
// res = {'result':'0','resultMessage':'','content':null,'prtNo':'8186270000000008','payStatus':'4','amnt':'63700.00','appntName':'投保人','message':null,'brPayReturnData':{'result':'','resultMessage':'','content':null,'businessId':'1569125393518','businessNo':'8186270000000008','tradeSubType':'COMM','businessType':'SALE','systemType':'GF','money':63700,'businessSubType':'XDCB','thirdType':'0002','thirdName':null,'bankCode':'ABC','epayOrderNo':'1909221209536259999900','companyAccount':null,'tradeState':'TRADING','standardCode':'DEALING','standardMsg':null,'thirdOrderNo':null,'respRemark':null,'tradeTime':'2019-09-22T04:09:53.518+0000','description':'','version':'1','sourceNotecode':'8186270000000008','payType':'MIT01','expireDate':'20191010101010','transSeq':'20190922120953782','transSource':'MIT','applyEntity':'11860000','paymentCode':'8186270000000008','transDate':'20190922','rdSeq':'1909221209536259999900','settleMode':null,'cur':'CNY','transTime':'120953','ourAmount':63700,'fixUser':'1','insurer':'投保人','certType':'0','certNum':'110101199009210011','oppBank':'ABC','oppAct':'6228481200290317812','oppActName':'投保人','cellPhone':null,'purpose':null,'memo':null,'returnURL':'http://139.199.50.151/#/sale/payResult','notifyURL':'http://139.199.50.151:7000/api/v1/epay/epay/payResult','s3Sign':'e3f0581ec6b751337e8eca360a0746bc'}}
|
||||
@@ -432,7 +455,7 @@ export default {
|
||||
flag: 'share',
|
||||
extra: {
|
||||
title: `国富人寿电子投保单(${shareName})付款`,
|
||||
content: '付款进行',
|
||||
content: '投保单号:'+ localStorage.orderNo + '\n' + '支付金额:' + this.underWriteData.orderAmount + '元',
|
||||
url: location.origin + '/#/sale/payMent?orderNo=' + localStorage.orderNo + '&token=' + localStorage.token,
|
||||
img: this.$assetsUrl + 'images/logo.png'
|
||||
}
|
||||
|
||||
@@ -21,13 +21,21 @@
|
||||
<!-- <div v-if="payStatus != '2' && payStatus != '1'" class=" p10 pb250 bg-white">
|
||||
<span class="pt150 fs14"> 如有相关问题,请联系信息技术部运维人员</span>
|
||||
</div> -->
|
||||
<div v-if="payStatus == '1'" class=" p10 pb250 bg-white">
|
||||
<span class="pt150 fs14"> 核心承保中,请您稍后查看</span>
|
||||
<div class="mt15" v-if="this.manageComCode == '45'">
|
||||
<span class="pt150 fs14 green fwb">
|
||||
温馨提示:为维护您的合法权益,广西保险行业协会将向您发送满意度调查短信,欢迎回复短信对我们的销售和服务进行监督。
|
||||
</span>
|
||||
<!-- <div v-if="payStatus == '1'" class=" p10 pb250 bg-white">-->
|
||||
<!-- <span class="pt150 fs14"> 核心承保中,请您稍后查看</span>-->
|
||||
<!-- <div class="mt15" v-if="this.manageComCode == '45'">-->
|
||||
<!-- <span class="pt150 fs14 green fwb">-->
|
||||
<!-- 温馨提示:为维护您的合法权益,广西保险行业协会将向您发送满意度调查短信,欢迎回复短信对我们的销售和服务进行监督。-->
|
||||
<!-- </span>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<div v-if="payStatus == '1'" class="p10 pb250 bg-white" style="text-align: center;padding-top: 50px!important;">
|
||||
<p style="text-align: center;font-weight: bold;">温馨提示</p>
|
||||
<p style="text-align: center;">您可识别下方官方微信"国富人寿"二维码关注公众号,查询您的保单信息和服务</p>
|
||||
<div style="padding: 20px;">
|
||||
<img :src="erweima" style="width: 60vw;"/>
|
||||
</div>
|
||||
<p style="text-align: center;font-weight: bold;">长按识别二维码</p>
|
||||
</div>
|
||||
<div v-if="payStatus == '2' || payStatus == '4' || payStatus == '8'" class=" p10 pb250 bg-white">
|
||||
<span v-html="resMessage"></span>
|
||||
@@ -51,161 +59,162 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Cell, CellGroup } from 'vant'
|
||||
import { getPayState } from '@/api/ebiz/sale/sale'
|
||||
import riskRules from '@/views/ebiz/common/risk-rules'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
let isWeixin = this.$utils.device().isWeixin //判断环境
|
||||
return {
|
||||
isWeixin,
|
||||
// 保融收银台返回的支付流水号
|
||||
paySeqNo: '',
|
||||
// 接口返回数据前,不做页面渲染
|
||||
isReady: true,
|
||||
// 是否已重新获取支付状态。(首次进入本页,立即查询支付结果。如果是‘支付中’,两秒后再次(最后一次)再次获取一次支付状态。)
|
||||
isReloaded: false,
|
||||
// 结果原因
|
||||
resMessage: '',
|
||||
// 支付结果
|
||||
payStatus: '',
|
||||
// 支付信息
|
||||
payInfo: {
|
||||
appntName: '', // 投保人
|
||||
prtNo: '', // 投保单号
|
||||
amnt: '' // 支付金额
|
||||
import { Cell, CellGroup } from 'vant'
|
||||
import { getPayState } from '@/api/ebiz/sale/sale'
|
||||
import riskRules from '@/views/ebiz/common/risk-rules'
|
||||
import erweima from '@/assets/images/erweima.png'
|
||||
export default {
|
||||
data() {
|
||||
let isWeixin = this.$utils.device().isWeixin //判断环境
|
||||
return {
|
||||
isWeixin,
|
||||
// 保融收银台返回的支付流水号
|
||||
paySeqNo: '',
|
||||
// 接口返回数据前,不做页面渲染
|
||||
isReady: true,
|
||||
// 是否已重新获取支付状态。(首次进入本页,立即查询支付结果。如果是‘支付中’,两秒后再次(最后一次)再次获取一次支付状态。)
|
||||
isReloaded: false,
|
||||
// 结果原因
|
||||
resMessage: '',
|
||||
// 支付结果
|
||||
payStatus: '',
|
||||
// 支付信息
|
||||
payInfo: {
|
||||
appntName: '', // 投保人
|
||||
prtNo: '', // 投保单号
|
||||
amnt: '' // 支付金额
|
||||
},
|
||||
// 图片
|
||||
srcSuccess: this.$assetsUrl + 'images/success.png',
|
||||
srcPending: this.$assetsUrl + 'images/pending.png',
|
||||
srcFail: this.$assetsUrl + 'images/fail.png',
|
||||
erweima,
|
||||
manageComCode:''//代理人管理机构 52贵州 45广西
|
||||
}
|
||||
},
|
||||
components: {
|
||||
[Cell.name]: Cell,
|
||||
[CellGroup.name]: CellGroup
|
||||
},
|
||||
methods: {
|
||||
// 返回列表页
|
||||
next() {
|
||||
if(this.isWeixin){
|
||||
WeixinJSBridge.call("closeWindow");
|
||||
}else{
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/list'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/list'
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
// 图片
|
||||
srcSuccess: this.$assetsUrl + 'images/success.png',
|
||||
srcPending: this.$assetsUrl + 'images/pending.png',
|
||||
srcFail: this.$assetsUrl + 'images/fail.png',
|
||||
manageComCode:''//代理人管理机构 52贵州 45广西
|
||||
}
|
||||
},
|
||||
components: {
|
||||
[Cell.name]: Cell,
|
||||
[CellGroup.name]: CellGroup
|
||||
},
|
||||
methods: {
|
||||
// 返回列表页
|
||||
next() {
|
||||
if(this.isWeixin){
|
||||
WeixinJSBridge.call("closeWindow");
|
||||
}else{
|
||||
// 查询支付状态
|
||||
queryPayState() {
|
||||
this.$toast.clear()
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
forbidClick: true, // 禁用背景点击
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
})
|
||||
let data = { orderNo: this.paySeqNo }
|
||||
getPayState(data).then(res => {
|
||||
this.$toast.clear()
|
||||
this.isReady = true
|
||||
console.log('----支付结果查询', JSON.stringify(res))
|
||||
if (res.result == '0') {
|
||||
this.payStatus = res.payStatus
|
||||
this.payInfo = { appntName: res.appntName, prtNo: res.prtNo, amnt: res.amnt }
|
||||
this.resMessage = res.message
|
||||
// 如果是支付中,2秒后,重新获取一次支付状态
|
||||
if (this.payStatus == '4' && !this.isReloaded) {
|
||||
this.isReloaded = true
|
||||
setTimeout(() => {
|
||||
this.queryPayState()
|
||||
}, 2000)
|
||||
}
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
// 重新支付
|
||||
rePayMent() {
|
||||
// localStorage.orderNo = order.orderInfoDTO.orderNo
|
||||
// 再次支付 salelist为 0
|
||||
localStorage.salelist = '0'
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/list'
|
||||
url: location.origin + '/#/sale/payMent'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/list'
|
||||
path: '/sale/payMent'
|
||||
}
|
||||
})
|
||||
},
|
||||
//更换卡号
|
||||
changeCard() {
|
||||
localStorage.setItem('changeCard', true)
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/AccountInformation'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/AccountInformation'
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
// 查询支付状态
|
||||
queryPayState() {
|
||||
this.$toast.clear()
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
forbidClick: true, // 禁用背景点击
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
})
|
||||
let data = { orderNo: this.paySeqNo }
|
||||
getPayState(data).then(res => {
|
||||
this.$toast.clear()
|
||||
this.isReady = true
|
||||
console.log('----支付结果查询', JSON.stringify(res))
|
||||
if (res.result == '0') {
|
||||
this.payStatus = res.payStatus
|
||||
this.payInfo = { appntName: res.appntName, prtNo: res.prtNo, amnt: res.amnt }
|
||||
this.resMessage = res.message
|
||||
// 如果是支付中,2秒后,重新获取一次支付状态
|
||||
if (this.payStatus == '4' && !this.isReloaded) {
|
||||
this.isReloaded = true
|
||||
setTimeout(() => {
|
||||
this.queryPayState()
|
||||
}, 2000)
|
||||
}
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
created() {
|
||||
EWebBridge.webCallAppInJs('webview_left_button', {
|
||||
intercept: '1' //是否拦截原生返回事件 1是 其他否
|
||||
})
|
||||
},
|
||||
// 重新支付
|
||||
rePayMent() {
|
||||
// localStorage.orderNo = order.orderInfoDTO.orderNo
|
||||
// 再次支付 salelist为 0
|
||||
localStorage.salelist = '0'
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/payMent'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/payMent'
|
||||
}
|
||||
})
|
||||
},
|
||||
//更换卡号
|
||||
changeCard() {
|
||||
localStorage.setItem('changeCard', true)
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/AccountInformation'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/AccountInformation'
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
created() {
|
||||
EWebBridge.webCallAppInJs('webview_left_button', {
|
||||
intercept: '1' //是否拦截原生返回事件 1是 其他否
|
||||
})
|
||||
},
|
||||
async mounted() {
|
||||
let that = this
|
||||
// document.body.style.backgroundColor = '#fff'
|
||||
that.payStatus = window.localStorage.getItem('payStatus')
|
||||
that.payInfo = JSON.parse(window.localStorage.getItem('payInfo'))
|
||||
if (window.localStorage.getItem('resMessage') != null) {
|
||||
that.resMessage = window.localStorage.getItem('resMessage').replace(/\\n/g, '<br>')
|
||||
}
|
||||
async mounted() {
|
||||
let that = this
|
||||
// document.body.style.backgroundColor = '#fff'
|
||||
that.payStatus = window.localStorage.getItem('payStatus')
|
||||
that.payInfo = JSON.parse(window.localStorage.getItem('payInfo'))
|
||||
if (window.localStorage.getItem('resMessage') != null) {
|
||||
that.resMessage = window.localStorage.getItem('resMessage').replace(/\\n/g, '<br>')
|
||||
}
|
||||
|
||||
this.paySeqNo = this.$route.query.RdSeq
|
||||
if (!this.paySeqNo) {
|
||||
this.$toast({ message: '参数错误,缺少支付流水号‘RdSeq’查询参数', duration: 5000 })
|
||||
} else {
|
||||
this.queryPayState()
|
||||
this.paySeqNo = this.$route.query.RdSeq
|
||||
if (!this.paySeqNo) {
|
||||
this.$toast({ message: '参数错误,缺少支付流水号‘RdSeq’查询参数', duration: 5000 })
|
||||
} else {
|
||||
this.queryPayState()
|
||||
}
|
||||
//获取代理人管理机构 52贵州 45广西
|
||||
let dataReturn = await riskRules.getAgentInfoFunc(this)
|
||||
this.manageComCode = dataReturn.manageComCode
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
document.body.style.backgroundColor = ''
|
||||
next()
|
||||
}
|
||||
//获取代理人管理机构 52贵州 45广西
|
||||
let dataReturn = await riskRules.getAgentInfoFunc(this)
|
||||
this.manageComCode = dataReturn.manageComCode
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
document.body.style.backgroundColor = ''
|
||||
next()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.payResult-container {
|
||||
.payResult-header {
|
||||
width: 345px;
|
||||
// height: 143px;
|
||||
.payResult-img {
|
||||
width: 70px;
|
||||
height: 70px;
|
||||
.payResult-container {
|
||||
.payResult-header {
|
||||
width: 345px;
|
||||
// height: 143px;
|
||||
.payResult-img {
|
||||
width: 70px;
|
||||
height: 70px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// /deep/ .van-cell__value {
|
||||
// text-align: left;
|
||||
// }
|
||||
// /deep/ .van-cell__value {
|
||||
// text-align: left;
|
||||
// }
|
||||
</style>
|
||||
|
||||
@@ -412,171 +412,171 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
timeupdate() {
|
||||
console.log(this.$refs['vid'].paused)
|
||||
if (!this.$refs['vid'].paused) {
|
||||
this.isVideoNext = true
|
||||
}
|
||||
},
|
||||
fakeFaceAuth(expect) {
|
||||
console.log('模拟调用人脸识别')
|
||||
return new Promise(function (resolve, reject) {
|
||||
setTimeout(() => {
|
||||
console.log('模拟人脸识别完成')
|
||||
if (expect) {
|
||||
resolve({ state: '0' })
|
||||
} else {
|
||||
reject({ state: '0' })
|
||||
}
|
||||
}, 2000)
|
||||
})
|
||||
},
|
||||
appCallBack(data) {
|
||||
if (data.trigger == 'left_button_click') {
|
||||
if (this.videoShow) {
|
||||
this.$jump({
|
||||
flag: 'navigation',
|
||||
extra: {
|
||||
title: '签名确认',
|
||||
hiddenRight: '1'
|
||||
}
|
||||
})
|
||||
return (this.videoShow = false)
|
||||
}
|
||||
return this.$dialog
|
||||
.confirm({
|
||||
className: 'dialog-delete',
|
||||
title: '提示',
|
||||
message: '退出流程可能会丢失部分数据,是否确认退出?',
|
||||
cancelButtonColor: '#E9332E',
|
||||
confirmButtonColor: '#FFFFFF'
|
||||
})
|
||||
.then(() => {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
title: '电子投保单列表',
|
||||
forbidSwipeBack: 1, //当前页面禁止右滑返回
|
||||
url: location.origin + `/#/sale/list`
|
||||
},
|
||||
routerInfo: {
|
||||
path: `/sale/list`,
|
||||
type: '1'
|
||||
}
|
||||
})
|
||||
})
|
||||
.catch(() => {
|
||||
return
|
||||
})
|
||||
}
|
||||
},
|
||||
isVideoUrlClick() {
|
||||
console.log(this.isVideoUrl)
|
||||
if (!this.isVideoNext) {
|
||||
this.$dialog
|
||||
.alert({
|
||||
className: 'dialog-alert',
|
||||
title: '提示',
|
||||
message: '为维护您的合法权益,请您务必认真观看防范销售误导视频。',
|
||||
confirmButtonColor: '#ee0a24',
|
||||
confirmButtonText: '确认'
|
||||
})
|
||||
.then(() => {})
|
||||
} else {
|
||||
this.isVideoNext = !this.isVideoNext
|
||||
this.isVideoUrl == 'goUrl' ? this.goUrl() : this.insuredUrl()
|
||||
}
|
||||
},
|
||||
// 初始化
|
||||
async init() {
|
||||
localStorage.doubleRecordFlag = '0' //0不是双录单 1是双录单
|
||||
if (this.isWeixin) {
|
||||
if (this.$route.query.airSign) {
|
||||
sessionStorage.setItem('airSign', this.$route.query.airSign)
|
||||
}
|
||||
// this.$CacheUtils.setLocItem('saleInsuredInfo', this.$route.query.saleInsuredInfo)
|
||||
// window.localStorage.setItem('saleInsuredPersonInfo', this.$route.query.saleInsuredPersonInfo)
|
||||
window.localStorage.setItem('token', this.$route.query.token)
|
||||
window.localStorage.setItem('orderNo', this.$route.query.orderNo)
|
||||
// window.localStorage.setItem('relationToAppnt', this.$route.query.relationToAppnt)
|
||||
// window.localStorage.setItem('productCode', this.$route.query.productCode)
|
||||
if (this.$route.query.changeCard == '0') {
|
||||
localStorage.setItem('changeCard', true)
|
||||
} else {
|
||||
localStorage.removeItem('changeCard')
|
||||
}
|
||||
if (this.$route.query.signInvalid) {
|
||||
sessionStorage.setItem('signInvalid', this.$route.query.signInvalid)
|
||||
}
|
||||
if (this.$route.query.shareCode) {
|
||||
sessionStorage.setItem('shareCode', this.$route.query.shareCode)
|
||||
}
|
||||
let signInvalid = sessionStorage.getItem('signInvalid')
|
||||
let rs = await this.checkSignInvalid(signInvalid)
|
||||
console.log('````````````')
|
||||
console.log('rs: ' + rs)
|
||||
if (rs == '1') {
|
||||
this.isInvalid = false
|
||||
} else {
|
||||
this.isInvalid = true
|
||||
}
|
||||
this.airSign = sessionStorage.getItem('airSign')
|
||||
this.shareCode = sessionStorage.getItem('shareCode')
|
||||
this.changeCard = localStorage.getItem('changeCard')
|
||||
this.relationToAppnt = this.$route.query.relationToAppnt
|
||||
this.isShow = false
|
||||
await this.getOrderDetail()
|
||||
|
||||
console.log('初始化this.appntSign ==', this.appntSign)
|
||||
if (
|
||||
(this.appntSignStatus == '3' && sessionStorage.getItem('shareCode') == '0') ||
|
||||
(this.appntSignStatus == '3' && sessionStorage.getItem('shareCode') == '2')
|
||||
) {
|
||||
// this.$toast('签名成功,请联系业务员进行后续流程!')
|
||||
Dialog.alert({ title: '提示', message: '签名成功,请联系业务员进行后续流程!' })
|
||||
} else if (this.insuredSignStatus == '3' && sessionStorage.getItem('shareCode') == '1') {
|
||||
Dialog.alert({ title: '提示', message: '签名成功,请联系业务员进行后续流程!' })
|
||||
}
|
||||
if (this.changeCard && this.appntSign.documentStatus == '1') {
|
||||
Dialog.alert({ title: '提示', message: '确认完成,请联系业务员完成后续流程!' })
|
||||
}
|
||||
// localStorage['faceAuthWeXin-requestId'] localStorage['faceAuthWeXin-bizToken']--微信端人脸识别获取腾讯认证url接口获得,认证相关参数
|
||||
if (localStorage['faceAuthWeXin-requestId'] && localStorage['faceAuthWeXin-bizToken'] && this.$route.query.faceAuthCountWeixin != undefined) {
|
||||
this.getRecognitionResult(JSON.parse(localStorage['faceAuthWeXin-requestId']), JSON.parse(localStorage['faceAuthWeXin-bizToken']))
|
||||
}
|
||||
|
||||
if (sessionStorage.shareCode == '1') {
|
||||
console.log('进来被保险人')
|
||||
this.tipsName = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).name
|
||||
} else if(sessionStorage.shareCode == '3'){
|
||||
console.log('进来代理人')
|
||||
this.tipsName =this.recmd.name
|
||||
}else {
|
||||
console.log('进来投保人')
|
||||
this.tipsName = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).name
|
||||
// console.log('localStorage.saleInsuredInfo', localStorage.saleInsuredInfo)
|
||||
// console.log('localStorage.saleInsuredInfo.name', localStorage.saleInsuredInfo.name)
|
||||
// console.log('this.tipName', this.tipsName)
|
||||
}
|
||||
weixinShare({
|
||||
title: '国富人寿计划书',
|
||||
imgUrl: 'http://47.96.143.111:8000/app/images/logo.png',
|
||||
desc: '国富为您量身定制的保险产品,请查收'
|
||||
})
|
||||
// let params = {
|
||||
// orderNo: ''
|
||||
// }
|
||||
this.faceAuthCount.appnt = this.$route.query.faceAuthCountAppnt == undefined ? 0 : Number(this.$route.query.faceAuthCountAppnt)
|
||||
this.faceAuthCount.insured = this.$route.query.faceAuthCountInsured == undefined ? 0 : Number(this.$route.query.faceAuthCountInsured)
|
||||
this.faceAuthCount.weixin = this.$route.query.faceAuthCountWeixin == undefined ? 0 : Number(this.$route.query.faceAuthCountWeixin)
|
||||
} else {
|
||||
// 获取详情消息
|
||||
|
||||
this.getOrderDetail()
|
||||
this.getSignInvalid()
|
||||
this.isShow = true
|
||||
timeupdate() {
|
||||
console.log(this.$refs['vid'].paused)
|
||||
if (!this.$refs['vid'].paused) {
|
||||
this.isVideoNext = true
|
||||
}
|
||||
},
|
||||
fakeFaceAuth(expect) {
|
||||
console.log('模拟调用人脸识别')
|
||||
return new Promise(function (resolve, reject) {
|
||||
setTimeout(() => {
|
||||
console.log('模拟人脸识别完成')
|
||||
if (expect) {
|
||||
resolve({ state: '0' })
|
||||
} else {
|
||||
reject({ state: '0' })
|
||||
}
|
||||
}, 2000)
|
||||
})
|
||||
},
|
||||
appCallBack(data) {
|
||||
if (data.trigger == 'left_button_click') {
|
||||
if (this.videoShow) {
|
||||
this.$jump({
|
||||
flag: 'navigation',
|
||||
extra: {
|
||||
title: '签名确认',
|
||||
hiddenRight: '1'
|
||||
}
|
||||
})
|
||||
return (this.videoShow = false)
|
||||
}
|
||||
return this.$dialog
|
||||
.confirm({
|
||||
className: 'dialog-delete',
|
||||
title: '提示',
|
||||
message: '退出流程可能会丢失部分数据,是否确认退出?',
|
||||
cancelButtonColor: '#E9332E',
|
||||
confirmButtonColor: '#FFFFFF'
|
||||
})
|
||||
.then(() => {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
title: '电子投保单列表',
|
||||
forbidSwipeBack: 1, //当前页面禁止右滑返回
|
||||
url: location.origin + `/#/sale/list`
|
||||
},
|
||||
routerInfo: {
|
||||
path: `/sale/list`,
|
||||
type: '1'
|
||||
}
|
||||
})
|
||||
})
|
||||
.catch(() => {
|
||||
return
|
||||
})
|
||||
}
|
||||
},
|
||||
isVideoUrlClick() {
|
||||
console.log(this.isVideoUrl)
|
||||
if (!this.isVideoNext) {
|
||||
this.$dialog
|
||||
.alert({
|
||||
className: 'dialog-alert',
|
||||
title: '提示',
|
||||
message: '为维护您的合法权益,请您务必认真观看防范销售误导视频。',
|
||||
confirmButtonColor: '#ee0a24',
|
||||
confirmButtonText: '确认'
|
||||
})
|
||||
.then(() => {})
|
||||
} else {
|
||||
this.isVideoNext = !this.isVideoNext
|
||||
this.isVideoUrl == 'goUrl' ? this.goUrl() : this.insuredUrl()
|
||||
}
|
||||
},
|
||||
// 初始化
|
||||
async init() {
|
||||
localStorage.doubleRecordFlag = '0' //0不是双录单 1是双录单
|
||||
if (this.isWeixin) {
|
||||
if (this.$route.query.airSign) {
|
||||
sessionStorage.setItem('airSign', this.$route.query.airSign)
|
||||
}
|
||||
// this.$CacheUtils.setLocItem('saleInsuredInfo', this.$route.query.saleInsuredInfo)
|
||||
// window.localStorage.setItem('saleInsuredPersonInfo', this.$route.query.saleInsuredPersonInfo)
|
||||
window.localStorage.setItem('token', this.$route.query.token)
|
||||
window.localStorage.setItem('orderNo', this.$route.query.orderNo)
|
||||
// window.localStorage.setItem('relationToAppnt', this.$route.query.relationToAppnt)
|
||||
// window.localStorage.setItem('productCode', this.$route.query.productCode)
|
||||
if (this.$route.query.changeCard == '0') {
|
||||
localStorage.setItem('changeCard', true)
|
||||
} else {
|
||||
localStorage.removeItem('changeCard')
|
||||
}
|
||||
if (this.$route.query.signInvalid) {
|
||||
sessionStorage.setItem('signInvalid', this.$route.query.signInvalid)
|
||||
}
|
||||
if (this.$route.query.shareCode) {
|
||||
sessionStorage.setItem('shareCode', this.$route.query.shareCode)
|
||||
}
|
||||
let signInvalid = sessionStorage.getItem('signInvalid')
|
||||
let rs = await this.checkSignInvalid(signInvalid)
|
||||
console.log('````````````')
|
||||
console.log('rs: ' + rs)
|
||||
if (rs == '1') {
|
||||
this.isInvalid = false
|
||||
} else {
|
||||
this.isInvalid = true
|
||||
}
|
||||
this.airSign = sessionStorage.getItem('airSign')
|
||||
this.shareCode = sessionStorage.getItem('shareCode')
|
||||
this.changeCard = localStorage.getItem('changeCard')
|
||||
this.relationToAppnt = this.$route.query.relationToAppnt
|
||||
this.isShow = false
|
||||
await this.getOrderDetail()
|
||||
|
||||
console.log('初始化this.appntSign ==', this.appntSign)
|
||||
if (
|
||||
(this.appntSignStatus == '3' && sessionStorage.getItem('shareCode') == '0') ||
|
||||
(this.appntSignStatus == '3' && sessionStorage.getItem('shareCode') == '2')
|
||||
) {
|
||||
// this.$toast('签名成功,请联系业务员进行后续流程!')
|
||||
Dialog.alert({ title: '提示', message: '签名成功,请联系业务员进行后续流程!' })
|
||||
} else if (this.insuredSignStatus == '3' && sessionStorage.getItem('shareCode') == '1') {
|
||||
Dialog.alert({ title: '提示', message: '签名成功,请联系业务员进行后续流程!' })
|
||||
}
|
||||
if (this.changeCard && this.appntSign.documentStatus == '1') {
|
||||
Dialog.alert({ title: '提示', message: '确认完成,请联系业务员完成后续流程!' })
|
||||
}
|
||||
// localStorage['faceAuthWeXin-requestId'] localStorage['faceAuthWeXin-bizToken']--微信端人脸识别获取腾讯认证url接口获得,认证相关参数
|
||||
if (localStorage['faceAuthWeXin-requestId'] && localStorage['faceAuthWeXin-bizToken'] && this.$route.query.faceAuthCountWeixin != undefined) {
|
||||
this.getRecognitionResult(JSON.parse(localStorage['faceAuthWeXin-requestId']), JSON.parse(localStorage['faceAuthWeXin-bizToken']))
|
||||
}
|
||||
|
||||
if (sessionStorage.shareCode == '1') {
|
||||
console.log('进来被保险人')
|
||||
this.tipsName = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).name
|
||||
} else if(sessionStorage.shareCode == '3'){
|
||||
console.log('进来代理人')
|
||||
this.tipsName =this.recmd.name
|
||||
}else {
|
||||
console.log('进来投保人')
|
||||
this.tipsName = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).name
|
||||
// console.log('localStorage.saleInsuredInfo', localStorage.saleInsuredInfo)
|
||||
// console.log('localStorage.saleInsuredInfo.name', localStorage.saleInsuredInfo.name)
|
||||
// console.log('this.tipName', this.tipsName)
|
||||
}
|
||||
weixinShare({
|
||||
title: '国富人寿计划书',
|
||||
imgUrl: 'http://47.96.143.111:8000/app/images/logo.png',
|
||||
desc: '国富为您量身定制的保险产品,请查收'
|
||||
})
|
||||
// let params = {
|
||||
// orderNo: ''
|
||||
// }
|
||||
this.faceAuthCount.appnt = this.$route.query.faceAuthCountAppnt == undefined ? 0 : Number(this.$route.query.faceAuthCountAppnt)
|
||||
this.faceAuthCount.insured = this.$route.query.faceAuthCountInsured == undefined ? 0 : Number(this.$route.query.faceAuthCountInsured)
|
||||
this.faceAuthCount.weixin = this.$route.query.faceAuthCountWeixin == undefined ? 0 : Number(this.$route.query.faceAuthCountWeixin)
|
||||
} else {
|
||||
// 获取详情消息
|
||||
|
||||
this.getOrderDetail()
|
||||
this.getSignInvalid()
|
||||
this.isShow = true
|
||||
}
|
||||
},
|
||||
// 获取消息和阅读状态
|
||||
realPeopelCheck() {
|
||||
this.$toast.loading({
|
||||
@@ -1135,7 +1135,6 @@ export default {
|
||||
// }
|
||||
// documentStatus: 文档状态 0 未读 1 已读 2 未签名 3 已签名
|
||||
if (that.insuredSign[i].documentStatus == 0 || that.insuredSign[i].documentStatus == 2 ) {
|
||||
debugger
|
||||
path = that.insuredSign[i].routePath
|
||||
break
|
||||
}
|
||||
@@ -1587,10 +1586,14 @@ export default {
|
||||
}
|
||||
})
|
||||
if (!that.changeCard) {
|
||||
//将投保人数组排序
|
||||
//将投保人文件数组排序
|
||||
that.appntSign.sort(function (a, b) {
|
||||
return a.key - b.key
|
||||
})
|
||||
//将被保人文件数组排序
|
||||
that.insuredSign.sort(function (a, b) {
|
||||
return a.key - b.key
|
||||
})
|
||||
//获取投保和被保险人电子投保单签字状态
|
||||
console.log(that.appntSign,'that.appntSign')
|
||||
that.appntSign.map((item,index) => {
|
||||
@@ -1631,85 +1634,89 @@ export default {
|
||||
})
|
||||
})
|
||||
},
|
||||
//自定义key值排序用
|
||||
addKey(item) {
|
||||
//ducumentCode 1投保须知 2投保单 3产品说明书 4提示书 6免除保险人责任条款说明书 7保险销售行为双录说明
|
||||
// 8指定保单生效日 9短期险投保须知 10国富人寿自保件承诺书 11柳州保险行业寿险投保风险提示书 12个人信息使用授权
|
||||
// documentStatus: 文档状态 0 未读 1 已读 2 未签名 3 已签名
|
||||
// documentType: 文档类型 0 阅读文档 1 签名文档
|
||||
// signType: 签名类型 0 投保人 1 被保人 2 本人
|
||||
if (item.documentCode == '1') {
|
||||
item.key = 2
|
||||
// item.key = 4
|
||||
item.routePath = 'insuranceInformation'
|
||||
} else if (item.documentCode == '2') {
|
||||
// item.key = 9
|
||||
item.key = 11
|
||||
item.routePath = 'SignatureOfElectronic'
|
||||
} else if (item.documentCode == '3') {
|
||||
// item.key = 4
|
||||
item.key = 6
|
||||
item.routePath = 'productTip'
|
||||
} else if (item.documentCode == '4') {
|
||||
// item.key = 5
|
||||
item.key = 7
|
||||
item.routePath = 'InsuranceTip'
|
||||
} else if (item.documentCode == '6') {
|
||||
// item.key = 7
|
||||
item.key = 9
|
||||
item.routePath = 'avoidDutyTip'
|
||||
} else if (item.documentCode == '7') {
|
||||
// item.key = 8
|
||||
item.key = 10
|
||||
item.routePath = 'doubleRecordTip'
|
||||
} else if (item.documentCode == '8') {
|
||||
item.key = 1
|
||||
item.routePath = 'apointValidDoc'
|
||||
} else if (item.documentCode == '9') {
|
||||
// item.key = 3
|
||||
item.key = 5
|
||||
item.routePath = 'shortPeriodProduct'
|
||||
}else if (item.documentCode == '10') {
|
||||
item.key = 1
|
||||
item.routePath = 'commitmentSelfProtect'
|
||||
} else if (item.documentCode == '11') {
|
||||
// item.key = 6
|
||||
item.key = 8
|
||||
item.routePath = 'InsuranceRiskReminder'
|
||||
} else if (item.documentCode == '12') {
|
||||
// item.key = 10
|
||||
item.key = 12
|
||||
item.routePath = 'PersonalInformation'
|
||||
} else if (item.documentCode == '13') {
|
||||
// item.key = 2
|
||||
item.key = 4
|
||||
item.routePath = 'insuranceClauses'
|
||||
}else if (item.documentCode == '14') {//风险评估pdf
|
||||
item.key = 3
|
||||
item.routePath = 'AnswerTip'
|
||||
} else if (item.documentCode == '15') {
|
||||
item.key = 7.1
|
||||
item.routePath = 'universalRiskNotifyingMessageTip'
|
||||
}
|
||||
},
|
||||
getSignInvalid() {
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
|
||||
forbidClick: true, // 禁用背景点击
|
||||
|
||||
loadingType: 'spinner',
|
||||
|
||||
message: '加载中……'
|
||||
})
|
||||
let data = {}
|
||||
getSignInvalid(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
this.signInvalid = res.content.sign
|
||||
//自定义key值排序用
|
||||
addKey(item) {
|
||||
//ducumentCode 1投保须知 2投保单 3产品说明书 4提示书 6免除保险人责任条款说明书 7保险销售行为双录说明
|
||||
// 8指定保单生效日 9短期险投保须知 10国富人寿自保件承诺书 11柳州保险行业寿险投保风险提示书 12个人信息使用授权
|
||||
// documentStatus: 文档状态 0 未读 1 已读 2 未签名 3 已签名
|
||||
// documentType: 文档类型 0 阅读文档 1 签名文档
|
||||
// signType: 签名类型 0 投保人 1 被保人 2 本人
|
||||
if (item.documentCode == '1') {
|
||||
item.key = 2
|
||||
// item.key = 4
|
||||
if(JSON.parse(window.localStorage.getItem('mainRiskCodes'))[0] == 'GFRS_M0081'){
|
||||
item.routePath = 'insuranceInformation_0081'
|
||||
} else {
|
||||
item.routePath = 'insuranceInformation'
|
||||
}
|
||||
})
|
||||
} else if (item.documentCode == '2') {
|
||||
// item.key = 9
|
||||
item.key = 11
|
||||
item.routePath = 'SignatureOfElectronic'
|
||||
} else if (item.documentCode == '3') {
|
||||
// item.key = 4
|
||||
item.key = 6
|
||||
item.routePath = 'productTip'
|
||||
} else if (item.documentCode == '4') {
|
||||
// item.key = 5
|
||||
item.key = 7
|
||||
item.routePath = 'InsuranceTip'
|
||||
} else if (item.documentCode == '6') {
|
||||
// item.key = 7
|
||||
item.key = 9
|
||||
item.routePath = 'avoidDutyTip'
|
||||
} else if (item.documentCode == '7') {
|
||||
// item.key = 8
|
||||
item.key = 10
|
||||
item.routePath = 'doubleRecordTip'
|
||||
} else if (item.documentCode == '8') {
|
||||
item.key = 1
|
||||
item.routePath = 'apointValidDoc'
|
||||
} else if (item.documentCode == '9') {
|
||||
// item.key = 3
|
||||
item.key = 5
|
||||
item.routePath = 'shortPeriodProduct'
|
||||
}else if (item.documentCode == '10') {
|
||||
item.key = 1
|
||||
item.routePath = 'commitmentSelfProtect'
|
||||
} else if (item.documentCode == '11') {
|
||||
// item.key = 6
|
||||
item.key = 8
|
||||
item.routePath = 'InsuranceRiskReminder'
|
||||
} else if (item.documentCode == '12') {
|
||||
// item.key = 10
|
||||
item.key = 12
|
||||
item.routePath = 'PersonalInformation'
|
||||
} else if (item.documentCode == '13') {
|
||||
// item.key = 2
|
||||
item.key = 4
|
||||
item.routePath = 'insuranceClauses'
|
||||
}else if (item.documentCode == '14') {//风险评估pdf
|
||||
item.key = 3
|
||||
item.routePath = 'AnswerTip'
|
||||
} else if (item.documentCode == '15') {
|
||||
item.key = 7.1
|
||||
item.routePath = 'universalRiskNotifyingMessageTip'
|
||||
}
|
||||
},
|
||||
getSignInvalid() {
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
|
||||
forbidClick: true, // 禁用背景点击
|
||||
|
||||
loadingType: 'spinner',
|
||||
|
||||
message: '加载中……'
|
||||
})
|
||||
let data = {}
|
||||
getSignInvalid(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
this.signInvalid = res.content.sign
|
||||
}
|
||||
})
|
||||
},
|
||||
async checkSignInvalid(signInvalid) {
|
||||
let that = this
|
||||
this.$toast.loading({
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -343,7 +343,7 @@ export default {
|
||||
}
|
||||
|
||||
submit(data).then(res => {
|
||||
if (res.reslut == '0') {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
window.localStorage.setItem('submitStatus', res.result)
|
||||
this.$jump({
|
||||
|
||||
@@ -20,6 +20,8 @@
|
||||
<van-cell title="证件类型" :value="appntDTO.idTypeText" />
|
||||
<van-cell title="证件号码" :value="appntDTO.idNo" />
|
||||
<van-cell title="联系电话" :value="appntDTO.mobileStar" />
|
||||
<!-- <van-cell title="新市民身份" v-if="manageComCode == '45'" :value="appntDTO.isNewPeopleFlagText" />-->
|
||||
<!-- <van-cell v-if="appntDTO.isNewPeopleFlagText == '是' && manageComCode == '45'" title="新市民类型" :value="appntDTO.npTypeTypeText" />-->
|
||||
</van-cell-group>
|
||||
</van-collapse-item>
|
||||
|
||||
@@ -33,6 +35,8 @@
|
||||
<van-cell title="证件类型" :value="item.idTypeText" />
|
||||
<van-cell title="证件号码" :value="item.idNo" />
|
||||
<van-cell title="联系电话" :value="item.mobile" />
|
||||
<!-- <van-cell title="新市民身份" v-if="manageComCode == '45'" :value="item.isNewPeopleFlagText" />-->
|
||||
<!-- <van-cell v-if="item.isNewPeopleFlagText == '是' && manageComCode == '45'" title="新市民类型" :value="item.npTypeText" />-->
|
||||
</van-cell-group>
|
||||
</van-collapse-item>
|
||||
<div v-for="(itm, i) in item.bnfDTOs" :key="i" class="pb10">
|
||||
@@ -85,7 +89,7 @@
|
||||
<van-field maxlength="6" placeholder="请输入短信验证码" v-model="authCode" clearable label-width="0" />
|
||||
<van-button type="danger" plain size="small" class="w160 p0" @click="getAuthCode" :disabled="codeDisabled" v-no-more-click="2000">{{
|
||||
codeDisabled ? `${countDown}s后重新获取` : '获取验证码'
|
||||
}}</van-button>
|
||||
}}</van-button>
|
||||
</van-cell-group>
|
||||
</van-dialog>
|
||||
<!-- 2019-09-27 版上线不含“回执签收” marked by panglizong on 2019-09-26 -->
|
||||
@@ -96,355 +100,366 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Collapse, CollapseItem, Cell, CellGroup, Button, Field, Dialog } from 'vant'
|
||||
import { getPolicyDetail, getReceiptSign } from '@/api/ebiz/serve/serve'
|
||||
import { getAuthCode, autchCodeCheck } from '@/api/ebiz/sale/sale'
|
||||
import { checkPhone } from '@/api/ebiz/customer/customer'
|
||||
import dataDictionary from '@/assets/js/utils/data-dictionary' //根据数据字典进行页面展示
|
||||
import { formatAllRisk } from '@/assets/js/utils/formatRiskList'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
show: false, // 获取短信验证码
|
||||
codeDisabled: false, // 获取验证码按钮是否禁用
|
||||
timeId: null, // 计时器ID
|
||||
countDown: 60, // 倒计时
|
||||
authCode: '', // 验证码
|
||||
smsAuthNum: 3,
|
||||
operaFlag: null,
|
||||
encyCustomerMobile: null,
|
||||
customerMobile: null,
|
||||
sid: null,
|
||||
//人脸识别认证次数
|
||||
faceAuthCount: {
|
||||
appnt: 0,
|
||||
insured: 0,
|
||||
weixin: 0
|
||||
},
|
||||
// 折叠面板
|
||||
activeNames: ['1'],
|
||||
// 保单基本信息
|
||||
OrderInfoDTO: {},
|
||||
// 投保人信息
|
||||
appntDTO: {},
|
||||
// 被保险人信息
|
||||
insuredDTOs: [],
|
||||
// 保单号
|
||||
contNo: '',
|
||||
|
||||
list: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
setTimeout(() => {
|
||||
// 右上角的显示
|
||||
window.EWebBridge.webCallAppInJs('webview_right_button', {
|
||||
btns: [
|
||||
{
|
||||
img: this.$assetsUrl + 'images/share@3x.png'
|
||||
}
|
||||
]
|
||||
})
|
||||
}, 1000)
|
||||
window['appCallBack'] = this.appCallBack
|
||||
// 获取保单详情
|
||||
this.getPolicyDetail()
|
||||
},
|
||||
components: {
|
||||
[Collapse.name]: Collapse,
|
||||
[CollapseItem.name]: CollapseItem,
|
||||
[Cell.name]: Cell,
|
||||
[CellGroup.name]: CellGroup,
|
||||
[Button.name]: Button,
|
||||
[Field.name]: Field,
|
||||
[Dialog.name]: Dialog
|
||||
},
|
||||
methods: {
|
||||
// 获取短信验证码
|
||||
getAuthCode() {
|
||||
this.codeDisabled = true
|
||||
//倒计时
|
||||
this.timeId = setInterval(() => {
|
||||
this.countDown--
|
||||
if (this.countDown <= 0) {
|
||||
window.clearInterval(this.timeId)
|
||||
this.codeDisabled = false
|
||||
this.countDown = 60
|
||||
}
|
||||
import { Collapse, CollapseItem, Cell, CellGroup, Button, Field, Dialog } from 'vant'
|
||||
import { getPolicyDetail, getReceiptSign } from '@/api/ebiz/serve/serve'
|
||||
import { getAuthCode, autchCodeCheck } from '@/api/ebiz/sale/sale'
|
||||
import { checkPhone } from '@/api/ebiz/customer/customer'
|
||||
import dataDictionary from '@/assets/js/utils/data-dictionary' //根据数据字典进行页面展示
|
||||
import { formatAllRisk } from '@/assets/js/utils/formatRiskList'
|
||||
import riskRules from '@/views/ebiz/common/risk-rules'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
show: false, // 获取短信验证码
|
||||
codeDisabled: false, // 获取验证码按钮是否禁用
|
||||
timeId: null, // 计时器ID
|
||||
countDown: 60, // 倒计时
|
||||
authCode: '', // 验证码
|
||||
smsAuthNum: 3,
|
||||
operaFlag: null,
|
||||
encyCustomerMobile: null,
|
||||
customerMobile: null,
|
||||
sid: null,
|
||||
//人脸识别认证次数
|
||||
faceAuthCount: {
|
||||
appnt: 0,
|
||||
insured: 0,
|
||||
weixin: 0
|
||||
},
|
||||
// 折叠面板
|
||||
activeNames: ['1'],
|
||||
// 保单基本信息
|
||||
OrderInfoDTO: {},
|
||||
// 投保人信息
|
||||
appntDTO: {},
|
||||
// 被保险人信息
|
||||
insuredDTOs: [],
|
||||
// 保单号
|
||||
contNo: '',
|
||||
manageComCode:'',//代理人管理机构 52贵州 45广西
|
||||
list: []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
setTimeout(() => {
|
||||
// 右上角的显示
|
||||
window.EWebBridge.webCallAppInJs('webview_right_button', {
|
||||
btns: [
|
||||
{
|
||||
img: this.$assetsUrl + 'images/share@3x.png'
|
||||
}
|
||||
]
|
||||
})
|
||||
}, 1000)
|
||||
getAuthCode({
|
||||
operateType: 'appntInfoEntry',
|
||||
type: 'H5',
|
||||
operateCode: this.customerMobile,
|
||||
system: 'agentApp',
|
||||
operateCodeType: '0'
|
||||
}).then(res => {
|
||||
console.log(res)
|
||||
window['appCallBack'] = this.appCallBack
|
||||
// 获取保单详情
|
||||
this.getPolicyDetail()
|
||||
},
|
||||
async mounted() {
|
||||
let dataReturn = await riskRules.getAgentInfoFunc(this)
|
||||
this.manageComCode = dataReturn.manageComCode
|
||||
},
|
||||
components: {
|
||||
[Collapse.name]: Collapse,
|
||||
[CollapseItem.name]: CollapseItem,
|
||||
[Cell.name]: Cell,
|
||||
[CellGroup.name]: CellGroup,
|
||||
[Button.name]: Button,
|
||||
[Field.name]: Field,
|
||||
[Dialog.name]: Dialog
|
||||
},
|
||||
methods: {
|
||||
// 获取短信验证码
|
||||
getAuthCode() {
|
||||
this.codeDisabled = true
|
||||
//倒计时
|
||||
this.timeId = setInterval(() => {
|
||||
this.countDown--
|
||||
if (this.countDown <= 0) {
|
||||
window.clearInterval(this.timeId)
|
||||
this.codeDisabled = false
|
||||
this.countDown = 60
|
||||
}
|
||||
}, 1000)
|
||||
getAuthCode({
|
||||
operateType: 'appntInfoEntry',
|
||||
type: 'H5',
|
||||
operateCode: this.customerMobile,
|
||||
system: 'agentApp',
|
||||
operateCodeType: '0'
|
||||
}).then(res => {
|
||||
console.log(res)
|
||||
if (res.result == 0) {
|
||||
this.sid = res.sessionId
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
// 验证码确认事件
|
||||
async authConfirm() {
|
||||
//清理计时器
|
||||
this.clearTimer()
|
||||
this.changeSubmit()
|
||||
},
|
||||
// 清理计时器
|
||||
clearTimer() {
|
||||
window.clearInterval(this.timeId)
|
||||
this.timeId = null
|
||||
this.countDown = 60
|
||||
this.codeDisabled = false
|
||||
},
|
||||
//提交变更申请
|
||||
async changeSubmit() {
|
||||
if (null == this.sid) {
|
||||
this.$toast('请先进行发送短信验证码')
|
||||
return
|
||||
}
|
||||
let res = await autchCodeCheck({
|
||||
smsId: this.sid,
|
||||
code: this.authCode
|
||||
})
|
||||
if (res.result == 0) {
|
||||
this.sid = res.sessionId
|
||||
this.toNextPage()
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
// 验证码确认事件
|
||||
async authConfirm() {
|
||||
//清理计时器
|
||||
this.clearTimer()
|
||||
this.changeSubmit()
|
||||
},
|
||||
// 清理计时器
|
||||
clearTimer() {
|
||||
window.clearInterval(this.timeId)
|
||||
this.timeId = null
|
||||
this.countDown = 60
|
||||
this.codeDisabled = false
|
||||
},
|
||||
//提交变更申请
|
||||
async changeSubmit() {
|
||||
if (null == this.sid) {
|
||||
this.$toast('请先进行发送短信验证码')
|
||||
return
|
||||
}
|
||||
let res = await autchCodeCheck({
|
||||
smsId: this.sid,
|
||||
code: this.authCode
|
||||
})
|
||||
if (res.result == 0) {
|
||||
this.toNextPage()
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
},
|
||||
realPeopelCheck() {
|
||||
this.$toast.loading({
|
||||
// 持续展示 toast
|
||||
duration: 0,
|
||||
// 禁用背景点击s
|
||||
forbidClick: true,
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
})
|
||||
let data = {
|
||||
name: this.appntDTO.name,
|
||||
idType: this.appntDTO.idType,
|
||||
idNo: this.appntDTO.idNo,
|
||||
mobile: this.appntDTO.mobile
|
||||
}
|
||||
this.customerMobile = this.appntDTO.mobile
|
||||
this.encyCustomerMobile = this.customerMobile.replace(/^(\d{3})\d{4}(\d{4})$/, '$1****$2')
|
||||
this.authCode = null
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
return new Promise((resolve, reject) => {
|
||||
checkPhone(data).then(res => {
|
||||
if (res.result == '0') {
|
||||
console.log(res)
|
||||
this.show = true
|
||||
} else {
|
||||
Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '抱歉,您预留的手机号非您本人的手机号!',
|
||||
showCancelButton: false
|
||||
})
|
||||
}
|
||||
},
|
||||
realPeopelCheck() {
|
||||
this.$toast.loading({
|
||||
// 持续展示 toast
|
||||
duration: 0,
|
||||
// 禁用背景点击s
|
||||
forbidClick: true,
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
})
|
||||
})
|
||||
},
|
||||
// 获取保单详情
|
||||
getPolicyDetail() {
|
||||
let that = this
|
||||
let data = {
|
||||
policyNo: window.localStorage.getItem('policyNo')
|
||||
}
|
||||
|
||||
getPolicyDetail(data).then(res => {
|
||||
if (res.result == '0') {
|
||||
let appntDTO = res.content.appntDTO
|
||||
let orderInfoDTO = res.content.orderInfoDTO
|
||||
// 保单信息
|
||||
if (orderInfoDTO.orderStatus == '0') {
|
||||
orderInfoDTO.orderStatusText = '未签收'
|
||||
} else if (orderInfoDTO.orderStatus == '1') {
|
||||
orderInfoDTO.orderStatusText = '已签收'
|
||||
} else {
|
||||
orderInfoDTO.orderStatusText = ''
|
||||
}
|
||||
//团险渠道 查看团单号
|
||||
if (orderInfoDTO.saleChnl === '2' || orderInfoDTO.saleChnl === '团险') {
|
||||
orderInfoDTO.contNo=orderInfoDTO.grpContNo;
|
||||
}
|
||||
// 测试用
|
||||
// orderInfoDTO.orderStatus = '0'
|
||||
that.OrderInfoDTO = orderInfoDTO
|
||||
// 投保人信息
|
||||
this.filterData(dataDictionary.sex, 'sex', appntDTO)
|
||||
this.filterData(dataDictionary.idType, 'idType', appntDTO)
|
||||
that.appntDTO = appntDTO
|
||||
this.$CacheUtils.setLocItem('saleInsuredInfo', JSON.stringify(appntDTO))
|
||||
// 被保险人信息
|
||||
res.content.insuredDTOs.map(insured => {
|
||||
insured.riskDTOLst.map(risk => {
|
||||
Number(risk.payIntv)
|
||||
switch (risk.payIntv) {
|
||||
case -1:
|
||||
risk.payIntv = '不定期交'
|
||||
break
|
||||
case 0:
|
||||
risk.payIntv = '一次交清'
|
||||
break
|
||||
case 1:
|
||||
risk.payIntv = '月交'
|
||||
break
|
||||
case 3:
|
||||
risk.payIntv = '季交'
|
||||
break
|
||||
case 6:
|
||||
risk.payIntv = '半年交'
|
||||
break
|
||||
case 12:
|
||||
risk.payIntv = '年交'
|
||||
break
|
||||
}
|
||||
if (risk.insuYear == '70') {
|
||||
risk.insuYear = '至70周岁'
|
||||
} else if (risk.insuYear == '75') {
|
||||
risk.insuYear = '至75周岁'
|
||||
} else if (risk.insuYear == '80') {
|
||||
risk.insuYear = '至80周岁'
|
||||
} else if (risk.insuYear == '106') {
|
||||
risk.insuYear = '终身'
|
||||
} else {
|
||||
risk.insuYear = risk.insuYearFlag == 'D' ? `${risk.insuYear}天` : `${risk.insuYear}年`
|
||||
}
|
||||
})
|
||||
this.filterData(dataDictionary.sex, 'sex', insured)
|
||||
this.filterData(dataDictionary.idType, 'idType', insured)
|
||||
this.filterData(dataDictionary.relationToAppnt, 'relation', insured)
|
||||
insured.bnfDTOs.map(bnf => {
|
||||
this.filterData(dataDictionary.bnfType, 'bnfType', bnf)
|
||||
this.filterData(dataDictionary.sex, 'sex', bnf)
|
||||
this.filterData(dataDictionary.idType, 'idType', bnf)
|
||||
this.filterData(dataDictionary.relationToAppnt, 'relation', bnf)
|
||||
})
|
||||
})
|
||||
|
||||
that.insuredDTOs = res.content.insuredDTOs
|
||||
this.list = formatAllRisk(this.insuredDTOs[0].riskDTOLst)
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
let data = {
|
||||
name: this.appntDTO.name,
|
||||
idType: this.appntDTO.idType,
|
||||
idNo: this.appntDTO.idNo,
|
||||
mobile: this.appntDTO.mobile
|
||||
}
|
||||
})
|
||||
},
|
||||
appCallBack(data) {
|
||||
if (data.trigger == 'right_button_click') {
|
||||
console.log(this.$CacheUtils.getLocItem('saleInsuredInfo'))
|
||||
EWebBridge.webCallAppInJs('bridge', {
|
||||
flag: 'share',
|
||||
extra: {
|
||||
title: '国富人寿保单回执签字',
|
||||
content: '国富人寿保单回执签收',
|
||||
url:
|
||||
location.origin +
|
||||
'/#/serve/airSign?policyNo=' +
|
||||
localStorage.policyNo +
|
||||
'&token=' +
|
||||
localStorage.token +
|
||||
'&saleInsuredInfo=' +
|
||||
encodeURI(this.$CacheUtils.getLocItem('saleInsuredInfo')),
|
||||
// url: 'http://47.96.143.111/#/proposal/exhibition?proposalNo=' + localStorage.orderNo + '&token=' + localStorage.token,
|
||||
img: this.$assetsUrl + 'images/logo.png'
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
//根据数据字典 将后端返回的数据渲染到页面中
|
||||
filterData(dictionary, key, pageData) {
|
||||
dictionary.forEach(item => {
|
||||
if (pageData[key] == item.id) {
|
||||
pageData[key + 'Text'] = item.text //渲染页面使用的字段
|
||||
}
|
||||
})
|
||||
},
|
||||
// 回执签收
|
||||
next() {
|
||||
this.toNextPage()
|
||||
// let that = this
|
||||
// if (this.faceAuthCount.appnt < this.smsAuthNum) {
|
||||
// if (this.appntDTO.idType == '1') {
|
||||
// //证件类型为身份证时,进行人脸识别
|
||||
// EWebBridge.webCallAppInJs('face_auth', {
|
||||
// number: this.appntDTO.idNo, //身份证号码
|
||||
// name: this.appntDTO.name //姓名
|
||||
// }).then(data => {
|
||||
// this.$toast.loading({
|
||||
// duration: 0, // 持续展示 toast
|
||||
// forbidClick: true, // 禁用背景点击
|
||||
// loadingType: 'spinner',
|
||||
// message: '加载中……'
|
||||
// })
|
||||
// this.$toast.clear()
|
||||
// if (JSON.parse(data).state == '1') {
|
||||
// this.toNextPage()
|
||||
// } else {
|
||||
// that.faceAuthCount.appnt++
|
||||
// if (that.faceAuthCount.appnt >= this.smsAuthNum) {
|
||||
// this.realPeopelCheck()
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
// } else {
|
||||
// this.toNextPage()
|
||||
// }
|
||||
// } else {
|
||||
// this.realPeopelCheck()
|
||||
// }
|
||||
},
|
||||
toNextPage() {
|
||||
let params = {
|
||||
contNo: window.localStorage.getItem('policyNo')
|
||||
}
|
||||
getReceiptSign(params).then(res => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
window.localStorage.setItem('insurance-policyUrl', res.signUrl)
|
||||
window.localStorage.setItem('detailJump', '1')
|
||||
window.localStorage.setItem('contNo', this.OrderInfoDTO.contNo)
|
||||
window.localStorage.setItem('orderNo', this.OrderInfoDTO.orderNo)
|
||||
window.localStorage.setItem('orderStatus', this.OrderInfoDTO.orderStatus)
|
||||
this.$CacheUtils.setLocItem('saleInsuredInfo', JSON.stringify(this.appntDTO))
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/signatureOfElectronic',
|
||||
forbidSwipeBack: '1',
|
||||
title: '保险合同签收回执电子确认书签名'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/signatureOfElectronic'
|
||||
this.customerMobile = this.appntDTO.mobile
|
||||
this.encyCustomerMobile = this.customerMobile.replace(/^(\d{3})\d{4}(\d{4})$/, '$1****$2')
|
||||
this.authCode = null
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
return new Promise((resolve, reject) => {
|
||||
checkPhone(data).then(res => {
|
||||
if (res.result == '0') {
|
||||
console.log(res)
|
||||
this.show = true
|
||||
} else {
|
||||
Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '抱歉,您预留的手机号非您本人的手机号!',
|
||||
showCancelButton: false
|
||||
})
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
})
|
||||
},
|
||||
// 获取保单详情
|
||||
getPolicyDetail() {
|
||||
let that = this
|
||||
let data = {
|
||||
policyNo: window.localStorage.getItem('policyNo')
|
||||
}
|
||||
})
|
||||
|
||||
getPolicyDetail(data).then(res => {
|
||||
if (res.result == '0') {
|
||||
let appntDTO = res.content.appntDTO
|
||||
let orderInfoDTO = res.content.orderInfoDTO
|
||||
// 保单信息
|
||||
if (orderInfoDTO.orderStatus == '0') {
|
||||
orderInfoDTO.orderStatusText = '未签收'
|
||||
} else if (orderInfoDTO.orderStatus == '1') {
|
||||
orderInfoDTO.orderStatusText = '已签收'
|
||||
} else {
|
||||
orderInfoDTO.orderStatusText = ''
|
||||
}
|
||||
//团险渠道 查看团单号
|
||||
if (orderInfoDTO.saleChnl === '2' || orderInfoDTO.saleChnl === '团险') {
|
||||
orderInfoDTO.contNo=orderInfoDTO.grpContNo;
|
||||
}
|
||||
// 测试用
|
||||
// orderInfoDTO.orderStatus = '0'
|
||||
that.OrderInfoDTO = orderInfoDTO
|
||||
// 投保人信息
|
||||
this.filterData(dataDictionary.sex, 'sex', appntDTO)
|
||||
this.filterData(dataDictionary.isNewPeopleFlag, 'isNewPeopleFlag', appntDTO)
|
||||
this.filterData(dataDictionary.npType, 'isNewPeopleFlag', appntDTO)
|
||||
this.filterData(dataDictionary.idType, 'idType', appntDTO)
|
||||
that.appntDTO = appntDTO
|
||||
this.$CacheUtils.setLocItem('saleInsuredInfo', JSON.stringify(appntDTO))
|
||||
// 被保险人信息
|
||||
res.content.insuredDTOs.map(insured => {
|
||||
insured.riskDTOLst.map(risk => {
|
||||
Number(risk.payIntv)
|
||||
switch (risk.payIntv) {
|
||||
case -1:
|
||||
risk.payIntv = '不定期交'
|
||||
break
|
||||
case 0:
|
||||
risk.payIntv = '一次交清'
|
||||
break
|
||||
case 1:
|
||||
risk.payIntv = '月交'
|
||||
break
|
||||
case 3:
|
||||
risk.payIntv = '季交'
|
||||
break
|
||||
case 6:
|
||||
risk.payIntv = '半年交'
|
||||
break
|
||||
case 12:
|
||||
risk.payIntv = '年交'
|
||||
break
|
||||
}
|
||||
if (risk.insuYear == '70') {
|
||||
risk.insuYear = '至70周岁'
|
||||
} else if (risk.insuYear == '75') {
|
||||
risk.insuYear = '至75周岁'
|
||||
} else if (risk.insuYear == '80') {
|
||||
risk.insuYear = '至80周岁'
|
||||
} else if (risk.insuYear == '106') {
|
||||
risk.insuYear = '终身'
|
||||
} else {
|
||||
risk.insuYear = risk.insuYearFlag == 'D' ? `${risk.insuYear}天` : `${risk.insuYear}年`
|
||||
}
|
||||
})
|
||||
this.filterData(dataDictionary.sex, 'sex', insured)
|
||||
this.filterData(dataDictionary.isNewPeopleFlag, 'isNewPeopleFlag', insured)
|
||||
this.filterData(dataDictionary.npType, 'npType', insured)
|
||||
this.filterData(dataDictionary.idType, 'idType', insured)
|
||||
this.filterData(dataDictionary.relationToAppnt, 'relation', insured)
|
||||
insured.bnfDTOs.map(bnf => {
|
||||
this.filterData(dataDictionary.bnfType, 'bnfType', bnf)
|
||||
this.filterData(dataDictionary.sex, 'sex', bnf)
|
||||
this.filterData(dataDictionary.isNewPeopleFlag, 'isNewPeopleFlag', bnf)
|
||||
this.filterData(dataDictionary.npType, 'npType', bnf)
|
||||
this.filterData(dataDictionary.idType, 'idType', bnf)
|
||||
this.filterData(dataDictionary.relationToAppnt, 'relation', bnf)
|
||||
})
|
||||
})
|
||||
|
||||
that.insuredDTOs = res.content.insuredDTOs
|
||||
this.list = formatAllRisk(this.insuredDTOs[0].riskDTOLst)
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
appCallBack(data) {
|
||||
if (data.trigger == 'right_button_click') {
|
||||
console.log(this.$CacheUtils.getLocItem('saleInsuredInfo'))
|
||||
EWebBridge.webCallAppInJs('bridge', {
|
||||
flag: 'share',
|
||||
extra: {
|
||||
title: '国富人寿保单回执签字',
|
||||
content: '国富人寿保单回执签收',
|
||||
url:
|
||||
location.origin +
|
||||
'/#/serve/airSign?policyNo=' +
|
||||
localStorage.policyNo +
|
||||
'&token=' +
|
||||
localStorage.token +
|
||||
'&saleInsuredInfo=' +
|
||||
encodeURI(this.$CacheUtils.getLocItem('saleInsuredInfo')),
|
||||
// url: 'http://47.96.143.111/#/proposal/exhibition?proposalNo=' + localStorage.orderNo + '&token=' + localStorage.token,
|
||||
img: this.$assetsUrl + 'images/logo.png'
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
//根据数据字典 将后端返回的数据渲染到页面中
|
||||
filterData(dictionary, key, pageData) {
|
||||
dictionary.forEach(item => {
|
||||
if (pageData[key] == item.id) {
|
||||
pageData[key + 'Text'] = item.text //渲染页面使用的字段
|
||||
}
|
||||
})
|
||||
},
|
||||
// 回执签收
|
||||
next() {
|
||||
this.toNextPage()
|
||||
// let that = this
|
||||
// if (this.faceAuthCount.appnt < this.smsAuthNum) {
|
||||
// if (this.appntDTO.idType == '1') {
|
||||
// //证件类型为身份证时,进行人脸识别
|
||||
// EWebBridge.webCallAppInJs('face_auth', {
|
||||
// number: this.appntDTO.idNo, //身份证号码
|
||||
// name: this.appntDTO.name //姓名
|
||||
// }).then(data => {
|
||||
// this.$toast.loading({
|
||||
// duration: 0, // 持续展示 toast
|
||||
// forbidClick: true, // 禁用背景点击
|
||||
// loadingType: 'spinner',
|
||||
// message: '加载中……'
|
||||
// })
|
||||
// this.$toast.clear()
|
||||
// if (JSON.parse(data).state == '1') {
|
||||
// this.toNextPage()
|
||||
// } else {
|
||||
// that.faceAuthCount.appnt++
|
||||
// if (that.faceAuthCount.appnt >= this.smsAuthNum) {
|
||||
// this.realPeopelCheck()
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
// } else {
|
||||
// this.toNextPage()
|
||||
// }
|
||||
// } else {
|
||||
// this.realPeopelCheck()
|
||||
// }
|
||||
},
|
||||
toNextPage() {
|
||||
let params = {
|
||||
contNo: window.localStorage.getItem('policyNo')
|
||||
}
|
||||
getReceiptSign(params).then(res => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
window.localStorage.setItem('insurance-policyUrl', res.signUrl)
|
||||
window.localStorage.setItem('detailJump', '1')
|
||||
window.localStorage.setItem('contNo', this.OrderInfoDTO.contNo)
|
||||
window.localStorage.setItem('orderNo', this.OrderInfoDTO.orderNo)
|
||||
window.localStorage.setItem('orderStatus', this.OrderInfoDTO.orderStatus)
|
||||
this.$CacheUtils.setLocItem('saleInsuredInfo', JSON.stringify(this.appntDTO))
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/signatureOfElectronic',
|
||||
forbidSwipeBack: '1',
|
||||
title: '保险合同签收回执电子确认书签名'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/signatureOfElectronic'
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.detail-container {
|
||||
.van-hairline--top-bottom::after {
|
||||
border: none;
|
||||
.detail-container {
|
||||
.van-hairline--top-bottom::after {
|
||||
border: none;
|
||||
}
|
||||
/deep/ .van-collapse-item__content {
|
||||
padding-top: 0;
|
||||
}
|
||||
/deep/.van-collapse-item__title {
|
||||
padding-left: 30px;
|
||||
}
|
||||
/deep/ .van-cell__value {
|
||||
text-align: left !important;
|
||||
}
|
||||
}
|
||||
/deep/ .van-collapse-item__content {
|
||||
padding-top: 0;
|
||||
}
|
||||
/deep/.van-collapse-item__title {
|
||||
padding-left: 30px;
|
||||
}
|
||||
/deep/ .van-cell__value {
|
||||
text-align: left !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -32,13 +32,11 @@ module.exports = {
|
||||
chainWebpack: config => {
|
||||
// 移除 prefetch 插件
|
||||
config.plugins.delete('prefetch')
|
||||
|
||||
// 或者
|
||||
// 修改它的选项:
|
||||
// config.plugin('prefetch').tap(options => {
|
||||
// options[0].fileBlacklist = options[0].fileBlacklist || []
|
||||
// options[0].fileBlacklist.push(/myasyncRoute(.)+?\.js$/)
|
||||
// return options
|
||||
// // 压缩代码
|
||||
// config.optimization.minimize(true)
|
||||
// // 分割代码
|
||||
// config.optimization.splitChunks({
|
||||
// chunks: 'all',
|
||||
// })
|
||||
},
|
||||
devServer: {
|
||||
|
||||
Reference in New Issue
Block a user