mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-08 02:26:43 +08:00
Compare commits
57 Commits
feature/FM
...
feature/FC
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9960d694e2 | ||
|
|
7266d1271d | ||
|
|
f8850bbfad | ||
|
|
4eec515d77 | ||
|
|
3d4c7093e1 | ||
|
|
975a8f3be2 | ||
|
|
715f2747d7 | ||
|
|
e3ff31bc61 | ||
|
|
0fb3fe9570 | ||
|
|
548f273f2d | ||
|
|
af0af2d145 | ||
|
|
5092267900 | ||
|
|
2916c76218 | ||
|
|
a74b355cfa | ||
|
|
2793d02383 | ||
|
|
0096cf6917 | ||
|
|
7db1b6db2b | ||
|
|
ecec1af4b2 | ||
|
|
eeea5349d9 | ||
|
|
f0735fce3e | ||
|
|
958c8f8b01 | ||
|
|
0ded892703 | ||
|
|
5f485c90ad | ||
|
|
19db3b7f57 | ||
|
|
cf439b5bbe | ||
|
|
36b81f9e8e | ||
|
|
ff8d284915 | ||
|
|
cdb36b4dcd | ||
|
|
44026f1184 | ||
|
|
01caa01272 | ||
|
|
035b3500aa | ||
|
|
26133d07c8 | ||
|
|
772201f2f0 | ||
|
|
b0937ceb58 | ||
|
|
693a1140fd | ||
| 63e0869065 | |||
| e61dfe0d17 | |||
| f8d84e73c7 | |||
|
|
eb07e7a21b | ||
|
|
375807df55 | ||
|
|
5cd7575e63 | ||
|
|
e498618b3c | ||
|
|
4bb43a244c | ||
|
|
c7f847288e | ||
|
|
c6f4bf5d62 | ||
|
|
3c1084bc4a | ||
|
|
c6acb57ff8 | ||
|
|
5aa47557a9 | ||
|
|
fc3b654b08 | ||
|
|
0c60363117 | ||
|
|
f6ae890e89 | ||
|
|
e374c9e813 | ||
|
|
8ca15da11c | ||
|
|
241c30266a | ||
|
|
8118ecb98f | ||
|
|
6cddad644d | ||
|
|
a88cad7b71 |
@@ -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
|
||||
})
|
||||
@@ -393,4 +411,12 @@ export function riskLevelCheck(data) {
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
export function saveEvalateAnswer(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/order/saveOrUpdateAssessInfo ', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
BIN
src/assets/images/ebiz/evalImg.png
Normal file
BIN
src/assets/images/ebiz/evalImg.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
BIN
src/assets/images/home-companyProfile.png
Normal file
BIN
src/assets/images/home-companyProfile.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 MiB |
BIN
src/assets/images/home_product_center_m0105.png
Normal file
BIN
src/assets/images/home_product_center_m0105.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 272 KiB |
BIN
src/assets/images/home_product_center_m0109.png
Normal file
BIN
src/assets/images/home_product_center_m0109.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 189 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') &&
|
||||
|
||||
162
src/components/common/PopupQuesResult.vue
Normal file
162
src/components/common/PopupQuesResult.vue
Normal file
@@ -0,0 +1,162 @@
|
||||
<template>
|
||||
<div class="popup-ques-result">
|
||||
<van-popup
|
||||
v-model="showResultPopup"
|
||||
position="bottom"
|
||||
class="result-popup"
|
||||
@click-overlay = "clickOverlay('overlay')"
|
||||
>
|
||||
<div class="result-popup-title">
|
||||
<span>您的适当性评估结果</span>
|
||||
<van-icon name="cross" @click="clickOverlay('icon')"/>
|
||||
</div>
|
||||
<div class="result-popup-content">
|
||||
<div class='content'>尊敬的{{appntInfo.name}}{{appntInfo.sex=='0'?'先生':'女士'}}:</div>
|
||||
<div class='content'>根据您填写的评估问卷,本公司对您的保险需求及财务支付水平进行了综合评估,结果反馈如下:</div>
|
||||
<div class='content'>您适合购买的产品类型为:
|
||||
<span class='product-type'>{{resultRiskType}}</span>
|
||||
</div>
|
||||
<div>
|
||||
<div v-for="(item,idx) in productLevel" :key="idx" class="itemLevel">
|
||||
{{ item }}
|
||||
</div>
|
||||
</div>
|
||||
<div class='tips'>特别提示:</div>
|
||||
<div class='tips'> 本次评估结果及匹配意见供您决策参考,并不代表本公司对上述产品的风险及收益作出实质性判断或者保证。若您提供的信息发生任何重大变化,建议您对所购买的产品及时进行重新审视,以确保您的购买决定与您可承受的风险程度等实际情况一致。</div>
|
||||
<div class='tips'>建议您充分考察该产品的特征,自行做出投保决定,请您确保您的决定是独立、自主、真实的。</div>
|
||||
</div>
|
||||
<!-- 未测评过底部按钮 -->
|
||||
<div class="bottom-btn bg-white flex">
|
||||
<van-button type="danger" square size="large" plain v-no-more-click="1000" @click="reTest" v-if="showRetest">重新测评</van-button>
|
||||
<van-button type="danger" square size="large" v-no-more-click="1000" @click="toInsure">我已知晓,继续投保</van-button>
|
||||
</div>
|
||||
|
||||
<!-- 已测评过底部按钮 -->
|
||||
<!-- <div class="bottom-btn bg-white flex testBtn" v-if="showHasTested">
|
||||
<van-button type="danger" square size="large" plain v-no-more-click="1000" @click="goBack">上一步</van-button>
|
||||
<van-button type="danger" square size="large" class="btn" v-no-more-click="1000" @click="goNext">已知晓,继续投保</van-button>
|
||||
<van-button type="danger" square size="large" v-no-more-click="1000" @click="reStart">重新评估</van-button>
|
||||
</div> -->
|
||||
|
||||
</van-popup>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
name: 'PopupQuesResult',
|
||||
props: {
|
||||
showResultPopup: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
showRetest: { //展示重新测评
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
appntInfo:{
|
||||
type: Object,
|
||||
default: () => {}
|
||||
},
|
||||
resultRiskType:{
|
||||
type:String,
|
||||
default:''
|
||||
},
|
||||
assessResultDescList:{
|
||||
type:Array,
|
||||
default: () => []
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
//showNoTested: false
|
||||
productLevel:[
|
||||
'P1分类:保险期限为一年期及以下的人身保险产品,包括人寿保险、健康保险、意外伤害保险等',
|
||||
'P2分类:保险期限为一年期以上的普通型人身保险,包括人寿保险、年金保险、健康保险、意外伤害保险等',
|
||||
'P3分类:专属商业养老保险、分红型人身保险、万能型人身保险,其他符合本级特征描述的人身保险产品,包括人寿保险、年金保险等',
|
||||
'P4分类:投资连结型人身保险、变额年金保险,其他符合本级特征描述的人身保险产品,包括人寿保险、年金保险等',
|
||||
'P5分类:符合本级特征描述的人身保险产品']
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
clickOverlay(extra){
|
||||
this.$emit('clickOverlayHandler',extra)
|
||||
},
|
||||
|
||||
//1.未测评过弹窗按钮
|
||||
//1.1 重新测评
|
||||
reTest(){
|
||||
this.$emit('reTestHandler')
|
||||
},
|
||||
|
||||
//1.2 我已知晓,继续投保
|
||||
toInsure(){
|
||||
this.$emit('toInsureHandler')
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.popup-ques-result{
|
||||
.result-popup{
|
||||
|
||||
.result-popup-title{
|
||||
padding:10px 10px 0;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
font-size: 20px;
|
||||
font-weight: bolder;
|
||||
color:#000;
|
||||
}
|
||||
.result-popup-content{
|
||||
padding:10px 10px 60px;
|
||||
box-sizing:border-box;
|
||||
.content{
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
margin-bottom: 5px;
|
||||
.product-type{
|
||||
color: #ee0a24;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
.tips{
|
||||
font-size: 14px;
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.tips:nth-child(5){
|
||||
padding:10px 0;
|
||||
margin-bottom: 0;
|
||||
color: #000;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
}
|
||||
.result-popup-btn{
|
||||
|
||||
}
|
||||
/deep/ .testBtn{
|
||||
.van-button:first-child{
|
||||
flex:1;
|
||||
}
|
||||
.van-button:nth-child(2){
|
||||
flex:1.3;
|
||||
border-right:1px solid #fff !important;
|
||||
}
|
||||
.van-button:nth-child(3){
|
||||
flex:1;
|
||||
}
|
||||
}
|
||||
|
||||
.itemLevel{
|
||||
font-size: 12px;
|
||||
color:#999;
|
||||
margin-bottom:5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -182,18 +182,18 @@ export default {
|
||||
})
|
||||
}
|
||||
}
|
||||
if(res.orderDTO.riskEvaluationDTO){
|
||||
if(res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint == 1){
|
||||
this.pageTitle.forEach(item=>{
|
||||
if(item.pageNo == 6){
|
||||
item.show = true
|
||||
}
|
||||
if(item.pageNo == 7){
|
||||
item.show = true
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
// if(res.orderDTO.riskEvaluationDTO){
|
||||
// if(res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint == 1){
|
||||
// this.pageTitle.forEach(item=>{
|
||||
// if(item.pageNo == 6){
|
||||
// item.show = true
|
||||
// }
|
||||
// if(item.pageNo == 7){
|
||||
// item.show = true
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
// }
|
||||
if(this.$route.query.orderNo) {
|
||||
this.projectName = res.orderDTO.ebizOrderGbcRelDTO.projectName
|
||||
}
|
||||
|
||||
10
src/main.js
10
src/main.js
@@ -38,7 +38,11 @@ import {
|
||||
PullRefresh,
|
||||
List,
|
||||
Image as VanImage,
|
||||
Sticky
|
||||
Sticky,
|
||||
Radio,
|
||||
RadioGroup,
|
||||
Checkbox,
|
||||
CheckboxGroup
|
||||
} from 'vant'
|
||||
Vue.use(Cell)
|
||||
Vue.use(CellGroup)
|
||||
@@ -66,6 +70,10 @@ Vue.use(List)
|
||||
Vue.use(VanImage)
|
||||
Vue.use(Sticky)
|
||||
Vue.use(animated)
|
||||
Vue.use(Radio)
|
||||
Vue.use(RadioGroup)
|
||||
Vue.use(Checkbox)
|
||||
Vue.use(CheckboxGroup)
|
||||
|
||||
Vue.prototype.$assetsUrl = config.assetsUrl
|
||||
Vue.prototype.$assetsUpUrl = config.assetsUpUrl
|
||||
|
||||
@@ -5,6 +5,7 @@ const addRiskList = () => import('@/views/ebiz/common/AddRiskList')
|
||||
const calculatePremium = () => import('@/views/ebiz/common/CalculatePremium')
|
||||
const defalut = () => import('@/views/ebiz/common/Defalut')
|
||||
const companyIntroduce = () => import('@/views/ebiz/common/CompanyIntroduce')
|
||||
const evaluateResult = () => import('@/views/ebiz/common/EvaluateResult')
|
||||
|
||||
export default [
|
||||
{
|
||||
@@ -66,5 +67,14 @@ export default [
|
||||
title: '关于国富',
|
||||
index: 1
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/common/evaluateResult',
|
||||
name: 'EvaluateResult',
|
||||
component: evaluateResult,
|
||||
meta: {
|
||||
title: '评估结果',
|
||||
index: 1
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -39,6 +39,7 @@ const shortPeriodProduct = () => import('@/views/ebiz/sale/shortPeriodProduct')
|
||||
const commitmentSelfProtect = () => import('@/views/ebiz/sale/commitmentSelfProtect')
|
||||
const readDocuments = () => import('@/views/ebiz/sale/readDocuments')
|
||||
const signDocuments = () => import('@/views/ebiz/sale/signDocuments')
|
||||
const questionEvaluate = () => import('@/views/ebiz/sale/questionEvaluate')
|
||||
|
||||
let riskName = localStorage.riskName
|
||||
console.log('sale/riskName==', riskName)
|
||||
@@ -347,5 +348,13 @@ export default [
|
||||
meta: {
|
||||
title: '签名页面'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/sale/questionEvaluate',
|
||||
name: 'questionEvaluate',
|
||||
component: questionEvaluate,
|
||||
meta: {
|
||||
title: '保险产品适当性评估问卷'
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
@@ -516,26 +516,29 @@ export default {
|
||||
}else if(orderStatus == '39'){ //险种信息保存成功, 跳到已选产品列表
|
||||
url = '/common/selectedProduct?edit=1&orderNo='+orderNo
|
||||
}else if(orderStatus == '40'){//告知信息保存成功, 跳到风险测评--
|
||||
if( order.riskEvaluationDTO.isShowEvaluationPoint != '1'){
|
||||
//if( order.riskEvaluationDTO.isShowEvaluationPoint != '1'){
|
||||
if(order.universalRiskNotifyDTO && order.universalRiskNotifyDTO.isUniversalRiskNotifyShowPoint == '1'){
|
||||
url = '/sale/universalRiskNotifyingMessage?edit=1&orderNo='+orderNo
|
||||
}else{
|
||||
url = '/sale/AccountInformation?edit=1&orderNo='+orderNo
|
||||
}
|
||||
}else {
|
||||
url = '/sale/answerPage?edit=1&orderNo='+orderNo
|
||||
}
|
||||
//}
|
||||
// else {
|
||||
// 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'){//风险测评保存成功, 跳到账户信息--
|
||||
}
|
||||
// else if(orderStatus == '62'){//风险测评保存成功, 跳到账户信息--
|
||||
// if(order.universalRiskNotifyDTO && order.universalRiskNotifyDTO.isUniversalRiskNotifyShowPoint != '1'){
|
||||
// url = '/sale/AccountInformation?edit=1&orderNo='+orderNo
|
||||
// }else{
|
||||
// url = '/sale/universalRiskNotifyingMessage?edit=1&orderNo='+orderNo
|
||||
// }
|
||||
// }
|
||||
else if(orderStatus == '63'){//风险测评保存成功, 跳到账户信息--
|
||||
url = '/sale/AccountInformation?edit=1&orderNo='+orderNo
|
||||
}
|
||||
// switch (orderStatus) {
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
@click="selectClick('3', '', '1')">证件扫描
|
||||
</van-button>
|
||||
</van-field>
|
||||
<FieldDatePicter
|
||||
<!-- <FieldDatePicter
|
||||
:v-validate='{ required: certiexpiredateRequired }'
|
||||
required
|
||||
label='证件截止日期'
|
||||
@@ -59,7 +59,7 @@
|
||||
<van-checkbox v-model='userInfo.effectiveDateType' :disabled='effectiveDateTypeAble'
|
||||
@change='effectiveDataTypeChange'>长期
|
||||
</van-checkbox>
|
||||
</div>
|
||||
</div> -->
|
||||
<select-radio required :radios='sexRadio' label='性别' name='性别' v-validate="'required'"
|
||||
:value.sync='userInfo.sex'></select-radio>
|
||||
<FieldDatePicter
|
||||
@@ -154,7 +154,7 @@
|
||||
v-validate="'required'"
|
||||
@click="toSelect('11')"
|
||||
/>
|
||||
<van-field
|
||||
<!-- <van-field
|
||||
v-model='userInfo.homeName'
|
||||
readonly
|
||||
label='联系地址'
|
||||
@@ -166,7 +166,7 @@
|
||||
@click="areaSelect('1')"
|
||||
/>
|
||||
<van-field v-model='userInfo.homeAddress' label name='详细地址' placeholder='请输入详细地址' v-validate="'required'"
|
||||
clearable maxlength='30' />
|
||||
clearable maxlength='30' /> -->
|
||||
<!-- </template> -->
|
||||
</van-cell-group>
|
||||
<van-goods-action style='z-index: 99'>
|
||||
@@ -331,7 +331,7 @@ export default {
|
||||
idType: '1', //证件类型
|
||||
idNo: '', //证件号码
|
||||
certiexpiredate: '', //证件到期时间
|
||||
effectiveDateType: false, //是否长期
|
||||
effectiveDateType: null, //是否长期
|
||||
occupationCode: '', //职业代码
|
||||
occupationName: '', //职业名称
|
||||
averageAnnualIncome: '', //平均年收入
|
||||
@@ -339,9 +339,9 @@ export default {
|
||||
healthGrade: '', //健康等级
|
||||
nativeplace: '1', //国家地区
|
||||
marriageStatus: '', //婚姻状况
|
||||
homeProvince: '450000', //家庭省
|
||||
homeCity: '450100', //家庭市
|
||||
homeArea: '450101', //家庭区
|
||||
homeProvince: '', //家庭省
|
||||
homeCity: '', //家庭市
|
||||
homeArea: '', //家庭区
|
||||
homeName: '', //联系地址
|
||||
homeAddress: '', //详细地址
|
||||
mobile: '', //移动电话
|
||||
@@ -380,7 +380,7 @@ export default {
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.userInfo.homeName = getAreaName([{ code: 450000 }, { code: 450100 }, { code: 450101 }]) //家庭地址
|
||||
// this.userInfo.homeName = getAreaName([{ code: 450000 }, { code: 450100 }, { code: 450101 }]) //家庭地址
|
||||
},
|
||||
async mounted() {
|
||||
let that = this
|
||||
@@ -404,17 +404,17 @@ export default {
|
||||
cardOrderDetail(cardInfoDTO).then(res => {
|
||||
if (res.result == '0') {
|
||||
Object.assign(that.userInfo,res.orderDTO.appntDTO)
|
||||
that.userInfo.effectiveDateType = that.userInfo.effectiveDateType == 'true'?true:false
|
||||
that.userInfo.certiexpiredate = that.userInfo.effectiveDateType == 'true'?'':that.userInfo.certiexpiredate
|
||||
that.userInfo.homeName = getAreaName([
|
||||
{ code: that.userInfo.homeProvince },
|
||||
{ code: that.userInfo.homeCity },
|
||||
{ code: that.userInfo.homeArea }
|
||||
])
|
||||
if (this.userInfo.birthday) {
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
this.effectiveDateTypeAble = !(age >= 45)
|
||||
}
|
||||
// that.userInfo.effectiveDateType = that.userInfo.effectiveDateType == 'true'?true:false
|
||||
// that.userInfo.certiexpiredate = that.userInfo.effectiveDateType == 'true'?'':that.userInfo.certiexpiredate
|
||||
// that.userInfo.homeName = getAreaName([
|
||||
// { code: that.userInfo.homeProvince },
|
||||
// { code: that.userInfo.homeCity },
|
||||
// { code: that.userInfo.homeArea }
|
||||
// ])
|
||||
// if (this.userInfo.birthday) {
|
||||
// let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
// this.effectiveDateTypeAble = !(age >= 45)
|
||||
// }
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -517,7 +517,7 @@ export default {
|
||||
areaSelect(insureType) {
|
||||
;[this.homeShow, this.insureType] = [true, insureType]
|
||||
if (insureType === '1') {
|
||||
this.areaCode = this.userInfo.homeArea
|
||||
// this.areaCode = this.userInfo.homeArea
|
||||
}
|
||||
},
|
||||
//监听名字变化
|
||||
@@ -581,14 +581,14 @@ export default {
|
||||
} else if (this.pickerType == '2') {
|
||||
//身份证以外的证件类型可以使用长期
|
||||
//value.id 1 居民身份证 todo
|
||||
if (value.id != '1') {
|
||||
this.effectiveDateTypeAble = false
|
||||
} else {
|
||||
if (this.userInfo.birthday) {
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
this.effectiveDateTypeAble = !(age >= 45)
|
||||
}
|
||||
}
|
||||
// if (value.id != '1') {
|
||||
// this.effectiveDateTypeAble = false
|
||||
// } else {
|
||||
// if (this.userInfo.birthday) {
|
||||
// let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
// this.effectiveDateTypeAble = !(age >= 45)
|
||||
// }
|
||||
// }
|
||||
this.userInfo.idType = value.id
|
||||
} else if (this.pickerType == '3') {
|
||||
this.userInfo.degree = value.id
|
||||
@@ -632,50 +632,50 @@ export default {
|
||||
// }
|
||||
}
|
||||
break
|
||||
case '1': {
|
||||
console.log('证件截止日期')
|
||||
//证件截止日期
|
||||
//如果已经勾选了长期
|
||||
if (this.userInfo.effectiveDateType) {
|
||||
//清空数据并返回
|
||||
this.userInfo.certiexpiredate = ''
|
||||
this.$refs.certiexpiredate.date = ''
|
||||
return
|
||||
}
|
||||
this.userInfo.effectiveDateType = false
|
||||
//如果录入日期早于当前日期
|
||||
if (Date.parse(val) < Date.parse(new Date())) {
|
||||
this.userInfo.certiexpiredate = ''
|
||||
this.$refs.certiexpiredate.date = ''
|
||||
return this.$toast('您的证件已过期')
|
||||
}
|
||||
//不同证件类型的判断
|
||||
// if (this.userInfo.idType) {
|
||||
// //获取年龄
|
||||
// let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
// console.log(age)
|
||||
// //年龄在16-25周岁之间
|
||||
// if (age >= 16 && age <= 25) {
|
||||
// if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10) {
|
||||
// this.userInfo.certiexpiredate = ''
|
||||
// this.$refs.certiexpiredate.date = ''
|
||||
// return this.$toast('16周岁~25周岁的证件有效期为10年')
|
||||
// }
|
||||
// //年龄在26-45周岁之间
|
||||
// } else if (age >= 26 && age <= 45) {
|
||||
// if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20) {
|
||||
// this.userInfo.certiexpiredate = ''
|
||||
// this.$refs.certiexpiredate.date = ''
|
||||
// return this.$toast('26周岁~45周岁的证件有效期为20年')
|
||||
// }
|
||||
// //此外的年龄段不支持
|
||||
// } else {
|
||||
// this.userInfo.certiexpiredate = ''
|
||||
// this.$refs.certiexpiredate.date = ''
|
||||
// return this.$toast('身份证不支持此年龄段')
|
||||
// }
|
||||
// }
|
||||
}
|
||||
// case '1': {
|
||||
// console.log('证件截止日期')
|
||||
// //证件截止日期
|
||||
// //如果已经勾选了长期
|
||||
// if (this.userInfo.effectiveDateType) {
|
||||
// //清空数据并返回
|
||||
// this.userInfo.certiexpiredate = ''
|
||||
// this.$refs.certiexpiredate.date = ''
|
||||
// return
|
||||
// }
|
||||
// this.userInfo.effectiveDateType = false
|
||||
// //如果录入日期早于当前日期
|
||||
// if (Date.parse(val) < Date.parse(new Date())) {
|
||||
// this.userInfo.certiexpiredate = ''
|
||||
// this.$refs.certiexpiredate.date = ''
|
||||
// return this.$toast('您的证件已过期')
|
||||
// }
|
||||
// //不同证件类型的判断
|
||||
// // if (this.userInfo.idType) {
|
||||
// // //获取年龄
|
||||
// // let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
// // console.log(age)
|
||||
// // //年龄在16-25周岁之间
|
||||
// // if (age >= 16 && age <= 25) {
|
||||
// // if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10) {
|
||||
// // this.userInfo.certiexpiredate = ''
|
||||
// // this.$refs.certiexpiredate.date = ''
|
||||
// // return this.$toast('16周岁~25周岁的证件有效期为10年')
|
||||
// // }
|
||||
// // //年龄在26-45周岁之间
|
||||
// // } else if (age >= 26 && age <= 45) {
|
||||
// // if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20) {
|
||||
// // this.userInfo.certiexpiredate = ''
|
||||
// // this.$refs.certiexpiredate.date = ''
|
||||
// // return this.$toast('26周岁~45周岁的证件有效期为20年')
|
||||
// // }
|
||||
// // //此外的年龄段不支持
|
||||
// // } else {
|
||||
// // this.userInfo.certiexpiredate = ''
|
||||
// // this.$refs.certiexpiredate.date = ''
|
||||
// // return this.$toast('身份证不支持此年龄段')
|
||||
// // }
|
||||
// // }
|
||||
// }
|
||||
break
|
||||
case '2': {
|
||||
//出生日期
|
||||
@@ -720,22 +720,22 @@ export default {
|
||||
this.userInfo.birthday = data.birthday //出生日期
|
||||
this.userInfo.idType = data.customerIdType //证件类型
|
||||
this.userInfo.idNo = data.customerIdNumber //证件类别
|
||||
if (data.idEffectEndDate == '9999-12-31') {
|
||||
this.userInfo.effectiveDateType = true //是否长期
|
||||
} else {
|
||||
this.userInfo.certiexpiredate = data.idEffectEndDate //证件截止日期
|
||||
this.userInfo.effectiveDateType = false //是否长期
|
||||
}
|
||||
// if (data.idEffectEndDate == '9999-12-31') {
|
||||
// this.userInfo.effectiveDateType = true //是否长期
|
||||
// } else {
|
||||
// this.userInfo.certiexpiredate = data.idEffectEndDate //证件截止日期
|
||||
// this.userInfo.effectiveDateType = false //是否长期
|
||||
// }
|
||||
this.userInfo.email = data.email //电子邮箱
|
||||
|
||||
this.userInfo.mobile = data.customerPhone //移动电话
|
||||
this.userInfo.homeProvince = data.homeProvince //家庭省
|
||||
this.userInfo.homeCity = data.homeCity //家庭市
|
||||
this.userInfo.homeArea = data.homeArea //家庭区
|
||||
if (data.homeProvince && data.homeCity && data.homeArea) {
|
||||
this.userInfo.homeName = getAreaName([{ code: data.homeProvince }, { code: data.homeCity }, { code: data.homeArea }]) //家庭地址
|
||||
}
|
||||
this.userInfo.homeAddress = data.homeAddress //家庭详细地址
|
||||
// this.userInfo.homeProvince = data.homeProvince //家庭省
|
||||
// this.userInfo.homeCity = data.homeCity //家庭市
|
||||
// this.userInfo.homeArea = data.homeArea //家庭区
|
||||
// if (data.homeProvince && data.homeCity && data.homeArea) {
|
||||
// this.userInfo.homeName = getAreaName([{ code: data.homeProvince }, { code: data.homeCity }, { code: data.homeArea }]) //家庭地址
|
||||
// }
|
||||
// this.userInfo.homeAddress = data.homeAddress //家庭详细地址
|
||||
// this.userInfo.occupationCode = data.occupationCode
|
||||
// this.userInfo.occupationName = data.occupationName
|
||||
// this.userInfo.occupationType = data.lifeGrade
|
||||
@@ -821,36 +821,36 @@ export default {
|
||||
console.log('证件号码校验有误')
|
||||
return this.$toast('您填写的证件号码有误')
|
||||
}
|
||||
if (age < 46 && this.userInfo.effectiveDateType == true) {
|
||||
return this.$toast('证件有效期错误,年龄小于46周岁的公民身份证有效期不能为长期')
|
||||
}
|
||||
// if (age < 46 && this.userInfo.effectiveDateType == true) {
|
||||
// return this.$toast('证件有效期错误,年龄小于46周岁的公民身份证有效期不能为长期')
|
||||
// }
|
||||
// 年龄在 16-25 周岁之间
|
||||
if (age <= 15) {
|
||||
if (Date.parse(this.userInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1975-01-01')) {
|
||||
this.userInfo.certiexpiredate = ''
|
||||
this.$refs.certiexpiredate.date = ''
|
||||
// this.effectiveDateTypeAble = true
|
||||
return this.$toast('证件有效期错误,未满16周岁的公民身份证有效期应小于等于5年')
|
||||
}
|
||||
//年龄在 16-25 周岁之间
|
||||
} else if (age >= 16 && age <= 25) {
|
||||
console.log('年龄在16-25周岁之间')
|
||||
if (Date.parse(this.userInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1980-01-01')) {
|
||||
this.userInfo.certiexpiredate = ''
|
||||
this.$refs.certiexpiredate.date = ''
|
||||
this.effectiveDateTypeAble = true
|
||||
return this.$toast('证件有效期不正常,16周岁至25周岁公民身份证有效期应小于等于10年')
|
||||
}
|
||||
//年龄在 26-45 周岁之间
|
||||
} else if (age >= 26 && age <= 45) {
|
||||
console.log('年龄在26-45周岁之间')
|
||||
if (Date.parse(this.userInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1990-01-01')) {
|
||||
this.userInfo.certiexpiredate = ''
|
||||
this.$refs.certiexpiredate.date = ''
|
||||
this.effectiveDateTypeAble = true
|
||||
return this.$toast('证件有效期不正常,26周岁至45周岁公民身份证有效期应小于等于20年')
|
||||
}
|
||||
}
|
||||
// if (age <= 15) {
|
||||
// if (Date.parse(this.userInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1975-01-01')) {
|
||||
// this.userInfo.certiexpiredate = ''
|
||||
// this.$refs.certiexpiredate.date = ''
|
||||
// // this.effectiveDateTypeAble = true
|
||||
// return this.$toast('证件有效期错误,未满16周岁的公民身份证有效期应小于等于5年')
|
||||
// }
|
||||
// //年龄在 16-25 周岁之间
|
||||
// } else if (age >= 16 && age <= 25) {
|
||||
// console.log('年龄在16-25周岁之间')
|
||||
// if (Date.parse(this.userInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1980-01-01')) {
|
||||
// this.userInfo.certiexpiredate = ''
|
||||
// this.$refs.certiexpiredate.date = ''
|
||||
// this.effectiveDateTypeAble = true
|
||||
// return this.$toast('证件有效期不正常,16周岁至25周岁公民身份证有效期应小于等于10年')
|
||||
// }
|
||||
// //年龄在 26-45 周岁之间
|
||||
// } else if (age >= 26 && age <= 45) {
|
||||
// console.log('年龄在26-45周岁之间')
|
||||
// if (Date.parse(this.userInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1990-01-01')) {
|
||||
// this.userInfo.certiexpiredate = ''
|
||||
// this.$refs.certiexpiredate.date = ''
|
||||
// this.effectiveDateTypeAble = true
|
||||
// return this.$toast('证件有效期不正常,26周岁至45周岁公民身份证有效期应小于等于20年')
|
||||
// }
|
||||
// }
|
||||
}
|
||||
if (this.manageComCode == '45' && (this.userInfo.isNewPeopleFlag == '' || this.userInfo.isNewPeopleFlag == null || this.userInfo.isNewPeopleFlag == undefined)) {
|
||||
return this.$toast('投保人新市民身份不能为空')
|
||||
@@ -910,13 +910,13 @@ export default {
|
||||
;[this.userInfo.companyProvince, this.userInfo.companyCity, this.userInfo.companyArea] = [area[0].code, area[1].code, area[2].code]
|
||||
this.areaShow = false
|
||||
break
|
||||
case '2': //家庭地址
|
||||
if (this.insureType === '1') {
|
||||
this.userInfo.homeName = getAreaName(area)
|
||||
;[this.userInfo.homeProvince, this.userInfo.homeCity, this.userInfo.homeArea] = [area[0].code, area[1].code, area[2].code]
|
||||
this.homeShow = false
|
||||
}
|
||||
break
|
||||
// case '2': //家庭地址
|
||||
// if (this.insureType === '1') {
|
||||
// this.userInfo.homeName = getAreaName(area)
|
||||
// ;[this.userInfo.homeProvince, this.userInfo.homeCity, this.userInfo.homeArea] = [area[0].code, area[1].code, area[2].code]
|
||||
// this.homeShow = false
|
||||
// }
|
||||
// break
|
||||
case '3': //户籍
|
||||
this.census = getAreaName(area)
|
||||
;[this.userInfo.householdProvince, this.userInfo.householdCity] = [area[0].code, area[1].code]
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
<van-field :value="appntInfo.idType | idToText('insuredIdType')" label='证件类型' name='证件类型' readonly />
|
||||
<van-field :value='appntInfo.idNo' label='证件号码' name='证件号码' readonly />
|
||||
<van-field :value='appntInfo.mobile' label='手机号码' name='手机号码' readonly />
|
||||
<van-field :value='appntInfo.homeName' label='联系地址' name='联系地址' readonly />
|
||||
<van-field :value='appntInfo.homeAddress' label='' name='详细地址' readonly />
|
||||
<van-field :value='appntInfo.homeName' label='联系地址' name='联系地址' readonly v-if="appntInfo.homeName"/>
|
||||
<van-field :value='appntInfo.homeAddress' label='' name='详细地址' readonly v-if="appntInfo.homeAddress"/>
|
||||
</van-cell-group>
|
||||
<van-cell-group class='mt10'>
|
||||
<p style='border-bottom: 1px solid #ebedf0' class='fs15 fwb pl10 pv12'>产品信息</p>
|
||||
@@ -32,8 +32,8 @@
|
||||
<van-field :value='item.idNo' label='证件号码' name='证件号码' readonly />
|
||||
<!-- <van-field v-if='item.isLessEighteen' :value='item.mobile' label='手机号码' name='手机号码' readonly /> -->
|
||||
<!-- <van-field v-if='item.isLessEighteen' :value='item.email' label='电子邮箱' name='电子邮箱' readonly /> -->
|
||||
<van-field :value='item.homeName' label='联系地址' name='联系地址' readonly />
|
||||
<van-field :value='item.homeAddress' label='' name='详细地址' readonly />
|
||||
<van-field :value='item.homeName' label='联系地址' name='联系地址' readonly v-if="item.homeName" />
|
||||
<van-field :value='item.homeAddress' label='' name='详细地址' readonly v-if="item.homeAddress"/>
|
||||
<van-field :value='bnfTypeVal' label='受益人类型' name='受益人类型' readonly />
|
||||
</van-collapse-item>
|
||||
</van-collapse>
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
@click="selectClick('3', '', '2')">证件扫描
|
||||
</van-button>
|
||||
</van-field>
|
||||
<FieldDatePicter
|
||||
<!-- <FieldDatePicter
|
||||
v-if="isInsuredCertiexpiredate"
|
||||
:v-validate='{ required: certiexpiredateRequiredInsured }'
|
||||
required
|
||||
@@ -62,7 +62,7 @@
|
||||
>长期
|
||||
</van-checkbox
|
||||
>
|
||||
</div>
|
||||
</div> -->
|
||||
<select-radio required :radios='sexRadio' label='性别' name='性别' :disabled="isAppnt" v-validate="'required'"
|
||||
:value.sync='insuredInfo.sex'></select-radio>
|
||||
<FieldDatePicter
|
||||
@@ -170,7 +170,7 @@
|
||||
v-validate="'required'"
|
||||
@click="toSelect('npType')"
|
||||
/>
|
||||
<van-field
|
||||
<!-- <van-field
|
||||
v-model='insuredInfo.homeName'
|
||||
readonly
|
||||
label='联系地址'
|
||||
@@ -181,11 +181,11 @@
|
||||
@click="areaSelect('2')"
|
||||
/>
|
||||
<van-field v-model='insuredInfo.homeAddress' :readonly="isAppnt" label name='详细地址'
|
||||
placeholder='请输入详细地址' clearable maxlength='30' />
|
||||
placeholder='请输入详细地址' clearable maxlength='30' /> -->
|
||||
|
||||
<div class='pl10 pt10 pb10 pr10 address fs14 redRadioCheckbox'>
|
||||
<!-- <div class='pl10 pt10 pb10 pr10 address fs14 redRadioCheckbox'>
|
||||
<van-checkbox v-model='withRootUser.value' :disabled="isAppnt">同投保人</van-checkbox>
|
||||
</div>
|
||||
</div> -->
|
||||
</van-cell-group>
|
||||
<!-- 受益人信息 -->
|
||||
<van-cell-group class='mt10'>
|
||||
@@ -406,7 +406,7 @@ export default {
|
||||
idType: '1', //证件类型
|
||||
idNo: '', //证件号码
|
||||
certiexpiredate: '', //证件到期时间
|
||||
effectiveDateType: false, //是否长期
|
||||
effectiveDateType: null, //是否长期
|
||||
occupationCode: '', //职业代码
|
||||
occupationName: '', //职业名称
|
||||
averageAnnualIncome: '', //平均年收入
|
||||
@@ -414,9 +414,9 @@ export default {
|
||||
healthGrade: '', //健康等级
|
||||
nativeplace: '1', //国家地区
|
||||
marriageStatus: '', //婚姻状况
|
||||
homeProvince: '450000', //家庭省
|
||||
homeCity: '450100', //家庭市
|
||||
homeArea: '450101', //家庭区
|
||||
homeProvince: '', //家庭省
|
||||
homeCity: '', //家庭市
|
||||
homeArea: '', //家庭区
|
||||
homeName: '', //联系地址
|
||||
homeAddress: '', //详细地址
|
||||
mobile: '', //移动电话
|
||||
@@ -445,9 +445,9 @@ export default {
|
||||
nativeplace: '1', //国家地区
|
||||
marriageStatus: '', //婚姻状况
|
||||
marriage: '',
|
||||
homeProvince: '450000', //家庭省
|
||||
homeCity: '450100', //家庭市
|
||||
homeArea: '450101', //家庭区
|
||||
homeProvince: '', //家庭省
|
||||
homeCity: '', //家庭市
|
||||
homeArea: '', //家庭区
|
||||
homeName: '', //联系地址
|
||||
homeAddress: '', //详细地址
|
||||
mobile: '', //移动电话
|
||||
@@ -479,7 +479,7 @@ export default {
|
||||
// showFirstOr: false,
|
||||
withRootUser: {
|
||||
load: false, //防止重复请求
|
||||
value: false
|
||||
value: null
|
||||
},
|
||||
occupationalType: DataDictionary.queryOccupationalByType[0].id,
|
||||
isInsuredCertiexpiredate:true, //被保人有效止期是否显示
|
||||
@@ -545,27 +545,27 @@ export default {
|
||||
if (res.result == '0') {
|
||||
Object.assign(this.userInfo,res.orderDTO.appntDTO)
|
||||
//被保险人联系地址默认投保人地址,支持修改。
|
||||
this.insuredInfo.homeName = getAreaName([
|
||||
{ code: this.userInfo.homeProvince },
|
||||
{ code: this.userInfo.homeCity },
|
||||
{ code: this.userInfo.homeArea }
|
||||
])
|
||||
this.insuredInfo.homeProvince = this.userInfo.homeProvince
|
||||
this.insuredInfo.homeCity = this.userInfo.homeCity
|
||||
this.insuredInfo.homeArea = this.userInfo.homeArea
|
||||
this.insuredInfo.homeAddress = this.userInfo.homeAddress
|
||||
// this.insuredInfo.homeName = getAreaName([
|
||||
// { code: this.userInfo.homeProvince },
|
||||
// { code: this.userInfo.homeCity },
|
||||
// { code: this.userInfo.homeArea }
|
||||
// ])
|
||||
// this.insuredInfo.homeProvince = this.userInfo.homeProvince
|
||||
// this.insuredInfo.homeCity = this.userInfo.homeCity
|
||||
// this.insuredInfo.homeArea = this.userInfo.homeArea
|
||||
// this.insuredInfo.homeAddress = this.userInfo.homeAddress
|
||||
if(that.$route.query.insuredId){ //编辑
|
||||
res.orderDTO.insuredDTOs.forEach(item => {
|
||||
if(that.$route.query.insuredId == item.insuredId){
|
||||
Object.assign(that.insuredInfo,item)
|
||||
that.insuredInfo.effectiveDateType = that.insuredInfo.effectiveDateType == 'true'?true:false
|
||||
that.insuredInfo.certiexpiredate = that.insuredInfo.effectiveDateType == 'true'?'':that.insuredInfo.certiexpiredate
|
||||
that.insuredInfo.homeName = getAreaName([
|
||||
{ code: that.insuredInfo.homeProvince },
|
||||
{ code: that.insuredInfo.homeCity },
|
||||
{ code: that.insuredInfo.homeArea }
|
||||
])
|
||||
that.proScheme = that.insuredInfo.riskDTOLst[0].proScheme
|
||||
// that.insuredInfo.effectiveDateType = that.insuredInfo.effectiveDateType == 'true'?true:false
|
||||
// that.insuredInfo.certiexpiredate = that.insuredInfo.effectiveDateType == 'true'?'':that.insuredInfo.certiexpiredate
|
||||
// that.insuredInfo.homeName = getAreaName([
|
||||
// { code: that.insuredInfo.homeProvince },
|
||||
// { code: that.insuredInfo.homeCity },
|
||||
// { code: that.insuredInfo.homeArea }
|
||||
// ])
|
||||
// that.proScheme = that.insuredInfo.riskDTOLst[0].proScheme
|
||||
that.proSchemeCode = that.insuredInfo.riskDTOLst[0].proSchemeCode
|
||||
that.allPrice = that.insuredInfo.riskDTOLst[0].prem
|
||||
that.insuanceId = that.insuredInfo.riskDTOLst[0].insuanceId
|
||||
@@ -574,6 +574,7 @@ export default {
|
||||
let age = utilsAge.getAge(this.insuredInfo.birthday, new Date())
|
||||
this.effectiveDateTypeAbleInsured = !(age >= 45)
|
||||
}
|
||||
console.log(123133,this.insureInfo, 'that.insuredInfo')
|
||||
//编辑时走试算接口
|
||||
this.insureTrial(1)
|
||||
}
|
||||
@@ -581,13 +582,13 @@ export default {
|
||||
} else {
|
||||
if(that.$route.query.relationToAppnt == '1'){ //新增关系为本人
|
||||
Object.assign(this.insuredInfo,res.orderDTO.appntDTO)
|
||||
that.insuredInfo.effectiveDateType = that.insuredInfo.effectiveDateType == 'true'?true:false
|
||||
that.insuredInfo.certiexpiredate = that.insuredInfo.effectiveDateType == 'true'?'':that.userInfo.certiexpiredate
|
||||
this.insuredInfo.homeName = getAreaName([
|
||||
{ code: this.insuredInfo.homeProvince },
|
||||
{ code: this.insuredInfo.homeCity },
|
||||
{ code: this.insuredInfo.homeArea }
|
||||
])
|
||||
// that.insuredInfo.effectiveDateType = that.insuredInfo.effectiveDateType == 'true'?true:false
|
||||
// that.insuredInfo.certiexpiredate = that.insuredInfo.effectiveDateType == 'true'?'':that.userInfo.certiexpiredate
|
||||
// this.insuredInfo.homeName = getAreaName([
|
||||
// { code: this.insuredInfo.homeProvince },
|
||||
// { code: this.insuredInfo.homeCity },
|
||||
// { code: this.insuredInfo.homeArea }
|
||||
// ])
|
||||
that.insuredInfo.medical = '0'
|
||||
if (this.insuredInfo.birthday) {
|
||||
let age = utilsAge.getAge(this.insuredInfo.birthday, new Date())
|
||||
@@ -680,7 +681,7 @@ export default {
|
||||
}
|
||||
;[this.homeShow, this.insureType] = [true, insureType]
|
||||
if (insureType === '2') {
|
||||
this.areaCode = this.insuredInfo.homeArea
|
||||
// this.areaCode = this.insuredInfo.homeArea
|
||||
}
|
||||
},
|
||||
//监听名字变化
|
||||
@@ -827,44 +828,44 @@ export default {
|
||||
//选择保障方案时走试算接口
|
||||
await this.insureTrial(0)
|
||||
} else if (this.pickerType == '22') {
|
||||
this.idLimitInsured = false
|
||||
//选择证件类型后,清空证件号,证件截止日期,出生日期
|
||||
this.insuredInfo.idNo = this.insuredInfo.certiexpiredate = this.insuredInfo.birthday = ''
|
||||
// this.idLimitInsured = false
|
||||
// //选择证件类型后,清空证件号,证件截止日期,出生日期
|
||||
// this.insuredInfo.idNo = this.insuredInfo.certiexpiredate = this.insuredInfo.birthday = ''
|
||||
//身份证以外的证件类型可以使用长期
|
||||
//value.id 1 居民身份证 todo
|
||||
if (value.id != '1') {
|
||||
//2516--三个学平险--被保险人身份信息选择仅保留“身份证、户口本”,目前选择户口本仍要填写身份证到期
|
||||
//时间,如果选择户口本项,默认为长期。
|
||||
if (this.itemProductDTOS.productCode == 'GFRS_M0048' || this.itemProductDTOS.productCode == 'GFRS_M0049' || this.itemProductDTOS.productCode == 'GFRS_M0050') {
|
||||
this.insuredInfo.effectiveDateType = true
|
||||
}
|
||||
this.effectiveDateTypeAbleInsured = false
|
||||
} else {
|
||||
//身份证
|
||||
if (this.insuredInfo.birthday) {
|
||||
let age = utilsAge.getAge(this.insuredInfo.birthday, new Date())
|
||||
this.effectiveDateTypeAbleInsured = !(age >= 45)
|
||||
//身份证,年龄小于等于45,不可选长期
|
||||
this.insuredInfo.effectiveDateType = false
|
||||
}
|
||||
}
|
||||
// if (value.id != '1') {
|
||||
// //2516--三个学平险--被保险人身份信息选择仅保留“身份证、户口本”,目前选择户口本仍要填写身份证到期
|
||||
// //时间,如果选择户口本项,默认为长期。
|
||||
// if (this.itemProductDTOS.productCode == 'GFRS_M0048' || this.itemProductDTOS.productCode == 'GFRS_M0049' || this.itemProductDTOS.productCode == 'GFRS_M0050') {
|
||||
// this.insuredInfo.effectiveDateType = true
|
||||
// }
|
||||
// this.effectiveDateTypeAbleInsured = false
|
||||
// } else {
|
||||
// //身份证
|
||||
// if (this.insuredInfo.birthday) {
|
||||
// let age = utilsAge.getAge(this.insuredInfo.birthday, new Date())
|
||||
// this.effectiveDateTypeAbleInsured = !(age >= 45)
|
||||
// //身份证,年龄小于等于45,不可选长期
|
||||
// this.insuredInfo.effectiveDateType = false
|
||||
// }
|
||||
// }
|
||||
// 去掉--选择户口本时,是否长期默认为是,不可点击,有效止期隐藏(证件类型为户口本时,被保人年龄小于16周岁时,户口本有效止期长期变更为第16周岁日期)
|
||||
if(value.id==2){
|
||||
this.idLimitInsured = true
|
||||
//证件类型户口本时,证件截止日期和是否长期不可选择
|
||||
this.effectiveDateTypeAbleInsured = true //长期按钮是否禁用--被保人
|
||||
this.insuredInfo.effectiveDateType = false //是否长期
|
||||
// this.insuredInfo.effectiveDateType = true
|
||||
// this.insuredInfo.certiexpiredate = '9999-12-31'
|
||||
// this.effectiveDateTypeAbleInsured = true
|
||||
// this.isInsuredCertiexpiredate = false
|
||||
// this.isInsuredCertiexpiredate = true
|
||||
}else{
|
||||
this.insuredInfo.certiexpiredate = ''
|
||||
this.insuredInfo.effectiveDateType = false
|
||||
this.effectiveDateTypeAbleInsured = false
|
||||
// this.isInsuredCertiexpiredate = true
|
||||
}
|
||||
// if(value.id==2){
|
||||
// this.idLimitInsured = true
|
||||
// //证件类型户口本时,证件截止日期和是否长期不可选择
|
||||
// this.effectiveDateTypeAbleInsured = true //长期按钮是否禁用--被保人
|
||||
// this.insuredInfo.effectiveDateType = false //是否长期
|
||||
// // this.insuredInfo.effectiveDateType = true
|
||||
// // this.insuredInfo.certiexpiredate = '9999-12-31'
|
||||
// // this.effectiveDateTypeAbleInsured = true
|
||||
// // this.isInsuredCertiexpiredate = false
|
||||
// // this.isInsuredCertiexpiredate = true
|
||||
// }else{
|
||||
// this.insuredInfo.certiexpiredate = ''
|
||||
// this.insuredInfo.effectiveDateType = false
|
||||
// this.effectiveDateTypeAbleInsured = false
|
||||
// // this.isInsuredCertiexpiredate = true
|
||||
// }
|
||||
this.insuredInfo.idType = value.id
|
||||
} else if(this.pickerType == 'npType') {
|
||||
this.userInfo.npType = value.id
|
||||
@@ -1026,25 +1027,25 @@ export default {
|
||||
this.productDate = currentData + '0时至' + productDateTime + '24时止'
|
||||
}
|
||||
break
|
||||
case '7': {
|
||||
console.log('证件截止日期')
|
||||
//被保人--证件截止日期
|
||||
//如果已经勾选了长期
|
||||
if (this.insuredInfo.effectiveDateType) {
|
||||
//清空数据并返回
|
||||
this.insuredInfo.certiexpiredate = ''
|
||||
this.$refs.certiexpiredate.date = ''
|
||||
return
|
||||
}
|
||||
this.insuredInfo.effectiveDateType = false
|
||||
//如果录入日期早于当前日期
|
||||
if (Date.parse(val) < Date.parse(new Date())) {
|
||||
this.insuredInfo.certiexpiredate = ''
|
||||
this.$refs.certiexpiredate.date = ''
|
||||
return this.$toast('您的证件已过期')
|
||||
}
|
||||
}
|
||||
break
|
||||
// case '7': {
|
||||
// console.log('证件截止日期')
|
||||
// //被保人--证件截止日期
|
||||
// //如果已经勾选了长期
|
||||
// if (this.insuredInfo.effectiveDateType) {
|
||||
// //清空数据并返回
|
||||
// this.insuredInfo.certiexpiredate = ''
|
||||
// this.$refs.certiexpiredate.date = ''
|
||||
// return
|
||||
// }
|
||||
// this.insuredInfo.effectiveDateType = false
|
||||
// //如果录入日期早于当前日期
|
||||
// if (Date.parse(val) < Date.parse(new Date())) {
|
||||
// this.insuredInfo.certiexpiredate = ''
|
||||
// this.$refs.certiexpiredate.date = ''
|
||||
// return this.$toast('您的证件已过期')
|
||||
// }
|
||||
// }
|
||||
// break
|
||||
}
|
||||
},
|
||||
//选择客户
|
||||
@@ -1071,45 +1072,45 @@ export default {
|
||||
this.insuredInfo.birthday = data.birthday //出生日期
|
||||
this.insuredInfo.idType = data.customerIdType //证件类型
|
||||
this.insuredInfo.idNo = data.customerIdNumber //证件类别
|
||||
if(this.insuredInfo.idType == '2' && idToData(this.insuredInfo.idNo).age <16){
|
||||
// 获取出生日期年份+16,证件类型为户口本时,被保人年龄小于16周岁时,卡单户口本有效止期长期变更为第16周岁日期
|
||||
let year = Number(this.insuredInfo.birthday.substr(0,4)) + 16
|
||||
if(this.insuredInfo.birthday.substr(5,5) == '02-29'){
|
||||
// 获取某年某月一共多少天
|
||||
let date = new Date(year, 2, 1)
|
||||
let dayEnd = new Date(date.getTime() - 864e5).getDate()
|
||||
this.insuredInfo.certiexpiredate = year +'-02-'+ dayEnd
|
||||
}else{
|
||||
this.insuredInfo.certiexpiredate = year +'-'+ this.insuredInfo.birthday.substr(5,5)
|
||||
}
|
||||
}
|
||||
// if(this.insuredInfo.idType == '2' && idToData(this.insuredInfo.idNo).age <16){
|
||||
// // 获取出生日期年份+16,证件类型为户口本时,被保人年龄小于16周岁时,卡单户口本有效止期长期变更为第16周岁日期
|
||||
// let year = Number(this.insuredInfo.birthday.substr(0,4)) + 16
|
||||
// if(this.insuredInfo.birthday.substr(5,5) == '02-29'){
|
||||
// // 获取某年某月一共多少天
|
||||
// let date = new Date(year, 2, 1)
|
||||
// let dayEnd = new Date(date.getTime() - 864e5).getDate()
|
||||
// this.insuredInfo.certiexpiredate = year +'-02-'+ dayEnd
|
||||
// }else{
|
||||
// this.insuredInfo.certiexpiredate = year +'-'+ this.insuredInfo.birthday.substr(5,5)
|
||||
// }
|
||||
// }
|
||||
//户口本
|
||||
if (data.customerIdType == 2) {
|
||||
this.insuredInfo.effectiveDateType = true
|
||||
this.insuredInfo.certiexpiredate = '9999-12-31'
|
||||
this.effectiveDateTypeAbleInsured = true
|
||||
// this.isInsuredCertiexpiredate = false
|
||||
}else{
|
||||
// this.isInsuredCertiexpiredate = true
|
||||
if (data.idEffectEndDate == '9999-12-31') {
|
||||
this.insuredInfo.certiexpiredate = ''
|
||||
this.insuredInfo.effectiveDateType = true //是否长期
|
||||
this.effectiveDateTypeAbleInsured = true
|
||||
} else {
|
||||
this.insuredInfo.certiexpiredate = data.idEffectEndDate //证件截止日期
|
||||
this.insuredInfo.effectiveDateType = false
|
||||
this.effectiveDateTypeAbleInsured = false
|
||||
}
|
||||
}
|
||||
// if (data.customerIdType == 2) {
|
||||
// this.insuredInfo.effectiveDateType = true
|
||||
// this.insuredInfo.certiexpiredate = '9999-12-31'
|
||||
// this.effectiveDateTypeAbleInsured = true
|
||||
// // this.isInsuredCertiexpiredate = false
|
||||
// }else{
|
||||
// // this.isInsuredCertiexpiredate = true
|
||||
// if (data.idEffectEndDate == '9999-12-31') {
|
||||
// this.insuredInfo.certiexpiredate = ''
|
||||
// this.insuredInfo.effectiveDateType = true //是否长期
|
||||
// this.effectiveDateTypeAbleInsured = true
|
||||
// } else {
|
||||
// this.insuredInfo.certiexpiredate = data.idEffectEndDate //证件截止日期
|
||||
// this.insuredInfo.effectiveDateType = false
|
||||
// this.effectiveDateTypeAbleInsured = false
|
||||
// }
|
||||
// }
|
||||
this.insuredInfo.email = data.email //电子邮箱
|
||||
this.insuredInfo.mobile = data.customerPhone //移动电话
|
||||
this.insuredInfo.homeProvince = data.homeProvince?data.homeProvince:this.userInfo.homeProvince//家庭省
|
||||
this.insuredInfo.homeCity = data.homeCity?data.homeCity:this.userInfo.homeCity //家庭市
|
||||
this.insuredInfo.homeArea = data.homeArea?data.homeArea:this.userInfo.homeArea //家庭区
|
||||
if (data.homeProvince && data.homeCity && data.homeArea) {
|
||||
this.insuredInfo.homeName = getAreaName([{ code: data.homeProvince }, { code: data.homeCity }, { code: data.homeArea }]) //家庭地址
|
||||
}
|
||||
this.insuredInfo.homeAddress = data.homeAddress //家庭详细地址
|
||||
// this.insuredInfo.homeProvince = data.homeProvince?data.homeProvince:this.userInfo.homeProvince//家庭省
|
||||
// this.insuredInfo.homeCity = data.homeCity?data.homeCity:this.userInfo.homeCity //家庭市
|
||||
// this.insuredInfo.homeArea = data.homeArea?data.homeArea:this.userInfo.homeArea //家庭区
|
||||
// if (data.homeProvince && data.homeCity && data.homeArea) {
|
||||
// this.insuredInfo.homeName = getAreaName([{ code: data.homeProvince }, { code: data.homeCity }, { code: data.homeArea }]) //家庭地址
|
||||
// }
|
||||
// this.insuredInfo.homeAddress = data.homeAddress //家庭详细地址
|
||||
this.insuredInfo.medical = data.socialSecurity //有无社保
|
||||
// this.insuredInfo.occupationCode = data.occupationCode
|
||||
// this.insuredInfo.occupationName = data.occupationName
|
||||
@@ -1180,12 +1181,12 @@ export default {
|
||||
if (!this.insuredInfo.marriage) {
|
||||
return this.$toast('被保人婚姻状况不能为空')
|
||||
}
|
||||
if (!this.insuredInfo.homeName) {
|
||||
return this.$toast('被保人联系地址不能为空')
|
||||
}
|
||||
if (!this.insuredInfo.homeAddress) {
|
||||
return this.$toast('被保人详细地址不能为空')
|
||||
}
|
||||
// if (!this.insuredInfo.homeName) {
|
||||
// return this.$toast('被保人联系地址不能为空')
|
||||
// }
|
||||
// if (!this.insuredInfo.homeAddress) {
|
||||
// return this.$toast('被保人详细地址不能为空')
|
||||
// }
|
||||
if (this.insuredInfo.relationToAppnt == 2 && this.userInfo.sex == this.insuredInfo.sex) {
|
||||
return this.$toast('哦~配偶性别不能相同的哟~')
|
||||
}
|
||||
@@ -1237,36 +1238,36 @@ export default {
|
||||
console.log('证件号码校验有误')
|
||||
return this.$toast('您填写的证件号码有误')
|
||||
}
|
||||
if (insuredAge < 46 && this.insuredInfo.effectiveDateType == true) {
|
||||
return this.$toast('证件有效期错误,年龄小于46周岁的公民身份证有效期不能为长期')
|
||||
}
|
||||
// if (insuredAge < 46 && this.insuredInfo.effectiveDateType == true) {
|
||||
// return this.$toast('证件有效期错误,年龄小于46周岁的公民身份证有效期不能为长期')
|
||||
// }
|
||||
|
||||
// 年龄在 16-25 周岁之间
|
||||
if (insuredAge <= 15) {
|
||||
if (Date.parse(this.insuredInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1975-01-01')) {
|
||||
this.insuredInfo.certiexpiredate = ''
|
||||
this.$refs.certiexpiredate.date = ''
|
||||
// this.effectiveDateTypeAble = true
|
||||
return this.$toast('证件有效期错误,未满16周岁的公民身份证有效期应小于等于5年')
|
||||
}
|
||||
//年龄在 16-25 周岁之间
|
||||
} else if (insuredAge >= 16 && insuredAge <= 25) {
|
||||
console.log('年龄在16-25周岁之间')
|
||||
if (Date.parse(this.insuredInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1980-01-01')) {
|
||||
this.insuredInfo.certiexpiredate = ''
|
||||
this.$refs.certiexpiredate.date = ''
|
||||
this.certiexpiredateRequiredInsured = true
|
||||
return this.$toast('证件有效期不正常,16周岁至25周岁公民身份证有效期应小于等于10年')
|
||||
}
|
||||
//年龄在 26-45 周岁之间
|
||||
} else if (insuredAge >= 26 && insuredAge <= 45) {
|
||||
if (Date.parse(this.insuredInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1990-01-01')) {
|
||||
this.insuredInfo.certiexpiredate = ''
|
||||
this.$refs.certiexpiredate.date = ''
|
||||
this.certiexpiredateRequiredInsured = true
|
||||
return this.$toast('证件有效期不正常,26周岁至45周岁公民身份证有效期应小于等于20年')
|
||||
}
|
||||
}
|
||||
// if (insuredAge <= 15) {
|
||||
// if (Date.parse(this.insuredInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1975-01-01')) {
|
||||
// this.insuredInfo.certiexpiredate = ''
|
||||
// this.$refs.certiexpiredate.date = ''
|
||||
// // this.effectiveDateTypeAble = true
|
||||
// return this.$toast('证件有效期错误,未满16周岁的公民身份证有效期应小于等于5年')
|
||||
// }
|
||||
// //年龄在 16-25 周岁之间
|
||||
// } else if (insuredAge >= 16 && insuredAge <= 25) {
|
||||
// console.log('年龄在16-25周岁之间')
|
||||
// if (Date.parse(this.insuredInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1980-01-01')) {
|
||||
// this.insuredInfo.certiexpiredate = ''
|
||||
// this.$refs.certiexpiredate.date = ''
|
||||
// this.certiexpiredateRequiredInsured = true
|
||||
// return this.$toast('证件有效期不正常,16周岁至25周岁公民身份证有效期应小于等于10年')
|
||||
// }
|
||||
// //年龄在 26-45 周岁之间
|
||||
// } else if (insuredAge >= 26 && insuredAge <= 45) {
|
||||
// if (Date.parse(this.insuredInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1990-01-01')) {
|
||||
// this.insuredInfo.certiexpiredate = ''
|
||||
// this.$refs.certiexpiredate.date = ''
|
||||
// this.certiexpiredateRequiredInsured = true
|
||||
// return this.$toast('证件有效期不正常,26周岁至45周岁公民身份证有效期应小于等于20年')
|
||||
// }
|
||||
// }
|
||||
}else if(this.insuredInfo.idType == '2'){
|
||||
if (idToData(this.insuredInfo.idNo).age >= 16) {
|
||||
return this.$toast('客户年龄在16周岁以上,不能使用户口本作为有效证件')
|
||||
@@ -1356,10 +1357,10 @@ export default {
|
||||
if (this.insuredInfo.medical == '1') {
|
||||
return this.$toast('被保险人需有社保,才可投保此险种。')
|
||||
}
|
||||
// 是否长期选项 赋值
|
||||
if (this.insuredInfo.effectiveDateType) {
|
||||
this.insuredInfo.certiexpiredate = '9999-12-31'
|
||||
}
|
||||
// // 是否长期选项 赋值
|
||||
// if (this.insuredInfo.effectiveDateType) {
|
||||
// this.insuredInfo.certiexpiredate = '9999-12-31'
|
||||
// }
|
||||
if (this.manageComCode == '45' && (this.insuredInfo.isNewPeopleFlag == '' || this.insuredInfo.isNewPeopleFlag == null || this.insuredInfo.isNewPeopleFlag == undefined)) {
|
||||
return this.$toast('投保人新市民身份不能为空')
|
||||
}
|
||||
@@ -1601,17 +1602,17 @@ export default {
|
||||
this.idLimitInsured = false
|
||||
}
|
||||
// 获取出生日期年份+16,证件类型为户口本时,被保人年龄小于16周岁时,卡单户口本有效止期长期变更为第16周岁日期
|
||||
if(this.insuredInfo.idType == '2' && idToData(this.insuredInfo.idNo).age <16){
|
||||
let year = Number(this.insuredInfo.birthday.substr(0,4)) + 16
|
||||
if(this.insuredInfo.birthday.substr(5,5) == '02-29'){
|
||||
// 获取某年某月一共多少天
|
||||
let date = new Date(year, 2, 1)
|
||||
let dayEnd = new Date(date.getTime() - 864e5).getDate()
|
||||
this.insuredInfo.certiexpiredate = year+'-02-'+ dayEnd
|
||||
}else{
|
||||
this.insuredInfo.certiexpiredate = year+'-'+ this.insuredInfo.birthday.substr(5,5)
|
||||
}
|
||||
}
|
||||
// if(this.insuredInfo.idType == '2' && idToData(this.insuredInfo.idNo).age <16){
|
||||
// let year = Number(this.insuredInfo.birthday.substr(0,4)) + 16
|
||||
// if(this.insuredInfo.birthday.substr(5,5) == '02-29'){
|
||||
// // 获取某年某月一共多少天
|
||||
// let date = new Date(year, 2, 1)
|
||||
// let dayEnd = new Date(date.getTime() - 864e5).getDate()
|
||||
// this.insuredInfo.certiexpiredate = year+'-02-'+ dayEnd
|
||||
// }else{
|
||||
// this.insuredInfo.certiexpiredate = year+'-'+ this.insuredInfo.birthday.substr(5,5)
|
||||
// }
|
||||
// }
|
||||
this.insuredInfo.sex = idToData(val).sex
|
||||
if (this.insuredInfo.birthday) {
|
||||
let age = utilsAge.getAge(this.insuredInfo.birthday, new Date())
|
||||
@@ -1768,47 +1769,47 @@ export default {
|
||||
// immediate: true,
|
||||
// deep: true
|
||||
// },
|
||||
'userInfo.homeName': {
|
||||
handler(newV) {
|
||||
if (this.withRootUser.value) {
|
||||
this.insuredInfo.homeName = getAreaName([
|
||||
{ code: this.userInfo.homeProvince },
|
||||
{ code: this.userInfo.homeCity },
|
||||
{ code: this.userInfo.homeArea }
|
||||
])
|
||||
this.insuredInfo.homeProvince = this.userInfo.homeProvince
|
||||
this.insuredInfo.homeCity = this.userInfo.homeCity
|
||||
this.insuredInfo.homeArea = this.userInfo.homeArea
|
||||
this.insuredInfo.homeAddress = this.userInfo.homeAddress
|
||||
}
|
||||
},
|
||||
immediate: true,
|
||||
deep: true
|
||||
},
|
||||
'userInfo.homeAddress': {
|
||||
handler(newV) {
|
||||
if (this.withRootUser.value) {
|
||||
this.insuredInfo.homeAddress = this.userInfo.homeAddress
|
||||
}
|
||||
},
|
||||
immediate: true,
|
||||
deep: true
|
||||
},
|
||||
async 'withRootUser.value'(n) {
|
||||
if (n) {
|
||||
this.insuredInfo.homeName = getAreaName([
|
||||
{ code: this.userInfo.homeProvince },
|
||||
{ code: this.userInfo.homeCity },
|
||||
{ code: this.userInfo.homeArea }
|
||||
])
|
||||
this.insuredInfo.homeProvince = this.userInfo.homeProvince
|
||||
this.insuredInfo.homeCity = this.userInfo.homeCity
|
||||
this.insuredInfo.homeArea = this.userInfo.homeArea
|
||||
this.insuredInfo.homeAddress = this.userInfo.homeAddress
|
||||
} else {
|
||||
this.insuredInfo.homeName = this.insuredInfo.homeAddress = ''
|
||||
}
|
||||
}
|
||||
// 'userInfo.homeName': {
|
||||
// handler(newV) {
|
||||
// if (this.withRootUser.value) {
|
||||
// this.insuredInfo.homeName = getAreaName([
|
||||
// { code: this.userInfo.homeProvince },
|
||||
// { code: this.userInfo.homeCity },
|
||||
// { code: this.userInfo.homeArea }
|
||||
// ])
|
||||
// this.insuredInfo.homeProvince = this.userInfo.homeProvince
|
||||
// this.insuredInfo.homeCity = this.userInfo.homeCity
|
||||
// this.insuredInfo.homeArea = this.userInfo.homeArea
|
||||
// this.insuredInfo.homeAddress = this.userInfo.homeAddress
|
||||
// }
|
||||
// },
|
||||
// immediate: true,
|
||||
// deep: true
|
||||
// },
|
||||
// 'userInfo.homeAddress': {
|
||||
// handler(newV) {
|
||||
// if (this.withRootUser.value) {
|
||||
// this.insuredInfo.homeAddress = this.userInfo.homeAddress
|
||||
// }
|
||||
// },
|
||||
// immediate: true,
|
||||
// deep: true
|
||||
// },
|
||||
// async 'withRootUser.value'(n) {
|
||||
// if (n) {
|
||||
// this.insuredInfo.homeName = getAreaName([
|
||||
// { code: this.userInfo.homeProvince },
|
||||
// { code: this.userInfo.homeCity },
|
||||
// { code: this.userInfo.homeArea }
|
||||
// ])
|
||||
// this.insuredInfo.homeProvince = this.userInfo.homeProvince
|
||||
// this.insuredInfo.homeCity = this.userInfo.homeCity
|
||||
// this.insuredInfo.homeArea = this.userInfo.homeArea
|
||||
// this.insuredInfo.homeAddress = this.userInfo.homeAddress
|
||||
// } else {
|
||||
// this.insuredInfo.homeName = this.insuredInfo.homeAddress = ''
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
<van-field :value='appntInfo.idNo' label='证件号码' name='证件号码' readonly />
|
||||
<van-field :value='appntInfo.mobile' label='手机号码' name='手机号码' readonly />
|
||||
<van-field :value='appntInfo.email' label='电子邮箱' name='电子邮箱' readonly />
|
||||
<van-field :value='appntInfo.homeName' label='联系地址' name='联系地址' readonly />
|
||||
<van-field :value='appntInfo.homeAddress' label='详细地址' name='详细地址' readonly />
|
||||
<van-field :value='appntInfo.homeName' label='联系地址' name='联系地址' readonly v-if="appntInfo.homeName"/>
|
||||
<van-field :value='appntInfo.homeAddress' label='详细地址' name='详细地址' readonly v-if="appntInfo.homeAddress"/>
|
||||
</van-cell-group>
|
||||
<van-cell-group class='mt10'>
|
||||
<p style='border-bottom: 1px solid #ebedf0' class='fs15 fwb pl10 pv12'>被保人信息</p>
|
||||
@@ -17,8 +17,8 @@
|
||||
<van-field :value='insuredInfo.idNo' label='证件号码' name='证件号码' readonly />
|
||||
<van-field v-if='isLessEighteen' :value='insuredInfo.mobile' label='手机号码' name='手机号码' readonly />
|
||||
<van-field v-if='isLessEighteen' :value='insuredInfo.email' label='电子邮箱' name='电子邮箱' readonly />
|
||||
<van-field :value='insuredInfo.homeName' label='联系地址' name='联系地址' readonly />
|
||||
<van-field :value='insuredInfo.homeAddress' label='详细地址' name='详细地址' readonly />
|
||||
<van-field :value='insuredInfo.homeName' label='联系地址' name='联系地址' readonly v-if="insuredInfo.homeName" />
|
||||
<van-field :value='insuredInfo.homeAddress' label='详细地址' name='详细地址' readonly v-if="insuredInfo.homeAddress"/>
|
||||
</van-cell-group>
|
||||
<van-cell-group class='mt10'>
|
||||
<p style='border-bottom: 1px solid #ebedf0' class='fs15 fwb pl10 pv12'>受益人信息</p>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -49,6 +49,7 @@
|
||||
)
|
||||
"
|
||||
input-width="100"
|
||||
:async-change="true"
|
||||
:integer="false"
|
||||
/>
|
||||
</div>
|
||||
@@ -166,6 +167,7 @@
|
||||
)
|
||||
"
|
||||
input-width="200"
|
||||
:async-change="true"
|
||||
:integer="false"
|
||||
/>
|
||||
<van-checkbox
|
||||
@@ -199,6 +201,7 @@
|
||||
:max="item.productTrialYearDTOS[payEndYearColumnsIndex].maxAmt || item.productTrialYearDTOS[payEndYearColumnsIndex].maxPrem"
|
||||
:show-plus="false"
|
||||
:show-minus="false"
|
||||
:async-change="true"
|
||||
class="ml30"
|
||||
@change="
|
||||
stepperChange(
|
||||
@@ -354,6 +357,7 @@
|
||||
item.productCode != 'GFRS_M0083' &&
|
||||
item.productCode != 'GFRS_M0098' &&
|
||||
item.productCode != 'GFRS_M0103' &&
|
||||
item.productCode != 'GFRS_M0112' &&
|
||||
item.productCode != 'GFRS_M0085'
|
||||
"
|
||||
>
|
||||
@@ -571,7 +575,7 @@ export default {
|
||||
[Checkbox.name]: Checkbox,
|
||||
[Dialog.name]: Dialog,
|
||||
[Radio.name]: Radio,
|
||||
[RadioGroup.name]: RadioGroup
|
||||
[RadioGroup.name]: RadioGroup,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -619,7 +623,17 @@ export default {
|
||||
isCrossChannel: '0', //是否交叉渠道 1-是 0-否
|
||||
trialResultsShow: false, //核保试算结果
|
||||
riskAmntList: [], //累计寿险风险保额(元)、累计重大疾病风险保额(元)、累计意外伤害风险保额(元)、意外住院津贴日额(元)、一般住院津贴日额(元)、特定疾病住院津贴日额(元)
|
||||
verifyResultList: [] //核保试算返回数据结构
|
||||
verifyResultList: [], //核保试算返回数据结构
|
||||
|
||||
|
||||
/**
|
||||
* 是否需要填写适应性问卷
|
||||
* 0需要填写
|
||||
* 1不需要填写,不满足条件,投保人年龄大于等于60周岁 投保万能险和分红险,无需在线评估
|
||||
* 2不需要填写,超过次数限制弹提示,继续后续投保流程
|
||||
* 3不需要填写,已有有效期的问卷,需展示结论
|
||||
* 5不需要填写,不满足条件,仅需一年期以上产品需要设置此评估问卷,一年期及以下产品无需设置此评估问卷
|
||||
*/
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -841,14 +855,17 @@ export default {
|
||||
this.isEnterAddtionRiskListFunc()
|
||||
}
|
||||
}
|
||||
if (item.mainRiskCode == 'GFRS_M0083' || item.mainRiskCode == 'GFRS_M0098' || item.mainRiskCode == 'GFRS_M0103'|| item.mainRiskCode == 'GFRS_M0085') {
|
||||
if (item.mainRiskCode == 'GFRS_M0083' || item.mainRiskCode == 'GFRS_M0098' || item.mainRiskCode == 'GFRS_M0103'|| item.mainRiskCode == 'GFRS_M0112' || item.mainRiskCode == 'GFRS_M0085') {
|
||||
this.disabledShow = true
|
||||
}
|
||||
if (item.hasPredictTransferPrem == '1') {
|
||||
this.disabledShow = false
|
||||
}
|
||||
|
||||
if ((item.mainRiskCode == 'GFRS_M0083' || item.mainRiskCode == 'GFRS_M0098' || item.mainRiskCode == 'GFRS_M0103'|| item.mainRiskCode == 'GFRS_M0085') && this.isFrom == 'proposal') {
|
||||
if (
|
||||
(item.mainRiskCode == 'GFRS_M0083' || item.mainRiskCode == 'GFRS_M0098' || item.mainRiskCode == 'GFRS_M0103'|| item.mainRiskCode == 'GFRS_M0112' || item.mainRiskCode == 'GFRS_M0085') &&
|
||||
this.isFrom == 'proposal'
|
||||
) {
|
||||
item.calFactorLst.forEach((i) => {
|
||||
if (i.code == 'inputPrem') {
|
||||
i.minPrem = 0.01
|
||||
@@ -962,10 +979,14 @@ export default {
|
||||
}
|
||||
//键盘小数点无法输入,试了一下iOS16以下没这个问题,iOS16以上有这个问题, type="number"改成type="digit"就可以输入了,
|
||||
this.$nextTick(() => {
|
||||
var div1 = document.getElementsByClassName('van-stepper__input')
|
||||
//拿到的是一个数组集合,遍历修改每一个input
|
||||
for (var x in div1) {
|
||||
div1[x].setAttribute('type', 'digit')
|
||||
try {
|
||||
var div1 = document.getElementsByClassName('van-stepper__input')
|
||||
//拿到的是一个数组集合,遍历修改每一个input
|
||||
for (var x in div1) {
|
||||
div1[x].setAttribute('type', 'digit')
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(e)
|
||||
}
|
||||
})
|
||||
},
|
||||
@@ -1096,10 +1117,11 @@ export default {
|
||||
}
|
||||
},
|
||||
//弹框选择
|
||||
toSelect(index, index1, columns) {
|
||||
toSelect(productIndex, factorIndex, columns) {
|
||||
this.columns = []
|
||||
;[this.popupShow, this.productIndex, this.calFactorIndex] = [true, index, index1]
|
||||
let currentFactor = this.chooseProducts[this.productIndex].calFactorLst
|
||||
;[this.popupShow, this.productIndex, this.calFactorIndex] = [true, productIndex, factorIndex]
|
||||
let currentProduct = this.chooseProducts[productIndex]
|
||||
let currentFactor = currentProduct.calFactorLst
|
||||
let currentEle = currentFactor[this.calFactorIndex]
|
||||
let sex = this.saleInsuredPersonInfo.sex //0男 1女
|
||||
//性别男女,养老保险金领取年龄不一致
|
||||
@@ -1109,9 +1131,37 @@ export default {
|
||||
this.columns.push(item)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.columns = columns
|
||||
return
|
||||
}
|
||||
if (currentProduct.mainRiskCode === 'GFRS_M0111') {
|
||||
// 国富人寿鑫盈嘉两全保险(分红型) 交费期间payEndYear: 1次交清和3年交 ,保险期间insuYear: 5年和6年
|
||||
// 现要求payEndYear选择一次交清insuYear只能选5年,payEndYear选择3年交payEndYear只能选6年保险期间
|
||||
if (currentEle.code == 'insuYear') {
|
||||
let payEndYearFactor = currentFactor.find((factor) => factor.code == 'payEndYear')
|
||||
if (!payEndYearFactor) {
|
||||
return
|
||||
}
|
||||
let payEndYear = payEndYearFactor.showContent
|
||||
if (!payEndYear) {
|
||||
// 保险期间未选择, 提示选择
|
||||
this.$toast(`请先选择${payEndYearFactor.name}`)
|
||||
return
|
||||
}
|
||||
let payEndYearOption = payEndYearFactor.columns.find((item) => item.text == payEndYear)
|
||||
let payEndYearVal = payEndYearOption.value
|
||||
console.log('payEndYearVal--->', payEndYearVal, columns)
|
||||
// 如果有值,则需约定可选择项
|
||||
if (payEndYearVal) {
|
||||
columns.forEach((item) => {
|
||||
if ((payEndYearVal == '1000' && item.value == '5') || (payEndYearVal == '3' && item.value == '6')) {
|
||||
this.columns.push(item)
|
||||
}
|
||||
})
|
||||
}
|
||||
return
|
||||
}
|
||||
}
|
||||
this.columns = columns
|
||||
},
|
||||
//取消picker
|
||||
onCancel() {
|
||||
@@ -1127,7 +1177,7 @@ export default {
|
||||
let currentEle = currentFactor[this.calFactorIndex]
|
||||
if (currentEle.code == 'insuYear') {
|
||||
if (value.value == '70') {
|
||||
this.chooseProducts.forEach((item, index) => {
|
||||
this.chooseProducts.forEach((item) => {
|
||||
if (item.mainRiskCode == 'GFRS_M0086') {
|
||||
item.calFactorLst.forEach((i) => {
|
||||
if (i.code == 'inputAmt') {
|
||||
@@ -1139,7 +1189,7 @@ export default {
|
||||
}
|
||||
})
|
||||
} else if (value.value == '106') {
|
||||
this.chooseProducts.forEach((item, index) => {
|
||||
this.chooseProducts.forEach((item) => {
|
||||
if (item.mainRiskCode == 'GFRS_M0086') {
|
||||
item.calFactorLst.forEach((i) => {
|
||||
if (i.code == 'inputAmt') {
|
||||
@@ -1152,17 +1202,24 @@ export default {
|
||||
})
|
||||
}
|
||||
}
|
||||
// let sex = this.saleInsuredPersonInfo.sex //0男 1女
|
||||
|
||||
// //特殊设置:如果需要填写的保费/保额校验规则跟缴费期间挂钩,当改变缴费期间时,将输入框的值恢复默认值1
|
||||
// if (currentEle.code == 'payEndYear' && this.isTrial == '0') {
|
||||
// currentEle['columns'].forEach((item, index) => {
|
||||
// if (item.value == value.value) {
|
||||
// this.payEndYearColumnsIndex = index
|
||||
// }
|
||||
// })
|
||||
// this.defalutAmt = 1
|
||||
// }
|
||||
if (this.chooseProducts[this.productIndex].mainRiskCode === 'GFRS_M0111') {
|
||||
// 国富人寿鑫盈嘉两全保险(分红型) 交费期间payEndYear: 1次交清和3年交 ,保险期间insuYear: 5年和6年
|
||||
// 现要求payEndYear选择一次交清insuYear只能选5年,payEndYear选择3年交payEndYear只能选6年保险期间
|
||||
if (currentEle.code == 'payEndYear') {
|
||||
// 获取当前的值
|
||||
let payEndYear = value.value
|
||||
console.log('payEndYear--->', payEndYear)
|
||||
const insuYearFactor = currentFactor.find((factor) => factor.code == 'insuYear')
|
||||
if (insuYearFactor) {
|
||||
console.log('insuYearFactor--->', insuYearFactor)
|
||||
let matchInsureYearValue = payEndYear == '1000' ? '5' : payEndYear == '3' ? '6' : null
|
||||
let matchedOption = insuYearFactor.columns.find((item) => item.value == matchInsureYearValue)
|
||||
insuYearFactor.showContent = matchedOption ? matchedOption.text : ''
|
||||
insuYearFactor['insuYear'] = matchedOption ? matchedOption.value : ''
|
||||
}
|
||||
}
|
||||
}
|
||||
//中介渠道,交费期间为一次性交清时,附加险GFRS_A0007,GFRS_A0009,GFRS_A0010去掉后,附加险list就为空--隐藏’附‘icon
|
||||
if (currentEle.code == 'payEndYear' && value.value == '1000') {
|
||||
this.isEnterAddtionRiskListFunc()
|
||||
@@ -1175,7 +1232,6 @@ export default {
|
||||
} else {
|
||||
this.isEnterAddtionRisk = true
|
||||
}
|
||||
|
||||
if (currentEle.showContent != value.text) {
|
||||
//通用规则校验
|
||||
if (await this.payExceedInsured(currentEle, currentFactor, value.value)) {
|
||||
@@ -1201,18 +1257,9 @@ export default {
|
||||
})
|
||||
this.defalutAmt = 1
|
||||
}
|
||||
// if(this.ruleExpression[productCode]){
|
||||
// this.errorMsg = []
|
||||
// this.ruleExpression[productCode].eventList.forEach(item => {
|
||||
// this.$emit(item,currentFactor,currentEle.code,value);
|
||||
// })
|
||||
// if(this.errorMsg.length > 0){
|
||||
// this.$toast(this.errorMsg[0]);
|
||||
// this.popupShow = false
|
||||
// return false
|
||||
// }
|
||||
// }
|
||||
|
||||
let productCode = this.chooseProducts[this.productIndex].productCode
|
||||
|
||||
if (this.ruleExpression[productCode]) {
|
||||
this.errorMsg = []
|
||||
let currentFactor = this.chooseProducts[this.productIndex].calFactorLst
|
||||
@@ -1756,10 +1803,22 @@ export default {
|
||||
}
|
||||
})
|
||||
this.chooseProducts.forEach((item, index) => {
|
||||
if (item.productCode == 'GFRS_A0010' || item.productCode == 'GFRS_A0009' || item.productCode == 'GFRS_A0013' || item.productCode == 'GFRS_A0014' || item.productCode == 'GFRS_A0015' || item.productCode == 'GFRS_A0016') {
|
||||
if (
|
||||
item.productCode == 'GFRS_A0010' ||
|
||||
item.productCode == 'GFRS_A0009' ||
|
||||
item.productCode == 'GFRS_A0013' ||
|
||||
item.productCode == 'GFRS_A0014' ||
|
||||
item.productCode == 'GFRS_A0015' ||
|
||||
item.productCode == 'GFRS_A0016'
|
||||
) {
|
||||
//(投保人)国富人寿附加豁免保险费重大疾病保险(B款)
|
||||
// 投被不同人:投保人豁免险单独搭配主险时,投保人豁免险,豁免主险保费,当投保人豁免险加两全(有长险附加险时),豁免主险保费加两全保费
|
||||
if (item.productCode == 'GFRS_A0009' || item.productCode == 'GFRS_A0013' || item.productCode == 'GFRS_A0015' || item.productCode == 'GFRS_A0016') {
|
||||
if (
|
||||
item.productCode == 'GFRS_A0009' ||
|
||||
item.productCode == 'GFRS_A0013' ||
|
||||
item.productCode == 'GFRS_A0015' ||
|
||||
item.productCode == 'GFRS_A0016'
|
||||
) {
|
||||
if (this.saleInsuredPersonInfo.relationToAppnt != 1) {
|
||||
//不同人
|
||||
if (showPrem001) {
|
||||
@@ -2182,14 +2241,14 @@ export default {
|
||||
let thisproductInfo = JSON.parse(window.localStorage.getItem('chooseProducts'))
|
||||
if (thisproductInfo && thisproductInfo.length != 0) {
|
||||
thisproductInfo.forEach((item) => {
|
||||
if (item.productCode == 'GFRS_M0083' || item.productCode == 'GFRS_M0098' || item.productCode == 'GFRS_M0103'|| item.productCode == 'GFRS_M0085') {
|
||||
if (item.productCode == 'GFRS_M0083' || item.productCode == 'GFRS_M0098' || item.productCode == 'GFRS_M0103'|| item.productCode == 'GFRS_M0112' || item.productCode == 'GFRS_M0085') {
|
||||
productCode = item.productCode
|
||||
hasPredictTransferPrem = item.hasPredictTransferPrem
|
||||
}
|
||||
})
|
||||
}
|
||||
if (this.isFrom != 'proposal') {
|
||||
if (productCode == 'GFRS_M0083' || productCode == 'GFRS_M0098' || productCode == 'GFRS_M0103'|| productCode == 'GFRS_M0085') {
|
||||
if (productCode == 'GFRS_M0083' || productCode == 'GFRS_M0098' || productCode == 'GFRS_M0103'|| productCode == 'GFRS_M0112' || productCode == 'GFRS_M0085') {
|
||||
if (!that.policyNo) {
|
||||
this.disabledShow = true
|
||||
that.chooseProducts.forEach((item) => {
|
||||
@@ -2390,14 +2449,13 @@ export default {
|
||||
trialFlag = false
|
||||
}
|
||||
}
|
||||
}else if (item.productCode == 'GFRS_M0101' || item.productCode == 'GFRS_M0102') {
|
||||
} else if (item.productCode == 'GFRS_M0101' || item.productCode == 'GFRS_M0102') {
|
||||
// 当投保人年龄≥75周岁时,需转人工核保。核心提示语,投保人年龄≥75周岁。前端提示语为:投保人年龄≥75周岁,需进一步人工审核
|
||||
let appntAge = this.saleInsuredInfo.age
|
||||
if (appntAge>=75){
|
||||
if (appntAge >= 75) {
|
||||
this.nextStepFlag = true
|
||||
this.$toast('投保人年龄≥75周岁,需进一步人工审核!')
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
if (!trialFlag) {
|
||||
@@ -2974,7 +3032,7 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (productCode == 'GFRS_M0083' || productCode == 'GFRS_M0098' || productCode == 'GFRS_M0103'|| productCode == 'GFRS_M0085') {
|
||||
} else if (productCode == 'GFRS_M0083' || productCode == 'GFRS_M0098' || productCode == 'GFRS_M0103'|| productCode == 'GFRS_M0112' || productCode == 'GFRS_M0085') {
|
||||
if (this.isFrom != 'proposal') {
|
||||
if (!this.policyNo && defalutValue < 5) {
|
||||
this.$toast('单独投保,保费为大于等于50000元')
|
||||
@@ -3097,7 +3155,7 @@ export default {
|
||||
return this.$toast('关联保单的格式不正确')
|
||||
}
|
||||
}
|
||||
|
||||
this.$CacheUtils.setLocItem('associatedPolicyNo', this.policyNo || null)
|
||||
//组装险种提交数据
|
||||
let [mainRiskCode, riskDTOLst] = ['', []]
|
||||
let rollInResult = '' //校验预计转入保费结果
|
||||
@@ -3324,7 +3382,7 @@ export default {
|
||||
index: -2,
|
||||
path: '/common/selectedProduct' + thismyurl
|
||||
}
|
||||
})
|
||||
})
|
||||
} else if (localStorage.isFrom == 'proposal') {
|
||||
let proposalOrderNo = this.$CacheUtils.getLocItem('proposalNo') || ''
|
||||
if (resultData.content.id) {
|
||||
@@ -3339,6 +3397,8 @@ export default {
|
||||
this.verifyResultList = resultData.content.data.verifyResultList
|
||||
this.riskAmntList = resultData.content.data.riskAmntList
|
||||
}
|
||||
}else{
|
||||
this.$toast(resultData.resultMessage)
|
||||
}
|
||||
},
|
||||
//建议书试算记录保存更新--编辑功能
|
||||
@@ -3407,7 +3467,7 @@ export default {
|
||||
this.$toast.fail('请输入正确的预计转入保费')
|
||||
return false
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
// chooseProducts: {
|
||||
|
||||
230
src/views/ebiz/common/EvaluateResult.vue
Normal file
230
src/views/ebiz/common/EvaluateResult.vue
Normal file
@@ -0,0 +1,230 @@
|
||||
<template>
|
||||
<div class="fit-wrapper">
|
||||
<div v-if="assessResult == '1'" class="fit-container">
|
||||
<img src="@/assets/images/ebiz/evalImg.png" alt="">
|
||||
<div class="pt20 pb20 pr10 pl20">
|
||||
<div class="fs18 pb6" v-for="(item,idx) in evalDescList " >{{idx+1}}、{{ item }}</div>
|
||||
<p class="green fw400 fs18 quitDesc">根据以上与适当性问卷匹配结果,我司建议您终止投保,关注该产品的特征及风险,审慎作出投保决策。 如您坚持投保,请您确认和签署《投保风险警示确认书》。</p>
|
||||
</div>
|
||||
<div class="footer-btn bottom-btn bg-white flex">
|
||||
<van-button type="danger" size="large" plain square class="btn" @click="exitProcess" v-no-more-click="1000">终止投保</van-button>
|
||||
<van-button type="danger" size="large" square class="btn" @click="showRisks = true" v-no-more-click="1000">已知晓上述提示,本人仍继续投保</van-button>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="assessResult === '0'" class="fit-container">
|
||||
<img src="@/assets/images/ebiz/evalImg.png" alt="">
|
||||
<div class="pt20 pb20 pr10 pl20 fs18">{{evalDesc}}</div>
|
||||
<div class="bottom-btn bg-white flex">
|
||||
<van-button type="danger" size="large" square class="btn" v-no-more-click="1000" @click="onConfirm">确认</van-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<van-dialog
|
||||
v-model="showRisks"
|
||||
title="投保风险警示确认书"
|
||||
confirmButtonText="知晓并同意警示书,继续投保"
|
||||
@confirm="onConfirm"
|
||||
class="riskDialog"
|
||||
>
|
||||
<span>
|
||||
本人声明已了解及完全清楚产品责任、风险情况、保险利益不确定及不及时交纳保险费的风险,经审慎考虑后,仍坚持购买该产品,并愿意承担由此可能产生的损失和其他后果。购买该产品的决定,系本人独立、自主、真实的意思表示。
|
||||
</span>
|
||||
</van-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { getOrderDetail, saveEvalateAnswer } from '@/api/ebiz/sale/sale'
|
||||
export default {
|
||||
name: 'EvaluateResult',
|
||||
data(){
|
||||
return {
|
||||
assessResult:null, //适应性问卷评估结果 0通过 1不通过
|
||||
showPopUp:true,
|
||||
showRisks:false,
|
||||
assessResultDescList:[],
|
||||
evalDesc:'',//测评结果描述
|
||||
evalDescList:[]
|
||||
}
|
||||
},
|
||||
mounted(){
|
||||
this.$jump({
|
||||
flag: 'navigation',
|
||||
extra: {
|
||||
title: '评估结果'
|
||||
},
|
||||
})
|
||||
document.body.style.backgroundColor = '#fff'
|
||||
getOrderDetail({ orderNo: this.$route.query.orderNo,userAssessLogic:true }).then(res => {
|
||||
if (res.result == 0) {
|
||||
this.assessResultDescList = res.orderDTO.orderInfoDTO.assessResultDescMap
|
||||
this.assessResult = res.orderDTO.orderInfoDTO.assessResult
|
||||
if(Object.keys(this.assessResultDescList).includes('pass')&&this.assessResult==='0'){
|
||||
this.evalDesc = this.assessResultDescList['pass'] + '。'
|
||||
}else{
|
||||
this.handlerAssessResultDesc()
|
||||
}
|
||||
console.log('this.assessResultDescList',this.assessResultDescList)
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
methods:{
|
||||
|
||||
handlerAssessResultDesc(){
|
||||
// 获取所有以1开头的属性键
|
||||
// let numStr = ['1','2','3','4']
|
||||
// let evalDesc = ''
|
||||
//let evalDescList = []
|
||||
// numStr.forEach(num=>{
|
||||
// let keysStartWith = Object.keys(this.assessResultDescList).filter(key => key.startsWith(num));
|
||||
// // 获取这些键对应的所有元素值组成的数组
|
||||
// let filterValue = keysStartWith.map(key => {
|
||||
// return this.assessResultDescList[key];
|
||||
// });
|
||||
// console.log('filterValue',filterValue)
|
||||
// // if(filterValue.length==1){
|
||||
// // filterValue.forEach(item=>{
|
||||
// // let des = item[0]+','+item[1]+'。'
|
||||
// // this.evalDescList.push(des)
|
||||
// // })
|
||||
// // }else if(filterValue.length>1){
|
||||
// // filterValue.forEach(item=>{
|
||||
// // let des = item[0]+','+item[1]+'。'
|
||||
// // this.evalDescList.push(des)
|
||||
// // })
|
||||
// // //evalDesc += filterValue.map(item => item[0]).join(',') +',' +filterValue[0][1]+'。'
|
||||
// // //this.evalDescList.push(evalDesc)
|
||||
// // }else return
|
||||
// if(filterValue.length>=1){
|
||||
// filterValue.forEach(item=>{
|
||||
// this.evalDescList.push(item)
|
||||
// })
|
||||
// }
|
||||
// })
|
||||
let filterValue = Object.values(this.assessResultDescList)
|
||||
if(filterValue.length>=1){
|
||||
filterValue.forEach((item,index)=>{
|
||||
this.evalDescList.push(item+';')
|
||||
if(index === filterValue.length - 1){
|
||||
this.evalDescList[index] = item + '。';
|
||||
}
|
||||
})
|
||||
}
|
||||
console.log('filterValue',filterValue)
|
||||
// this.evalDesc = evalDesc
|
||||
// console.log('this.evalDesc',this.evalDesc)
|
||||
console.log('this.evalDescList',this.evalDescList)
|
||||
},
|
||||
|
||||
//终止投保
|
||||
exitProcess(){
|
||||
this.$dialog.confirm(
|
||||
{
|
||||
className: 'dialog-delete',
|
||||
title: '提示',
|
||||
message: '退出流程可能会丢失部分数据,是否确认退出?',
|
||||
cancelButtonColor: '#E9332E',
|
||||
confirmButtonColor: '#FFFFFF'
|
||||
})
|
||||
.then(() => {
|
||||
this.jumpList()
|
||||
})
|
||||
.catch(() => {
|
||||
return
|
||||
})
|
||||
},
|
||||
jumpList(){
|
||||
saveEvalateAnswer({
|
||||
operateType:'0',
|
||||
orderNo:this.$route.query.orderNo
|
||||
}).then(res=>{
|
||||
if(res.result=='0'){
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
title: '电子投保单列表',
|
||||
forbidSwipeBack: 1, //当前页面禁止右滑返回
|
||||
url: location.origin + `/#/sale/list`
|
||||
},
|
||||
routerInfo: {
|
||||
path: `/sale/list`,
|
||||
type: '1'
|
||||
}
|
||||
})
|
||||
}else{
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
//继续投保
|
||||
onConfirm(){
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
forbidSwipeBack: '1',
|
||||
url: location.origin + '/#' + '/sale/beneficiary?orderNo=' + this.$route.query.orderNo,
|
||||
needRefresh: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/beneficiary?orderNo=' + this.$route.query.orderNo,
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.fit-wrapper{
|
||||
width:100%;
|
||||
height:100vh;
|
||||
display:flex;
|
||||
.fit-container{
|
||||
|
||||
padding:50px 0;
|
||||
width:100%;
|
||||
display:flex;
|
||||
overflow: auto;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
img{
|
||||
width:179px;
|
||||
height:126px;
|
||||
padding:20px 0;
|
||||
}
|
||||
.quitDesc{
|
||||
text-indent: 2em;
|
||||
}
|
||||
}
|
||||
.footer-btn{
|
||||
position:fixed;
|
||||
bottom:0;
|
||||
width:100%;
|
||||
display:flex;
|
||||
justify-content:space-between;
|
||||
align-items:center;
|
||||
.van-button:first-child{
|
||||
flex:1;
|
||||
}
|
||||
.van-button:last-child{
|
||||
flex:2;
|
||||
}
|
||||
}
|
||||
/deep/ .riskDialog{
|
||||
.van-dialog__header{
|
||||
padding:20px 0;
|
||||
font-size:16px;
|
||||
}
|
||||
.van-dialog__content{
|
||||
padding:0 20px;
|
||||
margin-bottom:10px;
|
||||
font-size:14px;
|
||||
}
|
||||
.van-dialog__confirm{
|
||||
font-size:16px;
|
||||
color:#5ca7de;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -141,6 +141,7 @@
|
||||
</div>
|
||||
</van-submit-bar>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
@@ -149,7 +150,7 @@
|
||||
import { orderDetail, deleteOrderInfo, mainRiskList, mainRiskListProposal, calculatePremium } from '@/api/ebiz/common/common'
|
||||
import { formatAllRisk } from '@/assets/js/utils/formatRiskList'
|
||||
import { getDetail, deleteProposal } from '@/api/ebiz/proposal/proposal.js'
|
||||
import { saveOrderActiveType,getActivityList, getDoubleRecordProductLst, saveOrderType } from '@/api/ebiz/sale/sale.js'
|
||||
import { saveOrderActiveType,getActivityList, getDoubleRecordProductLst, saveOrderType,getOrderDetail } from '@/api/ebiz/sale/sale.js'
|
||||
import utilsAge from '@/assets/js/utils/age'
|
||||
import IndexBar from '@/components/ebiz/sale/IndexBar'
|
||||
import riskRules from './risk-rules'
|
||||
@@ -180,7 +181,11 @@
|
||||
isCrossChannel: 0, // 是否选择交叉渠道列表 0-否 1-是
|
||||
isElecCont: '', // 保单形式
|
||||
isElecContDisabled: false, // 保单形式是否禁用
|
||||
branchType:''
|
||||
branchType:'',
|
||||
|
||||
|
||||
saleInsuredInfo: {}, //投保人信息
|
||||
assessFlag:"", //是否需要填写适应性问卷
|
||||
}
|
||||
},
|
||||
components: {
|
||||
@@ -191,7 +196,7 @@
|
||||
[IndexBar.name]: IndexBar,
|
||||
[RadioGroup.name]: RadioGroup,
|
||||
[Radio.name]: Radio,
|
||||
[Image.name]: Image
|
||||
[Image.name]: Image,
|
||||
},
|
||||
async mounted() {
|
||||
this.$jump({
|
||||
@@ -200,6 +205,9 @@
|
||||
title: '已选产品列表'
|
||||
},
|
||||
})
|
||||
if (this.$CacheUtils.getLocItem('saleInsuredInfo')) {
|
||||
this.saleInsuredInfo = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo'))
|
||||
}
|
||||
if (localStorage.isFrom == 'sale') {
|
||||
// 清除活动标志
|
||||
// localStorage.removeItem('active_type')
|
||||
@@ -374,14 +382,14 @@
|
||||
resultData = await orderDetail({ orderNo: this.$route.query.orderNo, isMerge: '1' })
|
||||
}
|
||||
if (resultData.result == 0) {
|
||||
if( resultData.orderDTO ) {
|
||||
//判断是否显示风险测评tab
|
||||
let updateAnswerType = resultData.orderDTO.riskEvaluationDTO.isShowEvaluationPoint =='1'?true:false
|
||||
this.$store.commit('updateAnswerType', updateAnswerType )
|
||||
// console.log(updateAnswerType,'updateAnswerType');
|
||||
this.renovate = new Date().getTime()
|
||||
|
||||
}
|
||||
// if( resultData.orderDTO ) {
|
||||
// //判断是否显示风险测评tab
|
||||
// let updateAnswerType = resultData.orderDTO.riskEvaluationDTO.isShowEvaluationPoint =='1'?true:false
|
||||
// this.$store.commit('updateAnswerType', updateAnswerType )
|
||||
// // console.log(updateAnswerType,'updateAnswerType');
|
||||
// this.renovate = new Date().getTime()
|
||||
// }
|
||||
this.renovate = new Date().getTime()
|
||||
let riskDTOLst
|
||||
if (isProposal) {
|
||||
this.$CacheUtils.setLocItem('saleInsuredInfo',JSON.stringify(resultData.content[0].appntDTO))//存储投保人信息
|
||||
@@ -1025,17 +1033,42 @@
|
||||
}
|
||||
saveOrderType(params).then(res => {
|
||||
if(res.result == 0) {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
forbidSwipeBack: '1',
|
||||
url: location.origin + '/#' + thismyurl,
|
||||
needRefresh: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: thismyurl
|
||||
getOrderDetail({orderNo: this.$route.query.orderNo,userAssessLogic:true}).then((res) => {
|
||||
if(res.result == '0'){
|
||||
this.assessFlag = res.orderDTO.orderInfoDTO.assessFlag
|
||||
this.resultRiskType = res.orderDTO.orderInfoDTO.resultRiskType
|
||||
console.log('this.assessFlag',this.assessFlag)
|
||||
//return
|
||||
if(this.assessFlag === '0'||this.assessFlag === '2'){ //需要填写问卷
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#' + `/sale/questionEvaluate?orderNo=${this.$route.query.orderNo}`
|
||||
},
|
||||
routerInfo: {
|
||||
path:`/sale/questionEvaluate?orderNo=${this.$route.query.orderNo}`
|
||||
}
|
||||
})
|
||||
} else{
|
||||
// if(this.assessFlag === '2'){
|
||||
// this.$toast('已超过评估次数限制,无法重新评估')
|
||||
// }
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
forbidSwipeBack: '1',
|
||||
url: location.origin + '/#' + '/sale/beneficiary?orderNo=' + this.$route.query.orderNo,
|
||||
needRefresh: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/beneficiary?orderNo=' + this.$route.query.orderNo,
|
||||
}
|
||||
})
|
||||
}
|
||||
}else{
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
})
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
@@ -1053,9 +1086,35 @@
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
goNext(){
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
forbidSwipeBack: '1',
|
||||
url: location.origin + '/#' + '/sale/beneficiary?orderNo=' + this.$route.query.orderNo,
|
||||
needRefresh: '1'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/beneficiary?orderNo=' + this.$route.query.orderNo,
|
||||
}
|
||||
})
|
||||
},
|
||||
reStart(){
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + `/#/sale/questionEvaluate?orderNo=${this.$route.query.orderNo}`
|
||||
},
|
||||
routerInfo: {
|
||||
path: `/sale/questionEvaluate?orderNo=${this.$route.query.orderNo}`
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import '@/assets/sass/variables.scss';
|
||||
|
||||
@@ -43,12 +43,12 @@ export default {
|
||||
},
|
||||
//投、被保险人年龄对险种的限制
|
||||
ageLimit(resultData, vm, isApplicant,riskProductCode) {
|
||||
let age, tips
|
||||
let age, tips,maxAge
|
||||
if (isApplicant) {
|
||||
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
|
||||
@@ -56,7 +56,22 @@ export default {
|
||||
tips = '被保险人年龄不适合此款险种,请选择其他险种!'
|
||||
}
|
||||
let minAge = resultData.productTrialInfoDTO.ageRange && resultData.productTrialInfoDTO.ageRange.minAge
|
||||
let maxAge = resultData.productTrialInfoDTO.ageRange && resultData.productTrialInfoDTO.ageRange.maxAge
|
||||
if(riskProductCode == 'GFRS_M0111'){
|
||||
if(this.getSaleInsuredPersonInfo().sex==0){
|
||||
maxAge=70
|
||||
}else {
|
||||
maxAge=73
|
||||
}
|
||||
}else if(riskProductCode == 'GFRS_M0110'){
|
||||
if(this.getSaleInsuredPersonInfo().sex==0){
|
||||
maxAge=68
|
||||
}else {
|
||||
maxAge=70
|
||||
}
|
||||
}else{
|
||||
maxAge = resultData.productTrialInfoDTO.ageRange && resultData.productTrialInfoDTO.ageRange.maxAge
|
||||
}
|
||||
|
||||
;[age, minAge, maxAge] = [Number(age), Number(minAge), Number(maxAge)]
|
||||
if (age > maxAge || age < minAge) {
|
||||
vm.$toast(tips)
|
||||
|
||||
@@ -64,9 +64,9 @@ export default {
|
||||
needGettingKey: ['name', 'ysbb', 'ysjs', 'bzbf', 'cbjs'],
|
||||
tableColumns: [
|
||||
{ name: '机构', key: 'name' },
|
||||
{ name: '预收期交(万元)', key: 'ysbb' },
|
||||
{ name: '预收保费(万元)', key: 'ysbb' },
|
||||
{ name: '预收件数(件)', key: 'ysjs' },
|
||||
{ name: '承保期交(万元)', key: 'bzbf' },
|
||||
{ name: '承保保费(万元)', key: 'bzbf' },
|
||||
{ name: '承保件数(件)', key: 'cbjs' }
|
||||
],
|
||||
values: [],
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<div class="header-left">
|
||||
<van-button>
|
||||
<img :src="point" />
|
||||
<span class="ml5 mr5">期交</span>
|
||||
<span class="ml5 mr5">保费</span>
|
||||
</van-button>
|
||||
</div>
|
||||
<div class="header-center">
|
||||
|
||||
@@ -94,30 +94,30 @@ export default {
|
||||
[
|
||||
[
|
||||
{ isInt: false, name: '机构', key: 'name' },
|
||||
{ isInt: false, name: '预收期交(万元)', key: 'ysbb' },
|
||||
{ isInt: false, name: '预收保费(万元)', key: 'ysbb' },
|
||||
{ isInt: true, name: '预收件数(件)', key: 'ysjs' },
|
||||
{ isInt: false, name: '承保期交(万元)', key: 'bzbf' },
|
||||
{ isInt: false, name: '承保保费(万元)', key: 'bzbf' },
|
||||
{ isInt: true, name: '承保件数(件)', key: 'cbjs' }
|
||||
],
|
||||
[
|
||||
{ isInt: false, name: '机构', key: 'name' },
|
||||
{ isInt: false, name: '预收期交(万元)', key: 'ysbb' },
|
||||
{ isInt: false, name: '预收保费(万元)', key: 'ysbb' },
|
||||
{ isInt: true, name: '预收件数(件)', key: 'ysjs' },
|
||||
{ isInt: false, name: '承保期交(万元)', key: 'bzbf' },
|
||||
{ isInt: false, name: '承保保费(万元)', key: 'bzbf' },
|
||||
{ isInt: true, name: '承保件数(件)', key: 'cbjs' },
|
||||
{ isInt: false, name: '承保同比', key: 'cbtb' },
|
||||
{ isInt: false, name: '承保环比', key: 'cbhb' }
|
||||
],
|
||||
[
|
||||
{ isInt: false, name: '机构', key: 'name' },
|
||||
{ isInt: false, name: '承保期交(万元)', key: 'bzbf' },
|
||||
{ isInt: false, name: '期交目标', key: 'bbmb' },
|
||||
{ isInt: false, name: '期交目标达成率', key: 'bbmbdcl' },
|
||||
{ isInt: false, name: '承保保费(万元)', key: 'bzbf' },
|
||||
{ isInt: false, name: '保费目标', key: 'bbmb' },
|
||||
{ isInt: false, name: '保费目标达成率', key: 'bbmbdcl' },
|
||||
{ isInt: false, name: '差距', key: 'cj' }
|
||||
],
|
||||
[
|
||||
{ isInt: false, name: '机构', key: 'name' },
|
||||
{ isInt: false, name: '承保期交(万元)', key: 'bzbf' }
|
||||
{ isInt: false, name: '承保保费(万元)', key: 'bzbf' }
|
||||
]
|
||||
],
|
||||
[
|
||||
@@ -131,7 +131,7 @@ export default {
|
||||
],
|
||||
[
|
||||
{ isInt: false, name: '产品', key: 'productName' },
|
||||
{ isInt: false, name: '承保期交(万元)', key: 'cbbb' },
|
||||
{ isInt: false, name: '承保保费(万元)', key: 'cbbb' },
|
||||
{ isInt: true, name: '承保件数(件)', key: 'cbItems' },
|
||||
{ isInt: false, name: '保费占比(%)', key: 'percent' }
|
||||
]
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<th>达成</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bleft bright">预收期交</td>
|
||||
<td class="bleft bright">预收保费</td>
|
||||
<td class="bright">{{ performance.ysbb | unitFilter(1) | blankFilter }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -19,7 +19,7 @@
|
||||
<td class="bright">{{ performance.ysjs | unitFilter(2) | blankFilter }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="bleft bright">承保期交</td>
|
||||
<td class="bleft bright">承保保费</td>
|
||||
<td class="bright">{{ performance.bzbf | unitFilter(1) | blankFilter }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -77,7 +77,7 @@
|
||||
<table class="myTable" style="min-width: 140vw;" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<th class="sticky">产品名称</th>
|
||||
<th>承保期交(万元)</th>
|
||||
<th>承保保费(万元)</th>
|
||||
<th>承保件数(件)</th>
|
||||
<th>保费占比(%)</th>
|
||||
</tr>
|
||||
|
||||
@@ -125,7 +125,7 @@ export default {
|
||||
dayTimeCondition: currentDate,
|
||||
// 0: 期交, 1: 人力, 2: 产品
|
||||
typeIndex: 0,
|
||||
dataTypes: ['期交', '人力指标', '产品'],
|
||||
dataTypes: ['保费', '人力指标', '产品'],
|
||||
active: 0,
|
||||
// 侧边栏是否显示
|
||||
isSideBarShow: false,
|
||||
|
||||
@@ -122,10 +122,10 @@
|
||||
<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>
|
||||
@@ -133,10 +133,10 @@
|
||||
</template>
|
||||
<template>
|
||||
<!-- 后台配置图 -->
|
||||
<div class="home-product-content pt20">
|
||||
<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="homeBottomPicUrl" style="width: 100%" alt=""/>
|
||||
<img src="../../../assets/images/home-companyProfile.png" style="width: 100%" alt=""/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -169,7 +169,7 @@ export default {
|
||||
isGoodStart: '0', // 是否开门红 0-默认
|
||||
isPersonalInsu: true, // 是否个险渠道
|
||||
isInner: false,
|
||||
organizationTheads: ['排名', '机构', '当日预收(期交)', '月预收期交', '日承保期交', '月承保期交'],
|
||||
organizationTheads: ['排名', '机构', '当日预收(保费)', '月预收保费', '日承保保费', '月承保保费'],
|
||||
performanceTheads: ['排名', '姓名', '营销服务部', '预收期交', '承保期交'],
|
||||
organizationData: [],
|
||||
performanceData: [],
|
||||
@@ -263,7 +263,7 @@ export default {
|
||||
this.performanceImgUrl = this.isGoodStart == '1' ? this.performanceKmhImgUrl : this.performanceNormalImgUrl
|
||||
this.productCenterImgUrl = this.isGoodStart == '1' ? this.productCenterKmhImgUrl : this.productCenterNormalImgUrl
|
||||
if (this.branchType == '14') {
|
||||
this.getHomeBottomImg()
|
||||
// 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%;
|
||||
|
||||
@@ -786,24 +786,24 @@ export default {
|
||||
})
|
||||
if (res.result == 0) {
|
||||
this.renovate = new Date().getTime()
|
||||
if(res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint == '1'&&res.orderDTO.riskEvaluationDTO.totalScore == null){
|
||||
Dialog.alert({
|
||||
title: '提示',
|
||||
message: '您当前未完成测评,请完成后再进行后续操作',
|
||||
theme: 'round-button',
|
||||
}).then(() => {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/answerPage',
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/answerPage'
|
||||
}
|
||||
})
|
||||
// on close
|
||||
})
|
||||
}
|
||||
// if(res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint == '1'&&res.orderDTO.riskEvaluationDTO.totalScore == null){
|
||||
// Dialog.alert({
|
||||
// title: '提示',
|
||||
// message: '您当前未完成测评,请完成后再进行后续操作',
|
||||
// theme: 'round-button',
|
||||
// }).then(() => {
|
||||
// this.$jump({
|
||||
// flag: 'h5',
|
||||
// extra: {
|
||||
// url: location.origin + '/#/sale/answerPage',
|
||||
// },
|
||||
// routerInfo: {
|
||||
// path: '/sale/answerPage'
|
||||
// }
|
||||
// })
|
||||
// // on close
|
||||
// })
|
||||
// }
|
||||
|
||||
|
||||
this.appntDTO = res.orderDTO.appntDTO
|
||||
|
||||
@@ -73,6 +73,21 @@
|
||||
:max-count="20"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<van-cell-group v-if="isEvalateNeed">
|
||||
<van-field label="投保人适当性评估文件及投保人声明附件上传" disabled class="evalate-need"/>
|
||||
</van-cell-group>
|
||||
<div v-if="isEvalateNeed" @click="test('fileListEvalte', '30', '0', saleInsuredInfo.appntId, saleInsuredInfo.idType)">
|
||||
<van-uploader
|
||||
name="fileListEvalte"
|
||||
v-model="fileListEvalte"
|
||||
:after-read="afterRead"
|
||||
@delete="deleteImg"
|
||||
:before-delete="beforeDelete"
|
||||
class="mt10 ml20"
|
||||
:max-count="20"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -211,7 +226,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="ml30 mt30 mb80">
|
||||
<van-radio-group v-model="radio">
|
||||
@@ -269,6 +284,7 @@ export default {
|
||||
fileListIdFrontBeneficiary: [], // 受益人身份证正面
|
||||
fileListIdBackBeneficiary: [], // 受益人身份证反面
|
||||
fileLIstImgBeneficiary: [], // 受益人其他类型页面
|
||||
fileListEvalte:[], //测评不通过需要上传的图片
|
||||
bnfInfo:[], // 受益人
|
||||
isDisabledBnf:true,
|
||||
radio: '', // 单选框
|
||||
@@ -291,30 +307,34 @@ export default {
|
||||
subBusinessNo: '',
|
||||
subBusinessType: '',
|
||||
changeCard: localStorage.changeCard,
|
||||
isEvalateNeed:false
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
//如果是从编辑进来的
|
||||
let res= await getOrderDetail({ orderNo: this.$route.query.orderNo })
|
||||
let res= await getOrderDetail({ orderNo: this.$route.query.orderNo,userAssessLogic:true })
|
||||
console.log('res',res.orderDTO.orderInfoDTO.assessFlag)
|
||||
this.isEvalateNeed = res.orderDTO.orderInfoDTO.assessFlag==='1'?true:false
|
||||
console.log('this.isEvalateNeed',this.isEvalateNeed)
|
||||
if (res.result == 0) {
|
||||
if(res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint == '1'&&res.orderDTO.riskEvaluationDTO.totalScore == null){
|
||||
Dialog.alert({
|
||||
title: '提示',
|
||||
message: '您当前未完成测评,请完成后再进行后续操作',
|
||||
theme: 'round-button',
|
||||
}).then(() => {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/answerPage',
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/answerPage'
|
||||
}
|
||||
})
|
||||
// on close
|
||||
})
|
||||
}
|
||||
// if(res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint == '1'&&res.orderDTO.riskEvaluationDTO.totalScore == null){
|
||||
// Dialog.alert({
|
||||
// title: '提示',
|
||||
// message: '您当前未完成测评,请完成后再进行后续操作',
|
||||
// theme: 'round-button',
|
||||
// }).then(() => {
|
||||
// this.$jump({
|
||||
// flag: 'h5',
|
||||
// extra: {
|
||||
// url: location.origin + '/#/sale/answerPage',
|
||||
// },
|
||||
// routerInfo: {
|
||||
// path: '/sale/answerPage'
|
||||
// }
|
||||
// })
|
||||
// // on close
|
||||
// })
|
||||
// }
|
||||
//是投保人还是被保险人
|
||||
localStorage.accountInformationRadio = res.orderDTO.orderAccountDTO.accountType
|
||||
//投被保险人关系
|
||||
@@ -563,7 +583,12 @@ export default {
|
||||
if (detail.name == 'fileListIdFront') {
|
||||
this.fileListIdFront = []
|
||||
this.deleteImg(file, 'fileListIdFront')
|
||||
} else if (detail.name == 'fileListIdBack') {
|
||||
}else if (detail.name == 'fileListEvalte') {
|
||||
this.fileListEvalte = []
|
||||
this.deleteImg(file, 'fileListEvalte')
|
||||
}
|
||||
|
||||
else if (detail.name == 'fileListIdBack') {
|
||||
this.fileListIdBack = []
|
||||
this.deleteImg(file, 'fileListIdBack')
|
||||
} else if (detail.name == 'fileLIstImg') {
|
||||
@@ -911,6 +936,8 @@ export default {
|
||||
that.list.map((i) => {
|
||||
delete i.name
|
||||
})
|
||||
// console.log('that.list',that.list)
|
||||
// return
|
||||
let nowTime = new Date().getTime()
|
||||
let localTime = window.localStorage.getItem('serrorTime')
|
||||
if(nowTime - localTime < 20000){
|
||||
@@ -1091,4 +1118,10 @@ export default {
|
||||
/deep/ .van-field__label{
|
||||
width: 50vw;
|
||||
}
|
||||
|
||||
/deep/ .evalate-need{
|
||||
.van-field__label{
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -72,7 +72,7 @@ export default {
|
||||
bnfFlag: '0', // 受益人类型
|
||||
bnfType: '0', // 0 身故受益人 1 身前受益人
|
||||
salePageFlag: '4',
|
||||
isShowEvaluationPoint:'0'
|
||||
//isShowEvaluationPoint:'0'
|
||||
}
|
||||
},
|
||||
created() {
|
||||
@@ -85,7 +85,7 @@ export default {
|
||||
} else {
|
||||
getOrderDetail({ orderNo: this.$route.query.orderNo }).then(res => {
|
||||
if (res.result == 0) {
|
||||
this.isShowEvaluationPoint = res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint
|
||||
//this.isShowEvaluationPoint = res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint
|
||||
this.renovate = new Date().getTime()
|
||||
this.$utils.intLocalStorage(res)
|
||||
this.type = res.orderDTO.orderInfoDTO.bnfFlag == '1' ? '2' : '1' //bnfFlag 0-法定受益人 1-指定受益人
|
||||
|
||||
@@ -70,6 +70,7 @@
|
||||
:flag="true"
|
||||
></FieldDatePicter>
|
||||
<FieldDatePicter
|
||||
v-if="!userInfo.effectiveDateType"
|
||||
:v-validate="{ required: certiexpiredateRequired }"
|
||||
required
|
||||
label="证件截止日期"
|
||||
@@ -1248,7 +1249,7 @@
|
||||
this.userInfo.idType = data.customerIdType //证件类型
|
||||
this.userInfo.idNo = data.customerIdNumber //证件类别
|
||||
this.userInfo.certificateValidate = data.idEffectStartDate //证件起始日期
|
||||
if (data.idEffectEndDate == '9999-12-31') {
|
||||
if (data.idEffectEndDate == '9999-12-31' && !data.idEffectEndDate) {
|
||||
this.userInfo.effectiveDateType = true //是否长期
|
||||
} else {
|
||||
this.userInfo.certiexpiredate = data.idEffectEndDate //证件截止日期
|
||||
@@ -1726,9 +1727,10 @@
|
||||
effectiveDataTypeChange(val) {
|
||||
//勾选长期状态时,证件截止日期置空
|
||||
if (val) {
|
||||
this.userInfo.certiexpiredate = ''
|
||||
this.userInfo.certiexpiredate = '9999-12-31'
|
||||
this.certiexpiredateRequired = false
|
||||
} else {
|
||||
this.userInfo.certiexpiredate = ''
|
||||
this.certiexpiredateRequired = true
|
||||
}
|
||||
},
|
||||
|
||||
@@ -82,6 +82,7 @@
|
||||
:readonly="isAppnt"
|
||||
></FieldDatePicter>
|
||||
<FieldDatePicter
|
||||
v-if="!userInfo.effectiveDateType"
|
||||
v-validate="{ required: certiexpiredateRequired }"
|
||||
label="证件截止日期"
|
||||
name="证件截止日期"
|
||||
@@ -1287,7 +1288,7 @@
|
||||
this.userInfo.certificateValidate = data.idEffectStartDate //证件起始日期
|
||||
// this.userInfo.certiexpiredate = data.idEffectEndDate //证件截止日期
|
||||
// this.userInfo.effectiveDateType = data.idEffectEndDate == '9999-12-31' //是否长期
|
||||
if (data.idEffectEndDate == '9999-12-31') {
|
||||
if (data.idEffectEndDate == '9999-12-31' && !data.idEffectEndDate) {
|
||||
this.userInfo.effectiveDateType = true //是否长期
|
||||
} else {
|
||||
this.userInfo.certiexpiredate = data.idEffectEndDate //证件截止日期
|
||||
@@ -1891,11 +1892,12 @@
|
||||
effectiveDataTypeChange(val) {
|
||||
//勾选长期状态时,证件截止日期置空
|
||||
if (val) {
|
||||
this.userInfo.certiexpiredate = ''
|
||||
this.userInfo.certiexpiredate = '9999-12-31'
|
||||
// this.isRequired = false
|
||||
// this.idLimit = true
|
||||
this.certiexpiredateRequired = false
|
||||
} else {
|
||||
this.userInfo.certiexpiredate = ''
|
||||
this.certiexpiredateRequired = true
|
||||
// this.isRequired = true
|
||||
// this.idLimit = false
|
||||
|
||||
@@ -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,7 +56,8 @@
|
||||
<span class="c-gray-darker fwb">首期总保费(元)</span>
|
||||
<span class="yellow fwb">{{ order.firstPrem == 0 ? '0.00' : order.firstPrem | moneyFormat }}</span>
|
||||
</div>
|
||||
<div class="pt15" 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>
|
||||
@@ -79,16 +81,25 @@
|
||||
</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'">
|
||||
@@ -99,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>
|
||||
@@ -124,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>
|
||||
@@ -142,7 +185,7 @@
|
||||
|
||||
<script>
|
||||
import { Search, Tabs, Tab, List, Tag, Sticky, Toast, Dialog, Field } from 'vant'
|
||||
import { orderList, deleteOrderInfo, getAuthCode, revokeOrder, getBankCardSignState } from '@/api/ebiz/sale/sale'
|
||||
import { orderList, deleteOrderInfo, getAuthCode, revokeOrder, 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' //根据数据字典找到用户等级
|
||||
@@ -209,6 +252,12 @@ export default {
|
||||
captchaReceiver: '',
|
||||
revokeOrderNo: '',
|
||||
captchaMaped: false,
|
||||
getInformShow: false,
|
||||
emailForm: { email: '' },
|
||||
inputShow: true,
|
||||
contentShow: false,
|
||||
buttonShow: '',
|
||||
emailContent: '系统将会将投保资料发送至您录入邮箱,解压密码为投保人身份证号的后六位,请您稍后进行查看',
|
||||
branchType: ''
|
||||
}
|
||||
},
|
||||
@@ -230,6 +279,9 @@ export default {
|
||||
funcPermCheck({}).then(res => {
|
||||
this.isCheck = res.result
|
||||
})
|
||||
if (window.localStorage.getItem('branchType') == '14') {
|
||||
this.buttonShow = localStorage.getItem('branchType')
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async getAgentInfo() {
|
||||
@@ -287,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,
|
||||
@@ -457,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', '')
|
||||
@@ -487,6 +539,7 @@ export default {
|
||||
}
|
||||
}
|
||||
let orderStatus = order.orderInfoDTO.orderStatus
|
||||
console.log(order,'order')
|
||||
let orderNo = order.orderInfoDTO.orderNo
|
||||
let url = ''
|
||||
//保存对应的订单号
|
||||
@@ -516,35 +569,35 @@ 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
|
||||
url = '/common/selectedProduct?edit=1&orderNo='+orderNo+ '&branchType=' + this.branchType
|
||||
}else if(orderStatus == '40'){//告知信息保存成功, 跳到风险测评--
|
||||
if( order.riskEvaluationDTO.isShowEvaluationPoint != '1'){
|
||||
//if( order.riskEvaluationDTO.isShowEvaluationPoint != '1'){
|
||||
if(order.universalRiskNotifyDTO && order.universalRiskNotifyDTO.isUniversalRiskNotifyShowPoint == '1'){
|
||||
url = '/sale/universalRiskNotifyingMessage?edit=1&orderNo='+orderNo
|
||||
}else{
|
||||
url = '/sale/AccountInformation?edit=1&orderNo='+orderNo
|
||||
}
|
||||
}else {
|
||||
url = '/sale/answerPage?edit=1&orderNo='+orderNo
|
||||
}
|
||||
// } else {
|
||||
// url = '/sale/answerPage?edit=1&orderNo=' + orderNo
|
||||
// }
|
||||
} else if(orderStatus == '' || (orderStatus == '66' && this.branchType == '14')){
|
||||
/*
|
||||
*跳到投保人
|
||||
@@ -553,15 +606,37 @@ export default {
|
||||
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
|
||||
}
|
||||
// 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
|
||||
//}
|
||||
// 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: {
|
||||
@@ -596,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,
|
||||
@@ -608,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)
|
||||
}
|
||||
|
||||
@@ -648,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: {
|
||||
@@ -690,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>
|
||||
|
||||
@@ -200,7 +200,7 @@ export default {
|
||||
let res= await getOrderDetail({ orderNo: this.$route.query.orderNo })
|
||||
if (res.result == 0) {
|
||||
//投被保险人关系
|
||||
this.isShowEvaluationPoint = res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint
|
||||
//this.isShowEvaluationPoint = res.orderDTO.riskEvaluationDTO.isShowEvaluationPoint
|
||||
this.isUniversalRiskNotifyShowPoint = res.orderDTO.universalRiskNotifyDTO.isUniversalRiskNotifyShowPoint
|
||||
this.renovate = new Date().getTime()
|
||||
this.isExistAdditionalRisk = res.orderDTO.insuredDTOs[0].riskDTOLst.length > 1 ? true : false
|
||||
@@ -685,7 +685,7 @@ export default {
|
||||
return jobImpartDTO = item
|
||||
}
|
||||
})
|
||||
|
||||
console.log('zhenja',financeImpartDTO == {},financeImpartDTO == {})
|
||||
if (financeImpartDTO == {}) {
|
||||
let data = {
|
||||
orderType: 'IMPART_ORDER',
|
||||
@@ -732,17 +732,19 @@ export default {
|
||||
}
|
||||
})
|
||||
}
|
||||
} else {
|
||||
that.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/answerPage?orderNo=' + this.$route.query.orderNo,
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/answerPage?orderNo=' + this.$route.query.orderNo
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
// else {
|
||||
// console.log('jinrule')
|
||||
// that.$jump({
|
||||
// flag: 'h5',
|
||||
// extra: {
|
||||
// url: location.origin + '/#/sale/answerPage?orderNo=' + this.$route.query.orderNo,
|
||||
// },
|
||||
// routerInfo: {
|
||||
// path: '/sale/answerPage?orderNo=' + this.$route.query.orderNo
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
|
||||
// that.$jump({
|
||||
// flag: 'h5',
|
||||
@@ -793,10 +795,10 @@ export default {
|
||||
that.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/AccountInformation',
|
||||
url: location.origin + '/#/sale/AccountInformation?orderNo=' + this.$route.query.orderNo,
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/AccountInformation'
|
||||
path: '/sale/AccountInformation?orderNo=' + this.$route.query.orderNo
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -889,24 +891,25 @@ export default {
|
||||
that.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/accountInformation',
|
||||
url: location.origin + '/#/sale/accountInformation?orderNo=' + this.$route.query.orderNo,
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/accountInformation'
|
||||
path: '/sale/accountInformation?orderNo=' + this.$route.query.orderNo
|
||||
}
|
||||
})
|
||||
}
|
||||
} else {
|
||||
that.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/sale/answerPage?orderNo=' + this.$route.query.orderNo,
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/sale/answerPage?orderNo=' + this.$route.query.orderNo
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
// else {
|
||||
// that.$jump({
|
||||
// flag: 'h5',
|
||||
// extra: {
|
||||
// url: location.origin + '/#/sale/accountInformation?orderNo=' + this.$route.query.orderNo,
|
||||
// },
|
||||
// routerInfo: {
|
||||
// path: '/sale/accountInformation?orderNo=' + this.$route.query.orderNo
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
item.documentCode == '9' ||
|
||||
item.documentCode == '12' ||
|
||||
item.documentCode == '13' ||
|
||||
item.documentCode == '14'
|
||||
item.documentCode == '14'
|
||||
? '需阅读'
|
||||
: '需阅读并签署'
|
||||
}}</span>
|
||||
@@ -292,7 +292,7 @@
|
||||
item.documentCode == '9' ||
|
||||
item.documentCode == '12' ||
|
||||
item.documentCode == '13' ||
|
||||
item.documentCode == '14'
|
||||
item.documentCode == '14'
|
||||
? '需阅读'
|
||||
: '需阅读并签署'
|
||||
}}</span>
|
||||
@@ -1207,6 +1207,7 @@ export default {
|
||||
}
|
||||
},
|
||||
goUrl() {
|
||||
window.localStorage.setItem('isFirstRead', '1')
|
||||
let that = this
|
||||
if (window.localStorage.getItem('sign-val') == '3') {
|
||||
if (that.agentSignStatus == '3') {
|
||||
@@ -1335,7 +1336,6 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (path) {
|
||||
that.$jump({
|
||||
flag: 'h5',
|
||||
@@ -1845,6 +1845,10 @@ export default {
|
||||
item.documentShortName = '风险告知'
|
||||
item.key = 7.1
|
||||
item.routePath = 'readDocuments'
|
||||
}else if(item.documentCode == '30'){
|
||||
item.documentShortName = '适当性评估'
|
||||
item.key = 13
|
||||
item.routePath = 'readDocuments'
|
||||
}
|
||||
},
|
||||
getSignInvalid() {
|
||||
|
||||
990
src/views/ebiz/sale/questionEvaluate.vue
Normal file
990
src/views/ebiz/sale/questionEvaluate.vue
Normal file
@@ -0,0 +1,990 @@
|
||||
<template>
|
||||
<div class="question-container">
|
||||
<div class="question-header bg-white pt20 pb20 pr10 pl10" >
|
||||
<h5 class="fs18 appntTitle">投保人信息</h5>
|
||||
<div class="fieldContent">
|
||||
<van-cell-group :border="false">
|
||||
<van-field v-model="saleInsuredInfo.name" label="姓名" readonly required/>
|
||||
<van-field :value="saleInsuredInfo.idType | idToText('insuredIdType')" label="证件类型" readonly required/>
|
||||
<van-field v-model="saleInsuredInfo.idNo" label="证件号码" readonly required/>
|
||||
<van-field v-model="saleInsuredInfo.mobile" label="联系方式" readonly required/>
|
||||
<van-field v-model="saleInsuredInfo.occupationName" label="职业" readonly required/>
|
||||
</van-cell-group>
|
||||
</div>
|
||||
<!-- <button class="btn" @click="clickBtn">返回</button> -->
|
||||
<div class="evalDesc" >
|
||||
<h5 class="fs18"> {{questionInfo.questionHeadDesc}}</h5>
|
||||
<h5 class="fs18">{{questionInfo.question1Desc}}</h5>
|
||||
<h5 class="fs18">{{questionInfo.question2Desc}}</h5>
|
||||
<h5 class="fs18">{{questionInfo.question3Desc}}</h5>
|
||||
<h5 class="fs18">{{questionInfo.question4Desc}}</h5>
|
||||
<h5 class="fs18">{{questionInfo.questionTailDesc}}</h5>
|
||||
</div>
|
||||
<div class="question-detail">
|
||||
<div v-for="(item,idx) in questionList">
|
||||
<!-- 单选框 -->
|
||||
<div v-if="item.type=='radio'">
|
||||
<p style="margin:2vh 0">{{ item.title }}</p>
|
||||
<van-radio-group :disabled='disableEdit' class="mb15" v-model="answerList[idx]" @change="handlerRadio($event,item,idx)">
|
||||
<van-radio
|
||||
@click="clickHandler"
|
||||
class="mb15"
|
||||
v-for="(itemRadio,idxRadio) in item.options"
|
||||
:name="itemRadio.option"
|
||||
:key="idxRadio"
|
||||
>{{itemRadio.item}}
|
||||
</van-radio>
|
||||
</van-radio-group>
|
||||
</div>
|
||||
|
||||
<!-- 多选框 -->
|
||||
<div v-if="item.type=='checkbox'">
|
||||
<p style="margin:2vh 0">{{ item.title }}</p>
|
||||
<van-checkbox-group
|
||||
:disabled='disableEdit'
|
||||
v-model="answerList[idx]"
|
||||
@change="handlerCheckbox($event,item,idx)"
|
||||
>
|
||||
<van-checkbox
|
||||
class="mb15"
|
||||
@click="clickHandler"
|
||||
v-for="(itemCheckbox,idxCheckbox) in item.options"
|
||||
:name="itemCheckbox.option"
|
||||
:key="idxCheckbox"
|
||||
shape="square"
|
||||
>
|
||||
|
||||
{{itemCheckbox.item}}
|
||||
<div class="question-detail-checkbox" v-if="showPurpose&&idxCheckbox==1" @click.stop>
|
||||
<p class="c-link mt10 mb10 fs12">除本次投保外,您是否已为被保险人投保过类似损失补偿型保险产品(如百万医疗险等以报销住院费用为保障的产品)且保单目前仍在有效中?</p>
|
||||
<van-radio-group :disabled='disableEdit' v-model="CheckBoxExtraRadio" class="extraRadio flex pb10 fs10" direction="horizontal" @click.stop>
|
||||
<van-radio
|
||||
@click="clickHandler"
|
||||
:name="part.option"
|
||||
@click.stop v-for="(part,partIdx) in itemCheckbox.parts[0].options"
|
||||
>
|
||||
{{part.item}}
|
||||
</van-radio>
|
||||
</van-radio-group>
|
||||
|
||||
<van-field class="extraInput" :readonly='disableEdit' label-width="0" v-model="CheckBoxExtraDesc" placeholder="请说明险种名称、保额:" v-if="CheckBoxExtraRadio === 'Y'" @click.stop="clickHandler"/>
|
||||
</div>
|
||||
</van-checkbox>
|
||||
</van-checkbox-group>
|
||||
|
||||
</div>
|
||||
<!-- 输入框 -->
|
||||
<div v-if="item.type=='input'" class="mb15">
|
||||
<p class="budget-text">
|
||||
<template v-for="(segment, index) in item.title.split(/\___/)" >
|
||||
<!-- 显示文本片段 -->
|
||||
{{ segment }}
|
||||
<!-- 除了最后一个片段外,每个文本片段后都添加输入框 -->
|
||||
<input
|
||||
:readonly='disableEdit'
|
||||
v-if="index < item.title.split(/\___/).length - 1"
|
||||
type="number"
|
||||
@click="clickHandler"
|
||||
@input="handlerInput($event,item,idx,index)"
|
||||
:value="answerList[idx] && answerList[idx][index] ? answerList[idx][index] : ''"
|
||||
step="0.01"
|
||||
min="0"
|
||||
class="budget-input"
|
||||
>
|
||||
</template>
|
||||
<div class="fs12 c-gray-base">请填写0-10000之间的整数</div>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="question-btn bottom-btn bg-white">
|
||||
<van-button type="danger" size="large" :disabled="disabled" class="bottom-btn" @click="submitAnswer" v-no-more-click="1000">提交</van-button>
|
||||
</div>
|
||||
<PopupQuesResult
|
||||
@reTestHandler="reTest"
|
||||
@toInsureHandler="toInsure"
|
||||
@clickOverlayHandler="clickOverlay"
|
||||
:resultRiskType = "resultRiskType"
|
||||
:showResultPopup="showResultPopup"
|
||||
:showRetest = "showRetest"
|
||||
:appntInfo="saleInsuredInfo"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { getOrderDetail, saveEvalateAnswer } from '@/api/ebiz/sale/sale'
|
||||
import PopupQuesResult from '@/components/common/PopupQuesResult'
|
||||
export default {
|
||||
name: 'Question',
|
||||
components: {
|
||||
PopupQuesResult
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
saleInsuredInfo:{},
|
||||
showPurpose:false,
|
||||
showResultPopup:false,
|
||||
showHasTested:false,
|
||||
showNoTested:false,
|
||||
answerList:[],
|
||||
resultRiskType:null,
|
||||
assessResult:null,
|
||||
questionInfo:{},
|
||||
questionList:[],
|
||||
assessQuestionnaireDtoList:[],
|
||||
originalAssessQuestionnaireDtoList: [], // 存储原始数据,用于比较是否有修改
|
||||
CheckBoxExtraRadio:'',
|
||||
CheckBoxExtraDesc:'',
|
||||
disabled:true,
|
||||
assessFlag:null,
|
||||
updateFlag:'1', // 默认为未修改状态
|
||||
showRetest:true,
|
||||
assessUpdateLimitFlag :null,
|
||||
disableEdit:false, //禁用选项框
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
assessQuestionnaireDtoList: {
|
||||
handler(newVal) {
|
||||
if(newVal) {
|
||||
console.log('检测到了长度', newVal)
|
||||
if(newVal.length !== this.questionList.length){
|
||||
this.disabled = true
|
||||
}else{
|
||||
if(Array.from(newVal).some(item=>!item)){
|
||||
console.log('检测到了有空值', Array.from(newVal))
|
||||
this.disabled = true
|
||||
} else if(Array.from(newVal)[3].chooseDesc.split(',').length!=2||
|
||||
Array.from(newVal)[3].chooseDesc.split(',').some(item=>!item)||
|
||||
!Array.from(newVal)[4].chooseDesc
|
||||
){
|
||||
console.log('检测到了有空值1')
|
||||
this.disabled = true
|
||||
}else if(Array.from(newVal)[1].choose.length==0){
|
||||
console.log('检测到了有空值2')
|
||||
this.disabled = true
|
||||
}else if(Array.from(newVal)[1].choose.length>0&&Array.from(newVal)[1].choose.includes('B')){
|
||||
console.log('检测到了B', Array.from(newVal)[1])
|
||||
if(Array.from(newVal)[1].subOption=='Y' && !Array.from(newVal)[1].subOptionContent){
|
||||
console.log('检测到了有空值3')
|
||||
this.disabled = true
|
||||
}else if(Array.from(newVal)[1].subOption=='N'){
|
||||
this.disabled = false
|
||||
}else if(!Array.from(newVal)[1].subOption){
|
||||
console.log('检测到了有空值4')
|
||||
this.disabled = true
|
||||
}
|
||||
else{
|
||||
this.disabled = false
|
||||
}
|
||||
}else{
|
||||
this.disabled = false
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
deep: true
|
||||
},
|
||||
|
||||
CheckBoxExtraRadio: {
|
||||
handler(newVal) {
|
||||
if(!!newVal&&this.answerList[1].includes('B')) {
|
||||
// 创建一个新对象,保留原对象的所有属性,只修改subOption为空
|
||||
if(newVal=='N'){
|
||||
this.CheckBoxExtraDesc = ''
|
||||
}
|
||||
const updatedItem = {
|
||||
...this.assessQuestionnaireDtoList[1],
|
||||
subOption: newVal,
|
||||
subOptionContent:newVal=='Y'?this.CheckBoxExtraDesc:null
|
||||
};
|
||||
this.$set(this.assessQuestionnaireDtoList, 1, updatedItem);
|
||||
console.log('检测到了第一项数据', newVal,this.assessQuestionnaireDtoList)
|
||||
}
|
||||
},
|
||||
},
|
||||
CheckBoxExtraDesc:{
|
||||
handler(newVal) {
|
||||
if(this.answerList[1].includes('B')) {
|
||||
// 创建一个新对象,保留原对象的所有属性,只修改subOption为空
|
||||
const updatedItem = {
|
||||
...this.assessQuestionnaireDtoList[1],
|
||||
subOptionContent: newVal
|
||||
};
|
||||
this.$set(this.assessQuestionnaireDtoList, 1, updatedItem);
|
||||
console.log('检测到了第一项数据', newVal,this.assessQuestionnaireDtoList)
|
||||
}
|
||||
},
|
||||
},
|
||||
'answerList.1': {
|
||||
handler(newVal) {
|
||||
console.log('检测到了第一项数据', newVal)
|
||||
if(!newVal.includes('B')) {
|
||||
this.CheckBoxExtraDesc = ''
|
||||
this.CheckBoxExtraRadio =''
|
||||
const updatedItem = {
|
||||
...this.assessQuestionnaireDtoList[1],
|
||||
subOption: null,
|
||||
subOptionContent: null
|
||||
};
|
||||
this.$set(this.assessQuestionnaireDtoList, 1, updatedItem);
|
||||
console.log('检测到了第一项数据', this.assessQuestionnaireDtoList)
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
}
|
||||
},
|
||||
|
||||
mounted(){
|
||||
this.$jump({
|
||||
flag: 'navigation',
|
||||
extra: {
|
||||
title: '保险产品适当性评估问卷'
|
||||
},
|
||||
})
|
||||
localStorage.setItem('evalateFrom', 'toEvaluate')
|
||||
if (localStorage.isFrom == 'sale') {
|
||||
setTimeout(() => {
|
||||
EWebBridge.webCallAppInJs('webview_left_button', {
|
||||
img: this.$assetsUrl + 'images/del-close-btn@3x.png',
|
||||
intercept: '1' //是否拦截原生返回事件 1是 其他否
|
||||
})
|
||||
}, 100)
|
||||
}
|
||||
window.appCallBack = this.appCallBack
|
||||
document.body.style.backgroundColor = '#fff'
|
||||
this.getDetailInfo()
|
||||
},
|
||||
methods: {
|
||||
appCallBack(data) {
|
||||
if (data.trigger == 'left_button_click' && localStorage.isFrom == 'sale') {
|
||||
return this.$dialog
|
||||
.confirm({
|
||||
className: 'dialog-delete',
|
||||
title: '提示',
|
||||
message: '退出流程可能会丢失部分数据,是否确认退出?',
|
||||
cancelButtonColor: '#E9332E',
|
||||
confirmButtonColor: '#FFFFFF'
|
||||
})
|
||||
.then(() => {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
title: '电子投保单列表',
|
||||
forbidSwipeBack: 1, //当前页面禁止右滑返回
|
||||
url: location.origin + `/#/sale/list`
|
||||
},
|
||||
routerInfo: {
|
||||
path: `/sale/list`,
|
||||
type: '1'
|
||||
}
|
||||
})
|
||||
})
|
||||
.catch(() => {
|
||||
return
|
||||
})
|
||||
}
|
||||
},
|
||||
getDetailInfo(){
|
||||
const orderNo = this.$route.query.orderNo
|
||||
getOrderDetail({ orderNo: this.$route.query.orderNo,userAssessLogic:true }).then(res => {
|
||||
if (res.result == 0) {
|
||||
//是否做过测评及是否超出限制
|
||||
this.assessUpdateLimitFlag = res.orderDTO.orderInfoDTO.assessUpdateLimitFlag
|
||||
this.assessFlag = res.orderDTO.orderInfoDTO.assessFlag
|
||||
this.questionInfo = res.orderDTO.orderInfoDTO.assessQuestionnaireDto
|
||||
this.questionList = res.orderDTO.orderInfoDTO.assessQuestionnaireDto.questionList
|
||||
this.ageList = res.orderDTO.orderInfoDTO.assessQuestionnaireDto.questionList[0].options.map(item=>item.item)
|
||||
if(this.assessUpdateLimitFlag==='0'||this.assessFlag==='2'){
|
||||
this.disableEdit = true
|
||||
}
|
||||
// 标记是否有历史评估数据
|
||||
const hasHistoryData = res.orderDTO.orderInfoDTO.assessQuestionnaireDtoList &&
|
||||
res.orderDTO.orderInfoDTO.assessQuestionnaireDtoList.length > 0
|
||||
|
||||
|
||||
//获取测评结果,对数据进行回显
|
||||
if(hasHistoryData){
|
||||
// const hasHistoryData = [
|
||||
// {
|
||||
// "orderNo": "8186270000128527",
|
||||
// "questionNo": "7",
|
||||
// "questionContent": "7.您能够并愿意为购买保险支付保费的最长年期为?",
|
||||
// "choose": "E",
|
||||
// "chooseContent": "超过20年",
|
||||
// "subOption": null,
|
||||
// "subOptionContent": null,
|
||||
// "score": "10",
|
||||
// "chooseDesc": null,
|
||||
// "appntIdNo": "130626198012270019",
|
||||
// "appntName": "腊月二七",
|
||||
// "appntIsFirst": "0",
|
||||
// "assessDate": "2025-11-06T03:52:30.000+0000"
|
||||
// },
|
||||
|
||||
// {
|
||||
// "orderNo": "8186270000128527",
|
||||
// "questionNo": "2",
|
||||
// "questionContent": "2.您购买保险产品的目的?(可多选)",
|
||||
// "choose": "A,B,C,D,E",
|
||||
// "chooseContent": "为应对不时之需提供财务保障(死亡、意外、伤残、重大疾病等);为支付或补偿门诊、住院等医疗、保健的费用支出;为未来生活规划所需的资金,保单利益确定(养老、子女教育、退休收入等);可获利一定的浮动收益(例如:有分红、有最低保证利率的产品等);其他",
|
||||
// "subOption": "Y",
|
||||
// "subOptionContent": "uuuu",
|
||||
// "score": "20",
|
||||
// "chooseDesc": null,
|
||||
// "appntIdNo": "130626198012270019",
|
||||
// "appntName": "腊月二七",
|
||||
// "appntIsFirst": "0",
|
||||
// "assessDate": "2025-11-06T03:52:30.000+0000"
|
||||
// },
|
||||
|
||||
// {
|
||||
// "orderNo": "8186270000128527",
|
||||
// "questionNo": "4",
|
||||
// "questionContent": "4.您本次购买保险的保费预算是:一次性交清预算:___万元;期交预算(每期保费*总交费期数):___万元。",
|
||||
// "choose": null,
|
||||
// "chooseContent": null,
|
||||
// "subOption": null,
|
||||
// "subOptionContent": null,
|
||||
// "score": null,
|
||||
// "chooseDesc": "8888,888",
|
||||
// "appntIdNo": "130626198012270019",
|
||||
// "appntName": "腊月二七",
|
||||
// "appntIsFirst": "0",
|
||||
// "assessDate": "2025-11-06T03:52:30.000+0000"
|
||||
// },
|
||||
// {
|
||||
// "orderNo": "8186270000128527",
|
||||
// "questionNo": "5",
|
||||
// "questionContent": "5.您的家庭年收入约为(折合人民币):___万元。",
|
||||
// "choose": null,
|
||||
// "chooseContent": null,
|
||||
// "subOption": null,
|
||||
// "subOptionContent": null,
|
||||
// "score": null,
|
||||
// "chooseDesc": "888",
|
||||
// "appntIdNo": "130626198012270019",
|
||||
// "appntName": "腊月二七",
|
||||
// "appntIsFirst": "0",
|
||||
// "assessDate": "2025-11-06T03:52:30.000+0000"
|
||||
// },
|
||||
|
||||
// {
|
||||
// "orderNo": "8186270000128527",
|
||||
// "questionNo": "6",
|
||||
// "questionContent": "6.您能够并愿意为购买保险支付的期交保费之和占家庭年收入的比例是:",
|
||||
// "choose": "D",
|
||||
// "chooseContent": "70%以上",
|
||||
// "subOption": null,
|
||||
// "subOptionContent": null,
|
||||
// "score": "10",
|
||||
// "chooseDesc": null,
|
||||
// "appntIdNo": "130626198012270019",
|
||||
// "appntName": "腊月二七",
|
||||
// "appntIsFirst": "0",
|
||||
// "assessDate": "2025-11-06T03:52:30.000+0000"
|
||||
// } ,
|
||||
// {
|
||||
// "orderNo": "8186270000128527",
|
||||
// "questionNo": "3",
|
||||
// "questionContent": "3.您希望享有最长保障或投资期限为多久?",
|
||||
// "choose": "B",
|
||||
// "chooseContent": "1-5年",
|
||||
// "subOption": null,
|
||||
// "subOptionContent": null,
|
||||
// "score": "4",
|
||||
// "chooseDesc": null,
|
||||
// "appntIdNo": "130626198012270019",
|
||||
// "appntName": "腊月二七",
|
||||
// "appntIsFirst": "0",
|
||||
// "assessDate": "2025-11-06T03:52:30.000+0000"
|
||||
// },
|
||||
// {
|
||||
// "orderNo": "8186270000128527",
|
||||
// "questionNo": "1",
|
||||
// "questionContent": "1.您的年龄是?",
|
||||
// "choose": "E",
|
||||
// "chooseContent": "高于65岁",
|
||||
// "subOption": null,
|
||||
// "subOptionContent": null,
|
||||
// "score": "-15",
|
||||
// "chooseDesc": null,
|
||||
// "appntIdNo": "130626198012270019",
|
||||
// "appntName": "腊月二七",
|
||||
// "appntIsFirst": "0",
|
||||
// "assessDate": "2025-11-06T03:52:30.000+0000"
|
||||
// },
|
||||
// ]
|
||||
|
||||
// 将返回数组的每一项的orderNo替换为路由携带的,然后赋值给assessQuestionnaireDtoList
|
||||
const processedData = res.orderDTO.orderInfoDTO.assessQuestionnaireDtoList
|
||||
.sort((a, b) => parseInt(a.questionNo) - parseInt(b.questionNo))
|
||||
.map(item => {
|
||||
return {
|
||||
...item,
|
||||
orderNo: this.$route.query.orderNo
|
||||
}
|
||||
})
|
||||
// 设置当前数据
|
||||
this.assessQuestionnaireDtoList = processedData
|
||||
console.log('后端返回processedData',processedData)
|
||||
console.log('后端返回assessQuestionnaireDtoList',this.assessQuestionnaireDtoList)
|
||||
}
|
||||
if (this.$CacheUtils.getLocItem('saleInsuredInfo')) {
|
||||
this.saleInsuredInfo = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo'))
|
||||
}else{
|
||||
this.saleInsuredInfo = res.orderDTO.appntDTO
|
||||
}
|
||||
console.log('投保人信息',this.saleInsuredInfo,this.assessQuestionnaireDtoList)
|
||||
console.log('this.ageList',this.ageList,this.questionList)
|
||||
|
||||
// 先处理第一个问题(年龄自动填充)
|
||||
this.handlerFirstQuestion()
|
||||
|
||||
// 如果有后端返回的评估数据,进行回显,并保存原始数据
|
||||
if(hasHistoryData) {
|
||||
this.initFormDataFromAssessment()
|
||||
|
||||
// 所有数据初始化完成后,立即(同步)保存原始数据副本
|
||||
// 使用同步方式而非 $nextTick,确保在用户操作前完成
|
||||
this.originalAssessQuestionnaireDtoList = JSON.parse(JSON.stringify(this.assessQuestionnaireDtoList))
|
||||
this.updateFlag = '1' // 有历史数据且未修改
|
||||
console.log('原始数据已保存,updateFlag设置为1(未修改)')
|
||||
} else {
|
||||
// 没有历史数据,这是新填写的问卷
|
||||
// 保存第一题填充后的数据作为"原始数据"(因为第一题是自动填充的,不算用户修改)
|
||||
if (this.assessQuestionnaireDtoList.length > 0) {
|
||||
this.originalAssessQuestionnaireDtoList = JSON.parse(JSON.stringify(this.assessQuestionnaireDtoList))
|
||||
console.log('新问卷-保存第一题自动填充后的数据作为原始数据')
|
||||
}
|
||||
this.updateFlag = '0' // 新问卷,标记为已修改(需要保存)
|
||||
console.log('新问卷,updateFlag设置为0(需要保存)')
|
||||
}
|
||||
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
clickHandler(){
|
||||
if(this.assessFlag==='2'){
|
||||
return this.$toast('当日评估不能超过2次,一年累计评估不能超过8次')
|
||||
}else{
|
||||
if(this.assessUpdateLimitFlag==='0'){
|
||||
return this.$toast('当日评估不能超过2次,一年累计评估不能超过8次')
|
||||
}
|
||||
}
|
||||
},
|
||||
//单选框处理数据
|
||||
handlerRadio(e,item, idx) {
|
||||
this.$set(this.assessQuestionnaireDtoList,idx,{
|
||||
orderNo:this.$route.query.orderNo,
|
||||
questionNo:item.questionNo,
|
||||
questionContent:item.title,
|
||||
choose:e,
|
||||
chooseContent:this.filterRadioElement('content',e,item),
|
||||
subOption:null,
|
||||
subOptionContent:null,
|
||||
score:this.filterRadioElement('score',e,item),
|
||||
chooseDesc:null,
|
||||
})
|
||||
// this.assessQuestionnaireDtoList[idx]={
|
||||
// orderNo:this.$route.query.orderNo,
|
||||
// questionNo:item.questionNo,
|
||||
// questionContent:item.title,
|
||||
// choose:e,
|
||||
// chooseContent:this.filterRadioElement('content',e,item),
|
||||
// subOption:null,
|
||||
// subOptionContent:null,
|
||||
// score:this.filterRadioElement('score',e,item),
|
||||
// chooseDesc:null,
|
||||
// }
|
||||
console.log('answerList',this.answerList)
|
||||
console.log('this.assessQuestionnaireDtoList',this.assessQuestionnaireDtoList)
|
||||
},
|
||||
|
||||
//单选框筛选出分数和每项
|
||||
filterRadioElement(el,e,item){
|
||||
console.log('点击单选框',el,e,item)
|
||||
if(el=='content'){
|
||||
return item.options.find(item=>item.option==e).item.substring(2)
|
||||
}else if(el=='score'){
|
||||
return parseInt(item.options.find(item=>item.option==e).score)
|
||||
}
|
||||
},
|
||||
|
||||
//输入框处理组装数据
|
||||
handlerInput(e,item,idx,index){
|
||||
if(!Array.from(this.answerList)[idx] || this.answerList[idx].length==0){
|
||||
this.answerList[idx] = []
|
||||
}
|
||||
let chooseDesc = ''
|
||||
if(idx== 3){
|
||||
if(index==0){
|
||||
this.$set(this.answerList[idx], 0, e.target.value)
|
||||
}else{
|
||||
this.$set(this.answerList[idx], 1, e.target.value)
|
||||
}
|
||||
chooseDesc = this.answerList[idx].join(',')
|
||||
}else if(idx== 4){
|
||||
this.$set(this.answerList[idx], 0, e.target.value)
|
||||
chooseDesc=this.answerList[idx][0]
|
||||
}
|
||||
this.$set(this.assessQuestionnaireDtoList,idx,{
|
||||
orderNo:this.$route.query.orderNo,
|
||||
questionNo:item.questionNo,
|
||||
questionContent:item.title,
|
||||
choose:null,
|
||||
chooseContent:null,
|
||||
subOption:null,
|
||||
subOptionContent:null,
|
||||
score:null,
|
||||
chooseDesc,
|
||||
})
|
||||
console.log('answerList',this.answerList)
|
||||
console.log('this.assessQuestionnaireDtoList',this.assessQuestionnaireDtoList)
|
||||
},
|
||||
|
||||
handlerCheckbox(e,item, idx) {
|
||||
if(e.includes('B')){
|
||||
this.showPurpose = true
|
||||
}else{
|
||||
this.showPurpose = false
|
||||
}
|
||||
this.$set(this.assessQuestionnaireDtoList,idx,{
|
||||
orderNo:this.$route.query.orderNo,
|
||||
questionNo:item.questionNo,
|
||||
questionContent:item.title,
|
||||
choose:this.filterCheckBoxElement('letter',e,item),
|
||||
chooseContent:this.filterCheckBoxElement('content',e,item),
|
||||
score:this.filterCheckBoxElement('score',e,item),
|
||||
chooseDesc:null,
|
||||
subOption:this.CheckBoxExtraRadio?this.CheckBoxExtraRadio:null,
|
||||
subOptionContent:this.CheckBoxExtraDesc?this.CheckBoxExtraDesc:null,
|
||||
|
||||
})
|
||||
console.log('answerList,assessQuestionnaireDtoList',this.assessQuestionnaireDtoList)
|
||||
},
|
||||
filterCheckBoxElement(el,e,item){
|
||||
let filterEl = item.options.filter(cur=>e.includes(cur.option))
|
||||
console.log('filterEl',filterEl)
|
||||
if(el=='letter'){
|
||||
let letter = filterEl.map(item=>item.option).join(',')
|
||||
//let letter = filterEl.reduce((total,value)=>total+value.option,',')
|
||||
console.log('letter',letter)
|
||||
return letter
|
||||
}else if(el=='content'){
|
||||
let content = filterEl.map(value=>value.item.substring(2)).join(';')
|
||||
//let content = filterEl.reduce((total,value)=>total+value.item+';','').substring(2)
|
||||
console.log('content',content)
|
||||
return content
|
||||
//this.answerList[idx]
|
||||
}else{
|
||||
let score = filterEl.reduce((total,value)=>total+parseInt(value.score),0)
|
||||
console.log('score',score)
|
||||
return score
|
||||
}
|
||||
},
|
||||
|
||||
//处理第一个单选框并自动回显:根据投保人年龄区间,回显对应的选项,并组装数据;
|
||||
handlerFirstQuestion(){
|
||||
let no1 = this.assessQuestionnaireDtoList.findIndex(item=>item.questionNo=='1')
|
||||
// 如果已经有第一题的数据(从后端回显的),则只更新answerList用于显示,不修改assessQuestionnaireDtoList
|
||||
const hasFirstQuestionData = this.assessQuestionnaireDtoList &&
|
||||
this.assessQuestionnaireDtoList.length > 0 &&
|
||||
this.assessQuestionnaireDtoList[no1] &&
|
||||
this.assessQuestionnaireDtoList[no1].choose
|
||||
|
||||
let age = this.saleInsuredInfo.age
|
||||
console.log('投保人年龄',age)
|
||||
let answer;
|
||||
if(age<=18) {
|
||||
answer = 'F'
|
||||
}else if(age>=18&&age<=25) {
|
||||
answer = "A"
|
||||
}else if(age>=26&&age<=50) {
|
||||
answer = "B"
|
||||
}else if(age>=51&&age<=60) {
|
||||
answer = "C"
|
||||
}else if(age<=65) {
|
||||
answer = "D"
|
||||
}else{
|
||||
answer = "E"
|
||||
}
|
||||
|
||||
// 始终设置answerList用于页面显示
|
||||
this.answerList[0] = hasFirstQuestionData ? this.assessQuestionnaireDtoList[no1].choose : answer
|
||||
|
||||
// 只有在没有回显数据时,才创建新的第一题数据
|
||||
if (!hasFirstQuestionData) {
|
||||
let firstChoice = this.questionList[0].options.filter(item=>item.option==answer)
|
||||
this.$set(this.assessQuestionnaireDtoList,0,{
|
||||
orderNo:this.$route.query.orderNo,
|
||||
questionNo:this.questionList[0].questionNo,
|
||||
questionContent:this.questionList[0].title,
|
||||
choose:answer,
|
||||
chooseContent:this.filterRadioElement('content',answer,this.questionList[0]),
|
||||
subOption:null,
|
||||
subOptionContent:null,
|
||||
score:this.filterRadioElement('score',answer,this.questionList[0]),
|
||||
chooseDesc:null,
|
||||
})
|
||||
} else {
|
||||
console.log('第一题已有回显数据,不重新创建')
|
||||
}
|
||||
},
|
||||
clickOverlay(){
|
||||
this.showResultPopup = false
|
||||
this.getDetailInfo()
|
||||
},
|
||||
submitAnswer(){
|
||||
if(this.answerList.length !=this.questionList.length){
|
||||
return this.$toast('请填写完整信息')
|
||||
|
||||
}else{
|
||||
if(Array.from(this.answerList).some(item=>!item)){
|
||||
return this.$toast('请填写完整信息')
|
||||
}else{
|
||||
if(Array.from(this.answerList[3]).length!=2||(Array.from(this.answerList[3]).some(item=>!item))){
|
||||
return this.$toast('请填写完整信息')
|
||||
}else if(Array.from(this.answerList[1]).includes('B')&&this.CheckBoxExtraRadio=="Y"&&!this.CheckBoxExtraDesc)
|
||||
{
|
||||
return this.$toast('请您补充险种和保额信息。')
|
||||
} else if(Array.from(this.answerList[1]).includes('B')&&!this.CheckBoxExtraRadio){
|
||||
return this.$toast('请填写完整信息')
|
||||
}else if(Array.from(this.answerList[1]).length==0){
|
||||
return this.$toast('请填写完整信息')
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
let regex = /^(0|[1-9]\d{0,3}|10000)$/;
|
||||
if(Array.from(this.answerList[3]).some(item=>{return !regex.test(item)})
|
||||
|| !regex.test(this.answerList[4][0])){
|
||||
return this.$toast('请填写0-10000之间的整数')
|
||||
}
|
||||
this.checkDataChanged()
|
||||
this.getEvaluateResult()
|
||||
},
|
||||
|
||||
//调用后端接口获取测评结果
|
||||
getEvaluateResult(){
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
forbidClick: true, // 禁用背景点击
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
})
|
||||
|
||||
saveEvalateAnswer({
|
||||
assessQuestionnaireDtoList: this.assessQuestionnaireDtoList,
|
||||
updateFlag: this.updateFlag // 0修改,1未修改
|
||||
})
|
||||
.then(res =>{
|
||||
this.$toast.clear()
|
||||
if(res.result== '0'){
|
||||
// 提交成功后,更新原始数据为当前数据
|
||||
// 这样下次比较时就以这次提交的数据为基准
|
||||
this.originalAssessQuestionnaireDtoList = JSON.parse(JSON.stringify(this.assessQuestionnaireDtoList))
|
||||
this.updateFlag = '1' // 重置为未修改状态
|
||||
console.log('提交成功,原始数据已更新为当前提交的数据')
|
||||
|
||||
getOrderDetail({ orderNo: this.$route.query.orderNo,userAssessLogic:true }).then(resp=>{
|
||||
if(resp.result=='0'){
|
||||
this.assessFlag = resp.orderDTO.orderInfoDTO.assessFlag //评估次数
|
||||
this.assessUpdateLimitFlag = resp.orderDTO.orderInfoDTO.assessUpdateLimitFlag //0置灰,其他情况可以点击,不能修改,重新评估按钮隐藏
|
||||
if(this.assessUpdateLimitFlag==='0'||this.assessFlag==='2'){
|
||||
this.disableEdit = true
|
||||
this.showRetest = false
|
||||
//隐藏测评按钮
|
||||
}else{
|
||||
this.showRetest = true
|
||||
}
|
||||
this.resultRiskType = res.content
|
||||
this.showResultPopup = true
|
||||
this.showNoTested = true
|
||||
}else{
|
||||
this.$toast(resp.resultMessage)
|
||||
}
|
||||
})
|
||||
|
||||
}else{
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
}).catch(err =>{
|
||||
this.$toast.clear()
|
||||
console.log('err',err)
|
||||
})
|
||||
|
||||
},
|
||||
//未测评过,测评成功后重新测评
|
||||
reTest(){
|
||||
if(this.assessFlag==='2'){
|
||||
return this.$toast('当日评估不能超过2次,一年累计评估不能超过8次')
|
||||
}else{
|
||||
if(this.assessUpdateLimitFlag==='0'){
|
||||
return this.$toast('当日评估不能超过2次,一年累计评估不能超过8次')
|
||||
}else{
|
||||
window.location.reload()
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// 根据assessQuestionnaireDtoList回显表单数据
|
||||
initFormDataFromAssessment() {
|
||||
if (!this.assessQuestionnaireDtoList || this.assessQuestionnaireDtoList.length === 0) return
|
||||
|
||||
// 遍历assessQuestionnaireDtoList,根据问题编号回显数据
|
||||
this.assessQuestionnaireDtoList.forEach((item, index) => {
|
||||
// 找到对应的问题
|
||||
const questionIndex = this.questionList.findIndex(q => q.questionNo === item.questionNo)
|
||||
console.log('questionIndex',questionIndex )
|
||||
if (questionIndex === -1) return
|
||||
if (questionIndex === 0) return
|
||||
const question = this.questionList[questionIndex]
|
||||
console.log('question',question )
|
||||
// 根据问题类型进行不同的回显处理
|
||||
switch (question.type) {
|
||||
case 'radio':
|
||||
// 单选框回显
|
||||
this.$set(this.answerList, questionIndex, item.choose)
|
||||
break
|
||||
|
||||
case 'checkbox':
|
||||
// 多选框回显
|
||||
if (item.choose) {
|
||||
// 将逗号分隔的选项转为数组
|
||||
const chooseArray = item.choose.split(',')
|
||||
console.log('chooseArray',chooseArray)
|
||||
this.$set(this.answerList, questionIndex, chooseArray)
|
||||
|
||||
// 如果选择了B选项,回显子选项
|
||||
if (chooseArray.includes('B')) {
|
||||
this.showPurpose = true
|
||||
this.CheckBoxExtraRadio = item.subOption || ''
|
||||
this.CheckBoxExtraDesc = item.subOptionContent || ''
|
||||
}
|
||||
}
|
||||
break
|
||||
|
||||
case 'input':
|
||||
// 输入框回显
|
||||
if (item.chooseDesc) {
|
||||
// 初始化answerList对应位置为数组
|
||||
if (!this.answerList[questionIndex]) {
|
||||
this.$set(this.answerList, questionIndex, [])
|
||||
}
|
||||
|
||||
// 第四题和第五题特殊处理
|
||||
if (questionIndex === 3) { // 第四题
|
||||
// 第四题有两个输入框,chooseDesc格式为"值1,值2"
|
||||
const values = item.chooseDesc.split(',')
|
||||
if (values.length >= 2) {
|
||||
this.$set(this.answerList[questionIndex], 0, values[0])
|
||||
this.$set(this.answerList[questionIndex], 1, values[1])
|
||||
|
||||
// 更新DOM中的输入框值
|
||||
this.$nextTick(() => {
|
||||
const inputs = document.querySelectorAll(`div[v-if="item.type=='input'"] input`)
|
||||
if (inputs && inputs.length >= 2) {
|
||||
inputs[0].value = values[0]
|
||||
inputs[1].value = values[1]
|
||||
}
|
||||
})
|
||||
}
|
||||
} else if (questionIndex === 4) { // 第五题
|
||||
// 第五题只有一个输入框,chooseDesc直接就是值
|
||||
this.$set(this.answerList[questionIndex], 0, item.chooseDesc)
|
||||
|
||||
// 更新DOM中的输入框值
|
||||
this.$nextTick(() => {
|
||||
const inputs = document.querySelectorAll(`div[v-if="item.type=='input'"] input`)
|
||||
if (inputs && inputs.length >= 3) { // 第三个输入框是第五题的
|
||||
inputs[2].value = item.chooseDesc
|
||||
}
|
||||
})
|
||||
} else {
|
||||
// 其他输入框的通用处理
|
||||
const values = item.chooseDesc.split(',')
|
||||
values.forEach((val, idx) => {
|
||||
this.$set(this.answerList[questionIndex], idx, val)
|
||||
})
|
||||
}
|
||||
}
|
||||
break
|
||||
}
|
||||
})
|
||||
|
||||
console.log('表单数据回显完成', this.answerList)
|
||||
},
|
||||
|
||||
// 检测数据是否发生变化
|
||||
checkDataChanged() {
|
||||
// 如果没有原始数据,不修改 updateFlag,保持之前设置的值(应该是 '0')
|
||||
if (!this.originalAssessQuestionnaireDtoList || this.originalAssessQuestionnaireDtoList.length === 0) {
|
||||
console.log('没有原始数据,保持 updateFlag 为:', this.updateFlag)
|
||||
return
|
||||
}
|
||||
|
||||
// 如果数据长度不一致,返回修改状态
|
||||
if (this.assessQuestionnaireDtoList.length !== this.originalAssessQuestionnaireDtoList.length) {
|
||||
console.log('数据长度不一致', {
|
||||
current: this.assessQuestionnaireDtoList.length,
|
||||
original: this.originalAssessQuestionnaireDtoList.length
|
||||
})
|
||||
this.updateFlag = '0'
|
||||
return
|
||||
}
|
||||
|
||||
console.log('========== 开始比较数据 ==========')
|
||||
// 比较每一项数据
|
||||
let isChanged = false
|
||||
const changedDetails = []
|
||||
|
||||
for (let i = 0; i < this.assessQuestionnaireDtoList.length; i++) {
|
||||
const current = this.assessQuestionnaireDtoList[i]
|
||||
const original = this.originalAssessQuestionnaireDtoList[i]
|
||||
|
||||
// 详细比较每个字段
|
||||
const fieldChanges = {
|
||||
questionIndex: i,
|
||||
questionNo: current.questionNo,
|
||||
changes: {}
|
||||
}
|
||||
|
||||
if (this.isValueChanged(current.choose, original.choose)) {
|
||||
fieldChanges.changes.choose = { current: current.choose, original: original.choose }
|
||||
}
|
||||
if (this.isValueChanged(current.chooseContent, original.chooseContent)) {
|
||||
fieldChanges.changes.chooseContent = { current: current.chooseContent, original: original.chooseContent }
|
||||
}
|
||||
if (this.isValueChanged(current.subOption, original.subOption)) {
|
||||
fieldChanges.changes.subOption = { current: current.subOption, original: original.subOption }
|
||||
}
|
||||
if (this.isValueChanged(current.subOptionContent, original.subOptionContent)) {
|
||||
fieldChanges.changes.subOptionContent = { current: current.subOptionContent, original: original.subOptionContent }
|
||||
}
|
||||
if (this.isValueChanged(current.chooseDesc, original.chooseDesc)) {
|
||||
fieldChanges.changes.chooseDesc = { current: current.chooseDesc, original: original.chooseDesc }
|
||||
}
|
||||
if (this.isValueChanged(current.score, original.score)) {
|
||||
fieldChanges.changes.score = { current: current.score, original: original.score }
|
||||
}
|
||||
|
||||
if (Object.keys(fieldChanges.changes).length > 0) {
|
||||
changedDetails.push(fieldChanges)
|
||||
isChanged = true
|
||||
}
|
||||
}
|
||||
|
||||
// 只有在数据真正发生变化时才修改 updateFlag
|
||||
// 如果数据未变化,保持原来的值不变
|
||||
if (isChanged) {
|
||||
this.updateFlag = '0' // 数据已修改
|
||||
console.log('检测到数据变化,详细信息:', changedDetails)
|
||||
console.log('updateFlag 设置为 0(已修改)')
|
||||
} else {
|
||||
console.log('数据未发生变化,updateFlag 保持不变:', this.updateFlag)
|
||||
}
|
||||
console.log('========== 比较数据结束 ==========')
|
||||
},
|
||||
|
||||
// 辅助函数:判断两个值是否发生变化(处理null、undefined、空字符串、类型转换等情况)
|
||||
isValueChanged(currentValue, originalValue) {
|
||||
// 将null、undefined、空字符串都视为"空值"
|
||||
const normalizeValue = (val) => {
|
||||
if (val === null || val === undefined || val === '') {
|
||||
return null
|
||||
}
|
||||
// 统一转换为字符串进行比较,避免类型不一致导致的误判
|
||||
return String(val)
|
||||
}
|
||||
|
||||
const normalizedCurrent = normalizeValue(currentValue)
|
||||
const normalizedOriginal = normalizeValue(originalValue)
|
||||
|
||||
// 比较标准化后的值
|
||||
const isChanged = normalizedCurrent !== normalizedOriginal
|
||||
|
||||
return isChanged
|
||||
},
|
||||
|
||||
//继续投保,跳转至评估结果页
|
||||
toInsure(){
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin +`/#/common/evaluateResult?orderNo=${this.$route.query.orderNo}`
|
||||
},
|
||||
routerInfo: {
|
||||
path: `/common/evaluateResult?orderNo=${this.$route.query.orderNo}`
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.question-container {
|
||||
width: 100%;
|
||||
padding-bottom:50px;
|
||||
/deep/.question-detail{
|
||||
margin-top:10px;
|
||||
.van-checkbox{
|
||||
align-items: flex-start;
|
||||
}
|
||||
// .question-detail-checkbox{
|
||||
// padding: 10px;
|
||||
// }
|
||||
}
|
||||
.question-header{
|
||||
// height:calc(100vh - 40px);
|
||||
//padding-bottom:20px;
|
||||
overflow-y: auto;
|
||||
/deep/ .fieldContent{
|
||||
margin:5px 0;
|
||||
|
||||
.van-cell__title,input{
|
||||
color:#999;
|
||||
font-size:14px;
|
||||
}
|
||||
}
|
||||
.appntTitle{
|
||||
color:#333;
|
||||
}
|
||||
.evalDesc{
|
||||
h5{
|
||||
color:#333;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
.question-btn{
|
||||
height:50px;
|
||||
}
|
||||
|
||||
/deep/ .extraRadio{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
/deep/ .extraInput{
|
||||
padding-left: 0;
|
||||
margin-bottom:10px;
|
||||
}
|
||||
.budget-text{
|
||||
input{
|
||||
width:100px;
|
||||
height:20px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -44,6 +44,17 @@
|
||||
</van-button>
|
||||
</div>
|
||||
</div>
|
||||
<van-dialog v-model="specialAgreementShow" :showConfirmButton="false">
|
||||
<div slot="title">
|
||||
<p style="font-weight: 600">特别约定</p>
|
||||
</div>
|
||||
<div style="padding: 20px 30px 10px;font-size: 14px;">
|
||||
<div style="line-height: 25px;text-indent: 2em;">在{{riskName}}合同有效的情况下,投保单号/保单号{{ associatedPolicyNo }}的生产类保险金及现金红利(如有),自动转为{{riskName}}的保险费。</div>
|
||||
</div>
|
||||
<div style="text-align: center;margin-bottom: 15px;">
|
||||
<van-button plain type="primary" color="#1989fa" style="padding:0px 35px;font-size: 14px;" @click="specialAgreementShow = false">本人已阅读并通义上述特别约定内容</van-button>
|
||||
</div>
|
||||
</van-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
@@ -69,6 +80,11 @@
|
||||
chaoluButtonDisabled: true,
|
||||
chaoluStatus: false,
|
||||
productType: '',
|
||||
specialAgreementShow: false,
|
||||
associatedPolicyNo: null,
|
||||
chooseProductCodes: null,
|
||||
riskName: null,
|
||||
isFirstRead: null,
|
||||
branchType: '',
|
||||
// 银保渠道滚动检测相关
|
||||
isScrollToBottom: false,
|
||||
@@ -83,6 +99,13 @@
|
||||
[NoticeBar.name]: NoticeBar
|
||||
},
|
||||
created(){
|
||||
this.associatedPolicyNo = window.localStorage.getItem('associatedPolicyNo')
|
||||
this.riskName = window.localStorage.getItem('riskName')
|
||||
this.chooseProductCodes = window.localStorage.getItem('chooseProductCodes') && JSON.parse(window.localStorage.getItem('chooseProductCodes'))
|
||||
if(window.localStorage.getItem('isFirstRead') && window.localStorage.getItem('isFirstRead') == '1' && this.associatedPolicyNo && this.associatedPolicyNo != 'null' && this.chooseProductCodes && this.chooseProductCodes.includes('GFRS_M0098')){
|
||||
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){
|
||||
@@ -289,6 +312,7 @@
|
||||
window.localStorage.setItem('insuredSignFile',JSON.stringify(this.fileList))
|
||||
}
|
||||
if(this.fileList[this.current - 1].documentCode == '5') {
|
||||
window.localStorage.setItem('isFirstRead', '1')
|
||||
this.$router.push({
|
||||
path: '/sale/SignatureConfirmation',
|
||||
query: {
|
||||
|
||||
@@ -1,18 +1,12 @@
|
||||
<template>
|
||||
<div class='insuranceInformation-container' style="padding: 15px;">
|
||||
<div style="display: flex;align-items: center;font-weight: bold;" class="fs20">
|
||||
<span style="width: 3px;background: red;height: 25px;"></span>
|
||||
<span v-if="signVal == '0' || signVal == '2'" style="margin-left: 5px;">
|
||||
投保人:{{signName}}
|
||||
</span>
|
||||
<span v-if="signVal == '1'" style="margin-left: 5px;">
|
||||
被保险人:{{signName}}
|
||||
</span>
|
||||
<span v-if="signVal == '3'" style="margin-left: 5px;">
|
||||
代理人:{{signName}}
|
||||
</span>
|
||||
<div class="insuranceInformation-container" style="padding: 15px">
|
||||
<div style="display: flex; align-items: center; font-weight: bold" class="fs20">
|
||||
<span style="width: 3px; background: red; height: 25px"></span>
|
||||
<span v-if="signVal == '0' || signVal == '2'" style="margin-left: 5px"> 投保人:{{ signName }} </span>
|
||||
<span v-if="signVal == '1'" style="margin-left: 5px"> 被保险人:{{ signName }} </span>
|
||||
<span v-if="signVal == '3'" style="margin-left: 5px"> 代理人:{{ signName }} </span>
|
||||
</div>
|
||||
<div style="margin-top: 15px;font-weight: bold;line-height: 32px;font-size: 16px;" class="fs20">
|
||||
<div style="margin-top: 15px; font-weight: bold; line-height: 32px; font-size: 16px" class="fs20">
|
||||
<span v-if="signVal == '3'">
|
||||
1.接下来您作为代理人将进行投保文件的签字,请在签字前确保您已仔细阅读投保文件并了解投保文件的内容和含义,确定投保单各项信息准确无误。签字完成并成功提交说明您正式向我司提交投保申请。
|
||||
</span>
|
||||
@@ -26,208 +20,209 @@
|
||||
1.接下来您作为被保险人/监护人将进行投保文件的签字,请在签字前确保您已仔细阅读投保文件并了解投保文件的内容和含义,确定投保单各项信息准确无误。签字完成并成功提交说明您正式向我司提交投保申请。
|
||||
</span>
|
||||
</div>
|
||||
<div style="border-bottom: 1px dashed #eee;padding-bottom: 15px;margin-top: 15px;">
|
||||
<p style="font-size: 16px;font-weight: bold;">2.您将为以下文件进行统一签名:</p>
|
||||
<div v-for="item in fileList" style="margin-top: 15px;display: flex;justify-content: space-between;">
|
||||
<span style="font-size: 16px;color: red;opacity: 0.7;width: 60%;display: inline-block;">{{item.name}}</span>
|
||||
<span v-if="signstatus == '1'" style="display: flex;align-items: center;display: inline-block;width: 40%;">
|
||||
<img :src="src" style="margin-left: 15px;width: 16px;"/>
|
||||
<span style="font-size: 16px;color: #03ceaf;margin-left: 10px;">签署完成</span>
|
||||
<div style="border-bottom: 1px dashed #eee; padding-bottom: 15px; margin-top: 15px">
|
||||
<p style="font-size: 16px; font-weight: bold">2.您将为以下文件进行统一签名:</p>
|
||||
<div v-for="item in fileList" style="margin-top: 15px; display: flex; justify-content: space-between">
|
||||
<span style="font-size: 16px; color: red; opacity: 0.7; width: 60%; display: inline-block">{{ item.name }}</span>
|
||||
<span v-if="signstatus == '1'" style="display: flex; align-items: center; display: inline-block; width: 40%">
|
||||
<img :src="src" style="margin-left: 15px; width: 16px" />
|
||||
<span style="font-size: 16px; color: #03ceaf; margin-left: 10px">签署完成</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div style="margin-top: 15px;display: flex;align-items: center;" class="fs20">
|
||||
<span v-if="signVal == '3'" style="font-size: 16px;font-weight: bold;">代理人签名:</span>
|
||||
<span v-if="signVal == '0' || signVal == '2'" style="font-size: 16px;font-weight: bold;">投保人签名:</span>
|
||||
<span v-if="signVal == '1' && insuredAge >= 18" style="font-size: 16px;font-weight: bold;">被保险人签名:</span>
|
||||
<span v-if="signVal == '1' && insuredAge < 18" style="font-size: 16px;font-weight: bold;">被保险人/监护人签名:</span>
|
||||
<van-button type="danger" size="small" round style="margin-left: 20px;height: 32px;font-size: 16px;" @click="gosign" class="fs20">
|
||||
{{signstatus ? '重新签名' : '签名'}}
|
||||
<div style="margin-top: 15px; display: flex; align-items: center" class="fs20">
|
||||
<span v-if="signVal == '3'" style="font-size: 16px; font-weight: bold">代理人签名:</span>
|
||||
<span v-if="signVal == '0' || signVal == '2'" style="font-size: 16px; font-weight: bold">投保人签名:</span>
|
||||
<span v-if="signVal == '1' && insuredAge >= 18" style="font-size: 16px; font-weight: bold">被保险人签名:</span>
|
||||
<span v-if="signVal == '1' && insuredAge < 18" style="font-size: 16px; font-weight: bold">被保险人/监护人签名:</span>
|
||||
<van-button type="danger" size="small" round style="margin-left: 20px; height: 32px; font-size: 16px" @click="gosign" class="fs20">
|
||||
{{ signstatus ? '重新签名' : '签名' }}
|
||||
</van-button>
|
||||
</div>
|
||||
<div>
|
||||
<img v-if="signstatus" :src="signImgUrl" style="height: 34px;margin-left: 20px;width: auto;"/>
|
||||
<img v-if="signstatus" :src="signImgUrl" style="height: 34px; margin-left: 20px; width: auto" />
|
||||
</div>
|
||||
<div class='bg-white bottom-btn'>
|
||||
<van-button :disabled="nextDisabled" type='danger' size='normal' style="font-size: 16px;" block v-no-more-click='1000' @click="gonext">
|
||||
<div class="bg-white bottom-btn">
|
||||
<van-button :disabled="nextDisabled" type="danger" size="normal" style="font-size: 16px" block v-no-more-click="1000" @click="gonext">
|
||||
完成阅读并签署
|
||||
</van-button>
|
||||
</div>
|
||||
|
||||
<van-dialog v-model="guardianshow" :showConfirmButton="false">
|
||||
<div slot="title">
|
||||
<p style="color: #E9332E;">监护人姓名</p>
|
||||
<p style="color: #e9332e">监护人姓名</p>
|
||||
</div>
|
||||
<div class="guardianContent" style="padding: 20px 30px 30px;font-size: 14px;">
|
||||
<van-field v-model="guardianName" label="" name="监护人姓名" placeholder="请输入"/>
|
||||
<div class="guardianContent" style="padding: 20px 30px 30px; font-size: 14px">
|
||||
<van-field v-model="guardianName" label="" name="监护人姓名" placeholder="请输入" />
|
||||
</div>
|
||||
<div style="text-align: center;margin-bottom: 30px;">
|
||||
<van-button round type="danger" size="small" style="padding:0px 35px;font-size: 14px;" @click="gosign">确定</van-button>
|
||||
<div style="text-align: center; margin-bottom: 30px">
|
||||
<van-button round type="danger" size="small" style="padding: 0px 35px; font-size: 14px" @click="gosign">确定</van-button>
|
||||
</div>
|
||||
</van-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { saveInformation } from '@/api/ebiz/sale/sale'
|
||||
import isChoose from '@/assets/images/u20257.png'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
src: isChoose,
|
||||
fileList:[],
|
||||
signImgUrl:'data:image/gif;base64,',
|
||||
signstatus: false,
|
||||
signVal: '',
|
||||
signName: '',
|
||||
insuredAge: '',
|
||||
guardianshow: false,
|
||||
guardianName: '',
|
||||
nextDisabled:true,
|
||||
}
|
||||
},
|
||||
components: {},
|
||||
created(){
|
||||
setTimeout(() => {
|
||||
// eslint-disable-next-line no-undef
|
||||
EWebBridge.webCallAppInJs('webview_left_button', {
|
||||
img: this.$assetsUrl + 'images/del-close-btn@3x.png',
|
||||
intercept: '1' //是否拦截原生返回事件 1是 其他否
|
||||
import { saveInformation } from '@/api/ebiz/sale/sale'
|
||||
import isChoose from '@/assets/images/u20257.png'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
src: isChoose,
|
||||
fileList: [],
|
||||
signImgUrl: 'data:image/gif;base64,',
|
||||
signstatus: false,
|
||||
signVal: '',
|
||||
signName: '',
|
||||
insuredAge: '',
|
||||
guardianshow: false,
|
||||
guardianName: '',
|
||||
nextDisabled: true
|
||||
}
|
||||
},
|
||||
components: {},
|
||||
created() {
|
||||
setTimeout(() => {
|
||||
// eslint-disable-next-line no-undef
|
||||
EWebBridge.webCallAppInJs('webview_left_button', {
|
||||
img: this.$assetsUrl + 'images/del-close-btn@3x.png',
|
||||
intercept: '1' //是否拦截原生返回事件 1是 其他否
|
||||
})
|
||||
}, 100)
|
||||
window.appCallBack = this.appCallBack
|
||||
},
|
||||
mounted() {
|
||||
this.signVal = window.localStorage.getItem('sign-val')
|
||||
this.insuredAge = window.localStorage.getItem('insuredAge')
|
||||
document.body.style.backgroundColor = '#fff'
|
||||
let thisfilelist = ''
|
||||
if (this.signVal == '3') {
|
||||
thisfilelist = JSON.parse(window.localStorage.getItem('agentSignFile'))
|
||||
this.signName = window.localStorage.getItem('recmdName')
|
||||
} else if (this.signVal == '0' || this.signVal == '2') {
|
||||
thisfilelist = JSON.parse(window.localStorage.getItem('appntSignFile'))
|
||||
this.signName = window.localStorage.getItem('appntName')
|
||||
} else if (this.signVal == '1') {
|
||||
thisfilelist = JSON.parse(window.localStorage.getItem('insuredSignFile'))
|
||||
this.signName = window.localStorage.getItem('insuredName')
|
||||
}
|
||||
console.log(thisfilelist)
|
||||
thisfilelist.forEach((item) => {
|
||||
if (item.documentType == '1') {
|
||||
this.fileList.push({
|
||||
name: item.documentName,
|
||||
status: '1'
|
||||
})
|
||||
}, 100)
|
||||
window.appCallBack = this.appCallBack
|
||||
},
|
||||
mounted() {
|
||||
this.signVal = window.localStorage.getItem('sign-val')
|
||||
this.insuredAge = window.localStorage.getItem('insuredAge')
|
||||
document.body.style.backgroundColor = '#fff'
|
||||
let thisfilelist = ''
|
||||
if(this.signVal == '3') {
|
||||
thisfilelist = JSON.parse(window.localStorage.getItem('agentSignFile'))
|
||||
this.signName = window.localStorage.getItem('recmdName')
|
||||
} else if(this.signVal == '0' || this.signVal == '2') {
|
||||
thisfilelist = JSON.parse(window.localStorage.getItem('appntSignFile'))
|
||||
this.signName = window.localStorage.getItem('appntName')
|
||||
} else if(this.signVal == '1') {
|
||||
thisfilelist = JSON.parse(window.localStorage.getItem('insuredSignFile'))
|
||||
this.signName = window.localStorage.getItem('insuredName')
|
||||
}
|
||||
console.log(thisfilelist)
|
||||
thisfilelist.forEach(item => {
|
||||
if(item.documentType == '1') {
|
||||
this.fileList.push({
|
||||
name:item.documentName,
|
||||
status: '1'
|
||||
})
|
||||
this.signH5Img = sessionStorage.getItem('signH5Img')
|
||||
if (JSON.parse(window.sessionStorage.getItem('signH5Img'))) {
|
||||
if (JSON.parse(window.sessionStorage.getItem('signH5Img')).type == '签名' && JSON.parse(window.sessionStorage.getItem('signH5Img')).val)
|
||||
this.signstatus = true
|
||||
this.signImgUrl = this.signImgUrl + JSON.parse(window.sessionStorage.getItem('signH5Img')).val
|
||||
}
|
||||
if (window.sessionStorage.getItem('signH5Val')) {
|
||||
this.nextDisabled = false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
gosign() {
|
||||
window.localStorage.setItem('orderNo', this.$route.query.orderNo)
|
||||
let signInfo = {
|
||||
type: '签名',
|
||||
text: '',
|
||||
keyWord: ''
|
||||
}
|
||||
if (this.signVal == '0' || this.signVal == '2') {
|
||||
signInfo.text = window.localStorage.getItem('appntName')
|
||||
signInfo.keyWord = '投保锟斤拷:'
|
||||
}
|
||||
if (this.signVal == '1') {
|
||||
signInfo.text = window.localStorage.getItem('insuredName')
|
||||
signInfo.keyWord = '被保锟斤拷:'
|
||||
}
|
||||
if (this.signVal == '3') {
|
||||
signInfo.text = window.localStorage.getItem('recmdName')
|
||||
signInfo.keyWord = '代理锟斤拷:'
|
||||
}
|
||||
if (this.insuredAge < 18 && !this.guardianName && this.signVal == '1') {
|
||||
this.guardianshow = true
|
||||
} else {
|
||||
if (this.insuredAge < 18 && this.signVal == '1') {
|
||||
signInfo.text = this.guardianName
|
||||
}
|
||||
window.sessionStorage.setItem('signInfo', JSON.stringify(signInfo))
|
||||
setTimeout(() => {
|
||||
window.location.href = this.$mainUrl + '/signH5/1.html?time=' + new Date().getTime()
|
||||
}, 0)
|
||||
}
|
||||
},
|
||||
gonext() {
|
||||
let params = {
|
||||
orderType: 'SIGN_MERGED_ORDER',
|
||||
orderDTO: {
|
||||
orderInfoDTO: {
|
||||
orderNo: this.$route.query.orderNo
|
||||
},
|
||||
baseEncryp: window.sessionStorage.getItem('signH5Val'),
|
||||
signValue: JSON.parse(window.sessionStorage.getItem('signH5Img')).val,
|
||||
signType: window.localStorage.getItem('sign-val'),
|
||||
ebizSignDTOS: []
|
||||
}
|
||||
}
|
||||
let thisfilelist = ''
|
||||
if (this.signVal == '3') {
|
||||
thisfilelist = JSON.parse(window.localStorage.getItem('agentSignFile'))
|
||||
} else if (this.signVal == '0' || this.signVal == '2') {
|
||||
thisfilelist = JSON.parse(window.localStorage.getItem('appntSignFile'))
|
||||
} else if (this.signVal == '1') {
|
||||
thisfilelist = JSON.parse(window.localStorage.getItem('insuredSignFile'))
|
||||
}
|
||||
thisfilelist.forEach((item) => {
|
||||
if (item.documentType == '1') {
|
||||
params.orderDTO.ebizSignDTOS.push({
|
||||
signOrRead: 'sign',
|
||||
signId: item.signId,
|
||||
orderNo: this.$route.query.orderNo,
|
||||
documentCode: item.documentCode,
|
||||
documentStatus: '3',
|
||||
documentType: '1',
|
||||
signType: item.signType
|
||||
})
|
||||
}
|
||||
})
|
||||
this.signH5Img = sessionStorage.getItem('signH5Img')
|
||||
if(JSON.parse(window.sessionStorage.getItem('signH5Img'))) {
|
||||
if(JSON.parse(window.sessionStorage.getItem('signH5Img')).type == '签名' && JSON.parse(window.sessionStorage.getItem('signH5Img')).val)
|
||||
this.signstatus = true
|
||||
this.signImgUrl = this.signImgUrl + JSON.parse(window.sessionStorage.getItem('signH5Img')).val
|
||||
}
|
||||
if(window.sessionStorage.getItem('signH5Val')){
|
||||
this.nextDisabled = false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
gosign(){
|
||||
window.localStorage.setItem('orderNo',this.$route.query.orderNo)
|
||||
let signInfo = {
|
||||
type:'签名',
|
||||
text:'',
|
||||
keyWord: ''
|
||||
}
|
||||
if(this.signVal == '0' || this.signVal == '2') {
|
||||
signInfo.text = window.localStorage.getItem('appntName')
|
||||
signInfo.keyWord = '投保锟斤拷:'
|
||||
}
|
||||
if(this.signVal == '1'){
|
||||
signInfo.text = window.localStorage.getItem('insuredName')
|
||||
signInfo.keyWord = '被保锟斤拷:'
|
||||
}
|
||||
if(this.signVal == '3') {
|
||||
signInfo.text = window.localStorage.getItem('recmdName')
|
||||
signInfo.keyWord = '代理锟斤拷:'
|
||||
}
|
||||
if(this.insuredAge < 18 && !this.guardianName && this.signVal == '1') {
|
||||
this.guardianshow = true
|
||||
} else {
|
||||
if(this.insuredAge < 18 && this.signVal == '1') {
|
||||
signInfo.text = this.guardianName
|
||||
}
|
||||
window.sessionStorage.setItem('signInfo',JSON.stringify(signInfo))
|
||||
window.location.href = this.$mainUrl + '/signH5/1.html'
|
||||
// window.location.href = 'http://'+window.location.host + '/signH5/1.html'
|
||||
}
|
||||
|
||||
},
|
||||
gonext(){
|
||||
let params = {
|
||||
orderType: 'SIGN_MERGED_ORDER',
|
||||
orderDTO: {
|
||||
orderInfoDTO: {
|
||||
orderNo: this.$route.query.orderNo
|
||||
},
|
||||
baseEncryp: window.sessionStorage.getItem('signH5Val'),
|
||||
signValue: JSON.parse(window.sessionStorage.getItem('signH5Img')).val,
|
||||
signType: window.localStorage.getItem('sign-val'),
|
||||
ebizSignDTOS: []
|
||||
}
|
||||
}
|
||||
let thisfilelist = ''
|
||||
if(this.signVal == '3') {
|
||||
thisfilelist = JSON.parse(window.localStorage.getItem('agentSignFile'))
|
||||
} else if(this.signVal == '0' || this.signVal == '2') {
|
||||
thisfilelist = JSON.parse(window.localStorage.getItem('appntSignFile'))
|
||||
} else if(this.signVal == '1') {
|
||||
thisfilelist = JSON.parse(window.localStorage.getItem('insuredSignFile'))
|
||||
}
|
||||
thisfilelist.forEach(item => {
|
||||
if(item.documentType == '1') {
|
||||
params.orderDTO.ebizSignDTOS.push({
|
||||
signOrRead: 'sign',
|
||||
signId:item.signId,
|
||||
orderNo: this.$route.query.orderNo,
|
||||
documentCode: item.documentCode,
|
||||
documentStatus: '3',
|
||||
documentType: '1',
|
||||
signType: item.signType
|
||||
saveInformation(params).then((res) => {
|
||||
if (res.result == '0') {
|
||||
if (window.sessionStorage.getItem('shareUrl')) {
|
||||
this.$router.push({
|
||||
path: '/sale/SignatureConfirmation' + window.sessionStorage.getItem('shareUrl')
|
||||
})
|
||||
}
|
||||
})
|
||||
saveInformation(params).then(res=>{
|
||||
if(res.result == '0') {
|
||||
if(window.sessionStorage.getItem('shareUrl')){
|
||||
this.$router.push({
|
||||
path: '/sale/SignatureConfirmation'+window.sessionStorage.getItem('shareUrl')
|
||||
})
|
||||
} else {
|
||||
this.$router.push({
|
||||
path: '/sale/SignatureConfirmation',
|
||||
query: {
|
||||
orderNo: this.$route.query.orderNo
|
||||
}
|
||||
})
|
||||
}
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
appCallBack(data) {
|
||||
if (data.trigger == 'left_button_click') {
|
||||
if (this.videoShow) {
|
||||
this.$jump({
|
||||
flag: 'navigation',
|
||||
extra: {
|
||||
title: '签名确认',
|
||||
hiddenRight: '1'
|
||||
this.$router.push({
|
||||
path: '/sale/SignatureConfirmation',
|
||||
query: {
|
||||
orderNo: this.$route.query.orderNo
|
||||
}
|
||||
})
|
||||
return (this.videoShow = false)
|
||||
}
|
||||
return this.$dialog.confirm({
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
appCallBack(data) {
|
||||
if (data.trigger == 'left_button_click') {
|
||||
if (this.videoShow) {
|
||||
this.$jump({
|
||||
flag: 'navigation',
|
||||
extra: {
|
||||
title: '签名确认',
|
||||
hiddenRight: '1'
|
||||
}
|
||||
})
|
||||
return (this.videoShow = false)
|
||||
}
|
||||
return this.$dialog
|
||||
.confirm({
|
||||
className: 'dialog-delete',
|
||||
title: '提示',
|
||||
message: '是否确认退出?',
|
||||
@@ -251,34 +246,30 @@
|
||||
.catch(() => {
|
||||
return
|
||||
})
|
||||
}
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
|
||||
},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
document.body.style.backgroundColor = ''
|
||||
window.sessionStorage.removeItem('signH5Img')
|
||||
window.sessionStorage.removeItem('signH5Val')
|
||||
window.sessionStorage.removeItem('signInfo')
|
||||
next()
|
||||
},
|
||||
watch: {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
beforeRouteLeave(to, from, next) {
|
||||
document.body.style.backgroundColor = ''
|
||||
window.sessionStorage.removeItem('signH5Img')
|
||||
window.sessionStorage.removeItem('signH5Val')
|
||||
window.sessionStorage.removeItem('signInfo')
|
||||
next()
|
||||
},
|
||||
watch: {}
|
||||
}
|
||||
</script>
|
||||
<style lang='scss' scoped>
|
||||
.guardianContent{
|
||||
/deep/ .van-cell{
|
||||
border: 1px solid #eee;
|
||||
}
|
||||
<style lang="scss" scoped>
|
||||
.guardianContent {
|
||||
/deep/ .van-cell {
|
||||
border: 1px solid #eee;
|
||||
}
|
||||
.fs20{
|
||||
font-size: 16px;
|
||||
.van-button__text{
|
||||
padding: 8px 16px;
|
||||
}
|
||||
}
|
||||
.fs20 {
|
||||
font-size: 16px;
|
||||
.van-button__text {
|
||||
padding: 8px 16px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user