Compare commits

...

15 Commits

Author SHA1 Message Date
zhang.weiwei
df2e566c42 Merge branch 'feature/FCRS-825-【需求】《国富人寿富贵尊享终身寿险(分红型》个险渠道产品运营系统需求' 2024-10-21 16:31:11 +08:00
zhang.weiwei
5997c18b7e feat-建议书富贵尊享终身寿险(分红型)添加利益演示提示 2024-10-17 11:29:47 +08:00
zhang.weiwei
5fa35c785d feat-保费试算新增纯文本展示试算因子项【type=5】 2024-10-16 14:16:58 +08:00
dong.ai
09d3b24c28 建议书预览字体加粗2 2024-10-10 16:48:05 +08:00
dong.ai
dac2ff47f2 建议书预览字体加粗 2024-10-10 16:42:46 +08:00
dong.ai
c2d8a103dc 建议书预览页面添加模块 2024-10-10 16:40:02 +08:00
zhang.weiwei
e5fc51effa Merge branch 'release/release-20240910' into dev-new 2024-09-10 15:04:18 +08:00
zhang.weiwei
5a7a6a0374 feat-1.放开首页富贵年年C款产品;2.电投签名确认新增交费期间展示项 2024-09-10 15:01:39 +08:00
zhang.weiwei
b21278491c Merge branch 'feature/FCRS-795个险渠道-国富人寿富贵年年终身寿险(C款)' into dev-new
# Conflicts:
#	src/assets/js/utils/data-dictionary.js
2024-09-02 14:26:23 +08:00
zhang.weiwei
5875fc0a7c feat-1.富贵年年终身寿险新增单位;2.首页显示产品中心显示无忧B产品 2024-09-02 14:23:35 +08:00
zhang.weiwei
dc757b0f22 Merge branch 'hotfix/签名确认页面-防范销售误导-新增个险独代渠道和个险GBC渠道校验逻辑' into dev-new 2024-08-28 17:24:45 +08:00
zhang.weiwei
0d75ad4bd2 Merge branch 'feature/FCRS-781【需求】《国富人寿富满盈嘉终身寿险(分红型)》中介渠道产品' into dev-new 2024-08-28 10:56:57 +08:00
zhang.weiwei
4a968d8d90 feat-国富人寿富满盈嘉终身寿险(分红型) 相关费用加单位【元】 2024-08-28 10:56:25 +08:00
zhang.weiwei
704e4465dc Merge branch 'feature/FCRS-764-【需求】国富人寿国富无忧两全保险(B款)-新产品-' into dev-new 2024-08-08 11:36:34 +08:00
zhang.weiwei
3d465e17bd Merge branch 'feature/FCRS-764-【需求】国富人寿国富无忧两全保险(B款)-新产品-' into dev-new 2024-08-08 11:25:52 +08:00
8 changed files with 3109 additions and 2825 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 KiB

View File

@@ -3927,6 +3927,26 @@ export default {
{
code: "wuyouliangquanbkx",
label: "元"
},
{
code: "currentPaidUpAdditions_L",
label: "元"
},
{
code: "currentPaidUpAdditions_M",
label: "元"
},
{
code: "totalPaidUpAdditions_L",
label: "元"
},
{
code: "totalPaidUpAdditions_M",
label: "元"
},
{
code: "GFRS_M0094__cashValue",
label: "元"
}
],
// 卡单与短期险重新投保选择职业类别时,两个模块职业类型数据的排序不同,创建这个数据字典,用于在选择职业类别时,作为一个参数传入组件,
@@ -3956,7 +3976,7 @@ export default {
{ id: 'M', text: '母亲' }
],
// <!--------- 津贴申请专用 end --------->
imageInfoType:[
imageInfoType: [
{ id: '1', text: '居民身份证正面' },
{ id: '2', text: '居民身份证反面' },
{ id: '3', text: '银行卡正面' },

File diff suppressed because it is too large Load Diff

View File

@@ -553,6 +553,9 @@ export default {
item['amt'] = Number(item.minAmt) * Number(item.moneyUnit)
}
}
}else if(item.type==5){
// 单元格用于展示文案从extra中获取
item['showContent'] = item.extra
}
//规则储存
item['rules'] = productTrialInfoDTO[item.code]

View File

@@ -44,10 +44,10 @@
<div class="pcenter-list mr20 mb10 ml15">
<template v-if="branchType != '6'">
<div class="pcenter-item text-center">
<img src="../../../assets/images/home_cp_1.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0073')" />
<img src="../../../assets/images/home_product_center_m0092.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0092')" />
</div>
<div class="pcenter-item text-center">
<img src="../../../assets/images/home_cp_2.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0072')" />
<img src="../../../assets/images/home_product_center_m0094.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0094')" />
</div>
</template>
<template v-else-if="branchType == '6'">
@@ -122,11 +122,11 @@
<div class="home-product-pcenter">
<div class="pcenter-list mr20 mb10 ml15">
<div class="pcenter-item text-center">
<img src="../../../assets/images/home_cp_1.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0073')" />
</div>
<div class="pcenter-item text-center">
<img src="../../../assets/images/home_cp_2.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0072')" />
</div>
<img src="../../../assets/images/home_product_center_m0092.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0092')" />
</div>
<div class="pcenter-item text-center">
<img src="../../../assets/images/home_product_center_m0094.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0094')" />
</div>
</div>
</div>
</div>

View File

@@ -4,7 +4,7 @@
<div>
<div class="mb50">
<img class="w178 h41 div_1" src="@/assets/images/proposal/proposal_logo.png" />
<div class="white fw500 fs18 div_2">{{mainRiskName}}</div>
<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)">
@@ -58,7 +58,9 @@
</div>
<div class="risk_body flex text-center table bg_f7fbff" v-for="(riskItem, index) in pageShowInfo.showInsuredDTO.riskDTOLst" :key="index">
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7">{{ riskItem.riskName }}</div>
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border" v-if="ispremshow">{{ riskItem.amt ? riskItem.amt : '--' }}</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>
@@ -78,11 +80,13 @@
<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.receivePensionWay == '0' ? '年领':'月领'}}</div>
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.guaranteedYear}} </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">
{{ riskItem.amt}}
{{ riskItem.amt }}
</div>
<div v-if="riskItem.receivePensionWay == '1'" class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">
{{ riskItem.amt | fillNumber }}
@@ -91,7 +95,6 @@
</div>
</div>
<div class="h20">&ensp;</div>
</div>
<div class="up_down_div">
@@ -167,7 +170,6 @@
</div>
</div>
</div>
<div class="h20">&ensp;</div>
<div class="up_down_div">
<img src="@/assets/images/proposal/proposal_down.png" :class="pageShowType.riskCheckStatus ? '' : 'img180'" @click="testRiskCheck" />
</div>
@@ -196,7 +198,7 @@
v-for="(moneyItem, index) in pageShowInfo.showInsuredDTO.demoLabel"
:key="index"
>
<div class="text-left" style="width: 75%;">
<div class="text-left" style="width: 75%">
<span>{{ moneyItem.contentLabel }}</span>
</div>
<div class="text-right" v-if="moneyItem.content == 'currentBonus_M'">
@@ -239,15 +241,67 @@
:radios="pageShowInfo.showInsuredDTO.radios"
:value.sync="pageShowInfo.showInsuredDTO.tap"
></select-radio>
<div class="fs12 text-center pb15" style="color: #999999;">拖动按钮查看不同年龄的保单利益</div>
<div class="fs12 text-center pb15" style="color: #999999">拖动按钮查看不同年龄的保单利益</div>
<!-- 国富人寿富贵尊享终身寿险分红型添加利益演示提示 -->
<div v-if="mainRiskCodes.includes('GFRS_M0095')" class="fs13 div_11 text-left">
<b
>本利益演示基于公司的精算及其他假设不代表公司的历史经营业绩也不代表对公司未来经营业绩的预期保单的红利分配是不确定的红利水平是不保证的在某些年度红利可能为零
</b>
</div>
<div class="div_10"></div>
</div>
<!-- 责任免除 -->
<div class="pt15 pb17 bg-white model_title relative">
<div :class="pageShowType.dutyCheckStatus ? '' : '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>
因下列情形之一导致被保险人身故或全残的我们不承担给付保险金的责任<br />
投保人对被保险人的故意杀害故意伤害<br />
被保险人故意犯罪或者抗拒依法采取的刑事强制措施<br />
被保险人故意自伤或自保险合同成立或者保险合同效力恢复之日起2年内自杀但被保险人自杀时为无民事行为能力人的除外<br />
被保险人服用吸食或注射毒品<br />
被保险人酒后驾驶无合法有效驾驶证驾驶或驾驶无合法有效行驶证的机动车<br />
战争军事冲突暴乱或武装叛乱<br />
核爆炸核辐射或核污染<br />
发生上述第一项情形导致被保险人身故的保险合同终止我们向被保险人的继承人除投保人本人外退还保险合同的现金价值<br />
发生上述第一项情形导致被保险人全残的保险合同终止我们向被保险人退还保险合同的现金价值<br />
发生上述其他情形导致被保险人身故或全残的保险合同终止我们向您退还保险合同的现金价值
</b>
</div>
<div class="h20">&ensp;</div>
<div class="up_down_div">
<img src="@/assets/images/proposal/proposal_down.png" :class="pageShowType.dutyCheckStatus ? '' : 'img180'" @click="dutyCheck" />
</div>
</div>
</div>
<!-- 犹豫期退保 -->
<div class="pt15 pb17 bg-white relative">
<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>自您签收保险合同之日起有15日的犹豫期</b
>在此期间请您认真审视保险合同如果您认为保险合同与您的需求不相符您可以在此期间提出解除保险合同我们将退还您所支付的全部保险费<br />
您在犹豫期后解除保险合同的<b>自我们收到解除合同通知书之日起保险合同终止</b>我们自收到解除合同通知书之日起30日内向您退还保险合同的现金价值
<b>您在犹豫期后解除合同可能会遭受一定损失</b>
</div>
<div class="h20">&ensp;</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 gray div_11">
本资料仅供客户理解产品条款所用有关产品的说明解释承诺或保证如与产品条款不一致均以产品条款为准
<div class="fs13 div_11">
<b> 本资料仅供客户理解产品条款所用有关产品的说明解释承诺或保证如与产品条款不一致均以产品条款为准 </b>
</div>
<div class="div_12"></div>
</div>
@@ -283,18 +337,19 @@
</div>
<div class="div_02">
<div class="text-center div_021">
<div class="text-center div_022">{{mainRiskName}}</div>
<div class="text-center div_022">{{ mainRiskName }}</div>
<!-- 如果没有姓名的话根据性别展示男士或女士 -->
<div class="text-center div_023">尊敬的<span v-if="pageShowInfo.appntDTO.name">{{ pageShowInfo.appntDTO.name.substr(0, 1) }}</span>{{ pageShowInfo.appntDTO.sex == '0' ? '先生' : '女士' }}</div>
<div class="text-center div_023">
尊敬的<span v-if="pageShowInfo.appntDTO.name">{{ pageShowInfo.appntDTO.name.substr(0, 1) }}</span
>{{ pageShowInfo.appntDTO.sex == '0' ? '先生' : '女士' }}
</div>
</div>
<img class="img_13" src="@/assets/images/proposal/proposal_share_bg.png" />
</div>
<div class="text-center">
<img @click="showShareType = '01'" class="img_14" src="@/assets/images/proposal/proposal_open.png" />
</div>
<div class="fs12 text-center div_03">
敬呈
</div>
<div class="fs12 text-center div_03">敬呈</div>
</div>
</div>
</template>
@@ -326,7 +381,7 @@ import {
import SelectRadio from '@/components/ebiz/SelectRadio'
import { getDemo, toInsurance, getDemoByProposalNo, share, getSharingToken } from '@/api/ebiz/proposal/proposal.js'
import { funcPermCheck } from '@/api/ebiz/common/common'
import { haveTap, getTapIndex, relevanceByInsure,isAllEqual } from './js/exhibitionMethod.js'
import { haveTap, getTapIndex, relevanceByInsure, isAllEqual } from './js/exhibitionMethod.js'
import { formatRiskList } from '@/assets/js/utils/formatRiskList.js'
import { weixinShare } from '@/assets/js/utils/wxShare.js'
import { getAgentInfo } from '@/api/ebiz/my/my.js'
@@ -348,7 +403,9 @@ export default {
dutyShowType: '00',
isFixed: false, // 粘性布局状态
productCheckStatus: true, //产品收展状态
riskCheckStatus: true //责任收展状态
riskCheckStatus: true, //责任收展状态
hesitateCheckStatus: true, // 犹豫期退保
dutyCheckStatus: true // 责任免除
},
// 页面显示详细数据
pageShowInfo: {
@@ -385,9 +442,9 @@ export default {
agent: {},
mainRiskCodes: [],
time: 5,
proposalNo:'',
proposalNo: '',
mainRiskName: '',
ispremshow: true, // 是否展示保额
ispremshow: true // 是否展示保额
}
},
filters: {
@@ -417,8 +474,8 @@ export default {
},
fillNumber(val) {
// 小于10在前面补0
return Number(val*0.085).toFixed(2)
},
return Number(val * 0.085).toFixed(2)
}
},
mounted() {
this.$jump({
@@ -453,7 +510,7 @@ export default {
// init方法在微信端存储token接口请求用此token所以init方法前不要请求接口会影响分享微信功能接口会报token为空
this.init()
//校验当前用户权限
funcPermCheck({}).then(res => {
funcPermCheck({}).then((res) => {
this.isCheck = res.result
})
},
@@ -495,12 +552,12 @@ export default {
checkInsure(insureId) {
let that = this
this.pageShowInfo.showInsuredDTO
this.pageShowInfo.insuredDTOs.map(item => {
this.pageShowInfo.insuredDTOs.map((item) => {
if (item.insuredId == insureId) {
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
if(!item.name){
let sex = item.sex == '0'?'男':'女'
item.name = sex + item.insuredAge+'岁'
if (!item.name) {
let sex = item.sex == '0' ? '男' : '女'
item.name = sex + item.insuredAge + '岁'
}
this.pageShowInfo.showInsuredDTO = item
that.$forceUpdate()
@@ -522,6 +579,12 @@ export default {
testRiskCheck() {
this.pageShowType.riskCheckStatus = !this.pageShowType.riskCheckStatus
},
hesitateCheck() {
this.pageShowType.hesitateCheckStatus = !this.pageShowType.hesitateCheckStatus
},
dutyCheck() {
this.pageShowType.dutyCheckStatus = !this.pageShowType.dutyCheckStatus
},
checkShowDutyType(type) {
this.pageShowType.dutyShowType = type
},
@@ -533,21 +596,21 @@ export default {
}
}
if (this.$route.query.proposalOrderNo) {
this.proposalNo = this.$route.query.proposalOrderNo;
this.proposalNo = this.$route.query.proposalOrderNo
params.proposalInfoDTO.proposalNo = this.$route.query.proposalOrderNo
this.$CacheUtils.setLocItem('proposalNo',this.$route.query.proposalOrderNo)
this.$CacheUtils.setLocItem('proposalNo', this.$route.query.proposalOrderNo)
}
if (this.isWeixin) {
//在微信端
params.proposalInfoDTO.proposalNo = this.$route.query.proposalOrderNo
/*this.mainRiskCodes = JSON.parse(this.$route.query.mainRiskCodes)*/
this.$CacheUtils.setLocItem('token',this.$route.query.token)
this.$CacheUtils.setLocItem('token', this.$route.query.token)
let agentResult = await getAgentInfo({}) //调取代理人查询接口
if (agentResult.result == '0') {
let { agent } = this
let { name, phoneNo, certificateInfoList } = agentResult
if (certificateInfoList != null && certificateInfoList != '' && certificateInfoList.length > 0) {
certificateInfoList.forEach(c => {
certificateInfoList.forEach((c) => {
if (c.certificateType == '0') {
agent.certificate = c.certificateNo
}
@@ -574,7 +637,7 @@ export default {
this.agent.name = agentResult.name
}
params.proposalInfoDTO.proposalNo = this.$route.query.proposalOrderNo
getDemo(params).then(res => {
getDemo(params).then((res) => {
this.formatLocal(res)
})
}
@@ -610,7 +673,7 @@ export default {
}
},
async sharePeople() {
console.log(this.pageShowInfo.insuredDTOs,'this.pageShowInfo.insuredDTOs')
console.log(this.pageShowInfo.insuredDTOs, 'this.pageShowInfo.insuredDTOs')
let date = new Date()
let month = date.getMonth() + 1
if (month <= 9) {
@@ -618,45 +681,46 @@ export default {
}
let reqData = {
mdType: 'm',
monthStr:date.getFullYear() + month
monthStr: date.getFullYear() + month
}
let shareContent;
let shareContent
let resData = await queryPersonal(reqData)
// debugger
//准会员话术改为普通人话术
if(resData.content.length&&resData.content[0].slevel<3){
resData.content[0].sgrade='00'
if (resData.content.length && resData.content[0].slevel < 3) {
resData.content[0].sgrade = '00'
}
if(resData.content.length&&resData.content[0].glevel<3){
resData.content[0].ggrade='00'
if (resData.content.length && resData.content[0].glevel < 3) {
resData.content[0].ggrade = '00'
}
if (resData.content.length&&resData.content[0].slevel>0&&resData.content[0].sgrade&&resData.content[0].sgrade!='00') {
if (resData.content.length && resData.content[0].slevel > 0 && resData.content[0].sgrade && resData.content[0].sgrade != '00') {
// if(resData.content[0].slevel<3){
// resData.content[0].sgrade='00'
// }
let sgrade =this.memberConversion(resData.content[0].sgrade);
shareContent='国富双冠精英'+resData.content[0].slevel+'级'+sgrade+resData.content[0].name+'为您量身定制的保险产品,请查收';
}else if (resData.content.length&&resData.content[0].glevel>0&&resData.content[0].ggrade&&resData.content[0].ggrade!='00') {
let sgrade = this.memberConversion(resData.content[0].sgrade)
shareContent = '国富双冠精英' + resData.content[0].slevel + '级' + sgrade + resData.content[0].name + '为您量身定制的保险产品,请查收'
} else if (resData.content.length && resData.content[0].glevel > 0 && resData.content[0].ggrade && resData.content[0].ggrade != '00') {
// if(resData.content[0].glevel<3){
// resData.content[0].ggrade='00'
// }
let ggrade =this.memberConversion(resData.content[0].ggrade);
shareContent='国富桂冠精英'+resData.content[0].glevel+'级'+ggrade+resData.content[0].name+'为您量身定制的保险产品,请查收';
let ggrade = this.memberConversion(resData.content[0].ggrade)
shareContent = '国富桂冠精英' + resData.content[0].glevel + '级' + ggrade + resData.content[0].name + '为您量身定制的保险产品,请查收'
} else {
shareContent = this.agent.name+'为您设计的专属保险计划书,请查阅!因为国富,所以民安!';
shareContent = this.agent.name + '为您设计的专属保险计划书,请查阅!因为国富,所以民安!'
}
console.log(shareContent,'shareContent')
console.log(shareContent, 'shareContent')
let title
let riskList = [] //所有险种
let riskCodeList = [] //所有险种code
this.pageShowInfo.insuredDTOs.map(item => {
item.mainRisk.map(item01 => {
if (item01.isMainRisk == '0') { //主险
this.pageShowInfo.insuredDTOs.map((item) => {
item.mainRisk.map((item01) => {
if (item01.isMainRisk == '0') {
//主险
riskList.push(item01)
}
})
})
riskList.map(item => {
riskList.map((item) => {
riskCodeList.push(item.riskCode)
})
let sameRisk = isAllEqual(riskCodeList)
@@ -665,17 +729,17 @@ export default {
// 2、有2个及以上主险组合建议书名称显示“保险产品组合计划”
// 二、有多个被保险人
// 都显示“家庭保障计划”
if(sameRisk){
if(this.pageShowInfo.insuredDTOs.length > 1){
title='家庭保障计划'
}else{
title= riskList[0].riskName
if (sameRisk) {
if (this.pageShowInfo.insuredDTOs.length > 1) {
title = '家庭保障计划'
} else {
title = riskList[0].riskName
}
}else{
if(this.pageShowInfo.insuredDTOs.length > 1){
title='家庭保障计划'
}else{
title= '保险产品组合计划'
} else {
if (this.pageShowInfo.insuredDTOs.length > 1) {
title = '家庭保障计划'
} else {
title = '保险产品组合计划'
}
}
let res = await getSharingToken({ shareType: 'proposal_demonstrate' })
@@ -685,7 +749,8 @@ export default {
extra: {
title: title,
content: shareContent,
url: location.origin + '/#/proposal/proposalInfo?proposalOrderNo=' + encodeURI(this.$route.query.proposalOrderNo) + '&token=' + encodeURI(res.content),
url:
location.origin + '/#/proposal/proposalInfo?proposalOrderNo=' + encodeURI(this.$route.query.proposalOrderNo) + '&token=' + encodeURI(res.content),
img: this.$assetsUrl + 'images/logo.png'
}
})
@@ -698,7 +763,7 @@ export default {
radioChange(risk) {
let that = this
let key = risk.tap
risk.demoLabel.forEach(demo => {
risk.demoLabel.forEach((demo) => {
let result = haveTap(demo.content, '_')
if (result) {
let index = getTapIndex(demo.content, '_') + 1
@@ -727,10 +792,10 @@ export default {
this.pageShowInfo.insuredDTOs = res.content.orderDTO.insuredDTOs
this.pageShowInfo.showInsuredDTO = this.pageShowInfo.insuredDTOs[0]
let mainRiskNameList = []
that.pageShowInfo.insuredDTOs.forEach(item => {
item.riskDTOLst.forEach(item01 => {
that.pageShowInfo.insuredDTOs.forEach((item) => {
item.riskDTOLst.forEach((item01) => {
if (item01.isMainRisk == '0') {
if(item01.mainRiskCode == 'GFRS_M0080' || item01.mainRiskCode == 'GFRS_M0083' || item01.mainRiskCode == 'GFRS_M0085') {
if (item01.mainRiskCode == 'GFRS_M0080' || item01.mainRiskCode == 'GFRS_M0083' || item01.mainRiskCode == 'GFRS_M0085') {
that.ispremshow = false
}
mainRiskNameList.push(item01.riskName)
@@ -742,13 +807,13 @@ export default {
// 2、有2个及以上主险组合建议书名称显示“保险产品组合计划”
// 二、有多个被保险人
// 都显示“家庭保障计划”
if(mainRiskNameList.length == 1){
if (mainRiskNameList.length == 1) {
if (this.pageShowInfo.insuredDTOs.length > 1) {
that.mainRiskName = '家庭保障计划'
} else {
that.mainRiskName = mainRiskNameList[0]
}
}else{
} else {
if (this.pageShowInfo.insuredDTOs.length > 1) {
that.mainRiskName = '家庭保障计划'
} else {
@@ -758,16 +823,16 @@ export default {
//投保人年龄
// this.pageShowInfo.appntDTO.age = getAge.getAge(this.pageShowInfo.appntDTO.birthdayLabel, new Date())
let { insuredLabelResult, insuredResult, insuredInfoResult } = res.content.calculusResDTO
orderDTO.insuredDTOs.forEach(v => {
orderDTO.insuredDTOs.forEach((v) => {
//根据数据字典 获取当前值
v.age = getAge.getAge(v.birthdayLabel, new Date())
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
if(!v.name){
let sex = v.sex == '0'?'男':'女'
v.name = sex + v.insuredAge+'岁'
if (!v.name) {
let sex = v.sex == '0' ? '男' : '女'
v.name = sex + v.insuredAge + '岁'
}
v.riskDTOLstNew = []
v.riskDTOLst.forEach(risk => {
v.riskDTOLst.forEach((risk) => {
if (risk.isMainRisk == '0') {
that.mainRiskCodes.push(risk.riskCode)
}
@@ -787,11 +852,11 @@ export default {
risk.payName = risk.payEndYear + '年'
}
} else {
risk.payName = '交至' + risk.payEndYear + '周岁'
risk.payName = '交至' + risk.payEndYear + '周岁'
}
// todo责任显示处理
if(risk.riskCode == 'GFRS_M0053' || risk.riskCode == 'GFRS_M0061'){
v.riskDTOLstNew.push(risk)
if (risk.riskCode == 'GFRS_M0053' || risk.riskCode == 'GFRS_M0061') {
v.riskDTOLstNew.push(risk)
}
})
})
@@ -803,9 +868,9 @@ export default {
this.insuredDTOs = relevanceByInsure(this.insuredDTOs, insuredLabelResult, insuredResult, insuredInfoResult) //进行数据关联
this.getWXTitle(this.insuredDTOs) //获取微信标题
// 建议书名称
this.insuredDTOs.forEach(item => {
this.insuredDTOs.forEach((item) => {
if (item.riskDTOLst && item.riskDTOLst.length > 0) {
item.riskDTOLst.forEach(ele => {
item.riskDTOLst.forEach((ele) => {
this.chooseProductCodes.push(ele.riskCode)
})
}
@@ -815,7 +880,7 @@ export default {
},
//获取微信分享的标题
getWXTitle(insuredDTOs) {
dataDictionary.riskType.forEach(dataRisk => {
dataDictionary.riskType.forEach((dataRisk) => {
if (insuredDTOs[0].mainRisk[0].riskCode == dataRisk.code) {
this.wxTitle = dataRisk.shortName + '计划书'
}
@@ -830,10 +895,10 @@ export default {
let path = '/sale/insuredInfo?edit=1'
if (this.mainRiskCodes) {
if (this.mainRiskCodes.length === 2) {
let prd26 = this.mainRiskCodes.some(item => {
let prd26 = this.mainRiskCodes.some((item) => {
return item === 'GFRS_M0026'
})
let prd17 = this.mainRiskCodes.some(item => {
let prd17 = this.mainRiskCodes.some((item) => {
return item === 'GFRS_M0017'
})
// 如果选择的产品不是GFRS_M0026&GFRS_M0017弹出提示
@@ -841,7 +906,12 @@ export default {
return Toast.fail('暂不支持组合产品转投保')
}
}
if (this.mainRiskCodes[0] == 'GFRS_M0024' || this.mainRiskCodes[0] == 'GFRS_M0040' || this.mainRiskCodes[0] == 'GFRS_M0044'|| this.mainRiskCodes[0] == 'GFRS_M0051') {
if (
this.mainRiskCodes[0] == 'GFRS_M0024' ||
this.mainRiskCodes[0] == 'GFRS_M0040' ||
this.mainRiskCodes[0] == 'GFRS_M0044' ||
this.mainRiskCodes[0] == 'GFRS_M0051'
) {
let specilFlag = '1'
path = `${path}&specilFlag=${specilFlag}`
let flagPermission = await riskRules.getProductSellPermissionList(this.mainRiskCodes[0], this)
@@ -857,7 +927,7 @@ export default {
proposalNo: this.proposalNo
}
}
toInsurance(params).then(res => {
toInsurance(params).then((res) => {
if (res.result == '0') {
this.$CacheUtils.setLocItem('orderNo', res.content.orderNo)
localStorage.chooseProductCodes = ''
@@ -882,7 +952,7 @@ export default {
this.$forceUpdate() //强制组件更新 解决值更改之后 滑块不滑动的问题
let index = String(value)
if (demoLabel) {
demoLabel.forEach(label => {
demoLabel.forEach((label) => {
label.value = demoValue[index][label.content]
if (label.content == 'currentAge') {
this.pageShowInfo.showInsuredDTO.checkAge = label.value
@@ -922,7 +992,7 @@ export default {
//点击滑块增加或者减少时调用
slideChange(risk) {
let index = String(risk.sliderValue)
risk.demoLabel.forEach(label => {
risk.demoLabel.forEach((label) => {
label.value = risk.demoValue[index][label.content]
if (label.content == 'currentAge') {
this.pageShowInfo.showInsuredDTO.checkAge = label.value
@@ -944,14 +1014,14 @@ export default {
},
//跳转到pdf 进入建议书后 根据建议书编码来查找相应的pdf
async goPDF() {
if(this.$route.query.proposalOrderNo){
if (this.$route.query.proposalOrderNo) {
this.$router.push({
path: '/proposal/pdf',
query: {
proposalOrderNo:this.$route.query.proposalOrderNo
proposalOrderNo: this.$route.query.proposalOrderNo
}
})
}else{
} else {
this.$router.push({ path: '/proposal/pdf' })
}
@@ -996,10 +1066,10 @@ export default {
return values
},
memberConversion(status) {
let text=''
let text = ''
switch (status) {
case '00':
text = '' //准会员不显示
text = '' //准会员不显示
break
case '01':
text = '正式会员'
@@ -1117,6 +1187,10 @@ export default {
height: 60px;
overflow: hidden;
}
.hideInfo_hesitate {
height: 60px;
overflow: hidden;
}
.insured_item {
position: absolute;
z-index: 98;
@@ -1518,6 +1592,9 @@ export default {
line-height: 20px;
margin: 5px 0px;
}
.div_height {
line-height: 24px;
}
.van-button::before {
position: absolute;
top: 50%;

View File

@@ -16,6 +16,12 @@
<van-cell title="销售人员工号" :value="recmd.agentCode" />
<van-cell title="销售人员姓名" :value="recmd.name" />
<van-cell title="投保单号" :value="orderInfo.orderNo"></van-cell>
<!-- 电投签名确认新增交费期间 start at 20240910 -->
<div v-if="riskInfo">
<van-cell v-if="riskInfo.payEndYear == '1000'" title="交费期间" value="一次性交清" />
<van-cell v-else title="交费期间" :value="riskInfo.payEndYearFlag == 'Y' ? `${riskInfo.payEndYear}年` : `至${riskInfo.payEndYear}岁`" />
</div>
<!-- 电投签名确认新增交费期间 end at 20240910 -->
<van-cell title="投保日期" :value="date" />
<van-cell title="保费合计(元)" :value="orderInfo.orderAmount == undefined ? '' : orderInfo.orderAmount | moneyFormat" />
<van-cell v-if="cvalidateStr" title="指定保单生效日" :value="cvalidateStr" />
@@ -353,6 +359,8 @@ export default {
riskName: '',
// 员工信息
recmd: {},
// 险种信息 获取交费期间
riskInfo: null,
// 投保时间
date: '',
// 订单信息
@@ -1449,6 +1457,7 @@ export default {
let documentCodeType = res.orderDTO.ebizSignDTOS.filter(item=>item.documentCode == '14').length>0
localStorage.setItem('documentCodeType', documentCodeType)
let riskDTOLst = res.orderDTO.insuredDTOs[0].riskDTOLst[0]
this.riskInfo = res.orderDTO.insuredDTOs[0].riskDTOLst[0]
// 判断是否为长期险
if ((riskDTOLst.insuYearFlag == 'Y' && riskDTOLst.insuYear > 1) || riskDTOLst.insuYearFlag == 'A') {
this.$CacheUtils.setLocItem('isLongInsuranceFlag', "Y");