Compare commits

...

10 Commits

Author SHA1 Message Date
hz
ea2b8984d2 Merge branch 'feature/FCRS-1048投保流程优化需求' into dev-new 2025-12-05 16:22:07 +08:00
hz
8f1f3c13fc feat(sale): 新增新产品流程判断逻辑
- 添加新产品流程标识判断
- 根据标识跳转至新投保告知页面或原有页面
- 更新附件管理页面跳转逻辑
- 优化订单状态为37时的页面跳转条件判断
2025-12-05 16:21:50 +08:00
xuxinxiang
ed565ffb80 Merge branch 'feature/FCRS-1048投保流程优化需求' into dev-new 2025-12-05 13:59:40 +08:00
xuxinxiang
b8ea811ad6 修改签名后页面样式问题 2025-12-05 13:58:14 +08:00
xuxinxiang
dfb9546422 Merge branch 'feature/FCRS-1048投保流程优化需求' into dev-new 2025-12-05 11:16:44 +08:00
xuxinxiang
0edabc67cf 抄录提交和签字确定回跳页面 2025-12-05 11:15:31 +08:00
xuxinxiang
5ca5d913d4 Merge branch 'feature/FCRS-1048投保流程优化需求' into dev-new 2025-12-05 09:43:23 +08:00
xuxinxiang
46ae4f590d 修改文件为已阅读状态后,二次阅读页面的展示问题。修改投被不同人被保人无法阅读文件的问题 2025-12-05 09:42:05 +08:00
xuxinxiang
beba5a9e69 Merge branch 'feature/FCRS-1048投保流程优化需求' into dev-new 2025-12-04 21:17:24 +08:00
xuxinxiang
27311ca621 修复部分问题 2025-12-04 21:16:34 +08:00
4 changed files with 92 additions and 21 deletions

View File

@@ -583,7 +583,8 @@ export default {
localStorage.orderNo = orderNo
localStorage.isFrom = 'sale'
localStorage.removeItem('changeCard')
// 是否进入新流程的标识
const recordedNewProd = order.orderInfoDTO.newSaleFlag === '0'
if (orderStatus == '01') {
//已签名待客户确认, 跳到签名确认页面
url = '/sale/SignatureConfirmation?edit=1&orderNo=' + orderNo
@@ -597,11 +598,11 @@ export default {
//被保险人保存成功, 跳到已选产品列表
url = processURL('/common/selectedProduct?edit=1&orderNo=' + orderNo)
} else if (orderStatus == '37') {
//受益人保存成功, 跳到告知信息--
url = '/sale/NotifyingMessage?edit=1&orderNo=' + orderNo
// 新流程的新产品检测, 如果是新产品,则跳转到新投保告知页面
url = (recordedNewProd ? '/flow-improve/sale/insureNotifyReplenishImag?orderNo=' : '/sale/newProduct?edit=1&orderNo=') + orderNo
} else if (orderStatus == '38') {
//账户信息保存成功, 跳到附件管理--
if (order.orderInfoDTO.activeType == 'KMH') {
if (order.orderInfoDTO.activeType === 'KMH') {
let params = {
orderNo: order.orderInfoDTO.orderNo
}
@@ -628,7 +629,7 @@ export default {
}
})
} else {
url = '/sale/AttachmentManagement?edit=1&orderNo=' + orderNo
url = processURL('/sale/AttachmentManagement?edit=1&orderNo=' + orderNo)
}
} else if (orderStatus == '39') {
//险种信息保存成功, 跳到已选产品列表

View File

@@ -1219,6 +1219,8 @@ export default {
}).then(() => {
this.isNoWXInsureReadClick(val)
})
} else {
this.isNoWXInsureReadClick(val)
}
// 若被保险人为未成年人时,非微信环境点击【立即阅读签名】按钮进行弹窗提示 结束
}
@@ -2123,7 +2125,7 @@ export default {
window.localStorage.setItem('insuredSignFile', JSON.stringify(this.insuredSign))
window.localStorage.setItem('sign-val', val)
this.$router.push({
path: 'flow-improve/sale/readDocuments',
path: '/flow-improve/sale/readDocuments',
query: {
orderNo: this.$route.query.orderNo,
currentIndex: currentIndex + 1

View File

@@ -1,7 +1,7 @@
<template>
<div class='insuranceInformation-container redRadioCheckbox' :class="[isGuanhuaiBiaozhun === 0 ? '' : 'active1']">
<!--文件导航 开始-->
<div class="xxx-fileList" v-if="!isPreview">
<div class="xxx-fileList" v-if="!isPreview" ref="xxx1">
<p :key="index" v-for="(item, index) in fileList" :class="{ active: index+1 == current }"
@click="fileListClick(item,index)"
style="white-space: nowrap;display: flex;align-items: center;">
@@ -12,7 +12,7 @@
<!--文件导航 结束-->
<!-- 顶部提示 开始 -->
<p v-if='branchType != "14"' class="xxx-notice-bar">文件滑动至底部完成阅读</p>
<p v-if='branchType != "14" && !isPreview' class="xxx-notice-bar" ref="xxx2">文件滑动至底部完成阅读</p>
<!-- 顶部提示 结束 -->
<!-- 一键置底 开始 -->
@@ -22,32 +22,32 @@
<!-- 一键置底 结束 -->
<!--文件内容 开始-->
<div id="pdf" ref="scrollableContent" @scroll="updateScrollProgress">
<div id="pdfH5ID"></div>
<div id="pdf" :class="[isPreview ? 'active' : '']" ref="scrollableContent" @scroll="updateScrollProgress">
<div ref="xxx8" id="pdfH5ID"></div>
<div ref="activeButtonEle"></div>
</div>
<!--文件内容 结束-->
<!--底部提示和按钮 开始-->
<div class="xxx-bottom">
<p class="xxx-isread">
<div class="xxx-bottom" v-if="!isPreview">
<p class="xxx-isread" ref="xxx3">
本人已阅读确认理解并同意<span>{{documentName}}</span>各项内容
</p>
<div class='bg-white bottom-btn' v-if="current != '1'">
<div class='bg-white bottom-btn' v-if="current != '1'" ref="xxx4">
<van-button style="width: 30%;font-size: 16px;" plain type='danger' size='large' v-no-more-click='1000' @click="prevStep">上一步
</van-button>
<van-button style="width: 70%;font-size: 16px;" type='danger' size='large' :disabled='scrollProgress < 70' @click='goNext' v-no-more-click='1000'>
<van-button style="width: 70%;font-size: 16px;" type='danger' size='large' :disabled='isyiye ? false : scrollProgress < 70' @click='goNext' v-no-more-click='1000'>
我已阅读确认并理解继续
</van-button>
</div>
<div class='bg-white bottom-btn' v-if="current == '1'">
<van-button class="fs20" type='danger' size='large' :disabled='scrollProgress < 70' @click='goNext' v-no-more-click='1000'>我已阅读确认并理解继续
<div class='bg-white bottom-btn' v-if="current == '1'" ref="xxx5">
<van-button class="fs20" type='danger' size='large' :disabled='isyiye ? false : scrollProgress < 70' @click='goNext' v-no-more-click='1000'>我已阅读确认并理解继续
</van-button>
</div>
</div>
<!--底部提示和按钮 结束-->
<!--关怀标准切换 开始-->
<oldVersionSwitch @onFloatBtnClicked="onFloatBtnClicked" />
<oldVersionSwitch v-if="!isPreview" @onFloatBtnClicked="onFloatBtnClicked" />
<!--关怀标准切换 结束-->
</div>
</template>
@@ -80,7 +80,8 @@
scrollTimer: null,
pdfStatus: void 0,
scrollProgress: 0,
isGuanhuaiBiaozhun: Number(sessionStorage.getItem('oldVersionSwitch'))
isGuanhuaiBiaozhun: Number(sessionStorage.getItem('oldVersionSwitch')),
isyiye: false
}
},
components: {
@@ -116,6 +117,7 @@
})
}, 100)
window.appCallBack = this.appCallBack
console.log(this.isPreview)
},
mounted() {
document.body.style.backgroundColor = '#fff'
@@ -287,6 +289,35 @@
]
}
}
/**
* @Author: LiuXiaoFeng
* @Description: documentCode为2 代表的是人身保险电子投保单
* 人身保险电子投保单文件需要抄录 保存时修改入参数据 copyValue是抄录的base64字符串 signOrRead需要变更为sign
* @Date: 2023/11/20
**/
if(this.fileList[this.current - 1].documentCode == '2' && this.signVal == '2' && (this.productType == '1' || this.productType == '2')){
window.localStorage.setItem('chaoluSubmitObj',JSON.stringify({
orderType: 'SIGN_COPY',
orderDTO: {
orderInfoDTO: {
orderNo: this.$route.query.orderNo
},
ebizSignDTOS: [
{
copyValue: '',
caType: 'copy',
signOrRead: 'sign',
signId: this.fileList[this.current - 1].signId,
orderNo: this.$route.query.orderNo,
documentCode: this.fileList[this.current - 1].documentCode,
documentStatus: '1',
documentType: this.fileList[this.current - 1].documentType,
signType: window.localStorage.getItem('sign-val')
}
]
}
}))
}
saveInformation(params).then(res=>{
if(res.result == 0) {
window.sessionStorage.removeItem('currentFile')
@@ -371,6 +402,12 @@
}).on("complete", (status, msg, time)=> { //监听完成事件
this.pdfStatus = status
console.log("状态:" + status + ",信息:" + msg + ",耗时:" + time + "毫秒,总页数:" + this.totalNum)
if (this.current!= '1') {
this.isyiye = (window.innerHeight - (this.$refs.xxx1.clientHeight + this.$refs.xxx2.clientHeight + this.$refs.xxx3.clientHeight + this.$refs.xxx4.clientHeight)) > this.$refs.xxx8.clientHeight
} else {
this.isyiye = (window.innerHeight - (this.$refs.xxx1.clientHeight + this.$refs.xxx2.clientHeight + this.$refs.xxx3.clientHeight + this.$refs.xxx5.clientHeight)) > this.$refs.xxx8.clientHeight
}
console.log(this.isyiye)
})
},
fileListClick(item,index) {
@@ -667,6 +704,10 @@
height: calc(100vh - 170px) !important;
position: relative;
top: 66px;
&.active{
height: 100vh !important;
top: 0;
}
//
}
.xxx-bottom{
@@ -704,6 +745,10 @@
#pdf{
height: calc(100vh - 240px) !important;
top: 84px;
&.active{
height: 100vh;
top: 0;
}
}
.xxx-isread{
font-size: 18px;

View File

@@ -1,6 +1,7 @@
<template>
<div class='insuranceInformation-container' :class="[isGuanhuaiBiaozhun === 0 ? '' : 'active']">
<div style="display: flex;align-items: center;font-weight: bold;" class="fs20 div1">
<div class="big-box">
<div style="display: flex;align-items: center;font-weight: bold;" class="fs20 div1">
<span class="span1" style="width: 3px;background: red;height: 25px;"></span>
<span v-if="signVal == '0' || signVal == '2'" style="margin-left: 5px;">
投保人{{signName}}
@@ -56,6 +57,7 @@
<div>
<img v-if="signstatus" :src="signImgUrl" style="height: 34px;margin-left: 20px;width: auto;"/>
</div>
</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">
完成阅读并签署
@@ -160,6 +162,9 @@
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
this.chaoLuObj.btnText = '抄录完成'
this.chaoLuObj.btnText1 = '已抄录'
}
if(window.sessionStorage.getItem('signH5Val')){
this.nextDisabled = false
@@ -231,12 +236,27 @@
signInfo.text = this.guardianName
}
window.sessionStorage.setItem('signInfo',JSON.stringify(signInfo))
window.location.href = this.$mainUrl + '/signH5/1.html'
window.location.href = this.$mainUrl + '/signH5/2.html'
// window.location.href = 'http://'+window.location.host + '/signH5/1.html'
}
},
gonext(){
// 抄录提交 开始
if ((this.signVal == '0' || this.signVal == '2') && (this.productType == '1' || this.productType == '2')) {
saveInformation(JSON.parse(window.localStorage.getItem('chaoluSubmitObj'))).then(res => {
if(res.result == '0') {
this.publicSubmit()
} else {
this.$toast(res.resultMessage)
}
})
} else {
this.publicSubmit()
}
// 抄录提交 结束
},
publicSubmit() {
let params = {
orderType: 'SIGN_MERGED_ORDER',
orderDTO: {
@@ -434,6 +454,9 @@
box-sizing: border-box;
width: 100%;
overflow: auto;
.big-box{
margin-bottom: 140px;
}
}
.insuranceInformation-container.active{
.div1{
@@ -459,7 +482,7 @@
}
}
.div4{
margin-bottom: 160px;
// margin-bottom: 160px;
span{
font-size: 20px !important;
}