GFRS-2504 指定生效日需求-初版提交

This commit is contained in:
bai.jinyan
2021-05-26 10:11:13 +08:00
parent 5dc795930a
commit c3ed28d60d
3 changed files with 74 additions and 11 deletions

View File

@@ -277,12 +277,12 @@
<span style="font-weight:bold" v-else>保额</span> <span style="font-weight:bold" v-else>保额</span>
<span class="fee red" v-if="trialList && trialList.length > 0">{{ trialList[index].showPrem | moneyFormat }}</span> <span class="fee red" v-if="trialList && trialList.length > 0">{{ trialList[index].showPrem | moneyFormat }}</span>
</div> </div>
<div class="flex justify-content-fs pv10 border-bottom prem align-items-c" v-if="item.isMainRisk == 0 && activeType == 'KMH' && isFrom != 'proposal'"> <div class="flex justify-content-fs pv10 border-bottom prem align-items-c" v-if="cvalidateFlag">
<span>指定保单生效日</span> <span>指定保单生效日</span>
<van-radio-group v-model="activeRadio" class="pl20"> <van-radio-group v-model="activeRadio" class="pl20">
<van-radio name="1" icon-size="1rem"></van-radio> <van-radio name="1" icon-size="1rem"></van-radio>
</van-radio-group> </van-radio-group>
<span class="pl5">2021年1月1日</span> <span class="pl5">{{cvalidateStr}}</span>
</div> </div>
</div> </div>
<div class="bottom-btn bg-white"> <div class="bottom-btn bg-white">
@@ -385,6 +385,8 @@ export default {
return { return {
activeRadio: '1', activeRadio: '1',
activeType: localStorage.getItem('active_type'), activeType: localStorage.getItem('active_type'),
cvalidateFlag : false,
cvalidateStr:'',
chooseProducts: [], chooseProducts: [],
productIndex: '', productIndex: '',
calFactorIndex: '', calFactorIndex: '',
@@ -443,7 +445,7 @@ export default {
//初始化数据 //初始化数据
init() { init() {
// 获取是否从建议书过来的 // 获取是否从建议书过来的
this.isFrom = localStorage.isFrom this.isFrom = window.localStorage.isFrom
//获取投保人信息 //获取投保人信息
if (this.$CacheUtils.getLocItem('saleInsuredInfo')) { if (this.$CacheUtils.getLocItem('saleInsuredInfo')) {
this.saleInsuredInfo = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')) this.saleInsuredInfo = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo'))
@@ -455,6 +457,8 @@ export default {
//构建提交数据、渲染险种 //构建提交数据、渲染险种
this.chooseProducts = JSON.parse(localStorage.chooseProducts) this.chooseProducts = JSON.parse(localStorage.chooseProducts)
this.chooseProducts.map(item => { this.chooseProducts.map(item => {
this.cvalidateFlag = item.isMainRisk == 0 && (this.activeType == 'KMH'||this.activeType == 'SQY') && this.isFrom != 'proposal'
this.cvalidateStr = this.cvalidateFlag?this.activeType == 'KMH'?'2021-01-01':this.activeType == 'SQY'?'2021-06-01':'':''
if (item.mainRiskCode == 'GFRS_M0006') { if (item.mainRiskCode == 'GFRS_M0006') {
item.isHidden = true item.isHidden = true
} }

View File

@@ -76,14 +76,20 @@ export default {
}, },
methods: { methods: {
checkItemShow(item) { checkItemShow(item) {
if (this.activeFlag != 'KMH') { if (this.activeFlag != 'KMH' && this.activeFlag != 'SQY') {
return true return true
} }
let showFlag = false let showFlag = false
if (item.activeLst && item.activeLst.length > 0) { if (item.activeLst && item.activeLst.length > 0) {
item.activeLst.forEach(subItem => { item.activeLst.forEach(subItem => {
if (this.activeFlag && this.activeFlag == 'KMH') {
if (subItem == 'KMH') { if (subItem == 'KMH') {
showFlag = true showFlag = true;
}
}else if (this.activeFlag && this.activeFlag == 'SQY') {
if (subItem == 'SQY') {
showFlag = true;
}
} }
}) })
} }

View File

@@ -58,12 +58,38 @@
</van-radio> </van-radio>
</van-radio-group> </van-radio-group>
<div class="flex justify-content-c align-items-c click_buttons"> <div class="flex justify-content-c align-items-c click_buttons">
<img class="icon_click_image" src="@/assets/images/kmh/click_bg.png" @click="comfirmCheckActive" /> <img class="icon_click_image" src="@/assets/images/kmh/click_bg.png" @click="comfirmCheckActive('KMH')" />
<!--<van-button type="danger" class="dialog-comfirm-button" @click="comfirmCheckActive" v-no-more-click="1000">确认</van-button>--> <!--<van-button type="danger" class="dialog-comfirm-button" @click="comfirmCheckActive" v-no-more-click="1000">确认</van-button>-->
</div> </div>
</div> </div>
</van-dialog> </van-dialog>
<van-dialog v-model="active_sqy_show" :show-confirm-button="false" style="position: relative; overflow: visible;">
<img class="icon_image_close" src="@/assets/images/kmh/close_bg.png" @click="active_sqy_show = false" />
<div class="pl20 pr20 mt30 mb10">
<van-radio-group v-model="active_sqy_radio" style="align-items: center;padding-top: 20px">
<van-radio name="1" class="radio_class ml60">
<template #icon="props">
<img class="img-icon radio_icon_image" :src="props.checked ? checkedUrl : noCheckedUrl" />
</template>
<div class="flex justify-content-fs align-items-c pl5">
指定生效日产品
</div>
</van-radio>
<van-radio name="2" class="radio_class ml60">
<template #icon="props">
<img class="img-icon radio_icon_image" :src="props.checked ? checkedUrl : noCheckedUrl" />
</template>
<div class="flex justify-content-fs align-items-c pl5">
普通产品
</div>
</van-radio>
</van-radio-group>
<div class="flex justify-content-c align-items-c click_buttons">
<!--<img class="icon_click_image" src="@/assets/images/kmh/click_bg.png" @click="comfirmCheckActive" />-->
<van-button type="danger" class="dialog-comfirm-button" @click="comfirmCheckActive('SQY')" v-no-more-click="1000">确认</van-button>
</div>
</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">
@@ -97,7 +123,9 @@ export default {
isFrom: localStorage.isFrom, isFrom: localStorage.isFrom,
salePageFlag: '3', salePageFlag: '3',
active_show: false, active_show: false,
active_sqy_show:false,
active_radio: '1', active_radio: '1',
active_sqy_radio: '1',
checkedUrl: require('@/assets/images/kmh/checked.png'), checkedUrl: require('@/assets/images/kmh/checked.png'),
noCheckedUrl: require('@/assets/images/kmh/no_checked.png') noCheckedUrl: require('@/assets/images/kmh/no_checked.png')
} }
@@ -397,6 +425,23 @@ export default {
this.$toast(resultData.resultMessage) this.$toast(resultData.resultMessage)
return return
} }
// 司庆月活动
let paramSQY = {
activeType: 'SQY'
}
let SQYResultData = await getOrderActiveInfo(paramSQY)
if (SQYResultData.result == 0) {
if (SQYResultData.content.activeFlag != '1') {
this.active_sqy_show = true
return
}
//正常后续跳转流程
} else {
this.$toast(SQYResultData.resultMessage)
return
}
} }
this.$jump({ this.$jump({
flag: 'h5', flag: 'h5',
@@ -408,18 +453,19 @@ export default {
} }
}) })
}, },
comfirmCheckActive() { comfirmCheckActive(type) {
let param = { let param = {
orderDTO: { orderDTO: {
orderInfoDTO: { orderInfoDTO: {
orderNo: localStorage.orderNo, orderNo: localStorage.orderNo,
activeType: this.active_radio == '1' ? 'KMH' : '' activeType: type=='KMH'?this.active_radio == '1'?'KMH':'':type=='SQY'?this.active_sqy_radio=='1'?'SQY':'':''
} }
} }
} }
saveOrderActiveType(param).then(res => { saveOrderActiveType(param).then(res => {
this.active_show = false this.active_show = false
localStorage.setItem('active_type', this.active_radio == '1' ? 'KMH' : '') this.active_sqy_show = false
localStorage.setItem('active_type', type=='KMH'?this.active_radio == '1'?'KMH':'':type=='SQY'?this.active_sqy_radio=='1'?'SQY':'':'')
if (res.result == 0) { if (res.result == 0) {
this.$jump({ this.$jump({
flag: 'h5', flag: 'h5',
@@ -507,6 +553,13 @@ export default {
right: 26px; right: 26px;
top: -22px; top: -22px;
} }
.icon_image_close {
width: 19px;
height: 19px;
position: absolute;
right: 4px;
top: -22px;
}
.icon_title_image { .icon_title_image {
width: 50px; width: 50px;
padding-top: 45px; padding-top: 45px;