Files
ebiz-h5/src/views/ebiz/common/SelectedProduct.vue

774 lines
27 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<div style="background: #f5f5f5" class="select-product-container">
<div v-if="isFrom == 'sale'">
<index-bar :key="renovate"></index-bar>
</div>
<div class="mt8"></div>
<div v-for="(item, index) in chooseProducts" :key="index" class="mb20 bg-white mh15 pv15 pr15 pl10 radius5">
<div class="flex mv10 align-items-c">
<div class="fs14 w45">
<van-tag plain type="danger">主险</van-tag>
</div>
<div class="fs15 c-gray-dark">{{ item.riskName }}</div>
</div>
<div class="pl45 flex mv10" v-for="(addtion, addIndex) in item.addtion" :key="addIndex">
<div class="w50">
<van-tag mark color="#DDF2EF" text-color="#E9332E">附加</van-tag>
</div>
<div class="fs13">{{ addtion.riskName }}</div>
</div>
<div class="flex fs15 justify-content-s align-items-b pb5">
<div class="c-gray-darker fwb">首期保费</div>
<div class="yellow fwb">{{ item.prem.toFixed(2) | moneyFormat }}</div>
</div>
<div class="text-right pv5">
<!-- <van-button v-if="isFrom == 'proposal'" size="small" round @click="editInsure(index,item)" class="mr5" type="danger">编辑</van-button>-->
<van-button size="small" round @click="deteleInsure(index)" plain type="danger">删除</van-button>
</div>
</div>
<div class="pt30 bg-white pb50">
<div class="text-center m20 pv15 border-dotted c-gray-base bg-white" @click="addProduct" v-if="isShow == true">
<span class="v-middle mr10" style="font-size:32px">+</span>添加产品
</div>
</div>
<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" />
<div class="pl20 pr20 mt30">
<!-- <div class="flex justify-content-c align-items-c">
<img class="icon_title_image" src="@/assets/images/kmh/title_bg.png" />
</div> -->
<van-radio-group v-model="active_radio" style="align-items: center;padding-top: 140px">
<van-radio name="1" class="radio_class ml50">
<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">
<img class="icon_select_image" src="@/assets/images/kmh/kmh_pro.png" />
</div>
</van-radio>
<van-radio name="0" class="radio_class ml50">
<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">
<img class="icon_select_image" src="@/assets/images/kmh/normal_pro.png" />
</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('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>-->
</div>
</div>
</van-dialog>
<van-dialog v-model="active_sqy_show" :show-confirm-button="false" style="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">
<div style="font-weight: bolder;padding-top: 20px;">请选择</div>
<van-radio-group v-model="active_sqy_radio" style="align-items: center;height: 350px;overflow-y: scroll;">
<!-- 普通产品页面写死不加入数据循环目的解决默认选择普通产品 -->
<van-radio name="0" 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>
<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>
<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> -->
<van-button type="danger" class="dialog-comfirm-button" @click="comfirmCheckActive('PRODUCT')" 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">
合计
<span class="yellow mr5">{{ (total / 100).toFixed(2) | moneyFormat }}</span
>
</div>
</van-submit-bar>
</div>
</div>
</template>
<script>
import { Tag, SubmitBar, Icon, Dialog, RadioGroup, Radio, Image } from 'vant'
import FieldPicker from '@/components/ebiz/FieldPicker'
import { orderDetail, deleteOrderInfo } 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 utilsAge from '@/assets/js/utils/age'
import IndexBar from '@/components/ebiz/sale/IndexBar'
import riskRules from './risk-rules'
export default {
name: 'selectedProduct',
data() {
return {
chooseProducts: [],
total: 0,
nextStepFlag: true,
isShow: true,
appntDTO: {},
isFrom: localStorage.isFrom,
salePageFlag: '3',
active_show: false,
active_sqy_show:false,
activityList:[
], //活动列表
active_radio: '1',
active_sqy_radio: '0',
checkedUrl: require('@/assets/images/kmh/checked.png'),
noCheckedUrl: require('@/assets/images/kmh/no_checked.png'),
proposalOrderNo:'',
renovate:'',//刷新子组件
}
},
components: {
[Tag.name]: Tag,
[FieldPicker.name]: FieldPicker,
[SubmitBar.name]: SubmitBar,
[Icon.name]: Icon,
[IndexBar.name]: IndexBar,
[RadioGroup.name]: RadioGroup,
[Radio.name]: Radio,
[Image.name]: Image
},
mounted() {
this.$jump({
flag: 'navigation',
extra: {
title: '已选产品列表'
},
})
if (localStorage.isFrom == 'sale') {
// 清除活动标志
// localStorage.removeItem('active_type')
setTimeout(() => {
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('webview_left_button', {
img: this.$assetsUrl + 'images/del-close-btn@3x.png',
intercept: '1' //是否拦截原生返回事件 1是 其他否
})
}, 100)
}
//建议书--右上角为退出流程键(到建议书列表)×,并清除浏览记录
if (localStorage.isFrom == 'proposal') {
// eslint-disable-next-line no-undef
setTimeout(() => {
EWebBridge.webCallAppInJs('webview_right_button', {
btns: [
{
img: this.$assetsUrl + 'images/del-close.png',
route: { flag: '', extra: {} }
}
]
})
}, 500)
}
window.appCallBack = this.appCallBack
document.body.style.backgroundColor = '#fff'
this.getProductList()
if (!this.$route.query.edit) {
//如果不是编辑/导航条跳转进来的
localStorage.setItem('salePageFlag', this.salePageFlag)
} else if (this.$route.query.edit && !this.$route.query.salePageFlag) {
//如果从保单列表点击编辑按钮进入
this.salePageFlag = '3'
localStorage.setItem('salePageFlag', this.salePageFlag)
} else if (this.$route.query.salePageFlag) {
//如果是从导航栏点击进入
this.salePageFlag = localStorage.salePageFlag
}
// localStorage.orderNo = '19090510425500178912'
// localStorage.saleInsuredPersonInfo = JSON.stringify({
// birthday: '2015-08-31',
// name: '张四四',
// sex: '0',
// occupationName: '工业自动化仪器仪表与装置修理工',
// relationToAppnt: 4,
// insuredId: '10',
// idType: '1',
// age: 4
// })
// localStorage.saleInsuredInfo = JSON.stringify({ birthday: '2012-08-31', name: '张三三', sex: '0', idType: '1', age: 7 })
},
beforeRouteLeave(to, from, next) {
document.body.style.backgroundColor = ''
next()
},
methods: {
appCallBack(data) {
if (data.trigger == 'left_button_click' && localStorage.isFrom == 'sale') {
return this.$dialog
.confirm({
className: 'dialog-delete',
title: '提示',
message: '退出流程可能会丢失部分数据,是否确认退出?',
cancelButtonColor: '#E9332E',
confirmButtonColor: '#FFFFFF'
})
.then(() => {
this.$jump({
flag: 'h5',
extra: {
title: '电子投保单列表',
forbidSwipeBack: 1, //当前页面禁止右滑返回
url: location.origin + `/#/sale/list`
},
routerInfo: {
path: `/sale/list`,
type: '1'
}
})
})
.catch(() => {
return
})
}else if (data.trigger == 'right_button_click' && localStorage.isFrom == 'proposal') {
return this.$dialog
.confirm({
className: 'dialog-delete',
title: '提示',
message: '退出流程可能会丢失部分数据,是否确认退出?',
cancelButtonColor: '#E9332E',
confirmButtonColor: '#FFFFFF'
})
.then(() => {
this.$jump({
flag: 'h5',
extra: {
title: '建议书列表',
forbidSwipeBack: 1, //当前页面禁止右滑返回
url: location.origin + `/#/proposal/list`
},
routerInfo: {
path: `/proposal/list`,
type: '1'
}
})
})
.catch(() => {
return
})
}
},
//获取已选产品列表
async getProductList() {
//建议书、电投详情
let resultData
let isProposal = localStorage.isFrom == 'proposal' ? true : false
if (isProposal) {
let saleInsuredPersonInfo = this.$CacheUtils.getLocItem('saleInsuredPersonInfo') && JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo'))
let insuredId
if (saleInsuredPersonInfo && saleInsuredPersonInfo.insuredId) {
insuredId = saleInsuredPersonInfo.insuredId
}
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
if (this.$route.query.proposalOrderNo) {
this.$CacheUtils.setLocItem('proposalNo',this.$route.query.proposalOrderNo)
this.proposalOrderNo = this.$route.query.proposalOrderNo
}
let pOrderNo = this.proposalOrderNo?this.proposalOrderNo:this.$CacheUtils.getLocItem('proposalNo')
console.log(pOrderNo,'pOrderNo')
resultData = await getDetail({
orderNo: pOrderNo,
isMerge: '1',
orderType: 'proposalInsuredInfo',
orderDTO: { insuredDTOs: [{ insuredId: insuredId }] }
})
} else {
this.$toast.loading({
duration: 0, // 持续展示 toast
forbidClick: true, // 禁用背景点击
loadingType: 'spinner',
message: '加载中……'
})
resultData = await orderDetail({ orderNo: this.$route.query.orderNo, isMerge: '1' })
}
if (resultData.result == 0) {
if( resultData.orderDTO ) {
//判断是否显示风险测评tab
this.renovate = new Date().getTime()
}
let riskDTOLst
if (isProposal) {
this.$CacheUtils.setLocItem('saleInsuredInfo',JSON.stringify(resultData.content[0].appntDTO))//存储投保人信息
this.appntDTO = resultData.content[0].appntDTO
resultData = resultData.content[0]
riskDTOLst = resultData.insuredDTOs && resultData.insuredDTOs[0] && resultData.insuredDTOs[0].riskDTOLst
this.total =
resultData.insuredDTOs && resultData.insuredDTOs.length > 0 ? Number(resultData.insuredDTOs[0] && resultData.insuredDTOs[0].totalPrem) * 100 : 0
} else {
this.appntDTO = resultData.orderDTO.appntDTO
//总保费
this.total = resultData.orderDTO.orderInfoDTO.orderAmount * 100
//险种数据格式化
riskDTOLst = resultData.orderDTO.insuredDTOs[0].riskDTOLst
}
this.$CacheUtils.setLocItem('appntDTO',JSON.stringify(this.appntDTO))
if (!riskDTOLst) riskDTOLst = []
this.$utils.intLocalStorage(resultData, isProposal)
this.chooseProducts = formatAllRisk(riskDTOLst)
if (riskDTOLst.length > 0) {
this.nextStepFlag = false
}
if (!isProposal) {
if (this.chooseProducts.length > 0) {
if (this.chooseProducts[0].mainRiskCode == 'GFRS_M0026' && this.chooseProducts.length == 1) {
this.isShow = true
} else {
this.isShow = false
}
} else {
this.isShow = true
}
}
this.$toast.clear()
} else {
this.$toast(resultData.resultMessage)
}
},
//删除已选产品列表
deteleInsure(index) {
Dialog.confirm({
className: 'dialog-delete',
title: '提示',
message: '您确认要删除该产品信息吗?',
cancelButtonColor: '#E9332E',
confirmButtonColor: '#FFFFFF'
})
.then(() => {
this.delProduct(index)
this.isShow = true
})
.catch(() => {
/*this.$toast('删除失败!')*/
})
},
async delProduct(index) {
let isProposal = localStorage.isFrom == 'proposal' ? true : false
let resultData = ''
if (isProposal) {
resultData = await deleteProposal({
orderDTO: {
orderInfoDTO: {
orderNo: this.$route.query.proposalOrderNo
},
insuredDTOs: [
{
riskDTOLst: [
{
insuanceId: this.chooseProducts[index].insuanceId
}
]
}
]
},
type: '3'
})
} else {
resultData = await deleteOrderInfo({
orderType: 'RISK_ORDER',
id: this.chooseProducts[index].insuanceId,
orderDTO: {
orderInfoDTO: {
orderNo: this.$route.query.orderNo
}
}
})
}
if (resultData.result == 0) {
this.getProductList()
} else {
this.$toast(resultData.resultMessage)
}
},
//编辑
editInsure(index,data){
let insuanceIdInfo = [{insuanceId: data.insuanceId, riskCode: data.riskCode, isMainRisk: 0 }]
if(data.addtion && data.addtion.length != 0){
data.addtion.forEach(item=>{
insuanceIdInfo.push({
insuanceId: item.insuanceId,
riskCode: item.riskCode,
isMainRisk: 1
})
})
}
let isProposal = localStorage.isFrom == 'proposal' ? true : false
let thismyurl = ''
if (this.$route.query.orderNo) {
thismyurl = '/common/calculatePremium/?orderNo=' + this.$route.query.orderNo + '&insuanceId='+insuanceId
} else if (this.$route.query.proposalOrderNo) {
thismyurl = '/common/calculatePremium?proposalOrderNo=' + this.$route.query.proposalOrderNo + '&insuanceId='+insuanceId
}
if (isProposal) {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#' + thismyurl
},
routerInfo: {
path: thismyurl
}
})
}
},
//下一步
async nextStep() {
if (!this.$route.query.salePageFlag) {
//如果从保单列表编辑按钮进入
localStorage.salePageFlag = '4'
}
console.log('this.chooseProducts', this.chooseProducts)
if (this.chooseProducts.length == 0) {
return this.$toast('请添加产品')
}
//重新校验该产品是否需要为协同单位
let flagCompany = await riskRules.checkCompany(this.chooseProducts[0].riskCode, JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).workcompany, JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).isAsync,this)
if (flagCompany && localStorage.isFrom != 'proposal') {
//校验该投保人的工作单位是否能够投保该产品
return this.$toast('该投保人工作单位不能投保该产品')
}
//930折中方案豁免险选择
let oldAddRiskCodes = JSON.parse(localStorage.oldAddRiskCodes)
if (oldAddRiskCodes.includes('DCRS_A0001')) {
let chooseProducts = this.chooseProducts
for (let i = 0; i < chooseProducts.length; i++) {
if (chooseProducts[i].addtion.length > 0) {
let remitRisk = chooseProducts[i].addtion.find(riskInfo => {
return riskInfo.riskCode == 'DCRS_A0001'
})
if (!remitRisk) {
this.$toast('请针对所有主险搭配豁免险!')
return
}
} else {
this.$toast('请针对所有主险搭配豁免险!')
return
}
}
}
if (localStorage.isFrom == 'proposal') {
let url = `/proposal/chooseInsuredPerson`
if (this.$route.query.proposalOrderNo || this.$CacheUtils.getLocItem('proposalNo')) {
let proposalOrderNo = this.$route.query.proposalOrderNo || this.$CacheUtils.getLocItem('proposalNo')
url = `/proposal/chooseInsuredPerson?proposalOrderNo=${proposalOrderNo}`
}
let page = this.$route.query.proposalEdit == '1' ? '-1' : '-2'
// this.$router.push({ path: url })
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#${url}`
},
routerInfo: {
path: url
}
})
} else {
let showFlag = this.showTipForDoubleRecord()
if (showFlag) {
this.$dialog
.alert({
message: '年龄≥60周岁投保人如果投保一年期以上产品请根据监管要求对销售过程进行录音录像',
confirmButtonColor: '#000000'
})
.then(() => {
this.nextPageShow()
})
} else {
this.nextPageShow()
}
}
},
//添加产品
async addProduct() {
// 1、处理判断活动 1、电投流程 2、后端接口提供弹出判断
if (localStorage.isFrom == 'sale') {
// let param = {
// activeType: 'KMH'
// }
// 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.content.length) {
this.activityList = [
{
activityCode:'',
activityName:'普通产品',
isKmh:'',
cvaildateStr:'',
}
]
this.activityList = this.activityList.concat(resultData.content)
if(resultData.content[0].isKmh == 'KMH'){
this.active_show = true
}else{
this.active_sqy_show = true //代表其他产品
}
return
}
//正常后续跳转流程
} else {
this.$toast(resultData.resultMessage)
return
}
}
let thismyurl = ''
if (this.$route.query.orderNo) {
thismyurl = '?orderNo=' + this.$route.query.orderNo
} else if (this.$route.query.proposalOrderNo) {
thismyurl = '?proposalOrderNo=' + this.$route.query.proposalOrderNo
}
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/common/mainRiskList' + thismyurl
},
routerInfo: {
path: '/common/mainRiskList' + thismyurl
}
})
},
//选择活动还是普通产品,弹框确认按钮
comfirmCheckActive(type) {
let param
if(type == 'KMH'){
param = {
orderDTO: {
orderInfoDTO: {
orderNo: this.$route.query.orderNo?this.$route.query.orderNo:this.$route.query.proposalOrderNo,
activeType: this.activityList[this.active_radio].isKmh,
activityCode: this.activityList[this.active_radio].activityCode,
cvaliDate : this.activityList[this.active_radio].cvaildateStr
// activeType: type=='KMH'?this.active_radio == '1'?'KMH':'':type=='SQY'?this.active_sqy_radio=='1'?'SQY':'':''
}
}
}
}else{
param = {
orderDTO: {
orderInfoDTO: {
orderNo: this.$route.query.orderNo?this.$route.query.orderNo:this.$route.query.proposalOrderNo,
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 => {
this.active_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', this.activityList[this.active_sqy_radio].isKmh)
if (res.result == 0) {
let thismyurl = ''
if (this.$route.query.orderNo) {
thismyurl = '?orderNo=' + this.$route.query.orderNo
} else if (this.$route.query.proposalOrderNo) {
thismyurl = '?proposalOrderNo=' + this.$route.query.proposalOrderNo
}
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/common/mainRiskList' + thismyurl
},
routerInfo: {
path: '/common/mainRiskList' + thismyurl
}
})
} else {
this.$toast(res.resultMessage)
}
})
},
showTipForDoubleRecord() {
//判断投保人年龄是否大于等于60岁
let showFlag = false
let age = this.appntDTO.birthday?utilsAge.getAge(this.appntDTO.birthday, new Date()):this.appntDTO.age
if (age >= 60) {
this.chooseProducts.map(item => {
if (item.insuYearFlag == 'A' || (item.insuYearFlag == 'Y' && item.insuYear != '1')) {
showFlag = true
return true
}
})
}
return showFlag
},
nextPageShow() {
let thismyurl = ''
if (this.$route.query.orderNo) {
thismyurl = '/sale/beneficiary?orderNo=' + this.$route.query.orderNo
} else if (this.$route.query.proposalOrderNo) {
thismyurl = '/sale/beneficiary?proposalOrderNo=' + this.$route.query.proposalOrderNo
}
localStorage.beneficiaryInfo = ''
localStorage.fromAddBeneficiaryInfo = ''
localStorage.removeItem('applicant')
this.$jump({
flag: 'h5',
extra: {
forbidSwipeBack: '1',
url: location.origin + '/#' + thismyurl,
needRefresh: '1'
},
routerInfo: {
path: thismyurl
}
})
}
}
}
</script>
<style lang="scss" scoped>
@import '@/assets/sass/variables.scss';
.select-product-container {
.border-dotted {
border: 1px dashed #999;
}
.van-submit-bar {
border-top: 1px solid #dadada;
box-sizing: border-box;
}
.van-submit-bar__text {
text-align: left;
padding-left: 20px;
}
/deep/.van-submit-bar__price {
color: #f56123;
font-weight: bold;
font-size: 15px;
}
.radio_class {
height: 47px;
margin-bottom: 10px;
}
.dialog-comfirm-button {
width: 167px;
height: 36px;
line-height: 36px;
border-radius: 6px;
text-align: center;
vertical-align: center;
}
.icon_image {
width: 19px;
height: 19px;
position: absolute;
right: 15px;
top: -30px;
}
.icon_image_close {
width: 19px;
height: 19px;
position: absolute;
right: 4px;
top: -22px;
}
.icon_title_image {
width: 50px;
padding-top: 45px;
}
.icon_select_image {
width: 167px;
height: 47px;
}
.icon_click_image {
width: 107px;
}
/deep/ .van-radio-group .van-radio__icon {
height: 1.3em;
line-height: 1.3em;
}
.radio_icon_image {
width: 20px;
height: 20px;
padding-top: 3px;
}
.dialog_class {
width: 330px;
height: 335px;
background: url('../../../assets/images/kmh/dialog_bg.png');
background-size: 100% 100%;
}
.click_buttons {
padding-top: 5px;
padding-right: 0px;
padding-bottom: 10px;
}
}
</style>