Compare commits

..

43 Commits

Author SHA1 Message Date
liu.xiaofeng@ebiz-digits.com
f1d1d427a3 健康险续保营业部经理可以编辑未续报原因 2023-11-27 18:14:54 +08:00
liu.xiaofeng@ebiz-digits.com
bca713cc29 由列表页面跳转详情页面路由传参由原来的固定调整为动态的值 2023-11-27 18:14:39 +08:00
liu.xiaofeng@ebiz-digits.com
32efc01229 健康险续保搜索栏操作逻辑修改2 2023-11-27 18:14:27 +08:00
liu.xiaofeng@ebiz-digits.com
9e0424bf00 健康险续保搜索栏操作逻辑修改1 2023-11-27 18:14:21 +08:00
liu.xiaofeng@ebiz-digits.com
7d0cffe7fb 健康险续保搜索栏操作逻辑修改 2023-11-27 18:14:18 +08:00
liu.xiaofeng@ebiz-digits.com
e1683e5ade 健康险续保列表页面搜索框功能修改并新增模糊搜索营业部经理下的代理人列表数据 2023-11-27 18:14:13 +08:00
liu.xiaofeng@ebiz-digits.com
f21a5b2ea3 选择服务经理的弹窗数据展示效果调整为两个字段展示并做切换效果 2023-11-27 18:14:05 +08:00
liu.xiaofeng@ebiz-digits.com
fecc1e6eaa 营业部经理增加选择按钮并添加下拉弹窗 2023-11-27 18:13:52 +08:00
liu.xiaofeng@ebiz-digits.com
87ce8a30c3 区分营业部经理和服务经理的数据显示 2023-11-27 18:13:46 +08:00
liu.xiaofeng@ebiz-digits.com
8769293cba 自动计算健康险续保选择月份的第一天和最后一天的日期 2023-11-27 18:12:03 +08:00
liu.xiaofeng@ebiz-digits.com
2ed6d9dba0 对接健康险续保得接口并调整相关字段展示1 2023-11-27 18:11:53 +08:00
liu.xiaofeng@ebiz-digits.com
d3163a3cb8 对接健康险续保得接口并调整相关字段展示 2023-11-27 18:11:41 +08:00
liu.xiaofeng@ebiz-digits.com
934fc3ae46 增加健康险清单和健康险详情接口 2023-11-27 18:11:22 +08:00
liu.xiaofeng@ebiz-digits.com
354c1d0ac8 健康险续保列表接口对接 2023-11-27 18:11:04 +08:00
liu.xiaofeng@ebiz-digits.com
56795d7e00 续保列表与详情页面效果细节调整 2023-11-27 18:10:59 +08:00
liu.xiaofeng@ebiz-digits.com
0200f2763d xubao 2023-11-27 18:10:50 +08:00
liu.xiaofeng@ebiz-digits.com
c616c28b2c 建议书保费试算页面鑫管家B款终身寿险(万能型)改动保额不调用试算接口 2023-11-27 18:09:19 +08:00
liu.xiaofeng@ebiz-digits.com
19afc6a83a 自动获取试算接口信息并隐藏保费试算页面显示的保额字段 计划书利益演算页面隐藏保额相关字段 2023-11-27 18:09:15 +08:00
liu.xiaofeng@ebiz-digits.com
bdff1b73d5 投保那显示的字段里,也修改一下:单独投保保费为5万元
如果输入关联保单,自动跳为100元
不给更改
2023-11-27 18:09:05 +08:00
liu.xiaofeng@ebiz-digits.com
7b60b94fde 鑫管家B款终身寿险(万能型)清空关联的保单时 重置保费默认值1 2023-11-27 18:09:00 +08:00
liu.xiaofeng@ebiz-digits.com
6c045b1e5a 鑫管家B款终身寿险(万能型)清空关联的保单时 重置保费默认值 2023-11-27 18:08:55 +08:00
liu.xiaofeng@ebiz-digits.com
25dd40e296 单独投保,保费为大于等于50000元 2023-11-27 18:07:59 +08:00
liu.xiaofeng@ebiz-digits.com
11d877feff 单独投保,保费为大于等于50000元 2023-11-27 18:07:54 +08:00
liu.xiaofeng@ebiz-digits.com
9aa38c51cb 单独投保,保费为大于等于50000元 2023-11-27 18:07:49 +08:00
liu.xiaofeng@ebiz-digits.com
c23f233b99 国富人寿鑫管家B款终身寿险(万能型)增加抄录 2023-11-27 18:07:44 +08:00
liu.xiaofeng@ebiz-digits.com
da7a8851e5 将被保人文件数组排序 2023-11-27 18:05:33 +08:00
liu.xiaofeng@ebiz-digits.com
a0d9841298 补充校验健康险保单费用落地管控规则的申请 2023-11-27 18:04:32 +08:00
liu.xiaofeng@ebiz-digits.com
e77eda9be2 卡单接口对接 2023-11-27 18:04:28 +08:00
liu.xiaofeng@ebiz-digits.com
d8ac03e0b1 银保-国富人寿年年丰C款两全保险(分红型)产品定义系统需求增加抄录 2023-11-27 18:01:33 +08:00
liu.xiaofeng@ebiz-digits.com
8d285e28fa 签字确认页面去掉支付按钮 2023-11-27 17:58:36 +08:00
liu.xiaofeng@ebiz-digits.com
99754e3e15 上传银行卡信息页面点击保存区分开门红产品与普通产品的业务逻辑 2023-11-27 17:58:30 +08:00
liu.xiaofeng@ebiz-digits.com
a59c4e4c7b 上传银行卡信息页面隐藏短信验证码 2023-11-27 17:58:26 +08:00
liu.xiaofeng@ebiz-digits.com
dfc90d359e 调整个险渠道电投产品的保单支付流程 2023-11-27 17:58:22 +08:00
liu.xiaofeng@ebiz-digits.com
e45bfb3041 支付流程调整—转核心批量扣款 2023-11-27 17:58:18 +08:00
liu.xiaofeng@ebiz-digits.com
af9d2399ea 在“选择产品”页面,点击【开门产品】按钮后选择产品进行试算,在“签名确认”页面展示【指定保单生效日】字段
增加“指定保险合同生效日说明”阅读确认文档
2023-11-27 17:58:11 +08:00
liu.xiaofeng@ebiz-digits.com
e7d61e01d6 调整选择产品开门红弹窗产品类型内容展示样式居中 2023-11-27 17:57:59 +08:00
liu.xiaofeng@ebiz-digits.com
fccc592ba9 指定生效日说明文件参数传递修改 2023-11-27 17:57:52 +08:00
liu.xiaofeng@ebiz-digits.com
1fbbbabb2c 指定生效日说明文件参数传递修改 2023-11-27 17:57:48 +08:00
liu.xiaofeng@ebiz-digits.com
c2dc47c15a 调整贵州地图显示页面右下角显示的图标大小 2023-11-27 17:57:37 +08:00
liu.xiaofeng@ebiz-digits.com
295bfdb167 调整地图页面显示的图标大小 2023-11-27 17:57:31 +08:00
liu.xiaofeng@ebiz-digits.com
989ac6ecad 选择产品页面更换多个图片 贵州地图轮播图页面更换图标 2023-11-27 17:57:26 +08:00
liu.xiaofeng@ebiz-digits.com
a97ffeb415 更换开门红菜单页面背景图 2023-11-27 17:57:22 +08:00
liu.xiaofeng@ebiz-digits.com
03a2a7ef24 开门红业绩查询排名字段调整 2023-11-27 17:57:17 +08:00
18 changed files with 1270 additions and 857 deletions

View File

@@ -0,0 +1,34 @@
import request from '@/assets/js/utils/request'
import getUrl from '@/assets/js/utils/get-url'
export function healthgetRenewalList(data) {
return request({
url: getUrl('/sale/health/getRenewalList', 1),
method: 'post',
data
})
}
export function healthgetRenewalListDetail(data) {
return request({
url: getUrl('/sale/health/getRenewalListDetail', 1),
method: 'post',
data
})
}
export function reasonForNonRenewalSubmitted(data) {
return request({
url: getUrl('/sale/health/reasonForNonRenewalSubmitted', 1),
method: 'post',
data
})
}
export function getAgentManager(data) {
return request({
url: getUrl('/sale/health/getAgentManager', 1),
method: 'post',
data
})
}

View File

@@ -364,10 +364,9 @@ export function getDoubleRecordProductLst(data) {
})
}
// 指定受益人身份四要素
export function checkAppointBnf(data) {
export function appntIsAgent(data) {
return request({
url: getUrl('/sale/bnfCheck/checkAppointBnf ', 1),
url: getUrl('/sale/insure/appntIsAgent', 1),
method: 'post',
data
})

View File

@@ -1977,7 +1977,7 @@ export default {
},
{
id: '58',
text: '支付'
text: '转人核支付'
},
{
id: '59',

View File

@@ -29,29 +29,29 @@ function getSearchString (key) {
}
return obj[key]
}
let apiVersion = 'v2'
var ua = window.navigator.userAgent.toLowerCase()
//通过正则表达式匹配ua中是否含有MicroMessenger字符串, 在微信
if (localStorage.getItem('apiVersion')) {
apiVersion = localStorage.getItem('apiVersion')
} else {
if (ua.match(/MicroMessenger/i) == 'micromessenger') {
//report/reportList数据报表页面在浏览器可以打开了但在微信或企业微信中打开不了,接口请求不需要token
if (window.location.href.indexOf('apiVersion') > 0) {
apiVersion = getSearchString('apiVersion') == 'V3' ? 'v3' : 'v2';//url中apiVersion没有时为v2
} else {
apiVersion = 'v3'
}
} else {
// 在app
if (navigator.userAgent.indexOf('JZG_') > 0) {
apiVersion = navigator.userAgent.split('JZG_')[1].split('/')[0].split('_')[1] == 'V3' ? 'v3' : 'v2'
}
}
window.localStorage.setItem('apiVersion', apiVersion)
}
// 可以多个接口域名,按需添加
console.log('环境:', process.env.VUE_APP_FLAG)
let apiVersion = 'v1'
// var ua = window.navigator.userAgent.toLowerCase()
// //通过正则表达式匹配ua中是否含有MicroMessenger字符串, 在微信
// if (localStorage.getItem('apiVersion')) {
// apiVersion = localStorage.getItem('apiVersion')
// } else {
// if (ua.match(/MicroMessenger/i) == 'micromessenger') {
// //report/reportList数据报表页面在浏览器可以打开了但在微信或企业微信中打开不了,接口请求不需要token
// if (window.location.href.indexOf('apiVersion') > 0) {
// apiVersion = getSearchString('apiVersion') == 'V3' ? 'v3' : 'v2';//url中apiVersion没有时为v2
// } else {
// apiVersion = 'v3'
// }
// } else {
// // 在app
// if (navigator.userAgent.indexOf('JZG_') > 0) {
// apiVersion = navigator.userAgent.split('JZG_')[1].split('/')[0].split('_')[1] == 'V3' ? 'v3' : 'v2'
// }
// }
// window.localStorage.setItem('apiVersion', apiVersion)
// }
// // 可以多个接口域名,按需添加
// console.log('环境:', process.env.VUE_APP_FLAG)
switch (process.env.VUE_APP_FLAG) {
case 'dev':
apiDomain = 'https://iagentsales-test2.e-guofu.com:5200/api/' + apiVersion // 国富api ///api/v1

View File

@@ -0,0 +1,23 @@
//健康险续保 定义相关组件
const healthInsuranceRenewalList = () => import('@/views/ebiz/healthInsuranceRenewal/list')
const healthInsuranceRenewalDetail = () => import('@/views/ebiz/healthInsuranceRenewal/detail')
export default [
{
path: '/healthInsuranceRenewal/list',
name: 'healthInsuranceRenewalList',
component: healthInsuranceRenewalList,
meta: {
title: '健康险续保清单',
index: 1
}
},
{
path: '/healthInsuranceRenewal/detail',
name: 'healthInsuranceRenewalDetail',
component: healthInsuranceRenewalDetail,
meta: {
title: '保单详情',
index: 1
}
}
]

View File

@@ -49,6 +49,8 @@ import allowance from './allowance'
import cooperativeUnit from './cooperativeUnit'
// YB_APP
import YB_APP from '../YB_APP/index'
//健康险续保
import healthInsuranceRenewal from './healthInsuranceRenewal'
export default [
...proposal,
...sale,
@@ -86,5 +88,6 @@ export default [
...laurelClub,
...allowance,
...cooperativeUnit,
...YB_APP
...YB_APP,
...healthInsuranceRenewal
] //根据需要进行删减

View File

@@ -133,7 +133,7 @@
class="attachmentManagement-next"
size="large"
:disabled="isDisabled"
@click="next"
@click="appntIsAgent"
@touchstart="beforeNext(isDisabled)"
v-no-more-click="1000"
>立即投保</van-button
@@ -148,7 +148,7 @@ import { Cell, CellGroup, Field, Uploader, RadioGroup, Radio, Dialog, Picker, Po
import { cardOrderDetail,saveOrUpdateGroupCard } from '@/api/ebiz/cardList/cardList.js'
import config from '@/config'
import utils from '../../../assets/js/business-common'
import { underWrite } from '@/api/ebiz/sale/sale'
import { underWrite, appntIsAgent } from '@/api/ebiz/sale/sale'
import { uploadImg, IDCardOCR } from '@/api/ebiz/sale/sale'
@@ -1037,6 +1037,35 @@ export default {
}
});
},
appntIsAgent(){
let params = {
orderNo: this.cardOrderNo
}
appntIsAgent(params).then(res=>{
if(res.result == '0') {
if(res.content.isAgengFlag == '0') {
this.$dialog.confirm({
className: 'dialog-delete',
title: '提示',
message: '投保人/法人同时为代理人此代理人费用为0。虚拟账号的提示虚拟代理人费用为0。请确认提交审核或者退回修改',
cancelButtonColor: '#E9332E',
confirmButtonColor: '#FFFFFF',
cancelButtonText: '退回'
})
.then(() => {
this.next()
})
.catch(() => {
return
})
} else {
this.next()
}
} else {
this.$toast(res.resultMessage)
}
})
},
// 点击下一步
next() {

View File

@@ -579,7 +579,7 @@ import CustomerPicker from '@/components/ebiz/customer/CustomerPicker'
import DataDictionary from '@/assets/js/utils/data-dictionary'
import areaList from '@/assets/js/utils/areaForSale'
import { getProductInfo,saveOrUpdateCard,insureTrial } from '@/api/ebiz/cardList/cardList.js'
import { underWrite } from '@/api/ebiz/sale/sale'
import { underWrite, appntIsAgent } from '@/api/ebiz/sale/sale'
import utilsAge from '@/assets/js/utils/age'
import getAreaName from '@/assets/js/utils/getAreaNameForSale'
import IdentityCardScan from '@/components/ebiz/sale/IdentityCardScan'
@@ -1097,6 +1097,35 @@ export default {
this.areaCode = this.insuredInfo.homeArea
}
},
appntIsAgent(orderNo){
let params = {
orderNo: orderNo
}
appntIsAgent(params).then(res=>{
if(res.result == '0') {
if(res.content.isAgengFlag == '0') {
this.$dialog.confirm({
className: 'dialog-delete',
title: '提示',
message: '投保人/法人同时为代理人此代理人费用为0虚拟账号的提示虚拟代理人费用为0请确认提交审核或者退回修改',
cancelButtonColor: '#E9332E',
confirmButtonColor: '#FFFFFF',
cancelButtonText: '退回'
})
.then(() => {
this.underWrite(orderNo)
})
.catch(() => {
return
})
} else {
this.underWrite(orderNo)
}
} else {
this.$toast(res.resultMessage)
}
})
},
underWrite(orderNo) {
let data = {
platform: 'app',
@@ -2401,8 +2430,8 @@ export default {
// console.log(this.userInfo)
let orderNo = (localStorage.orderNo = resultData.content.object)
this.underWrite(orderNo)
this.appntIsAgent(orderNo)
// this.underWrite(orderNo)
} else {
console.error(resultData.resultMessage)
this.$toast(resultData.resultMessage)

View File

@@ -0,0 +1,178 @@
<template>
<div class="detail-container pb50">
<van-cell title="客户名称" :value="dataInfo.name" />
<van-cell title="地址" :value="dataInfo.address" />
<van-cell title="联系人姓名" :value="dataInfo.contactName" />
<van-cell title="联系电话" :value="dataInfo.contactPhone" />
<van-cell title="原保单号" v-if="this.$route.query.renewalFlag == '0'" :value="dataInfo.contNo" />
<van-cell title="保单号" v-if="this.$route.query.renewalFlag == '1' && agentType == '服务经理'" :value="dataInfo.contNo" />
<van-cell title="新保单号" v-if="this.$route.query.renewalFlag == '1' && agentType == '营业部经理'" :value="dataInfo.contNo" />
<div v-if="this.$route.query.renewalFlag == '0'">
<div v-for="item in dataInfo.oldRiskMessageDTOList">
<van-cell title="原保单险种名称" :value="item.riskName" />
<van-cell title="原保单保费" :value="item.prem" class="lastvancell"/>
</div>
</div>
<van-cell title="保单保费" v-if="this.$route.query.renewalFlag == '1'" :value="dataInfo.prem" />
<van-cell title="代理人" v-if="agentType == '服务经理'" :value="dataInfo.agentCustomerManagerName" />
<van-cell title="代理人工号" v-if="agentType == '服务经理'" :value="dataInfo.agentCustomerManagertCode" />
<van-cell title="客户经理" v-if="agentType == '营业部经理'" :value="dataInfo.agentCustomerManagerName" />
<van-cell title="客户经理工号" v-if="agentType == '营业部经理'" :value="dataInfo.agentCustomerManagertCode" />
<van-collapse v-if="this.$route.query.renewalFlag == '0'" v-model="activeName1">
<van-collapse-item name="1">
<template #title>
<div style="display: flex;width: 100%;justify-content: space-between">
<span style="width: 33%;">续保意见</span>
<p style="display: inline-block;width: 65%;overflow:hidden;text-overflow: ellipsis;color: #969799;white-space: nowrap;">{{dataInfo.renewalOpinions}}</p></div>
</template>
<div>{{dataInfo.renewalOpinions}}</div>
</van-collapse-item>
</van-collapse>
<van-collapse v-if="this.$route.query.renewalFlag == '0'" v-model="activeName2">
<van-collapse-item name="1">
<template #title>
<div style="display: flex;width: 100%;justify-content: space-between">
<span style="width: 33%;">未续保原因</span>
<p style="display: inline-block;width: 44%;overflow:hidden;text-overflow: ellipsis;color: #969799;white-space: nowrap;">{{dataInfo.reason}}</p>
<van-button type="danger" round size="mini" @click.stop="dialogshow = true" style="margin-right: 10px;">编辑</van-button>
</div>
</template>
<div>{{dataInfo.reason}}</div>
</van-collapse-item>
</van-collapse>
<van-dialog v-model="dialogshow" title="未续保原因" show-cancel-button @confirm="dialogConfirm" @cancel="dialogCancel">
<div style="border: 1px solid #eee;margin: 0px 15px 5px 15px;" class="dialogtextarea">
<van-field v-model="message" rows="3" autosize label="留言" type="textarea" maxlength="200" placeholder="请输入" show-word-limit/>
</div>
</van-dialog>
</div>
</template>
<script>
import { Collapse, CollapseItem, Cell} from 'vant'
import { getAgentInfo } from '@/api/ebiz/my/my.js'
import { healthgetRenewalListDetail, reasonForNonRenewalSubmitted } from '@/api/ebiz/healthInsuranceRenewal/healthInsuranceRenewal'
export default {
components: {
[Collapse.name]: Collapse,
[CollapseItem.name]: CollapseItem,
[Cell.name]: Cell
},
data() {
return {
agentType: '',
dataInfo:{},
activeName1:[],
activeName2:[],
dialogshow: false,
message:''
}
},
created() {
},
mounted() {
this.getAgentInfo()
},
methods:{
getAgentInfo(){
let params = {
}
getAgentInfo(params).then(res=>{
if (res.result == 0) {
if(res.agentGrade == 'G200' || res.agentGrade == 'G201' || res.agentGrade == 'G202' || res.agentGrade == 'G202' || res.agentGrade == 'G204'){
this.agentType = '营业部经理'
} else {
this.agentType = '服务经理'
}
this.healthgetRenewalListDetail()
} else {
this.$toast(res.resultMessage)
}
})
},
healthgetRenewalListDetail(){
let params = {
"renewalFlag":this.$route.query.renewalFlag,
"agentCode":this.$route.query.agentCode,
"cvaliStartDate":this.$route.query.cvaliStartDate,
"cvaliEndDate":this.$route.query.cvaliEndDate,
"grpContNo": this.$route.query.grpContNo
}
healthgetRenewalListDetail(params).then(res=>{
if(res.result == 0){
if(this.$route.query.renewalFlag == '0'){
this.dataInfo = res.getUnRenewaLlistDetailDTO
}
if(this.$route.query.renewalFlag == '1'){
this.dataInfo = res.getRenewaLlistDetailDTO
}
} else {
this.$toast(res.resultMessage)
}
})
},
dialogConfirm(){
let params = {
"grpContNo": this.$route.query.grpContNo, //团保单号,续保清单给扔过
"xbReason":this.message,
"submitter": this.$route.query.agentCode
}
reasonForNonRenewalSubmitted(params).then(res=>{
if(res.result == 0){
this.$toast('提交成功')
this.dataInfo.reason = this.message
this.message = ''
}else{
this.$toast(res.resultMessage)
}
})
},
dialogCancel(){
this.message = ''
this.dialogshow = false
}
}
}
</script>
<style lang="scss" scoped>
/deep/ .van-cell__title{
flex:1;
}
/deep/ .van-cell__value{
flex:2;
}
/deep/ .van-cell__value {
text-align: left !important;
}
/deep/ .van-collapse-item__content{
word-break: break-word;
}
/deep/ .van-collapse-item{
width: 100%;
.van-cell__title{
width: calc(100% - 30px;);
}
}
.dialogtextarea{
/deep/ .van-cell__title{
display: none;
}
}
.lastvancell::after {
border-bottom: 1px solid #dadada;
}
.lastvancell::after {
position: absolute;
box-sizing: border-box;
content: ' ';
pointer-events: none;
right: 0;
bottom: 0;
left: 4.26667vw;
-webkit-transform: scaleY(.5);
transform: scaleY(.5);
}
</style>

View File

@@ -0,0 +1,246 @@
<template>
<div class="sale-list-container pb50">
<div class="topsearch" style="display: flex;background:#fff;align-items: center;">
<div v-if="agentType == '营业部经理'" style="width: 50%;padding: 10px 5px;">
<van-field @click="openchooseagent" v-model="searchName" style="background: #f7f8fa;padding:5px 10px;" label="业务员" right-icon="arrow" placeholder="请选择"/>
</div>
<div style="width: 50%;padding: 10px 5px;">
<van-field @click="openshowDataPicker" v-model="showChooseDate" style="background: #f7f8fa;padding:5px 10px;" label="日期" right-icon="arrow" placeholder="请选择"/>
</div>
</div>
<van-sticky>
<van-tabs :line-width="45" v-model="active" @change="tabChange" sticky>
<van-tab name="0" title="未续保"></van-tab>
<van-tab name="1" title="已续保"></van-tab>
</van-tabs>
</van-sticky>
<van-list
v-model="loading"
:immediate-check="false"
:finished="finished"
:finished-text="finishedText"
error-text="请求失败点击重新加载"
:error.sync="error"
@load="getOrderList"
class="pb45">
<div v-if="listData.length > 0">
<div v-for="(item, index) in listData" :key="index">
<div style="background: #fff;margin: 15px;border-radius: 5px;padding: 15px;">
<div style="line-height: 35px;"><span style="width: 40%;display: inline-block;">客户名称</span><span style="width: 60%;display: inline-block;">{{item.name}}</span></div>
<div style="line-height: 35px;"><span style="width: 40%;display: inline-block;">保单号</span><span style="width: 60%;display: inline-block;">{{item.contNo}}</span></div>
<div style="line-height: 35px;"><span style="width: 40%;display: inline-block;">保单终止时间</span><span style="width: 60%;display: inline-block;">{{item.endDate}}</span></div>
<div style="line-height: 35px;" v-if="item.continueFlag == '0'"><span style="width: 40%;display: inline-block;">是否续保</span><span style="width: 60%;display: inline-block;color: #d9001b;">未续保</span></div>
<div style="line-height: 35px;" v-if="item.continueFlag == '1'"><span style="width: 40%;display: inline-block;">是否续保</span><span style="width: 60%;display: inline-block;">已续保</span></div>
<div style="line-height: 35px;" v-if="agentType == '营业部经理'"><span style="width: 40%;display: inline-block;">服务经理</span><span style="width: 60%;display: inline-block;">{{item.agentManager}}</span></div>
<div style="line-height: 35px;display: flex;justify-content: flex-end;"><van-button round @click="goDetail(item)" size="small" style="height: 26px;line-height: 26px;" class="mr5" type="danger" v-no-more-click="1000">详情</van-button></div>
</div>
</div>
</div>
<div v-else class="text-center">
<img class="mt40" src="@/assets/images/pic_page-non.png" />
<div class="fs17 mt40">暂无数据</div>
</div>
</van-list>
<van-popup v-model="showDataPicker" position="bottom">
<van-datetime-picker type="year-month" v-model="currentDate" title="选择日期" @confirm="onConfirmDate" @cancel="showDataPicker = false" :min-date="minDate" :max-date="maxDate"/>
</van-popup>
<van-popup v-model="popupShow" position="bottom">
<van-picker show-toolbar :columns="columns" @confirm="onConfirm" @cancel="popupShow = false" />
</van-popup>
</div>
</template>
<script>
import { Search, Tabs, Tab, List, Tag, Sticky, Field, Icon } from 'vant'
import { healthgetRenewalList, getAgentManager } from '@/api/ebiz/healthInsuranceRenewal/healthInsuranceRenewal'
export default {
name: 'saleList',
components: {
[Field.name]: Field,
[Search.name]: Search,
[Tabs.name]: Tabs,
[Tab.name]: Tab,
[List.name]: List,
[Tag.name]: Tag,
[Sticky.name]: Sticky,
[Icon.name]: Icon,
},
data() {
return {
agentType: '',
searchName: '',
agentCode: '',
active: '0',
listData: [],
loading: false,
finished: false,
total: '',
currentPage: 1,
error: false,
finishedText: '没有更多了',
pageSize: 5,
showDataPicker:false,
minDate: new Date(2000, 0),
maxDate: new Date(2100, 12),
cvaliStartDate: '',
currentDate: '',
showChooseDate: '',
cvaliEndDate: '',
oldOptionsData:[],
columns: [],
popupShow: false,
}
},
mounted() {
this.initDate()
this.getAgentManager()
},
methods: {
openchooseagent(){
this.popupShow = true
},
onConfirm(val){
let thisIndex = val.indexOf(' ')
this.agentCode = val.slice(0, thisIndex)
this.searchName = val.slice(thisIndex).trim()
this.popupShow = false
this.getOrderList()
},
getAgentManager() {
let params = {
agentCode: 'G0000011'
}
getAgentManager(params).then(res=>{
if(res.result == '0') {
if(res.content.agentManagerFlag == '1') {
this.agentType = '营业部经理'
} else {
this.agentType = '服务经理'
}
if(res.content.getAgentListResDTOList && res.content.getAgentListResDTOList.length != 0){
res.content.getAgentListResDTOList.forEach(item => {
this.columns.push(item.agentCode + ' ' + item.name)
})
}
this.getOrderList()
} else {
this.$toast(res.resultMessage)
}
})
},
//列表查询
getOrderList() {
let params = {
renewalFlag: this.active,
agentCode: this.agentCode,
cvaliStartDate: this.cvaliStartDate,
cvaliEndDate: this.cvaliEndDate,
}
healthgetRenewalList(params).then(res => {
if (res.result == '0') {
if(this.active == '0'){
if(res.unRenewalInformationDTOList && res.unRenewalInformationDTOList.length != 0){
this.listData = res.unRenewalInformationDTOList
}
}
if(this.active == '1'){
if(res.informationDTOList && res.informationDTOList.length != 0){
this.listData = res.informationDTOList
}
}
;[this.loading, this.finished] = [false, true]
} else {
this.$toast(res.resultMessage)
}
})
},
//切换
tabChange(name) {
this.currentPage = 1
this.active = name
this.listData = []
;[this.loading, this.finished] = [true, false]
this.finishedText = '正在加载...'
this.getOrderList()
},
//搜索
searchList() {
this.currentPage = 1
this.listData = []
;[this.loading, this.finished] = [true, false]
this.finishedText = '正在加载...'
this.getOrderList()
},
//投保单详情
goDetail(item) {
this.$router.push({
path: '/healthInsuranceRenewal/detail',
query: {
grpContNo: item.grpContNo,
renewalFlag: this.active,
agentCode: this.agentCode,
cvaliStartDate: this.cvaliStartDate,
cvaliEndDate: this.cvaliEndDate,
}
})
},
initDate(){
let thisDate = new Date()
let thisYear = thisDate.getFullYear()
let thisMonth = thisDate.getMonth()+1
if(thisMonth < 10){
thisMonth = '0'+thisMonth
}
this.currentDate = thisYear + '-' + thisMonth
this.showChooseDate = thisYear + '-' + thisMonth
let date = new Date(this.currentDate);
date.setDate(1);
let firstDay1 = date.toLocaleDateString();
this.cvaliStartDate = firstDay1.replaceAll('/','-')
date.setMonth(date.getMonth() + 1);
date.setDate(0);
let lastDay1 = date.toLocaleDateString();
this.cvaliEndDate = lastDay1.replaceAll('/','-')
},
//打开日期选择
openshowDataPicker(){
this.currentDate = new Date()
this.showDataPicker = true
},
//日期选择
onConfirmDate(value){
let thisDate = new Date(value)
let thisYear = thisDate.getFullYear()
let thisMonth = thisDate.getMonth()+1
if(thisMonth < 10){
thisMonth = '0'+thisMonth
}
this.currentDate = thisYear + '-' + thisMonth
this.showChooseDate = thisYear + '-' + thisMonth
console.log(this.currentDate)
let date = new Date(this.currentDate);
date.setDate(1);
let firstDay1 = date.toLocaleDateString();
this.cvaliStartDate = firstDay1.replaceAll('/','-')
date.setMonth(date.getMonth() + 1);
date.setDate(0);
let lastDay1 = date.toLocaleDateString();
this.cvaliEndDate = lastDay1.replaceAll('/','-')
this.showDataPicker = false
this.getOrderList()
}
}
}
</script>
<style lang="scss" scoped>
.topsearch{
/deep/ .van-field__label{
width: 50px;
}
}
</style>

View File

@@ -150,30 +150,16 @@ export function relevanceByInsure(insured, insuredLabelResult, insuredResult, in
let defaulValue = 'M' //档位默认值
let radios = []
if(currentInsuredInfo.L){
if(risk.mainRiskCode == 'GFRS_M0083') {
radios.push({
label: '保证' + currentInsuredInfo.L,
value: 'L'
})
} else {
radios.push({
label: '低档' + currentInsuredInfo.L,
value: 'L'
})
}
radios.push({
label: '低档' + currentInsuredInfo.L,
value: 'L'
})
}
if(currentInsuredInfo.M){
if(risk.mainRiskCode == 'GFRS_M0083') {
radios.push({
label: '演示' + currentInsuredInfo.M,
value: 'M'
})
} else {
radios.push({
label: '中档' + currentInsuredInfo.M,
value: 'M'
})
}
radios.push({
label: '中档' + currentInsuredInfo.M,
value: 'M'
})
}
if(currentInsuredInfo.H){
radios.push({

View File

@@ -86,7 +86,7 @@
</van-field>
</van-dialog>
<van-dialog class="bankCardContract" v-model="bankCardContractShow" title="提示" show-cancel-button @confirm="authConfirm" @cancel="checkModelCancel">
<p class="p10 fs14">尊敬的客户您好您的银行卡账户未进行续期签约为确保是您本人操作短信验证码已发送至您的手机号{{ appntDTO.mobile }}请您输入验证码完成签约流程~</p>
<p class="p10 fs14">您的银行卡账户未进行续期签约为确保是您本人操作短信验证码已发送至您的手机号{{ appntDTO.mobile }}请您输入验证码完成签约流程~</p>
<van-cell-group class="flex align-items-c" style="margin: 10px;">
<van-field maxlength="6" placeholder="请输入短信验证码" v-model="verfyCode" clearable label-width="0" />
</van-cell-group>
@@ -577,79 +577,39 @@ export default {
}
},
getBankCardSignState(){
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……',
})
let params = {
orderNo: this.$route.query.orderNo
}
getBankCardSignState(params).then(res => {
this.$toast.clear()
let checkRes = res.content
if (checkRes.result == '0') {
this.$toast.clear()
if (checkRes.needSign == '0' || checkRes.needSign == null) {
if(checkRes.signState == '0' || checkRes.signState == '2'){
// 不需签约已签约,不做处理
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/attachmentManagement?orderNo=' + this.$route.query.orderNo
},
routerInfo: {
path: '/sale/attachmentManagement?orderNo=' + this.$route.query.orderNo
}
})
}
}
else if (checkRes.needSign == '3') {
if(checkRes.signState == '0') {
this.$toast('该银行卡金掌桂暂不支持续期签约!')
}
}
else if (checkRes.needSign == '1'){
if (checkRes.signState == '2' || checkRes.needSign == '0') {
// 不需签约 或 已签约 不做处理 可以发起支付
console.log('不需签约已签约 不做处理 可以发起支付')
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/attachmentManagement?orderNo=' + this.$route.query.orderNo
},
routerInfo: {
path: '/sale/attachmentManagement?orderNo=' + this.$route.query.orderNo
}
})
} else if (checkRes.needSign == '1'){
if (checkRes.signConfirmType == '2'){
this.bankCardContractShow = true
this.rdSeq = checkRes.rdSeq
}else if (checkRes.signConfirmType == '3'){
Dialog.alert({
message: '银行已发送短信至手机号'+ this.appntDTO.mobile +',按照短信提示完成短信回复签约,再次通过金掌桂完成后续流程。',
message: '亲,银行已发送短信至手机号'+ this.appntDTO.mobile +',按照短信提示完成短信回复签约,再次通过金掌桂完成后续流程。',
confirmButtonColor: '#ff5e50',
}).then(() => {})
} else if(checkRes.signConfirmType == '4') {
// this.$toast('招商银行卡请至官微续期签约~')
Dialog.alert({
message: '招商银行卡请至官微续期签约~',
confirmButtonColor: '#ff5e50',
}).then(() => {})
} else if(checkRes.signConfirmType == '5') {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/attachmentManagement?orderNo=' + this.$route.query.orderNo
},
routerInfo: {
path: '/sale/attachmentManagement?orderNo=' + this.$route.query.orderNo
}
})
} else if (checkRes.signState == '3') {
// 签约失败
const info = '您当前银行卡账户续期签约失败,\n原因' + checkRes.resultMessage
Dialog.confirm({
message: info,
className: 'reConfirm leftConfirm',
cancelButtonText: '返回',
cancelButtonColor: '#ff5e50',
showCancelButton: false,
confirmButtonText: '修改银行卡信息',
confirmButtonColor: '#ff5e50',
allowHtml: true
}).then(() => {}).catch(() => {});
} else if (checkRes.signState == '4') {
const info = '银行卡已在签约中,请稍后~'
}else{
this.$toast('该微信绑定的银行卡金掌桂暂不支持续期签约!')
}
if (checkRes.signState == '4') {
const info = '亲,银行卡已在签约中,请稍后'
Dialog.alert({
message: info,
className: 'reConfirm leftConfirm',
@@ -657,19 +617,29 @@ export default {
allowHtml: true
}).then(() => {}).catch(() => {})
// }
} else if (checkRes.signState == '3') {
// 签约失败
const info = '亲,您当前银行卡账户续期签约失败,\n原因' + checkRes.resultMessage
Dialog.confirm({
message: info,
className: 'reConfirm leftConfirm',
cancelButtonText: '返回',
cancelButtonColor: '#ff5e50',
confirmButtonText: '修改银行卡信息',
confirmButtonColor: '#ff5e50',
allowHtml: true
}).then(() => {}).catch(() => {});
}
}
else {
} else {
this.$toast(checkRes.resultMessage)
}
}else{
const info = '您当前银行卡账户续期签约失败,\n原因' + checkRes.resultMessage
const info = '亲,您当前银行卡账户续期签约失败,\n原因' + checkRes.resultMessage
Dialog.confirm({
message: info,
className: 'reConfirm leftConfirm',
cancelButtonText: '返回',
cancelButtonColor: '#ff5e50',
showCancelButton: false,
confirmButtonText: '修改银行卡信息',
confirmButtonColor: '#ff5e50',
allowHtml: true
@@ -700,7 +670,7 @@ export default {
signConfirm(data).then(res => {
this.verfyCode = ''
this.bankCardContractShow = false
if (res.content.result == '0') {
if (res.result == '0') {
this.$toast.clear()
this.$jump({
flag: 'h5',
@@ -714,13 +684,12 @@ export default {
}else{
this.$toast.clear()
// 签约失败
const info = '您当前银行卡账户续期签约失败,\n原因' + res.content.resultMessage
const info = '亲,您当前银行卡账户续期签约失败,\n原因' + data.resultMessage
Dialog.confirm({
message: info,
className: 'reConfirm leftConfirm',
cancelButtonText: '返回',
cancelButtonColor: '#ff5e50',
showCancelButton: false,
confirmButtonText: '修改银行卡信息',
confirmButtonColor: '#ff5e50',
allowHtml: true

View File

@@ -250,7 +250,7 @@ import idNoCheck from '@/assets/js/utils/idNoCheck'
import { idToData } from './js/verification'
import { selectComp } from './js/methods'
import getAreaName from '@/assets/js/utils/getAreaNameForSale'
import { getOrderDetail, checkAppointBnf } from '@/api/ebiz/sale/sale'
import { getOrderDetail } from '@/api/ebiz/sale/sale'
let relationToInsured = [
{ id: 2, text: '配偶' },
@@ -1114,51 +1114,21 @@ export default {
}
}
let thisbnfDTOs = []
thisbnfDTOs.push(this.userInfo)
let params = {
orderType: 'BNF_ORDER',
orderDTO: {
productDTO: null,
orderInfoDTO: {
bnfFlag: this.bnfFlag,
orderNo: this.$route.query.orderNo
},
appntDTO: {},
insuredDTOs: [
{
insuredId: JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).insuredId,
bnfDTOs: thisbnfDTOs
}
],
paymentDTO: {},
orderAccountDTO: {},
channelDTO: null,
orderExpandDTO: null,
thirdOrderDTO: null
}
beneficiaries.push(this.userInfo)
// 保存 新增的受益人信息 以及页面跳转字段
localStorage.beneficiaryInfo = JSON.stringify(beneficiaries)
localStorage.fromAddBeneficiaryInfo = true
if (this.userInfo.asAppntAddress == true) {
localStorage.applicant = '1'
}
checkAppointBnf(params).then(res=>{
if(res.result == '0'){
beneficiaries.push(this.userInfo)
// 保存 新增的受益人信息 以及页面跳转字段
localStorage.beneficiaryInfo = JSON.stringify(beneficiaries)
localStorage.fromAddBeneficiaryInfo = true
if (this.userInfo.asAppntAddress == true) {
localStorage.applicant = '1'
}
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/beneficiary?orderNo=' + this.$route.query.orderNo,
needRefresh: '1'
},
routerInfo: {
path: '/sale/beneficiary?orderNo=' + this.$route.query.orderNo
}
})
} else {
this.$toast(res.resultMessage)
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/beneficiary?orderNo=' + this.$route.query.orderNo,
needRefresh: '1'
},
routerInfo: {
path: '/sale/beneficiary?orderNo=' + this.$route.query.orderNo
}
})
} else {

File diff suppressed because it is too large Load Diff

View File

@@ -90,28 +90,6 @@
说明:如您想获取个人信息处理的合作机构名称联系方式信息处理方式保存期限详情和个人行使信息保护权利的方式和程序可拨打国富人寿服务热线4006946688咨询
</p>
</div>
<div>
<h2 style="text-align:center" class="mb20">转账授权书</h2>
<p class="mb20">本人授权国富人寿保险股份有限公司以下简称国富人寿及本人指定之银行账户微信账户按下述授权内容进行保险费的划扣及相关权益的给付</p>
<p class="mb20" style="font-weight: bold;">银行卡转账授权声明</p>
<p class="mb20">1本人同意委托国富人寿从本人的授权账户中扣取本保险合同所需缴纳的保险费并保证授权账户中有足够的金额支付应交保险费</p>
<p class="mb20">
2本人确认授权的银行账户所有人为投保人本人账户的开户银行户名和账号均真实有效续期交费账户与首期保费交纳账户为同一账户
本人所提供的授权账户必须是本人的个人结算账户借记卡个人活期结算存折
</p>
<p class="mb20">
3本人同意若因账户挂失账户冻结账户余额不足或其
他非银行原因造成转账不成功致使产生保险合同终止的任何后果或投资账户的费用损失因此引起的责任概由本人承担
</p>
<p class="mb20">4如本人在同一指定账户内同时授权两张或两张以上保险单中的保险费或其他自动转账业务时本人同意依照国富人寿规定的转账顺序转账</p>
<p class="mb20">5本人投保后若办理退保或退费业务同意国富人寿将应退金额通过银行划转入该账户</p>
<p class="mb20">
6本人因故结清账户会重新开立账户并及时通过国富人寿进行变更如本人欲终止本授权应立即向国富人寿递交终止的书面申请由国富人寿知会银行停止转账若因本人未及时办理账户变更手续而导致退保给付金无法按时给付则同意国富人寿按退保申请日的给付金额支付
</p>
<p class="mb20">7对于一年期以上的产品国富人寿可在保险费约定支付日之前及时通知本人交纳续期保险费</p>
<p class="mb20" style="font-weight: bold;">微信转账授权声明</p>
<p class="mb20">1首期保险费使用微信支付的本人同意国富人寿通过本人投保时留存的银行账户进行续期保险费转账扣除</p>
</div>
</div>
<van-radio-group v-model="radio" class="pb10 pb20 pl30">

View File

@@ -137,7 +137,7 @@
<script>
import { Search, Tabs, Tab, List, Tag, Sticky, Toast, Dialog, Field } from 'vant'
import { orderList, deleteOrderInfo, getAuthCode, revokeOrder, getBankCardSignState } from '@/api/ebiz/sale/sale'
import { orderList, deleteOrderInfo, getAuthCode, revokeOrder } from '@/api/ebiz/sale/sale'
import { funcPermCheck } from '@/api/ebiz/common/common'
import { formatRiskList } from '@/assets/js/utils/formatRiskList.js'
import dataDictionary from '@/assets/js/utils/data-dictionary' //根据数据字典找到用户等级
@@ -447,7 +447,7 @@ export default {
this.loadMore()
},
//投保单详情
async goDetail(order) {
goDetail(order) {
let thisToken = this.$CacheUtils.getLocItem('token')
window.localStorage.clear()
this.$CacheUtils.setLocItem('token', thisToken)
@@ -475,35 +475,7 @@ export default {
}else if(orderStatus == '37'){//受益人保存成功, 跳到告知信息--
url = '/sale/NotifyingMessage?edit=1&orderNo='+orderNo
}else if(orderStatus == '38'){ //账户信息保存成功, 跳到附件管理--
if(order.orderInfoDTO.activeType == 'KMH') {
let params = {
orderNo: order.orderInfoDTO.orderNo
}
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……',
})
await getBankCardSignState(params).then(res => {
this.$toast.clear()
if(res.result == 0) {
if(res.content.needSign == '0' || res.content.needSign == null) {
if(res.content.signState == '0' || res.content.signState == '2') {
url = '/sale/AttachmentManagement?edit=1&orderNo='+orderNo
} else {
url = '/sale/AccountInformation?edit=1&orderNo='+orderNo
}
} else {
url = '/sale/AccountInformation?edit=1&orderNo='+orderNo
}
} else {
this.$toast(res.resultMessage)
}
})
} else {
url = '/sale/AttachmentManagement?edit=1&orderNo='+orderNo
}
}else if(orderStatus == '39'){ //险种信息保存成功, 跳到已选产品列表
url = '/common/selectedProduct?edit=1&orderNo='+orderNo
}else if(orderStatus == '40'){//告知信息保存成功, 跳到风险测评--

View File

@@ -22,10 +22,6 @@
<img :src="srcPending" class="mb40 mt20" />
<p class="title">核心系统繁忙请稍后重试</p>
</div>
<div v-else-if="uwResult == '53'">
<img :src="srcPending" class="mb40 mt20" />
<p class="title">核心批扣</p>
</div>
<div v-else>
<img :src="srcPending" class="mb40 mt20" />
<p class="title">系统繁忙请稍后重试</p>

View File

@@ -18,7 +18,7 @@
包含当日之后保险合同于国富人寿收取首期保险费并签发保险单次日零时起生效 -->
如您于<span>{{ cvalidateStrOneDayOff }}</span>(包含当日前申请投保且支付保险费经国富人寿保险股份有限公司以下简称国富人寿同意并签发保单
<span>{{ cvalidateStrOneDayOff }}</span>(包含当日前签发保单保险合同自{{ cvalidateStrToFormat }}零时起生效{{ cvalidateStrToFormat }}(包含当日后签发保单
<span>{{ cvalidateStrOneDayOff }}</span>(包含当日前签发保单保险合同自{{ cvalidateStrToFormat }}零时起生效{{ cvalidateStrToFormat }}(包含当日后签发保单
保险合同自签发保险单次日零时起生效国富人寿将通过您投保时预留的银行账户转账扣除保险费为顺利承保请您充足银行账户余额
</p>