Compare commits
136 Commits
20241120上线
...
20250722-证
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e374c9e813 | ||
|
|
8ca15da11c | ||
|
|
d6bbdae734 | ||
|
|
89aea09de2 | ||
|
|
7a81b4e6eb | ||
|
|
d13ce27e3c | ||
|
|
a1895b540c | ||
|
|
5babd3d029 | ||
|
|
89d4fb1871 | ||
|
|
f7982ac052 | ||
|
|
bde1de79ac | ||
|
|
3631f57ee2 | ||
|
|
c2014d9e4b | ||
|
|
a0a9b5637e | ||
|
|
dd11f4b4e0 | ||
|
|
f1f8c3ddae | ||
|
|
71d2d67a2c | ||
|
|
0ca75379b1 | ||
|
|
83e8130c54 | ||
|
|
d9dec5980e | ||
|
|
5a42f90f94 | ||
|
|
8d3f3042a2 | ||
|
|
7cf378d0a2 | ||
|
|
ae870b8139 | ||
|
|
549823d928 | ||
|
|
18926ff55e | ||
|
|
b8d4083dec | ||
|
|
5d0e78fcde | ||
|
|
c363e600be | ||
|
|
f67cf5bf19 | ||
|
|
228e992b99 | ||
|
|
6218c413c7 | ||
|
|
7054c35de0 | ||
|
|
45d2a919b7 | ||
|
|
c7d5d1b7f5 | ||
|
|
e9ade69acd | ||
|
|
5b7ef08984 | ||
|
|
a06c9fb575 | ||
|
|
11fe456dfd | ||
|
|
ee0f68a183 | ||
|
|
7089e16029 | ||
|
|
b34f9b08ea | ||
|
|
4fca606f94 | ||
|
|
07f280fc3c | ||
|
|
16a1ed80ad | ||
|
|
2bd46c8c82 | ||
|
|
67f13e6d79 | ||
|
|
d8953582e1 | ||
|
|
f26ebe6ded | ||
|
|
a6685c2360 | ||
|
|
93d5b9a05f | ||
|
|
8ed05e2e1a | ||
|
|
1a61367991 | ||
|
|
46cccb9d4e | ||
|
|
f2e3566893 | ||
|
|
e3f5e7c25e | ||
|
|
2842c846d0 | ||
|
|
48f48c4630 | ||
|
|
e3442ea811 | ||
|
|
925424744a | ||
|
|
dbfcc19fbe | ||
|
|
a54e8c057c | ||
|
|
10f70b4a0e | ||
|
|
79c3f90213 | ||
|
|
fe0cc0891a | ||
|
|
644e4b689e | ||
|
|
b638417b6b | ||
|
|
f66cfc1ce7 | ||
|
|
96851bfc94 | ||
|
|
afaacc172f | ||
|
|
29c066b28b | ||
|
|
0d5fe441a1 | ||
|
|
6f6318dab5 | ||
|
|
96fe16a775 | ||
|
|
7191ddbf2f | ||
|
|
21c686d9cb | ||
|
|
52e5844372 | ||
|
|
d458ee3ba2 | ||
|
|
f4459b00f6 | ||
|
|
fad3e8d73c | ||
|
|
5239aba5e5 | ||
|
|
55165468ae | ||
|
|
c9768f9558 | ||
|
|
9a0a6b2e49 | ||
|
|
4553e8cc08 | ||
|
|
fdf4ecde4d | ||
|
|
24dfedac1f | ||
|
|
0c58518635 | ||
|
|
47743bf490 | ||
|
|
b6934ba12c | ||
|
|
87c746bcf4 | ||
|
|
9532363f6b | ||
|
|
3f225b1b56 | ||
|
|
1b9b979b56 | ||
|
|
cd913a749e | ||
|
|
09680f896c | ||
|
|
8c53d92194 | ||
|
|
53f72916cb | ||
|
|
eed8a9a1cb | ||
|
|
892ff39f14 | ||
|
|
d7ddab1cdd | ||
|
|
093f8cde83 | ||
|
|
706fa92167 | ||
|
|
89b0d487bb | ||
|
|
52dc720c6c | ||
|
|
4040b2f094 | ||
|
|
d3076d795a | ||
|
|
439753191e | ||
|
|
4c475ce1eb | ||
|
|
0f96837149 | ||
|
|
3a5978b8d5 | ||
|
|
e1c1e79fc6 | ||
|
|
767cf542da | ||
|
|
420ed68da2 | ||
|
|
4e0f3e56ea | ||
|
|
b2f0991b3b | ||
|
|
4b21142851 | ||
|
|
83a4cad126 | ||
|
|
60459e239c | ||
|
|
b5c3a53974 | ||
|
|
92cdc8fe15 | ||
|
|
5dc788fab7 | ||
|
|
3eb2a397e4 | ||
|
|
5b8f8c7210 | ||
|
|
c6ae2507e6 | ||
|
|
b159265bea | ||
|
|
831c1a0782 | ||
|
|
8cf396fe31 | ||
|
|
bbdc377e6f | ||
|
|
d672e2d5a8 | ||
|
|
f07fd0f56a | ||
|
|
48e35a2a5a | ||
|
|
d324268b44 | ||
|
|
bb281e2b74 | ||
|
|
7908ed90c2 | ||
|
|
0ee6ff4bd1 |
3
.gitignore
vendored
@@ -3,4 +3,5 @@ dist
|
||||
|
||||
.eslintrc.js
|
||||
.prettierrc
|
||||
.idea
|
||||
.idea
|
||||
.history
|
||||
@@ -24,4 +24,12 @@ export function queryOutOrderList(data) {
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 出单详情
|
||||
export function queryOutOrderDetail(data) {
|
||||
return request({
|
||||
url: getUrl(`/sale/order/queryOutOrderDetail`, 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
Before Width: | Height: | Size: 579 KiB After Width: | Height: | Size: 107 KiB |
|
Before Width: | Height: | Size: 228 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 303 KiB After Width: | Height: | Size: 428 KiB |
|
Before Width: | Height: | Size: 273 KiB After Width: | Height: | Size: 2.6 MiB |
@@ -3947,6 +3947,35 @@ export default {
|
||||
{
|
||||
code: "GFRS_M0094__cashValue",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
//养老年金开始领取年龄
|
||||
code: 'pensionAge',
|
||||
label: '岁'
|
||||
},
|
||||
{
|
||||
code: 'AppntCriticalDiseaseExemptionPremiumD',
|
||||
label: '元'
|
||||
},
|
||||
{
|
||||
code: 'AppntModerateOrMinorDiseaseExemptionPremiumD',
|
||||
label: '元'
|
||||
},
|
||||
{
|
||||
code: 'AppntDeathOrTotalDiseaseExemptionPremiumD',
|
||||
label: '元'
|
||||
},
|
||||
{
|
||||
code: 'InsuredCriticalDiseaseExemptionPremiumD',
|
||||
label: '元'
|
||||
},
|
||||
{
|
||||
code: 'InsuredModerateOrMinorDiseaseExemptionPremiumD',
|
||||
label: '元'
|
||||
},
|
||||
{
|
||||
code: 'InsuredDeathOrTotalDiseaseExemptionPremiumD',
|
||||
label: '元'
|
||||
}
|
||||
],
|
||||
// 卡单与短期险重新投保选择职业类别时,两个模块职业类型数据的排序不同,创建这个数据字典,用于在选择职业类别时,作为一个参数传入组件,
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<van-field
|
||||
minlength="6"
|
||||
class="pt5 mt10"
|
||||
style="border-top:1px solid #eaeaea;border-bottom:1px solid #eaeaea"
|
||||
style="border-top: 1px solid #eaeaea; border-bottom: 1px solid #eaeaea"
|
||||
v-model="checkModel.pwd"
|
||||
clearable
|
||||
type="password"
|
||||
@@ -207,7 +207,7 @@ export default {
|
||||
operateCodeType: '0'
|
||||
}
|
||||
//获取验证码
|
||||
getAuthCode(data).then(res => {
|
||||
getAuthCode(data).then((res) => {
|
||||
if (res.result == 0) {
|
||||
this.checkModel.smsId = res.sessionId
|
||||
this.checkModel.smsCode = null
|
||||
@@ -225,6 +225,18 @@ export default {
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
/**
|
||||
* 监听弹窗显示隐藏
|
||||
*/
|
||||
'checkModel.show'(val) {
|
||||
console.log('checkModel.show', val)
|
||||
// 显示时禁止截屏,不显示时恢复截屏
|
||||
EWebBridge.webCallAppInJs('enable_screen_capture', {
|
||||
enable: !val
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -11,13 +11,20 @@
|
||||
<tbody>
|
||||
<tr v-for="(item, index) in tableData" :key="index" :ref="'th' + index" @click="(e) => double_click(index, item)">
|
||||
<td class="th-fixed" @click="goLink(item)">{{ Number(index) + 1 }}</td>
|
||||
<td>{{ item.signDate }}</td>
|
||||
<td>{{ item.appntDate }}</td>
|
||||
<td>{{ item.productName }}</td>
|
||||
<td>{{ item.prem }}</td>
|
||||
<td>{{ item.name }}</td>
|
||||
<td class="timeDate" v-show="timeShow">{{ item.signDate }}</td>
|
||||
<td class="timeDate" v-show="timeShow == false">{{ item.appntDate }}</td>
|
||||
<td class="productName">{{ item.productName }}</td>
|
||||
<td class="prem">{{ item.prem }}</td>
|
||||
<td>
|
||||
<span class="td-sheng">{{ item.name }}</span>
|
||||
</td>
|
||||
<td>{{ item.manageComName }}</td>
|
||||
<td class="chakan">
|
||||
<van-button size="mini" type="danger" @click="download(item)">下载贺报</van-button>
|
||||
<van-button size="mini" type="info" @click="look(item.orderNo)">查看</van-button>
|
||||
</td>
|
||||
<!-- <td>{{ item.branchTypeName }}</td>-->
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -28,6 +35,8 @@
|
||||
<div type="text" @click="pageUp" :style="pageNum > 1 ? 'color:red' : ''">上一页</div>
|
||||
<div style="color: red">{{ pageNum }}/{{ Math.ceil(total / pageSize) }}</div>
|
||||
<div @click="pageDown" :style="pageNum < Math.ceil(total / pageSize) ? 'color:red' : ''">下一页 ></div>
|
||||
<div v-if="pageNum == 1" class="shangzheBox"></div>
|
||||
<div v-if="pageNum >= Math.ceil(total / pageSize)" class="xiazheBox"></div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -62,9 +71,32 @@ export default {
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {}
|
||||
return {
|
||||
timeShow: false,
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
theads(newVal) {
|
||||
if (newVal) {
|
||||
for(let i=0;i<this.theads.length;i++) {
|
||||
if(this.theads[i] == '承保时间') {
|
||||
this.timeShow = true
|
||||
} else if(this.theads[i] == '预收时间') {
|
||||
this.timeShow = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
for(let i=0;i<this.theads.length;i++) {
|
||||
if(this.theads[i] == '承保时间') {
|
||||
this.timeShow = true
|
||||
} else if(this.theads[i] == '预收时间') {
|
||||
this.timeShow = false
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {},
|
||||
methods: {
|
||||
double_click(index, fn, data) {
|
||||
let timestamp = 0
|
||||
@@ -98,7 +130,22 @@ export default {
|
||||
if (this.isLink) {
|
||||
this.$emit('goLink', item)
|
||||
}
|
||||
}
|
||||
},
|
||||
// 跳转至下载贺报页面
|
||||
download(data){
|
||||
this.$emit('from-child', data);
|
||||
},
|
||||
// 查看详情 跳转至详情页面
|
||||
look(num) {
|
||||
this.$emit('fro-child', num);
|
||||
// console.log(num);
|
||||
// this.$router.push({
|
||||
// path: '/policyDetails',
|
||||
// query: {
|
||||
// orderNo: num,
|
||||
// }
|
||||
// })
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -110,6 +157,21 @@ export default {
|
||||
margin-bottom: 10px;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
.shangzheBox {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 70px;
|
||||
height: 30px;
|
||||
}
|
||||
.xiazheBox {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
width: 70px;
|
||||
height: 30px;
|
||||
}
|
||||
}
|
||||
.statisticsTable_table {
|
||||
height: 82.5vh;
|
||||
@@ -117,14 +179,35 @@ export default {
|
||||
//width: 1000px;
|
||||
}
|
||||
.statisticsTable_table .table {
|
||||
width: 1000px;
|
||||
width: 195.6vw !important;
|
||||
}
|
||||
.timeDate {
|
||||
width: 90px !important;
|
||||
}
|
||||
.productName {
|
||||
width: 35vw;
|
||||
}
|
||||
.chakan {
|
||||
width: 130px;
|
||||
}
|
||||
.prem {
|
||||
text-align: right !important;
|
||||
width: 90px !important;
|
||||
padding-right: 7px !important;
|
||||
}
|
||||
.statisticsTable th {
|
||||
width: 800px;
|
||||
width: 90px;
|
||||
}
|
||||
table {
|
||||
// width: 200vw;
|
||||
}
|
||||
.th-fixed {
|
||||
position: sticky;
|
||||
border: 1px solid #999 !important;
|
||||
left: 0;
|
||||
width: 35px !important;
|
||||
padding: 0 5px;
|
||||
}
|
||||
.statisticsTable {
|
||||
width: 100%;
|
||||
overflow-x: hidden;
|
||||
@@ -150,17 +233,22 @@ table {
|
||||
}
|
||||
}
|
||||
}
|
||||
.th-fixed {
|
||||
// position: sticky;
|
||||
left: 0;
|
||||
width: 150px;
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
.td-fixed {
|
||||
// position: sticky;
|
||||
width: 150px;
|
||||
width: 33px !important;
|
||||
padding: 0 5px;
|
||||
left: 0;
|
||||
text-decoration: underline;
|
||||
}
|
||||
.td-sheng {
|
||||
display: block;
|
||||
width: 65px; /* 设置span的宽度 */
|
||||
white-space: nowrap; /* 确保文本不换行 */
|
||||
overflow: hidden; /* 隐藏超出span宽度的文本 */
|
||||
text-overflow: ellipsis; /* 超出部分显示为省略号 */
|
||||
text-align: left; /* 文本对齐方式 */
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -127,7 +127,7 @@ export default {
|
||||
num++
|
||||
await this.getRecognitionUrl(val, num)
|
||||
if (this.requestId && this.bizToken) {
|
||||
await this.getRecognitionResult(this.requestId, this.bizToken)
|
||||
await this.getRecognitionResult(this.requestId, this.bizToken, JSON.parse(localStorage['orderNo']))
|
||||
} else {
|
||||
return
|
||||
}
|
||||
@@ -155,9 +155,9 @@ export default {
|
||||
)
|
||||
})
|
||||
},
|
||||
getRecognitionResult(requestId, bizToken) {
|
||||
getRecognitionResult(requestId, bizToken, orderNo) {
|
||||
return new Promise((resolve, reject) => {
|
||||
getRecognitionResult({ requestId, bizToken }).then(
|
||||
getRecognitionResult({ requestId, bizToken, orderNo }).then(
|
||||
res => {
|
||||
console.log('getRecognitionResult', res)
|
||||
if (res.result == '0') {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
const billingDetail = () => import('@/views/ebiz/billingDetail/billingDetail')
|
||||
const generateImg = () => import('@/views/ebiz/generateImg/generateImg')
|
||||
const policyDetails = () => import('@/views/ebiz/billingDetail/policyDetails')
|
||||
|
||||
|
||||
export default [
|
||||
{
|
||||
@@ -18,5 +20,13 @@ export default [
|
||||
meta: {
|
||||
title: '业绩贺报'
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/policyDetails',
|
||||
name: 'policyDetails',
|
||||
component: policyDetails,
|
||||
meta: {
|
||||
title: '保单详情',
|
||||
}
|
||||
},
|
||||
]
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
<div slot="title">
|
||||
<p style="color: #E9332E;">请选择项目</p>
|
||||
</div>
|
||||
<div class="chooseProjectDialog" style="padding: 20px 30px 30px;font-size: 14px;">
|
||||
<div class="chooseProjectDialog" style="padding: 20px 30px 30px;font-size: 14px;height:425px;overflow-y:auto">
|
||||
<van-radio-group v-model="chooseTeamCode">
|
||||
<van-radio v-for="(item,index) in projectList" :key="index" :name="item.teamCode" style="margin: 10px;">
|
||||
<span style="margin-left: 20px;">
|
||||
|
||||
@@ -104,13 +104,16 @@ export default {
|
||||
this.show = true // 显示确认对话框
|
||||
},
|
||||
contact() {
|
||||
const a = document.createElement('a')
|
||||
a.href = `tel:'${this.ybOrderDTOList.appntPhone}'`
|
||||
a.click()
|
||||
this.show = false
|
||||
EWebBridge.webCallAppInJs('callSystem', {
|
||||
system: 'tel',
|
||||
number: this.ybOrderDTOList.appntPhone
|
||||
})
|
||||
},
|
||||
callPhone(phoneNumber) {
|
||||
window.location.href = 'tel://' + phoneNumber
|
||||
EWebBridge.webCallAppInJs('callSystem', {
|
||||
system: 'tel',
|
||||
number: phoneNumber
|
||||
})
|
||||
},
|
||||
getYBRenewalInfo() {
|
||||
// let params = {
|
||||
|
||||
@@ -52,10 +52,10 @@
|
||||
<span>保单号</span><span>{{ item.contNo }}</span>
|
||||
</p>
|
||||
<p>
|
||||
<span>被保人</span><span>{{ item.insuredName }}</span>
|
||||
<span>投保人</span><span>{{ item.appntName }}</span>
|
||||
</p>
|
||||
<p>
|
||||
<span>被保险人</span><span>{{ item.appntName }}</span>
|
||||
<span>被保险人</span><span>{{ item.insuredName }}</span>
|
||||
</p>
|
||||
<p v-if="active == 3">
|
||||
<span>转账银行</span><span>{{ item.bankName }}</span>
|
||||
|
||||
@@ -2,17 +2,16 @@
|
||||
<div class="login-container ph10">
|
||||
<h3 class="text-center pv30">欢迎登录</h3>
|
||||
<van-cell-group cl>
|
||||
<van-field v-model="username" clearable label="用户名" placeholder="请输入用户名" left-icon="contact"/>
|
||||
<van-field v-model="password" type="password" label="密码" placeholder="请输入密码" left-icon="bag-o"/>
|
||||
<van-field v-model="username" clearable label="用户名" placeholder="请输入用户名" left-icon="contact" />
|
||||
<van-field v-model="password" type="password" label="密码" placeholder="请输入密码" left-icon="bag-o" />
|
||||
</van-cell-group>
|
||||
<van-button type="info" size="large" class="mt30" @click="login" :loading="loading" loading-text="登录中...">登录
|
||||
</van-button>
|
||||
<van-button type="info" size="large" class="mt30" @click="login" :loading="loading" loading-text="登录中...">登录 </van-button>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {CellGroup, Field} from 'vant'
|
||||
import {loginTest} from '@/api/ebiz/my/my.js'
|
||||
import { CellGroup, Field } from 'vant'
|
||||
import { loginTest } from '@/api/ebiz/my/my.js'
|
||||
|
||||
export default {
|
||||
name: 'login',
|
||||
@@ -28,6 +27,14 @@ export default {
|
||||
redirect: this.$route.query.redirect
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
setTimeout(() => {
|
||||
EWebBridge.webCallAppInJs('enable_screen_capture', {
|
||||
enable: false
|
||||
})
|
||||
}, 500)
|
||||
},
|
||||
|
||||
methods: {
|
||||
login() {
|
||||
if (this.username == '' || this.password == '') {
|
||||
@@ -35,30 +42,31 @@ export default {
|
||||
return
|
||||
}
|
||||
this.loading = true
|
||||
let that = this;
|
||||
let that = this
|
||||
let reqData = {
|
||||
password: this.$MD5(that.password),
|
||||
system: "agentApp",
|
||||
graphCode: "",
|
||||
graphId: "",
|
||||
system: 'agentApp',
|
||||
graphCode: '',
|
||||
graphId: '',
|
||||
name: this.username,
|
||||
loginflag: "agentPassword",
|
||||
loginflag: 'agentPassword'
|
||||
}
|
||||
|
||||
loginTest(reqData).then(res => {
|
||||
this.loading = false
|
||||
if (res.result == 0) {
|
||||
console.log(res)
|
||||
this.$CacheUtils.setLocItem("token",res.token)
|
||||
this.$router.push({ path: this.redirect || '/' })
|
||||
}else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
}) .catch(err => {
|
||||
console.log(err)
|
||||
this.loading = false
|
||||
})
|
||||
|
||||
loginTest(reqData)
|
||||
.then((res) => {
|
||||
this.loading = false
|
||||
if (res.result == 0) {
|
||||
console.log(res)
|
||||
this.$CacheUtils.setLocItem('token', res.token)
|
||||
this.$router.push({ path: this.redirect || '/' })
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err)
|
||||
this.loading = false
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,14 +34,12 @@
|
||||
点击【开始】按钮,进行相关操作<br /><span class="red">温馨提示:请尽量使用正楷文字进行签名</span>
|
||||
</div>
|
||||
<div class="text-center mt20">
|
||||
<van-button @click="faceAuth('0')" v-no-more-click="1000" :disabled="isAgentSubmit" type="danger" size="normal" style="width:30%">开始</van-button>
|
||||
<van-button @click="faceAuth('0')" v-no-more-click="1000" :disabled="isAgentSubmit" type="danger" size="normal" style="width: 30%">开始</van-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ebizGuarantor">
|
||||
<van-field readonly label-width="120px" label="担保人" v-model="ebizGuarantor.name"></van-field>
|
||||
<p class="p15 line-height">
|
||||
以下内容需要您按照顺序阅读并签字确认:
|
||||
</p>
|
||||
<p class="p15 line-height">以下内容需要您按照顺序阅读并签字确认:</p>
|
||||
<div class="p15 line-height">
|
||||
需签署:
|
||||
<ul>
|
||||
@@ -63,9 +61,9 @@
|
||||
</ul>
|
||||
点击【开始】或【分享】,进行相关操作<br /><span class="red">温馨提示:请尽量使用正楷文字进行签名</span>
|
||||
</div>
|
||||
<div v-if="!isInvalid" class="flex justify-content-a mb60 mt20">
|
||||
<van-button v-if="!isWeixin" @click="share" v-no-more-click="1000" type="danger" size="normal" style="width:30%">分享</van-button>
|
||||
<van-button @click="faceAuth('1')" v-no-more-click="1000" :disabled="isguranteeSubmit" type="danger" size="normal" style="width:30%">开始</van-button>
|
||||
<div v-if="!isInvalid" class="flex justify-content-a mb60 mt20">
|
||||
<van-button v-if="!isWeixin" @click="share" v-no-more-click="1000" type="danger" size="normal" style="width: 30%">分享</van-button>
|
||||
<van-button @click="faceAuth('1')" v-no-more-click="1000" :disabled="isguranteeSubmit" type="danger" size="normal" style="width: 30%">开始</van-button>
|
||||
</div>
|
||||
<div v-else class="ml15">操作时间已失效,请联系销售人员!</div>
|
||||
</div>
|
||||
@@ -206,7 +204,9 @@ export default {
|
||||
//初始化信息
|
||||
async init() {
|
||||
if (this.isWeixin) {
|
||||
window.localStorage.setItem('token', this.$route.query.token)
|
||||
if (this.$route.query.token) {
|
||||
window.localStorage.setItem('token', this.$route.query.token)
|
||||
}
|
||||
if (this.$route.query.signInvalid) {
|
||||
sessionStorage.setItem('signInvalid', this.$route.query.signInvalid)
|
||||
}
|
||||
@@ -238,8 +238,8 @@ export default {
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
})
|
||||
return new Promise(resolve => {
|
||||
agreementQuery(data).then(res => {
|
||||
return new Promise((resolve) => {
|
||||
agreementQuery(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
this.agentInfo = res.content.ebizEnterCustomerDto
|
||||
@@ -251,10 +251,10 @@ export default {
|
||||
this.agentInfo.createdDate = this.agentInfo.createdDate.substring(0, 10)
|
||||
this.agentSignList = filtSignList(this, this.signList).agentSignList
|
||||
this.guaranteeSignList = filtSignList(this, this.signList).guaranteeSignList
|
||||
this.isAgentSubmit = this.agentSignList.every(item => {
|
||||
this.isAgentSubmit = this.agentSignList.every((item) => {
|
||||
return item.signState == '1'
|
||||
})
|
||||
this.isguranteeSubmit = this.guaranteeSignList.every(item => {
|
||||
this.isguranteeSubmit = this.guaranteeSignList.every((item) => {
|
||||
return item.signState == '1'
|
||||
})
|
||||
resolve()
|
||||
@@ -285,7 +285,7 @@ export default {
|
||||
message: '加载中……'
|
||||
})
|
||||
let data = {}
|
||||
getSignInvalid(data).then(res => {
|
||||
getSignInvalid(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
this.signInvalid = res.content.sign
|
||||
@@ -321,8 +321,8 @@ export default {
|
||||
let data = {
|
||||
sign: signInvalid
|
||||
}
|
||||
return new Promise(resolve => {
|
||||
checkSignInvalid(data).then(res => {
|
||||
return new Promise((resolve) => {
|
||||
checkSignInvalid(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
that.$toast.clear()
|
||||
let status = res.content.status
|
||||
@@ -338,7 +338,7 @@ export default {
|
||||
|
||||
if (code == '0') {
|
||||
if (this.agentInfo.idType == '1') {
|
||||
this.goUrl(code)
|
||||
this.goUrl(code)
|
||||
// 人脸识别次数小于3次
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
@@ -366,7 +366,8 @@ export default {
|
||||
const authRes = await EWebBridge.webCallAppInJs('face_auth', {
|
||||
businessSource: '2', //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||
number: this.agentInfo.idNo, //身份证号码
|
||||
name: this.agentInfo.name //姓名
|
||||
name: this.agentInfo.name, //姓名
|
||||
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
|
||||
})
|
||||
// const authRes = await this.fakeFaceAuth(true)
|
||||
console.log(authRes)
|
||||
@@ -395,7 +396,7 @@ export default {
|
||||
},
|
||||
fakeFaceAuth(expect) {
|
||||
console.log('模拟调用人脸识别')
|
||||
return new Promise(function(resolve, reject) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
setTimeout(() => {
|
||||
console.log('模拟人脸识别完成')
|
||||
if (expect) {
|
||||
@@ -409,11 +410,11 @@ export default {
|
||||
goUrl(code) {
|
||||
let path = ''
|
||||
if (code == '0') {
|
||||
path = this.agentSignList.filter(v => {
|
||||
path = this.agentSignList.filter((v) => {
|
||||
return v.signState == '0'
|
||||
})[0].path
|
||||
} else if (code == '1') {
|
||||
path = this.guaranteeSignList.filter(v => {
|
||||
path = this.guaranteeSignList.filter((v) => {
|
||||
return v.signState == '0'
|
||||
})[0].path
|
||||
}
|
||||
@@ -437,7 +438,7 @@ export default {
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
})
|
||||
signAgreement(data).then(res => {
|
||||
signAgreement(data).then((res) => {
|
||||
console.log(res)
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
|
||||
@@ -1,27 +1,24 @@
|
||||
<template>
|
||||
<div class='orderDetail-container'>
|
||||
<index-bar :allowance-no='$route.query.allowanceNo' :reapply-no='$route.query.reapply' v-if='!isWeixin'></index-bar>
|
||||
<div v-for='(item, index) in allowanceSignDTOLst' :key='index'>
|
||||
<div class="orderDetail-container">
|
||||
<index-bar :allowance-no="$route.query.allowanceNo" :reapply-no="$route.query.reapply" v-if="!isWeixin"></index-bar>
|
||||
<div v-for="(item, index) in allowanceSignDTOLst" :key="index">
|
||||
<!-- 申请人 -->
|
||||
<div v-if='item.type == 1 && !isWeixin'>
|
||||
<p class='fw600 border-gb'>
|
||||
<span>申请人</span><span class='ml60'>{{ allowanceApplyDTO.name }}</span>
|
||||
<div v-if="item.type == 1 && !isWeixin">
|
||||
<p class="fw600 border-gb">
|
||||
<span>申请人</span><span class="ml60">{{ allowanceApplyDTO.name }}</span>
|
||||
</p>
|
||||
<p>点击【签名】按钮,进行申请人签名</p>
|
||||
<p class='border-gb'>
|
||||
<p class="border-gb">
|
||||
<span>申请人:</span>
|
||||
<van-button type='danger' color='#2E4591' class='ml5' size='small' @click='signFunc(item.type, item.id)'
|
||||
:disabled='isSure' v-no-more-click='1000'>{{
|
||||
item.signStatus == '0' ? '签名' : '已签名'
|
||||
}}
|
||||
<van-button type="danger" color="#2E4591" class="ml5" size="small" @click="signFunc(item.type, item.id)" :disabled="isSure" v-no-more-click="1000"
|
||||
>{{ item.signStatus == '0' ? '签名' : '已签名' }}
|
||||
</van-button>
|
||||
<img class='w60 h40 v-middle ml10' v-if='item.signPath' :src="imgUrl + item.signPath.replace(/\+/g, '%2B')"
|
||||
alt='' /><br />
|
||||
<img class="w60 h40 v-middle ml10" v-if="item.signPath" :src="imgUrl + item.signPath.replace(/\+/g, '%2B')" alt="" /><br />
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div v-if='item.type == 2'>
|
||||
<div v-if='isWeixin' class='bg-white mt10 fs14 tips'>
|
||||
<div v-if="item.type == 2">
|
||||
<div v-if="isWeixin" class="bg-white mt10 fs14 tips">
|
||||
<p>
|
||||
尊敬的
|
||||
<span>{{ allowanceEnjoyDTO.name }}</span
|
||||
@@ -29,83 +26,54 @@
|
||||
</p>
|
||||
<p>恭喜您获得国富人寿桂冠专属父母赡养津贴,需要您点击【签字】按钮,进行签字申请:</p>
|
||||
</div>
|
||||
<p v-if='!isWeixin' class='fw600 border-gb'>
|
||||
<span>享受人</span><span class='ml60'>{{ allowanceEnjoyDTO.name }}</span>
|
||||
<p v-if="!isWeixin" class="fw600 border-gb">
|
||||
<span>享受人</span><span class="ml60">{{ allowanceEnjoyDTO.name }}</span>
|
||||
</p>
|
||||
<p v-if='!isWeixin'>点击【签名】按钮,进行享受人签名</p>
|
||||
<p class='border-gb'>
|
||||
<p v-if="!isWeixin">点击【签名】按钮,进行享受人签名</p>
|
||||
<p class="border-gb">
|
||||
<span>享受人:</span>
|
||||
<van-button type='danger' color='#2E4591' class='ml5' size='small' @click='signFunc(item.type, item.id)'
|
||||
:disabled='isSure' v-no-more-click='1000'>{{
|
||||
item.signStatus == '0' ? '签名' : '已签名'
|
||||
}}
|
||||
<van-button type="danger" color="#2E4591" class="ml5" size="small" @click="signFunc(item.type, item.id)" :disabled="isSure" v-no-more-click="1000"
|
||||
>{{ item.signStatus == '0' ? '签名' : '已签名' }}
|
||||
</van-button>
|
||||
<img class='w60 h40 v-middle ml10' v-if='item.signPath' :src="imgUrl + item.signPath.replace(/\+/g, '%2B')"
|
||||
alt='' /><br />
|
||||
<img class="w60 h40 v-middle ml10" v-if="item.signPath" :src="imgUrl + item.signPath.replace(/\+/g, '%2B')" alt="" /><br />
|
||||
<!-- 享受人有分享功能 -->
|
||||
<van-button
|
||||
type='danger'
|
||||
color='#2E4591'
|
||||
class='ml65 mt10'
|
||||
v-if='!isWeixin'
|
||||
size='small'
|
||||
type="danger"
|
||||
color="#2E4591"
|
||||
class="ml65 mt10"
|
||||
v-if="!isWeixin"
|
||||
size="small"
|
||||
@click="share('0')"
|
||||
:disabled='isSure'
|
||||
v-no-more-click='1000'
|
||||
>分享
|
||||
</van-button
|
||||
>
|
||||
:disabled="isSure"
|
||||
v-no-more-click="1000"
|
||||
>分享
|
||||
</van-button>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<van-button v-if='!isWeixin' type='danger' color='#2E4591' class='bottom-btn ffcb6b' @click='nextStep'
|
||||
v-no-more-click='1000'>提交审批
|
||||
</van-button>
|
||||
<SignTure :SignShow='SignShow' :signInfo='allowanceEnjoyDTO' @close='SignClose'
|
||||
@SignSuccessful='SignSuccessful'></SignTure>
|
||||
<van-button v-if="!isWeixin" type="danger" color="#2E4591" class="bottom-btn ffcb6b" @click="nextStep" v-no-more-click="1000">提交审批 </van-button>
|
||||
<SignTure :SignShow="SignShow" :signInfo="allowanceEnjoyDTO" @close="SignClose" @SignSuccessful="SignSuccessful"></SignTure>
|
||||
<!-- 短信验证 -->
|
||||
<van-dialog v-model='show' title='提示' show-cancel-button @confirm='authConfirm(authCode)' @cancel='clearTimer'>
|
||||
<p class='p10 fs14'>为确保是您本人操作,短信验证码已发送至您手机号{{ encyCustomerMobile }},请您输入验证码以完成后续投保操作。</p>
|
||||
<van-cell-group class='flex align-items-c pr5 mb15'>
|
||||
<van-field maxlength='6' placeholder='请输入短信验证码' v-model='authCode' clearable label-width='0' />
|
||||
<van-button type='danger' color='#2E4591' plain size='small' class='w160 p0' @click='getAuthCode'
|
||||
:disabled='codeDisabled' v-no-more-click='2000'>{{
|
||||
codeDisabled ? `${countDown}s后重新获取` : '获取验证码'
|
||||
}}
|
||||
<van-dialog v-model="show" title="提示" show-cancel-button @confirm="authConfirm(authCode)" @cancel="clearTimer">
|
||||
<p class="p10 fs14">为确保是您本人操作,短信验证码已发送至您手机号{{ encyCustomerMobile }},请您输入验证码以完成后续投保操作。</p>
|
||||
<van-cell-group class="flex align-items-c pr5 mb15">
|
||||
<van-field maxlength="6" placeholder="请输入短信验证码" v-model="authCode" clearable label-width="0" />
|
||||
<van-button type="danger" color="#2E4591" plain size="small" class="w160 p0" @click="getAuthCode" :disabled="codeDisabled" v-no-more-click="2000"
|
||||
>{{ codeDisabled ? `${countDown}s后重新获取` : '获取验证码' }}
|
||||
</van-button>
|
||||
</van-cell-group>
|
||||
</van-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import {
|
||||
Toast,
|
||||
CellGroup,
|
||||
Field,
|
||||
Dialog,
|
||||
Collapse,
|
||||
CollapseItem,
|
||||
Cell,
|
||||
Popup,
|
||||
Divider,
|
||||
RadioGroup,
|
||||
Radio,
|
||||
Tag
|
||||
} from 'vant'
|
||||
import { Toast, CellGroup, Field, Dialog, Collapse, CollapseItem, Cell, Popup, Divider, RadioGroup, Radio, Tag } from 'vant'
|
||||
import { getAllowanceDetail, saveOrUpdateAllowanceUrl, approveInit } from '@/api/ebiz/allowance/allowance'
|
||||
import SignTure from './component/SignTure'
|
||||
import config from '@/config'
|
||||
import { getWhitelist } from '@/api/ebiz/whitelist'
|
||||
import { weixinShare } from '@/assets/js/utils/wxShare.js'
|
||||
import { checkPhone } from '@/api/ebiz/customer/customer'
|
||||
import {
|
||||
getSignInvalid,
|
||||
checkSignInvalid,
|
||||
getAuthCode,
|
||||
autchCodeCheck,
|
||||
getRecognitionUrl,
|
||||
getRecognitionResult
|
||||
} from '@/api/ebiz/sale/sale'
|
||||
import { getSignInvalid, checkSignInvalid, getAuthCode, autchCodeCheck, getRecognitionUrl, getRecognitionResult } from '@/api/ebiz/sale/sale'
|
||||
import { getShareParam } from '@/api/ebiz/cardList/cardList.js'
|
||||
import IndexBar from '@/components/ebiz/allowance/application/IndexBar'
|
||||
|
||||
@@ -183,7 +151,9 @@ export default {
|
||||
// 初始化
|
||||
async init() {
|
||||
if (this.isWeixin) {
|
||||
window.localStorage.setItem('token', this.$route.query.token)
|
||||
if (this.$route.query.token) {
|
||||
window.localStorage.setItem('token', this.$route.query.token)
|
||||
}
|
||||
// let signInvalid = sessionStorage.getItem('signInvalid')
|
||||
// let rs = await this.checkSignInvalid(signInvalid) // 微信分享验证校验值
|
||||
// if (rs == '1') {
|
||||
@@ -195,7 +165,11 @@ export default {
|
||||
|
||||
//获取腾讯人脸识别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']))
|
||||
this.getRecognitionResult(
|
||||
JSON.parse(localStorage['faceAuthWeXin-requestId']),
|
||||
JSON.parse(localStorage['faceAuthWeXin-bizToken']),
|
||||
JSON.parse(localStorage['orderNo'])
|
||||
)
|
||||
}
|
||||
this.faceAuthCount.enjoy = this.$route.query.faceAuthCountAppnt == undefined ? 0 : Number(this.$route.query.faceAuthCountAppnt)
|
||||
this.faceAuthCount.weixin = this.$route.query.faceAuthCountWeixin == undefined ? 0 : Number(this.$route.query.faceAuthCountWeixin)
|
||||
@@ -291,9 +265,9 @@ export default {
|
||||
return str
|
||||
},
|
||||
//微信初始化--获取腾讯人脸识别结果接口
|
||||
getRecognitionResult(requestId, bizToken) {
|
||||
getRecognitionResult(requestId, bizToken, orderNo) {
|
||||
return new Promise(() => {
|
||||
getRecognitionResult({ requestId, bizToken }).then(
|
||||
getRecognitionResult({ requestId, bizToken, orderNo }).then(
|
||||
(res) => {
|
||||
if (res.result == '0') {
|
||||
this.recognizeResult = res.result
|
||||
@@ -497,7 +471,8 @@ export default {
|
||||
const authRes = await EWebBridge.webCallAppInJs('face_auth', {
|
||||
businessSource: '5', //业务来源:1-电投,2-入司,3-理赔,4-保全 5津贴
|
||||
number: that.allowanceEnjoyDTO.idNo, //身份证号码
|
||||
name: that.allowanceEnjoyDTO.name //姓名
|
||||
name: that.allowanceEnjoyDTO.name, //姓名
|
||||
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
|
||||
}).then((data) => {
|
||||
console.log(JSON.parse(data), 'APP人脸识别结果')
|
||||
if (JSON.parse(data).state == '1') {
|
||||
@@ -669,7 +644,7 @@ export default {
|
||||
extra: {
|
||||
title: `国富人寿桂冠专属父母赡养津贴申请`,
|
||||
content: '点击去签字',
|
||||
shareScene:0,// 0只分享好友,1 只分享朋友圈 不传默认所有
|
||||
shareScene: 0, // 0只分享好友,1 只分享朋友圈 不传默认所有
|
||||
url: location.origin + '/#/allowance/application/signatureConfirmation?allowanceNo=' + this.allowanceNo + '&token=' + res.content,
|
||||
// '&relationToAppnt=' +
|
||||
// JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).relationToAppnt +
|
||||
@@ -728,7 +703,7 @@ export default {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang='scss'>
|
||||
<style lang="scss">
|
||||
#app {
|
||||
.van-dialog__confirm,
|
||||
.van-dialog__confirm:active {
|
||||
@@ -736,7 +711,7 @@ export default {
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<style lang='scss' scoped>
|
||||
<style lang="scss" scoped>
|
||||
.orderDetail-container {
|
||||
background-color: #fff;
|
||||
min-height: 100vh;
|
||||
|
||||
@@ -1,10 +1,24 @@
|
||||
<template>
|
||||
<div style="background: #fff">
|
||||
<div style="background: #fff;height: 100vh">
|
||||
<div class="search_col">
|
||||
<div class="shouButton">
|
||||
<van-button size="small">{{ outOrderType === 'accept' ? '承保' : '预收' }}</van-button>
|
||||
<div class="topBox">
|
||||
<div class="shouButton" @click="openPopup">
|
||||
<van-button size="small">
|
||||
{{ outOrderType === 'accept' ? '承保' : '预收' }}
|
||||
<van-icon size="12" name="arrow-down" />
|
||||
</van-button>
|
||||
</div>
|
||||
<div class="group" @click="openPopup">
|
||||
<van-button size="small">
|
||||
{{ titleText }}
|
||||
<van-icon size="12" name="arrow-down" />
|
||||
</van-button>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="group">
|
||||
|
||||
<!-- <div class="group" @click="openPopup">
|
||||
<van-radio-group class="groups" v-model="dateFlag" direction="horizontal" @change="queryOutOrderListFunc">
|
||||
<van-radio name="all">
|
||||
<template #icon="props">
|
||||
@@ -22,7 +36,10 @@
|
||||
</template>
|
||||
</van-radio>
|
||||
</van-radio-group>
|
||||
</div>
|
||||
<button class="titlebtn">{{ titleText }}</button>
|
||||
<van-icon size="12" name="arrow-down" />
|
||||
|
||||
</div> -->
|
||||
<div class="icon">
|
||||
<van-icon name="filter-o" @click="openPopup" />
|
||||
</div>
|
||||
@@ -40,22 +57,21 @@
|
||||
</span>-->
|
||||
|
||||
<template>
|
||||
<span v-if="!isJzg" style="margin-right: 10px">
|
||||
<!-- <span v-if="!isJzg" style="margin-right: 10px">
|
||||
<span>{{ OrgLvName }}</span>
|
||||
<!-- <van-icon name="arrow-down" /> -->
|
||||
</span>
|
||||
</span> -->
|
||||
<span @click="isOrgLv2ConditionShow = true">
|
||||
<span>{{ OrgLv2Name }}</span>
|
||||
<van-icon name="arrow-down" />
|
||||
<van-icon size="12" name="arrow-down" />
|
||||
</span>
|
||||
<span @click="isOrgLv3ConditionShow = true">
|
||||
<span>{{ OrgLv3Name }}</span>
|
||||
<van-icon name="arrow-down" />
|
||||
<van-icon size="12" name="arrow-down" />
|
||||
</span>
|
||||
|
||||
<span @click="isOrgLv4ConditionShow = true">
|
||||
<span>{{ OrgLv4Name }}</span>
|
||||
<van-icon name="arrow-down" />
|
||||
<van-icon size="12" name="arrow-down" />
|
||||
</span>
|
||||
</template>
|
||||
</div>
|
||||
@@ -89,7 +105,7 @@
|
||||
<!--<!– <van-button type="danger" @click="switchDayOrMonth(1)" :plain="currentIndex == 1 ? true : false" size="small">当天</van-button>–>-->
|
||||
<!--<!– </div>–>-->
|
||||
<!-- </div>-->
|
||||
<div class="table">
|
||||
<div class="table" v-if="listShow">
|
||||
<!-- <van-list v-model="loading" :finished="finished" @load="queryOutOrderListFunc" :immediate-check="false" finished-text="没有更多数据了">-->
|
||||
<tableDetail2
|
||||
:theads="theads"
|
||||
@@ -98,10 +114,12 @@
|
||||
:page-size="pageSize"
|
||||
:page-num="pageNum"
|
||||
@currentChange="currentChange"
|
||||
@double_click="double_click"
|
||||
@from-child="double_click"
|
||||
@fro-child="xiangqing"
|
||||
></tableDetail2>
|
||||
<!-- </van-list>-->
|
||||
</div>
|
||||
<p v-else class="noList">当前条件查无数据</p>
|
||||
|
||||
<!-- 二级机构筛选栏 -->
|
||||
<van-popup v-model="isOrgLv2ConditionShow" position="bottom" :style="{ height: '40vh' }">
|
||||
@@ -122,11 +140,15 @@
|
||||
<div style="margin-top: 10px">
|
||||
<div>时间</div>
|
||||
<div class="button_times">
|
||||
<van-button size="small" :class="dialogForm.dateFlag === 'all' ? 'checked' : ''" @click="dialogForm.dateFlag = 'all'">全部</van-button>
|
||||
<van-button size="small" :class="dialogForm.dateFlag === 'm' ? 'checked' : ''" @click="dialogForm.dateFlag = 'm'">最近一月</van-button>
|
||||
<van-button size="small" :class="dialogForm.dateFlag === 'y' ? 'checked' : ''" @click="dialogForm.dateFlag = 'y'">最近一年</van-button>
|
||||
<!-- <van-button size="small" :class="dialogForm.dateFlag === 'all' ? 'checked' : ''" @click="typeCheck('all')">全部</van-button> -->
|
||||
<van-button size="small" :class="dialogForm.dateFlag === 'm' ? 'checked' : ''" @click="typeCheck('m')">按月份查询</van-button>
|
||||
<van-button size="small" :class="dialogForm.dateFlag === 'y' ? 'checked' : ''" @click="typeCheck('y')">按时间范围查询</van-button>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center; justify-content: space-between; justify-items: center; margin-top: 20px">
|
||||
<div v-if="dialogForm.dateFlag === 'm'" style="display: flex; align-items: center; justify-content: space-between; justify-items: center; margin-top: 20px">
|
||||
<p @click="typeCheck('m')">当前选择月份: {{ monthValue }}</p>
|
||||
|
||||
</div>
|
||||
<div v-if="dialogForm.dateFlag === 'y'" style="display: flex; align-items: center; justify-content: space-between; justify-items: center; margin-top: 20px">
|
||||
<van-field
|
||||
@click="openTime('startDate')"
|
||||
class="timeField"
|
||||
@@ -221,12 +243,42 @@
|
||||
:max-date="timeMaxDate"
|
||||
/>
|
||||
</van-popup>
|
||||
<van-popup v-model="overlayShow" position="bottom" round>
|
||||
<van-datetime-picker
|
||||
title="请选择月份"
|
||||
v-model="currentDate"
|
||||
type="year-month"
|
||||
:min-date="minDate"
|
||||
:max-date="maxDate"
|
||||
:formatter="formatter"
|
||||
@confirm="confirmChange"
|
||||
@cancel="cancelChange"
|
||||
/>
|
||||
</van-popup>
|
||||
<div class="hebao" v-if="hebaoShow">
|
||||
<generateImg
|
||||
@child-colse="closeHebao"
|
||||
></generateImg>
|
||||
</div>
|
||||
<van-popup v-model="xiangqingShow" position="right" :style="{ width: '100%', height: '100%' }">
|
||||
<policyDetails
|
||||
v-if="xiangqingShow"
|
||||
:orderNo="orderNo"
|
||||
@child-back="closeDetails"
|
||||
>
|
||||
</policyDetails>
|
||||
</van-popup>
|
||||
<!-- <div class="xiangqing" v-if="xiangqingShow" >
|
||||
|
||||
</div> -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Icon, RadioGroup, Radio, DatetimePicker } from 'vant'
|
||||
import { Icon, RadioGroup, Radio, DatetimePicker, Toast } from 'vant'
|
||||
import tableDetail2 from '@/components/ebiz/billingDetail/tableDetail2'
|
||||
import generateImg from '../generateImg/generateImg.vue'
|
||||
import policyDetails from './policyDetails.vue'
|
||||
import { getMisBranchComList2 } from '@/api/ebiz/branchOffice/branchOffice'
|
||||
import FieldDatePicter from '@/components/ebiz/FieldDatePicter'
|
||||
import { queryOutOrderList, getBranchByUser } from '@/api/ebiz/billingDetail/billingDetail'
|
||||
@@ -238,10 +290,13 @@ export default {
|
||||
name: 'billingDetail',
|
||||
components: {
|
||||
tableDetail2,
|
||||
generateImg,
|
||||
policyDetails,
|
||||
[Icon.name]: Icon,
|
||||
[RadioGroup.name]: RadioGroup,
|
||||
[Radio.name]: Radio,
|
||||
[DatetimePicker.name]: DatetimePicker,
|
||||
[Toast.name]: Toast,
|
||||
|
||||
FieldDatePicter
|
||||
},
|
||||
@@ -278,24 +333,25 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
timeMinDate: new Date(new Date().getFullYear() - 3, new Date().getMonth() + 1, new Date().getDate()),
|
||||
timeMaxDate: new Date(new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate()),
|
||||
timeMaxDate: new Date(),
|
||||
TimeFlag: '',
|
||||
currentDate: '',
|
||||
timeShow: false,
|
||||
dialogForm: {
|
||||
outOrderType: '',
|
||||
dateFlag: '',
|
||||
dateFlag: 'm',
|
||||
startDate: '',
|
||||
endDate: ''
|
||||
},
|
||||
show: false,
|
||||
outOrderType: 'accept', // advance
|
||||
dateFlag: '',
|
||||
dateFlag: 'm',
|
||||
style02: 'style02', //style02 时,显示红字红三角的样式,不写的话展示默认样式
|
||||
currentIndex: 0, //0 当月 1当天
|
||||
theads: ['序号', '承保时间', '预收时间', '产品名称', '保费', '业务员姓名', '机构'],
|
||||
theads: ['序号', '承保时间', '预收时间', '产品名称', '保费(元)', '业务员', '机构','查看'],
|
||||
tableData: [],
|
||||
total: 0,
|
||||
minDate: '',
|
||||
maxDate: new Date(),
|
||||
filterDate: '',
|
||||
postDate: '', //实际给后台传的时间
|
||||
@@ -333,10 +389,25 @@ export default {
|
||||
// 1: 中心支公司, 2: 营销服务部, 3: 下辖营业区
|
||||
queryCom: ''
|
||||
},
|
||||
isJzg: false //是否是内勤账号 branchType=JZG 、N 开头的是 (fasle)内勤账号 ;branchType= 数字的是外勤(true)
|
||||
isJzg: false, //是否是内勤账号 branchType=JZG 、N 开头的是 (fasle)内勤账号 ;branchType= 数字的是外勤(true)
|
||||
titleText: '全部',
|
||||
firstTime: true,
|
||||
monthValue: '',
|
||||
maxDate: new Date(),
|
||||
monthDate: new Date(),
|
||||
overlayShow: false,
|
||||
hebaoShow: false,
|
||||
xiangqingShow: false,
|
||||
orderNo: '',
|
||||
listShow: false,
|
||||
}
|
||||
},
|
||||
created() {},
|
||||
created() {
|
||||
this.getyaerMonth();
|
||||
this.getmonthList();
|
||||
this.getdayList();
|
||||
this.outOrderTypeChange();
|
||||
},
|
||||
mounted() {
|
||||
// this.getInfo()
|
||||
let date = new Date()
|
||||
@@ -349,6 +420,7 @@ export default {
|
||||
this.initData()
|
||||
},
|
||||
methods: {
|
||||
|
||||
async getInfo() {
|
||||
// let userInfo = JSON.parse(localStorage.getItem('userInfo'))
|
||||
// // 获取代理人信息
|
||||
@@ -357,18 +429,20 @@ export default {
|
||||
// }
|
||||
},
|
||||
openTime(flag) {
|
||||
//禁止软键盘弹出
|
||||
document.activeElement.blur();
|
||||
this.TimeFlag = flag
|
||||
this.dialogForm.dateFlag = ''
|
||||
// this.dialogForm.dateFlag = ''
|
||||
this.timeShow = true
|
||||
},
|
||||
timeConfirm(t) {
|
||||
this.$nextTick(() => {
|
||||
console.log(this.currentDate)
|
||||
// console.log(this.currentDate)
|
||||
let time = new Date(t)
|
||||
let y = time.getFullYear()
|
||||
let m = time.getMonth() + 1 < 10 ? '0' + (time.getMonth() + 1) : time.getMonth() + 1
|
||||
let d = time.getDate() < 10 ? '0' + time.getDate() : time.getDate()
|
||||
console.log(y, m, d)
|
||||
// console.log(y, m, d)
|
||||
this.dialogForm[this.TimeFlag] = y + '-' + m + '-' + d
|
||||
this.timeShow = false
|
||||
})
|
||||
@@ -402,6 +476,14 @@ export default {
|
||||
this.queryOutOrderListFunc()
|
||||
},
|
||||
popupOnConfirm() {
|
||||
if(this.dialogForm.dateFlag == 'y') {
|
||||
if(this.isStartDateInvalid()) {
|
||||
Toast({message: '开始日期不能小于结束日期!',size: 'large'});
|
||||
return
|
||||
} else {
|
||||
this.titleText = this.dialogForm.startDate.toString() + '~' + this.dialogForm.endDate.toString()
|
||||
}
|
||||
}
|
||||
if (!this.dialogForm.dateFlag) {
|
||||
this.startDate = this.dialogForm.startDate
|
||||
this.endDate = this.dialogForm.endDate
|
||||
@@ -413,19 +495,30 @@ export default {
|
||||
this.outOrderType = this.dialogForm.outOrderType
|
||||
this.dateFlag = this.dialogForm.dateFlag
|
||||
this.show = false
|
||||
if(this.dateFlag == 'all') {
|
||||
this.titleText = '全部'
|
||||
}
|
||||
if(this.dateFlag == 'm') {
|
||||
this.titleText = this.monthValue
|
||||
}
|
||||
|
||||
|
||||
this.outOrderTypeChange()
|
||||
this.queryOutOrderListFunc()
|
||||
},
|
||||
openPopup() {
|
||||
this.dialogForm = {
|
||||
outOrderType: this.outOrderType,
|
||||
dateFlag: this.dateFlag,
|
||||
startDate: this.startDate,
|
||||
endDate: this.endDate
|
||||
}
|
||||
if (this.dateFlag) {
|
||||
this.dialogForm.startDate = ''
|
||||
this.dialogForm.endDate = ''
|
||||
|
||||
this.dialogForm.outOrderType = this.outOrderType;
|
||||
this.dialogForm.dateFlag = this.dateFlag;
|
||||
// if (this.dateFlag) {
|
||||
// this.dialogForm.startDate = ''
|
||||
// this.dialogForm.endDate = ''
|
||||
// }
|
||||
if(this.firstTime == true) {
|
||||
this.dialogForm.dateFlag = 'm'
|
||||
this.firstTime = false
|
||||
}
|
||||
// console.log(this.dialogForm.dateFlag);
|
||||
this.show = true
|
||||
},
|
||||
//时间筛选
|
||||
@@ -461,10 +554,10 @@ export default {
|
||||
this.OrgLv3Name = '营业部'
|
||||
this.OrgLv4Name = '营业组'
|
||||
} else {
|
||||
this.OrgLvName = '总公司'
|
||||
this.OrgLv2Name = '分公司'
|
||||
this.OrgLv3Name = '中支公司'
|
||||
this.OrgLv4Name = '支公司'
|
||||
this.OrgLvName = '全部'
|
||||
this.OrgLv2Name = '全部'
|
||||
this.OrgLv3Name = '全部'
|
||||
this.OrgLv4Name = '全部'
|
||||
}
|
||||
const resf = await getMisBranchComList2({
|
||||
// isJzg: this.isJzg,
|
||||
@@ -537,19 +630,35 @@ export default {
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
})
|
||||
|
||||
queryOutOrderList({
|
||||
outOrderType: this.outOrderType, // "accept",//--出单类型 承保 accept 预收 advance
|
||||
startDate: this.startDate, // "2024-09-01",
|
||||
endDate: this.endDate, //"2024-09-30",
|
||||
dateFlag: this.dateFlag, // -最近一月-m,最近一年y ,全部-all
|
||||
// appntDate: this.postDate,
|
||||
distCode: this.OrgLv2Code,
|
||||
depCode: this.OrgLv3Code,
|
||||
orgCode: this.OrgLv4Code,
|
||||
pageNum: this.pageNum,
|
||||
pageSize: this.pageSize
|
||||
}).then((res) => {
|
||||
let data = {}
|
||||
if(this.dateFlag == 'all') {
|
||||
data = {
|
||||
outOrderType: this.outOrderType, // "accept",//--出单类型 承保 accept 预收 advance
|
||||
// dateFlag: this.dateFlag, // -最近一月-m,最近一年y ,全部-all
|
||||
dateFlag: '', // 暂不使用改参数,默认给空
|
||||
// appntDate: this.postDate,
|
||||
distCode: this.OrgLv2Code,
|
||||
depCode: this.OrgLv3Code,
|
||||
orgCode: this.OrgLv4Code,
|
||||
pageNum: this.pageNum,
|
||||
pageSize: this.pageSize
|
||||
}
|
||||
} else {
|
||||
data = {
|
||||
outOrderType: this.outOrderType, // "accept",//--出单类型 承保 accept 预收 advance
|
||||
startDate: this.dialogForm.startDate, // "2024-09-01",
|
||||
endDate: this.dialogForm.endDate, //"2024-09-30",
|
||||
// dateFlag: this.dateFlag, // -最近一月-m,最近一年y ,全部-all
|
||||
dateFlag: '', // 暂不使用改参数,默认给空
|
||||
// appntDate: this.postDate,
|
||||
distCode: this.OrgLv2Code,
|
||||
depCode: this.OrgLv3Code,
|
||||
orgCode: this.OrgLv4Code,
|
||||
pageNum: this.pageNum,
|
||||
pageSize: this.pageSize
|
||||
}
|
||||
}
|
||||
queryOutOrderList(data).then((res) => {
|
||||
this.$toast.clear()
|
||||
if (res.result == 0) {
|
||||
if (res.content) {
|
||||
@@ -562,18 +671,22 @@ export default {
|
||||
}
|
||||
this.tableData = this.tableData = res.content.list
|
||||
this.total = res.content.total
|
||||
// this.tableData.push(...res.content.list)
|
||||
this.loading = false
|
||||
this.listShow = true
|
||||
} else{
|
||||
this.tableData = []
|
||||
this.listShow = false
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
// 双击事件
|
||||
double_click(data) {
|
||||
console.log(JSON.parse(JSON.stringify(data)), '发生了点击')
|
||||
this.$router.push({
|
||||
path: '/generateImg'
|
||||
})
|
||||
// console.log(JSON.parse(JSON.stringify(data)), '发生了点击')
|
||||
this.hebaoShow = true
|
||||
// this.$router.push({
|
||||
// path: '/generateImg'
|
||||
// })
|
||||
localStorage.setItem('orderList', JSON.stringify(data))
|
||||
},
|
||||
|
||||
@@ -596,8 +709,8 @@ export default {
|
||||
// this.params.manageLv = '01'
|
||||
// }
|
||||
this.OrgLv2Name = data
|
||||
this.OrgLv3Name = this.isJzg ? '营业部' : '中支公司'
|
||||
this.OrgLv4Name = this.isJzg ? '营业组' : '支公司'
|
||||
this.OrgLv3Name = this.isJzg ? '营业部' : '全部'
|
||||
this.OrgLv4Name = this.isJzg ? '营业组' : '全部'
|
||||
this.OrgLv3Code = ''
|
||||
this.OrgLv4Code = ''
|
||||
// 点击其他筛选条件-重置当前页为第一页
|
||||
@@ -632,7 +745,7 @@ export default {
|
||||
this.OrgLv3Code = ''
|
||||
}
|
||||
this.OrgLv4Code = ''
|
||||
this.OrgLv4Name = this.isJzg ? '营业组' : '支公司'
|
||||
this.OrgLv4Name = this.isJzg ? '营业组' : '全部'
|
||||
// this.OrgLv2Code = ''
|
||||
// this.OrgLv4Code = ''
|
||||
// 点击其他筛选条件-重置当前页为第一页
|
||||
@@ -670,14 +783,107 @@ export default {
|
||||
this.pageNum = 1
|
||||
this.tableData = []
|
||||
this.queryOutOrderListFunc()
|
||||
}
|
||||
},
|
||||
getyaerMonth() {
|
||||
var currentDate = new Date();
|
||||
var currentYear = currentDate.getFullYear();
|
||||
var currentMonth = currentDate.getMonth() + 1; // 月份从0开始,所以要加1
|
||||
this.monthValue = currentYear + '-' + currentMonth
|
||||
this.dialogForm.startDate = currentYear + '-' + currentMonth + '-' + '01' // "2024-09-01",
|
||||
this.dialogForm.endDate = currentYear + '-' + currentMonth + '-' + '30'//"2024-09-30",
|
||||
this.titleText = this.monthValue
|
||||
},
|
||||
typeCheck(e) {
|
||||
this.dialogForm.dateFlag = e
|
||||
if(e == 'all') {
|
||||
// this.titleText = '全部'
|
||||
console.log(this.titleText);
|
||||
}
|
||||
if(e == 'm') {
|
||||
this.overlayShow = true
|
||||
// this.titleText = this.monthValue
|
||||
this.getyaerMonth();
|
||||
}
|
||||
if(e == 'y') {
|
||||
this.dialogForm.startDate = ''
|
||||
this.dialogForm.endDate = ''
|
||||
}
|
||||
|
||||
},
|
||||
isStartDateInvalid() {
|
||||
return this.dialogForm.endDate && new Date(this.dialogForm.startDate) > new Date(this.dialogForm.endDate);
|
||||
},
|
||||
// 选择月份事件
|
||||
formatter(type, value) {
|
||||
if (type === 'year') {
|
||||
return `${value}年`;
|
||||
} else if (type === 'month') {
|
||||
return `${value}月`
|
||||
}
|
||||
return value
|
||||
},
|
||||
// 月份选择取消按钮
|
||||
cancelChange() {
|
||||
this.overlayShow = false
|
||||
},
|
||||
// 月份选择确认按钮
|
||||
confirmChange(t) {
|
||||
this.$nextTick(() => {
|
||||
let time = new Date(t)
|
||||
let y = time.getFullYear()
|
||||
let m = time.getMonth() + 1 < 10 ? '0' + (time.getMonth() + 1) : time.getMonth() + 1
|
||||
console.log(y, m)
|
||||
this.monthValue = y + '-' + m
|
||||
this.dialogForm.startDate = y + '-' + m + '-' + '01' // "2024-08-01",
|
||||
this.dialogForm.endDate = y + '-' + m + '-' + '31'//"2024-08-31",
|
||||
})
|
||||
this.overlayShow = false
|
||||
},
|
||||
outOrderTypeChange() {
|
||||
this.theads = ['序号', '承保时间', '预收时间', '产品名称', '保费(元)', '业务员', '机构','查看']
|
||||
if (this.outOrderType === 'accept') {
|
||||
this.theads.splice(2,1)
|
||||
} else {
|
||||
this.theads.splice(1,1)
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
xiangqing(num) {
|
||||
this.orderNo = num
|
||||
this.xiangqingShow = true;
|
||||
},
|
||||
closeDetails() {
|
||||
this.xiangqingShow = !this.xiangqingShow
|
||||
},
|
||||
closeHebao() {
|
||||
this.hebaoShow = !this.hebaoShow
|
||||
},
|
||||
getmonthList() {
|
||||
function getOneYearAgoDate() {
|
||||
const now = new Date();
|
||||
now.setFullYear(now.getFullYear() - 1);
|
||||
return now;
|
||||
}
|
||||
const oneYearAgoDate = getOneYearAgoDate();
|
||||
this.minDate = oneYearAgoDate
|
||||
},
|
||||
getdayList() {
|
||||
function getOneYearAgoDate() {
|
||||
const now = new Date();
|
||||
now.setFullYear(now.getFullYear() - 2);
|
||||
return now;
|
||||
}
|
||||
const oneYearAgoDate = getOneYearAgoDate();
|
||||
this.timeMinDate = oneYearAgoDate
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.classification {
|
||||
font-size: 14px;
|
||||
font-size: 12px;
|
||||
padding: 10px;
|
||||
//background: #ee3030;
|
||||
//color: #fff;
|
||||
@@ -685,7 +891,14 @@ export default {
|
||||
.van-icon {
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
.titlebtn {
|
||||
background-color: #fff;
|
||||
border: none;
|
||||
font-size: 12px;
|
||||
color: #333;
|
||||
padding: 8px 17px;
|
||||
border-radius: 2px;
|
||||
}
|
||||
::v-deep .classification .van-icon {
|
||||
vertical-align: middle;
|
||||
margin-right: 5px;
|
||||
@@ -716,7 +929,7 @@ export default {
|
||||
background: #fff;
|
||||
}
|
||||
.table th {
|
||||
width: 130px;
|
||||
width: 100px;
|
||||
}
|
||||
table {
|
||||
width: 180vw;
|
||||
@@ -775,6 +988,14 @@ table {
|
||||
justify-content: space-between;
|
||||
background: #ee3030;
|
||||
}
|
||||
.topBox {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: start;
|
||||
}
|
||||
.shouButton {
|
||||
margin-right: 10px;
|
||||
}
|
||||
.checked {
|
||||
color: #ee3030;
|
||||
}
|
||||
@@ -790,8 +1011,9 @@ table {
|
||||
margin-top: 5px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 0 30px;
|
||||
.van-button {
|
||||
padding: 2px 20px;
|
||||
padding: 2px 10px;
|
||||
}
|
||||
}
|
||||
.timeField {
|
||||
@@ -809,4 +1031,21 @@ table {
|
||||
border-color: #ee3030;
|
||||
}
|
||||
}
|
||||
.hebao,
|
||||
.xiangqing {
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
background-color: #fff;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
.noList {
|
||||
font-size: 18px;
|
||||
text-align: center;
|
||||
margin-top: 100px;
|
||||
}
|
||||
/deep/.van-toast--text {
|
||||
width: 230px !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
160
src/views/ebiz/billingDetail/policyDetails.vue
Normal file
@@ -0,0 +1,160 @@
|
||||
<template>
|
||||
<div class="content">
|
||||
<!-- 保单详情 -->
|
||||
<van-collapse v-model="activeName">
|
||||
<van-collapse-item title="投保单信息" name="1">
|
||||
<div class="row">
|
||||
<span class="title">投保单号</span>
|
||||
<span class="main">{{ policyData.orderNo }}</span>
|
||||
</div>
|
||||
<div class="row">
|
||||
<span class="title">投保日期</span>
|
||||
<span class="main">{{ policyData.appntDate }}</span>
|
||||
</div>
|
||||
<div class="row">
|
||||
<span class="title">承保日期</span>
|
||||
<span class="main">{{ policyData.signDate }}</span>
|
||||
</div>
|
||||
<div class="row">
|
||||
<span class="title">总保费</span>
|
||||
<span class="main">{{ policyData.orderAmount }}元</span>
|
||||
</div>
|
||||
</van-collapse-item>
|
||||
<van-collapse-item title="主险" name="2">
|
||||
<p class="list" v-show="mainShow" v-for="(item, index) in policyData.mainRiskNameList" :key="index">{{ item }}</p>
|
||||
<p class="list" v-show="mainShow == false">暂无主险信息</p>
|
||||
</van-collapse-item>
|
||||
<van-collapse-item title="附加险" name="3">
|
||||
<p class="list" v-show="subRiskShow" v-for="(itemm, index) in policyData.subRiskNameList" :key="index">{{ itemm }}</p>
|
||||
<p class="list" v-show="subRiskShow == false" >暂无附加险信息</p>
|
||||
</van-collapse-item>
|
||||
</van-collapse>
|
||||
<div class="bottom">
|
||||
<button class="back" @click="goback()">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Collapse, CollapseItem } from 'vant'
|
||||
import { queryOutOrderDetail } from '@/api/ebiz/billingDetail/billingDetail'
|
||||
// 当前时间
|
||||
const currentDate = new Date()
|
||||
export default {
|
||||
name: 'policyDetails',
|
||||
components: {
|
||||
[Collapse.name]: Collapse,
|
||||
[CollapseItem.name]: CollapseItem,
|
||||
},
|
||||
props: {
|
||||
orderNo: {
|
||||
type: String,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
currentDate: '',
|
||||
// orderNo: '',
|
||||
activeName: ['1','2','3'],
|
||||
policyData: {},
|
||||
mainShow: false,
|
||||
subRiskShow: false,
|
||||
}
|
||||
},
|
||||
created() {
|
||||
console.log(this.orderNo);
|
||||
this.getpolicyInfo();
|
||||
},
|
||||
mounted() {
|
||||
// console.log(this.orderNo);
|
||||
// this.getpolicyInfo();
|
||||
},
|
||||
methods: {
|
||||
getpolicyInfo() {
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
forbidClick: true, // 禁用背景点击
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
})
|
||||
queryOutOrderDetail({
|
||||
orderNo: this.orderNo,
|
||||
}).then((res) => {
|
||||
this.policyData = res.content;
|
||||
if(this.policyData.mainRiskNameList == []) {
|
||||
this.mainShow = false
|
||||
} else {
|
||||
this.mainShow = true
|
||||
}
|
||||
if(this.policyData.subRiskNameList.length == 0) {
|
||||
this.subRiskShow = false
|
||||
} else {
|
||||
this.subRiskShow = true
|
||||
}
|
||||
})
|
||||
},
|
||||
goback() {
|
||||
this.$emit('child-back', '1');
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
::v-deep .van-cell {
|
||||
font-size: 18px;
|
||||
font-weight: 500;
|
||||
}
|
||||
::v-deep .van-collapse-item__content {
|
||||
padding: 0px 35px;
|
||||
}
|
||||
.content {
|
||||
height: 100vh;
|
||||
background-color: #fff;
|
||||
}
|
||||
.row {
|
||||
display: flex;
|
||||
align-items: strat;
|
||||
padding: 7px 0px;
|
||||
border-bottom: 0.5px #ccc solid;
|
||||
.title {
|
||||
width: 110px;
|
||||
font-size: 16px;
|
||||
color: #333;
|
||||
}
|
||||
.main {
|
||||
font-size: 14px;
|
||||
max-width: 200px;
|
||||
word-break: normal;
|
||||
display: block;
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
.list {
|
||||
padding: 12px 0;
|
||||
}
|
||||
.bottom {
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
.back {
|
||||
width: 100%;
|
||||
background-color: #e9332e;
|
||||
border: none;
|
||||
padding: 12px 0px;
|
||||
border-radius: 28px;
|
||||
color: #fff;
|
||||
font-size: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
::v-deep .van-cell__right-icon {
|
||||
margin-left: 1.33333vw;
|
||||
color: #969799;
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
@@ -23,7 +23,7 @@
|
||||
<van-button
|
||||
type="danger"
|
||||
size="normal"
|
||||
style="width: 157px;"
|
||||
style="width: 157px"
|
||||
plain
|
||||
v-no-more-click="1000"
|
||||
@click="share(3)"
|
||||
@@ -34,7 +34,7 @@
|
||||
<van-button
|
||||
type="danger"
|
||||
size="normal"
|
||||
style="width: 157px;"
|
||||
style="width: 157px"
|
||||
plain
|
||||
v-no-more-click="1000"
|
||||
@click="start_ocr(3)"
|
||||
@@ -132,7 +132,11 @@ export default {
|
||||
}
|
||||
|
||||
if (localStorage['faceAuthWeXin-requestId'] && localStorage['faceAuthWeXin-bizToken']) {
|
||||
this.getRecognitionResult(JSON.parse(localStorage['faceAuthWeXin-requestId']), JSON.parse(localStorage['faceAuthWeXin-bizToken']))
|
||||
this.getRecognitionResult(
|
||||
JSON.parse(localStorage['faceAuthWeXin-requestId']),
|
||||
JSON.parse(localStorage['faceAuthWeXin-bizToken']),
|
||||
JSON.parse(localStorage['orderNo'])
|
||||
)
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -209,7 +213,9 @@ export default {
|
||||
//从签名页调过来的标识
|
||||
sessionStorage.setItem('airSign', this.$route.query.airSign)
|
||||
}
|
||||
localStorage.setItem('token', this.$route.query.token)
|
||||
if (this.$route.query.token) {
|
||||
localStorage.setItem('token', this.$route.query.token)
|
||||
}
|
||||
if (this.$route.query.signInvalid) {
|
||||
sessionStorage.setItem('signInvalid', this.$route.query.signInvalid)
|
||||
}
|
||||
@@ -237,7 +243,7 @@ export default {
|
||||
caseStatus: 'applying',
|
||||
businessNo: localStorage.businessNo
|
||||
}
|
||||
progressDetail(data).then(res => {
|
||||
progressDetail(data).then((res) => {
|
||||
if (res.result == 0) {
|
||||
console.log(res)
|
||||
this.list = res.content
|
||||
@@ -253,7 +259,7 @@ export default {
|
||||
message: '加载中……'
|
||||
})
|
||||
let data = {}
|
||||
getSignInvalid(data).then(res => {
|
||||
getSignInvalid(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
this.signInvalid = res.content.sign
|
||||
@@ -273,7 +279,7 @@ export default {
|
||||
sign: signInvalid
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
checkSignInvalid(data).then(res => {
|
||||
checkSignInvalid(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
that.$toast.clear()
|
||||
let status = res.content.status
|
||||
@@ -354,7 +360,8 @@ export default {
|
||||
number: that.list.applyerCertiCode,
|
||||
//姓名
|
||||
name: that.list.applyerName,
|
||||
businessSource: '3'
|
||||
businessSource: '3',
|
||||
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
|
||||
})
|
||||
// const authRes = await new Promise(resolve => {
|
||||
// resolve(JSON.stringify({ state: '0' }))
|
||||
@@ -380,7 +387,7 @@ export default {
|
||||
let data = { realName: this.idcardData.idcardName, idno: this.idcardData.idcardNumber, redirectUrl: location.origin + '/#' + this.$route.fullPath }
|
||||
console.log('获取URL请求参数', data)
|
||||
getRecognitionUrl(data).then(
|
||||
res => {
|
||||
(res) => {
|
||||
console.log('getRecognitionUrl', res)
|
||||
if (res.result == '0') {
|
||||
localStorage.setItem('faceAuthWeXin-requestId', JSON.stringify(res.content.requestId))
|
||||
@@ -390,15 +397,15 @@ export default {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
},
|
||||
error => {
|
||||
(error) => {
|
||||
console.log(error)
|
||||
}
|
||||
)
|
||||
})
|
||||
},
|
||||
getRecognitionResult(requestId, bizToken) {
|
||||
getRecognitionResult({ requestId, bizToken })
|
||||
.then(res => {
|
||||
getRecognitionResult(requestId, bizToken, orderNo) {
|
||||
getRecognitionResult({ requestId, bizToken, orderNo })
|
||||
.then((res) => {
|
||||
console.log('getRecognitionResult', res)
|
||||
if (res.result == '0') {
|
||||
this.showRead()
|
||||
@@ -406,7 +413,7 @@ export default {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
.catch((error) => {
|
||||
console.log(error)
|
||||
})
|
||||
localStorage.setItem('faceAuthWeXin-requestId', '')
|
||||
@@ -445,7 +452,7 @@ export default {
|
||||
localStorage.setItem('successClaimNo', '')
|
||||
let that = this
|
||||
let data = { businessNo: localStorage.getItem('businessNo') }
|
||||
submit(data).then(res => {
|
||||
submit(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
localStorage.successClaimNo = res.content.claimNo
|
||||
that.$jump({
|
||||
|
||||
@@ -82,7 +82,8 @@ export default {
|
||||
if (
|
||||
currentMainRiskInfo.mainRiskPayEndYearFlag == 'Y' &&
|
||||
currentMainRiskInfo.mainRiskPayEndYear == '1000' &&
|
||||
(item.productCode == 'GFRS_A0007' || item.productCode == 'GFRS_A0009'|| item.productCode == 'GFRS_A0010'|| item.productCode == 'GFRS_A0013' || item.productCode == 'GFRS_A0014')
|
||||
(item.productCode == 'GFRS_A0007' || item.productCode == 'GFRS_A0009'|| item.productCode == 'GFRS_A0010'|| item.productCode == 'GFRS_A0013' || item.productCode == 'GFRS_A0014'
|
||||
|| item.productCode == 'GFRS_A0015' || item.productCode == 'GFRS_A0016')
|
||||
) {
|
||||
item.isHidden = 1
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
:show-plus="false"
|
||||
:show-minus="false"
|
||||
class="ml30"
|
||||
:disabled="item.productCode == 'GFRS_M0083' && isFrom != 'proposal'"
|
||||
:disable-input="disabledShow"
|
||||
@change="
|
||||
stepperChange(
|
||||
item.calFactorLst[riskFactorIndex].displayAmount,
|
||||
@@ -115,7 +115,8 @@
|
||||
item.productCode == 'GFRS_M0073' ||
|
||||
item.productCode == 'GFRS_M0057' ||
|
||||
item.productCode == 'GFRS_M0086' ||
|
||||
item.productCode == 'GFRS_M0092'
|
||||
item.productCode == 'GFRS_M0092' ||
|
||||
item.productCode == 'GFRS_M0096'
|
||||
)
|
||||
"
|
||||
class="fs14 w100"
|
||||
@@ -135,7 +136,8 @@
|
||||
item.productCode == 'GFRS_M0073' ||
|
||||
item.productCode == 'GFRS_M0057' ||
|
||||
item.productCode == 'GFRS_M0086' ||
|
||||
item.productCode == 'GFRS_M0092'
|
||||
item.productCode == 'GFRS_M0092' ||
|
||||
item.productCode == 'GFRS_M0096'
|
||||
)
|
||||
"
|
||||
v-model="dutyItem.defaultDutyAmt"
|
||||
@@ -178,7 +180,7 @@
|
||||
</div>
|
||||
<!-- 类型为5的字段,单元格只展示文本 -->
|
||||
<div class="border-bottom pv10" v-if="riskFactor.type == 5">
|
||||
<van-field v-model="riskFactor.showContent" readonly :label="riskFactor.name" />
|
||||
<van-field v-model="riskFactor.showContent" disabled readonly :label="riskFactor.name" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -346,7 +348,14 @@
|
||||
</div>
|
||||
<div
|
||||
class="flex justify-content-s pv10 border-bottom prem"
|
||||
v-if="item.productCode != 'GFRS_M0080' && item.productCode != 'GFRS_M0083' && item.productCode != 'GFRS_M0085'"
|
||||
v-if="
|
||||
item.productCode != 'GFRS_M0100' &&
|
||||
item.productCode != 'GFRS_M0080' &&
|
||||
item.productCode != 'GFRS_M0083' &&
|
||||
item.productCode != 'GFRS_M0098' &&
|
||||
item.productCode != 'GFRS_M0103' &&
|
||||
item.productCode != 'GFRS_M0085'
|
||||
"
|
||||
>
|
||||
<!-- trialType 0-保额算保费,1-保费算保额 -->
|
||||
<!-- isTrial是否需存在特殊配置(规则) 0-是 1-否-->
|
||||
@@ -390,20 +399,22 @@
|
||||
<img class="w20 h20 p10 v-middle" :src="require('@/assets/images/sale/approved' + item.status + '.png')" alt="" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex justify-content-s align-items-c fs12" v-for='item in riskAmntList'>
|
||||
<div class="flex justify-content-s align-items-c fs12" v-for="item in riskAmntList">
|
||||
<div>
|
||||
<img class="w20 h20 p10 v-middle" :src="require('@/assets/images/sale/coin.png')" alt="" />
|
||||
<span class="v-middle">{{ item.accuRiskDesc }}:</span>
|
||||
<span class="v-middle">{{ item.accuRiskDesc }}:</span>
|
||||
</div>
|
||||
<div>
|
||||
<span class="w20 h20 p10 v-middle">{{item.accuRiskAmnt}}</span>
|
||||
<!-- <img class="w20 h20 p10 v-middle" :src="require('@/assets/images/sale/approved' + item.status + '.png')" alt="" />-->
|
||||
<span class="w20 h20 p10 v-middle">{{ item.accuRiskAmnt }}</span>
|
||||
<!-- <img class="w20 h20 p10 v-middle" :src="require('@/assets/images/sale/approved' + item.status + '.png')" alt="" />-->
|
||||
</div>
|
||||
</div>
|
||||
<div style="padding: 25px 0px 10px 10px; font-size: 10px; color: #999">
|
||||
<p style="line-height: 20px"><span style="width: 40px; display: inline-block">说明:</span><br/>
|
||||
1.绿色✔表示 未触发规则、红色×表示 触发规则;<br/>
|
||||
2.已累计本次投保的风险保额;<br/>3.展示的风险保额为常见风险类别。</p>
|
||||
<p style="line-height: 20px">
|
||||
<span style="width: 40px; display: inline-block">说明:</span><br />
|
||||
1.绿色✔表示 未触发规则、红色×表示 触发规则;<br />
|
||||
2.已累计本次投保的风险保额;<br />3.展示的风险保额为常见风险类别。
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</van-dialog>
|
||||
@@ -572,6 +583,7 @@ export default {
|
||||
cvalidateFlag: false,
|
||||
cvalidateStr: '', //活动生效日
|
||||
chooseProducts: [],
|
||||
disabledShow: false,
|
||||
productIndex: '',
|
||||
calFactorIndex: '',
|
||||
premiumData: [], //试算
|
||||
@@ -606,7 +618,7 @@ export default {
|
||||
richChildrenFlag: false,
|
||||
isCrossChannel: '0', //是否交叉渠道 1-是 0-否
|
||||
trialResultsShow: false, //核保试算结果
|
||||
riskAmntList:[],//累计寿险风险保额(元)、累计重大疾病风险保额(元)、累计意外伤害风险保额(元)、意外住院津贴日额(元)、一般住院津贴日额(元)、特定疾病住院津贴日额(元)
|
||||
riskAmntList: [], //累计寿险风险保额(元)、累计重大疾病风险保额(元)、累计意外伤害风险保额(元)、意外住院津贴日额(元)、一般住院津贴日额(元)、特定疾病住院津贴日额(元)
|
||||
verifyResultList: [] //核保试算返回数据结构
|
||||
}
|
||||
},
|
||||
@@ -829,7 +841,14 @@ export default {
|
||||
this.isEnterAddtionRiskListFunc()
|
||||
}
|
||||
}
|
||||
if ((item.mainRiskCode == 'GFRS_M0083' || item.mainRiskCode == 'GFRS_M0085') && this.isFrom == 'proposal') {
|
||||
if (item.mainRiskCode == 'GFRS_M0083' || item.mainRiskCode == 'GFRS_M0098' || item.mainRiskCode == 'GFRS_M0103'|| item.mainRiskCode == 'GFRS_M0085') {
|
||||
this.disabledShow = true
|
||||
}
|
||||
if (item.hasPredictTransferPrem == '1') {
|
||||
this.disabledShow = false
|
||||
}
|
||||
|
||||
if ((item.mainRiskCode == 'GFRS_M0083' || item.mainRiskCode == 'GFRS_M0098' || item.mainRiskCode == 'GFRS_M0103'|| item.mainRiskCode == 'GFRS_M0085') && this.isFrom == 'proposal') {
|
||||
item.calFactorLst.forEach((i) => {
|
||||
if (i.code == 'inputPrem') {
|
||||
i.minPrem = 0.01
|
||||
@@ -1032,7 +1051,9 @@ export default {
|
||||
this.chooseProducts[productIndex].productCode === 'GFRS_A0009' ||
|
||||
this.chooseProducts[productIndex].productCode === 'GFRS_A0014' ||
|
||||
this.chooseProducts[productIndex].productCode === 'GFRS_A0013' ||
|
||||
this.chooseProducts[productIndex].productCode === 'GFRS_A0010'
|
||||
this.chooseProducts[productIndex].productCode === 'GFRS_A0010' ||
|
||||
this.chooseProducts[productIndex].productCode === 'GFRS_A0015' ||
|
||||
this.chooseProducts[productIndex].productCode === 'GFRS_A0016'
|
||||
) {
|
||||
setTimeout(() => {
|
||||
this.getTrial()
|
||||
@@ -1104,7 +1125,6 @@ export default {
|
||||
// let productCode = this.chooseProducts[this.productIndex].productCode
|
||||
let currentFactor = this.chooseProducts[this.productIndex].calFactorLst
|
||||
let currentEle = currentFactor[this.calFactorIndex]
|
||||
console.log(currentEle.code)
|
||||
if (currentEle.code == 'insuYear') {
|
||||
if (value.value == '70') {
|
||||
this.chooseProducts.forEach((item, index) => {
|
||||
@@ -1236,7 +1256,9 @@ export default {
|
||||
item01.productCode != 'GFRS_A0010' &&
|
||||
item01.productCode != 'GFRS_A0012' &&
|
||||
item01.productCode != 'GFRS_A0013' &&
|
||||
item01.productCode != 'GFRS_A0014'
|
||||
item01.productCode != 'GFRS_A0014' &&
|
||||
item01.productCode != 'GFRS_A0015' &&
|
||||
item01.productCode != 'GFRS_A0016'
|
||||
) {
|
||||
chooseProductsNew.push(item01)
|
||||
}
|
||||
@@ -1550,7 +1572,9 @@ export default {
|
||||
item.productCode != 'GFRS_A0010' &&
|
||||
item.productCode != 'GFRS_A0012' &&
|
||||
item.productCode != 'GFRS_A0013' &&
|
||||
item.productCode != 'GFRS_A0014'
|
||||
item.productCode != 'GFRS_A0014' &&
|
||||
item.productCode != 'GFRS_A0015' &&
|
||||
item.productCode != 'GFRS_A0016'
|
||||
) {
|
||||
list.push(item)
|
||||
}
|
||||
@@ -1732,10 +1756,10 @@ export default {
|
||||
}
|
||||
})
|
||||
this.chooseProducts.forEach((item, index) => {
|
||||
if (item.productCode == 'GFRS_A0010' || item.productCode == 'GFRS_A0009' || item.productCode == 'GFRS_A0013' || item.productCode == 'GFRS_A0014') {
|
||||
if (item.productCode == 'GFRS_A0010' || item.productCode == 'GFRS_A0009' || item.productCode == 'GFRS_A0013' || item.productCode == 'GFRS_A0014' || item.productCode == 'GFRS_A0015' || item.productCode == 'GFRS_A0016') {
|
||||
//(投保人)国富人寿附加豁免保险费重大疾病保险(B款)
|
||||
// 投被不同人:投保人豁免险单独搭配主险时,投保人豁免险,豁免主险保费,当投保人豁免险加两全(有长险附加险时),豁免主险保费加两全保费
|
||||
if (item.productCode == 'GFRS_A0009' || item.productCode == 'GFRS_A0013') {
|
||||
if (item.productCode == 'GFRS_A0009' || item.productCode == 'GFRS_A0013' || item.productCode == 'GFRS_A0015' || item.productCode == 'GFRS_A0016') {
|
||||
if (this.saleInsuredPersonInfo.relationToAppnt != 1) {
|
||||
//不同人
|
||||
if (showPrem001) {
|
||||
@@ -1805,10 +1829,11 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
//2、豁免险跟主险联动,豁免险缴费期间和保险期间同主险的缴费期间
|
||||
//2、豁免险跟主险联动,豁免险缴费期间和保险期间同主险的缴费期间 -1 (附加险D款时提出的需求)
|
||||
let remitIndex = this.getRemitIndex()
|
||||
//if (!remitIndex) return
|
||||
for (let itemRemitIndex of remitIndex) {
|
||||
console.log('mainRiskInfo---->', mainRiskInfo)
|
||||
this.chooseProducts[itemRemitIndex].calFactorLst.forEach((item) => {
|
||||
if (item.code == 'payIntv') {
|
||||
for (let key in mainRiskInfo.payIntv) {
|
||||
@@ -1818,13 +1843,13 @@ export default {
|
||||
if (item.code == 'payEndYear') {
|
||||
item.hasFlag = '1'
|
||||
item.payEndYearFlag = 'Y'
|
||||
item.payEndYear = Number(mainRiskInfo.payEndYear.payEndYear)
|
||||
item.payEndYear = Number(mainRiskInfo.payEndYear.payEndYear) - 1
|
||||
item.showContent = item.payEndYear + '年交'
|
||||
}
|
||||
if (item.code == 'insuYear') {
|
||||
item.hasFlag = '1'
|
||||
item.insuYearFlag = 'Y'
|
||||
item.insuYear = Number(mainRiskInfo.payEndYear.payEndYear)
|
||||
item.insuYear = Number(mainRiskInfo.payEndYear.payEndYear) - 1
|
||||
item.showContent = item.insuYear + '年'
|
||||
}
|
||||
if (item.code == 'amt') {
|
||||
@@ -1839,7 +1864,9 @@ export default {
|
||||
this.chooseProducts[itemRemitIndex].productCode == 'GFRS_A0009' ||
|
||||
this.chooseProducts[itemRemitIndex].productCode == 'GFRS_A0010' ||
|
||||
this.chooseProducts[itemRemitIndex].productCode == 'GFRS_A0013' ||
|
||||
this.chooseProducts[itemRemitIndex].productCode == 'GFRS_A0014'
|
||||
this.chooseProducts[itemRemitIndex].productCode == 'GFRS_A0014' ||
|
||||
this.chooseProducts[itemRemitIndex].productCode == 'GFRS_A0015' ||
|
||||
this.chooseProducts[itemRemitIndex].productCode == 'GFRS_A0016'
|
||||
) {
|
||||
//此附加险的缴费期间=主险缴费期间;保险期间=主险保险期间
|
||||
if (item.code == 'insuYear') {
|
||||
@@ -1866,7 +1893,7 @@ export default {
|
||||
})
|
||||
this.chooseProducts[0].productTrialYearDTOS.forEach((item, index) => {
|
||||
//因交费方式为一次性交清时,不会有豁免险,所以这里不判断一次性交清的情况
|
||||
if (payEndYearVal == item.yearWay + '年交') {
|
||||
if (payEndYearVal == Number(item.yearWay) - 1 + '年交') {
|
||||
v.amt = item.displayAmount * item.moneyUnit
|
||||
}
|
||||
})
|
||||
@@ -2151,17 +2178,20 @@ export default {
|
||||
async getTrial() {
|
||||
let that = this
|
||||
let productCode = ''
|
||||
let hasPredictTransferPrem = ''
|
||||
let thisproductInfo = JSON.parse(window.localStorage.getItem('chooseProducts'))
|
||||
if (thisproductInfo && thisproductInfo.length != 0) {
|
||||
thisproductInfo.forEach((item) => {
|
||||
if (item.productCode == 'GFRS_M0083' || item.productCode == 'GFRS_M0085') {
|
||||
if (item.productCode == 'GFRS_M0083' || item.productCode == 'GFRS_M0098' || item.productCode == 'GFRS_M0103'|| item.productCode == 'GFRS_M0085') {
|
||||
productCode = item.productCode
|
||||
hasPredictTransferPrem = item.hasPredictTransferPrem
|
||||
}
|
||||
})
|
||||
}
|
||||
if (this.isFrom != 'proposal') {
|
||||
if (productCode == 'GFRS_M0083' || productCode == 'GFRS_M0085') {
|
||||
if (productCode == 'GFRS_M0083' || productCode == 'GFRS_M0098' || productCode == 'GFRS_M0103'|| productCode == 'GFRS_M0085') {
|
||||
if (!that.policyNo) {
|
||||
this.disabledShow = true
|
||||
that.chooseProducts.forEach((item) => {
|
||||
item.calFactorLst.forEach((ii) => {
|
||||
if (ii.type == 1) {
|
||||
@@ -2171,6 +2201,7 @@ export default {
|
||||
})
|
||||
})
|
||||
} else {
|
||||
this.disabledShow = false
|
||||
that.chooseProducts.forEach((item) => {
|
||||
item.calFactorLst.forEach((ii) => {
|
||||
if (ii.type == 1) {
|
||||
@@ -2182,6 +2213,9 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (hasPredictTransferPrem == '1') {
|
||||
this.disabledShow = false
|
||||
}
|
||||
this.nextStepFlag = true
|
||||
this.$toast.clear()
|
||||
this.$toast.loading({
|
||||
@@ -2356,6 +2390,14 @@ export default {
|
||||
trialFlag = false
|
||||
}
|
||||
}
|
||||
}else if (item.productCode == 'GFRS_M0101' || item.productCode == 'GFRS_M0102') {
|
||||
// 当投保人年龄≥75周岁时,需转人工核保。核心提示语,投保人年龄≥75周岁。前端提示语为:投保人年龄≥75周岁,需进一步人工审核
|
||||
let appntAge = this.saleInsuredInfo.age
|
||||
if (appntAge>=75){
|
||||
this.nextStepFlag = true
|
||||
this.$toast('投保人年龄≥75周岁,需进一步人工审核!')
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
if (!trialFlag) {
|
||||
@@ -2932,7 +2974,7 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (productCode == 'GFRS_M0083' || productCode == 'GFRS_M0085') {
|
||||
} else if (productCode == 'GFRS_M0083' || productCode == 'GFRS_M0098' || productCode == 'GFRS_M0103'|| productCode == 'GFRS_M0085') {
|
||||
if (this.isFrom != 'proposal') {
|
||||
if (!this.policyNo && defalutValue < 5) {
|
||||
this.$toast('单独投保,保费为大于等于50000元')
|
||||
@@ -3115,7 +3157,8 @@ export default {
|
||||
this.trialList[index].productCode == 'GFRS_M0077' ||
|
||||
this.trialList[index].productCode == 'GFRS_M0057' ||
|
||||
this.trialList[index].productCode == 'GFRS_M0086' ||
|
||||
this.trialList[index].productCode == 'GFRS_M0092'
|
||||
this.trialList[index].productCode == 'GFRS_M0092' ||
|
||||
this.trialList[index].productCode == 'GFRS_M0096'
|
||||
) {
|
||||
riskItem['dutyLst'] = this.trialInfos[index].duty
|
||||
}
|
||||
@@ -3156,7 +3199,9 @@ export default {
|
||||
item.productCode == 'GFRS_A0010' ||
|
||||
item.productCode == 'GFRS_A0013' ||
|
||||
item.productCode == 'GFRS_A0014' ||
|
||||
item.productCode == 'GFRS_M0077'
|
||||
item.productCode == 'GFRS_M0077' ||
|
||||
item.productCode == 'GFRS_A0015' ||
|
||||
item.productCode == 'GFRS_A0016'
|
||||
) {
|
||||
this.trialInfos[index].amt = this.trialList[index].duty[0].amt
|
||||
}
|
||||
|
||||
@@ -197,7 +197,7 @@ export default {
|
||||
// ------------------------专为惠企写死--end---------------//
|
||||
//如果是选择产品, 进入电子投保, 在主险列表能默认选中我在产品列表选择的产品
|
||||
if (this.list.length > 0) {
|
||||
console.log(localStorage.productCodeChooseFromList)
|
||||
// console.log(localStorage.productCodeChooseFromList)
|
||||
this.result = this.list.find((v) => {
|
||||
return v.riskProductCode == localStorage.productCodeChooseFromList
|
||||
})
|
||||
@@ -274,7 +274,7 @@ export default {
|
||||
// ------------------------专为惠企写死--end---------------//
|
||||
// 如果是选择产品, 进入电子投保, 在主险列表能默认选中我在产品列表选择的产品
|
||||
if (this.list.length > 0) {
|
||||
console.log(localStorage.productCodeChooseFromList)
|
||||
// console.log(localStorage.productCodeChooseFromList)
|
||||
this.result = this.list.find((v) => {
|
||||
return v.riskProductCode == localStorage.productCodeChooseFromList
|
||||
})
|
||||
@@ -440,7 +440,6 @@ export default {
|
||||
return this.$toast('该投保人工作单位不能投保该产品')
|
||||
}
|
||||
/********end 主险选择限制 end******/
|
||||
|
||||
//保存附加险
|
||||
localStorage.addtionRiskLst = JSON.stringify(resultData.productTrialInfoDTO.addtionRiskLst)
|
||||
localStorage.isAutoPay = resultData.isAutoPay
|
||||
@@ -449,6 +448,8 @@ export default {
|
||||
localStorage.isRelated = resultData.isRelated
|
||||
|
||||
let calFactorLst = this.getFactorList(resultData)
|
||||
|
||||
// return
|
||||
let productTrialYearDTOS = resultData.productTrialInfoDTO.productTrialYearDTOS != null ? resultData.productTrialInfoDTO.productTrialYearDTOS : null
|
||||
let hasAddtionRisk = resultData.productTrialInfoDTO.addtionRiskLst != null && resultData.productTrialInfoDTO.addtionRiskLst.length ? true : false
|
||||
let currentProductInfo =
|
||||
@@ -504,9 +505,9 @@ export default {
|
||||
//构建险种因子列表
|
||||
getFactorList(resultData) {
|
||||
let productTrialInfoDTO = resultData.productTrialInfoDTO
|
||||
console.log(productTrialInfoDTO, 'wode')
|
||||
// console.log(productTrialInfoDTO, 'wode')
|
||||
let calFactorLst = resultData.productTrialInfoDTO.calFactorLst
|
||||
console.log('calFactorLst', calFactorLst)
|
||||
// console.log('calFactorLst', calFactorLst)
|
||||
|
||||
calFactorLst.forEach((item) => {
|
||||
item['isMainRisk'] = 0
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
<!-- <div class="flex justify-content-c align-items-c">
|
||||
<img class="icon_title_image" src="@/assets/images/kmh/title_bg.png" />
|
||||
</div> -->
|
||||
<van-radio-group v-model="active_radio" style="align-items: center;padding-top: 140px">
|
||||
<van-radio-group v-model="active_radio" style="align-items: center;padding-top: 180px">
|
||||
<van-radio name="1" class="radio_class" style="display: flex;justify-content: center;">
|
||||
<template #icon="props">
|
||||
<img class="img-icon radio_icon_image" :src="props.checked ? checkedUrl : noCheckedUrl" />
|
||||
@@ -1110,7 +1110,7 @@
|
||||
}
|
||||
.dialog_class {
|
||||
width: 330px;
|
||||
height: 335px;
|
||||
height: 376px;
|
||||
background: url('../../../assets/images/kmh/dialog_bg.png');
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ export default {
|
||||
age = this.getSaleInsuredInfo().age
|
||||
tips = '投保人年龄不适合此款险种,请选择其他险种!'
|
||||
} else {
|
||||
if(riskProductCode == 'GFRS_M0061'){
|
||||
if(riskProductCode == 'GFRS_M0061' || riskProductCode == 'GFRS_M0102' || riskProductCode == 'GFRS_M0101'){
|
||||
age = this.getSaleInsuredPersonInfo().birthday?utilsAge.getAge29(this.getSaleInsuredPersonInfo().birthday, new Date()):this.getSaleInsuredPersonInfo().insuredAge
|
||||
}else{
|
||||
age = this.getSaleInsuredPersonInfo().birthday?utilsAge.getAgeByValue(this.getSaleInsuredPersonInfo().birthday, new Date()):this.getSaleInsuredPersonInfo().insuredAge
|
||||
|
||||
@@ -4,19 +4,25 @@
|
||||
<img src="@/assets/images/list_img.png" alt="" />
|
||||
<div class="box">
|
||||
<div class="title">
|
||||
<p class="organ">{{ orderList.manageComName }}</p>
|
||||
<p class="organ">{{ orderList.manageComNameFull }}</p>
|
||||
<p class="name">{{ orderList.name }}</p>
|
||||
</div>
|
||||
<div class="pName">{{ orderList.productName }}</div>
|
||||
<div class="pName">{{ orderList.productNameFull }}</div>
|
||||
<div class="type">{{ orderList.outOrderType == 'accept' ? '承保规保' : '预收规保' }}</div>
|
||||
<div class="yuan">{{ orderList.prem }}<span>元</span></div>
|
||||
<div class="time">{{ orderList.outOrderType == 'accept' ? '承保时间:' : '预收时间:' }}{{ orderList.appntDate }}</div>
|
||||
<div class="yuan">{{ orderList.prem }}<span style="color: #333333">元</span></div>
|
||||
<div class="time">{{ orderList.outOrderType == 'accept' ? '承保时间:' : '预收时间:' }}
|
||||
<span v-if="orderList.outOrderType == 'accept'">{{ orderList.signDate }}</span>
|
||||
<span v-if="orderList.outOrderType != 'accept'">{{ orderList.appntDate }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex justify-content-s bottom-btn border-color">
|
||||
<van-button square type="default" size="large" @click="shareImg" v-no-more-click="1000"> 分享 </van-button>
|
||||
<van-button square type="danger" size="large" @click="downLoadImagesFunc" v-no-more-click="1000"> 下载 </van-button>
|
||||
</div>
|
||||
<div class="close" @click="close()">
|
||||
<van-icon name="cross" size="38" color="#fff" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -25,9 +31,23 @@ import html2canvas from 'html2canvas'
|
||||
import { base64Excel } from '@/api/ebiz/nbs'
|
||||
export default {
|
||||
name: 'generateImg',
|
||||
// generateImgData
|
||||
props: {
|
||||
// generateImgData: {
|
||||
// type: Object,
|
||||
// default: {}
|
||||
// },
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
orderList: {}
|
||||
orderList: {},
|
||||
isIOS: false,
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
|
||||
if(this.isIOS) {
|
||||
document.getElementsByClassName('box').style.top = '38%'
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -36,6 +56,7 @@ export default {
|
||||
methods: {
|
||||
getList() {
|
||||
this.orderList = JSON.parse(localStorage.getItem('orderList'))
|
||||
console.log('页面数据',this.orderList);
|
||||
},
|
||||
// 将 Blob转base64
|
||||
blobToBase64(blob) {
|
||||
@@ -122,6 +143,9 @@ export default {
|
||||
},
|
||||
downLoadImagesFunc() {
|
||||
this.domToImage(this.$refs.generateImg)
|
||||
},
|
||||
close() {
|
||||
this.$emit('child-colse', '1')
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -155,12 +179,12 @@ img {
|
||||
|
||||
.organ {
|
||||
font-size: 12px;
|
||||
color: #b7170b;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.name {
|
||||
font-size: 17px;
|
||||
color: #b7170b;
|
||||
color: #333333;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -168,15 +192,16 @@ img {
|
||||
position: absolute;
|
||||
top: 44%;
|
||||
font-size: 15px;
|
||||
color: #efbc4f;
|
||||
color: #B1170C;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
.type {
|
||||
font-size: 22px;
|
||||
color: #efbc4f;
|
||||
color: #B1170C;
|
||||
position: absolute;
|
||||
top: 53%;
|
||||
width: 100%;
|
||||
@@ -186,7 +211,7 @@ img {
|
||||
|
||||
.yuan {
|
||||
font-size: 30px;
|
||||
color: #efbc4f;
|
||||
color: #B1170C;
|
||||
position: absolute;
|
||||
top: 67%;
|
||||
width: 100%;
|
||||
@@ -202,7 +227,7 @@ img {
|
||||
|
||||
.time {
|
||||
font-size: 14px;
|
||||
color: #efbc4f;
|
||||
color: #333333;
|
||||
position: absolute;
|
||||
top: 85%;
|
||||
width: 100%;
|
||||
@@ -216,10 +241,18 @@ img {
|
||||
border: 2px solid;
|
||||
border-image: radial-gradient(circle, rgba(255, 233, 124, 1), rgba(222, 144, 34, 1)) 2 2;
|
||||
}
|
||||
|
||||
/deep/ .van-button {
|
||||
border-radius: 12px;
|
||||
width: 42%;
|
||||
}
|
||||
/deep/ .van-button--danger {
|
||||
background: linear-gradient(to right, #f26e43, #ac0209) !important;
|
||||
/*设置按钮为渐变颜色*/
|
||||
border: none !important;
|
||||
}
|
||||
.close {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 0;
|
||||
}
|
||||
</style>
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="insure-again">
|
||||
<div class="signature-content pb40">
|
||||
<div class="insure-again">
|
||||
<div class="signature-content pb40">
|
||||
<div v-if="!isWeixin">
|
||||
<ProgressBar :active.sync="active" />
|
||||
</div>
|
||||
@@ -144,7 +144,7 @@
|
||||
<van-button
|
||||
type="danger"
|
||||
size="normal"
|
||||
style="width: 157px;"
|
||||
style="width: 157px"
|
||||
plain
|
||||
:disabled="changeCard ? appntSign.documentStatus == '1' : appntSignStatus == '3'"
|
||||
v-no-more-click="1000"
|
||||
@@ -178,7 +178,7 @@
|
||||
type="danger"
|
||||
size="normal"
|
||||
plain
|
||||
style="width: 157px;"
|
||||
style="width: 157px"
|
||||
:disabled="insuredSignStatus == '3'"
|
||||
@click="start_ocr('1')"
|
||||
v-no-more-click="1000"
|
||||
@@ -342,12 +342,12 @@ export default {
|
||||
[CollapseItem.name]: CollapseItem,
|
||||
[Dialog.name]: Dialog,
|
||||
[Field.name]: Field,
|
||||
ProgressBar
|
||||
ProgressBar
|
||||
},
|
||||
methods: {
|
||||
fakeFaceAuth(expect) {
|
||||
console.log('模拟调用人脸识别')
|
||||
return new Promise(function(resolve, reject) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
setTimeout(() => {
|
||||
console.log('模拟人脸识别完成')
|
||||
if (expect) {
|
||||
@@ -396,7 +396,9 @@ export default {
|
||||
}
|
||||
// this.$CacheUtils.setLocItem('saleInsuredInfo', this.$route.query.saleInsuredInfo)
|
||||
// window.localStorage.setItem('saleInsuredPersonInfo', this.$route.query.saleInsuredPersonInfo)
|
||||
window.localStorage.setItem('token', this.$route.query.token)
|
||||
if (this.$route.query.token) {
|
||||
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)
|
||||
@@ -442,7 +444,11 @@ export default {
|
||||
}
|
||||
// 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']))
|
||||
this.getRecognitionResult(
|
||||
JSON.parse(localStorage['faceAuthWeXin-requestId']),
|
||||
JSON.parse(localStorage['faceAuthWeXin-bizToken']),
|
||||
JSON.parse(localStorage['orderNo'])
|
||||
)
|
||||
}
|
||||
|
||||
if (sessionStorage.shareCode == '1') {
|
||||
@@ -509,7 +515,7 @@ export default {
|
||||
}
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
return new Promise((resolve, reject) => {
|
||||
checkPhone(data).then(res => {
|
||||
checkPhone(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
console.log(res)
|
||||
this.show = true
|
||||
@@ -578,7 +584,7 @@ export default {
|
||||
operateCode: this.customerMobile,
|
||||
system: 'agentApp',
|
||||
operateCodeType: '0'
|
||||
}).then(res => {
|
||||
}).then((res) => {
|
||||
console.log(res)
|
||||
if (res.result == 0) {
|
||||
this.sid = res.sessionId
|
||||
@@ -746,12 +752,13 @@ export default {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
if (this.faceAuthCount.appnt < this.smsAuthNum) {
|
||||
// eslint-disable-next-line no-undef
|
||||
const authRes = await EWebBridge.webCallAppInJs('face_auth', {
|
||||
// eslint-disable-next-line no-undef
|
||||
const authRes = await EWebBridge.webCallAppInJs('face_auth', {
|
||||
businessSource: '1', //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||
number: that.saleInsuredInfo.idNo, //身份证号码
|
||||
name: that.saleInsuredInfo.name //姓名
|
||||
}).then(data => {
|
||||
name: that.saleInsuredInfo.name, //姓名
|
||||
orderNo: CacheUtils.getLocItem('orderNo') //订单号
|
||||
}).then((data) => {
|
||||
if (JSON.parse(data).state == '1') {
|
||||
// 保存rid 数据
|
||||
that.saveCustomerRidInfo('appnt_rid', 'B')
|
||||
@@ -766,8 +773,8 @@ export default {
|
||||
})
|
||||
// todo 测试去掉人脸识别 start=====================
|
||||
// 保存rid 数据
|
||||
// that.saveCustomerRidInfo('appnt_rid', 'B')
|
||||
// that.goUrl()
|
||||
// that.saveCustomerRidInfo('appnt_rid', 'B')
|
||||
// that.goUrl()
|
||||
// todo 测试去掉人脸识别 end=====================
|
||||
|
||||
// const authRes = await this.fakeFaceAuth(true)
|
||||
@@ -824,8 +831,9 @@ export default {
|
||||
const authRes = await EWebBridge.webCallAppInJs('face_auth', {
|
||||
businessSource: '1', //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||
number: that.saleInsuredPersonInfo.idNo, //身份证号码
|
||||
name: that.saleInsuredPersonInfo.name //姓名
|
||||
}).then(data => {
|
||||
name: that.saleInsuredPersonInfo.name, //姓名
|
||||
orderNo: CacheUtils.getLocItem('orderNo') //订单号
|
||||
}).then((data) => {
|
||||
if (JSON.parse(data).state == '1') {
|
||||
that.saveCustomerRidInfo('insured_rid', 'B')
|
||||
that.insuredUrl()
|
||||
@@ -981,19 +989,21 @@ export default {
|
||||
}
|
||||
})
|
||||
} else {
|
||||
console.log(location.origin +
|
||||
'/#/insureAgain/signatureConfirmation?orderNo=' +
|
||||
localStorage.orderNo +
|
||||
'&token=' +
|
||||
localStorage.token +
|
||||
'&relationToAppnt=' +
|
||||
JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).relationToAppnt +
|
||||
'&shareCode=' +
|
||||
code +
|
||||
'&signInvalid=' +
|
||||
this.signInvalid +
|
||||
'&productCode=' +
|
||||
localStorage.productCode)
|
||||
console.log(
|
||||
location.origin +
|
||||
'/#/insureAgain/signatureConfirmation?orderNo=' +
|
||||
localStorage.orderNo +
|
||||
'&token=' +
|
||||
localStorage.token +
|
||||
'&relationToAppnt=' +
|
||||
JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).relationToAppnt +
|
||||
'&shareCode=' +
|
||||
code +
|
||||
'&signInvalid=' +
|
||||
this.signInvalid +
|
||||
'&productCode=' +
|
||||
localStorage.productCode
|
||||
)
|
||||
// eslint-disable-next-line no-undef
|
||||
EWebBridge.webCallAppInJs('bridge', {
|
||||
flag: 'share',
|
||||
@@ -1041,7 +1051,7 @@ export default {
|
||||
}
|
||||
}
|
||||
// /insure/selfToHuman
|
||||
underWrite(data).then(res => {
|
||||
underWrite(data).then((res) => {
|
||||
this.$toast.clear()
|
||||
let that = this
|
||||
if (res.result == '0') {
|
||||
@@ -1144,12 +1154,12 @@ export default {
|
||||
message: '加载中……'
|
||||
})
|
||||
let data = {
|
||||
orderNo: CacheUtils.getLocItem('orderNo'),
|
||||
orderNo: CacheUtils.getLocItem('orderNo'),
|
||||
getOtherType: 'RID'
|
||||
}
|
||||
localStorage.setItem('riskName', '')
|
||||
return new Promise(resolve => {
|
||||
getOrderDetail(data).then(res => {
|
||||
return new Promise((resolve) => {
|
||||
getOrderDetail(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
if (res.orderDTO && res.orderDTO.prtType) {
|
||||
localStorage.setItem('readingProtocolType', res.orderDTO.prtType)
|
||||
@@ -1165,9 +1175,8 @@ export default {
|
||||
!!res.orderDTO.productDTO.special.content &&
|
||||
res.orderDTO.productDTO.special.content !== ''
|
||||
) {
|
||||
|
||||
let content = res.orderDTO.productDTO.special.content
|
||||
|
||||
|
||||
try {
|
||||
const config = JSON.parse(content)
|
||||
config.message = '  ' + config.message
|
||||
@@ -1180,8 +1189,8 @@ export default {
|
||||
confirmButtonText: '本人已阅读并同意上述特别约定内容',
|
||||
messageAlign: 'left'
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
localStorage.setItem('lastOrderNo', data.orderNo)
|
||||
localStorage.setItem('AppntidType', res.orderDTO.appntDTO.idType)
|
||||
this.$toast.clear()
|
||||
@@ -1219,7 +1228,7 @@ export default {
|
||||
}
|
||||
that.appnt = res.orderDTO.appntDTO
|
||||
that.date = res.orderDTO.orderInfoDTO.appntDateLabel
|
||||
res.orderDTO.ebizSignDTOS.map(item => {
|
||||
res.orderDTO.ebizSignDTOS.map((item) => {
|
||||
if (item.signType == '0' || item.signType == '2') {
|
||||
if (!localStorage.changeCard) {
|
||||
if (item.documentCode != '5') {
|
||||
@@ -1238,11 +1247,11 @@ export default {
|
||||
})
|
||||
if (!that.changeCard) {
|
||||
//将投保人数组排序
|
||||
that.appntSign.sort(function(a, b) {
|
||||
that.appntSign.sort(function (a, b) {
|
||||
return a.key - b.key
|
||||
})
|
||||
//获取投保和被保险人电子投保单签字状态
|
||||
that.appntSign.map(item => {
|
||||
that.appntSign.map((item) => {
|
||||
// 判断是否双录
|
||||
if (item.documentCode == '6') {
|
||||
localStorage.doubleRecordFlag = '1'
|
||||
@@ -1251,7 +1260,7 @@ export default {
|
||||
that.appntSignStatus = item.documentStatus
|
||||
}
|
||||
})
|
||||
that.insuredSign.map(item => {
|
||||
that.insuredSign.map((item) => {
|
||||
if (item.documentCode == '2') {
|
||||
that.insuredSignStatus = item.documentStatus
|
||||
}
|
||||
@@ -1299,7 +1308,7 @@ export default {
|
||||
message: '加载中……'
|
||||
})
|
||||
let data = {}
|
||||
getSignInvalid(data).then(res => {
|
||||
getSignInvalid(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
this.signInvalid = res.content.sign
|
||||
@@ -1320,8 +1329,8 @@ export default {
|
||||
let data = {
|
||||
sign: signInvalid
|
||||
}
|
||||
return new Promise(resolve => {
|
||||
checkSignInvalid(data).then(res => {
|
||||
return new Promise((resolve) => {
|
||||
checkSignInvalid(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
that.$toast.clear()
|
||||
let status = res.content.status
|
||||
@@ -1385,7 +1394,7 @@ export default {
|
||||
businessSource: this.idcardData.businessSource
|
||||
}
|
||||
getRecognitionUrl(data).then(
|
||||
res => {
|
||||
(res) => {
|
||||
if (res.result == '0') {
|
||||
localStorage.setItem('faceAuthWeXin-requestId', JSON.stringify(res.content.requestId))
|
||||
localStorage.setItem('faceAuthWeXin-bizToken', JSON.stringify(res.content.bizToken))
|
||||
@@ -1394,16 +1403,16 @@ export default {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
},
|
||||
error => {
|
||||
(error) => {
|
||||
console.log(error)
|
||||
}
|
||||
)
|
||||
})
|
||||
},
|
||||
getRecognitionResult(requestId, bizToken) {
|
||||
getRecognitionResult(requestId, bizToken, orderNo) {
|
||||
return new Promise(() => {
|
||||
getRecognitionResult({ requestId, bizToken }).then(
|
||||
res => {
|
||||
getRecognitionResult({ requestId, bizToken, orderNo }).then(
|
||||
(res) => {
|
||||
if (res.result == '0') {
|
||||
this.recognizeResult = res.result
|
||||
} else {
|
||||
@@ -1411,7 +1420,7 @@ export default {
|
||||
}
|
||||
this.sendimage(this.recognizeResult)
|
||||
},
|
||||
error => {
|
||||
(error) => {
|
||||
console.log(error)
|
||||
}
|
||||
)
|
||||
@@ -1450,13 +1459,13 @@ export default {
|
||||
}
|
||||
}
|
||||
// 保存rid 认证结果 不阻断流程
|
||||
saveCustomerRid(param).then(res => {
|
||||
saveCustomerRid(param).then((res) => {
|
||||
console.log('saveCustomerRid', res)
|
||||
})
|
||||
}
|
||||
},
|
||||
created() {
|
||||
setTimeout(() => {
|
||||
setTimeout(() => {
|
||||
EWebBridge.webCallAppInJs('webview_left_button', {
|
||||
img: this.$assetsUrl + 'images/del-close-btn@3x.png',
|
||||
intercept: '1' //是否拦截原生返回事件 1是 其他否
|
||||
@@ -1469,11 +1478,11 @@ export default {
|
||||
// localStorage.setItem('salePageFlag', this.salePageFlag)
|
||||
if (!this.$route.query.salePageFlag) {
|
||||
CacheUtils.setLocItem('active', this.active)
|
||||
}
|
||||
}
|
||||
let that = this
|
||||
document.title = this.changeCard ? '修改银行卡号确认' : '签名确认'
|
||||
// 初始化
|
||||
that.init()
|
||||
that.init()
|
||||
if (window.localStorage.getItem('jumpFromSign') != '1' && window.localStorage.getItem('attachmentShow') == '0') {
|
||||
Dialog.confirm({
|
||||
title: '提示',
|
||||
@@ -1487,7 +1496,7 @@ export default {
|
||||
// 获取投被保险人是否同一个人
|
||||
that.relationToAppnt = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).relationToAppnt
|
||||
}
|
||||
},
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
document.body.style.backgroundColor = ''
|
||||
next()
|
||||
|
||||
@@ -30,7 +30,9 @@
|
||||
<div v-if="active === 'uncommit'">
|
||||
<van-button size="small" round type="danger" @click="uncommitInsureDetail(order)" plain>查看详情</van-button>
|
||||
<van-button v-if="canRevoke[order.newOrderStatus]" class="ml10" size="small" round type="danger" @click="revokeOrder(order)">撤单</van-button>
|
||||
<van-button class="ml10" size="small" round type="danger" @click="insureAgain(order)">{{ order.newOrderStatus == '02'?'待支付':'重新投保'}}</van-button>
|
||||
<van-button class="ml10" size="small" round type="danger" @click="insureAgain(order)">{{
|
||||
order.newOrderStatus == '02' ? '待支付' : '重新投保'
|
||||
}}</van-button>
|
||||
</div>
|
||||
<div v-if="active === 'commit'">
|
||||
<van-button v-if="canRevoke[order.newOrderStatus]" class="ml10" size="small" round type="danger" @click="revokeOrder(order)">撤单</van-button>
|
||||
@@ -45,88 +47,92 @@
|
||||
<div class="mt20" v-if="errMessage != ''">{{ errMessage }}</div>
|
||||
</div>
|
||||
</van-pull-refresh>
|
||||
<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>
|
||||
</div>
|
||||
|
||||
<van-popup v-model="isAgreementShow" position="right" :style="{ height: '100vh', width: '100vw' }">
|
||||
<ReadingAgreement :needTime="false">
|
||||
<h3 class="p10" style="text-align: center">重新投保声明提示</h3>
|
||||
<p style="text-indent: 28px">尊敬的{{ orderInfo.appntName }}{{ orderInfo.sex == 0 ? '先生' : '女士' }}:</p>
|
||||
<div class="p10 mb90" v-if="orderInfo.riskCode !== 'GFRS_A0008'">
|
||||
<p style="text-indent: 28px">
|
||||
您好!感谢您选择购买国富人寿保险股份有限公司(以下简称我们)保险产品,您于{{ orderInfo.cvaliDate }}投保的旧保单{{
|
||||
orderInfo.policyNo
|
||||
}},产品名称为{{ orderInfo.riskName }}即将到期或已到期(到期日期详见保单),为保护您的权益,您可向我们提交重新投保申请。以下是申请重新投保的注意事项和声明,请您仔细阅读和确认:
|
||||
</p>
|
||||
<p style="text-indent: 28px">1.{{ orderInfo.riskName }}保险期间为一年,到期后需要您重新投保。</p>
|
||||
<p style="text-indent: 28px">
|
||||
2.本次重新投保,我们将按照{{ orderInfo.riskName }}费率表中的“在上一保险期间届满后60日内申请重新投保时对应的费率”计算保费。
|
||||
</p>
|
||||
<p style="text-indent: 28px">3.若本次重新投保成功,新保单免除等待期。</p>
|
||||
<p style="text-indent: 28px">
|
||||
4.本次重新投保仅限于无其他补充告知的情况,若您有其他补充告知,您的条件不符合本次重新投保流程。您可联系保单服务专员,通过其他途径进行投保申请。
|
||||
</p>
|
||||
<p style="text-indent: 28px">
|
||||
5.若您于旧保单满期前申请重新投保,且于旧保单满期前成功支付保险费,则新保单在旧保单保险期满日对应日的次日零时生效,旧保单在保险期满日24时终止。若您于旧保单满期后重新投保申请,且成功支付保险费,则新保单于支付次日零时生效,旧保单在保险期满日24时终止。
|
||||
</p>
|
||||
<!-- <p style="text-indent: 28px">
|
||||
6.若您未在旧保单满期后60天(包含)内申请重新投保,则您的重新投保资格将被取消。后续您可再次申请投保,但新单不再与旧保单关联,需重新计算等待期。具体详情,可咨询保单服务专员。
|
||||
</p> -->
|
||||
</div>
|
||||
<div class="p10 mb90" v-else>
|
||||
<p style="text-indent: 28px">
|
||||
您好!感谢您选择购买国富人寿保险股份有限公司(以下简称我们)保险产品,您于{{ orderInfo.cvaliDate }}投保的旧保单{{
|
||||
orderInfo.policyNo
|
||||
}},产品名称为:{{ orderInfo.riskName }}即将到期或已到期(到期日期详见保单),为保护您的权益,您可向我们提交重新投保申请。以下是申请重新投保的注意事项和声明,请您仔细阅读和确认:
|
||||
</p>
|
||||
<p style="text-indent: 28px">1.{{ orderInfo.riskName }}保险期间为一年,到期后需要您重新投保。</p>
|
||||
<p style="text-indent: 28px">
|
||||
2.本次重新投保,我们将按照{{ orderInfo.riskName }}费率表中的“在上一保险期间届满后60日内申请重新投保时对应的费率”计算保费。
|
||||
</p>
|
||||
<p style="text-indent: 28px">3.若本次重新投保成功,新保单免除等待期。</p>
|
||||
<p style="text-indent: 28px">
|
||||
4.本次重新投保仅限于无其他补充告知的情况,若您有其他补充告知,您的条件不符合本重新投保申请。您可联系保单服务专员,通过其他途径进行投保申请。
|
||||
</p>
|
||||
<p style="text-indent: 28px">
|
||||
5.若您于旧保单满期前申请重新投保,且于旧保单满期前成功支付保险费,则新保单在旧保单保险期满日对应日的次日零时生效,旧保单在保险期满日24时终止。若您于旧保单满期后重新投保申请,且成功支付保险费,则新保单于支付次日零时生效,旧保单在保险期满日24时终止。
|
||||
</p>
|
||||
<!-- <p style="text-indent: 28px">
|
||||
6.若您未在旧保单满期后60天(包含)内申请重新投保,则您的重新投保资格将被取消。后续您可再次申请投保,但新单不再与旧保单关联,需重新计算等待期。具体详情,可咨询保单服务专员。
|
||||
</p> -->
|
||||
<p style="text-indent: 28px">
|
||||
6.国富人寿附加住院医疗保险已停售,您可选择投保同类产品国富人寿附加住院医疗保险(B款),我们将按照国富人寿附加住院医疗保险(B款)费率表中的“在上一保险期间届满后60日内申请重新投保时对应的费率”计算保费。
|
||||
</p>
|
||||
</div>
|
||||
<template #action>
|
||||
<van-radio-group class="m10" v-model="radio">
|
||||
<van-radio :name="false">
|
||||
<span style="font-size: 14px">本人已阅读、知晓本投保声明内容,同意重新投保</span>
|
||||
</van-radio>
|
||||
</van-radio-group>
|
||||
<div class="btns">
|
||||
<van-button type="danger" :disabled="radio" block @click="nextStep">下一步</van-button>
|
||||
</div>
|
||||
<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>
|
||||
</ReadingAgreement>
|
||||
</van-popup>
|
||||
</van-field>
|
||||
</van-dialog>
|
||||
</div>
|
||||
|
||||
<van-popup v-model="isAgreementShow" position="right" :style="{ height: '100vh', width: '100vw' }">
|
||||
<ReadingAgreement :needTime="false">
|
||||
<h3 class="p10" style="text-align: center">重新投保声明提示</h3>
|
||||
<p style="text-indent: 28px">尊敬的{{ orderInfo.appntName }}{{ orderInfo.sex == 0 ? '先生' : '女士' }}:</p>
|
||||
<div class="p10 mb90" v-if="orderInfo.riskCode !== 'GFRS_A0008'">
|
||||
<p style="text-indent: 28px">
|
||||
您好!感谢您选择购买国富人寿保险股份有限公司(以下简称我们)保险产品,您于{{ orderInfo.cvaliDate }}投保的旧保单{{
|
||||
orderInfo.policyNo
|
||||
}},产品名称为{{
|
||||
orderInfo.riskName
|
||||
}}即将到期或已到期(到期日期详见保单),为保护您的权益,您可向我们提交重新投保申请。以下是申请重新投保的注意事项和声明,请您仔细阅读和确认:
|
||||
</p>
|
||||
<p style="text-indent: 28px">1.{{ orderInfo.riskName }}保险期间为一年,到期后需要您重新投保。</p>
|
||||
<p style="text-indent: 28px">
|
||||
2.本次重新投保,我们将按照{{ orderInfo.riskName }}费率表中的“在上一保险期间届满后60日内申请重新投保时对应的费率”计算保费。
|
||||
</p>
|
||||
<p style="text-indent: 28px">3.若本次重新投保成功,新保单免除等待期。</p>
|
||||
<p style="text-indent: 28px">
|
||||
4.本次重新投保仅限于无其他补充告知的情况,若您有其他补充告知,您的条件不符合本次重新投保流程。您可联系保单服务专员,通过其他途径进行投保申请。
|
||||
</p>
|
||||
<p style="text-indent: 28px">
|
||||
5.若您于旧保单满期前申请重新投保,且于旧保单满期前成功支付保险费,则新保单在旧保单保险期满日对应日的次日零时生效,旧保单在保险期满日24时终止。若您于旧保单满期后重新投保申请,且成功支付保险费,则新保单于支付次日零时生效,旧保单在保险期满日24时终止。
|
||||
</p>
|
||||
<!-- <p style="text-indent: 28px">
|
||||
6.若您未在旧保单满期后60天(包含)内申请重新投保,则您的重新投保资格将被取消。后续您可再次申请投保,但新单不再与旧保单关联,需重新计算等待期。具体详情,可咨询保单服务专员。
|
||||
</p> -->
|
||||
</div>
|
||||
<div class="p10 mb90" v-else>
|
||||
<p style="text-indent: 28px">
|
||||
您好!感谢您选择购买国富人寿保险股份有限公司(以下简称我们)保险产品,您于{{ orderInfo.cvaliDate }}投保的旧保单{{
|
||||
orderInfo.policyNo
|
||||
}},产品名称为:{{
|
||||
orderInfo.riskName
|
||||
}}即将到期或已到期(到期日期详见保单),为保护您的权益,您可向我们提交重新投保申请。以下是申请重新投保的注意事项和声明,请您仔细阅读和确认:
|
||||
</p>
|
||||
<p style="text-indent: 28px">1.{{ orderInfo.riskName }}保险期间为一年,到期后需要您重新投保。</p>
|
||||
<p style="text-indent: 28px">
|
||||
2.本次重新投保,我们将按照{{ orderInfo.riskName }}费率表中的“在上一保险期间届满后60日内申请重新投保时对应的费率”计算保费。
|
||||
</p>
|
||||
<p style="text-indent: 28px">3.若本次重新投保成功,新保单免除等待期。</p>
|
||||
<p style="text-indent: 28px">
|
||||
4.本次重新投保仅限于无其他补充告知的情况,若您有其他补充告知,您的条件不符合本重新投保申请。您可联系保单服务专员,通过其他途径进行投保申请。
|
||||
</p>
|
||||
<p style="text-indent: 28px">
|
||||
5.若您于旧保单满期前申请重新投保,且于旧保单满期前成功支付保险费,则新保单在旧保单保险期满日对应日的次日零时生效,旧保单在保险期满日24时终止。若您于旧保单满期后重新投保申请,且成功支付保险费,则新保单于支付次日零时生效,旧保单在保险期满日24时终止。
|
||||
</p>
|
||||
<!-- <p style="text-indent: 28px">
|
||||
6.若您未在旧保单满期后60天(包含)内申请重新投保,则您的重新投保资格将被取消。后续您可再次申请投保,但新单不再与旧保单关联,需重新计算等待期。具体详情,可咨询保单服务专员。
|
||||
</p> -->
|
||||
<p style="text-indent: 28px">
|
||||
6.国富人寿附加住院医疗保险已停售,您可选择投保同类产品国富人寿附加住院医疗保险(B款),我们将按照国富人寿附加住院医疗保险(B款)费率表中的“在上一保险期间届满后60日内申请重新投保时对应的费率”计算保费。
|
||||
</p>
|
||||
</div>
|
||||
<template #action>
|
||||
<van-radio-group class="m10" v-model="radio">
|
||||
<van-radio :name="false">
|
||||
<span style="font-size: 14px">本人已阅读、知晓本投保声明内容,同意重新投保</span>
|
||||
</van-radio>
|
||||
</van-radio-group>
|
||||
<div class="btns">
|
||||
<van-button type="danger" :disabled="radio" block @click="nextStep">下一步</van-button>
|
||||
</div>
|
||||
</template>
|
||||
</ReadingAgreement>
|
||||
</van-popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -180,15 +186,15 @@ export default {
|
||||
isShow: false,
|
||||
orderInfo: {},
|
||||
canRevoke: {
|
||||
'19': true,
|
||||
19: true,
|
||||
'02': true,
|
||||
'48': true,
|
||||
'49': true,
|
||||
'55': true,
|
||||
'58': true,
|
||||
'46': true,
|
||||
'50': true,
|
||||
'51': true
|
||||
48: true,
|
||||
49: true,
|
||||
55: true,
|
||||
58: true,
|
||||
46: true,
|
||||
50: true,
|
||||
51: true
|
||||
},
|
||||
revokePanelShow: false,
|
||||
sms: '',
|
||||
@@ -206,7 +212,12 @@ export default {
|
||||
NewItems() {
|
||||
var NewItems = []
|
||||
this.policyListDTOList.map((item) => {
|
||||
if (item.riskName.search(this.searchName) != -1 || item.policyNo.search(this.searchName) != -1 || item.appntName.search(this.searchName) != -1 || item.insuredName.search(this.searchName) != -1) {
|
||||
if (
|
||||
item.riskName.search(this.searchName) != -1 ||
|
||||
item.policyNo.search(this.searchName) != -1 ||
|
||||
item.appntName.search(this.searchName) != -1 ||
|
||||
item.insuredName.search(this.searchName) != -1
|
||||
) {
|
||||
if (item.reInsuranceState != null && item.reInsuranceState != '') {
|
||||
if (this.active === 'uncommit') {
|
||||
if (
|
||||
@@ -297,7 +308,7 @@ export default {
|
||||
if (order.newOrderStatus == '02') {
|
||||
this.goUrl(res, order)
|
||||
return
|
||||
}else {
|
||||
} else {
|
||||
this.orderInfo.sex = res.orderDTO.appntDTO.sex
|
||||
if (res.orderDTO.appntDTO.idType == '1') {
|
||||
// 白名单校验
|
||||
@@ -316,7 +327,8 @@ export default {
|
||||
window.EWebBridge.webCallAppInJs('face_auth', {
|
||||
businessSource: '1', //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||
number: res.orderDTO.appntDTO.idNo, //身份证号码
|
||||
name: res.orderDTO.appntDTO.name //姓名
|
||||
name: res.orderDTO.appntDTO.name, //姓名,
|
||||
orderNo: CacheUtils.getLocItem('orderNo') //订单号
|
||||
}).then((data) => {
|
||||
if (JSON.parse(data).state == '1') {
|
||||
this.goUrl(res, order)
|
||||
@@ -501,28 +513,28 @@ export default {
|
||||
},
|
||||
revokeOrder(order) {
|
||||
this.$dialog
|
||||
.confirm({
|
||||
className: 'dialog-delete',
|
||||
title: '提示',
|
||||
message: '撤单后,数据将不可恢复,您确定要撤单吗?',
|
||||
cancelButtonColor: '#E9332E',
|
||||
confirmButtonColor: '#FFFFFF'
|
||||
})
|
||||
.then(() => {
|
||||
this.revokePanelShow = true
|
||||
this.captchaReceiver = order.appntMobile
|
||||
this.revokeOrderNo = order.newOrderNo
|
||||
})
|
||||
.confirm({
|
||||
className: 'dialog-delete',
|
||||
title: '提示',
|
||||
message: '撤单后,数据将不可恢复,您确定要撤单吗?',
|
||||
cancelButtonColor: '#E9332E',
|
||||
confirmButtonColor: '#FFFFFF'
|
||||
})
|
||||
.then(() => {
|
||||
this.revokePanelShow = true
|
||||
this.captchaReceiver = order.appntMobile
|
||||
this.revokeOrderNo = order.newOrderNo
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.captchaReceiver {
|
||||
margin-left: 1em;
|
||||
padding-bottom: 1em;
|
||||
border-bottom: 1px solid #eaeaea;
|
||||
font-size: 14px;
|
||||
}
|
||||
.captchaReceiver {
|
||||
margin-left: 1em;
|
||||
padding-bottom: 1em;
|
||||
border-bottom: 1px solid #eaeaea;
|
||||
font-size: 14px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<p class="fs18 fwb">一、公司介绍</p>
|
||||
<van-image width="100%" height="150" :src="img1" class="mt15" />
|
||||
<p class="fs14 indent">
|
||||
国富人寿保险股份有限公司是经中国银保监会批准,于2018年6月成立的全国性寿险公司。公司由广西投资集团、唯品会、吉安新年等8家知名企业共同出资创立,注册资本金15亿元,总部位于南宁市,是广西壮族自治区首家寿险法人机构。公司以“因为国富、所以民安”为使命,用心研发实惠产品,用爱提供实在服务,守护幸福美好生活。
|
||||
国富人寿保险股份有限公司是经中国银保监会批准,于2018年6月成立的全国性寿险公司。公司由广西投资集团、唯品会、吉安新年等8家知名企业共同出资创立,注册资本金15亿元,总部位于南宁市,是广西壮族自治区首家寿险法人机构。公司以“因为国富、所以民安”为使命,用心研发实惠产品,用爱提供实在服务,守护幸福美好生活。
|
||||
</p>
|
||||
<!-- <p class="fs14 indent">
|
||||
国富人寿将秉持“老有所养,病有所医,红利共享,国富民安”的核心理念,以“让更多的人过上有尊严的健康快乐的生活”作为企业使命,树立并践行“简单、专注、诚信、激情、关爱、领先”的价值观。专注于客户体验,研发满足客户需求的产品,为客户提供有温度的服务。依法合规、稳健经营,立足广西、深耕广西、面向全国,更好地回馈社会、回报股东、与时俱进、超越自我。
|
||||
@@ -75,7 +75,9 @@ export default {
|
||||
this.redisKey = this.$route.query.redisKey
|
||||
if (this.redisKey) {
|
||||
this.saveShareRecord('1')
|
||||
localStorage.setItem('token', this.$route.query.token)
|
||||
if (this.$route.query.token) {
|
||||
localStorage.setItem('token', this.$route.query.token)
|
||||
}
|
||||
} else {
|
||||
this.getShareKey()
|
||||
}
|
||||
@@ -117,7 +119,7 @@ export default {
|
||||
url: `${location.origin}/#/manpower/increaseStaffTools/CompanyIntroduction`
|
||||
}
|
||||
getShareKey(data)
|
||||
.then(res => {
|
||||
.then((res) => {
|
||||
console.log(res)
|
||||
if (res.result == 0) {
|
||||
this.redisKey = res.content
|
||||
@@ -125,7 +127,7 @@ export default {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
.catch((err) => {
|
||||
console.log(err)
|
||||
})
|
||||
},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<iframe :src="src + pdfUrl" style="width:100vw;height:100vh"></iframe>
|
||||
<iframe :src="src + pdfUrl" style="width: 100vw; height: 100vh"></iframe>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -38,7 +38,9 @@ export default {
|
||||
this.redisKey = this.$route.query.redisKey
|
||||
if (this.redisKey) {
|
||||
this.saveShareRecord('1')
|
||||
localStorage.setItem('token', this.$route.query.token)
|
||||
if (this.$route.query.token) {
|
||||
localStorage.setItem('token', this.$route.query.token)
|
||||
}
|
||||
} else {
|
||||
this.getShareKey()
|
||||
}
|
||||
@@ -83,7 +85,7 @@ export default {
|
||||
url: `${location.origin}/pdfjs/web/viewer.html?file=${this.pdfUrl}`
|
||||
}
|
||||
getShareKey(data)
|
||||
.then(res => {
|
||||
.then((res) => {
|
||||
console.log(res)
|
||||
if (res.result == 0) {
|
||||
this.redisKey = res.content
|
||||
@@ -91,7 +93,7 @@ export default {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
.catch(err => {
|
||||
.catch((err) => {
|
||||
console.log(err)
|
||||
})
|
||||
},
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
<div class="insured-info-container">
|
||||
<van-field v-model="pwd" clearable required type="password" label="登陆密码" name="密码" placeholder="请输入登陆密码" />
|
||||
|
||||
<p style="color: #ff0000; font-size: 14px;" class="bg-white p10 pb0 mb0">温馨提示:</p>
|
||||
<p style="color: #ff0000; font-size: 14px;" class="bg-white pl10">停用账号将无法再次登陆使用,请您谨慎操作。</p>
|
||||
<p style="color: #ff0000; font-size: 14px" class="bg-white p10 pb0 mb0">温馨提示:</p>
|
||||
<p style="color: #ff0000; font-size: 14px" class="bg-white pl10">停用账号将无法再次登陆使用,请您谨慎操作。</p>
|
||||
|
||||
<van-button type="danger" size="large" class="logout_button mt10" :disabled="!Boolean(pwd)" @click="logoutAgent">停用账户 </van-button>
|
||||
|
||||
@@ -41,6 +41,14 @@ export default {
|
||||
}
|
||||
},
|
||||
|
||||
mounted() {
|
||||
setTimeout(() => {
|
||||
EWebBridge.webCallAppInJs('enable_screen_capture', {
|
||||
enable: false
|
||||
})
|
||||
}, 500)
|
||||
},
|
||||
|
||||
methods: {
|
||||
// 注销
|
||||
logoutAgent() {
|
||||
@@ -55,7 +63,7 @@ export default {
|
||||
password: this.$MD5(this.pwd)
|
||||
}
|
||||
// 调用注销接口
|
||||
logoutAgent(req).then(res => {
|
||||
logoutAgent(req).then((res) => {
|
||||
this.show = false
|
||||
if (res.result == 0) {
|
||||
this.$toast('用户注销成功')
|
||||
|
||||
@@ -177,7 +177,8 @@ export default {
|
||||
this.toFace({
|
||||
number: this.customerInfo.idNo, //身份证号码
|
||||
name: this.customerInfo.customerName, //姓名
|
||||
businessSource: '4' //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||
businessSource: '4', //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
|
||||
})
|
||||
}
|
||||
} else if (this.entry == 'BC') {
|
||||
@@ -193,7 +194,8 @@ export default {
|
||||
this.toFace({
|
||||
number: this.policy.insuredInfo.idNo, //身份证号码
|
||||
name: this.policy.insuredInfo.insuredName, //姓名
|
||||
businessSource: '4' //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||
businessSource: '4', //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
|
||||
})
|
||||
}
|
||||
} else {
|
||||
@@ -204,7 +206,8 @@ export default {
|
||||
this.toFace({
|
||||
number: this.policy.appntInfo.idNo, //身份证号码
|
||||
name: this.policy.appntInfo.appntName, //姓名
|
||||
businessSource: '4' //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||
businessSource: '4', //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -244,7 +247,7 @@ export default {
|
||||
// console.log('--跳过人脸识别--返回识别成功')
|
||||
// resolve(JSON.stringify({ state: '0' }))
|
||||
// })
|
||||
.then(data => {
|
||||
.then((data) => {
|
||||
if (JSON.parse(data).state == '1') {
|
||||
this.jumpNextPage(this.path)
|
||||
} else {
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
</div>
|
||||
<div v-else>
|
||||
<template v-if="redirectUrl">
|
||||
<iframe v-show="thirdUrlReady" style="width: 100vw; min-height: 100vh;" :src="redirectUrl" frameborder="0"></iframe>
|
||||
<iframe v-show="thirdUrlReady" style="width: 100vw; min-height: 100vh" :src="redirectUrl" frameborder="0"></iframe>
|
||||
</template>
|
||||
<template v-if="detailImg">
|
||||
<img id="detailImg" v-if="detailImg" :src="$assetsUrl + detailImg" />
|
||||
@@ -151,7 +151,9 @@ export default {
|
||||
},
|
||||
async mounted() {
|
||||
if (this.isWeixin) {
|
||||
window.localStorage.setItem('token', this.$route.query.token)
|
||||
if (this.$route.query.token) {
|
||||
window.localStorage.setItem('token', this.$route.query.token)
|
||||
}
|
||||
this.loginInfo.aname = decodeURI(this.$route.query.aname)
|
||||
this.loginInfo.password = decodeURI(this.$route.query.password)
|
||||
this.shareId = this.$route.query.shareId
|
||||
@@ -162,7 +164,7 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
prevImg(i) {
|
||||
let imgs = this.imgList.map(img => {
|
||||
let imgs = this.imgList.map((img) => {
|
||||
return this.$assetsUrl + img
|
||||
})
|
||||
ImagePreview(imgs, i)
|
||||
@@ -259,7 +261,7 @@ export default {
|
||||
//分享轨迹保存
|
||||
saveShareTrack(data) {
|
||||
return new Promise((resolve, reject) => {
|
||||
saveShareTrack(data).then(res => {
|
||||
saveShareTrack(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
resolve()
|
||||
} else {
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
<div class="pcenter-list mr20 mb10 ml15">
|
||||
<template v-if="branchType != '6'">
|
||||
<div class="pcenter-item text-center">
|
||||
<img src="../../../assets/images/home_product_center_m0092.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0092')" />
|
||||
<img src="../../../assets/images/home_product_center_m0092.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0095')" />
|
||||
</div>
|
||||
<div class="pcenter-item text-center">
|
||||
<img src="../../../assets/images/home_product_center_m0094.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0094')" />
|
||||
@@ -122,7 +122,7 @@
|
||||
<div class="home-product-pcenter">
|
||||
<div class="pcenter-list mr20 mb10 ml15">
|
||||
<div class="pcenter-item text-center">
|
||||
<img src="../../../assets/images/home_product_center_m0092.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0092')" />
|
||||
<img src="../../../assets/images/home_product_center_m0092.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0095')" />
|
||||
</div>
|
||||
<div class="pcenter-item text-center">
|
||||
<img src="../../../assets/images/home_product_center_m0094.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0094')" />
|
||||
|
||||
@@ -242,7 +242,7 @@
|
||||
:value.sync="pageShowInfo.showInsuredDTO.tap"
|
||||
></select-radio>
|
||||
<div class="fs12 text-center pb15" style="color: #999999">拖动按钮查看不同年龄的保单利益</div>
|
||||
|
||||
|
||||
<!-- 国富人寿富贵尊享终身寿险(分红型)添加利益演示提示 -->
|
||||
<div v-if="mainRiskCodes.includes('GFRS_M0095')" class="fs13 div_11 text-left">
|
||||
<b
|
||||
@@ -547,7 +547,11 @@ export default {
|
||||
/*end*/
|
||||
callPhone() {
|
||||
console.log('callPhone')
|
||||
window.location.href = 'tel://' + this.agent.phoneNo
|
||||
// window.location.href = 'tel://' + this.agent.phoneNo
|
||||
EWebBridge.webCallAppInJs('callSystem', {
|
||||
system: 'tel',
|
||||
number: this.agent.phoneNo
|
||||
})
|
||||
},
|
||||
checkInsure(insureId) {
|
||||
let that = this
|
||||
@@ -795,7 +799,14 @@ export default {
|
||||
that.pageShowInfo.insuredDTOs.forEach((item) => {
|
||||
item.riskDTOLst.forEach((item01) => {
|
||||
if (item01.isMainRisk == '0') {
|
||||
if (item01.mainRiskCode == 'GFRS_M0080' || item01.mainRiskCode == 'GFRS_M0083' || item01.mainRiskCode == 'GFRS_M0085') {
|
||||
if (
|
||||
item01.mainRiskCode == 'GFRS_M0080' ||
|
||||
item01.mainRiskCode == 'GFRS_M0083' ||
|
||||
item01.mainRiskCode == 'GFRS_M0085' ||
|
||||
item01.mainRiskCode == 'GFRS_M0098' ||
|
||||
item01.mainRiskCode == 'GFRS_M0103' ||
|
||||
item01.mainRiskCode == 'GFRS_M0100'
|
||||
) {
|
||||
that.ispremshow = false
|
||||
}
|
||||
mainRiskNameList.push(item01.riskName)
|
||||
|
||||
@@ -180,7 +180,7 @@ export default {
|
||||
operateCode: this.customerMobile,
|
||||
system: 'agentApp',
|
||||
operateCodeType: '0'
|
||||
}).then(res => {
|
||||
}).then((res) => {
|
||||
console.log(res)
|
||||
if (res.result == 0) {
|
||||
this.sid = res.sessionId
|
||||
@@ -238,7 +238,7 @@ export default {
|
||||
this.authCode = null
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
return new Promise((resolve, reject) => {
|
||||
checkPhone(data).then(res => {
|
||||
checkPhone(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
console.log(res)
|
||||
this.show = true
|
||||
@@ -260,7 +260,7 @@ export default {
|
||||
// policyNo: '809920190000597308'
|
||||
}
|
||||
|
||||
getPolicyDetail(data).then(res => {
|
||||
getPolicyDetail(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
let appntDTO = res.content.appntDTO
|
||||
let orderInfoDTO = res.content.orderInfoDTO
|
||||
@@ -282,8 +282,8 @@ export default {
|
||||
that.appntDTO = appntDTO
|
||||
this.$CacheUtils.setLocItem('saleInsuredInfo', JSON.stringify(appntDTO))
|
||||
// 被保险人信息
|
||||
res.content.insuredDTOs.map(insured => {
|
||||
insured.riskDTOLst.map(risk => {
|
||||
res.content.insuredDTOs.map((insured) => {
|
||||
insured.riskDTOLst.map((risk) => {
|
||||
Number(risk.payIntv)
|
||||
switch (risk.payIntv) {
|
||||
case -1:
|
||||
@@ -320,7 +320,7 @@ export default {
|
||||
this.filterData(dataDictionary.sex, 'sex', insured)
|
||||
this.filterData(dataDictionary.idType, 'idType', insured)
|
||||
this.filterData(dataDictionary.relationToAppnt, 'relation', insured)
|
||||
insured.bnfDTOs.map(bnf => {
|
||||
insured.bnfDTOs.map((bnf) => {
|
||||
this.filterData(dataDictionary.bnfType, 'bnfType', bnf)
|
||||
this.filterData(dataDictionary.sex, 'sex', bnf)
|
||||
this.filterData(dataDictionary.idType, 'idType', bnf)
|
||||
@@ -337,7 +337,7 @@ export default {
|
||||
},
|
||||
//根据数据字典 将后端返回的数据渲染到页面中
|
||||
filterData(dictionary, key, pageData) {
|
||||
dictionary.forEach(item => {
|
||||
dictionary.forEach((item) => {
|
||||
if (pageData[key] == item.id) {
|
||||
pageData[key + 'Text'] = item.text //渲染页面使用的字段
|
||||
}
|
||||
@@ -351,8 +351,9 @@ export default {
|
||||
//证件类型为身份证时,进行人脸识别
|
||||
EWebBridge.webCallAppInJs('face_auth', {
|
||||
number: this.appntDTO.idNo, //身份证号码
|
||||
name: this.appntDTO.name //姓名
|
||||
}).then(data => {
|
||||
name: this.appntDTO.name, //姓名
|
||||
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
|
||||
}).then((data) => {
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
forbidClick: true, // 禁用背景点击
|
||||
@@ -380,7 +381,7 @@ export default {
|
||||
let params = {
|
||||
contNo: window.localStorage.getItem('policyNo')
|
||||
}
|
||||
getReceiptSign(params).then(res => {
|
||||
getReceiptSign(params).then((res) => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
window.localStorage.setItem('insurance-policyUrl', res.signUrl)
|
||||
|
||||
@@ -179,7 +179,7 @@ export default {
|
||||
operateCode: this.customerMobile,
|
||||
system: 'agentApp',
|
||||
operateCodeType: '0'
|
||||
}).then(res => {
|
||||
}).then((res) => {
|
||||
console.log(res)
|
||||
if (res.result == 0) {
|
||||
this.sid = res.sessionId
|
||||
@@ -237,7 +237,7 @@ export default {
|
||||
this.authCode = null
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
return new Promise((resolve, reject) => {
|
||||
checkPhone(data).then(res => {
|
||||
checkPhone(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
console.log(res)
|
||||
this.show = true
|
||||
@@ -259,7 +259,7 @@ export default {
|
||||
// policyNo: '809920190000597308'
|
||||
}
|
||||
|
||||
getPolicyDetail(data).then(res => {
|
||||
getPolicyDetail(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
let appntDTO = res.content.appntDTO
|
||||
let orderInfoDTO = res.content.orderInfoDTO
|
||||
@@ -281,8 +281,8 @@ export default {
|
||||
that.appntDTO = appntDTO
|
||||
this.$CacheUtils.setLocItem('saleInsuredInfo', JSON.stringify(appntDTO))
|
||||
// 被保险人信息
|
||||
res.content.insuredDTOs.map(insured => {
|
||||
insured.riskDTOLst.map(risk => {
|
||||
res.content.insuredDTOs.map((insured) => {
|
||||
insured.riskDTOLst.map((risk) => {
|
||||
Number(risk.payIntv)
|
||||
switch (risk.payIntv) {
|
||||
case -1:
|
||||
@@ -319,7 +319,7 @@ export default {
|
||||
this.filterData(dataDictionary.sex, 'sex', insured)
|
||||
this.filterData(dataDictionary.idType, 'idType', insured)
|
||||
this.filterData(dataDictionary.relationToAppnt, 'relation', insured)
|
||||
insured.bnfDTOs.map(bnf => {
|
||||
insured.bnfDTOs.map((bnf) => {
|
||||
this.filterData(dataDictionary.bnfType, 'bnfType', bnf)
|
||||
this.filterData(dataDictionary.sex, 'sex', bnf)
|
||||
this.filterData(dataDictionary.idType, 'idType', bnf)
|
||||
@@ -336,7 +336,7 @@ export default {
|
||||
},
|
||||
//根据数据字典 将后端返回的数据渲染到页面中
|
||||
filterData(dictionary, key, pageData) {
|
||||
dictionary.forEach(item => {
|
||||
dictionary.forEach((item) => {
|
||||
if (pageData[key] == item.id) {
|
||||
pageData[key + 'Text'] = item.text //渲染页面使用的字段
|
||||
}
|
||||
@@ -350,8 +350,9 @@ export default {
|
||||
//证件类型为身份证时,进行人脸识别
|
||||
EWebBridge.webCallAppInJs('face_auth', {
|
||||
number: this.appntDTO.idNo, //身份证号码
|
||||
name: this.appntDTO.name //姓名
|
||||
}).then(data => {
|
||||
name: this.appntDTO.name, //姓名
|
||||
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
|
||||
}).then((data) => {
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
forbidClick: true, // 禁用背景点击
|
||||
@@ -379,7 +380,7 @@ export default {
|
||||
let params = {
|
||||
contNo: window.localStorage.getItem('policyNo')
|
||||
}
|
||||
getReceiptSign(params).then(res => {
|
||||
getReceiptSign(params).then((res) => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
window.localStorage.setItem('insurance-policyUrl', res.signUrl)
|
||||
|
||||
@@ -64,6 +64,7 @@
|
||||
:flag="true"
|
||||
></FieldDatePicter>
|
||||
<FieldDatePicter
|
||||
v-if="!userInfo.effectiveDateType"
|
||||
:v-validate="{ required: certiexpiredateRequired }"
|
||||
required
|
||||
label="证件截止日期"
|
||||
@@ -993,6 +994,7 @@
|
||||
},
|
||||
//证件起始截止日期
|
||||
onDateConfirm(val, type) {
|
||||
console.log(val,type,);
|
||||
switch (type) {
|
||||
case '0':
|
||||
{
|
||||
@@ -1009,9 +1011,10 @@
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
// 长期按钮是否禁用
|
||||
this.effectiveDateTypeAble = age <= 45
|
||||
if(this.userInfo.birthday){
|
||||
if(this.userInfo.birthday && !this.userInfo.certiexpiredate){
|
||||
this.userInfo.certiexpiredate = countCredentialValidity.getEndDate(this.userInfo.birthday,val)
|
||||
if(this.userInfo.certiexpiredate) {
|
||||
this.userInfo.certiexpiredate= this.userInfo.certiexpiredate
|
||||
this.effectiveDateTypeAble = true
|
||||
this.userInfo.effectiveDateType = false
|
||||
}
|
||||
@@ -1030,9 +1033,9 @@
|
||||
}
|
||||
//身份证证件类型的判断
|
||||
if (this.userInfo.idType == '1') {
|
||||
if(this.userInfo.birthday){
|
||||
this.userInfo.certificateValidate = countCredentialValidity.getStartDate(this.userInfo.birthday,val)
|
||||
}
|
||||
// if(this.userInfo.birthday){
|
||||
// this.userInfo.certificateValidate = countCredentialValidity.getStartDate(this.userInfo.birthday,val)
|
||||
// }
|
||||
}
|
||||
}
|
||||
break
|
||||
@@ -1057,7 +1060,7 @@
|
||||
if (this.userInfo.certificateValidate && !this.userInfo.certiexpiredate) {
|
||||
this.userInfo.certiexpiredate = countCredentialValidity.getEndDate(this.userInfo.birthday,this.userInfo.certificateValidate)
|
||||
}
|
||||
if (this.userInfo.certiexpiredate && !this.userInfo.certificateValidate) {
|
||||
if (this.userInfo.certiexpiredate && !this.userInfo.certificateValidate) {
|
||||
this.userInfo.certificateValidate = countCredentialValidity.getEndDate(this.userInfo.birthday,this.userInfo.certiexpiredate)
|
||||
}
|
||||
}
|
||||
@@ -1083,7 +1086,7 @@
|
||||
this.userInfo.idType = data.customerIdType //证件类型
|
||||
this.userInfo.idNo = data.customerIdNumber //证件类别
|
||||
this.userInfo.certificateValidate = data.idEffectStartDate //证件起始日期
|
||||
if (data.idEffectEndDate == '9999-12-31') {
|
||||
if (data.idEffectEndDate == '9999-12-31' && !data.idEffectEndDate) {
|
||||
this.userInfo.effectiveDateType = true //是否长期
|
||||
} else {
|
||||
this.userInfo.certiexpiredate = data.idEffectEndDate //证件截止日期
|
||||
@@ -1555,9 +1558,10 @@
|
||||
effectiveDataTypeChange(val) {
|
||||
//勾选长期状态时,证件截止日期置空
|
||||
if (val) {
|
||||
this.userInfo.certiexpiredate = ''
|
||||
this.userInfo.certiexpiredate = '9999-12-31'
|
||||
this.certiexpiredateRequired = false
|
||||
} else {
|
||||
this.userInfo.certiexpiredate = ''
|
||||
this.certiexpiredateRequired = true
|
||||
}
|
||||
},
|
||||
|
||||
@@ -82,6 +82,7 @@
|
||||
:readonly="isAppnt"
|
||||
></FieldDatePicter>
|
||||
<FieldDatePicter
|
||||
v-if="!userInfo.effectiveDateType"
|
||||
v-validate="{ required: certiexpiredateRequired }"
|
||||
label="证件截止日期"
|
||||
name="证件截止日期"
|
||||
@@ -1109,9 +1110,10 @@
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
// 长期按钮是否禁用
|
||||
this.effectiveDateTypeAble = age <= 45
|
||||
if(this.userInfo.birthday){
|
||||
if(this.userInfo.birthday && !this.userInfo.certiexpiredate){
|
||||
this.userInfo.certiexpiredate = countCredentialValidity.getEndDate(this.userInfo.birthday,val)
|
||||
if(this.userInfo.certiexpiredate) {
|
||||
this.userInfo.certiexpiredate= this.userInfo.certiexpiredate
|
||||
this.effectiveDateTypeAble = true
|
||||
this.userInfo.effectiveDateType = false
|
||||
}
|
||||
@@ -1142,9 +1144,9 @@
|
||||
//获取年龄
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
console.log(age)
|
||||
if(this.userInfo.birthday){
|
||||
this.userInfo.certificateValidate = countCredentialValidity.getStartDate(this.userInfo.birthday,val)
|
||||
}
|
||||
// if(this.userInfo.birthday){
|
||||
// this.userInfo.certificateValidate = countCredentialValidity.getStartDate(this.userInfo.birthday,val)
|
||||
// }
|
||||
}
|
||||
}
|
||||
break
|
||||
@@ -1273,7 +1275,7 @@
|
||||
this.userInfo.certificateValidate = data.idEffectStartDate //证件起始日期
|
||||
// this.userInfo.certiexpiredate = data.idEffectEndDate //证件截止日期
|
||||
// this.userInfo.effectiveDateType = data.idEffectEndDate == '9999-12-31' //是否长期
|
||||
if (data.idEffectEndDate == '9999-12-31') {
|
||||
if (data.idEffectEndDate == '9999-12-31' && !data.idEffectEndDate) {
|
||||
this.userInfo.effectiveDateType = true //是否长期
|
||||
} else {
|
||||
this.userInfo.certiexpiredate = data.idEffectEndDate //证件截止日期
|
||||
@@ -1874,11 +1876,12 @@
|
||||
effectiveDataTypeChange(val) {
|
||||
//勾选长期状态时,证件截止日期置空
|
||||
if (val) {
|
||||
this.userInfo.certiexpiredate = ''
|
||||
this.userInfo.certiexpiredate = '9999-12-31'
|
||||
// this.isRequired = false
|
||||
// this.idLimit = true
|
||||
this.certiexpiredateRequired = false
|
||||
} else {
|
||||
this.userInfo.certiexpiredate = ''
|
||||
this.certiexpiredateRequired = true
|
||||
// this.isRequired = true
|
||||
// this.idLimit = false
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
</div>
|
||||
<div v-else-if="uwResult == '53'">
|
||||
<img :src="srcPending" class="mb40 mt20" />
|
||||
<p class="title">核心批扣</p>
|
||||
<p class="title">待核心业务系统批量扣费</p>
|
||||
</div>
|
||||
<div v-else>
|
||||
<img :src="srcPending" class="mb40 mt20" />
|
||||
|
||||
@@ -47,16 +47,17 @@
|
||||
v-if="isShow"
|
||||
type="danger"
|
||||
size="normal"
|
||||
class="w150"
|
||||
class="w150"
|
||||
plain
|
||||
v-no-more-click="1000"
|
||||
:disabled="appntSign.signStatus == '1'"
|
||||
@click="share(insured.length == '0' ? '2' : '0')"
|
||||
>分享</van-button>
|
||||
>分享</van-button
|
||||
>
|
||||
<van-button
|
||||
type="danger"
|
||||
size="normal"
|
||||
class="w150"
|
||||
class="w150"
|
||||
plain
|
||||
:disabled="appntSign.signStatus == '1'"
|
||||
v-no-more-click="1000"
|
||||
@@ -96,17 +97,18 @@
|
||||
v-if="isShow"
|
||||
type="danger"
|
||||
size="normal"
|
||||
class="w150"
|
||||
class="w150"
|
||||
:disabled="insuredSign.signStatus == '1'"
|
||||
@click="share('1')"
|
||||
plain
|
||||
v-no-more-click="1000"
|
||||
>分享</van-button>
|
||||
>分享</van-button
|
||||
>
|
||||
<van-button
|
||||
type="danger"
|
||||
size="normal"
|
||||
plain
|
||||
class="w150"
|
||||
class="w150"
|
||||
:disabled="insuredSign.signStatus == '1'"
|
||||
@click="start_ocr('1')"
|
||||
v-no-more-click="1000"
|
||||
@@ -119,7 +121,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<!-- 在微信 -->
|
||||
<!-- 在微信 -->
|
||||
<div v-if="shareCode != '1'" class="mt10">
|
||||
<van-collapse v-model="activeNames">
|
||||
<van-collapse-item name="1">
|
||||
@@ -158,7 +160,7 @@
|
||||
<van-button
|
||||
type="danger"
|
||||
size="normal"
|
||||
style="width: 157px;"
|
||||
style="width: 157px"
|
||||
plain
|
||||
:disabled="appntSign.signStatus == '1'"
|
||||
v-no-more-click="1000"
|
||||
@@ -210,7 +212,7 @@
|
||||
type="danger"
|
||||
size="normal"
|
||||
plain
|
||||
style="width: 157px;"
|
||||
style="width: 157px"
|
||||
:disabled="insuredSign.signStatus == '1'"
|
||||
@click="start_ocr('1')"
|
||||
v-no-more-click="1000"
|
||||
@@ -306,17 +308,17 @@ export default {
|
||||
methods: {
|
||||
// 初始化
|
||||
async init() {
|
||||
|
||||
|
||||
if (this.isWeixin) {
|
||||
if (this.$route.query.airSign) {
|
||||
sessionStorage.setItem('airSign', this.$route.query.airSign)
|
||||
}
|
||||
|
||||
|
||||
this.$CacheUtils.setLocItem('saleInsuredInfo', this.$route.query.saleInsuredInfo)
|
||||
this.$CacheUtils.setLocItem('saleInsuredPersonInfo', this.$route.query.saleInsuredPersonInfo)
|
||||
window.localStorage.setItem('token', this.$route.query.token)
|
||||
window.localStorage.setItem('orderNo', this.$route.query.orderNo)
|
||||
if (this.$route.query.token) {
|
||||
window.localStorage.setItem('token', this.$route.query.token)
|
||||
}
|
||||
window.localStorage.setItem('orderNo', this.$route.query.orderNo)
|
||||
window.localStorage.setItem('relationToAppnt', this.$route.query.relationToAppnt)
|
||||
if (this.$route.query.signInvalid) {
|
||||
sessionStorage.setItem('signInvalid', this.$route.query.signInvalid)
|
||||
@@ -337,7 +339,7 @@ export default {
|
||||
this.shareCode = sessionStorage.getItem('shareCode')
|
||||
this.relationToAppnt = this.$route.query.relationToAppnt
|
||||
this.isShow = false
|
||||
await this.getOrderDetail()
|
||||
await this.getOrderDetail()
|
||||
if (this.shareCode == '1') {
|
||||
this.tipsName = this.saleInsuredPersonInfo.name
|
||||
} else {
|
||||
@@ -475,13 +477,14 @@ export default {
|
||||
// 原人脸识别
|
||||
EWebBridge.webCallAppInJs('face_auth', {
|
||||
number: that.saleInsuredInfo.idNo, //身份证号码
|
||||
name: that.saleInsuredInfo.name //姓名
|
||||
name: that.saleInsuredInfo.name, //姓名
|
||||
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
|
||||
// })
|
||||
// 跳过人脸识别
|
||||
// new Promise(resolve => {
|
||||
// console.log('--跳过人脸识别--返回识别成功')
|
||||
// resolve(JSON.stringify({ state: '1' }))
|
||||
}).then(data => {
|
||||
}).then((data) => {
|
||||
if (JSON.parse(data).state == '1') {
|
||||
if (that.appntSign.readStatus == '0') {
|
||||
console.log('--跳过人脸识别--返回识别成功zzzzzzzzzz')
|
||||
@@ -537,12 +540,13 @@ export default {
|
||||
// 跳过人脸识别
|
||||
EWebBridge.webCallAppInJs('face_auth', {
|
||||
number: that.saleInsuredInfo.idNo, //身份证号码
|
||||
name: that.saleInsuredInfo.name //姓名
|
||||
name: that.saleInsuredInfo.name, //姓名
|
||||
orderNo: this.$CacheUtils.getLocItem('orderNo') //订单号
|
||||
// })
|
||||
// new Promise(resolve => {
|
||||
// console.log('--跳过人脸识别--返回识别成功')
|
||||
// resolve(JSON.stringify({ state: '1' }))
|
||||
}).then(data => {
|
||||
}).then((data) => {
|
||||
if (JSON.parse(data).state == '1') {
|
||||
if (that.insuredSign.readStatus == '0') {
|
||||
this.$jump({
|
||||
@@ -657,7 +661,7 @@ export default {
|
||||
}
|
||||
}
|
||||
// /insure/selfToHuman
|
||||
underWrite(data).then(res => {
|
||||
underWrite(data).then((res) => {
|
||||
this.$toast.clear()
|
||||
let that = this
|
||||
if (res.result == '0') {
|
||||
@@ -747,7 +751,7 @@ export default {
|
||||
let data = {
|
||||
orderNo: window.localStorage.getItem('orderNo')
|
||||
}
|
||||
getOrderDetail(data).then(res => {
|
||||
getOrderDetail(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
this.$utils.intLocalStorage(res)
|
||||
@@ -767,7 +771,7 @@ export default {
|
||||
that.appnt = res.orderDTO.appntDTO
|
||||
that.date = res.orderDTO.orderInfoDTO.appntDateLabel
|
||||
|
||||
res.orderDTO.signDTOS.map(item => {
|
||||
res.orderDTO.signDTOS.map((item) => {
|
||||
if (item.signType == '0') {
|
||||
that.appntSign = item
|
||||
} else if (item.signType == '1') {
|
||||
@@ -791,7 +795,7 @@ export default {
|
||||
message: '加载中……'
|
||||
})
|
||||
let data = {}
|
||||
getSignInvalid(data).then(res => {
|
||||
getSignInvalid(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
this.$toast.clear()
|
||||
this.signInvalid = res.content.sign
|
||||
@@ -813,7 +817,7 @@ export default {
|
||||
sign: signInvalid
|
||||
}
|
||||
return new Promise((resolve, reject) => {
|
||||
checkSignInvalid(data).then(res => {
|
||||
checkSignInvalid(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
that.$toast.clear()
|
||||
let status = res.content.status
|
||||
|
||||
@@ -1087,7 +1087,7 @@
|
||||
that.signVal = window.localStorage.getItem('sign-val')
|
||||
// 判断是不是万能险
|
||||
let comment = window.localStorage.getItem('productCode')
|
||||
if (comment == 'GFRS_M0003' || comment == 'GFRS_M0015' || comment == 'GFRS_M0017' || comment == 'GFRS_M0075' || comment == 'GFRS_M0080') {
|
||||
if (comment == 'GFRS_M0003' || comment == 'GFRS_M0015' || comment == 'GFRS_M0017' || comment == 'GFRS_M0075' || comment == 'GFRS_M0080'|| comment == 'GFRS_M0100') {
|
||||
this.isComment = true
|
||||
}
|
||||
// 获取投保人信息
|
||||
|
||||
@@ -15,10 +15,15 @@
|
||||
<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>
|
||||
<UploadImageFile :typeface="idcardData.typeface && (faceAuthCount.weixin < smsAuthNum)" :realName="idcardData.idcardName" :idno="idcardData.idcardNumber" @sendimage="sendimage">
|
||||
<UploadImageFile
|
||||
:typeface="idcardData.typeface && faceAuthCount.weixin < smsAuthNum"
|
||||
:realName="idcardData.idcardName"
|
||||
:idno="idcardData.idcardNumber"
|
||||
@sendimage="sendimage"
|
||||
>
|
||||
</UploadImageFile>
|
||||
<div class="p60">
|
||||
<van-button type="danger" @click="uploadComparison" size="large">上传照片与证件照对比</van-button>
|
||||
@@ -82,7 +87,9 @@ export default {
|
||||
created() {
|
||||
if (this.isWeixin) {
|
||||
this.$CacheUtils.setLocItem('saleInsuredInfo', this.$route.query.saleInsuredInfo)
|
||||
window.localStorage.setItem('token', this.$route.query.token)
|
||||
if (this.$route.query.token) {
|
||||
window.localStorage.setItem('token', this.$route.query.token)
|
||||
}
|
||||
window.localStorage.setItem('policyNo', this.$route.query.policyNo)
|
||||
this.idcardData.idcardName = JSON.parse(this.$route.query.saleInsuredInfo).name
|
||||
this.idcardData.idcardNumber = JSON.parse(this.$route.query.saleInsuredInfo).idNo
|
||||
@@ -120,7 +127,7 @@ export default {
|
||||
operateCode: this.customerMobile,
|
||||
system: 'agentApp',
|
||||
operateCodeType: '0'
|
||||
}).then(res => {
|
||||
}).then((res) => {
|
||||
console.log(res)
|
||||
if (res.result == 0) {
|
||||
this.sid = res.sessionId
|
||||
@@ -178,7 +185,7 @@ export default {
|
||||
this.authCode = null
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
return new Promise((resolve, reject) => {
|
||||
checkPhone(data).then(res => {
|
||||
checkPhone(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
console.log(res)
|
||||
this.show = true
|
||||
@@ -203,7 +210,7 @@ export default {
|
||||
if (e) {
|
||||
that.disabled = false
|
||||
} else {
|
||||
this.faceAuthCount.weixin++;
|
||||
this.faceAuthCount.weixin++
|
||||
if (this.faceAuthCount.weixin >= this.smsAuthNum) {
|
||||
this.realPeopelCheck()
|
||||
}
|
||||
@@ -219,7 +226,7 @@ export default {
|
||||
},
|
||||
//根据数据字典 将后端返回的数据渲染到页面中
|
||||
filterData(dictionary, key, pageData) {
|
||||
dictionary.forEach(item => {
|
||||
dictionary.forEach((item) => {
|
||||
if (pageData[key] == item.id) {
|
||||
pageData[key + 'Text'] = item.text //渲染页面使用的字段
|
||||
}
|
||||
@@ -231,7 +238,7 @@ export default {
|
||||
let data = {
|
||||
policyNo: this.$route.query.policyNo
|
||||
}
|
||||
getPolicyDetail(data).then(res => {
|
||||
getPolicyDetail(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
let appntDTO = res.content.appntDTO
|
||||
let orderInfoDTO = res.content.orderInfoDTO
|
||||
@@ -249,8 +256,8 @@ export default {
|
||||
this.filterData(dataDictionary.idType, 'idType', appntDTO)
|
||||
that.appntDTO = appntDTO
|
||||
// 被保险人信息
|
||||
res.content.insuredDTOs.map(insured => {
|
||||
insured.riskDTOLst.map(risk => {
|
||||
res.content.insuredDTOs.map((insured) => {
|
||||
insured.riskDTOLst.map((risk) => {
|
||||
Number(risk.payIntv)
|
||||
switch (risk.payIntv) {
|
||||
case -1:
|
||||
@@ -287,7 +294,7 @@ export default {
|
||||
this.filterData(dataDictionary.sex, 'sex', insured)
|
||||
this.filterData(dataDictionary.idType, 'idType', insured)
|
||||
this.filterData(dataDictionary.relationToAppnt, 'relation', insured)
|
||||
insured.bnfDTOs.map(bnf => {
|
||||
insured.bnfDTOs.map((bnf) => {
|
||||
this.filterData(dataDictionary.bnfType, 'bnfType', bnf)
|
||||
this.filterData(dataDictionary.sex, 'sex', bnf)
|
||||
this.filterData(dataDictionary.idType, 'idType', bnf)
|
||||
@@ -307,7 +314,7 @@ export default {
|
||||
let params = {
|
||||
contNo: this.$route.query.policyNo
|
||||
}
|
||||
getReceiptSign(params).then(res => {
|
||||
getReceiptSign(params).then((res) => {
|
||||
if (res.result == '0') {
|
||||
console.log('res', res)
|
||||
this.$toast.clear()
|
||||
|
||||
@@ -2,17 +2,17 @@
|
||||
<div class="policy-list-container">
|
||||
<!--封面-->
|
||||
<div v-if="showType == 'Cover'" class="mr2 ml2 mb60">
|
||||
<img style="width: 100%;" src="@/assets/images/gf_wjdc.png" />
|
||||
<img style="width: 100%" src="@/assets/images/gf_wjdc.png" />
|
||||
<div class="mt30 mr2 ml2">
|
||||
<van-button type="danger" style="width: 100%;" @click="clickEnter" :disabled="enterFlag">立即参加</van-button>
|
||||
<van-button type="danger" style="width: 100%" @click="clickEnter" :disabled="enterFlag">立即参加</van-button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 数据提交页 -->
|
||||
<div v-if="showType == 'Detail'" style="margin-top: 10px;" class="mb60">
|
||||
<div v-if="showType == 'Detail'" style="margin-top: 10px" class="mb60">
|
||||
<van-row v-for="(item, index) in questionList" :key="index">
|
||||
<div v-if="item.options">
|
||||
<van-col span="24" class="pb10 pt10 pl10 pr10 bg-white"> {{ item.orderCode }}.{{ item.title }} </van-col>
|
||||
<van-col span="24" class="bg-white" style="margin-bottom: 10px;">
|
||||
<van-col span="24" class="bg-white" style="margin-bottom: 10px">
|
||||
<van-radio-group v-model="anwerJson[item.orderCode]" class="flex pb10 pt10 pl10 pr10 justify-content-fs">
|
||||
<van-radio
|
||||
icon-size="20px"
|
||||
@@ -33,19 +33,19 @@
|
||||
<van-field v-if="item.orderCode == '6'" :label="item.title" input-align="right" v-model="anwerJson[item.orderCode]" />
|
||||
<van-field v-if="item.orderCode == '8'" :label="item.title" maxlength="3" input-align="right" v-model="anwerJson[item.orderCode]" />
|
||||
</van-col>
|
||||
<van-col span="24" class="pl10 pr10 bg-white" style="height:2px;"><div style="width: 100%;height: 100%;background-color: #f5f5f5;"></div></van-col>
|
||||
<van-col span="24" class="pl10 pr10 bg-white" style="height: 2px"><div style="width: 100%; height: 100%; background-color: #f5f5f5"></div></van-col>
|
||||
</div>
|
||||
</van-row>
|
||||
<div class="mt10 mr2 ml2">
|
||||
<van-button type="danger" style="width: 100%;" @click="submitForm()">提交</van-button>
|
||||
<van-button type="danger" style="width: 100%" @click="submitForm()">提交</van-button>
|
||||
</div>
|
||||
</div>
|
||||
<!--提交结果页-->
|
||||
<div v-if="showType == 'Result'" class="mr2 ml2">
|
||||
<img v-show="resultImgUrl == 'PHYSICAL'" style="width: 100%;" src="@/assets/images/shareSurveyResult.png" />
|
||||
<img v-show="resultImgUrl != 'PHYSICAL'" style="width: 100%;" src="@/assets/images/shareSurveyResult_1.png" />
|
||||
<img v-show="resultImgUrl == 'PHYSICAL'" style="width: 100%" src="@/assets/images/shareSurveyResult.png" />
|
||||
<img v-show="resultImgUrl != 'PHYSICAL'" style="width: 100%" src="@/assets/images/shareSurveyResult_1.png" />
|
||||
<div class="mt30 mr2 ml2">
|
||||
<van-button type="danger" style="width: 100%;" @click="closeWXWindow">返回</van-button>
|
||||
<van-button type="danger" style="width: 100%" @click="closeWXWindow">返回</van-button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 底部透明 -->
|
||||
@@ -143,9 +143,9 @@ export default {
|
||||
// detail 页面
|
||||
getSurveyQuestionInfo() {
|
||||
let that = this
|
||||
getSurveyQuestion(that.surveyDetailReqDTO).then(res => {
|
||||
getSurveyQuestion(that.surveyDetailReqDTO).then((res) => {
|
||||
if (res.result == '0') {
|
||||
that.questionList.map(item => {
|
||||
that.questionList.map((item) => {
|
||||
that.anwerJson[item.orderCode + ''] = ''
|
||||
})
|
||||
that.questionList = res.content.questionList
|
||||
@@ -158,7 +158,7 @@ export default {
|
||||
// 获取代理人信息
|
||||
getSurveyAgentInfo() {
|
||||
let that = this
|
||||
getSurveyAgentInfo(that.surveyAgentInfoReqDTO).then(res => {
|
||||
getSurveyAgentInfo(that.surveyAgentInfoReqDTO).then((res) => {
|
||||
if (res.result == '0') {
|
||||
that.agentInfo = res.content
|
||||
that.enterFlag = false
|
||||
@@ -171,7 +171,7 @@ export default {
|
||||
// 校验是否选择
|
||||
let that = this
|
||||
let returnFlag = true
|
||||
that.questionList.map(item => {
|
||||
that.questionList.map((item) => {
|
||||
if (!that.anwerJson[item.orderCode + '']) {
|
||||
that.$toast('请认真填写问卷的全部内容!')
|
||||
returnFlag = false
|
||||
@@ -197,7 +197,7 @@ export default {
|
||||
that.surveyAnswerReqDTO.agentCode = that.agentInfo.agentCode
|
||||
that.surveyAnswerReqDTO.agentName = that.agentInfo.name
|
||||
that.surveyAnswerReqDTO.tableId = that.tableId
|
||||
saveSurveyAnswer(that.surveyAnswerReqDTO).then(res => {
|
||||
saveSurveyAnswer(that.surveyAnswerReqDTO).then((res) => {
|
||||
if (res.result == '0') {
|
||||
//跳转结果页面
|
||||
that.resultImgUrl = res.content
|
||||
@@ -221,7 +221,11 @@ export default {
|
||||
},
|
||||
callPhone() {
|
||||
console.log('callPhone')
|
||||
window.location.href = 'tel://' + this.agentInfo.mobile
|
||||
// window.location.href = 'tel://' + this.agentInfo.mobile
|
||||
EWebBridge.webCallAppInJs('callSystem', {
|
||||
system: 'tel',
|
||||
number: this.agentInfo.mobile
|
||||
})
|
||||
},
|
||||
closeWXWindow() {
|
||||
closeWindow()
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
import { Field, CellGroup, Popup, Picker, Checkbox, Area } from 'vant'
|
||||
import { getAgentInfo } from '@/api/ebiz/my/my.js'
|
||||
import { getAuthCode } from '@/api/ebiz/sale/sale'
|
||||
import {AESEncrypt,AESDecrypt} from '@/assets/js/utils/cryptoJsUtil'
|
||||
import { AESEncrypt, AESDecrypt } from '@/assets/js/utils/cryptoJsUtil'
|
||||
export default {
|
||||
name: 'logoutAgent',
|
||||
components: {
|
||||
@@ -53,19 +53,24 @@ export default {
|
||||
}
|
||||
},
|
||||
async mounted() {
|
||||
setTimeout(() => {
|
||||
EWebBridge.webCallAppInJs('enable_screen_capture', {
|
||||
enable: false
|
||||
})
|
||||
}, 500)
|
||||
|
||||
// 获取代理人信息
|
||||
this.$CacheUtils.setLocItem('cacheTest', JSON.stringify(this.logoutDTO))
|
||||
console.log(this.$CacheUtils.getLocItem('cacheTest'))
|
||||
this.$CacheUtils.setSessionItem('cacheTest1', 'nsjdfi')
|
||||
console.log(this.$CacheUtils.getSessionItem('cacheTest1'))
|
||||
const res = await getAgentInfo({ '89': '890' })
|
||||
const res = await getAgentInfo({ 89: '890' })
|
||||
console.log(res)
|
||||
if (res.result == 0) {
|
||||
this.branchType = /^N{1}/.test(res.branchType) ? '1' : '0' //res.branchType 以N打头的是内勤 其他是外勤
|
||||
if (this.branchType == '0') {
|
||||
this.logoutDTO.mobile = res.phoneNo
|
||||
this.codeDisabled = false
|
||||
} else {
|
||||
}
|
||||
} else {
|
||||
return this.$toast(res.resultMessage)
|
||||
@@ -96,7 +101,7 @@ export default {
|
||||
operateCodeType: '0'
|
||||
}
|
||||
//获取验证码
|
||||
getAuthCode(data).then(res => {
|
||||
getAuthCode(data).then((res) => {
|
||||
//倒计时
|
||||
this.timeId = setInterval(() => {
|
||||
this.countDown--
|
||||
|
||||