mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-07 01:56:44 +08:00
Compare commits
4 Commits
20250430上线
...
feature/FC
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
330ca33a8d | ||
|
|
418f361c41 | ||
|
|
ae68a2720c | ||
|
|
14714d9f6c |
@@ -353,4 +353,13 @@ export function getUniversalCodeLst(data) {
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 获取柳州分红万能投连型产品编码集合
|
||||
export function getDoubleRecordProductLst(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/product/getDoubleRecordProductLst ', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
@@ -3112,7 +3112,7 @@
|
||||
/deep/.van-action-sheet__name {
|
||||
font-size: 12px;
|
||||
}
|
||||
.checkbox-click
|
||||
.checkbox-click {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
|
||||
@@ -105,6 +105,17 @@
|
||||
</div>
|
||||
</div>
|
||||
</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>
|
||||
<van-submit-bar button-text="下一步" @submit="nextStep" :disabled="nextStepFlag">
|
||||
<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 { formatAllRisk } from '@/assets/js/utils/formatRiskList'
|
||||
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 IndexBar from '@/components/ebiz/sale/IndexBar'
|
||||
import riskRules from './risk-rules'
|
||||
@@ -131,6 +142,7 @@ export default {
|
||||
name: 'selectedProduct',
|
||||
data() {
|
||||
return {
|
||||
thisdoubledialogshow: false,
|
||||
chooseProducts: [],
|
||||
total: 0,
|
||||
nextStepFlag: true,
|
||||
@@ -148,6 +160,7 @@ export default {
|
||||
noCheckedUrl: require('@/assets/images/kmh/no_checked.png'),
|
||||
proposalOrderNo:'',
|
||||
renovate:'',//刷新子组件
|
||||
manageComCode:'',//代理人管理机构 52贵州 45广西
|
||||
isCrossChannel: 0, // 是否选择交叉渠道列表 0-否 1-是
|
||||
}
|
||||
},
|
||||
@@ -161,7 +174,7 @@ export default {
|
||||
[Radio.name]: Radio,
|
||||
[Image.name]: Image
|
||||
},
|
||||
mounted() {
|
||||
async mounted() {
|
||||
this.$jump({
|
||||
flag: 'navigation',
|
||||
extra: {
|
||||
@@ -207,6 +220,9 @@ export default {
|
||||
|
||||
window.appCallBack = this.appCallBack
|
||||
document.body.style.backgroundColor = '#fff'
|
||||
let dataReturn = await riskRules.getAgentInfoFunc(this)
|
||||
this.manageComCode = dataReturn.manageComCode
|
||||
|
||||
this.getProductList()
|
||||
if (!this.$route.query.edit) {
|
||||
//如果不是编辑/导航条跳转进来的
|
||||
@@ -754,21 +770,41 @@ export default {
|
||||
}
|
||||
})
|
||||
} 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) {
|
||||
this.$dialog
|
||||
.alert({
|
||||
message: '年龄≥60周岁投保人,如果投保一年期以上产品,请根据监管要求对销售过程进行录音录像!',
|
||||
confirmButtonColor: '#000000'
|
||||
})
|
||||
.then(() => {
|
||||
this.nextPageShow()
|
||||
})
|
||||
this.thisdoubledialogshow = true
|
||||
} else {
|
||||
this.nextPageShow()
|
||||
}
|
||||
}
|
||||
},
|
||||
thisdoubledialogfunc(){
|
||||
this.thisdoubledialogshow = false
|
||||
this.nextPageShow()
|
||||
},
|
||||
//添加产品
|
||||
async addProduct() {
|
||||
// 1、处理判断活动 1、电投流程 2、后端接口提供弹出判断
|
||||
@@ -902,11 +938,11 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
showTipForDoubleRecord() {
|
||||
async showTipForDoubleRecord() {
|
||||
//判断投保人年龄是否大于等于60岁
|
||||
let showFlag = false
|
||||
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 => {
|
||||
if (item.insuYearFlag == 'A' || (item.insuYearFlag == 'Y' && item.insuYear != '1')) {
|
||||
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
|
||||
},
|
||||
nextPageShow() {
|
||||
|
||||
@@ -411,6 +411,17 @@
|
||||
<van-button round type="danger" size="small" style="padding:0px 35px;font-size: 14px;" @click="isNewPeopleFlagTipshow = false">我知道了</van-button>
|
||||
</div>
|
||||
</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>
|
||||
</template>
|
||||
<script>
|
||||
@@ -457,6 +468,9 @@
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
thisdoubledialogshow: false,
|
||||
thismyorderNo: '',
|
||||
thismystr: '',
|
||||
isNewPeopleFlagTipshow: false,
|
||||
renovate: '',
|
||||
specilFlag: '', //特殊显示-为桂企产品专写 1-桂企 undefind-其他
|
||||
@@ -1334,6 +1348,7 @@
|
||||
}
|
||||
this.save()
|
||||
},
|
||||
|
||||
async save() {
|
||||
let params = {
|
||||
orderType: 'APPNT_ORDER',
|
||||
@@ -1345,18 +1360,19 @@
|
||||
appntDTO: {}
|
||||
}
|
||||
}
|
||||
let str = ''
|
||||
this.thismystr = ''
|
||||
params.orderDTO.appntDTO = this.userInfo
|
||||
console.log('params :>> ', params)
|
||||
//------------------------专为桂企写死--begin---------------//
|
||||
if (this.specilFlag == '1') {
|
||||
params.orderDTO.orderInfoDTO.productCode = 'GFRS_M0040'
|
||||
str = 'specilFlag=1&'
|
||||
this.thismystr = 'specilFlag=1&'
|
||||
//params.orderDTO.orderInfoDTO.productCode = 'GFRS_M0024'
|
||||
}
|
||||
// ------------------------专为桂企写死--end---------------//
|
||||
let resultData = await saveOrUpdateOrderInfo(params)
|
||||
if (resultData.result == 0) {
|
||||
this.thismyorderNo = resultData.orderNo
|
||||
//deleteFlag 0-该页面修改了信息且修改的信息影响到后面流程,后台进行了删除数据的操作
|
||||
if (resultData.deleteFlag == '0') {
|
||||
localStorage.salePageFlag = '2'
|
||||
@@ -1364,37 +1380,38 @@
|
||||
//如果从保单列表编辑按钮或者新增保单进入
|
||||
localStorage.salePageFlag = '2'
|
||||
} else {
|
||||
str = str + 'edit=1&salePageFlag=2'
|
||||
this.thismystr = this.thismystr + 'edit=1&salePageFlag=2'
|
||||
}
|
||||
this.$CacheUtils.setLocItem('orderNo', resultData.orderNo)
|
||||
// localStorage.insuredDetail = JSON.stringify(this.userInfo)
|
||||
// 添加提示
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
if (age >= 60) {
|
||||
this.$dialog
|
||||
.alert({
|
||||
message: '年龄≥60周岁投保人,如果投保一年期以上产品,请根据监管要求对销售过程进行录音录像!',
|
||||
confirmButtonColor: '#000000',
|
||||
})
|
||||
.then(() => {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + `/#/sale/insuredPerson?${str}` + '&orderNo=' + resultData.orderNo,
|
||||
},
|
||||
routerInfo: {
|
||||
path: `/sale/insuredPerson?${str}` + '&orderNo=' + resultData.orderNo,
|
||||
},
|
||||
})
|
||||
})
|
||||
if (age >= 60 && this.manageComCode == '45') {
|
||||
this.thisdoubledialogshow = true
|
||||
// this.$dialog
|
||||
// .alert({
|
||||
// message: '根据监管要求,本单需要您配合对销售过程进行录音录像!',
|
||||
// confirmButtonColor: '#000000',
|
||||
// })
|
||||
// .then(() => {
|
||||
// this.$jump({
|
||||
// flag: 'h5',
|
||||
// extra: {
|
||||
// url: location.origin + `/#/sale/insuredPerson?${str}` + '&orderNo=' + resultData.orderNo,
|
||||
// },
|
||||
// routerInfo: {
|
||||
// path: `/sale/insuredPerson?${str}` + '&orderNo=' + resultData.orderNo,
|
||||
// },
|
||||
// })
|
||||
// })
|
||||
} else {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + `/#/sale/insuredPerson?${str}` + '&orderNo=' + resultData.orderNo,
|
||||
url: location.origin + `/#/sale/insuredPerson?${this.thismystr}` + '&orderNo=' + this.thismyorderNo,
|
||||
},
|
||||
routerInfo: {
|
||||
path: `/sale/insuredPerson?${str}` + '&orderNo=' + resultData.orderNo,
|
||||
path: `/sale/insuredPerson?${this.thismystr}` + '&orderNo=' + this.thismyorderNo,
|
||||
},
|
||||
})
|
||||
}
|
||||
@@ -1402,6 +1419,18 @@
|
||||
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) {
|
||||
console.log('area :>> ', area)
|
||||
|
||||
Reference in New Issue
Block a user