mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-06 22:26:42 +08:00
重新投保页面修改,模拟原接口数据
This commit is contained in:
19
src/api/ebiz/insureAgain/insureAgain.js
Normal file
19
src/api/ebiz/insureAgain/insureAgain.js
Normal file
@@ -0,0 +1,19 @@
|
||||
/*
|
||||
* @Author: PangXingYue
|
||||
* @Date: 2021-03-04 10:38:24
|
||||
* @LastEditTime: 2021-03-04 10:50:17
|
||||
* @LastEditors: PangXingYue
|
||||
* @Description:
|
||||
* @FilePath: \ebiz-h5\src\api\ebiz\insureAgain\insureAgain.js
|
||||
*/
|
||||
import request from '@/assets/js/utils/request'
|
||||
import getUrl from '@/assets/js/utils/get-url'
|
||||
// 订单列表
|
||||
export function orderList(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/order/orderList', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
@@ -6,19 +6,29 @@
|
||||
<div class="content p15">
|
||||
<p class="name mb8">
|
||||
<van-tag plain color="#5CA7DE">投保</van-tag>
|
||||
<span class="ml5">李磊</span>
|
||||
<span class="ml5">{{ order.appntDTO.name }}</span>
|
||||
</p>
|
||||
<p class="name mb8">
|
||||
<p class="name mb8" v-for="(insured, insuredIndex) in order.insuredDTOs" :key="insuredIndex">
|
||||
<van-tag plain color="#DD9C56">被保</van-tag>
|
||||
<span class="ml5">李磊</span>
|
||||
</p>
|
||||
<p class="name mb8">
|
||||
<span class="ml5">{{ insured.name }}</span>
|
||||
<span v-for="(main, mainIndex) in insured.mainRisk" :key="mainIndex">
|
||||
<div class="mv10">
|
||||
<span class="w45 inline-b">
|
||||
<van-tag plain type="danger">主险</van-tag>
|
||||
<span class="ml5">国富人寿国富民惠医疗保险(2020版)</span>
|
||||
</span>
|
||||
<span class="fs15 c-gray-dark">{{ main.riskName }}</span>
|
||||
</div>
|
||||
<div class="mv10 pl45 flex" v-for="(addtional, addtionIndex) in main.addtion" :key="addtionIndex">
|
||||
<span class="mr10" style="flex-shrink: 0">
|
||||
<van-tag mark color="#DDF2EF" text-color="#E9332E">附加</van-tag>
|
||||
</span>
|
||||
<span class="fs13">{{ addtional.riskName }}</span>
|
||||
</div>
|
||||
</span>
|
||||
</p>
|
||||
<p class="prem mb10">
|
||||
<span>首期总保费(元)</span>
|
||||
<span>10,000</span>
|
||||
<span>{{ order.firstPrem == 0 ? '0.00' : order.firstPrem | moneyFormat }}</span>
|
||||
</p>
|
||||
<div class="divider mb10" />
|
||||
<slot></slot>
|
||||
@@ -36,6 +46,12 @@ export default {
|
||||
components: {
|
||||
[Tag.name]: Tag
|
||||
},
|
||||
props: {
|
||||
order: {
|
||||
type: Object,
|
||||
default: () => {}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {}
|
||||
},
|
||||
@@ -3,7 +3,6 @@ const InsureAgainDetail = () => import('@/views/ebiz/insureAgain/InsureAgainDeta
|
||||
const InsureAgainProgress = () => import('@/views/ebiz/insureAgain/InsureAgainProgress')
|
||||
const InsureAgainPayment = () => import('@/views/ebiz/insureAgain/Payment')
|
||||
const PaymentResult = () => import('@/views/ebiz/insureAgain/PaymentResult')
|
||||
const ReadingAgreement = () => import('@/views/ebiz/insureAgain/ReadingAgreement')
|
||||
|
||||
export default [
|
||||
{
|
||||
@@ -21,7 +20,7 @@ export default [
|
||||
name: 'InsureAgainDetail',
|
||||
component: InsureAgainDetail,
|
||||
meta: {
|
||||
title: '可申请重新投保保单列表'
|
||||
title: '可申请重新投保保单详情'
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -51,10 +50,4 @@ export default [
|
||||
title: '支付结果'
|
||||
}
|
||||
},
|
||||
{
|
||||
// 协议阅读
|
||||
path: '/insureAgain/readingAgreement',
|
||||
name: 'ReadingAgreement',
|
||||
component: ReadingAgreement
|
||||
}
|
||||
]
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
<template>
|
||||
<van-pull-refresh v-model="isLoading" @refresh="onRefresh">
|
||||
<van-list ref="uncommitted" v-model="loading" @load="onLoad" :finished="finished" finished-text="没有更多数据了">
|
||||
<Order v-for="item in list" :key="item" :title="item">
|
||||
<p class="name mb8">
|
||||
<van-tag plain color="#999999">重新投保单号</van-tag>
|
||||
<span class="ml5 span">8186270000011942</span>
|
||||
</p>
|
||||
<p class="name">
|
||||
<van-tag plain color="#999999">状态</van-tag>
|
||||
<span class="ml5 span">重新投保失败</span>
|
||||
</p>
|
||||
<template #btns>
|
||||
<van-button class="ml10" size="small" round type="danger">查看投保单</van-button>
|
||||
</template>
|
||||
</Order>
|
||||
</van-list>
|
||||
</van-pull-refresh>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { PullRefresh, list, Tag } from 'vant'
|
||||
import Order from './Order'
|
||||
|
||||
export default {
|
||||
name: 'Committed',
|
||||
components: {
|
||||
Order,
|
||||
[PullRefresh.name]: PullRefresh,
|
||||
[list.name]: list,
|
||||
[Tag.name]: Tag
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
list: [],
|
||||
loading: false,
|
||||
finished: false,
|
||||
isLoading: false,
|
||||
scrollTop: 0
|
||||
}
|
||||
},
|
||||
activated() {
|
||||
document.documentElement.scrollTo({
|
||||
top: this.scrollTop
|
||||
})
|
||||
},
|
||||
deactivated() {
|
||||
this.scrollTop = document.documentElement.scrollTop
|
||||
},
|
||||
methods: {
|
||||
async onLoad() {
|
||||
setTimeout(() => {
|
||||
for (let i = 0; i < 10; i++) {
|
||||
this.list.push(this.list.length + 1)
|
||||
}
|
||||
this.loading = false
|
||||
// 数据全部加载完成
|
||||
if (this.list.length >= 80) {
|
||||
this.finished = true
|
||||
}
|
||||
}, 1000)
|
||||
},
|
||||
onRefresh() {
|
||||
setTimeout(() => {
|
||||
this.isLoading = false
|
||||
this.count++
|
||||
}, 1000)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped></style>
|
||||
@@ -1,3 +1,11 @@
|
||||
<!--
|
||||
* @Author: PangXingYue
|
||||
* @Date: 2021-03-03 09:07:22
|
||||
* @LastEditTime: 2021-03-03 17:22:23
|
||||
* @LastEditors: PangXingYue
|
||||
* @Description:
|
||||
* @FilePath: \ebiz-h5\src\views\ebiz\insureAgain\InfoCell.vue
|
||||
-->
|
||||
<template>
|
||||
<van-field label-width="12.2em">
|
||||
<template #label>
|
||||
|
||||
@@ -13,7 +13,9 @@
|
||||
<van-button plain size="small" type="danger" round>女</van-button>
|
||||
</InfoCell>
|
||||
<InfoCell label="国籍" />
|
||||
<InfoCell label="婚姻状况" />
|
||||
<InfoCell label="婚姻状况">
|
||||
<input class="input" type="text" value="" placeholder="请输入" />
|
||||
</InfoCell>
|
||||
<InfoCell label="职业类别" />
|
||||
<InfoCell label="移动电话" />
|
||||
<InfoCell label="电子邮箱" />
|
||||
@@ -37,7 +39,9 @@
|
||||
<van-button plain size="small" type="danger" round>女</van-button>
|
||||
</InfoCell>
|
||||
<InfoCell label="国籍" />
|
||||
<InfoCell label="婚姻状况" />
|
||||
<InfoCell label="婚姻状况">
|
||||
<input class="input" type="text" value="" placeholder="请输入" />
|
||||
</InfoCell>
|
||||
<InfoCell label="职业类别" />
|
||||
<InfoCell label="有无社保">
|
||||
<van-button class="mr10" size="small" type="danger" round>有</van-button>
|
||||
@@ -59,13 +63,19 @@
|
||||
<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 label="婚姻状况" />
|
||||
<InfoCell label="移动电话" />
|
||||
<InfoCell label="国籍">
|
||||
<input class="input" type="text" value="" placeholder="请输入" />
|
||||
</InfoCell>
|
||||
<InfoCell label="婚姻状况">
|
||||
<input class="input" type="text" value="" placeholder="请输入" />
|
||||
</InfoCell>
|
||||
<InfoCell label="移动电话">
|
||||
<input class="input" type="text" value="" placeholder="请输入" />
|
||||
</InfoCell>
|
||||
<InfoCell label="联系地址" />
|
||||
<InfoCell label="职业类别" />
|
||||
<InfoCell label="收益顺序" />
|
||||
<InfoCell label="收益比例" />
|
||||
<InfoCell label="受益顺序" />
|
||||
<InfoCell label="受益比例" />
|
||||
</DropdownBox>
|
||||
<DropdownBox>
|
||||
<template #boxTitle>
|
||||
@@ -105,4 +115,9 @@ export default {
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped></style>
|
||||
<style lang="scss" scoped>
|
||||
.input{
|
||||
border: none;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<template>
|
||||
<div>
|
||||
<van-cell-group>
|
||||
<van-cell title="投保人" value="李磊" />
|
||||
<van-cell title="支付金额" value="2,000.00" />
|
||||
@@ -24,6 +25,13 @@
|
||||
<van-cell title="卡号" value="563353455325345345" />
|
||||
<van-cell title="银行" value="交通银行" />
|
||||
</van-cell-group>
|
||||
<div class="action-bar">
|
||||
<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>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@@ -42,6 +50,20 @@ export default {
|
||||
// 微信支付图片地址
|
||||
vxSrc: this.$assetsUrl + 'images/vxImg.png'
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
backToList() {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + `/#/insureAgain`,
|
||||
forbidSwipeBack: '1',
|
||||
needRefresh: '1'
|
||||
},
|
||||
routerInfo: { path: `/insureAgain` }
|
||||
})
|
||||
},
|
||||
nextStep(){}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -59,4 +81,18 @@ export default {
|
||||
/deep/ .van-radio {
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.action-bar {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
background: #fff;
|
||||
width: 100vw;
|
||||
}
|
||||
|
||||
.btns {
|
||||
display: flex;
|
||||
/deep/ .van-button--danger {
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
import { bus } from './bus'
|
||||
import InfoCell from './InfoCell'
|
||||
import DropdownBox from './DropdownBox'
|
||||
import ReadingAgreement from './ReadingAgreement'
|
||||
import ReadingAgreement from '@/components/ebiz/insureAgain/ReadingAgreement'
|
||||
import { Checkbox, RadioGroup, Radio, Dialog } from 'vant'
|
||||
export default {
|
||||
name: 'ProductInformation',
|
||||
|
||||
@@ -1,137 +0,0 @@
|
||||
<template>
|
||||
<div>
|
||||
<van-pull-refresh v-model="isLoading" @refresh="onRefresh">
|
||||
<van-list ref="uncommitted" v-model="loading" @load="onLoad" :finished="finished" finished-text="没有更多数据了">
|
||||
<Order v-for="item in list" :key="item" :title="item">
|
||||
<p class="name mb8">
|
||||
<van-tag plain color="#999999">保单保障日截止日期</van-tag>
|
||||
<span class="ml5 span">23453524234324</span>
|
||||
</p>
|
||||
<p class="name">
|
||||
<van-tag plain color="#999999">状态</van-tag>
|
||||
<span class="ml5 span">重新投保失败</span>
|
||||
</p>
|
||||
<template #btns>
|
||||
<van-button size="small" round type="danger" plain>查看详情</van-button>
|
||||
<van-button class="ml10" size="small" round type="danger" @click="insureAgain">重新投保</van-button>
|
||||
</template>
|
||||
</Order>
|
||||
</van-list>
|
||||
</van-pull-refresh>
|
||||
<van-popup v-model="isAgreementShow" position="right" :style="{ height: '100vh', width: '100vw' }">
|
||||
<ReadingAgreement :needTime="false">
|
||||
<h3 class="p10">重新投保声明提示</h3>
|
||||
<p class="pl10">尊敬的xxx先生/女士:</p>
|
||||
<p class="p10">
|
||||
您好!您于保单生效日期投保的保单号为保单号码的国富人寿国富民惠医疗保险(2020版)保单即将到期(到期日期详见保单,以下简称旧保单),为保护您的权益,即日起至<期满日后第60天>期间,您可以选择重新投保国富人寿国富民惠医疗保险(2020版),本次申请投保的国富人寿国富民惠医疗保险(2020版)保单以下简称新保单,请您仔细阅读以下内容:
|
||||
1.国富人寿国富民惠医疗保险(2020版)合同保险期间为一年,到期后需要重新投保。
|
||||
2.本次重新投保,我们将按照国富人寿国富民惠医疗保险(2020版)费率表中的“在上一保险期间届满后60日内申请重新投保时对应的费率”计算保费。
|
||||
3.若本次重新投保成功,新保单免除等待期。
|
||||
4.本次重新投保仅限于无其他补充告知的情况,若您有其他补充告知,您的条件不符合本重新投保流程。请您联系保单服务专员,通过新增投保单进行投保申请。
|
||||
5.若您于旧保单满期前申请重新投保,且于满期前成功支付保险费,则新保单在旧保单保险期满日对应日的次日零时生效,旧保单在保险期满日24时终止。若您于旧保单满期后60天(包含)内重新投保申请,且成功支付保险费,则新保单于支付次日零时生效,旧保单在保险期满日24时终止。
|
||||
6.若您未在旧保单满期后60天(包含)内申请重新投保,则您的重新投保资格将被取消。后续您可再次申请投保,但新单不再与旧保单关联,需重新计算等待期。具体详情,可咨询保单服务专员。
|
||||
</p>
|
||||
<template #action>
|
||||
<van-radio-group class="m10" v-model="radio">
|
||||
<van-radio :name="false">
|
||||
<span style="font-size: 14px;">本人已阅读、知晓本投保声明内容,同意重新投保</span>
|
||||
</van-radio>
|
||||
</van-radio-group>
|
||||
<div class="btns">
|
||||
<van-button type="danger" :disabled="radio" block @click="nextStep">下一步</van-button>
|
||||
</div>
|
||||
</template>
|
||||
</ReadingAgreement>
|
||||
</van-popup>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { PullRefresh, list, Tag, Popup, Radio, RadioGroup } from 'vant'
|
||||
import ReadingAgreement from './ReadingAgreement'
|
||||
import Order from './Order'
|
||||
|
||||
export default {
|
||||
name: 'Uncommitted',
|
||||
components: {
|
||||
Order,
|
||||
ReadingAgreement,
|
||||
[PullRefresh.name]: PullRefresh,
|
||||
[list.name]: list,
|
||||
[Tag.name]: Tag,
|
||||
[Popup.name]: Popup,
|
||||
[RadioGroup.name]: RadioGroup,
|
||||
[Radio.name]: Radio
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
radio: true,
|
||||
isAgreementShow: false,
|
||||
list: [],
|
||||
loading: false,
|
||||
finished: false,
|
||||
isLoading: false,
|
||||
scrollTop: 0
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
appCallBack(data) {
|
||||
if (data.trigger == 'left_button_click') {
|
||||
if (this.isAgreementShow) {
|
||||
this.isAgreementShow = false
|
||||
setTimeout(() => {
|
||||
window.EWebBridge.webCallAppInJs('webview_left_button', {
|
||||
intercept: '1'
|
||||
})
|
||||
}, 100)
|
||||
} else {
|
||||
this.$jump({
|
||||
flag: 'service'
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
nextStep() {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + `/#/insureAgain/progress`,
|
||||
forbidSwipeBack: '1',
|
||||
needRefresh: '1'
|
||||
},
|
||||
routerInfo: { path: `/insureAgain/progress` }
|
||||
})
|
||||
},
|
||||
insureAgain() {
|
||||
setTimeout(() => {
|
||||
window.EWebBridge.webCallAppInJs('webview_left_button', {
|
||||
img: this.$assetsUrl + 'images/del-close-btn@3x.png',
|
||||
intercept: '1' //是否拦截原生返回事件 1是 其他否
|
||||
})
|
||||
}, 100)
|
||||
window.appCallBack = this.appCallBack
|
||||
this.isAgreementShow = true
|
||||
},
|
||||
async onLoad() {
|
||||
setTimeout(() => {
|
||||
for (let i = 0; i < 10; i++) {
|
||||
this.list.push(this.list.length + 1)
|
||||
}
|
||||
this.loading = false
|
||||
// 数据全部加载完成
|
||||
if (this.list.length >= 80) {
|
||||
this.finished = true
|
||||
}
|
||||
}, 1000)
|
||||
},
|
||||
onRefresh() {
|
||||
setTimeout(() => {
|
||||
this.isLoading = false
|
||||
this.count++
|
||||
}, 1000)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped></style>
|
||||
@@ -1,44 +1,102 @@
|
||||
<template>
|
||||
<div>
|
||||
<van-search v-model="value" placeholder="请输入保单号/投保人姓名/被保险人姓名" />
|
||||
<van-search v-model="searchName" placeholder="请输入保单号/投保人姓名/被保险人姓名" @change="searchList" @keyup.enter="searchList" />
|
||||
<van-sticky>
|
||||
<van-tabs v-model="active">
|
||||
<van-tab title="未提交" />
|
||||
<van-tab title="已提交" />
|
||||
<van-tabs v-model="active" @change="tabChange">
|
||||
<van-tab name="uncommit" title="未提交" />
|
||||
<van-tab name="commit" title="已提交" />
|
||||
</van-tabs>
|
||||
</van-sticky>
|
||||
<div class="container">
|
||||
<component :is="is" />
|
||||
<van-pull-refresh v-model="isLoading" @refresh="onRefresh">
|
||||
<van-list ref="uncommitted" v-model="loading" :finished="finished" :finished-text="finishedText" @load="loadMore">
|
||||
<div v-if="insureList.length>0">
|
||||
<Order v-for="(order,index) in insureList" :key="index" :order="order">
|
||||
<p v-if="active === 'uncommit'" class="name mb8">
|
||||
<van-tag plain color="#999999">保单保障日截止日期</van-tag>
|
||||
<span class="ml5 span">{{ order.orderInfoDTO.orderNo }}</span>
|
||||
</p>
|
||||
<div v-if="active === 'commit'">
|
||||
<p class="name mb8">
|
||||
<van-tag plain color="#999999">重新投保单号</van-tag>
|
||||
<span class="ml5 span">{{ order.orderInfoDTO.orderNo }}</span>
|
||||
</p>
|
||||
<p class="name">
|
||||
<van-tag plain color="#999999">状态</van-tag>
|
||||
<span class="ml5 span">{{ order.stateName }}</span>
|
||||
</p>
|
||||
</div>
|
||||
<template #btns>
|
||||
<van-button size="small" round type="danger" @click="insureAgainDetail" plain>查看详情</van-button>
|
||||
<van-button class="ml10" size="small" round type="danger" @click="insureAgain">重新投保</van-button>
|
||||
</template>
|
||||
</Order>
|
||||
</div>
|
||||
</van-list>
|
||||
</van-pull-refresh>
|
||||
<van-popup v-model="isAgreementShow" position="right" :style="{ height: '100vh', width: '100vw' }">
|
||||
<ReadingAgreement :needTime="false">
|
||||
<h3 class="p10">重新投保声明提示</h3>
|
||||
<p class="pl10">尊敬的xxx先生/女士:</p>
|
||||
<p class="p10">
|
||||
您好!您于保单生效日期投保的保单号为保单号码的国富人寿国富民惠医疗保险(2020版)保单即将到期(到期日期详见保单,以下简称旧保单),为保护您的权益,即日起至<期满日后第60天>期间,您可以选择重新投保国富人寿国富民惠医疗保险(2020版),本次申请投保的国富人寿国富民惠医疗保险(2020版)保单以下简称新保单,请您仔细阅读以下内容:
|
||||
1.国富人寿国富民惠医疗保险(2020版)合同保险期间为一年,到期后需要重新投保。
|
||||
2.本次重新投保,我们将按照国富人寿国富民惠医疗保险(2020版)费率表中的“在上一保险期间届满后60日内申请重新投保时对应的费率”计算保费。
|
||||
3.若本次重新投保成功,新保单免除等待期。
|
||||
4.本次重新投保仅限于无其他补充告知的情况,若您有其他补充告知,您的条件不符合本重新投保流程。请您联系保单服务专员,通过新增投保单进行投保申请。
|
||||
5.若您于旧保单满期前申请重新投保,且于满期前成功支付保险费,则新保单在旧保单保险期满日对应日的次日零时生效,旧保单在保险期满日24时终止。若您于旧保单满期后60天(包含)内重新投保申请,且成功支付保险费,则新保单于支付次日零时生效,旧保单在保险期满日24时终止。
|
||||
6.若您未在旧保单满期后60天(包含)内申请重新投保,则您的重新投保资格将被取消。后续您可再次申请投保,但新单不再与旧保单关联,需重新计算等待期。具体详情,可咨询保单服务专员。
|
||||
</p>
|
||||
<template #action>
|
||||
<van-radio-group class="m10" v-model="radio">
|
||||
<van-radio :name="false">
|
||||
<span style="font-size: 14px;">本人已阅读、知晓本投保声明内容,同意重新投保</span>
|
||||
</van-radio>
|
||||
</van-radio-group>
|
||||
<div class="btns">
|
||||
<van-button type="danger" :disabled="radio" block @click="nextStep">下一步</van-button>
|
||||
</div>
|
||||
</template>
|
||||
</ReadingAgreement>
|
||||
</van-popup>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Search, Sticky } from 'vant'
|
||||
import Committed from './Committed'
|
||||
import Uncommitted from './Uncommitted'
|
||||
|
||||
import { Search, Sticky, PullRefresh, list, Tag, Popup, Radio, RadioGroup } from 'vant'
|
||||
import { orderList } from '@/api/ebiz/insureAgain/insureAgain'
|
||||
import { formatRiskList } from '@/assets/js/utils/formatRiskList.js'
|
||||
import dataDictionary from '@/assets/js/utils/data-dictionary' //根据数据字典找到用户等级
|
||||
import Order from '@/components/ebiz/insureAgain/Order'
|
||||
import ReadingAgreement from '@/components/ebiz/insureAgain/ReadingAgreement'
|
||||
export default {
|
||||
name: 'InsureAgain',
|
||||
components: {
|
||||
Committed,
|
||||
Uncommitted,
|
||||
Order,
|
||||
ReadingAgreement,
|
||||
[Search.name]: Search,
|
||||
[Sticky.name]: Sticky
|
||||
[Sticky.name]: Sticky,
|
||||
[PullRefresh.name]: PullRefresh,
|
||||
[list.name]: list,
|
||||
[Tag.name]: Tag,
|
||||
[Popup.name]: Popup,
|
||||
[RadioGroup.name]: RadioGroup,
|
||||
[Radio.name]: Radio
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
active: 0,
|
||||
value: ''
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
is() {
|
||||
if (this.active === 0) {
|
||||
return 'Uncommitted'
|
||||
} else {
|
||||
return 'Committed'
|
||||
}
|
||||
searchName: '', //搜索名
|
||||
active: 'uncommit',
|
||||
insureList: [],
|
||||
currentPage: 1, //当前页数
|
||||
isLoading: false,
|
||||
loading: false,
|
||||
finished: false,
|
||||
finishedText: '没有更多了',
|
||||
pageSize: 5,
|
||||
isAgreementShow: false,
|
||||
radio: ''
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -53,11 +111,141 @@ export default {
|
||||
methods: {
|
||||
appCallBack(data) {
|
||||
if (data.trigger == 'left_button_click') {
|
||||
if (this.isAgreementShow) {
|
||||
this.isAgreementShow = false
|
||||
setTimeout(() => {
|
||||
window.EWebBridge.webCallAppInJs('webview_left_button', {
|
||||
intercept: '1'
|
||||
})
|
||||
}, 100)
|
||||
} else {
|
||||
this.$jump({
|
||||
flag: 'service'
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
tabChange(name) {
|
||||
this.currentPage = 1
|
||||
this.active = name
|
||||
this.saleList = []
|
||||
;[this.loading, this.finished] = [true, false]
|
||||
this.loadMore()
|
||||
},
|
||||
searchList() {
|
||||
this.currentPage = 1
|
||||
this.insureList = []
|
||||
;[this.loading, this.finished] = [true, false]
|
||||
// this.finishedText = '正在加载...'
|
||||
|
||||
let pageInfo = {
|
||||
pageNum: this.currentPage,
|
||||
pageSize: this.pageSize,
|
||||
orderType: this.active,
|
||||
name: this.searchName,
|
||||
desensitizType: this.active === 'uncommit' ? 1 : 0
|
||||
}
|
||||
this.getOrderList(pageInfo)
|
||||
},
|
||||
//初始化保单列表
|
||||
getOrderList(pageInfo) {
|
||||
orderList(pageInfo).then(res => {
|
||||
if (res.result == '0') {
|
||||
this.currentPage++
|
||||
if (!res.orderDTOPageInfo && res.orderDTOPageInfo !== {}) {
|
||||
this.finished = true
|
||||
this.loading = false
|
||||
this.finishedText = ''
|
||||
return
|
||||
}
|
||||
let list = res.orderDTOPageInfo.list
|
||||
if (list.length == 0) {
|
||||
this.finishedText = ''
|
||||
} else {
|
||||
this.finishedText = '已经全部加载'
|
||||
}
|
||||
list = formatRiskList(list, 'insuredDTOs', 'riskDTOLst') //根据后面两个参数 来格式化数据
|
||||
dataDictionary.policyState.forEach(state => {
|
||||
list.forEach(order => {
|
||||
if (state.id == order.orderInfoDTO.orderStatus) {
|
||||
order.stateName = state.text
|
||||
}
|
||||
})
|
||||
})
|
||||
this.insureList = this.insureList.concat(list)
|
||||
// if (this.insureList.length == 0) {
|
||||
// this.isSuccess = false
|
||||
// }
|
||||
this.loading = false
|
||||
if (res.orderDTOPageInfo.nextPage == 0) {
|
||||
//当下一页为0时 表示全部数据加载完毕
|
||||
this.finished = true
|
||||
}
|
||||
} else {
|
||||
this.finished = true
|
||||
this.loading = false
|
||||
this.finishedText = res.resultMessage
|
||||
}
|
||||
})
|
||||
},
|
||||
insureAgain() {
|
||||
setTimeout(() => {
|
||||
window.EWebBridge.webCallAppInJs('webview_left_button', {
|
||||
img: this.$assetsUrl + 'images/del-close-btn@3x.png',
|
||||
intercept: '1' //是否拦截原生返回事件 1是 其他否
|
||||
})
|
||||
}, 100)
|
||||
this.isAgreementShow = true
|
||||
},
|
||||
insureAgainDetail(order) {
|
||||
localStorage.orderNo = order.orderInfoDTO.orderNo
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + '/#/insureAgain/insureAgainDetail'
|
||||
},
|
||||
routerInfo: {
|
||||
path: '/insureAgain/insureAgainDetail'
|
||||
}
|
||||
})
|
||||
},
|
||||
nextStep() {
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
url: location.origin + `/#/insureAgain/progress`,
|
||||
forbidSwipeBack: '1',
|
||||
needRefresh: '1'
|
||||
},
|
||||
routerInfo: { path: `/insureAgain/progress` }
|
||||
})
|
||||
},
|
||||
onRefresh() {
|
||||
let pageInfo = {
|
||||
pageNum: 1,
|
||||
pageSize: this.pageSize,
|
||||
orderType: this.active,
|
||||
name: '',
|
||||
desensitizType: this.active === 'uncommit' ? 1 : 0
|
||||
}
|
||||
this.isLoading = false
|
||||
this.insureList = []
|
||||
this.getOrderList(pageInfo)
|
||||
},
|
||||
//分页用
|
||||
loadMore() {
|
||||
if (this.showFlag) {
|
||||
return
|
||||
}
|
||||
let pageInfo = {
|
||||
pageNum: this.currentPage,
|
||||
pageSize: this.pageSize,
|
||||
orderType: this.active,
|
||||
name: this.searchName,
|
||||
desensitizType: this.active === 'uncommit' ? 1 : 0
|
||||
}
|
||||
this.getOrderList(pageInfo)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user