mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-15 04:46:45 +08:00
获取移动端活动对应产品列表--主险列表区分:活动下的产品和普通产品
This commit is contained in:
@@ -19,6 +19,15 @@ export function mainRiskList(data) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//移动端活动对应产品列表
|
||||||
|
export function getActProductList(data) {
|
||||||
|
return request({
|
||||||
|
url: getUrl(`/sale/activity/getActProductList`, 1),
|
||||||
|
// url: getUrl(`/${localStorage.isFrom}/product/getMainRiskLst`, 1),
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
//试算
|
//试算
|
||||||
export function trial(data) {
|
export function trial(data) {
|
||||||
return request({
|
return request({
|
||||||
|
|||||||
@@ -281,3 +281,11 @@ export function saveOrderActiveType(data) {
|
|||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 移动端活动列表
|
||||||
|
export function getActivityList(data) {
|
||||||
|
return request({
|
||||||
|
url: getUrl('/sale/activity/getActivityList', 1),
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
<div class="main-risk-list-container pt10 redRadioCheckbox">
|
<div class="main-risk-list-container pt10 redRadioCheckbox">
|
||||||
<van-radio-group v-model="result">
|
<van-radio-group v-model="result">
|
||||||
<van-cell-group>
|
<van-cell-group>
|
||||||
<van-cell v-for="(item, index) in list" clickable @click="result = item" :key="index" v-show="checkItemShow(item)">
|
<!-- <van-cell v-for="(item, index) in list" clickable @click="result = item" :key="index" v-show="checkItemShow(item)"> -->
|
||||||
|
<van-cell v-for="(item, index) in list" clickable @click="result = item" :key="index">
|
||||||
<p slot="default">
|
<p slot="default">
|
||||||
<van-tag plain class="green fs12 mr10">{{ item.productType }}</van-tag>
|
<van-tag plain class="green fs12 mr10">{{ item.productType }}</van-tag>
|
||||||
<span class="c-gray-dark fs14">{{ item.riskName }}</span>
|
<span class="c-gray-dark fs14">{{ item.riskName }}</span>
|
||||||
@@ -17,7 +18,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { Cell, CellGroup, Tag, Radio, RadioGroup } from 'vant'
|
import { Cell, CellGroup, Tag, Radio, RadioGroup } from 'vant'
|
||||||
import { mainRiskList, calculatePremium } from '@/api/ebiz/common/common'
|
import { mainRiskList, calculatePremium,getActProductList } from '@/api/ebiz/common/common'
|
||||||
import { getOrderDetail } from '@/api/ebiz/sale/sale'
|
import { getOrderDetail } from '@/api/ebiz/sale/sale'
|
||||||
|
|
||||||
import riskRules from './risk-rules'
|
import riskRules from './risk-rules'
|
||||||
@@ -39,7 +40,8 @@ export default {
|
|||||||
delList: [],
|
delList: [],
|
||||||
radioVal: '',
|
radioVal: '',
|
||||||
isFrom: localStorage.isFrom,
|
isFrom: localStorage.isFrom,
|
||||||
activeFlag: ''
|
activeFlag: '',
|
||||||
|
isActivityCode:'' //activityCode 有值的话代表是活动,无值代表是普通产品
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async mounted() {
|
async mounted() {
|
||||||
@@ -61,41 +63,60 @@ export default {
|
|||||||
}
|
}
|
||||||
// ------------------------专为桂/惠企写死--end---------------//
|
// ------------------------专为桂/惠企写死--end---------------//
|
||||||
// 处理活动产品
|
// 处理活动产品
|
||||||
this.activeFlag = res.orderDTO.orderInfoDTO.activeType
|
// this.activeFlag = res.orderDTO.orderInfoDTO.activeType
|
||||||
|
//isActivityCode 有值代表是活动,无值代表是普通产品
|
||||||
|
this.isActivityCode = res.orderDTO.orderInfoDTO.activityCode
|
||||||
}
|
}
|
||||||
resolve(this.getMainRiskList())
|
resolve(this.isActivityCodeFunc())
|
||||||
},
|
},
|
||||||
error => {
|
error => {
|
||||||
reject(this.getMainRiskList())
|
reject(this.isActivityCodeFunc())
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
this.getMainRiskList()
|
this.isActivityCodeFunc()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
checkItemShow(item) {
|
// checkItemShow(item) {
|
||||||
if (this.activeFlag != 'KMH' && this.activeFlag != 'SQY') {
|
// 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 (this.activeFlag && this.activeFlag == 'KMH') {
|
||||||
if (subItem == 'KMH') {
|
// if (subItem == 'KMH') {
|
||||||
showFlag = true;
|
// showFlag = true;
|
||||||
}
|
// }
|
||||||
}else if (this.activeFlag && this.activeFlag == 'SQY') {
|
// }else if (this.activeFlag && this.activeFlag == 'SQY') {
|
||||||
if (subItem == 'SQY') {
|
// if (subItem == 'SQY') {
|
||||||
showFlag = true;
|
// showFlag = true;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
})
|
// })
|
||||||
}
|
// }
|
||||||
return showFlag
|
// return showFlag
|
||||||
|
// },
|
||||||
|
isActivityCodeFunc(){
|
||||||
|
//isActivityCode 有值代表是活动,无值代表是普通产品
|
||||||
|
if(this.isActivityCode){
|
||||||
|
this.getActProductListFunc()
|
||||||
|
}else{
|
||||||
|
this.getMainRiskList()
|
||||||
|
}
|
||||||
},
|
},
|
||||||
//获取主险列表
|
//获取主险列表--活动下的产品
|
||||||
|
async getActProductListFunc() {
|
||||||
|
let res = await getActProductList({
|
||||||
|
activityCode:this.isActivityCode
|
||||||
|
})
|
||||||
|
if (res.result == 0) {
|
||||||
|
this.list = res.content
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//获取主险列表--普通产品
|
||||||
async getMainRiskList() {
|
async getMainRiskList() {
|
||||||
let mainRiskCodes = localStorage.mainRiskCodes && JSON.parse(localStorage.mainRiskCodes)
|
let mainRiskCodes = localStorage.mainRiskCodes && JSON.parse(localStorage.mainRiskCodes)
|
||||||
let mainListDate = { platform: 'app' }
|
let mainListDate = { platform: 'app' }
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<van-dialog v-model="active_show" :show-confirm-button="false" class="dialog_class" style="position: relative; overflow: visible;">
|
<!-- <van-dialog v-model="active_show" :show-confirm-button="false" class="dialog_class" style="position: relative; overflow: visible;">
|
||||||
<img class="icon_image" src="@/assets/images/kmh/close_bg.png" @click="active_show = false" />
|
<img class="icon_image" src="@/assets/images/kmh/close_bg.png" @click="active_show = false" />
|
||||||
<div class="pl20 pr20 mt30">
|
<div class="pl20 pr20 mt30">
|
||||||
<div class="flex justify-content-c align-items-c">
|
<div class="flex justify-content-c align-items-c">
|
||||||
@@ -58,25 +58,18 @@
|
|||||||
</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('KMH')" />
|
<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;">
|
<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" />
|
<img class="icon_image_close" src="@/assets/images/kmh/close_bg.png" @click="active_sqy_show = false" />
|
||||||
<div class="pl20 pr20 mt30 mb10">
|
<div class="pl20 pr20 mt30 mb10">
|
||||||
<van-radio-group v-model="active_sqy_radio" style="align-items: center;padding-top: 20px">
|
<div style="font-weight: bolder;padding-top: 20px;">请选择:</div>
|
||||||
<div style="font-weight: bolder">请选择:</div>
|
<van-radio-group v-model="active_sqy_radio" style="align-items: center;height: 350px;overflow-y: scroll;">
|
||||||
<van-radio name="1" class="radio_class ml60">
|
<!-- 普通产品页面写死,不加入数据循环,目的解决默认选择普通产品 -->
|
||||||
<template #icon="props">
|
<van-radio name="0" class="radio_class ml60">
|
||||||
<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">
|
<template #icon="props">
|
||||||
<img class="img-icon radio_icon_image" :src="props.checked ? checkedUrl : noCheckedUrl" />
|
<img class="img-icon radio_icon_image" :src="props.checked ? checkedUrl : noCheckedUrl" />
|
||||||
</template>
|
</template>
|
||||||
@@ -84,10 +77,30 @@
|
|||||||
普通产品
|
普通产品
|
||||||
</div>
|
</div>
|
||||||
</van-radio>
|
</van-radio>
|
||||||
|
<div v-for="(item, index) in activityList" :value="item.activityName" :key="index">
|
||||||
|
<van-radio :name="index" class="radio_class ml60" v-if="index != 0">
|
||||||
|
<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">
|
||||||
|
{{item.activityName}}
|
||||||
|
</div>
|
||||||
|
</van-radio>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- <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>
|
</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" />-->
|
||||||
<van-button type="danger" class="dialog-comfirm-button" @click="comfirmCheckActive('SQY')" v-no-more-click="1000">确认</van-button>
|
<!-- <van-button type="danger" class="dialog-comfirm-button" @click="comfirmCheckActive('SQY')" 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>
|
||||||
@@ -108,7 +121,7 @@ import FieldPicker from '@/components/ebiz/FieldPicker'
|
|||||||
import { orderDetail, deleteOrderInfo } from '@/api/ebiz/common/common'
|
import { orderDetail, deleteOrderInfo } 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 { getOrderActiveInfo, saveOrderActiveType } from '@/api/ebiz/sale/sale.js'
|
import { saveOrderActiveType,getActivityList } 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'
|
||||||
|
|
||||||
@@ -125,8 +138,10 @@ export default {
|
|||||||
salePageFlag: '3',
|
salePageFlag: '3',
|
||||||
active_show: false,
|
active_show: false,
|
||||||
active_sqy_show:false,
|
active_sqy_show:false,
|
||||||
|
activityList:[
|
||||||
|
], //活动列表
|
||||||
active_radio: '1',
|
active_radio: '1',
|
||||||
active_sqy_radio: '1',
|
active_sqy_radio: '0',
|
||||||
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'),
|
||||||
proposalOrderNo:''
|
proposalOrderNo:''
|
||||||
@@ -419,13 +434,50 @@ export default {
|
|||||||
async addProduct() {
|
async addProduct() {
|
||||||
// 1、处理判断活动 1、电投流程 2、后端接口提供弹出判断
|
// 1、处理判断活动 1、电投流程 2、后端接口提供弹出判断
|
||||||
if (localStorage.isFrom == 'sale') {
|
if (localStorage.isFrom == 'sale') {
|
||||||
let param = {
|
// let param = {
|
||||||
activeType: 'KMH'
|
// activeType: 'KMH'
|
||||||
}
|
// }
|
||||||
let resultData = await getOrderActiveInfo(param)
|
// let resultData = await getOrderActiveInfo(param)
|
||||||
|
// if (resultData.result == 0) {
|
||||||
|
// if (resultData.content.activeFlag != '1') {
|
||||||
|
// this.active_show = true
|
||||||
|
// return
|
||||||
|
// }
|
||||||
|
// //正常后续跳转流程
|
||||||
|
// } else {
|
||||||
|
// 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
|
||||||
|
// }
|
||||||
|
|
||||||
|
let resultData = await getActivityList({})
|
||||||
if (resultData.result == 0) {
|
if (resultData.result == 0) {
|
||||||
if (resultData.content.activeFlag != '1') {
|
if (resultData.content.length) {
|
||||||
this.active_show = true
|
this.activityList = [
|
||||||
|
{
|
||||||
|
activityCode:'',
|
||||||
|
activityName:'普通产品',
|
||||||
|
isKmh:'',
|
||||||
|
cvaildateStr:'',
|
||||||
|
}
|
||||||
|
]
|
||||||
|
this.activityList = this.activityList.concat(resultData.content)
|
||||||
|
this.active_sqy_show = true
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
//正常后续跳转流程
|
//正常后续跳转流程
|
||||||
@@ -433,23 +485,6 @@ 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',
|
||||||
@@ -461,19 +496,26 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
comfirmCheckActive(type) {
|
//选择活动还是普通产品,弹框确认按钮
|
||||||
|
// comfirmCheckActive(type) {
|
||||||
|
comfirmCheckActive() {
|
||||||
let param = {
|
let param = {
|
||||||
orderDTO: {
|
orderDTO: {
|
||||||
orderInfoDTO: {
|
orderInfoDTO: {
|
||||||
orderNo: this.$CacheUtils.getLocItem('orderNo'),
|
orderNo: this.$CacheUtils.getLocItem('orderNo'),
|
||||||
activeType: type=='KMH'?this.active_radio == '1'?'KMH':'':type=='SQY'?this.active_sqy_radio=='1'?'SQY':'':''
|
activeType: this.activityList[this.active_sqy_radio].isKmh,
|
||||||
|
activityCode: this.activityList[this.active_sqy_radio].activityCode,
|
||||||
|
cvaliDate : this.activityList[this.active_sqy_radio].cvaildateStr
|
||||||
|
// 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
|
||||||
this.active_sqy_show = false
|
this.active_sqy_show = false
|
||||||
localStorage.setItem('active_type', type=='KMH'?this.active_radio == '1'?'KMH':'':type=='SQY'?this.active_sqy_radio=='1'?'SQY':'':'')
|
// 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',
|
||||||
|
|||||||
Reference in New Issue
Block a user