Compare commits
76 Commits
feature/适当
...
feature/【2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
77ab43dadc | ||
|
|
2ccc9622bf | ||
|
|
daa56c677f | ||
|
|
04f586aa76 | ||
|
|
f23bedd030 | ||
|
|
7266d1271d | ||
|
|
49ace93f5e | ||
|
|
cd739a796f | ||
|
|
f8850bbfad | ||
|
|
4eec515d77 | ||
|
|
3d4c7093e1 | ||
|
|
975a8f3be2 | ||
|
|
715f2747d7 | ||
|
|
e3ff31bc61 | ||
|
|
0fb3fe9570 | ||
|
|
548f273f2d | ||
|
|
af0af2d145 | ||
|
|
5092267900 | ||
|
|
2916c76218 | ||
|
|
a74b355cfa | ||
|
|
2793d02383 | ||
|
|
0096cf6917 | ||
|
|
7db1b6db2b | ||
|
|
ecec1af4b2 | ||
|
|
eeea5349d9 | ||
|
|
f0735fce3e | ||
|
|
958c8f8b01 | ||
|
|
a0cc22b602 | ||
|
|
e4338d1cdd | ||
|
|
383ed001da | ||
|
|
0ded892703 | ||
|
|
5f485c90ad | ||
|
|
19db3b7f57 | ||
|
|
f25f1d214e | ||
|
|
cf439b5bbe | ||
|
|
36b81f9e8e | ||
| 2a54039d4a | |||
|
|
ff8d284915 | ||
|
|
cdb36b4dcd | ||
| 38398cf5f3 | |||
| ca50c3efff | |||
|
|
9e2812d5b3 | ||
| 4ab1be1483 | |||
| 5141eba11b | |||
| c9e7b962e3 | |||
|
|
10bfe11813 | ||
| 75fd1b747d | |||
| 71e572b4ea | |||
| effba15c93 | |||
|
|
44026f1184 | ||
|
|
01caa01272 | ||
|
|
035b3500aa | ||
| e99cf535b3 | |||
| ab92138982 | |||
| e92c8cc095 | |||
|
|
26133d07c8 | ||
|
|
772201f2f0 | ||
|
|
b0937ceb58 | ||
|
|
693a1140fd | ||
|
|
dd1ce78a4b | ||
| 63e0869065 | |||
| e61dfe0d17 | |||
| f8d84e73c7 | |||
|
|
f43135cdf2 | ||
|
|
0537596d95 | ||
|
|
268d53128e | ||
|
|
aa13d3c8e7 | ||
|
|
4bb43a244c | ||
|
|
523e1c9c8f | ||
|
|
01af6bb9ac | ||
|
|
7989e411ac | ||
|
|
a5672152eb | ||
|
|
3591bce7a4 | ||
|
|
cdd5ac826a | ||
|
|
42b0ac995a | ||
|
|
787369053c |
@@ -36,3 +36,12 @@ export function getSpecialAreaProList(data) {
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 首页底部图
|
||||
export function getHomeBottomPic(data) {
|
||||
return request({
|
||||
url: getUrl('/app/code/getCodeValue', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
@@ -76,6 +76,24 @@ export function getOrderDetail1(data) {
|
||||
data
|
||||
})
|
||||
}
|
||||
// 投保单邮件发送
|
||||
export function getSendEmail(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/order/sendEmail', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 投保单邮件发送
|
||||
export function getDownloadZip(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/order/downloadZip?orderNo=' + data.orderNo, 1),
|
||||
method: 'get',
|
||||
data,
|
||||
responseType: 'blob'
|
||||
})
|
||||
}
|
||||
|
||||
// 获取验证码
|
||||
export function getAuthCode(data) {
|
||||
return request({
|
||||
@@ -104,7 +122,7 @@ export function uploadImg(data) {
|
||||
// 上传图片
|
||||
export function uploadImg2(data) {
|
||||
return request1({
|
||||
url: getUrl('/uploadImage?imgType='+store.getters.getUploadImgType+'&orderNo='+store.getters.getUploadImgOrderNo, 1, 2),
|
||||
url: getUrl('/uploadImage?imgType=' + store.getters.getUploadImgType + '&orderNo=' + store.getters.getUploadImgOrderNo, 1, 2),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
|
||||
BIN
src/assets/images/goodStart/top-20251114.png
Normal file
|
After Width: | Height: | Size: 107 KiB |
|
Before Width: | Height: | Size: 107 KiB After Width: | Height: | Size: 615 KiB |
BIN
src/assets/images/home-companyProfile.png
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
BIN
src/assets/images/home_product_center_m0105.png
Normal file
|
After Width: | Height: | Size: 272 KiB |
BIN
src/assets/images/home_product_center_m0109.png
Normal file
|
After Width: | Height: | Size: 189 KiB |
|
Before Width: | Height: | Size: 428 KiB After Width: | Height: | Size: 84 KiB |
@@ -252,6 +252,9 @@ service.interceptors.request.use(
|
||||
// respone拦截器
|
||||
service.interceptors.response.use(
|
||||
response => {
|
||||
if (response.config.responseType) {
|
||||
return response.data
|
||||
}
|
||||
let res = response.data
|
||||
if (
|
||||
(configApp.API_VERSION == 'v2' || configApp.API_VERSION == 'v3') &&
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
</div>
|
||||
<div v-if="isFrom == 'sale' && isShow == false">
|
||||
<div class="p15 pl8 fs14" style="margin-bottom: 20px;background: #fff;">
|
||||
<van-radio-group v-model="isElecCont" class="flex" style="display: flex;align-items: center;">
|
||||
<van-radio-group v-model="isElecCont" class="flex" style="display: flex;align-items: center;" :disabled="isElecContDisabled">
|
||||
<label>
|
||||
<i class="red pr5">*</i>
|
||||
保单形式
|
||||
@@ -125,7 +125,8 @@
|
||||
<p style="color: #E9332E;">提示</p>
|
||||
</div>
|
||||
<div style="padding: 20px 30px 30px;font-size: 14px;">
|
||||
<div style="line-height: 25px;">根据监管要求,本单需要您配合对销售过程进行录音录像!</div>
|
||||
<div style="line-height: 25px;" v-if="branchType == '14'">一年期以上保险产品需按监管要求双录,请及时双录。</div>
|
||||
<div style="line-height: 25px;" v-else>根据监管要求,本单需要您配合对销售过程进行录音录像!</div>
|
||||
</div>
|
||||
<div style="text-align: center;">
|
||||
<van-button type="danger" block style="font-size: 14px;" @click="thisdoubledialogfunc">确定</van-button>
|
||||
@@ -179,6 +180,10 @@
|
||||
manageComCode:'',//代理人管理机构 52贵州 45广西
|
||||
isCrossChannel: 0, // 是否选择交叉渠道列表 0-否 1-是
|
||||
isElecCont: '', // 保单形式
|
||||
isElecContDisabled: false, // 保单形式是否禁用
|
||||
branchType:'',
|
||||
|
||||
|
||||
saleInsuredInfo: {}, //投保人信息
|
||||
assessFlag:"", //是否需要填写适应性问卷
|
||||
}
|
||||
@@ -257,6 +262,12 @@
|
||||
//如果是从导航栏点击进入
|
||||
this.salePageFlag = localStorage.salePageFlag
|
||||
}
|
||||
if(window.localStorage.getItem('branchType')) {
|
||||
this.branchType = window.localStorage.getItem('branchType')
|
||||
} else if(this.$route.query.branchType){
|
||||
window.localStorage.setItem('branchType', this.$route.query.branchType)
|
||||
this.branchType = this.$route.query.branchType
|
||||
}
|
||||
|
||||
// localStorage.orderNo = '19090510425500178912'
|
||||
// localStorage.saleInsuredPersonInfo = JSON.stringify({
|
||||
@@ -419,6 +430,11 @@
|
||||
}
|
||||
}
|
||||
this.$toast.clear()
|
||||
// 银保,保单形式,默认为电子+纸质,不可修改
|
||||
if (this.$CacheUtils.getLocItem('branchType') == '14' && this.chooseProducts[0].mainRiskCode != 'GFRS_M0076' && this.chooseProducts[0].mainRiskCode != 'GFRS_M0077') {
|
||||
this.isElecCont = '2'
|
||||
this.isElecContDisabled = true
|
||||
}
|
||||
} else {
|
||||
this.$toast(resultData.resultMessage)
|
||||
}
|
||||
@@ -829,7 +845,7 @@
|
||||
}
|
||||
if(this.manageComCode == '45') {
|
||||
console.log(this.chooseProducts)
|
||||
if(this.appntDTO.age >= 60) {
|
||||
if(this.appntDTO.age >= 60 || this.branchType == '14') {
|
||||
this.chooseProducts.map(item => {
|
||||
if (item.insuYearFlag == 'A' || (item.insuYearFlag == 'Y' && item.insuYear != '1')) {
|
||||
showFlag = true
|
||||
|
||||
@@ -48,7 +48,7 @@ export default {
|
||||
age = this.getSaleInsuredInfo().age
|
||||
tips = '投保人年龄不适合此款险种,请选择其他险种!'
|
||||
} else {
|
||||
if(riskProductCode == 'GFRS_M0061' || riskProductCode == 'GFRS_M0102' || riskProductCode == 'GFRS_M0101'){
|
||||
if(riskProductCode == 'GFRS_M0061' || riskProductCode == 'GFRS_M0102' || riskProductCode == 'GFRS_M0101' || riskProductCode == 'GFRS_M0114'){
|
||||
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
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div ref="product" class="home-product-container pb20">
|
||||
<!-- 非个险 -->
|
||||
<template v-if="!isPersonalInsu">
|
||||
<div class="home-product-content" v-if="branchType != '12'">
|
||||
<div class="home-product-content" v-if="branchType != '12' && branchType != '14'">
|
||||
<!-- 产品中心 -->
|
||||
<div class="pcenter-title flex pt10 mr20 mb10 ml15 justify-content-s align-items-c" style="height: 30px;">
|
||||
<h3 class="center-title fs15 pl10" style="border-left: 4px solid red;">知识社区</h3>
|
||||
@@ -34,7 +34,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div style="height: 10px;width: 100%;background-color: #f5f5f5;" />
|
||||
<div class="home-product-content">
|
||||
<div class="home-product-content" v-if="branchType != '14'">
|
||||
<!-- 产品中心 -->
|
||||
<div class="pcenter-title flex pt10 mr20 mb10 justify-content-s align-items-c">
|
||||
<h3 class="center-title fs15 pl10 ml15" style="border-left: 4px solid red;">产品中心</h3>
|
||||
@@ -113,8 +113,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<div style="height: 10px;width: 100%;background-color: #f5f5f5;" />
|
||||
<div class="home-product-content">
|
||||
<!-- 产品中心 -->
|
||||
<div class="home-product-content" v-if="branchType != '14'">
|
||||
<!-- 银保渠道不显示 产品中心 -->
|
||||
<div class="pcenter-title flex pt10 mr20 mb10 justify-content-s align-items-c">
|
||||
<img class="title-img" :src="productCenterImgUrl" />
|
||||
<span class="more fs13 c-gray-base" @click="getMore"><span>查看更多</span><van-icon name="arrow"/></span>
|
||||
@@ -122,15 +122,26 @@
|
||||
<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_M0095')" />
|
||||
<img src="../../../assets/images/home_product_center_m0105.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0105')" />
|
||||
</div>
|
||||
<div class="pcenter-item text-center">
|
||||
<img src="../../../assets/images/home_product_center_m0094.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0094')" />
|
||||
<img src="../../../assets/images/home_product_center_m0109.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0109')" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<template>
|
||||
<!-- 后台配置图 -->
|
||||
<div class="home-product-content pt20" v-if="branchType == '14'">
|
||||
<div class="pcenter-list mr20 mb10 ml15">
|
||||
<div class="pcenter-item text-center">
|
||||
<img src="../../../assets/images/home-companyProfile.png" style="width: 100%" alt=""/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -140,6 +151,7 @@ import performance from '@/assets/images/goodStart/performanceIcon.png'
|
||||
import product from '@/assets/images/goodStart/product.png'
|
||||
import { getAgentInfo } from '@/api/ebiz/my/my'
|
||||
import { getCongratulationList } from '@/api/ebiz/congratulation/congratulation.js'
|
||||
import { getHomeBottomPic } from '@/api/ebiz/product/product.js'
|
||||
import dateUtil from '@/assets/js/utils/date-utils.js'
|
||||
// import { orgShortNames } from '@/assets/js/utils/orgShortName'
|
||||
import CacheUtils from '@/assets/js/utils/cacheUtils'
|
||||
@@ -170,7 +182,8 @@ export default {
|
||||
productCenterImgUrl: '', // 产品中心图片
|
||||
productCenterKmhImgUrl: this.$assetsUrl + 'images/goodStart/productKmh.png', // 产品中心开门红图片
|
||||
productCenterNormalImgUrl: this.$assetsUrl + 'images/goodStart/product.png', // 产品中心普通蓝色图片
|
||||
personalInsu: ['1','N1','N2','N3','N5','T','S','JZG'] // 个险渠道编码及其他展示个险渠道类型的渠道编码
|
||||
personalInsu: ['1','N1','N2','N3','N5','T','S','JZG'], // 个险渠道编码及其他展示个险渠道类型的渠道编码
|
||||
homeBottomPicUrl: null
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -193,6 +206,16 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async getHomeBottomImg() {
|
||||
const result = await getHomeBottomPic({ operateType: 'nonRealYB' })
|
||||
if (result.result === '0' && result.content && result.content.length > 0) {
|
||||
const timestamp = new Date().getTime()
|
||||
const originalUrl = result.content[0].picUrl
|
||||
this.homeBottomPicUrl = originalUrl.includes('?')
|
||||
? `${originalUrl}&t=${timestamp}`
|
||||
: `${originalUrl}?t=${timestamp}`
|
||||
}
|
||||
},
|
||||
async getTableData() {
|
||||
let currMonth = dateUtil.formatDate(new Date(), 'yyyy-MM-dd')
|
||||
let data = await getCongratulationList({ date: currMonth, queryType: 'm', type: 'kmh' })
|
||||
@@ -234,11 +257,14 @@ export default {
|
||||
// 内外勤判断
|
||||
this.isInner = /^N{1}/.test(result.branchType) || /^S/.test(result.branchType) || /^T/.test(result.branchType) || /^JZG/.test(result.branchType) // 判断是否内勤
|
||||
this.branchType = result.branchType //6 网销渠道
|
||||
this.isGoodStart = result.showTemplateKmh === 'KMH'? '1':'2' // 判断是否开门红 1-开门红 2-否
|
||||
this.isPersonalInsu = this.personalInsu.indexOf(result.branchType) > -1 // 判断是否个险渠道
|
||||
this.organizationImgUrl = this.isGoodStart =='1'?this.organizationKmhImgUrl:this.organizationNormalImgUrl
|
||||
this.performanceImgUrl = this.isGoodStart =='1'?this.performanceKmhImgUrl:this.performanceNormalImgUrl
|
||||
this.productCenterImgUrl = this.isGoodStart =='1'?this.productCenterKmhImgUrl:this.productCenterNormalImgUrl
|
||||
this.isGoodStart = result.showTemplateKmh === 'KMH' ? '1' : '2' // 判断是否开门红 1-开门红 2-否
|
||||
this.isPersonalInsu = this.personalInsu.indexOf(result.branchType) > -1 // 判断是否个险渠道
|
||||
this.organizationImgUrl = this.isGoodStart == '1' ? this.organizationKmhImgUrl : this.organizationNormalImgUrl
|
||||
this.performanceImgUrl = this.isGoodStart == '1' ? this.performanceKmhImgUrl : this.performanceNormalImgUrl
|
||||
this.productCenterImgUrl = this.isGoodStart == '1' ? this.productCenterKmhImgUrl : this.productCenterNormalImgUrl
|
||||
if (this.branchType == '14') {
|
||||
// this.getHomeBottomImg()
|
||||
}
|
||||
} else {
|
||||
this.$toast(result.resultMessage)
|
||||
}
|
||||
|
||||
@@ -6,14 +6,18 @@
|
||||
<img class="w178 h41 div_1" src="@/assets/images/proposal/proposal_logo.png" />
|
||||
<div class="white fw500 fs18 div_2">{{ mainRiskName }}</div>
|
||||
<van-sticky @scroll="testSticky">
|
||||
<div class="pl15 pt15 flex justify-content-fs align-items-c sticky_div" :class="pageShowType.isFixed ? 'divbg_1' : 'divbg_2'">
|
||||
<div class="mr9 title_item" v-for="(item, index) in pageShowInfo.insuredDTOs" :key="index" @click="checkInsure(item.insuredId)">
|
||||
<div class="pl15 pt15 flex justify-content-fs align-items-c sticky_div"
|
||||
:class="pageShowType.isFixed ? 'divbg_1' : 'divbg_2'">
|
||||
<div class="mr9 title_item" v-for="(item, index) in pageShowInfo.insuredDTOs" :key="index"
|
||||
@click="checkInsure(item.insuredId)">
|
||||
<div class="relative sub_insure_item">
|
||||
<div class="bg-white insured_item" :class="item.insuredId == pageShowInfo.showInsuredDTO.insuredId ? 'shadow' : ''">
|
||||
<div class="bg-white insured_item"
|
||||
:class="item.insuredId == pageShowInfo.showInsuredDTO.insuredId ? 'shadow' : ''">
|
||||
<div class="insured_item_1">
|
||||
<img :src="headPicture[item.relationToAppnt + '_' + item.sex]" />
|
||||
</div>
|
||||
<div class="text-center fs12" :class="item.insuredId == pageShowInfo.showInsuredDTO.insuredId ? 'color_3A81F6' : ''">
|
||||
<div class="text-center fs12"
|
||||
:class="item.insuredId == pageShowInfo.showInsuredDTO.insuredId ? 'color_3A81F6' : ''">
|
||||
{{ relationToAppntType[item.relationToAppnt + '_' + item.sex] }}<br />
|
||||
{{ item.name }}
|
||||
</div>
|
||||
@@ -33,37 +37,49 @@
|
||||
<div class="text-center">
|
||||
<label class="fs14 color_3A81F6 fw600 lh24">被保险人</label><br />
|
||||
<label class="fs13 color_666666 lh20"
|
||||
>{{ pageShowInfo.showInsuredDTO.sex == '0' ? '男' : '女' }} {{ pageShowInfo.showInsuredDTO.insuredAge }}周岁</label
|
||||
>{{ pageShowInfo.showInsuredDTO.sex == '0' ? '男' : '女'
|
||||
}} {{ pageShowInfo.showInsuredDTO.insuredAge }}周岁</label
|
||||
>
|
||||
</div>
|
||||
<div class="line_gray"></div>
|
||||
<div class="text-center">
|
||||
<label class="fs14 color_3A81F6 fw600 lh24">投保人</label><br />
|
||||
<label class="fs13 color_666666 lh20">{{ pageShowInfo.appntDTO.sex == '0' ? '男' : '女' }} {{ pageShowInfo.appntDTO.age }}周岁</label>
|
||||
<label class="fs13 color_666666 lh20">{{ pageShowInfo.appntDTO.sex == '0' ? '男' : '女'
|
||||
}} {{ pageShowInfo.appntDTO.age }}周岁</label>
|
||||
</div>
|
||||
<div class="line_gray"></div>
|
||||
<div class="text-center">
|
||||
<label class="fs14 color_3A81F6 fw600 lh24">首年保费</label><br />
|
||||
<label class="fs13 color_FFA42F lh20">{{ pageShowInfo.showInsuredDTO.totalPrem | numFormat }}元</label>
|
||||
<label class="fs13 color_FFA42F lh20">{{ pageShowInfo.showInsuredDTO.totalPrem | numFormat
|
||||
}}元</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fs15 line_title">产品计划</div>
|
||||
<div class="fs12 div_4">
|
||||
<div class="risk_head flex text-center line-height table fs12 bg_DBEFFE">
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7">投保险种</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border" v-if="ispremshow">保额(元)</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border" v-if="ispremshow">
|
||||
保额(元)
|
||||
</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">保险期间</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">交费期间</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">首年保费(元)</div>
|
||||
</div>
|
||||
<div class="risk_body flex text-center table bg_f7fbff" v-for="(riskItem, index) in pageShowInfo.showInsuredDTO.riskDTOLst" :key="index">
|
||||
<div class="risk_body flex text-center table bg_f7fbff"
|
||||
v-for="(riskItem, index) in pageShowInfo.showInsuredDTO.riskDTOLst" :key="index">
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7">{{ riskItem.riskName }}</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border" v-if="ispremshow">
|
||||
{{ riskItem.amt ? riskItem.amt : '--' }}
|
||||
</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.insureName }}</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.payName }}</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.showPrem ? riskItem.showPrem : '--' }}</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">
|
||||
{{ riskItem.insureName }}
|
||||
</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.payName
|
||||
}}
|
||||
</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">
|
||||
{{ riskItem.showPrem ? riskItem.showPrem : '--' }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -72,23 +88,33 @@
|
||||
<div class="fs12 div_4" v-if="pageShowInfo.showInsuredDTO.riskDTOLstNew.length">
|
||||
<div class="risk_head flex text-center line-height table fs12 bg_DBEFFE">
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7">投保险种</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">养老保险金开始领取年龄</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">养老保险金领取方式</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">
|
||||
养老保险金开始领取年龄
|
||||
</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">养老保险金领取方式
|
||||
</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">保证给付期</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">每次养老保险金(元)</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">每次养老保险金(元)
|
||||
</div>
|
||||
</div>
|
||||
<div v-for="(riskItem, index) in pageShowInfo.showInsuredDTO.riskDTOLstNew" :key="index">
|
||||
<div class="risk_body flex text-center table bg_f7fbff">
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7">{{ riskItem.riskName }}</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.pensionAge }} 周岁</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">
|
||||
{{ riskItem.pensionAge }} 周岁
|
||||
</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">
|
||||
{{ riskItem.receivePensionWay == '0' ? '年领' : '月领' }}
|
||||
</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.guaranteedYear }} 年</div>
|
||||
<div v-if="riskItem.receivePensionWay == '0'" class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">
|
||||
{{ riskItem.guaranteedYear }} 年
|
||||
</div>
|
||||
<div v-if="riskItem.receivePensionWay == '0'"
|
||||
class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">
|
||||
{{ riskItem.amt }}
|
||||
</div>
|
||||
<div v-if="riskItem.receivePensionWay == '1'" class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">
|
||||
<div v-if="riskItem.receivePensionWay == '1'"
|
||||
class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">
|
||||
{{ riskItem.amt | fillNumber }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -98,7 +124,8 @@
|
||||
<div class="h20"> </div>
|
||||
</div>
|
||||
<div class="up_down_div">
|
||||
<img src="@/assets/images/proposal/proposal_down.png" :class="pageShowType.productCheckStatus ? '' : 'img180'" @click="testProductCheck" />
|
||||
<img src="@/assets/images/proposal/proposal_down.png"
|
||||
:class="pageShowType.productCheckStatus ? '' : 'img180'" @click="testProductCheck" />
|
||||
</div>
|
||||
</div>
|
||||
<!--保险责任-->
|
||||
@@ -123,9 +150,11 @@
|
||||
</div>
|
||||
<div :class="pageShowType.riskCheckStatus ? '' : 'hideInfo'" class="text-left div_5">
|
||||
<div v-if="pageShowType.dutyShowType == '01'">
|
||||
<div class="div_6 duty_by_duty" v-for="(item, index) in pageShowInfo.showInsuredDTO.riskDTOLst" :key="index">
|
||||
<div class="div_6 duty_by_duty" v-for="(item, index) in pageShowInfo.showInsuredDTO.riskDTOLst"
|
||||
:key="index">
|
||||
<div v-if="item.riskDutySortResult">
|
||||
<div v-for="(subItem3, subIndex3) in getObjectKeys(item.riskDutySortResult)" :key="subIndex3"></div>
|
||||
<div v-for="(subItem3, subIndex3) in getObjectKeys(item.riskDutySortResult)"
|
||||
:key="subIndex3"></div>
|
||||
</div>
|
||||
<div class="fw600 fs15 color_3A81F6 show_risk_name">
|
||||
{{ item.riskName }}
|
||||
@@ -140,7 +169,8 @@
|
||||
<div class="fs13 color_333333 div_17">
|
||||
<div v-html="initDutyColor(subItem4.dutyStairExplain)"></div>
|
||||
</div>
|
||||
<div class="fs13 color_666666 div_17" v-if="subItem4.dutyDetailExplain && subItem4.dutyDetailExplain != ''">
|
||||
<div class="fs13 color_666666 div_17"
|
||||
v-if="subItem4.dutyDetailExplain && subItem4.dutyDetailExplain != ''">
|
||||
<div v-html="showDutyDetailExplain(subItem4.dutyDetailExplain)"></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -149,7 +179,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="pageShowType.dutyShowType == '00'">
|
||||
<div class="duty_by_duty" v-for="(item, index) in pageShowInfo.showInsuredDTO.dutySortResult" :key="index">
|
||||
<div class="duty_by_duty" v-for="(item, index) in pageShowInfo.showInsuredDTO.dutySortResult"
|
||||
:key="index">
|
||||
<div v-for="(subItem1, subIndex1) in getObjectKeys(item)" :key="subIndex1">
|
||||
<div class="fw600 fs15 color_3A81F6 show_risk_name">
|
||||
{{ subItem1 }}
|
||||
@@ -162,7 +193,8 @@
|
||||
<div class="fs13 div_17 color_333333">
|
||||
<div v-html="initDutyColor(subItem2.dutyStairExplain)"></div>
|
||||
</div>
|
||||
<div class="fs13 div_17 color_666666" v-if="subItem2.dutyDetailExplain && subItem2.dutyDetailExplain != ''">
|
||||
<div class="fs13 div_17 color_666666"
|
||||
v-if="subItem2.dutyDetailExplain && subItem2.dutyDetailExplain != ''">
|
||||
<div v-html="showDutyDetailExplain(subItem2.dutyDetailExplain)"></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -171,7 +203,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="up_down_div">
|
||||
<img src="@/assets/images/proposal/proposal_down.png" :class="pageShowType.riskCheckStatus ? '' : 'img180'" @click="testRiskCheck" />
|
||||
<img src="@/assets/images/proposal/proposal_down.png"
|
||||
:class="pageShowType.riskCheckStatus ? '' : 'img180'" @click="testRiskCheck" />
|
||||
</div>
|
||||
</div>
|
||||
<!--产品条款-->
|
||||
@@ -214,12 +247,14 @@
|
||||
<div class="text-center flex justify-content-e align-items-c fs14 check_age">
|
||||
<div>当被保险人在</div>
|
||||
<div class="check_one flex justify-content-fe align-items-c" @click="popupShow = true">
|
||||
{{ pageShowInfo.showInsuredDTO.checkAge }} <img class="img_10" src="@/assets/images/proposal/proposal_select_down.png" />
|
||||
{{ pageShowInfo.showInsuredDTO.checkAge }} <img class="img_10"
|
||||
src="@/assets/images/proposal/proposal_select_down.png" />
|
||||
</div>
|
||||
<div>岁时</div>
|
||||
</div>
|
||||
<div class="flex justify-content-s align-items-c mt15 mb20 ml15 mr15">
|
||||
<img class="w20" src="@/assets/images/proposal/proposal_lessen.png" @click="reduce(pageShowInfo.showInsuredDTO)" />
|
||||
<img class="w20" src="@/assets/images/proposal/proposal_lessen.png"
|
||||
@click="reduce(pageShowInfo.showInsuredDTO)" />
|
||||
<van-slider
|
||||
class="w220"
|
||||
active-color="#9EC2FC"
|
||||
@@ -231,7 +266,8 @@
|
||||
>
|
||||
<div slot="button" class="customer_button"></div>
|
||||
</van-slider>
|
||||
<img class="w20" src="@/assets/images/proposal/proposal_add.png" @click="exhibitionAdd(pageShowInfo.showInsuredDTO)" />
|
||||
<img class="w20" src="@/assets/images/proposal/proposal_add.png"
|
||||
@click="exhibitionAdd(pageShowInfo.showInsuredDTO)" />
|
||||
</div>
|
||||
<select-radio
|
||||
class="mb10"
|
||||
@@ -246,7 +282,7 @@
|
||||
<!-- 国富人寿富贵尊享终身寿险(分红型)添加利益演示提示 -->
|
||||
<div v-if="mainRiskCodes.includes('GFRS_M0095')" class="fs13 div_11 text-left">
|
||||
<b
|
||||
>本利益演示基于公司的精算及其他假设,不代表公司的历史经营业绩,也不代表对公司未来经营业绩的预期,保单的红利分配是不确定的,红利水平是不保证的,在某些年度红利可能为零。
|
||||
>本利益演示基于公司的精算及其他假设,不代表公司的历史经营业绩,也不代表对公司未来经营业绩的预期,保单的红利分配是不确定的,红利水平是不保证的,在某些年度红利可能为零。
|
||||
</b>
|
||||
</div>
|
||||
<div class="div_10"></div>
|
||||
@@ -273,7 +309,8 @@
|
||||
</div>
|
||||
<div class="h20"> </div>
|
||||
<div class="up_down_div">
|
||||
<img src="@/assets/images/proposal/proposal_down.png" :class="pageShowType.dutyCheckStatus ? '' : 'img180'" @click="dutyCheck" />
|
||||
<img src="@/assets/images/proposal/proposal_down.png"
|
||||
:class="pageShowType.dutyCheckStatus ? '' : 'img180'" @click="dutyCheck" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -291,17 +328,33 @@
|
||||
</div>
|
||||
<div class="h20"> </div>
|
||||
<div class="up_down_div">
|
||||
<img src="@/assets/images/proposal/proposal_down.png" :class="pageShowType.hesitateCheckStatus ? '' : 'img180'" @click="hesitateCheck" />
|
||||
<img src="@/assets/images/proposal/proposal_down.png"
|
||||
:class="pageShowType.hesitateCheckStatus ? '' : 'img180'" @click="hesitateCheck" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 风险提示 -->
|
||||
<div class="pt15 pb17 bg-white relative" v-if="showDangerInfo">
|
||||
<div :class="pageShowType.hesitateCheckStatus ? '' : 'hideInfo_hesitate'">
|
||||
<div class="fs16 color_3A81F6 lh24 fw600 text-center">风险提示</div>
|
||||
<div class="line_C8DBFB"></div>
|
||||
<div class="fs14 div_height div_11">
|
||||
<b>本产品为分红保险,您可以保单红利的形式享有本产品的盈余分配权,但未来的保单红利为非保证利益,其红利分配是不确定的,在某些年度红利可能为零。</b>
|
||||
</div>
|
||||
<div class="h20"> </div>
|
||||
<div class="up_down_div">
|
||||
<img src="@/assets/images/proposal/proposal_down.png"
|
||||
:class="pageShowType.hesitateCheckStatus ? '' : 'img180'" @click="hesitateCheck" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 温馨提示-->
|
||||
<div class="pt15 pb17 bg-white model_title">
|
||||
<div class="fs16 color_3A81F6 lh24 fw600 text-center">温馨提示</div>
|
||||
<div class="line_C8DBFB"></div>
|
||||
<div class="fs13 div_11">
|
||||
<b> 本资料仅供客户理解产品条款所用,有关产品的说明、解释、承诺或保证,如与产品条款不一致,均以产品条款为准。 </b>
|
||||
<b>
|
||||
本资料仅供客户理解产品条款所用,有关产品的说明、解释、承诺或保证,如与产品条款不一致,均以产品条款为准。 </b>
|
||||
</div>
|
||||
<div class="div_12"></div>
|
||||
</div>
|
||||
@@ -327,7 +380,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<van-popup v-model="popupShow" position="bottom">
|
||||
<van-picker show-toolbar :columns="pageShowInfo.showInsuredDTO.ageColums" @confirm="checkAge" @cancel="popupShow = false" />
|
||||
<van-picker show-toolbar :columns="pageShowInfo.showInsuredDTO.ageColums" @confirm="checkAge"
|
||||
@cancel="popupShow = false" />
|
||||
</van-popup>
|
||||
</div>
|
||||
</div>
|
||||
@@ -341,7 +395,7 @@
|
||||
<!-- 如果没有姓名的话,根据性别展示男士或女士 -->
|
||||
<div class="text-center div_023">
|
||||
尊敬的<span v-if="pageShowInfo.appntDTO.name">{{ pageShowInfo.appntDTO.name.substr(0, 1) }}</span
|
||||
>{{ pageShowInfo.appntDTO.sex == '0' ? '先生' : '女士' }}
|
||||
>{{ pageShowInfo.appntDTO.sex == '0' ? '先生' : '女士' }}
|
||||
</div>
|
||||
</div>
|
||||
<img class="img_13" src="@/assets/images/proposal/proposal_share_bg.png" />
|
||||
@@ -389,6 +443,7 @@ import getAge from '@/assets/js/utils/age.js'
|
||||
import dataDictionary from '@/assets/js/utils/data-dictionary'
|
||||
import riskRules from '../common/risk-rules.js'
|
||||
import { queryPersonal } from '@/api/ebiz/laurelClub/laurelClub'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
let isWeixin = this.$utils.device().isWeixin //判断环境
|
||||
@@ -447,6 +502,13 @@ export default {
|
||||
ispremshow: true // 是否展示保额
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
showDangerInfo() {
|
||||
if (this.pageShowInfo.showInsuredDTO.riskDTOLst) {
|
||||
return this.pageShowInfo.showInsuredDTO.riskDTOLst.some(e => e.riskName.includes('分红型'))
|
||||
}
|
||||
}
|
||||
},
|
||||
filters: {
|
||||
productRateUnit(code) {
|
||||
for (let i = 0; i < dataDictionary.productRateUnit.length; i++) {
|
||||
@@ -514,7 +576,9 @@ export default {
|
||||
this.isCheck = res.result
|
||||
})
|
||||
},
|
||||
created() {},
|
||||
created() {
|
||||
},
|
||||
|
||||
beforeRouteLeave(to, from, next) {
|
||||
document.body.style.backgroundColor = ''
|
||||
next()
|
||||
@@ -805,6 +869,7 @@ export default {
|
||||
item01.mainRiskCode == 'GFRS_M0085' ||
|
||||
item01.mainRiskCode == 'GFRS_M0098' ||
|
||||
item01.mainRiskCode == 'GFRS_M0103' ||
|
||||
item01.mainRiskCode == 'GFRS_M0112' ||
|
||||
item01.mainRiskCode == 'GFRS_M0100'
|
||||
) {
|
||||
that.ispremshow = false
|
||||
@@ -1133,36 +1198,45 @@ export default {
|
||||
<style lang="scss">
|
||||
.proposal-exhibition-container {
|
||||
padding-bottom: 10px;
|
||||
|
||||
.sex-radio {
|
||||
.van-cell-group {
|
||||
background: transparent;
|
||||
|
||||
.van-cell {
|
||||
background: transparent;
|
||||
justify-content: center;
|
||||
|
||||
.van-field__label {
|
||||
width: 0;
|
||||
flex: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ph30 {
|
||||
padding: 0px !important;
|
||||
}
|
||||
}
|
||||
|
||||
&::before {
|
||||
content: '';
|
||||
display: table;
|
||||
}
|
||||
|
||||
width: 100%;
|
||||
background: url('../../../assets/images/proposal/proposal_bg.png') no-repeat;
|
||||
background-color: #f7f7f7;
|
||||
background-size: 100% auto;
|
||||
|
||||
.line-height {
|
||||
line-height: 35px;
|
||||
}
|
||||
|
||||
.lh40 {
|
||||
line-height: 40px;
|
||||
}
|
||||
|
||||
.van-divider {
|
||||
margin: 0 0 15px;
|
||||
}
|
||||
@@ -1171,84 +1245,105 @@ export default {
|
||||
& > div {
|
||||
width: 19%;
|
||||
}
|
||||
|
||||
& > div:last-child {
|
||||
width: 25%;
|
||||
}
|
||||
}
|
||||
|
||||
.wx {
|
||||
img {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
div::-webkit-scrollbar {
|
||||
width: 0;
|
||||
}
|
||||
|
||||
.divbg_1 {
|
||||
/*background-color: #9ec2fc;*/
|
||||
background-color: #f5fbff;
|
||||
}
|
||||
|
||||
.divbg_2 {
|
||||
background-color: none;
|
||||
}
|
||||
|
||||
.hideInfo {
|
||||
height: 140px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.hideInfo_insure {
|
||||
height: 60px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.hideInfo_hesitate {
|
||||
height: 60px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.insured_item {
|
||||
position: absolute;
|
||||
z-index: 98;
|
||||
border-radius: 8px;
|
||||
width: 67px;
|
||||
height: 100px;
|
||||
|
||||
.insured_item_1 {
|
||||
margin: 0px 13.5px 0px 13.5px;
|
||||
padding-top: 9px;
|
||||
|
||||
img {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.color_3A81F6 {
|
||||
color: #3a81f6;
|
||||
}
|
||||
|
||||
.bg_3A81F6 {
|
||||
background-color: #3a81f6;
|
||||
}
|
||||
|
||||
.color_666666 {
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
.color_333333 {
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.color_FFA42F {
|
||||
color: #ffa42f;
|
||||
}
|
||||
|
||||
.lh24 {
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.lh20 {
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
.line_gray {
|
||||
width: 1px;
|
||||
height: 19px;
|
||||
background-color: #999999;
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.sticky_div {
|
||||
width: 100%;
|
||||
overflow-x: auto;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.line_title {
|
||||
border-left: 6px solid #3a81f6;
|
||||
padding-left: 6px;
|
||||
@@ -1256,6 +1351,7 @@ export default {
|
||||
margin-top: 25px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.risk_head {
|
||||
border-top-right-radius: 6px;
|
||||
border-top-left-radius: 6px;
|
||||
@@ -1265,43 +1361,53 @@ export default {
|
||||
border: 1px solid #acc5e6;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
.risk_body {
|
||||
border: 1px solid #acc5e6;
|
||||
border-top: 0px;
|
||||
margin: 0px 10px;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
.risk_body_last {
|
||||
border-bottom-right-radius: 6px;
|
||||
border-bottom-left-radius: 6px;
|
||||
}
|
||||
|
||||
.up_down_div {
|
||||
z-index: 2;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 24px;
|
||||
left: 0;
|
||||
bottom: -12px;
|
||||
text-align: center;
|
||||
|
||||
img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
.img180 {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
}
|
||||
|
||||
.model_title {
|
||||
margin: 29px 15px;
|
||||
padding-top: 15px;
|
||||
border-radius: 5px;
|
||||
|
||||
.cheeck_risk_type_left {
|
||||
border-bottom-left-radius: 15px;
|
||||
border-top-left-radius: 15px;
|
||||
}
|
||||
|
||||
.cheeck_risk_type_right {
|
||||
border-bottom-right-radius: 15px;
|
||||
border-top-right-radius: 15px;
|
||||
}
|
||||
|
||||
.checked_risk_type {
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
@@ -1310,6 +1416,7 @@ export default {
|
||||
padding: 0px 25px;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.no_check_risk_type {
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
@@ -1319,15 +1426,18 @@ export default {
|
||||
padding: 0px 25px;
|
||||
}
|
||||
}
|
||||
|
||||
.line_C8DBFB {
|
||||
height: 1px;
|
||||
margin: 17px;
|
||||
border-top: 1px dashed #c8dbfb;
|
||||
}
|
||||
|
||||
.calue_name {
|
||||
width: 80%;
|
||||
text-align: left !important;
|
||||
}
|
||||
|
||||
.calue_button {
|
||||
width: 20%;
|
||||
height: 26px;
|
||||
@@ -1339,12 +1449,14 @@ export default {
|
||||
margin-bottom: 5px;
|
||||
color: #3a81f6;
|
||||
}
|
||||
|
||||
.customer_button {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
border-radius: 10px;
|
||||
background-color: #3a81f6;
|
||||
}
|
||||
|
||||
.last_fix_div {
|
||||
bottom: 0px;
|
||||
left: 0px;
|
||||
@@ -1353,10 +1465,12 @@ export default {
|
||||
line-height: 40px;
|
||||
box-shadow: 0px 0px 10px 5px #aaa;
|
||||
z-index: 999;
|
||||
|
||||
div {
|
||||
width: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
.fix_bottom {
|
||||
position: fixed;
|
||||
height: 40px;
|
||||
@@ -1369,42 +1483,51 @@ export default {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
.fix_bottom_sub {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
margin: 10px;
|
||||
font-size: 14px;
|
||||
|
||||
img {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
div {
|
||||
padding-left: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.table_border {
|
||||
border-left: 1px solid #acc5e6;
|
||||
}
|
||||
|
||||
.title_item {
|
||||
height: 115px;
|
||||
}
|
||||
|
||||
.lh_30 {
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.check_age {
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
width: 15em;
|
||||
margin: 5px auto;
|
||||
|
||||
.check_one {
|
||||
border-bottom: 1px solid gray;
|
||||
width: 5em;
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
|
||||
.show_risk_name {
|
||||
border-left: 5px solid #3a81f6;
|
||||
padding-left: 7px;
|
||||
@@ -1413,6 +1536,7 @@ export default {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.duty_by_duty {
|
||||
.head_radis {
|
||||
width: 6px;
|
||||
@@ -1420,72 +1544,89 @@ export default {
|
||||
background-color: black;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
.title_2 {
|
||||
padding-left: 5px;
|
||||
line-height: 25px;
|
||||
}
|
||||
|
||||
.content_1 {
|
||||
padding-left: 23px;
|
||||
line-height: 25px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.div_1 {
|
||||
margin-top: 13px;
|
||||
margin-left: 14px;
|
||||
}
|
||||
|
||||
.div_2 {
|
||||
margin-top: 37px;
|
||||
margin-left: 17px;
|
||||
}
|
||||
|
||||
.div_3 {
|
||||
border-radius: 5px;
|
||||
margin: 7px 15px 14px 15px;
|
||||
}
|
||||
|
||||
.div_4 {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.div_5 {
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
.div_6 {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.div_7 {
|
||||
padding-left: 12px;
|
||||
padding-right: 12px;
|
||||
}
|
||||
|
||||
.div_8 {
|
||||
line-height: 25px;
|
||||
}
|
||||
|
||||
.div_9 {
|
||||
padding-top: 30px;
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
}
|
||||
|
||||
.img_10 {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
.div_10 {
|
||||
padding-top: 10px;
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
}
|
||||
|
||||
.div_11 {
|
||||
padding: 10px 13px;
|
||||
}
|
||||
|
||||
.div_12 {
|
||||
padding-top: 20px;
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
}
|
||||
|
||||
.div_13 {
|
||||
right: 0px;
|
||||
top: 40%;
|
||||
width: 30px;
|
||||
/*width: 23px;*/
|
||||
}
|
||||
|
||||
.img_11 {
|
||||
width: 22px;
|
||||
height: 80px;
|
||||
@@ -1495,6 +1636,7 @@ export default {
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.img_12 {
|
||||
width: 22px;
|
||||
height: 80px;
|
||||
@@ -1505,14 +1647,17 @@ export default {
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.div_14 {
|
||||
height: 40px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.shadow {
|
||||
//box-shadow: 2px 2px 2px 3px #3b72f9;
|
||||
box-shadow: 0 0 4px #3b72f9;
|
||||
}
|
||||
|
||||
.triangle {
|
||||
border-left: 10px solid transparent;
|
||||
border-right: 10px solid transparent;
|
||||
@@ -1523,6 +1668,7 @@ export default {
|
||||
z-index: 99;
|
||||
margin-left: -10px;
|
||||
}
|
||||
|
||||
.triangle_shadow {
|
||||
border-left: 10px solid transparent;
|
||||
border-right: 10px solid transparent;
|
||||
@@ -1534,16 +1680,20 @@ export default {
|
||||
z-index: 96;
|
||||
filter: blur(2px);
|
||||
}
|
||||
|
||||
.sub_insure_item {
|
||||
width: 67px;
|
||||
height: 105px;
|
||||
}
|
||||
|
||||
.bg_f7fbff {
|
||||
background-color: #f5fbff;
|
||||
}
|
||||
|
||||
.bg_DBEFFE {
|
||||
background-color: #dbeffe;
|
||||
}
|
||||
|
||||
.div_16 {
|
||||
border-bottom: 1px solid #edeef0;
|
||||
margin-left: 12px;
|
||||
@@ -1551,61 +1701,75 @@ export default {
|
||||
padding-bottom: 10px;
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
.div_17 {
|
||||
padding-left: 11px;
|
||||
line-height: 25px;
|
||||
}
|
||||
|
||||
.img_13 {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.img_14 {
|
||||
width: 200px;
|
||||
height: 70px;
|
||||
}
|
||||
|
||||
.img_15 {
|
||||
margin-left: 18px;
|
||||
width: 142px;
|
||||
height: 27px;
|
||||
}
|
||||
|
||||
.share_content {
|
||||
height: 100vh;
|
||||
|
||||
.div_01 {
|
||||
width: 100%;
|
||||
height: 43px;
|
||||
padding-top: 16px;
|
||||
}
|
||||
|
||||
.div_02 {
|
||||
width: 100%;
|
||||
height: 497px;
|
||||
position: relative;
|
||||
|
||||
.div_021 {
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
left: 0px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.div_022 {
|
||||
font-size: 25px;
|
||||
}
|
||||
|
||||
.div_023 {
|
||||
font-size: 16px;
|
||||
margin-top: 28px;
|
||||
color: #073190;
|
||||
}
|
||||
}
|
||||
|
||||
.div_03 {
|
||||
color: #666666;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
}
|
||||
|
||||
.div_last {
|
||||
line-height: 20px;
|
||||
margin: 5px 0px;
|
||||
}
|
||||
|
||||
.div_height {
|
||||
line-height: 24px;
|
||||
}
|
||||
|
||||
.van-button::before {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
|
||||
@@ -141,6 +141,7 @@
|
||||
</div>
|
||||
<van-field
|
||||
v-model="userInfo.yearSalary"
|
||||
v-if="Number(branchType) !== 14"
|
||||
label="平均年收入(万元)"
|
||||
name="平均年收入"
|
||||
required
|
||||
@@ -356,7 +357,8 @@ export default {
|
||||
isInsured: false, //是投保人本人,
|
||||
Insured: false, //投保人本人按钮是否置灰
|
||||
idLimit: false, //证件起止日期是否只读
|
||||
saleInsuredPersonInfo: JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')) //被保人信息
|
||||
saleInsuredPersonInfo: JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')), //被保人信息
|
||||
branchType:''
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -366,6 +368,9 @@ export default {
|
||||
} else {
|
||||
this.Insured = false
|
||||
}
|
||||
if(window.localStorage.getItem('branchType') || this.$route.query.branchType) {
|
||||
this.branchType = window.localStorage.getItem('branchType')
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
setCustomerMarriage(marriageCode) {
|
||||
@@ -1319,6 +1324,13 @@ export default {
|
||||
this.userInfo.certiexpiredate = String(Number(this.userInfo.certificateValidate.slice(0, 4)) + 16) + this.userInfo.certificateValidate.slice(4, 11)
|
||||
}
|
||||
}
|
||||
if (idToData(val).age < 18) {
|
||||
this.userInfo.marriageStatus = this.branchType == '14' ? '未婚' : this.userInfo.marriageStatus
|
||||
this.userInfo.marriage = this.branchType == '14' ? 2 : this.userInfo.marriage
|
||||
}else{
|
||||
this.userInfo.marriageStatus = this.branchType == '14' ? '' : this.userInfo.marriageStatus
|
||||
this.userInfo.marriage = this.branchType == '14' ? null : this.userInfo.marriage
|
||||
}
|
||||
|
||||
//受益人证件类型如果是户口本时,证件截止日期证件截止日期应为第16周岁的生日日期。
|
||||
// if(this.userInfo.idType == '2' && idToData(this.userInfo.idNo).age <16){
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
<!-- 保单信息 -->
|
||||
<van-collapse-item title="投保单信息" name="1" class="pb10 pt10">
|
||||
<van-cell-group>
|
||||
<van-cell title="网点名称" :value="branchName" v-if="branchType == 14"/>
|
||||
<van-cell title="投保单号" :value="OrderInfoDTO.orderNo" />
|
||||
<van-cell title="投保日期" :value="OrderInfoDTO.appntDateLabel" />
|
||||
<van-cell title="订单状态" :value="OrderInfoDTO.orderStatus | orderStatusFilter" />
|
||||
@@ -114,6 +115,9 @@ import { getDetail } from '@/api/ebiz/sale/sale'
|
||||
import { formatAllRisk } from '@/assets/js/utils/formatRiskList'
|
||||
import dataDictionary from '@/assets/js/utils/data-dictionary'
|
||||
import { getQuestionList } from '@/api/ebiz/questions'
|
||||
import { getAgentInfo } from '@/api/ebiz/my/my'
|
||||
import { getCheckModelAgentInfo } from '@/api/ebiz/common/common'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -132,17 +136,19 @@ export default {
|
||||
contNo: '',
|
||||
list: [],
|
||||
reason: '',
|
||||
problemList: []
|
||||
problemList: [],
|
||||
branchName: '',
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getAgentInfo()
|
||||
// 获取保单详情
|
||||
this.getPolicyDetail()
|
||||
},
|
||||
mounted() {
|
||||
if(window.localStorage.getItem('branchType') == '13') {
|
||||
this.branchType = '13'
|
||||
}
|
||||
}
|
||||
},
|
||||
components: {
|
||||
[Collapse.name]: Collapse,
|
||||
@@ -152,6 +158,19 @@ export default {
|
||||
[Button.name]: Button
|
||||
},
|
||||
methods: {
|
||||
async getAgentInfo() {
|
||||
const result = await getAgentInfo({})
|
||||
if (result.result == '0') {
|
||||
this.branchType = result.branchType || window.localStorage.getItem('branchType')
|
||||
if (this.branchType == '14') {
|
||||
// 网点名称
|
||||
const res = await getCheckModelAgentInfo({})
|
||||
if (res.result == 0) {
|
||||
this.branchName = res.comName
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
// 获取保单详情
|
||||
async getPolicyDetail() {
|
||||
let data = {
|
||||
|
||||
@@ -12,6 +12,12 @@
|
||||
<van-field v-model="projectDTO.personCode" label="录单人工号" name="录单人工号" readonly placeholder="请输入"/>
|
||||
<van-field v-model="projectDTO.leaderCode" label="出单人工号" name="出单人工号" readonly placeholder="请输入"/>
|
||||
<!-- <van-field :value="projectDTO.departmentName" @click="toSelect('GBCKS')" readonly required label="部门/科室" name="部门/科室" right-icon="arrow" placeholder="请选择"/>-->
|
||||
</van-cell-group>
|
||||
<!-- 保单信息 -->
|
||||
<van-cell-group :border="false" v-if="branchType == 14">
|
||||
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 mt10 pv12">保单信息</p>
|
||||
<van-field v-model="insureInfo.branchName" label="网点名称" name="网点名称" readonly placeholder="请输入"/>
|
||||
<van-field v-model="insureInfo.orderNo" label="投保单号" name="投保单号" readonly placeholder="请输入"/>
|
||||
</van-cell-group>
|
||||
<van-cell-group class="mt10">
|
||||
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">基本信息</p>
|
||||
@@ -136,14 +142,18 @@
|
||||
v-validate="'required|mobileLength11|mobileStartWith1|mobile'"
|
||||
maxlength="11"
|
||||
/>
|
||||
<van-field
|
||||
<div class="no-border">
|
||||
<van-field
|
||||
v-model="userInfo.email"
|
||||
required
|
||||
:required="Number(branchType)!==14"
|
||||
label="电子邮箱"
|
||||
name="电子邮箱"
|
||||
placeholder="请输入"
|
||||
v-validate="'required|email'"
|
||||
v-validate="Number(branchType) !== 14 ? 'required|' : '' +'|email'"
|
||||
clearable />
|
||||
</div>
|
||||
|
||||
<p class="email-tip" v-if="branchType == '14'">用于接收电子保单及相关服务通知</p>
|
||||
<van-field
|
||||
v-model="userInfo.stature"
|
||||
label="身高(cm)"
|
||||
@@ -214,7 +224,7 @@
|
||||
v-validate="'required'"
|
||||
@click="toSelect('3')"
|
||||
/> -->
|
||||
<select-radio :radios="medicalRadio" v-validate="'required'" label="有无社保" name="有无社保" required :value.sync="userInfo.medical"></select-radio>
|
||||
<select-radio v-if="Number(branchType)!==14" :radios="medicalRadio" v-validate="'required'" label="有无社保" name="有无社保" required :value.sync="userInfo.medical"></select-radio>
|
||||
<van-field
|
||||
:value="userInfo.taxResidentId | idToText('taxIdentity')"
|
||||
readonly
|
||||
@@ -252,6 +262,7 @@
|
||||
placeholder="请选择"
|
||||
v-validate="'required'"
|
||||
@click="toSelect('8')"
|
||||
v-if="branchType != '14'"
|
||||
/>
|
||||
<van-field
|
||||
v-show="isShowOthenSalarySource"
|
||||
@@ -281,6 +292,7 @@
|
||||
v-validate="'required|onlyNumber'"
|
||||
clearable
|
||||
maxlength="5"
|
||||
v-if="branchType != '14'"
|
||||
>
|
||||
<div slot="label" class="flex flex-wrap">
|
||||
<span>负债金额</span>
|
||||
@@ -321,7 +333,7 @@
|
||||
v-validate="'required'"
|
||||
@click="toSelect('9')"
|
||||
/> -->
|
||||
<select-radio required :radios="Asyncs" label="是否协同工作单位" name="是否协同工作单位" v-validate="'required'" :value.sync="userInfo.isAsync"></select-radio>
|
||||
<select-radio required :radios="Asyncs" label="是否协同工作单位" name="是否协同工作单位" v-validate="'required'" :value.sync="userInfo.isAsync" v-if="branchType != '14'"></select-radio>
|
||||
<SearchField
|
||||
:isAsync="userInfo.isAsync == 1"
|
||||
@workcompanys="workcompanys"
|
||||
@@ -330,6 +342,7 @@
|
||||
placeholder="无工作单位,请输入无"
|
||||
v-validate="'required'"
|
||||
name="工作单位"
|
||||
v-if="branchType != '14'"
|
||||
/>
|
||||
<!-- <van-field
|
||||
v-model="areaName"
|
||||
@@ -402,7 +415,11 @@
|
||||
<!-- <van-field v-model="userInfo.homeZip" required label="邮编" name="邮编" placeholder="请输入" v-validate="'required|zipCode'" maxlength="6" clearable /> -->
|
||||
<!-- <van-field v-model="userInfo.homePhone" label="家庭电话" name="家庭电话" placeholder="非必填" maxlength="13" clearable /> -->
|
||||
</van-cell-group>
|
||||
<van-button type="danger" class="bottom-btn" @click="nextStep" v-no-more-click="1000">下一步</van-button>
|
||||
<div class="bottom-btn flex">
|
||||
<van-button color="#E9332E" plain v-no-more-click="1000" @click="generateInsureNo" v-if="branchType == '14'">生成投保单号</van-button>
|
||||
<van-button type="danger" @click="nextStep" v-no-more-click="1000" class="flex1">下一步</van-button>
|
||||
</div>
|
||||
<!-- <van-button type="danger" class="bottom-btn" @click="nextStep" v-no-more-click="1000">下一步</van-button> -->
|
||||
|
||||
<!-- 字段选择 -->
|
||||
<van-popup v-model="popupShow" position="bottom"><van-picker show-toolbar :columns="columns" @confirm="onConfirm" @cancel="popupShow = false" /></van-popup>
|
||||
@@ -442,6 +459,52 @@
|
||||
<van-button type="danger" block style="font-size: 14px;" @click="thisdoubledialogfunc">确定</van-button>
|
||||
</div>
|
||||
</van-dialog>
|
||||
<van-dialog v-model="insureNoshow" :showConfirmButton="false">
|
||||
<div slot="title">
|
||||
<p style="color: #e9332e">生成投保单号</p>
|
||||
</div>
|
||||
<div style="padding: 20px 15px 30px; font-size: 14px" v-if="!insureInfo.orderNo">
|
||||
<div style="line-height: 25px">请您输入证件号码,输入完成后系统将自动生成投保单号</div>
|
||||
<van-field
|
||||
:value="insuredDialogInfo.idType | idToText('insuredIdType')"
|
||||
v-validate="'required'"
|
||||
readonly
|
||||
required
|
||||
label="证件类型"
|
||||
name="证件类型"
|
||||
right-icon="arrow"
|
||||
placeholder="请选择"
|
||||
@click="toSelect('dialogInsuredIdType')"
|
||||
/>
|
||||
<van-field
|
||||
v-model="insuredDialogInfo.idNo"
|
||||
maxlength="18"
|
||||
required
|
||||
label="证件号码"
|
||||
v-validate="'required'"
|
||||
name="证件号码"
|
||||
placeholder="请输入投保人证件号码"
|
||||
clearable
|
||||
@blur="idNoVerification(insuredDialogInfo.idNo)"
|
||||
>
|
||||
</van-field>
|
||||
</div>
|
||||
<div style="padding: 20px 15px 30px; font-size: 14px" v-if="insureInfo.orderNo">
|
||||
<div style="line-height: 25px">根据您输入的证件号码,我们己为您生成投保单号</div>
|
||||
<div style="line-height: 25px">{{ insureInfo.orderNo }}</div>
|
||||
</div>
|
||||
<div style="text-align: center; margin-bottom: 30px">
|
||||
<van-button round type="danger" size="small" style="padding: 0px 35px; font-size: 14px;margin-right: 30px;" @click="insureBack()" v-if="!insureInfo.orderNo"
|
||||
>退出</van-button
|
||||
>
|
||||
<van-button round type="danger" size="small" style="padding: 0px 35px; font-size: 14px" @click="insureConfirm()" v-if="!insureInfo.orderNo"
|
||||
>确定</van-button
|
||||
>
|
||||
<van-button round type="danger" size="small" style="padding: 0px 35px; font-size: 14px" @click="insureNoCompleted()" v-if="insureInfo.orderNo"
|
||||
>完成</van-button
|
||||
>
|
||||
</div>
|
||||
</van-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
@@ -466,6 +529,8 @@
|
||||
import SearchField from '@/components/common/SearchField'
|
||||
import riskRules from '@/views/ebiz/common/risk-rules'
|
||||
import { gbcProjectDetail, getDepartmentByProjectNo } from '@/api/GBC/GBC'
|
||||
import { getCheckModelAgentInfo } from '@/api/ebiz/common/common'
|
||||
import { getAgentInfo } from '@/api/ebiz/my/my'
|
||||
|
||||
export default {
|
||||
name: 'insuredInfo',
|
||||
@@ -624,10 +689,19 @@
|
||||
salePageFlag: '1',
|
||||
userWorkcompanys: [], //单位数据
|
||||
manageComCode:'',//代理人管理机构 52贵州 45广西
|
||||
areaValue:'' //代理人管理机构--省级编号
|
||||
areaValue:'', //代理人管理机构--省级编号
|
||||
insureNoshow: false, // 生成保单弹窗
|
||||
insureInfo: {
|
||||
branchName: '',
|
||||
orderNo: '',
|
||||
},
|
||||
insuredDialogInfo: {
|
||||
idType:'',
|
||||
idNo:'',
|
||||
},
|
||||
}
|
||||
},
|
||||
created() {
|
||||
async created() {
|
||||
this.specilFlag = this.$route.query.specilFlag
|
||||
localStorage.removeItem('bankCardUrlPath')
|
||||
localStorage.removeItem('bankCard')
|
||||
@@ -637,7 +711,10 @@
|
||||
localStorage.removeItem('imgfrontInsuredPath')
|
||||
localStorage.removeItem('imgBackPath')
|
||||
localStorage.removeItem('imgBackInsuredPath')
|
||||
|
||||
if(window.localStorage.getItem('branchType')){
|
||||
localStorage.removeItem('branchType')
|
||||
}
|
||||
await this.getAgentInfo()
|
||||
// document.body.style.backgroundColor = '#F5F5F5'
|
||||
//如果是编辑/导航进来
|
||||
// this.isElecCont = '0'
|
||||
@@ -648,6 +725,8 @@
|
||||
this.renovate = new Date().getTime()
|
||||
//投保人信息返显
|
||||
this.userInfo = res.orderDTO.appntDTO
|
||||
// 保单信息-投保单号返显
|
||||
this.insureInfo.orderNo = this.userInfo.orderNo || ''
|
||||
this.setCustomerMarriage(res.orderDTO.appntDTO.marriage)
|
||||
//是否长期
|
||||
this.userInfo.effectiveDateType = res.orderDTO.appntDTO.effectiveDateType == 'false' ? false : true
|
||||
@@ -705,6 +784,7 @@
|
||||
}
|
||||
},
|
||||
async mounted() {
|
||||
|
||||
setTimeout(() => {
|
||||
// eslint-disable-next-line no-undef
|
||||
EWebBridge.webCallAppInJs('webview_left_button', {
|
||||
@@ -738,6 +818,84 @@
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async getAgentInfo() {
|
||||
const result = await getAgentInfo({})
|
||||
if (result.result === '0') {
|
||||
this.branchType = result.branchType
|
||||
localStorage.setItem('branchType', this.branchType)
|
||||
if(this.branchType == '14'){
|
||||
this.userInfo.isAsync = this.branchType == '14' ? null : 0
|
||||
// 网点名称
|
||||
const userInfo = await getCheckModelAgentInfo({})
|
||||
if(userInfo.result == 0) {
|
||||
this.insureInfo.branchName = userInfo.comName
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
idNoVerification(val) {
|
||||
if (this.insuredDialogInfo.idType == '1') {
|
||||
if (!idNoCheck.isIdno(val)) {
|
||||
this.insuredDialogInfo.idNo = ""
|
||||
return this.$toast('您填写的证件号码有误')
|
||||
}
|
||||
}
|
||||
},
|
||||
generatePolicyNo(){
|
||||
let params = {
|
||||
orderType: 'ORDER_NO',
|
||||
orderDTO: {
|
||||
orderInfoDTO: {
|
||||
orderNo: this.$route.query.orderNo,
|
||||
isElecCont: this.isElecCont
|
||||
},
|
||||
appntDTO: {}
|
||||
}
|
||||
}
|
||||
params.orderDTO.appntDTO.idType = this.insuredDialogInfo.idType
|
||||
params.orderDTO.appntDTO.idNo = this.insuredDialogInfo.idNo
|
||||
saveOrUpdateOrderInfo(params).then((res) => {
|
||||
if (res.result == 0) {
|
||||
this.insureInfo.orderNo = res.orderNo
|
||||
this.insureNoshow = true
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
// 生成保单号完成按钮
|
||||
insureNoCompleted(){
|
||||
this.insureNoshow = false
|
||||
this.userInfo.idNo = this.insuredDialogInfo.idNo
|
||||
this.getRelatedData(this.userInfo.idNo, 1)
|
||||
},
|
||||
// 生成保单号退出按钮
|
||||
insureBack(){
|
||||
this.insureNoshow = false
|
||||
// 清空弹窗中的输入信息
|
||||
this.insuredDialogInfo.idType = ''
|
||||
this.insuredDialogInfo.idNo = ''
|
||||
// 清空已生成的投保单号
|
||||
this.insureInfo.orderNo = ''
|
||||
},
|
||||
// 生成保单号确认按钮
|
||||
insureConfirm(){
|
||||
if(!this.insuredDialogInfo.idNo) {
|
||||
return this.$toast('请输入投保人证件号码!')
|
||||
} else {
|
||||
this.generatePolicyNo()
|
||||
}
|
||||
},
|
||||
// 生成保单号
|
||||
generateInsureNo(){
|
||||
this.insuredDialogInfo.idType = this.userInfo.idType
|
||||
this.insuredDialogInfo.idNo = this.userInfo.idNo
|
||||
if (this.userInfo.idType && this.userInfo.idNo && !this.insureInfo.orderNo){
|
||||
this.generatePolicyNo()
|
||||
} else{
|
||||
this.insureNoshow = true
|
||||
}
|
||||
},
|
||||
getDepartmentByProjectNo(){
|
||||
let params = {
|
||||
|
||||
@@ -904,6 +1062,8 @@
|
||||
case 'GBCKS':
|
||||
this.columns = this.departmentList
|
||||
break
|
||||
case 'dialogInsuredIdType':
|
||||
this.columns = DataDictionary.insuredIdType
|
||||
}
|
||||
|
||||
// if (pickerType == '1') {
|
||||
@@ -990,6 +1150,9 @@
|
||||
} else if (this.pickerType === 'GBCKS') {
|
||||
this.projectDTO.departmentCode = value.id
|
||||
this.projectDTO.departmentName = value.text
|
||||
} else if (this.pickerType == 'dialogInsuredIdType') {
|
||||
this.insuredDialogInfo.idNo = ''
|
||||
this.insuredDialogInfo.idType = value.id
|
||||
}
|
||||
},
|
||||
//证件起始截止日期
|
||||
@@ -1054,7 +1217,7 @@
|
||||
this.effectiveDateTypeAble = !(age > 45)
|
||||
}
|
||||
//年龄18周岁,工作单位默认值为‘无’
|
||||
if (age < 18) {
|
||||
if (age < 18 && this.branchType != '14') {
|
||||
this.userInfo.workcompany = this.userInfo.workcompany || '无'
|
||||
}
|
||||
if (this.userInfo.certificateValidate && !this.userInfo.certiexpiredate) {
|
||||
@@ -1093,7 +1256,7 @@
|
||||
}
|
||||
this.userInfo.occupationCode = data.occupationCode //职业类别编码
|
||||
this.userInfo.occupationName = data.occupationName //职业类别名称
|
||||
this.userInfo.salarySource = data.salarySource //收入来源
|
||||
this.userInfo.salarySource = this.branchType == '14' ? '' : data.salarySource //收入来源
|
||||
this.userInfo.otherSalarySource = data.otherSalarySource // 其他收入来源
|
||||
this.userInfo.lifeGrade = data.lifeGrade //寿险等级
|
||||
this.userInfo.healthGrade = data.healthGrade //健康等级
|
||||
@@ -1104,12 +1267,12 @@
|
||||
this.userInfo.medical = data.socialSecurity //有无社保
|
||||
this.userInfo.taxResidentId = data.residentStatus //税收居民身份
|
||||
this.userInfo.averageAnnualIncome = data.averageYearlyIncome //平均年收入
|
||||
this.userInfo.workcompany = this.specilFlag == '1' ? '' : data.workUnits //工作单位
|
||||
this.userInfo.workcompany = this.branchType == '14' ? '' : this.specilFlag == '1' ? '' : data.workUnits //工作单位
|
||||
// this.userInfo.jobStatus = data.jobStatus //工作情况
|
||||
this.setCustomerMarriage(data.marryStatus)
|
||||
// this.userInfo.familyAnnualIncome = data.familyAnnualIncome //家庭年收入
|
||||
this.userInfo.email = data.email //电子邮箱
|
||||
this.userInfo.liabilitiesMoney = data.liabilitiesMoney //负债金额
|
||||
this.userInfo.liabilitiesMoney = this.branchType == '14' ? '' : data.liabilitiesMoney //负债金额
|
||||
// this.userInfo.companyProvince = data.companyProvince //单位省
|
||||
// this.userInfo.companyCity = data.companyCity //单位市
|
||||
// this.userInfo.companyArea = data.companyArea //单位区
|
||||
@@ -1160,6 +1323,9 @@
|
||||
// }
|
||||
// .then(valid => {
|
||||
if (true === valid) {
|
||||
if(this.branchType == "14" &&!this.insureInfo.orderNo){
|
||||
return this.$toast('投保单号不能为空,请先生成投保单号~')
|
||||
}
|
||||
localStorage.chooseProductCodesNew = localStorage.chooseProductCodes
|
||||
// 计算年龄
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
@@ -1308,11 +1474,11 @@
|
||||
// this.userInfo.occupationCode == '8000001'
|
||||
// ) {
|
||||
// }
|
||||
if (!this.userInfo.workcompany) {
|
||||
if (!this.userInfo.workcompany && this.branchType != '14') {
|
||||
this.userInfo.workcompany = '无'
|
||||
}
|
||||
|
||||
if (this.userInfo.salarySource == '4') {
|
||||
if (this.userInfo.salarySource == '4' && this.branchType != '14') {
|
||||
if (!this.userInfo.otherSalarySource) {
|
||||
return this.$toast('请输入其它收入来源')
|
||||
}
|
||||
@@ -1390,7 +1556,7 @@
|
||||
return this.$toast('亲,国籍为外籍,证件类型必须为护照或外国人永久居留身份证投保')
|
||||
}
|
||||
}
|
||||
if (this.userInfo.isAsync == 1) {
|
||||
if (this.userInfo.isAsync == 1 && this.branchType != '14') {
|
||||
if (
|
||||
!this.userWorkcompanys.some((item) => {
|
||||
return item.asscompanies == this.userInfo.workcompany
|
||||
@@ -1452,10 +1618,13 @@
|
||||
orderType: 'APPNT_ORDER',
|
||||
orderDTO: {
|
||||
orderInfoDTO: {
|
||||
orderNo: this.$route.query.orderNo,
|
||||
orderNo: this.$route.query.orderNo ? this.$route.query.orderNo : this.branchType=="14" && this.insureInfo.orderNo ? this.insureInfo.orderNo : null,
|
||||
isElecCont: this.isElecCont
|
||||
},
|
||||
appntDTO: {}
|
||||
appntDTO: {},
|
||||
userModel: {
|
||||
branchType: this.branchType
|
||||
}
|
||||
}
|
||||
}
|
||||
this.thismystr = ''
|
||||
@@ -1513,10 +1682,10 @@
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + `/#/sale/insuredPerson?${this.thismystr}` + '&orderNo=' + this.thismyorderNo,
|
||||
url: location.origin + `/#/sale/insuredPerson?${this.thismystr}` + '&orderNo=' + this.thismyorderNo + '&branchType=' + this.branchType,
|
||||
},
|
||||
routerInfo: {
|
||||
path: `/sale/insuredPerson?${this.thismystr}` + '&orderNo=' + this.thismyorderNo,
|
||||
path: `/sale/insuredPerson?${this.thismystr}` + '&orderNo=' + this.thismyorderNo + '&branchType=' + this.branchType,
|
||||
},
|
||||
})
|
||||
},
|
||||
@@ -1613,7 +1782,7 @@
|
||||
this.userInfo.birthday = idToData(val).birthday
|
||||
this.userInfo.sex = idToData(val).sex
|
||||
//年龄小于18周岁,工作单位默认值为‘无’
|
||||
if (idToData(val).age < 18) {
|
||||
if (idToData(val).age < 18 && this.branchType != '14') {
|
||||
this.userInfo.workcompany = this.userInfo.workcompany || '无'
|
||||
}
|
||||
if (idToData(val).age > 45) {
|
||||
@@ -1660,4 +1829,16 @@
|
||||
margin-top: 45px;line-height: 24px;text-indent: 2em;letter-spacing: 1px;padding: 2px 10px;
|
||||
}
|
||||
}
|
||||
.no-border {
|
||||
/deep/.van-cell {
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
.email-tip {
|
||||
color: #999;
|
||||
margin: 0 0 10px 20px;
|
||||
padding: 5px 0 10px 85px;
|
||||
border-bottom: 1px solid #eee;
|
||||
font-size: 14px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -170,24 +170,26 @@
|
||||
:readonly="isAppnt"
|
||||
/> -->
|
||||
<van-field
|
||||
v-if="Number(branchType)!==14"
|
||||
v-model="userInfo.stature"
|
||||
label="身高(cm)"
|
||||
name="身高"
|
||||
required
|
||||
placeholder="请输入,单位cm"
|
||||
v-validate="'required|onlyNumber|stature'"
|
||||
v-validate="Number(branchType)!==14? '' :'required|' + 'onlyNumber|stature'"
|
||||
clearable
|
||||
maxlength="5"
|
||||
:readonly="isAppnt"
|
||||
@blur="checkStature(userInfo.stature)"
|
||||
/>
|
||||
<van-field
|
||||
v-if="Number(branchType)!==14"
|
||||
v-model="userInfo.avoirdupois"
|
||||
label="体重(kg)"
|
||||
name="体重"
|
||||
required
|
||||
placeholder="请输入,单位kg"
|
||||
v-validate="'required|onlyNumber'"
|
||||
v-validate="Number(branchType)!==14? '' :'required|' +'required|onlyNumber'"
|
||||
clearable
|
||||
:readonly="isAppnt"
|
||||
@blur="checkAvoirdupois(userInfo.avoirdupois)"
|
||||
@@ -231,6 +233,7 @@
|
||||
@click="toSelect('3')"
|
||||
/> -->
|
||||
<select-radio
|
||||
v-if="Number(branchType) !== 14"
|
||||
:radios="medicalRadio"
|
||||
label="有无社保"
|
||||
name="有无社保"
|
||||
@@ -276,6 +279,7 @@
|
||||
placeholder="请选择"
|
||||
v-validate="'required'"
|
||||
@click="toSelect('9')"
|
||||
v-if="branchType != '14'"
|
||||
/>
|
||||
<van-field
|
||||
v-show="isShowOthenSalarySource"
|
||||
@@ -307,6 +311,7 @@
|
||||
clearable
|
||||
maxlength="5"
|
||||
:readonly="isAppnt"
|
||||
v-if="branchType != '14'"
|
||||
>
|
||||
<div slot="label" class="flex flex-wrap"><span>负债金额</span><span>(万元)</span></div>
|
||||
</van-field>
|
||||
@@ -332,7 +337,7 @@
|
||||
clearable
|
||||
:readonly="isAppnt"
|
||||
/> -->
|
||||
<select-radio v-if="userInfo.relationToAppnt != 1" required :radios="Asyncs" label="是否协同工作单位" name="是否协同工作单位" v-validate="'required'" :value.sync="userInfo.isAsync"></select-radio>
|
||||
<select-radio v-if="userInfo.relationToAppnt != 1 && Number(branchType) !== 14" required :radios="Asyncs" label="是否协同工作单位" name="是否协同工作单位" v-validate="'required'" :value.sync="userInfo.isAsync"></select-radio>
|
||||
<SearchField
|
||||
v-model="userInfo.workcompany"
|
||||
@workcompanys="workcompanys"
|
||||
@@ -341,6 +346,7 @@
|
||||
placeholder="无工作单位,请输入无"
|
||||
v-validate="'required'"
|
||||
name="工作单位"
|
||||
v-if="Number(branchType) !== 14 && userInfo.relationToAppnt != 1"
|
||||
/>
|
||||
<!-- <van-field
|
||||
v-model="areaName"
|
||||
@@ -647,11 +653,18 @@
|
||||
userWorkcompanys:[],//单位数据
|
||||
manageComCode:'',//代理人管理机构 52贵州 45广西
|
||||
areaValue:'', //代理人管理机构--省级编号
|
||||
renovate:''//是否展示风险测评
|
||||
renovate:'',//是否展示风险测评
|
||||
branchType:'',
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.specilFlag = this.$route.query.specilFlag
|
||||
if(window.localStorage.getItem('branchType')) {
|
||||
this.branchType = window.localStorage.getItem('branchType')
|
||||
} else if(this.$route.query.branchType){
|
||||
window.localStorage.setItem('branchType', this.$route.query.branchType)
|
||||
this.branchType = this.$route.query.branchType
|
||||
}
|
||||
//如果是编辑/导航进来
|
||||
// if (this.$route.query.edit) {
|
||||
const orderNo = this.$route.query.orderNo
|
||||
@@ -1169,10 +1182,10 @@
|
||||
this.effectiveDateTypeAble = age <= 45
|
||||
} else {
|
||||
if (age < 16) {
|
||||
this.userInfo.salarySource = 4
|
||||
this.userInfo.salarySource = this.branchType == '14' ? null : 4
|
||||
this.userInfo.otherSalarySource = '无'
|
||||
this.userInfo.averageAnnualIncome = '0'
|
||||
this.userInfo.liabilitiesMoney = '0'
|
||||
this.userInfo.liabilitiesMoney = this.branchType == '14' ? '' : '0'
|
||||
}
|
||||
}
|
||||
if (this.userInfo.certificateValidate && !this.userInfo.certiexpiredate) {
|
||||
@@ -1282,7 +1295,7 @@
|
||||
}
|
||||
this.userInfo.occupationCode = data.occupationCode //职业类别编码
|
||||
this.userInfo.occupationName = data.occupationName //职业类别名称
|
||||
this.userInfo.salarySource = data.salarySource //收入来源
|
||||
this.userInfo.salarySource = this.branchType == '14' ? null : data.salarySource //收入来源
|
||||
this.userInfo.otherSalarySource = data.otherSalarySource // 其他收入来源
|
||||
this.userInfo.lifeGrade = data.lifeGrade //寿险等级
|
||||
this.userInfo.healthGrade = data.healthGrade //健康等级
|
||||
@@ -1298,7 +1311,7 @@
|
||||
this.setCustomerMarriage(data.marryStatus)
|
||||
// this.userInfo.familyAnnualIncome = data.familyAnnualIncome //家庭年收入
|
||||
// this.userInfo.email = data.email //电子邮箱
|
||||
this.userInfo.liabilitiesMoney = data.liabilitiesMoney //负债金额
|
||||
this.userInfo.liabilitiesMoney = this.branchType == '14' ? '' : data.liabilitiesMoney //负债金额
|
||||
// this.userInfo.companyProvince = data.companyProvince //单位省
|
||||
// this.userInfo.companyCity = data.companyCity //单位市
|
||||
// this.userInfo.companyArea = data.companyArea //单位区
|
||||
@@ -1643,7 +1656,7 @@
|
||||
return this.$toast('0-7岁未成年人须由其父母投保,请确定')
|
||||
}
|
||||
|
||||
if (this.userInfo.salarySource == '4') {
|
||||
if (this.userInfo.salarySource == '4' && this.branchType != '14') {
|
||||
if (!this.userInfo.otherSalarySource) {
|
||||
return this.$toast('请输入其它收入来源')
|
||||
}
|
||||
@@ -1781,6 +1794,9 @@
|
||||
orderNo: this.$route.query.orderNo,
|
||||
},
|
||||
appntDTO: {},
|
||||
userModel: {
|
||||
branchType: this.branchType
|
||||
}
|
||||
},
|
||||
}
|
||||
if (this.userInfo.mediaDTOS == '') {
|
||||
@@ -1990,13 +2006,18 @@
|
||||
//年龄小于18周岁,工作单位默认值为‘无’
|
||||
if (idToData(val).age < 18) {
|
||||
this.userInfo.workcompany = this.userInfo.workcompany || '无'
|
||||
this.userInfo.marriageStatus = this.branchType == '14' ? '未婚' : this.userInfo.marriageStatus
|
||||
this.userInfo.marriage = this.branchType == '14' ? 2 : this.userInfo.marriage
|
||||
} else {
|
||||
this.userInfo.marriageStatus = this.branchType == '14' ? '' : this.userInfo.marriageStatus
|
||||
this.userInfo.marriage = this.branchType == '14' ? null : this.userInfo.marriage
|
||||
}
|
||||
if (!from) {
|
||||
if (idToData(val).age < 16) {
|
||||
this.userInfo.salarySource = 4
|
||||
this.userInfo.salarySource = this.branchType == '14' ? null : 4
|
||||
this.userInfo.otherSalarySource = '无'
|
||||
this.userInfo.averageAnnualIncome = '0'
|
||||
this.userInfo.liabilitiesMoney = '0'
|
||||
this.userInfo.liabilitiesMoney = this.branchType == '14' ? '' : '0'
|
||||
} else {
|
||||
this.userInfo.salarySource = ''
|
||||
this.userInfo.averageAnnualIncome = ''
|
||||
|
||||
@@ -13,7 +13,8 @@
|
||||
</van-tabs>
|
||||
</van-sticky>
|
||||
|
||||
<van-list v-model="loading" :immediate-check="false" :finished="finished" :finished-text="finishedText" error-text="请求失败,点击重新加载" :error.sync="error" @load="loadMore" class="pb45">
|
||||
<van-list v-model="loading" :immediate-check="false" :finished="finished" :finished-text="finishedText"
|
||||
error-text="请求失败,点击重新加载" :error.sync="error" @load="loadMore" class="pb45">
|
||||
<div v-if="isSuccess">
|
||||
<div v-if="saleList.length > 0">
|
||||
<div v-for="(order, index) in saleList" :key="index">
|
||||
@@ -55,14 +56,15 @@
|
||||
<span class="c-gray-darker fwb">首期总保费(元)</span>
|
||||
<span class="yellow fwb">{{ order.firstPrem == 0 ? '0.00' : order.firstPrem | moneyFormat }}</span>
|
||||
</div>
|
||||
<div class="pt15" v-if="active == 'commit' || active == 'waitUnderwritten'" style="border-top:1px solid #dadada">
|
||||
<div class="pt15" v-if="active == 'commit' || active == 'waitUnderwritten'"
|
||||
style="border-top:1px solid #dadada">
|
||||
<div>
|
||||
<div class="w80 inline-b">
|
||||
<van-tag plain color="#999999">投保单号</van-tag>
|
||||
</div>
|
||||
<span class="fs14 c-gray-dark">{{ order.orderInfoDTO.orderNo }}</span>
|
||||
</div>
|
||||
<div class="mt10">
|
||||
<div class="mt10" v-if="active == 'commit' || active == 'waitUnderwritten'" >
|
||||
<div class="w80 inline-b">
|
||||
<van-tag plain color="#999999">状态</van-tag>
|
||||
</div>
|
||||
@@ -70,20 +72,34 @@
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="!!order.orderInfoDTO.doubleFlag && order.orderInfoDTO.doubleFlag == '0'" class="fs12 mt15">
|
||||
温馨提示:本投保单满足双录条件,需要双录质检通过后才能承保。
|
||||
<div v-if="branchType =='14' && order.insuredDTOs[0].riskDTOLst[0].insuYear > 1">
|
||||
温馨提示:一年期以上保险产品需按监管要求双录,请及时双录。
|
||||
</div>
|
||||
<div v-else>
|
||||
温馨提示:本投保单满足双录条件,需要双录质检通过后才能承保。
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-right mt15 ">
|
||||
<van-button v-if="active == 'uncommit'" round @click="goDetail(order)" size="small" class="mr5" type="danger" v-no-more-click="1000">
|
||||
<van-button round @click="goInsuredInform(order)" size="small" v-if="buttonShow == '14'"
|
||||
:disabled="order.emailStatus == 'disable'" class="mr5" type="danger" v-no-more-click="1000">
|
||||
获取投保资料
|
||||
</van-button>
|
||||
<van-button v-if="active == 'uncommit'" round @click="goDetail(order)" size="small" class="mr5"
|
||||
type="danger" v-no-more-click="1000">
|
||||
编辑
|
||||
</van-button>
|
||||
<van-button v-if="active == 'uncommit'" plain round @click.stop="del(order, index)" size="small" class="mr5" type="danger" v-no-more-click="1000">
|
||||
<van-button v-if="active == 'uncommit'" plain round @click.stop="del(order, index)" size="small"
|
||||
class="mr5" type="danger" v-no-more-click="1000">
|
||||
删除
|
||||
</van-button>
|
||||
<van-button @click="againPay(order)" v-if="active == 'commit' && order.orderInfoDTO.orderStatus == '19'" size="small" class="mr5" type="danger" round>
|
||||
<van-button @click="againPay(order)" v-if="active == 'commit' && order.orderInfoDTO.orderStatus == '19'"
|
||||
size="small" class="mr5" type="danger" round>
|
||||
重新支付
|
||||
</van-button>
|
||||
<van-button @click="changeCard(order)" v-if="(active == 'commit' && order.orderInfoDTO.orderStatus == '48') || (active == 'commit' && order.orderInfoDTO.orderStatus == '49')" size="small" class="mr5" type="danger" round>
|
||||
<van-button @click="changeCard(order)"
|
||||
v-if="(active == 'commit' && order.orderInfoDTO.orderStatus == '48') || (active == 'commit' && order.orderInfoDTO.orderStatus == '49')"
|
||||
size="small" class="mr5" type="danger" round>
|
||||
修改卡号
|
||||
</van-button>
|
||||
<template v-if="active == 'commit' && order.orderInfoDTO.orderStatus == '55'">
|
||||
@@ -94,13 +110,16 @@
|
||||
重新支付
|
||||
</van-button>
|
||||
</template>
|
||||
<template v-if="active == 'commit' && (order.orderInfoDTO.orderStatus == '02' || order.orderInfoDTO.orderStatus == '58')">
|
||||
<template
|
||||
v-if="active == 'commit' && (order.orderInfoDTO.orderStatus == '02' || order.orderInfoDTO.orderStatus == '58')">
|
||||
<van-button @click="goPay(order)" size="small" class="mr5" type="danger" round>
|
||||
支付
|
||||
</van-button>
|
||||
</template>
|
||||
<!-- doubleFlag 1-否 0-是,doubleFlag为0双录时,canRevokeDouble加 orderStatus 16 -->
|
||||
<van-button @click="revokeOrder(order)" v-if="active == 'commit' && ((canRevoke[order.orderInfoDTO.orderStatus] && (order.orderInfoDTO.doubleFlag == '1' || order.orderInfoDTO.doubleFlag == null || order.orderInfoDTO.doubleFlag == ''))|| (canRevokeDouble[order.orderInfoDTO.orderStatus] && order.orderInfoDTO.doubleFlag == '0'))" size="small" class="mr5" type="danger" round>
|
||||
<van-button @click="revokeOrder(order)"
|
||||
v-if="active == 'commit' && ((canRevoke[order.orderInfoDTO.orderStatus] && (order.orderInfoDTO.doubleFlag == '1' || order.orderInfoDTO.doubleFlag == null || order.orderInfoDTO.doubleFlag == '')) || (canRevokeDouble[order.orderInfoDTO.orderStatus] && order.orderInfoDTO.doubleFlag == '0'))"
|
||||
size="small" class="mr5" type="danger" round>
|
||||
撤单
|
||||
</van-button>
|
||||
<van-button @click="seePolicy(order)" v-if="active == 'commit'" size="small" type="danger" round>
|
||||
@@ -119,17 +138,46 @@
|
||||
</van-list>
|
||||
|
||||
<van-button type="danger" class="bottom-btn" @click="add" v-no-more-click="1000">点我新增</van-button>
|
||||
<van-dialog class="dialog-delete" @confirm="checkCaptchaCode" @cancel="cancelCaptchaCode" :before-close="beforeClose" confirm-button-color="#fff" v-model="revokePanelShow" title="短信验证" show-cancel-button>
|
||||
<van-dialog class="dialog-delete" @confirm="checkCaptchaCode" @cancel="cancelCaptchaCode"
|
||||
:before-close="beforeClose" confirm-button-color="#fff" v-model="revokePanelShow" title="短信验证" show-cancel-button>
|
||||
<p class="captchaReceiver">投保人手机号: {{ captchaReceiver | phoneNumFilter }}</p>
|
||||
<van-field v-model="sms" center clearable placeholder="请输入短信验证码">
|
||||
<template #button>
|
||||
<van-button :disabled="sendTime !== 0" v-no-more-click="1000" @click="getCaptchaCode" size="small" type="danger">{{
|
||||
sendTime ? `${sendTime}s后获取` : '获取验证码'
|
||||
}}</van-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>
|
||||
<!-- <van-dialog class="dialog-getInform" @confirm="checkCaptchaCode" @cancel="cancelCaptchaCode" :before-close="beforeClose" confirm-button-color="#fff" v-model="getInformShow" title="获取投保资料">
|
||||
<p class="captchaReceiver">请输入您获取投保资料的邮箱</p>
|
||||
<van-field v-model="sms" center clearable placeholder="请输入短信验证码">
|
||||
</van-field>
|
||||
</van-dialog> -->
|
||||
<van-popup v-model="getInformShow" round closeable class="insure-popup">
|
||||
<div class="insure-email">
|
||||
<div class="email-box">
|
||||
<div class="email-title">获取投保资料</div>
|
||||
<div class="email-content">
|
||||
<div v-if="inputShow">
|
||||
<div class="email-c">请输入您获取投保资料的邮箱</div>
|
||||
<van-field class="email-input" v-model="emailForm.email" placeholder="请输入邮箱"
|
||||
v-validate="'required|email'" />
|
||||
</div>
|
||||
<div v-if="contentShow">
|
||||
{{ emailContent }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="email-btn">
|
||||
<van-button type="danger" @click="inputShow ? getInformOk() : tipOk()" round>确定</van-button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</van-popup>
|
||||
<!-- 短信验证 -->
|
||||
<check-agent @checModelSuccessMethod="initThisPage" />
|
||||
</div>
|
||||
@@ -137,11 +185,12 @@
|
||||
|
||||
<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, getBankCardSignState, getSendEmail, getDownloadZip } from '@/api/ebiz/sale/sale'
|
||||
import { funcPermCheck } from '@/api/ebiz/common/common'
|
||||
import { formatRiskList } from '@/assets/js/utils/formatRiskList.js'
|
||||
import dataDictionary from '@/assets/js/utils/data-dictionary' //根据数据字典找到用户等级
|
||||
import CheckAgent from '@/components/common/CheckAgent'
|
||||
import { getAgentInfo } from '@/api/ebiz/my/my'
|
||||
|
||||
export default {
|
||||
name: 'saleList',
|
||||
@@ -202,7 +251,21 @@ export default {
|
||||
captchaTimer: null,
|
||||
captchaReceiver: '',
|
||||
revokeOrderNo: '',
|
||||
captchaMaped: false
|
||||
captchaMaped: false,
|
||||
getInformShow: false,
|
||||
emailForm: { email: '' },
|
||||
inputShow: true,
|
||||
contentShow: false,
|
||||
buttonShow: '',
|
||||
emailContent: '系统将会将投保资料发送至您录入邮箱,解压密码为投保人身份证号的后六位,请您稍后进行查看',
|
||||
branchType: ''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
if(this.$CacheUtils.getLocItem('branchType')) {
|
||||
this.branchType = this.$CacheUtils.getLocItem('branchType')
|
||||
}else{
|
||||
this.getAgentInfo()
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -216,8 +279,19 @@ export default {
|
||||
funcPermCheck({}).then(res => {
|
||||
this.isCheck = res.result
|
||||
})
|
||||
if (window.localStorage.getItem('branchType') == '14') {
|
||||
this.buttonShow = localStorage.getItem('branchType')
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async getAgentInfo() {
|
||||
const result = await getAgentInfo({})
|
||||
if (result.result === '0') {
|
||||
this.branchType = result.branchType
|
||||
localStorage.setItem('branchType', this.branchType)
|
||||
this.$CacheUtils.setLocItem('branchType', this.branchType)
|
||||
}
|
||||
},
|
||||
beforeClose(action, done) {
|
||||
this.captchaMaped ? done() : done(false)
|
||||
},
|
||||
@@ -265,7 +339,7 @@ export default {
|
||||
this.saleList = []
|
||||
this.isSuccess = false
|
||||
this.currentPage = 1
|
||||
;[this.loading, this.finished] = [true, false]
|
||||
;[this.loading, this.finished] = [true, false]
|
||||
let pageInfo = {
|
||||
pageNum: this.currentPage,
|
||||
pageSize: this.pageSize,
|
||||
@@ -347,7 +421,7 @@ export default {
|
||||
url = '/sale/AttachmentManagement?orderNo=' + order.orderInfoDTO.orderNo
|
||||
break
|
||||
case '49': //影像上传页填写成功,跳到银行卡号确认页
|
||||
url = '/sale/SignatureConfirmation?orderNo=' + order.orderInfoDTO.orderNo
|
||||
url = '/sale/SignatureConfirmation?orderNo=' + order.orderInfoDTO.orderNo + '&branchType=' + this.branchType
|
||||
break
|
||||
}
|
||||
this.$jump({
|
||||
@@ -435,27 +509,27 @@ export default {
|
||||
this.currentPage = 1
|
||||
this.active = name
|
||||
this.saleList = []
|
||||
;[this.loading, this.finished] = [true, false]
|
||||
;[this.loading, this.finished] = [true, false]
|
||||
this.finishedText = '正在加载...'
|
||||
this.loadMore()
|
||||
},
|
||||
searchList() {
|
||||
this.currentPage = 1
|
||||
this.saleList = []
|
||||
;[this.loading, this.finished] = [true, false]
|
||||
;[this.loading, this.finished] = [true, false]
|
||||
this.finishedText = '正在加载...'
|
||||
this.loadMore()
|
||||
},
|
||||
//投保单详情
|
||||
async goDetail(order) {
|
||||
let thisToken = this.$CacheUtils.getLocItem('token')
|
||||
let thisbranchType = ''
|
||||
if(this.$CacheUtils.getLocItem('branchType') == '13') {
|
||||
let thisbranchType = ''
|
||||
if (this.$CacheUtils.getLocItem('branchType') == '13') {
|
||||
thisbranchType = this.$CacheUtils.getLocItem('branchType')
|
||||
}
|
||||
window.localStorage.clear()
|
||||
this.$CacheUtils.setLocItem('token', thisToken)
|
||||
if(thisbranchType) {
|
||||
if (thisbranchType) {
|
||||
this.$CacheUtils.setLocItem('branchType', thisbranchType)
|
||||
}
|
||||
window.localStorage.setItem('detailJump', '')
|
||||
@@ -473,15 +547,15 @@ export default {
|
||||
localStorage.isFrom = 'sale'
|
||||
localStorage.removeItem('changeCard')
|
||||
if(orderStatus == '01'){ //已签名待客户确认, 跳到签名确认页面
|
||||
url = '/sale/SignatureConfirmation?edit=1&orderNo='+orderNo
|
||||
url = '/sale/SignatureConfirmation?edit=1&orderNo='+orderNo + '&branchType=' + this.branchType
|
||||
}else if(orderStatus == '43'){//未签名待客户确认, 跳到签名确认页面
|
||||
url = '/sale/SignatureConfirmation?edit=1&orderNo='+orderNo
|
||||
url = '/sale/SignatureConfirmation?edit=1&orderNo='+orderNo + '&branchType=' + this.branchType
|
||||
}else if(orderStatus == '35'){//投保人保存成功, 跳到被保险人页面
|
||||
url = '/sale/insuredPerson?edit=1&orderNo='+orderNo
|
||||
url = '/sale/insuredPerson?edit=1&orderNo='+orderNo + '&branchType=' + this.branchType
|
||||
}else if(orderStatus == '36'){//被保险人保存成功, 跳到已选产品列表
|
||||
url = '/common/selectedProduct?edit=1&orderNo='+orderNo
|
||||
url = '/common/selectedProduct?edit=1&orderNo='+orderNo + '&branchType=' + this.branchType
|
||||
}else if(orderStatus == '37'){//受益人保存成功, 跳到告知信息--
|
||||
url = '/sale/NotifyingMessage?edit=1&orderNo='+orderNo
|
||||
url = '/sale/NotifyingMessage?edit=1&orderNo='+orderNo
|
||||
}else if(orderStatus == '38'){ //账户信息保存成功, 跳到附件管理--
|
||||
if(order.orderInfoDTO.activeType == 'KMH') {
|
||||
let params = {
|
||||
@@ -495,22 +569,22 @@ export default {
|
||||
})
|
||||
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
|
||||
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
|
||||
url = '/sale/AccountInformation?edit=1&orderNo=' + orderNo
|
||||
}
|
||||
} else {
|
||||
url = '/sale/AccountInformation?edit=1&orderNo='+orderNo
|
||||
url = '/sale/AccountInformation?edit=1&orderNo=' + orderNo
|
||||
}
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
url = '/sale/AttachmentManagement?edit=1&orderNo='+orderNo
|
||||
url = '/sale/AttachmentManagement?edit=1&orderNo=' + orderNo
|
||||
}
|
||||
}else if(orderStatus == '39'){ //险种信息保存成功, 跳到已选产品列表
|
||||
url = '/common/selectedProduct?edit=1&orderNo='+orderNo+ '&branchType=' + this.branchType
|
||||
@@ -521,11 +595,14 @@ export default {
|
||||
}else{
|
||||
url = '/sale/AccountInformation?edit=1&orderNo='+orderNo
|
||||
}
|
||||
//}
|
||||
// else {
|
||||
// url = '/sale/answerPage?edit=1&orderNo='+orderNo
|
||||
// } else {
|
||||
// url = '/sale/answerPage?edit=1&orderNo=' + orderNo
|
||||
// }
|
||||
}else if(orderStatus == ''){//跳到投保人
|
||||
} else if(orderStatus == '' || (orderStatus == '66' && this.branchType == '14')){
|
||||
/*
|
||||
*跳到投保人
|
||||
*银保渠道特殊情况66,投保人信息填写不完整
|
||||
*/
|
||||
url = '/sale/insuredInfo?edit=1&orderNo='+orderNo
|
||||
}else if(orderStatus == '44'){//建议书转投保, 跳到投保人
|
||||
url = '/sale/insuredInfo?edit=1&orderNo='+orderNo
|
||||
@@ -536,10 +613,30 @@ export default {
|
||||
// }else{
|
||||
// url = '/sale/universalRiskNotifyingMessage?edit=1&orderNo='+orderNo
|
||||
// }
|
||||
// }
|
||||
else if(orderStatus == '63'){//风险测评保存成功, 跳到账户信息--
|
||||
url = '/sale/AccountInformation?edit=1&orderNo='+orderNo
|
||||
// }
|
||||
else if (orderStatus == '63') {//风险测评保存成功, 跳到账户信息--
|
||||
url = '/sale/AccountInformation?edit=1&orderNo=' + orderNo
|
||||
//}
|
||||
// else {
|
||||
// url = '/sale/answerPage?edit=1&orderNo='+orderNo
|
||||
// }
|
||||
}
|
||||
// else if(orderStatus == ''){//跳到投保人
|
||||
// url = '/sale/insuredInfo?edit=1&orderNo='+orderNo
|
||||
// }
|
||||
// else if(orderStatus == '44'){//建议书转投保, 跳到投保人
|
||||
// url = '/sale/insuredInfo?edit=1&orderNo='+orderNo
|
||||
// }
|
||||
// else if(orderStatus == '62'){//风险测评保存成功, 跳到账户信息--
|
||||
// if(order.universalRiskNotifyDTO && order.universalRiskNotifyDTO.isUniversalRiskNotifyShowPoint != '1'){
|
||||
// url = '/sale/AccountInformation?edit=1&orderNo='+orderNo
|
||||
// }else{
|
||||
// url = '/sale/universalRiskNotifyingMessage?edit=1&orderNo='+orderNo
|
||||
// }
|
||||
// }
|
||||
// else if(orderStatus == '63'){//风险测评保存成功, 跳到账户信息--
|
||||
// url = '/sale/AccountInformation?edit=1&orderNo='+orderNo
|
||||
// }
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
@@ -574,7 +671,7 @@ export default {
|
||||
this.saleList = []
|
||||
this.isSuccess = false
|
||||
this.currentPage = 1
|
||||
;[this.loading, this.finished] = [true, false]
|
||||
;[this.loading, this.finished] = [true, false]
|
||||
let pageInfo = {
|
||||
pageNum: this.currentPage,
|
||||
pageSize: this.pageSize,
|
||||
@@ -586,18 +683,18 @@ export default {
|
||||
}
|
||||
})
|
||||
})
|
||||
.catch(() => {})
|
||||
.catch(() => { })
|
||||
},
|
||||
//新增
|
||||
add() {
|
||||
let thisToken = this.$CacheUtils.getLocItem('token')
|
||||
let thisbranchType = ''
|
||||
if(this.$CacheUtils.getLocItem('branchType') == '13') {
|
||||
let thisbranchType = ''
|
||||
if (this.$CacheUtils.getLocItem('branchType') == '13') {
|
||||
thisbranchType = this.$CacheUtils.getLocItem('branchType')
|
||||
}
|
||||
window.localStorage.clear()
|
||||
this.$CacheUtils.setLocItem('token', thisToken)
|
||||
if(thisbranchType) {
|
||||
if (thisbranchType) {
|
||||
this.$CacheUtils.setLocItem('branchType', thisbranchType)
|
||||
}
|
||||
|
||||
@@ -626,6 +723,81 @@ export default {
|
||||
this.captchaReceiver = order.appntDTO.mobile
|
||||
this.revokeOrderNo = order.orderInfoDTO.orderNo
|
||||
})
|
||||
},
|
||||
// 获取投保资料
|
||||
goInsuredInform(order) {
|
||||
this.getInformShow = true
|
||||
this.inputShow = true
|
||||
this.contentShow = false
|
||||
this.revokeOrderNo = order.orderInfoDTO.orderNo
|
||||
if (order.appntDTO.email) {
|
||||
this.emailForm.email = order.appntDTO.email
|
||||
} else {
|
||||
this.emailForm.email = ''
|
||||
}
|
||||
},
|
||||
// 确定邮件发送
|
||||
getInformOk() {
|
||||
let params = {
|
||||
orderNo: this.revokeOrderNo,
|
||||
emailUrl: this.emailForm.email
|
||||
}
|
||||
this.$validator.validate().then(valid => {
|
||||
if (true === valid) {
|
||||
Toast.loading({
|
||||
message: '加载中...',
|
||||
loadingType: 'spinner',
|
||||
forbidClick: true,
|
||||
duration: 0
|
||||
});
|
||||
getSendEmail(params).then(res => {
|
||||
Toast.clear();
|
||||
if (res.result == '0') {
|
||||
// Toast.loading({
|
||||
// message: '加载中...',
|
||||
// loadingType: 'spinner',
|
||||
// forbidClick: true,
|
||||
// duration: 2000
|
||||
// });
|
||||
// 调用下载方法
|
||||
// getDownloadZip({ orderNo: this.revokeOrderNo }).then(downRes => {、
|
||||
// this.handleDownload(downRes)
|
||||
this.inputShow = false
|
||||
this.contentShow = true
|
||||
this.emailContent = '系统将会将投保资料发送至您录入邮箱,解压密码为投保人身份证号的后六位,请您稍后进行查看'
|
||||
// })
|
||||
} else if (res.result == '1' && res.resultMessage == '2') {
|
||||
this.inputShow = false
|
||||
this.contentShow = true
|
||||
this.emailContent = '该保单近期已经获取过投保资料,请您移步邮箱进行查看'
|
||||
} else if (res.result == '1') {
|
||||
Toast.fail(res.resultMessage)
|
||||
}
|
||||
}).catch(error => {
|
||||
Toast.clear();
|
||||
throw error;
|
||||
})
|
||||
}
|
||||
else {
|
||||
this.$toast(this.$validator.errors.all()[0])
|
||||
}
|
||||
})
|
||||
},
|
||||
// 提示弹窗按钮
|
||||
tipOk() {
|
||||
this.getInformShow = false
|
||||
},
|
||||
handleDownload(data) {
|
||||
// 处理接口返回的文件流
|
||||
const blob = new Blob([data], { type: 'application/zip' });
|
||||
const url = URL.createObjectURL(blob);
|
||||
const a = document.createElement('a');
|
||||
a.href = url;
|
||||
a.download = this.revokeOrderNo + '_appnt_insured.zip'; // 设置下载文件名
|
||||
document.body.appendChild(a);
|
||||
a.click();
|
||||
document.body.removeChild(a);
|
||||
URL.revokeObjectURL(url);
|
||||
}
|
||||
},
|
||||
filters: {
|
||||
@@ -668,7 +840,57 @@ export default {
|
||||
background: #fff !important;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.van-search {
|
||||
background: none !important;
|
||||
}
|
||||
|
||||
.insure-popup {
|
||||
width: 80%;
|
||||
max-width: 500px;
|
||||
margin: auto;
|
||||
max-height: 80vh;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.insure-email {
|
||||
position: relative;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.email-box {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.email-title {
|
||||
text-align: center;
|
||||
color: #ee0a24;
|
||||
font-size: 18px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.email-content {
|
||||
width: 100%;
|
||||
margin: 0 auto 20px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.email-c {
|
||||
margin-bottom: 10px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.email-input {
|
||||
width: 100%;
|
||||
margin: 10px auto;
|
||||
}
|
||||
|
||||
.email-btn {
|
||||
text-align: center;
|
||||
margin-top: 20px;
|
||||
|
||||
.van-button--danger {
|
||||
width: 180px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -183,7 +183,11 @@ export default {
|
||||
'10': '投保人财务告知',
|
||||
'9': '被保险人健康告知',
|
||||
'11': '被保险人财务告知',
|
||||
'13': '被保险人健康告知'
|
||||
'13': '被保险人健康告知',
|
||||
'14': '被保险人职业告知',
|
||||
'15': '被保险人职业告知',
|
||||
'16': '被保险人职业告知',
|
||||
'17': '被保险人职业告知',
|
||||
},
|
||||
salePageFlag: '5',
|
||||
// 是否特定医疗险
|
||||
@@ -208,20 +212,34 @@ export default {
|
||||
this.saleInsuredPersonInfo = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo'))
|
||||
//如果返回参数存在曾经提交的告知信息,获取曾经提交的告知信息
|
||||
let insuredFinanceImpartDTO = res.orderDTO.appntDTO.financeImpartDTO //投保人财务告知集合
|
||||
// 银保非实时才会存在这个字段
|
||||
let insuredJobImpartDTO = res.orderDTO.appntDTO.jobImpartDTO ? res.orderDTO.appntDTO.jobImpartDTO : {impartItemDTOS: false} //投保人健康告知集合
|
||||
// 银保非实时才会存在这个字段
|
||||
let insuredPersonJobImpartDTO = res.orderDTO.insuredDTOs[0].jobImpartDTO ?res.orderDTO.insuredDTOs[0].jobImpartDTO : {impartItemDTOS: false}
|
||||
let insuredImpartDTO = res.orderDTO.appntDTO.impartDTO //投保人健康告知集合
|
||||
let insuredPersionFinanceImpartDTO = res.orderDTO.insuredDTOs[0].financeImpartDTO //被保人财务告知集合
|
||||
let insuredPersionImpartDTO = res.orderDTO.insuredDTOs[0].impartDTO //被保人健康告知集合
|
||||
|
||||
if (
|
||||
insuredFinanceImpartDTO.impartItemDTOS ||
|
||||
insuredImpartDTO.impartItemDTOS ||
|
||||
insuredPersionFinanceImpartDTO.impartItemDTOS ||
|
||||
insuredPersionImpartDTO.impartItemDTOS
|
||||
insuredPersionImpartDTO.impartItemDTOS||
|
||||
insuredJobImpartDTO.impartItemDTOS||
|
||||
insuredPersonJobImpartDTO.impartItemDTOS
|
||||
) {
|
||||
if (insuredFinanceImpartDTO.impartItemDTOS) {
|
||||
this.impartDTOS.push({ impartItemDTOS: insuredFinanceImpartDTO.impartItemDTOS, impartType: insuredFinanceImpartDTO.impartType })
|
||||
} else if (insuredPersionFinanceImpartDTO.impartItemDTOS && this.relationToAppnt == '1') {
|
||||
|
||||
this.impartDTOS.push({ impartItemDTOS: insuredPersionFinanceImpartDTO.impartItemDTOS, impartType: insuredPersionFinanceImpartDTO.impartType })
|
||||
}
|
||||
|
||||
if (insuredJobImpartDTO.impartItemDTOS) {
|
||||
this.impartDTOS.push({ impartItemDTOS: insuredJobImpartDTO.impartItemDTOS, impartType: insuredJobImpartDTO.impartType })
|
||||
} else if (insuredPersonJobImpartDTO.impartItemDTOS && this.relationToAppnt == '1') {
|
||||
this.impartDTOS.push({ impartItemDTOS: insuredPersonJobImpartDTO.impartItemDTOS, impartType: insuredPersonJobImpartDTO.impartType })
|
||||
}
|
||||
if (insuredImpartDTO.impartItemDTOS) {
|
||||
this.impartDTOS.push({ impartItemDTOS: insuredImpartDTO.impartItemDTOS, impartType: insuredImpartDTO.impartType })
|
||||
} else if (insuredPersionImpartDTO.impartItemDTOS && this.relationToAppnt == '1') {
|
||||
@@ -230,6 +248,9 @@ export default {
|
||||
if (this.relationToAppnt != '1') {
|
||||
if (insuredPersionFinanceImpartDTO.impartItemDTOS) {
|
||||
this.impartDTOS.push({ impartItemDTOS: insuredPersionFinanceImpartDTO.impartItemDTOS, impartType: insuredPersionFinanceImpartDTO.impartType })
|
||||
}
|
||||
if (insuredPersonJobImpartDTO.impartItemDTOS) {
|
||||
this.impartDTOS.push({ impartItemDTOS: insuredPersonJobImpartDTO.impartItemDTOS, impartType: insuredPersonJobImpartDTO.impartType })
|
||||
}
|
||||
if (insuredPersionImpartDTO.impartItemDTOS) {
|
||||
this.impartDTOS.push({ impartItemDTOS: insuredPersionImpartDTO.impartItemDTOS, impartType: insuredPersionImpartDTO.impartType })
|
||||
@@ -258,6 +279,7 @@ export default {
|
||||
// 获取告知消息
|
||||
this.information()
|
||||
}
|
||||
|
||||
//投被同人取到年纪和性别去判断是是否显示内容
|
||||
this.saleInsuredAge = utilsAge.getAge(this.saleInsuredInfo.birthday, new Date())
|
||||
this.saleInsuredSex = this.saleInsuredInfo.sex
|
||||
@@ -599,6 +621,8 @@ export default {
|
||||
let objInsured = {}
|
||||
let financeImpartDTO = {}
|
||||
let financeImpart = {}
|
||||
let jobImpartDTO = {} //
|
||||
let jobImpart = {} //
|
||||
// let arr = []
|
||||
that.impartDTOS.map(item => {
|
||||
// 投保人健康告知
|
||||
@@ -647,6 +671,18 @@ export default {
|
||||
})
|
||||
objInsured = item
|
||||
return objInsured
|
||||
}else if ([14,15,16,17].includes(Number(item.impartType))){
|
||||
item.impartItemDTOS.map(i => {
|
||||
delete i.isSelect
|
||||
delete i.show
|
||||
})
|
||||
return jobImpart = item
|
||||
}else if ([18,19,20,21].includes(Number(item.impartType))){
|
||||
item.impartItemDTOS.map(i => {
|
||||
delete i.isSelect
|
||||
delete i.show
|
||||
})
|
||||
return jobImpartDTO = item
|
||||
}
|
||||
})
|
||||
console.log('zhenja',financeImpartDTO == {},financeImpartDTO == {})
|
||||
@@ -771,7 +807,54 @@ export default {
|
||||
}
|
||||
})
|
||||
}
|
||||
else {
|
||||
else if(financeImpart == {}){
|
||||
let data = {
|
||||
orderType: 'IMPART_ORDER',
|
||||
orderDTO: {
|
||||
orderInfoDTO: {
|
||||
orderNo: this.$route.query.orderNo,
|
||||
productCode: JSON.parse(localStorage.mainRiskCodes)[0]
|
||||
},
|
||||
|
||||
// 投保人
|
||||
appntDTO: {
|
||||
impartDTO: obj,
|
||||
jobImpartDTO: jobImpartDTO
|
||||
},
|
||||
// 被保险人
|
||||
insuredDTOs: [{ impartDTO: objInsured }]
|
||||
}
|
||||
}
|
||||
saveInformation(data).then(res => {
|
||||
if (res.result == '0') {
|
||||
localStorage.removeItem('changeCard')
|
||||
if(this.isUniversalRiskNotifyShowPoint == '1'){
|
||||
that.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/universalRiskNotifyingMessage?orderNo=' + this.$route.query.orderNo,
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/universalRiskNotifyingMessage?orderNo=' + this.$route.query.orderNo
|
||||
}
|
||||
})
|
||||
}else{
|
||||
that.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/AccountInformation',
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/AccountInformation'
|
||||
}
|
||||
})
|
||||
}
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
}
|
||||
else {
|
||||
let data = {
|
||||
orderType: 'IMPART_ORDER',
|
||||
orderDTO: {
|
||||
@@ -783,10 +866,11 @@ export default {
|
||||
// 投保人
|
||||
appntDTO: {
|
||||
impartDTO: obj,
|
||||
financeImpartDTO: financeImpartDTO
|
||||
financeImpartDTO: financeImpartDTO,
|
||||
jobImpartDTO: jobImpartDTO
|
||||
},
|
||||
// 被保险人
|
||||
insuredDTOs: [{ impartDTO: objInsured, financeImpartDTO: financeImpart }]
|
||||
insuredDTOs: [{ impartDTO: objInsured, financeImpartDTO: financeImpart,jobImpartDTO: jobImpart }]
|
||||
}
|
||||
}
|
||||
saveInformation(data).then(res => {
|
||||
|
||||
@@ -24,7 +24,11 @@
|
||||
</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-if="uwResult == '65'">
|
||||
<img :src="srcPending" class="mb40 mt20" />
|
||||
<p class="title">银保非实时单提交再次核保</p>
|
||||
</div>
|
||||
<div v-else>
|
||||
<img :src="srcPending" class="mb40 mt20" />
|
||||
@@ -38,9 +42,9 @@
|
||||
</van-cell-group>
|
||||
|
||||
<div class="bg-white p10 pb150">
|
||||
<div class="text-left ml20 mt20" v-if="uwResult == '46' || uwResult == '07'">
|
||||
<div class="text-left ml20 mt20" v-if="uwResult == '46' || uwResult == '07'|| uwResult == '65'">
|
||||
<div class="fs14" v-html="`原因:${resultMessage}`"></div>
|
||||
<div class="fs14" v-html="`${orderNoStr}`"></div>
|
||||
<!-- <div class="fs14" v-html="`${orderNoStr}`"></div>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -98,6 +102,7 @@ export default {
|
||||
}
|
||||
that.uwResult = window.localStorage.getItem('uwResult')
|
||||
that.underWriteData = JSON.parse(window.localStorage.getItem('underWriteData'))
|
||||
that.resultMessage = that.resultMessage || that.underWriteData.message || ''
|
||||
console.log('resultMessage: ', window.localStorage.getItem('resultMessage'))
|
||||
},
|
||||
methods: {
|
||||
|
||||
@@ -570,10 +570,17 @@ export default {
|
||||
isFirstCome: 0,
|
||||
cvalidateStr: '',
|
||||
activeType: '',
|
||||
insuredAge: ''
|
||||
insuredAge: '',
|
||||
branchType: ''
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
if(window.localStorage.getItem('branchType')) {
|
||||
this.branchType = window.localStorage.getItem('branchType')
|
||||
} else if(this.$route.query.branchType){
|
||||
window.localStorage.setItem('branchType', this.$route.query.branchType)
|
||||
this.branchType = this.$route.query.branchType
|
||||
}
|
||||
console.log('保单号', localStorage.getItem('orderNo'))
|
||||
if (this.$route.query.token) {
|
||||
window.localStorage.setItem('token', this.$route.query.token)
|
||||
|
||||
@@ -8,15 +8,21 @@
|
||||
<van-icon v-if="index != fileList.length - 1" name="arrow" style="margin: 0px 5px;"/>
|
||||
</p>
|
||||
</div>
|
||||
<van-notice-bar :scrollable='false' v-if='!Time' class='notice'>
|
||||
<!-- 普通渠道的读秒提示 -->
|
||||
<van-notice-bar :scrollable='false' v-if='branchType != "14" && !Time' class='notice'>
|
||||
{{ `提示:阅读时长需在${this.Time ? this.time : this.number}秒以上` }}
|
||||
</van-notice-bar>
|
||||
<div id="pdf" style="overflow: scroll;background: #eee;" :style="[{height:isPreview ? '100vh' : '75vh'}]">
|
||||
<div id="pdf" style="overflow: scroll;background: #eee;" :style="[{height:isPreview ? '100vh' : '75vh'}]" @scroll="handleScroll">
|
||||
<div id="pdfH5ID"></div>
|
||||
<div ref="activeButtonEle"></div>
|
||||
<!-- 银保渠道右侧标注提示 -->
|
||||
<div v-if='branchType == "14" && !isScrollToBottom' class='scroll-tip'>
|
||||
请下滑至底部完成阅读
|
||||
</div>
|
||||
</div>
|
||||
<div style="height: 20vh;" v-if="!isPreview">
|
||||
<van-radio-group v-model='radio' class='pb10 pt10 pl10 fs20'>
|
||||
<van-radio name='1' @click='click'>
|
||||
<van-radio name='1' @click='click' :disabled="branchType == '14' && !isScrollToBottom">
|
||||
本人确认已阅读<span>{{documentName}}</span>
|
||||
</van-radio>
|
||||
</van-radio-group>
|
||||
@@ -79,6 +85,11 @@
|
||||
chooseProductCodes: null,
|
||||
riskName: null,
|
||||
isFirstRead: null,
|
||||
branchType: '',
|
||||
// 银保渠道滚动检测相关
|
||||
isScrollToBottom: false,
|
||||
scrollTimer: null,
|
||||
pdfStatus: void 0
|
||||
}
|
||||
},
|
||||
components: {
|
||||
@@ -95,13 +106,22 @@
|
||||
window.localStorage.setItem('isFirstRead', '0')
|
||||
this.specialAgreementShow = true
|
||||
}
|
||||
if(window.localStorage.getItem('branchType')) {
|
||||
this.branchType = window.localStorage.getItem('branchType')
|
||||
} else if(this.$route.query.branchType){
|
||||
window.localStorage.setItem('branchType', this.$route.query.branchType)
|
||||
this.branchType = this.$route.query.branchType
|
||||
}
|
||||
if(this.$route.query.currentIndex){
|
||||
this.Time = true
|
||||
this.isPreview = true
|
||||
} else if(window.sessionStorage.getItem('signH5Img')){
|
||||
this.Time = true
|
||||
} else {
|
||||
this.timeOut()
|
||||
// 银保渠道不需要读秒
|
||||
if(this.branchType != '14') {
|
||||
this.timeOut()
|
||||
}
|
||||
}
|
||||
setTimeout(() => {
|
||||
// eslint-disable-next-line no-undef
|
||||
@@ -136,6 +156,31 @@
|
||||
|
||||
},
|
||||
methods: {
|
||||
// 处理滚动事件
|
||||
handleScroll(event) {
|
||||
if (this.branchType != '14') return
|
||||
// 防抖处理
|
||||
if (this.scrollTimer) {
|
||||
clearTimeout(this.scrollTimer)
|
||||
}
|
||||
this.scrollTimer = setTimeout(() => {
|
||||
const element = event.target
|
||||
const scrollTop = element.scrollTop
|
||||
const scrollHeight = element.scrollHeight
|
||||
const clientHeight = element.clientHeight
|
||||
// 判断是否滚动到底部
|
||||
if (scrollTop + clientHeight >= scrollHeight - 5) {
|
||||
this.isScrollToBottom = true
|
||||
// 滚动到底部后,自动设置阅读完成状态
|
||||
if (!this.isOver) {
|
||||
this.isOver = true
|
||||
this.Time = true
|
||||
}
|
||||
} else {
|
||||
this.isScrollToBottom = false
|
||||
}
|
||||
}, 100)
|
||||
},
|
||||
getOrderDetail(){
|
||||
if(this.$route.query.currentIndex) {
|
||||
this.current = Number(this.$route.query.currentIndex)
|
||||
@@ -167,15 +212,37 @@
|
||||
// 点击阅读时
|
||||
click() {
|
||||
let that = this
|
||||
if (that.isOver == false) {
|
||||
Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '该内容涉及您的重大权益,请您仔细阅读',
|
||||
showCancelButton: false
|
||||
}).then(() => {
|
||||
that.radio = ''
|
||||
})
|
||||
// 银保渠道
|
||||
if (this.branchType == '14') {
|
||||
if (!this.isScrollToBottom) {
|
||||
Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '请下滑至底部完成阅读',
|
||||
showCancelButton: false
|
||||
}).then(() => {
|
||||
that.radio = ''
|
||||
})
|
||||
return
|
||||
}
|
||||
} else {
|
||||
// 普通渠道的原有逻辑
|
||||
if (that.isOver == false) {
|
||||
Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '该内容涉及您的重大权益,请您仔细阅读',
|
||||
showCancelButton: false
|
||||
}).then(() => {
|
||||
that.radio = ''
|
||||
})
|
||||
} else {
|
||||
if(this.fileList[this.current - 1].documentCode == '2'){
|
||||
that.chaoluButtonDisabled = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 银保渠道滚动到底部后的处理
|
||||
if (this.branchType == '14' && this.isScrollToBottom) {
|
||||
if(this.fileList[this.current - 1].documentCode == '2'){
|
||||
that.chaoluButtonDisabled = false
|
||||
}
|
||||
@@ -281,19 +348,42 @@
|
||||
},
|
||||
changeFile(readStatus){
|
||||
this.documentName = this.fileList[this.current - 1].documentName
|
||||
if(readStatus){
|
||||
this.radio = '1'
|
||||
this.isOver = true
|
||||
this.Time = true
|
||||
} else if(window.sessionStorage.getItem('signH5Img')) {
|
||||
this.radio = '1'
|
||||
this.isOver = true
|
||||
this.chaoluButtonDisabled = false
|
||||
// 银保渠道
|
||||
if (this.branchType == '14') {
|
||||
this.isScrollToBottom = false
|
||||
if(readStatus){
|
||||
this.radio = '1'
|
||||
this.isOver = true
|
||||
this.Time = true
|
||||
this.isScrollToBottom = true
|
||||
} else if(window.sessionStorage.getItem('signH5Img')) {
|
||||
this.radio = '1'
|
||||
this.isOver = true
|
||||
this.chaoluButtonDisabled = false
|
||||
this.isScrollToBottom = true
|
||||
} else {
|
||||
this.radio = ''
|
||||
this.isOver = false
|
||||
this.Time = true
|
||||
this.isScrollToBottom = false
|
||||
}
|
||||
} else {
|
||||
this.radio = ''
|
||||
this.isOver = false
|
||||
this.timeOut()
|
||||
// 其他渠道
|
||||
if(readStatus){
|
||||
this.radio = '1'
|
||||
this.isOver = true
|
||||
this.Time = true
|
||||
} else if(window.sessionStorage.getItem('signH5Img')) {
|
||||
this.radio = '1'
|
||||
this.isOver = true
|
||||
this.chaoluButtonDisabled = false
|
||||
} else {
|
||||
this.radio = ''
|
||||
this.isOver = false
|
||||
this.timeOut()
|
||||
}
|
||||
}
|
||||
|
||||
let thispdfurl = ''
|
||||
if(this.fileList[this.current - 1].originalUrl && (this.fileList[this.current - 1].originalUrl.indexOf('https://') != -1 || this.fileList[this.current - 1].originalUrl.indexOf('http://') != -1)) {
|
||||
thispdfurl = this.fileList[this.current - 1].originalUrl
|
||||
@@ -304,7 +394,8 @@
|
||||
pdfurl: thispdfurl,
|
||||
lazy:false,
|
||||
scale:1
|
||||
}).on("complete", function (status, msg, time) { //监听完成事件
|
||||
}).on("complete", (status, msg, time)=> { //监听完成事件
|
||||
this.pdfStatus = status
|
||||
console.log("状态:" + status + ",信息:" + msg + ",耗时:" + time + "毫秒,总页数:" + this.totalNum)
|
||||
})
|
||||
},
|
||||
@@ -385,8 +476,8 @@
|
||||
},
|
||||
computed: {
|
||||
listenChange() {
|
||||
const { isOver, radio } = this
|
||||
return { isOver, radio }
|
||||
const { isOver, radio, isScrollToBottom } = this
|
||||
return { isOver, radio, isScrollToBottom }
|
||||
}
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
@@ -396,17 +487,40 @@
|
||||
window.sessionStorage.removeItem('signH5Val')
|
||||
window.sessionStorage.removeItem('signInfo')
|
||||
}
|
||||
// 清理定时器
|
||||
if (this.scrollTimer) {
|
||||
clearTimeout(this.scrollTimer)
|
||||
}
|
||||
next()
|
||||
},
|
||||
watch: {
|
||||
listenChange(val) {
|
||||
let that = this
|
||||
if (val.isOver == true && val.radio != '') {
|
||||
that.isDisabledComplite = false
|
||||
// 银保渠道
|
||||
if (this.branchType == '14') {
|
||||
if (val.isScrollToBottom == true && val.radio != '') {
|
||||
that.isDisabledComplite = false
|
||||
} else {
|
||||
that.isDisabledComplite = true
|
||||
}
|
||||
} else {
|
||||
that.isDisabledComplite = true
|
||||
// 其他渠道
|
||||
if (val.isOver == true && val.radio != '') {
|
||||
that.isDisabledComplite = false
|
||||
} else {
|
||||
that.isDisabledComplite = true
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
pdfStatus() {
|
||||
const observer = new IntersectionObserver(entries => {
|
||||
entries.forEach(entry => {
|
||||
if (entry.isIntersecting) this.isScrollToBottom = true
|
||||
observer.unobserve(entry.target)
|
||||
})
|
||||
})
|
||||
observer.observe(this.$refs.activeButtonEle)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -446,4 +560,90 @@
|
||||
padding: 10px 20px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
/* 银保渠道右侧标注样式 - 统一红色主题 */
|
||||
.scroll-tip {
|
||||
position: fixed;
|
||||
right: 15px;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
// background: linear-gradient(135deg, #E9332E 0%, #ff4757 100%);
|
||||
color: white;
|
||||
padding: 10px;
|
||||
border-radius: 12px;
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
z-index: 1000;
|
||||
width: 20px;
|
||||
text-align: center;
|
||||
line-height: 1.3;
|
||||
background-color: #fffbe8;
|
||||
// box-shadow: 0 4px 20px #f4da58;
|
||||
// border: 1px solid rgba(255, 255, 255, 0.2);
|
||||
backdrop-filter: blur(10px);
|
||||
// animation: slideInRight 0.5s ease-out, pulse 2s ease-in-out infinite 0.5s;
|
||||
cursor: pointer;
|
||||
transition: all 0.3s ease;
|
||||
color: #ed6a0c;
|
||||
|
||||
/* 添加向下箭头图标 */
|
||||
&::after {
|
||||
content: '↓';
|
||||
display: block;
|
||||
font-size: 16px;
|
||||
margin-top: 4px;
|
||||
animation: bounce 1.5s ease-in-out infinite;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
transform: translateY(-50%) scale(1.05);
|
||||
// box-shadow: 0 6px 25px rgba(233, 51, 46, 0.6);
|
||||
}
|
||||
}
|
||||
|
||||
/* 滑入动画 */
|
||||
@keyframes slideInRight {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: translateY(-50%) translateX(100px);
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform: translateY(-50%) translateX(0);
|
||||
}
|
||||
}
|
||||
|
||||
/* 脉冲动画 - 红色主题 */
|
||||
@keyframes pulse {
|
||||
// 0%, 100% {
|
||||
// box-shadow: 0 4px 20px rgba(233, 51, 46, 0.4);
|
||||
// }
|
||||
// 50% {
|
||||
// box-shadow: 0 6px 25px rgba(233, 51, 46, 0.7);
|
||||
// }
|
||||
}
|
||||
|
||||
/* 箭头弹跳动画 */
|
||||
@keyframes bounce {
|
||||
0%, 20%, 50%, 80%, 100% {
|
||||
transform: translateY(0);
|
||||
}
|
||||
40% {
|
||||
transform: translateY(-3px);
|
||||
}
|
||||
60% {
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
}
|
||||
|
||||
/* 银保渠道禁用状态的样式 */
|
||||
/deep/ .van-radio--disabled {
|
||||
.van-radio__icon {
|
||||
background-color: #f2f3f5;
|
||||
border-color: #dcdee0;
|
||||
}
|
||||
.van-radio__label {
|
||||
color: #c8c9cc;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -30,7 +30,14 @@
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div style="margin-top: 15px; display: flex; align-items: center" class="fs20">
|
||||
<div class="xxx-issue">
|
||||
<p class="p1">您是否存在智能障碍,或其他精神、心理疾病?</p>
|
||||
<van-radio-group v-model="xxxIssue">
|
||||
<van-radio name="1">是</van-radio>
|
||||
<van-radio name="2">否</van-radio>
|
||||
</van-radio-group>
|
||||
</div>
|
||||
<div style="margin-top: 15px; display: flex; align-items: center;margin-bottom: 100px;" class="fs20">
|
||||
<span v-if="signVal == '3'" style="font-size: 16px; font-weight: bold">代理人签名:</span>
|
||||
<span v-if="signVal == '0' || signVal == '2'" style="font-size: 16px; font-weight: bold">投保人签名:</span>
|
||||
<span v-if="signVal == '1' && insuredAge >= 18" style="font-size: 16px; font-weight: bold">被保险人签名:</span>
|
||||
@@ -64,6 +71,7 @@
|
||||
<script>
|
||||
import { saveInformation } from '@/api/ebiz/sale/sale'
|
||||
import isChoose from '@/assets/images/u20257.png'
|
||||
import { RadioGroup, Radio} from 'vant'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -76,10 +84,14 @@ export default {
|
||||
insuredAge: '',
|
||||
guardianshow: false,
|
||||
guardianName: '',
|
||||
nextDisabled: true
|
||||
nextDisabled: true,
|
||||
xxxIssue: '2'
|
||||
}
|
||||
},
|
||||
components: {},
|
||||
components: {
|
||||
[RadioGroup.name]: RadioGroup,
|
||||
[Radio.name]: Radio,
|
||||
},
|
||||
created() {
|
||||
setTimeout(() => {
|
||||
// eslint-disable-next-line no-undef
|
||||
@@ -157,6 +169,9 @@ export default {
|
||||
}
|
||||
},
|
||||
gonext() {
|
||||
if (this.xxxIssue === '1') {
|
||||
return this.$toast('本产品不支持有智能障碍,或其他精神、心理疾病的人士投保。')
|
||||
}
|
||||
let params = {
|
||||
orderType: 'SIGN_MERGED_ORDER',
|
||||
orderDTO: {
|
||||
@@ -272,4 +287,18 @@ export default {
|
||||
padding: 8px 16px;
|
||||
}
|
||||
}
|
||||
.xxx-issue{
|
||||
margin-top: 10px;
|
||||
.p1{
|
||||
font-size: 16px;
|
||||
color: #000;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
/deep/.van-radio-group{
|
||||
display: flex;
|
||||
.van-radio{
|
||||
margin-right: 20px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||