Compare commits

...

4 Commits

Author SHA1 Message Date
liu.xiaofeng@ebiz-digits.com
330ca33a8d 双录弹窗新接口对接与调试2 2023-10-08 09:26:54 +08:00
liu.xiaofeng@ebiz-digits.com
418f361c41 双录弹窗新接口对接与调试 2023-10-08 09:15:41 +08:00
liu.xiaofeng@ebiz-digits.com
ae68a2720c 双录弹窗修改样式并修改触发逻辑 2023-10-06 15:58:10 +08:00
liu.xiaofeng@ebiz-digits.com
14714d9f6c 双录代码基础判断逻辑修改 2023-10-04 21:48:33 +08:00
4 changed files with 125 additions and 36 deletions

View File

@@ -353,4 +353,13 @@ export function getUniversalCodeLst(data) {
method: 'post', method: 'post',
data data
}) })
}
// 获取柳州分红万能投连型产品编码集合
export function getDoubleRecordProductLst(data) {
return request({
url: getUrl('/sale/product/getDoubleRecordProductLst ', 1),
method: 'post',
data
})
} }

View File

@@ -3112,7 +3112,7 @@
/deep/.van-action-sheet__name { /deep/.van-action-sheet__name {
font-size: 12px; font-size: 12px;
} }
.checkbox-click .checkbox-click {
position: absolute; position: absolute;
right: 0; right: 0;
top: 0; top: 0;

View File

@@ -105,6 +105,17 @@
</div> </div>
</div> </div>
</van-dialog> </van-dialog>
<van-dialog v-model="thisdoubledialogshow" :showConfirmButton="false">
<div slot="title">
<p style="color: #E9332E;">提示</p>
</div>
<div style="padding: 20px 30px 30px;font-size: 14px;">
<div style="line-height: 25px;">根据监管要求本单需要您配合对销售过程进行录音录像</div>
</div>
<div style="text-align: center;">
<van-button type="danger" block style="font-size: 14px;" @click="thisdoubledialogfunc">确定</van-button>
</div>
</van-dialog>
<div> <div>
<van-submit-bar button-text="下一步" @submit="nextStep" :disabled="nextStepFlag"> <van-submit-bar button-text="下一步" @submit="nextStep" :disabled="nextStepFlag">
<div class="fs15 ml15 fwb" style="flex:1" slot="default"> <div class="fs15 ml15 fwb" style="flex:1" slot="default">
@@ -122,7 +133,7 @@ import FieldPicker from '@/components/ebiz/FieldPicker'
import { orderDetail, deleteOrderInfo, mainRiskList, mainRiskListProposal, calculatePremium } from '@/api/ebiz/common/common' import { orderDetail, deleteOrderInfo, mainRiskList, mainRiskListProposal, calculatePremium } from '@/api/ebiz/common/common'
import { formatAllRisk } from '@/assets/js/utils/formatRiskList' import { formatAllRisk } from '@/assets/js/utils/formatRiskList'
import { getDetail, deleteProposal } from '@/api/ebiz/proposal/proposal.js' import { getDetail, deleteProposal } from '@/api/ebiz/proposal/proposal.js'
import { saveOrderActiveType,getActivityList } from '@/api/ebiz/sale/sale.js' import { saveOrderActiveType,getActivityList, getDoubleRecordProductLst } from '@/api/ebiz/sale/sale.js'
import utilsAge from '@/assets/js/utils/age' import utilsAge from '@/assets/js/utils/age'
import IndexBar from '@/components/ebiz/sale/IndexBar' import IndexBar from '@/components/ebiz/sale/IndexBar'
import riskRules from './risk-rules' import riskRules from './risk-rules'
@@ -131,6 +142,7 @@ export default {
name: 'selectedProduct', name: 'selectedProduct',
data() { data() {
return { return {
thisdoubledialogshow: false,
chooseProducts: [], chooseProducts: [],
total: 0, total: 0,
nextStepFlag: true, nextStepFlag: true,
@@ -148,6 +160,7 @@ export default {
noCheckedUrl: require('@/assets/images/kmh/no_checked.png'), noCheckedUrl: require('@/assets/images/kmh/no_checked.png'),
proposalOrderNo:'', proposalOrderNo:'',
renovate:'',//刷新子组件 renovate:'',//刷新子组件
manageComCode:'',//代理人管理机构 52贵州 45广西
isCrossChannel: 0, // 是否选择交叉渠道列表 0-否 1-是 isCrossChannel: 0, // 是否选择交叉渠道列表 0-否 1-是
} }
}, },
@@ -161,7 +174,7 @@ export default {
[Radio.name]: Radio, [Radio.name]: Radio,
[Image.name]: Image [Image.name]: Image
}, },
mounted() { async mounted() {
this.$jump({ this.$jump({
flag: 'navigation', flag: 'navigation',
extra: { extra: {
@@ -207,6 +220,9 @@ export default {
window.appCallBack = this.appCallBack window.appCallBack = this.appCallBack
document.body.style.backgroundColor = '#fff' document.body.style.backgroundColor = '#fff'
let dataReturn = await riskRules.getAgentInfoFunc(this)
this.manageComCode = dataReturn.manageComCode
this.getProductList() this.getProductList()
if (!this.$route.query.edit) { if (!this.$route.query.edit) {
//如果不是编辑/导航条跳转进来的 //如果不是编辑/导航条跳转进来的
@@ -754,21 +770,41 @@ export default {
} }
}) })
} else { } else {
let showFlag = this.showTipForDoubleRecord() let showFlag = false
if (this.manageComCode == '52') {
this.chooseProducts.map(item => {
if (item.insuYearFlag == 'A' || (item.insuYearFlag == 'Y' && item.insuYear != '1')) {
showFlag = true
return true
}
})
if(!showFlag){
let doubleRecordRes = await getDoubleRecordProductLst({})
if(doubleRecordRes.result == 0){
if(doubleRecordRes.content && doubleRecordRes.content.length != 0){
doubleRecordRes.content.forEach(items=>{
this.chooseProducts.map(item => {
if (item.riskCode == items ) {
showFlag = true
return true
}
})
})
}
}
}
}
if (showFlag) { if (showFlag) {
this.$dialog this.thisdoubledialogshow = true
.alert({
message: '年龄≥60周岁投保人如果投保一年期以上产品请根据监管要求对销售过程进行录音录像',
confirmButtonColor: '#000000'
})
.then(() => {
this.nextPageShow()
})
} else { } else {
this.nextPageShow() this.nextPageShow()
} }
} }
}, },
thisdoubledialogfunc(){
this.thisdoubledialogshow = false
this.nextPageShow()
},
//添加产品 //添加产品
async addProduct() { async addProduct() {
// 1、处理判断活动 1、电投流程 2、后端接口提供弹出判断 // 1、处理判断活动 1、电投流程 2、后端接口提供弹出判断
@@ -902,11 +938,11 @@ export default {
} }
}) })
}, },
showTipForDoubleRecord() { async showTipForDoubleRecord() {
//判断投保人年龄是否大于等于60岁 //判断投保人年龄是否大于等于60岁
let showFlag = false let showFlag = false
let age = this.appntDTO.birthday?utilsAge.getAge(this.appntDTO.birthday, new Date()):this.appntDTO.age let age = this.appntDTO.birthday?utilsAge.getAge(this.appntDTO.birthday, new Date()):this.appntDTO.age
if (age >= 60) { if (this.manageComCode == '52') {
this.chooseProducts.map(item => { this.chooseProducts.map(item => {
if (item.insuYearFlag == 'A' || (item.insuYearFlag == 'Y' && item.insuYear != '1')) { if (item.insuYearFlag == 'A' || (item.insuYearFlag == 'Y' && item.insuYear != '1')) {
showFlag = true showFlag = true
@@ -914,6 +950,21 @@ export default {
} }
}) })
} }
if(showFlag){
let doubleRecordRes = await getDoubleRecordProductLst({})
if(doubleRecordRes.result == 0){
if(doubleRecordRes.content && doubleRecordRes.content.length != 0){
doubleRecordRes.content.forEach(items=>{
this.chooseProducts.map(item => {
if (item.riskCode == items ) {
showFlag = true
return true
}
})
})
}
}
}
return showFlag return showFlag
}, },
nextPageShow() { nextPageShow() {

View File

@@ -411,6 +411,17 @@
<van-button round type="danger" size="small" style="padding:0px 35px;font-size: 14px;" @click="isNewPeopleFlagTipshow = false">我知道了</van-button> <van-button round type="danger" size="small" style="padding:0px 35px;font-size: 14px;" @click="isNewPeopleFlagTipshow = false">我知道了</van-button>
</div> </div>
</van-dialog> </van-dialog>
<van-dialog v-model="thisdoubledialogshow" :showConfirmButton="false">
<div slot="title">
<p style="color: #E9332E;">提示</p>
</div>
<div style="padding: 20px 30px 30px;font-size: 14px;">
<div style="line-height: 25px;">根据监管要求本单需要您配合对销售过程进行录音录像</div>
</div>
<div style="text-align: center;">
<van-button type="danger" block style="font-size: 14px;" @click="thisdoubledialogfunc">确定</van-button>
</div>
</van-dialog>
</div> </div>
</template> </template>
<script> <script>
@@ -457,6 +468,9 @@
}, },
data() { data() {
return { return {
thisdoubledialogshow: false,
thismyorderNo: '',
thismystr: '',
isNewPeopleFlagTipshow: false, isNewPeopleFlagTipshow: false,
renovate: '', renovate: '',
specilFlag: '', //特殊显示-为桂企产品专写 1-桂企 undefind-其他 specilFlag: '', //特殊显示-为桂企产品专写 1-桂企 undefind-其他
@@ -1334,6 +1348,7 @@
} }
this.save() this.save()
}, },
async save() { async save() {
let params = { let params = {
orderType: 'APPNT_ORDER', orderType: 'APPNT_ORDER',
@@ -1345,18 +1360,19 @@
appntDTO: {} appntDTO: {}
} }
} }
let str = '' this.thismystr = ''
params.orderDTO.appntDTO = this.userInfo params.orderDTO.appntDTO = this.userInfo
console.log('params :>> ', params) console.log('params :>> ', params)
//------------------------专为桂企写死--begin---------------// //------------------------专为桂企写死--begin---------------//
if (this.specilFlag == '1') { if (this.specilFlag == '1') {
params.orderDTO.orderInfoDTO.productCode = 'GFRS_M0040' params.orderDTO.orderInfoDTO.productCode = 'GFRS_M0040'
str = 'specilFlag=1&' this.thismystr = 'specilFlag=1&'
//params.orderDTO.orderInfoDTO.productCode = 'GFRS_M0024' //params.orderDTO.orderInfoDTO.productCode = 'GFRS_M0024'
} }
// ------------------------专为桂企写死--end---------------// // ------------------------专为桂企写死--end---------------//
let resultData = await saveOrUpdateOrderInfo(params) let resultData = await saveOrUpdateOrderInfo(params)
if (resultData.result == 0) { if (resultData.result == 0) {
this.thismyorderNo = resultData.orderNo
//deleteFlag 0-该页面修改了信息且修改的信息影响到后面流程,后台进行了删除数据的操作 //deleteFlag 0-该页面修改了信息且修改的信息影响到后面流程,后台进行了删除数据的操作
if (resultData.deleteFlag == '0') { if (resultData.deleteFlag == '0') {
localStorage.salePageFlag = '2' localStorage.salePageFlag = '2'
@@ -1364,37 +1380,38 @@
//如果从保单列表编辑按钮或者新增保单进入 //如果从保单列表编辑按钮或者新增保单进入
localStorage.salePageFlag = '2' localStorage.salePageFlag = '2'
} else { } else {
str = str + 'edit=1&salePageFlag=2' this.thismystr = this.thismystr + 'edit=1&salePageFlag=2'
} }
this.$CacheUtils.setLocItem('orderNo', resultData.orderNo) this.$CacheUtils.setLocItem('orderNo', resultData.orderNo)
// localStorage.insuredDetail = JSON.stringify(this.userInfo) // localStorage.insuredDetail = JSON.stringify(this.userInfo)
// 添加提示 // 添加提示
let age = utilsAge.getAge(this.userInfo.birthday, new Date()) let age = utilsAge.getAge(this.userInfo.birthday, new Date())
if (age >= 60) { if (age >= 60 && this.manageComCode == '45') {
this.$dialog this.thisdoubledialogshow = true
.alert({ // this.$dialog
message: '年龄≥60周岁投保人如果投保一年期以上产品请根据监管要求对销售过程进行录音录像', // .alert({
confirmButtonColor: '#000000', // message: '根据监管要求,本单需要您配合对销售过程进行录音录像!',
}) // confirmButtonColor: '#000000',
.then(() => { // })
this.$jump({ // .then(() => {
flag: 'h5', // this.$jump({
extra: { // flag: 'h5',
url: location.origin + `/#/sale/insuredPerson?${str}` + '&orderNo=' + resultData.orderNo, // extra: {
}, // url: location.origin + `/#/sale/insuredPerson?${str}` + '&orderNo=' + resultData.orderNo,
routerInfo: { // },
path: `/sale/insuredPerson?${str}` + '&orderNo=' + resultData.orderNo, // routerInfo: {
}, // path: `/sale/insuredPerson?${str}` + '&orderNo=' + resultData.orderNo,
}) // },
}) // })
// })
} else { } else {
this.$jump({ this.$jump({
flag: 'h5', flag: 'h5',
extra: { extra: {
url: location.origin + `/#/sale/insuredPerson?${str}` + '&orderNo=' + resultData.orderNo, url: location.origin + `/#/sale/insuredPerson?${this.thismystr}` + '&orderNo=' + this.thismyorderNo,
}, },
routerInfo: { routerInfo: {
path: `/sale/insuredPerson?${str}` + '&orderNo=' + resultData.orderNo, path: `/sale/insuredPerson?${this.thismystr}` + '&orderNo=' + this.thismyorderNo,
}, },
}) })
} }
@@ -1402,6 +1419,18 @@
this.$toast(resultData.resultMessage) this.$toast(resultData.resultMessage)
} }
}, },
thisdoubledialogfunc(){
this.thisdoubledialogshow = false
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/sale/insuredPerson?${this.thismystr}` + '&orderNo=' + this.thismyorderNo,
},
routerInfo: {
path: `/sale/insuredPerson?${this.thismystr}` + '&orderNo=' + this.thismyorderNo,
},
})
},
//区域选择 //区域选择
sureArea(area, type) { sureArea(area, type) {
console.log('area :>> ', area) console.log('area :>> ', area)