修改投保内容

This commit is contained in:
pangxingyue
2021-03-08 18:09:50 +08:00
parent 06e560e929
commit 0dc981c23b
13 changed files with 519 additions and 305 deletions

View File

@@ -17,3 +17,20 @@ export function orderList(data) {
})
}
// 获取订单详情
export function getOrderDetail(data) {
return request({
url: getUrl('/sale/order/orderDetail', 1),
method: 'post',
data
})
}
// 保费计算
export function saveOrUpdateOrderInfo(data) {
return request({
url: getUrl('/sale/order/saveOrUpdateOrderInfo', 1),
method: 'post',
data
})
}

View File

@@ -1,5 +1,5 @@
<template>
<van-field label-width="12.2em">
<van-field>
<template #label>
<slot name="cellLabel">
<span :style="styleObj">{{ label }}</span>
@@ -7,7 +7,7 @@
</template>
<template #input>
<slot>
<span :style="styleObj">{{ value }}</span>
<span :style="styleInput">{{ value }}</span>
</slot>
</template>
</van-field>
@@ -31,25 +31,28 @@ export default {
},
color: {
type: String,
default: '#000'
default: '#323233'
}
},
computed: {
styleObj() {
return {
color: this.color
}
}
},
data() {
return {}
return {
styleObj:{
color: this.color
},
styleInput: {
color: '#969799'
}
}
},
created() {}
}
</script>
<style lang="scss" scoped>
/deep/ .van-field__control {
text-align: center;
}
// /deep/ .van-field__control {
// text-align: center;
// }
</style>

View File

@@ -15,27 +15,56 @@
<script>
import { Image as VanImage } from 'vant'
export default {
name: 'ProgressBar',
components: {
[VanImage.name]: VanImage
},
props: {
items: {
type: Array
},
active: {
type: Number,
default: 0
}
},
data() {
return {}
return {
items: [
{ name: '投保信息', icon: this.$assetsUrl + 'images/kmh/tbrxx_n.png', icon_active: this.$assetsUrl + 'images/kmh/tbrxx.png' },
{ name: '险种信息', icon: this.$assetsUrl + 'images/kmh/xzcp_n.png', icon_active: this.$assetsUrl + 'images/kmh/xzcp.png' },
{ name: '告知信息', icon: this.$assetsUrl + 'images/kmh/gzxx_n.png', icon_active: this.$assetsUrl + 'images/kmh/gzxx.png' },
{ name: '签名确认', icon: this.$assetsUrl + 'images/kmh/qmqr_n.png', icon_active: this.$assetsUrl + 'images/kmh/qmqr.png' }
]
}
},
methods: {
methods: {
changeProgressBar(index) {
this.$emit('update:active', index)
var url;
switch (index) {
case 0:
url = 'insureInformation';
break;
case 1:
url = 'productInformation';
break;
case 2:
url = 'notification';
break;
case 3:
url = 'signConfirmation';
break;
default:
url = 'insureInformation';
break;
}
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/insureAgain/${url}`,
forbidSwipeBack: '1',
needRefresh: '1'
},
routerInfo: { path: `/insureAgain/${url}` }
})
}
}
}

View File

@@ -1,13 +1,16 @@
const InsureAgain = () => import('@/views/ebiz/insureAgain')
const uncommitInsureDetail = () => import('@/views/ebiz/insureAgain/uncommitInsureDetail')
const commitInsureDetail = () => import('@/views/ebiz/insureAgain/commitInsureDetail')
const InsureAgainProgress = () => import('@/views/ebiz/insureAgain/InsureAgainProgress')
const UncommitInsureDetail = () => import('@/views/ebiz/insureAgain/uncommitInsureDetail')
const CommitInsureDetail = () => import('@/views/ebiz/insureAgain/commitInsureDetail')
const InsureInformation = () => import('@/views/ebiz/insureAgain/insureInformation')
const ProductInformation = () => import('@/views/ebiz/insureAgain/productInformation')
const Notification = () => import('@/views/ebiz/insureAgain/notification')
const SignConfirmation = () => import('@/views/ebiz/insureAgain/signConfirmation')
const InsureAgainPayment = () => import('@/views/ebiz/insureAgain/Payment')
const PaymentResult = () => import('@/views/ebiz/insureAgain/PaymentResult')
export default [
{
// 重新投保首页
// 重新投保保单列表
path: '/insureAgain',
name: 'InsureAgain',
component: InsureAgain,
@@ -16,32 +19,59 @@ export default [
}
},
{
// 重新投保详情
// 可申请重新投保保单详情
path: '/insureAgain/uncommitInsureDetail',
name: 'uncommitInsureDetail',
component: uncommitInsureDetail,
component: UncommitInsureDetail,
meta: {
title: '可申请重新投保保单详情'
}
},
{
// 重新投保详情
// 重新投保保单详情
path: '/insureAgain/commitInsureDetail',
name: 'commitInsureDetail',
component: commitInsureDetail,
component: CommitInsureDetail,
meta: {
title: '重新投保保单详情'
}
},
{
// 投保流程首页
path: '/insureAgain/progress',
name: 'InsureAgainProgress',
component: InsureAgainProgress,
// 投保信息确认
path: '/insureAgain/insureInformation',
name: 'InsureInformation',
component: InsureInformation,
meta: {
title: '投保信息'
}
},
{
// 险种信息
path: '/insureAgain/productInformation',
name: 'productInformation',
component: ProductInformation,
meta: {
title: '险种信息'
}
},
{
// 告知信息
path: '/insureAgain/notification',
name: 'notification',
component: Notification,
meta: {
title: '告知信息'
}
},
{
// 签名确认
path: '/insureAgain/signConfirmation',
name: 'signConfirmation',
component: SignConfirmation,
meta: {
title: '签名确认'
}
},
{
// 支付
path: '/insureAgain/payment',

View File

@@ -1,95 +0,0 @@
<template>
<div class="insure-again">
<ProgressBar :items="progressItems" :active.sync="active" />
<keep-alive>
<component :is="componentName" />
</keep-alive>
</div>
</template>
<script>
import { bus } from './bus'
import InsureInformation from './InsureInformation'
import ProductInformation from './ProductInformation'
import NotificationInformation from './NotificationInformation'
import SignConfirmation from './SignConfirmation'
import ProgressBar from './ProgressBar'
export default {
name: 'InsureAgainProgress',
components: {
InsureInformation,
ProductInformation,
NotificationInformation,
SignConfirmation,
ProgressBar
},
computed: {
componentName() {
switch (this.active) {
case 0:
return 'InsureInformation'
case 1:
return 'ProductInformation'
case 2:
return 'NotificationInformation'
case 3:
return 'SignConfirmation'
default:
return 'InsureInformation'
}
}
},
data() {
return {
isSpecialRead: false,
active: 0,
progressItems: [
{ name: '投保信息', icon: this.$assetsUrl + 'images/kmh/tbrxx_n.png', icon_active: this.$assetsUrl + 'images/kmh/tbrxx.png' },
{ name: '险种信息', icon: this.$assetsUrl + 'images/kmh/xzcp_n.png', icon_active: this.$assetsUrl + 'images/kmh/xzcp.png' },
{ name: '告知信息', icon: this.$assetsUrl + 'images/kmh/gzxx_n.png', icon_active: this.$assetsUrl + 'images/kmh/gzxx.png' },
{ name: '签名确认', icon: this.$assetsUrl + 'images/kmh/qmqr_n.png', icon_active: this.$assetsUrl + 'images/kmh/qmqr.png' }
]
}
},
created() {
bus.$on('nextPage', this.nextPage)
},
mounted() {
setTimeout(() => {
window.EWebBridge.webCallAppInJs('webview_left_button', {
intercept: '1'
})
}, 100)
window.appCallBack = this.appCallBack
},
methods: {
appCallBack(data) {
if (data.trigger == 'left_button_click') {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/insureAgain`,
forbidSwipeBack: '1',
needRefresh: '1'
},
routerInfo: { path: `/insureAgain` }
})
}
},
specialRead(payload) {
this.isSpecialRead = payload
},
nextPage(page) {
this.active = page
}
}
}
</script>
<style lang="scss" scoped>
.insure-again {
padding-bottom: 45px;
}
</style>

View File

@@ -1,30 +1,29 @@
<template>
<div>
<div class="insure-again">
<ProgressBar :active="active" />
<DropdownBox>
<template #boxTitle>
<span class="title">投保人信息</span>
</template>
<InfoCell label="姓名">zjp</InfoCell>
<InfoCell label="证件类型"></InfoCell>
<InfoCell label="出生日期"></InfoCell>
<InfoCell label="证件截止日期"></InfoCell>
<InfoCell label="性别">
<van-button class="mr10" size="small" type="danger" round></van-button>
<van-button plain size="small" type="danger" round></van-button>
</InfoCell>
<InfoCell label="国籍"></InfoCell>
<InfoCell label="婚姻状况">
<input class="input" type="text" value="" placeholder="请输入" />
</InfoCell>
<InfoCell label="职业类别"></InfoCell>
<InfoCell label="移动电话"></InfoCell>
<InfoCell label="电子邮箱"></InfoCell>
<InfoCell label="有无社保">
<InfoCell label="姓名">{{userInfo.name}}</InfoCell>
<InfoCell label="证件类型">{{userInfo.idType | idToText('insuredIdType')}}</InfoCell>
<InfoCell label="出生日期">{{userInfo.birthday}}</InfoCell>
<InfoCell label="证件截止日期">{{userInfo.certiexpiredate}}</InfoCell>
<select-radio required :radios="sexRadio" label="性别" name="性别" v-validate="'required'" :value.sync="userInfo.sex"></select-radio>
<InfoCell label="国籍">{{userInfo.nativeplace | idToText('nativeplace')}}</InfoCell>
<van-field :value="userInfo.marriageStatus" readonly required label="婚姻状况" name="婚姻状况" v-validate="'required'"
right-icon="arrow" placeholder="请选择" @click="toSelect('10')" />
<InfoCell label="职业类别">{{userInfo.occupationCode}}</InfoCell>
<InfoCell label="移动电话">{{userInfo.mobile}}</InfoCell>
<InfoCell label="电子邮箱">{{userInfo.email}}</InfoCell>
<!-- <InfoCell label="有无社保">
<van-button class="mr10" size="small" type="danger" round></van-button>
<van-button plain size="small" type="danger" round></van-button>
</InfoCell>
<InfoCell label="税收居民身份"></InfoCell>
<InfoCell label="联系地址"></InfoCell>
</InfoCell> -->
<select-radio :radios="medicalRadio" v-validate="'required'" label="有无社保" name="有无社保" required :value.sync="userInfo.medical"></select-radio>
<InfoCell label="税收居民身份">{{userInfo.taxResidentId | idToText('taxIdentity')}}</InfoCell>
<InfoCell label="联系地址">{{homeName}}</InfoCell>
<InfoCell label="详细联系地址">{{userInfo.homeAddress}}</InfoCell>
</DropdownBox>
<DropdownBox>
<template #boxTitle>
@@ -49,6 +48,7 @@
</InfoCell>
<InfoCell label="税收居民身份"></InfoCell>
<InfoCell label="联系地址"></InfoCell>
<InfoCell label="详细地址">{{userInfo.homeAddress}}</InfoCell>
</DropdownBox>
<DropdownBox>
<template #boxTitle>
@@ -65,13 +65,13 @@
</InfoCell>
<InfoCell label="国籍">
<input class="input" type="text" value="" placeholder="请输入" />
</InfoCell>
</InfoCell>
<InfoCell label="婚姻状况">
<input class="input" type="text" value="" placeholder="请输入" />
</InfoCell>
<InfoCell label="移动电话">
<input class="input" type="text" value="" placeholder="请输入" />
</InfoCell>
</InfoCell>
<InfoCell label="联系地址"></InfoCell>
<InfoCell label="职业类别"></InfoCell>
<InfoCell label="受益顺序"></InfoCell>
@@ -91,33 +91,252 @@
</DropdownBox>
<van-button type="danger" class="bottom-btn" v-no-more-click="1000" @click="nextStep">下一步</van-button>
<!-- 字段选择 -->
<van-popup v-model="popupShow" position="bottom">
<van-picker show-toolbar :columns="columns" @confirm="onConfirm" @cancel="popupShow = false" />
</van-popup>
</div>
</template>
<script>
import { bus } from './bus'
import InfoCell from '@/components/ebiz/insureAgain/InfoCell'
import { Field } from 'vant'
import ProgressBar from '@/components/ebiz/insureAgain/ProgressBar'
import DropdownBox from '@/components/ebiz/insureAgain/DropdownBox'
import InfoCell from '@/components/ebiz/insureAgain/InfoCell'
// import { saveOrUpdateOrderInfo, getOrderDetail } from '@/api/ebiz/insureAgain/insureAgain'
import { getOrderDetail } from '@/api/ebiz/sale/sale'
import DataDictionary from '@/assets/js/utils/data-dictionary'
import SelectRadio from '@/components/ebiz/SelectRadio'
import getAreaName from '@/assets/js/utils/getAreaNameForSale'
export default {
name: 'InsureInformation',
components: {
ProgressBar,
DropdownBox,
InfoCell,
DropdownBox
[SelectRadio.name]: SelectRadio,
[Field.name]: Field
},
computed: {},
data() {
return {}
return {
homeName: '', //联系地址
isSpecialRead: false,
active: 0,
userInfo: {},
sexRadio: [
{
label: '男',
value: '0'
},
{
label: '女',
value: '1'
}
],
medicalRadio: [
{
label: '有',
value: '0'
},
{
label: '无',
value: '1'
}
],
columns: [],
popupShow: false
}
},
created() {
this.getOrderDetail()
},
mounted() {
setTimeout(() => {
window.EWebBridge.webCallAppInJs('webview_left_button', {
intercept: '1'
})
}, 100)
window.appCallBack = this.appCallBack
},
methods: {
nextStep() {
bus.$emit('nextPage', 1)
appCallBack(data) {
if (data.trigger == 'left_button_click') {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/insureAgain`,
forbidSwipeBack: '1',
needRefresh: '1'
},
routerInfo: { path: `/insureAgain` }
})
}
},
getOrderDetail() {
getOrderDetail({ orderNo: localStorage.orderNo }).then(res => {
if (res.result == 0) {
//投保人信息返显
this.userInfo = res.orderDTO.appntDTO
this.setCustomerMarriage(res.orderDTO.appntDTO.marriage)
//是否长期
this.userInfo.effectiveDateType = res.orderDTO.appntDTO.effectiveDateType == 'false' ? false : true
//有无社保
this.userInfo.medical = res.orderDTO.appntDTO.medical
//设为联系地址
// this.userInfo.addressStatus = '0'
//证件类型
// this.userInfo.idType = '1'
//国家/地区
// this.userInfo.nativeplace = '1'
this.$utils.intLocalStorage(res)
this.sureArea([{ code: this.userInfo.homeProvince }, { code: this.userInfo.homeCity }, { code: this.userInfo.homeArea }], '2')
// ------------------------专为桂企写死--begin---------------//
if (res.orderDTO.insuredDTOs[0] && res.orderDTO.insuredDTOs[0].riskDTOLst) {
this.specilFlag = res.orderDTO.insuredDTOs[0].riskDTOLst.some(v => {
return v.riskCode == 'GFRS_M0024'
})
? '1'
: '0'
} else if (res.orderDTO.orderInfoDTO.productCode == 'GFRS_M0024') {
this.specilFlag = '1'
}
// ------------------------专为桂企写死--end---------------//
}
})
},
//区域选择
sureArea(area, type) {
switch (type) {
case '2': //联系地址
this.homeName = getAreaName(area)
console.log(this.homeName, '======================this.homeName')
// ;[this.userInfo.homeProvince, this.userInfo.homeCity, this.userInfo.homeArea] = [area[0].code, area[1].code, area[2].code]
break
}
},
setCustomerMarriage(marriageCode) {
for (let status of DataDictionary.marriage) {
if (status.id == marriageCode) {
this.userInfo.marriageStatus = status.text
this.userInfo.marriage = status.id
}
}
},
//确认选择字段
onConfirm(value) {
this.popupShow = false
if (this.pickerType == '1') {
this.userInfo.nativeplace = value.id
} else if (this.pickerType == '2') {
//身份证以外的证件类型可以使用长期
if (value.id != '1') {
this.effectiveDateTypeAble = false
} else {
//若身份证件类型为身份证,自动带入年龄
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
this.effectiveDateTypeAble = !(age > 45)
// 身份证号码不存在时赋默认值
if (!this.userInfo.idNo) {
this.userInfo.idNo = ''
}
//若身份证件类型为身份证,自动带入性别
let sexSign =
this.userInfo.idNo.length == 18 ? this.userInfo.idNo.substr(16, 1) : this.userInfo.idNo.length == 15 ? this.userInfo.idNo.substr(14, 1) : ''
//18位身份证第17位是性别位, 奇男偶女;15位身份证第15位是性别位, 奇男偶女
if (sexSign) {
if (parseInt(sexSign) % 2 == 0) {
this.userInfo.sex = '1'
} else {
this.userInfo.sex = '0'
}
}
}
this.userInfo.idType = value.id
} /*else if (this.pickerType == '3') {
this.userInfo.degree = value.id
}*/ else if (this.pickerType == '4') {
this.userInfo.socialSecurity = value.id
} else if (this.pickerType == '5') {
this.userInfo.taxResidentId = value.id
} /*else if (this.pickerType == '6') {
this.userInfo.marriage = value.id
} else if (this.pickerType == '7') {
this.userInfo.jobStatus = value.id
} */ else if (
this.pickerType == '8'
) {
this.userInfo.salarySource = value.id
} else if (this.pickerType == '9') {
this.userInfo.workcompany = value
} else if (this.pickerType === '10') {
this.userInfo.marriageStatus = value.text
}
},
specialRead(payload) {
this.isSpecialRead = payload
},
nextStep(page) {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/insureAgain`,
forbidSwipeBack: '1',
needRefresh: '1'
},
routerInfo: { path: `/insureAgain` }
})
},
//弹框选择
toSelect(pickerType, valueKey) {
console.log(valueKey)
//pickerType 1、国家地区 2、证件类型 3、文化程度 4、有无社保(弃用) 5、税收居民身份 6、婚姻状况
//7、在职情况 8、收入来源
;[this.popupShow, this.pickerType] = [true, pickerType]
if (valueKey) this.valueKey = valueKey
switch (pickerType) {
case '1':
this.columns = DataDictionary.nativeplace
break
case '2':
this.columns = DataDictionary.insuredIdType
break
case '4':
this.columns = [{ id: 0, text: '有' }, { id: 1, text: '无' }]
break
case '5':
this.columns = DataDictionary.taxIdentity
break
case '8':
this.columns = DataDictionary.salarySource
break
case '9':
this.productCodes.length = 0
this.productCodes.push('GFRS_M0024')
getCompany({ productCodes: this.productCodes }).then(res => {
if (res.result == 0) {
this.columns = res.content
} else {
this.$toast(res.resultMessage)
}
})
break
case '10':
this.columns = DataDictionary.marriage
break
}
}
}
}
</script>
<style lang="scss" scoped>
.input{
border: none;
text-align: center;
}
.insure-again {
padding-bottom: 45px;
}
.input {
border: none;
text-align: center;
}
</style>

View File

@@ -1,80 +0,0 @@
<template>
<div>
<p style="font-weight: bold;" class="bg-white p10 van-hairline--bottom">告知项目</p>
<DropdownBox :gutter="false">
<template #boxTitle>
<span>被保人财务告知</span>
</template>
<template #right-title>
<span class="mr10">李磊</span>
</template>
<NotificationItem />
</DropdownBox>
<DropdownBox :gutter="false">
<template #boxTitle>
<span>被保人健康告知</span>
</template>
<template #right-title>
<span class="mr10">李磊</span>
</template>
<NotificationItem />
<NotificationItem />
</DropdownBox>
<p class="notifition bg-white p15">
注意本次重新投保仅限于无其他补充告知的情况若您有其他补充告知您的条件不符合本重新投保流程请您联系保单服务专员或拨打4006946688咨询通过其他途径进行投保申请
</p>
<div class="btns">
<van-button type="danger" v-no-more-click="1000" @click="backToList">有补充告知返回</van-button>
<van-button type="danger" v-no-more-click="1000" @click="nextStep">无补充告知下一步</van-button>
</div>
</div>
</template>
<script>
import { bus } from './bus'
import NotificationItem from './NotificationItem'
import DropdownBox from '@/components/ebiz/insureAgain/DropdownBox'
export default {
components: {
NotificationItem,
DropdownBox
},
data() {
return {}
},
methods: {
backToList() {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/insureAgain`,
forbidSwipeBack: '1',
needRefresh: '1'
},
routerInfo: { path: `/insureAgain` }
})
},
nextStep() {
bus.$emit('nextPage', 3)
}
}
}
</script>
<style lang="scss" scoped>
.notifition {
font-size: 14px;
color: #ff0000;
}
.btns {
width: 100vw;
display: flex;
position: fixed;
bottom: 0;
/deep/ .van-button {
flex: 1;
}
}
</style>

View File

@@ -1,44 +0,0 @@
<template>
<div class="container">
<p class="title p10">1.您目前或曾经是否有吸烟习惯</p>
<van-radio-group v-model="radio" class="radio-group p10" disabled>
<van-radio class="mr50" name="1"></van-radio>
<van-radio name="2"></van-radio>
</van-radio-group>
<div class="question-detail">
<InfoCell label="目前/曾经吸烟数量(支/天)" value="2" />
<InfoCell label="吸烟延续(年)" value="5" />
<InfoCell label="平均已戒烟(年)" value="0" />
</div>
</div>
</template>
<script>
import { RadioGroup, Radio } from 'vant'
import InfoCell from '@/components/ebiz/insureAgain/InfoCell'
export default {
name: 'NotificationItem',
components: {
InfoCell,
[RadioGroup.name]: RadioGroup,
[Radio.name]: Radio
},
data() {
return {
radio: '1'
}
}
}
</script>
<style lang="scss" scoped>
.container {
.title {
font-size: 14px;
}
.radio-group {
display: flex;
justify-content: center;
}
}
</style>

View File

@@ -1,5 +1,6 @@
<template>
<div>
<div class="insure-again">
<ProgressBar :active.sync="active" />
<!-- 险种信息 -->
<p style="font-weight: bold;" class="bg-white p10 van-hairline--bottom">保险计划详情</p>
<InfoCell label="保险期间" />
@@ -83,16 +84,17 @@
</template>
<script>
import { bus } from './bus'
import InfoCell from '@/components/ebiz/insureAgain/InfoCell'
import ProgressBar from '@/components/ebiz/insureAgain/ProgressBar'
import DropdownBox from '@/components/ebiz/insureAgain/DropdownBox'
import InfoCell from '@/components/ebiz/insureAgain/InfoCell'
import ReadingAgreement from '@/components/ebiz/insureAgain/ReadingAgreement'
import { Checkbox, RadioGroup, Radio, Dialog } from 'vant'
export default {
name: 'ProductInformation',
name: 'productInformation',
components: {
InfoCell,
ProgressBar,
DropdownBox,
InfoCell,
ReadingAgreement,
[Checkbox.name]: Checkbox,
[RadioGroup.name]: RadioGroup,
@@ -104,7 +106,8 @@ export default {
show: false,
remitRiskA: false,
style: { height: '100vh', width: '100vw' },
isRead: false
isRead: false,
active: 1
}
},
methods: {
@@ -160,7 +163,7 @@ export default {
confirmButtonColor: '#ff0000'
})
} else {
bus.$emit('nextPage', 2)
}
}
}

View File

@@ -1,5 +1,6 @@
<template>
<div>
<div class="insure-again">
<ProgressBar :active.sync="active" />
<van-cell-group class="mb10">
<van-cell title="销售人员工号" value="1450000562" />
<van-cell title="销售人员姓名" value="韦辉" />
@@ -41,17 +42,22 @@
</template>
<script>
import ProgressBar from '@/components/ebiz/insureAgain/ProgressBar'
import DropdownBox from '@/components/ebiz/insureAgain/DropdownBox'
import InfoCell from '@/components/ebiz/insureAgain/InfoCell'
import StateRadio from '@/components/ebiz/insureAgain/StateRadio'
export default {
name: 'SignConfirmation',
name: 'signConfirmation',
components: {
ProgressBar,
DropdownBox,
InfoCell,
StateRadio
},
data() {
return {
result: 2
result: 2,
active: 3
}
},
methods: {

View File

@@ -1,5 +0,0 @@
import Vue from 'vue'
let bus = new Vue()
export { bus }

View File

@@ -29,11 +29,11 @@
<template #btns>
<div v-if="active === 'uncommit'">
<van-button size="small" round type="danger" @click="uncommitInsureDetail" plain>查看详情</van-button>
<van-button class="ml10" size="small" round type="danger" @click="insureAgain">重新投保</van-button>
<van-button size="small" round type="danger" @click="uncommitInsureDetail(order)" plain>查看详情</van-button>
<van-button class="ml10" size="small" round type="danger" @click="insureAgain(order)">重新投保</van-button>
</div>
<div v-if="active === 'commit'">
<van-button class="ml10" size="small" round type="danger" @click="commitInsureDetail">查看投保单</van-button>
<van-button class="ml10" size="small" round type="danger" @click="commitInsureDetail(order)">查看投保单</van-button>
</div>
</template>
</Order>
@@ -204,7 +204,8 @@ export default {
}
})
},
insureAgain() {
insureAgain(order) {
localStorage.setItem('orderNo', order.orderInfoDTO.orderNo)
setTimeout(() => {
window.EWebBridge.webCallAppInJs('webview_left_button', {
img: this.$assetsUrl + 'images/del-close-btn@3x.png',
@@ -214,7 +215,7 @@ export default {
this.isAgreementShow = true
},
uncommitInsureDetail(order) {
// localStorage.orderNo = order.orderInfoDTO.orderNo
localStorage.setItem('orderNo', order.orderInfoDTO.orderNo)
this.$jump({
flag: 'h5',
extra: {
@@ -226,7 +227,7 @@ export default {
})
},
commitInsureDetail(order) {
// localStorage.orderNo = order.orderInfoDTO.orderNo
localStorage.setItem('orderNo', order.orderInfoDTO.orderNo)
this.$jump({
flag: 'h5',
extra: {
@@ -241,11 +242,11 @@ export default {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/insureAgain/progress`,
url: location.origin + `/#/insureAgain/insureInformation`,
forbidSwipeBack: '1',
needRefresh: '1'
},
routerInfo: { path: `/insureAgain/progress` }
routerInfo: { path: `/insureAgain/insureInformation` }
})
},
onRefresh() {

View File

@@ -0,0 +1,130 @@
<template>
<div class="insure-again">
<ProgressBar :active.sync="active" />
<p style="font-weight: bold;" class="bg-white p10 van-hairline--bottom">告知项目</p>
<DropdownBox :gutter="false">
<template #boxTitle>
<span>被保人财务告知</span>
</template>
<template #right-title>
<span class="mr10">李磊</span>
</template>
<div class="container">
<p class="title p10">1.您目前或曾经是否有吸烟习惯</p>
<van-radio-group v-model="radio" class="radio-group p10" disabled>
<van-radio class="mr50" name="1"></van-radio>
<van-radio name="2"></van-radio>
</van-radio-group>
<div class="question-detail">
<InfoCell label="目前/曾经吸烟数量(支/天)" value="2" />
<InfoCell label="吸烟延续(年)" value="5" />
<InfoCell label="平均已戒烟(年)" value="0" />
</div>
</div>
</DropdownBox>
<DropdownBox :gutter="false">
<template #boxTitle>
<span>被保人健康告知</span>
</template>
<template #right-title>
<span class="mr10">李磊</span>
</template>
<div class="container">
<p class="title p10">1.您目前或曾经是否有吸烟习惯</p>
<van-radio-group v-model="radio" class="radio-group p10" disabled>
<van-radio class="mr50" name="1"></van-radio>
<van-radio name="2"></van-radio>
</van-radio-group>
<div class="question-detail">
<InfoCell label="目前/曾经吸烟数量(支/天)" value="2" />
<InfoCell label="吸烟延续(年)" value="5" />
<InfoCell label="平均已戒烟(年)" value="0" />
</div>
</div>
<div class="container">
<p class="title p10">1.您目前或曾经是否有吸烟习惯</p>
<van-radio-group v-model="radio" class="radio-group p10" disabled>
<van-radio class="mr50" name="1"></van-radio>
<van-radio name="2"></van-radio>
</van-radio-group>
<div class="question-detail">
<InfoCell label="目前/曾经吸烟数量(支/天)" value="2" />
<InfoCell label="吸烟延续(年)" value="5" />
<InfoCell label="平均已戒烟(年)" value="0" />
</div>
</div>
</DropdownBox>
<p class="notifition bg-white p15">
注意本次重新投保仅限于无其他补充告知的情况若您有其他补充告知您的条件不符合本重新投保流程请您联系保单服务专员或拨打4006946688咨询通过其他途径进行投保申请
</p>
<div class="btns">
<van-button type="danger" v-no-more-click="1000" @click="backToList">有补充告知返回</van-button>
<van-button type="danger" v-no-more-click="1000" @click="nextStep">无补充告知下一步</van-button>
</div>
</div>
</template>
<script>
import ProgressBar from '@/components/ebiz/insureAgain/ProgressBar'
import DropdownBox from '@/components/ebiz/insureAgain/DropdownBox'
import InfoCell from '@/components/ebiz/insureAgain/InfoCell'
import { RadioGroup, Radio } from 'vant'
export default {
components: {
ProgressBar,
DropdownBox,
InfoCell,
[RadioGroup.name]: RadioGroup,
[Radio.name]: Radio
},
data() {
return {
active: 2,
radio: '1'
}
},
methods: {
backToList() {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + `/#/insureAgain`,
forbidSwipeBack: '1',
needRefresh: '1'
},
routerInfo: { path: `/insureAgain` }
})
},
nextStep() {
}
}
}
</script>
<style lang="scss" scoped>
.container {
.title {
font-size: 14px;
}
.radio-group {
display: flex;
justify-content: center;
}
}
.notifition {
font-size: 14px;
color: #ff0000;
}
.btns {
width: 100vw;
display: flex;
position: fixed;
bottom: 0;
/deep/ .van-button {
flex: 1;
}
}
</style>