[FIX] 开门红数据报表

This commit is contained in:
wangmingzhe
2019-12-23 18:16:10 +08:00
parent 18685b94e0
commit c8515f6b1a
4 changed files with 453 additions and 1 deletions

View File

@@ -9,4 +9,5 @@ import product from './product'
import agentEenter from './agentEenter.js' import agentEenter from './agentEenter.js'
import milestone from './milestone' import milestone from './milestone'
import poster from './poster' import poster from './poster'
export default [...proposal, ...sale, ...customer, ...my, ...serve, ...common, ...product, ...agentEenter, ...milestone, ...poster] //根据需要进行删减 import report from "./report"
export default [...proposal, ...sale, ...customer, ...my, ...serve, ...common, ...product, ...agentEenter, ...milestone, ...poster, ...report] //根据需要进行删减

24
src/router/ebiz/report.js Normal file
View File

@@ -0,0 +1,24 @@
//数据报表 定义相关组件
const reportList = () => import('@/views/ebiz/report/reportList')
const reportDetail = () => import('@/views/ebiz/report/reportDetail')
export default [
{
path: '/report/reportList',
name: 'reportList',
component: reportList,
meta: {
title: '开门红数据报表',
index: 1
}
},
{
path: '/report/reportDetail',
name: 'reportDetail',
component: reportDetail,
meta: {
title: '个险渠道',
index: 1
}
}
]

View File

@@ -0,0 +1,254 @@
<template>
<!-- <div class="report-list-container mt15">
<ul class="thead">
<li class="van-hairline--surround">险种</li>
<li class="van-hairline--surround">当日预收件数</li>
<li class="van-hairline--surround">当日预收规模保费万元</li>
<li class="van-hairline--surround">当日承保件数</li>
<li class="van-hairline--surround">当日承保规模保费万元</li>
<li class="van-hairline--surround">当日承保标准保费万元</li>
</ul>
<ul class="thead">
<li class="van-hairline--surround">险种</li>
<li class="van-hairline--surround">当日预收件数</li>
<li class="van-hairline--surround">当日预收规模保费万元</li>
<li class="van-hairline--surround">当日承保件数</li>
<li class="van-hairline--surround">当日承保规模保费万元</li>
<li class="van-hairline--surround">当日承保标准保费万元</li>
</ul>
<div v-for="(item,index) in reportDetail" :key="index">
<ul class="tbody">
<li class="van-hairline--surround">{{item.name}}</li>
<li class="van-hairline--surround">{{item.Advance}}</li>
<li class="van-hairline--surround">{{item.premium}}</li>
<li class="van-hairline--surround">{{item.InsuranceNumber}}</li>
<li class="van-hairline--surround">{{item.dataPremium}}</li>
<li class="van-hairline--surround">{{item.standardPremium}}</li>
</ul>
</div>
</div>-->
<div class="report-list-container mt15">
<div class="all">
<table class="move-table" cellspacing="0" cellpadding="0" border="0">
<tr>
<th>险种</th>
<th>当日预收件数</th>
<th>当日预收规模保费万元</th>
<th>当日承保件数</th>
<th>当日承保规模保费万元</th>
<th>当日承保标准保费万元</th>
</tr>
<tr v-for="(item,index) in reportDetail" :key="index">
<td>{{item.name}}</td>
<td>{{item.Advance}}</td>
<td>{{item.premium}}</td>
<td>{{item.InsuranceNumber}}</td>
<td>{{item.dataPremium}}</td>
<td>{{item.standardPremium}}</td>
</tr>
</table>
</div>
<div class="l">
<table border="0" cellspacing="0" cellpadding="0" class="fixed-l">
<tr>
<th>险种</th>
</tr>
<tr v-for="(item,index) in reportDetail" :key="index">
<td>{{item.name}}</td>
</tr>
</table>
</div>
</div>
</template>
<script>
import { List, Tab, Tabs, Tag, Row, Col, Dialog, Sticky } from 'vant'
// import { progress } from '@/api/ebiz/claims/claims'
export default {
name: 'reportDetail',
components: {
[List.name]: List,
[Tab.name]: Tab,
[Tabs.name]: Tabs,
[Tag.name]: Tag,
[Row.name]: Row,
[Col.name]: Col,
[Sticky.name]: Sticky
},
data() {
return {
reportDetail: [
{
name: '国富人寿八桂无忧重大疾病保险B款',
Advance: 7,
premium: 1.63,
InsuranceNumber: 1454,
dataPremium: 350.84,
standardPremium: 2119
},
{
name: '国富人寿八桂无忧重大疾病保险B款',
Advance: 7,
premium: 1.63,
InsuranceNumber: 1454,
dataPremium: 350.84,
standardPremium: 2119
},
{
name: '国富人寿八桂无忧重大疾病保险B款',
Advance: 7,
premium: 1.63,
InsuranceNumber: 1454,
dataPremium: 350.84,
standardPremium: 2119
},
{
name: '国富人寿八桂无忧重大疾病保险B款',
Advance: 7,
premium: 1.63,
InsuranceNumber: 1454,
dataPremium: 350.84,
standardPremium: 2119
},
{
name: '国富人寿八桂无忧重大疾病保险B款',
Advance: 7,
premium: 1.63,
InsuranceNumber: 1454,
dataPremium: 350.84,
standardPremium: 2119
},
{
name: '国富人寿八桂无忧重大疾病保险B款',
Advance: 7,
premium: 1.63,
InsuranceNumber: 1454,
dataPremium: 350.84,
standardPremium: 2119
},
{
name: '国富人寿八桂无忧重大疾病保险B款',
Advance: 7,
premium: 1.63,
InsuranceNumber: 1454,
dataPremium: 350.84,
standardPremium: 2119
},
{
name: '国富人寿八桂无忧重大疾病保险B款',
Advance: 7,
premium: 1.63,
InsuranceNumber: 1454,
dataPremium: 350.84,
standardPremium: 2119
},
{
name: '国富人寿八桂无忧重大疾病保险B款',
Advance: 7,
premium: 1.63,
InsuranceNumber: 1454,
dataPremium: 350.84,
standardPremium: 2119
},
{
name: '国富人寿八桂无忧重大疾病保险B款',
Advance: 7,
premium: 1.63,
InsuranceNumber: 1454,
dataPremium: 350.84,
standardPremium: 2119
},
{
name: '国富人寿八桂无忧重大疾病保险B款',
Advance: 7,
premium: 1.63,
InsuranceNumber: 1454,
dataPremium: 350.84,
standardPremium: 2119
}
]
}
},
mounted() {},
filters: {}
}
</script>
<style lang="scss" scoped>
// .thead,
// .tbody {
// display: flex;
// display: -webkit-box;
// li {
// width: 250px;
// text-align: center;
// display: flex;
// align-items: center;
// justify-content: center;
// }
// }
// .thead {
// li {
// height: 80px;
// }
// }
// .tbody {
// li {
// height: 60px;
// }
// }
.all {
overflow-x: scroll;
}
.report-list-container {
position: relative;
}
.all .move-table,
.fixed-l{
background-color: #F0F8FA;
width:100px;
}
.fixed-l th:nth-child(1),
.all .move-table th:nth-child(1),
.fixed-l td:nth-child(1),
.all .move-table td:nth-child(1){
width: 180px;
text-align: center;
border: 1px solid #D8E0E2;
min-width: 180px;
max-width: 180px;
}
.fixed-l th,
.all .move-table th,
.fixed-l td,
.all .move-table td {
width: 200px;
text-align: center;
border: 1px solid #D8E0E2;
min-width: 200px;
max-width: 200px;
}
.all .move-table th,.fixed-l th{
height: 80px;
}
.all .move-table td,.fixed-l td{
height: 60px;
}
.l {
position: absolute;
z-index: 5;
top: 0;
left: 0;
}
.r {
position: absolute;
z-index: 5;
top: 0;
right: 0;
}
</style>

View File

@@ -0,0 +1,173 @@
<template>
<div class="report-list-container">
<van-sticky>
<van-tabs :line-width="45" v-model="active" @change="tabChange" sticky :swipe-threshold="5">
<van-tab name="personalInsurance" title="个险"></van-tab>
<van-tab name="intermediary" title="中介"></van-tab>
<van-tab name="healthInsurance" title="健康险"></van-tab>
<van-tab name="networkSale" title="网销"></van-tab>
<van-tab name="bancassurance" title="银保"></van-tab>
</van-tabs>
</van-sticky>
<van-row v-if="isSuccess" class="list">
<van-row class="flex justify-content-s mh-auto mt20">
<van-col class="fwb fs15 ml10">当日预收件数</van-col>
<van-col class="text-center mr10">1000</van-col>
</van-row>
<van-row class="flex justify-content-s mh-auto">
<van-col class="fwb fs15 ml10">当日承保件数</van-col>
<van-col class="text-center mr10">1000</van-col>
</van-row>
<van-row class="flex justify-content-s mh-auto">
<van-col class="fwb fs15 ml10">当日预收规模保费万元</van-col>
<van-col class="text-center mr10">1000</van-col>
</van-row>
<van-row class="flex justify-content-s mh-auto">
<van-col class="fwb fs15 ml10">当日承保规模保费万元</van-col>
<van-col class="text-center mr10">1000</van-col>
</van-row>
<van-row class="flex justify-content-s mh-auto">
<van-col class="fwb fs15 ml10">当日承保标准保费万元</van-col>
<van-col class="text-center mr10">1000</van-col>
</van-row>
</van-row>
<van-button type="danger" class="bottom-btn" @click="goDetail" v-no-more-click="1000">查看明细</van-button>
</div>
</template>
<script>
import { List, Tab, Tabs, Tag, Row, Col, Dialog, Sticky } from 'vant'
// import { progress } from '@/api/ebiz/claims/claims'
export default {
name: 'reportList',
components: {
[List.name]: List,
[Tab.name]: Tab,
[Tabs.name]: Tabs,
[Tag.name]: Tag,
[Row.name]: Row,
[Col.name]: Col,
[Sticky.name]: Sticky
},
data() {
return {
active: 'personalInsurance', //intermediary 中介 healthInsurance 健康险 networkSale 网销 bancassurance 银保
reportList: [], //接口数据
actives: [], //查进度状态
isSuccess: true //有无数据显示
}
},
mounted() {
this.getReportList()
//从成功页点击返回时候需要添加拦截
EWebBridge.webCallAppInJs('webview_left_button', {
intercept: '1' //是否拦截原生返回事件 1是 其他否
})
window.appCallBack = this.appCallBack
// document.body.style.backgroundColor = '#fff'
},
// beforeRouteLeave(to, from, next) {
// document.body.style.backgroundColor = ''
// next()
// },
methods: {
appCallBack(data) {
if (data.trigger == 'left_button_click') {
this.$jump({
flag: 'service'
})
}
},
//初始化列表
getReportList() {
// let data = {
// // userModel: {
// // id: '123456',
// // name: '王某',
// // mobile: '13592585978'
// // },
// progressStatus: this.active,
// caseStatus: this.caseStatus
// }
// this.$toast.loading({
// duration: 0, // 持续展示 toast
// forbidClick: true, // 禁用背景点击
// loadingType: 'spinner',
// message: '加载中……'
// })
// progress(data).then(res => {
// this.$toast.clear()
// if (res.result == '0') {
// console.log(res)
// // this.isSuccess = true
// // if (res.content) {
// // this.claimsList = res.content.claimProgressInfos
// // this.claimsList.reverse()
// // }
// // if (this.claimsList.length == 0) {
// // this.isSuccess = false
// // }
// } else {
// // this.finished = true
// // this.loading = false
// // this.finishedText = res.resultMessage
// this.$toast(res.resultMessage)
// }
// })
},
tabChange(name, title) {
this.active = name
this.claimsList = []
this.getReportList()
},
goDetail() {
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/report/reportDetail',
forbidSwipeBack: '1'
},
routerInfo: {
path: '/report/reportDetail'
}
})
}
},
filters: {}
}
</script>
<style lang="scss" scoped>
.list {
.van-row {
width: 85%;
height: 40px;
margin-bottom: 8px;
border-radius: 5px;
&::after {
display: none !important;
clear: none !important;
}
}
}
// .CollectNumber {
// background-color: #ffcc00;
// width: 80%;
// height: 80px;
// }
// .InsuranceNumber {
// background-color: #ff9900;
// }
// .AdvancePremiums {
// background-color: #33ccff;
// }
// .ContractPremiums {
// background-color: #3399ff;
// }
// .CurrentPremiums {
// background-color: #33ff00;
// }
</style>