mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-09 13:26:44 +08:00
修改投保内容
This commit is contained in:
@@ -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
|
||||
})
|
||||
}
|
||||
@@ -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>
|
||||
|
||||
@@ -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}` }
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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',
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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)
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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: {
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
import Vue from 'vue'
|
||||
|
||||
let bus = new Vue()
|
||||
|
||||
export { bus }
|
||||
@@ -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() {
|
||||
|
||||
130
src/views/ebiz/insureAgain/notification.vue
Normal file
130
src/views/ebiz/insureAgain/notification.vue
Normal 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>
|
||||
Reference in New Issue
Block a user