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 class="fee red" v-if="trialList && trialList.length > 0">{{ trialList[index].showPrem | moneyFormat }}</span>
</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>
<van-radio-group v-model="activeRadio" class="pl20">
<van-radio name="1" icon-size="1rem"></van-radio>
</van-radio-group>
<span class="pl5">2021年1月1日</span>
<span class="pl5">{{cvalidateStr}}</span>
</div>
</div>
<div class="bottom-btn bg-white">
@@ -385,6 +385,8 @@ export default {
return {
activeRadio: '1',
activeType: localStorage.getItem('active_type'),
cvalidateFlag : false,
cvalidateStr:'',
chooseProducts: [],
productIndex: '',
calFactorIndex: '',
@@ -443,7 +445,7 @@ export default {
//初始化数据
init() {
// 获取是否从建议书过来的
this.isFrom = localStorage.isFrom
this.isFrom = window.localStorage.isFrom
//获取投保人信息
if (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.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') {
item.isHidden = true
}

View File

@@ -76,14 +76,20 @@ export default {
},
methods: {
checkItemShow(item) {
if (this.activeFlag != 'KMH') {
if (this.activeFlag != 'KMH' && this.activeFlag != 'SQY') {
return true
}
let showFlag = false
if (item.activeLst && item.activeLst.length > 0) {
item.activeLst.forEach(subItem => {
if (this.activeFlag && this.activeFlag == '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-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" />
<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>-->
</div>
</div>
</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>
<van-submit-bar button-text="下一步" @submit="nextStep" :disabled="nextStepFlag">
<div class="fs15 ml15 fwb" style="flex:1" slot="default">
@@ -97,7 +123,9 @@ export default {
isFrom: localStorage.isFrom,
salePageFlag: '3',
active_show: false,
active_sqy_show:false,
active_radio: '1',
active_sqy_radio: '1',
checkedUrl: require('@/assets/images/kmh/checked.png'),
noCheckedUrl: require('@/assets/images/kmh/no_checked.png')
}
@@ -397,6 +425,23 @@ export default {
this.$toast(resultData.resultMessage)
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({
flag: 'h5',
@@ -408,18 +453,19 @@ export default {
}
})
},
comfirmCheckActive() {
comfirmCheckActive(type) {
let param = {
orderDTO: {
orderInfoDTO: {
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 => {
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) {
this.$jump({
flag: 'h5',
@@ -507,6 +553,13 @@ export default {
right: 26px;
top: -22px;
}
.icon_image_close {
width: 19px;
height: 19px;
position: absolute;
right: 4px;
top: -22px;
}
.icon_title_image {
width: 50px;
padding-top: 45px;