<template>
|
<div class="page-header-index-wide">
|
<a-row :gutter="24">
|
<a-col
|
:sm="24"
|
:md="12"
|
:xl="6"
|
:style="{ marginBottom: '24px' }"
|
>
|
<chart-card
|
:loading="loading"
|
title="受理量"
|
:total="cardCount.sll | NumberFormat"
|
>
|
<a-tooltip
|
title="指标说明"
|
slot="action"
|
>
|
<a-icon type="info-circle-o" />
|
</a-tooltip>
|
<div>
|
<mini-area :data-source="chartData.sll" />
|
</div>
|
<template slot="footer">今日受理量:<span>{{ todaySll }}</span></template>
|
</chart-card>
|
</a-col>
|
<a-col
|
:sm="24"
|
:md="12"
|
:xl="6"
|
:style="{ marginBottom: '24px' }"
|
>
|
<chart-card
|
:loading="loading"
|
title="办结量"
|
:total="cardCount.bjl | NumberFormat"
|
>
|
<a-tooltip
|
title="指标说明"
|
slot="action"
|
>
|
<a-icon type="info-circle-o" />
|
</a-tooltip>
|
<div>
|
<mini-area :data-source="chartData.bjl" />
|
</div>
|
<template slot="footer">今日办结量:<span>{{ todayBjl }}</span></template>
|
</chart-card>
|
</a-col>
|
<a-col
|
:sm="24"
|
:md="12"
|
:xl="6"
|
:style="{ marginBottom: '24px' }"
|
>
|
<chart-card
|
:loading="loading"
|
title="用户受理量"
|
:total="cardCount.isll | NumberFormat"
|
>
|
<a-tooltip
|
title="指标说明"
|
slot="action"
|
>
|
<a-icon type="info-circle-o" />
|
</a-tooltip>
|
<div>
|
<mini-bar
|
:datasource="chartData.isll"
|
:height="50"
|
/>
|
</div>
|
<template slot="footer">用户今日受理量:<span>{{ todayISll }}</span></template>
|
</chart-card>
|
</a-col>
|
<a-col
|
:sm="24"
|
:md="12"
|
:xl="6"
|
:style="{ marginBottom: '24px' }"
|
>
|
<chart-card
|
:loading="loading"
|
title="用户办结量"
|
:total="cardCount.ibjl | NumberFormat"
|
>
|
<a-tooltip
|
title="指标说明"
|
slot="action"
|
>
|
<a-icon type="info-circle-o" />
|
</a-tooltip>
|
<div>
|
<mini-bar
|
:datasource="chartData.ibjl"
|
:height="50"
|
/>
|
</div>
|
<template slot="footer">用户今日办结量:<span>{{ todayIBjl }}</span></template>
|
</chart-card>
|
</a-col>
|
</a-row>
|
|
<a-card
|
:loading="loading"
|
:bordered="false"
|
:body-style="{padding: '0'}"
|
>
|
<div class="salesCard">
|
<a-tabs
|
default-active-key="1"
|
size="large"
|
:tab-bar-style="{marginBottom: '24px', paddingLeft: '16px'}"
|
>
|
<div
|
class="extra-wrapper"
|
slot="tabBarExtraContent"
|
>
|
<div class="extra-item">
|
<a>今日</a>
|
<a>本周</a>
|
<a>本月</a>
|
<a>本年</a>
|
</div>
|
<a-range-picker :style="{width: '256px'}" />
|
</div>
|
|
<a-tab-pane
|
loading="true"
|
tab="受理监管"
|
key="1"
|
>
|
<a-row>
|
<a-col
|
:xl="16"
|
:lg="12"
|
:md="12"
|
:sm="24"
|
:xs="24"
|
>
|
<index-bar title="受理量统计" />
|
</a-col>
|
<a-col
|
:xl="8"
|
:lg="12"
|
:md="12"
|
:sm="24"
|
:xs="24"
|
>
|
|
<a-card
|
title="快速开始 / 便捷导航"
|
style="margin-bottom: 24px"
|
:bordered="false"
|
:body-style="{padding: 0}"
|
>
|
<div class="item-group">
|
<a-row>
|
<a-col
|
:class="'more-btn'"
|
:span="12"
|
v-for="(item,index) in registerTypeList"
|
:key=" 'registerType'+index "
|
>
|
<a-button
|
@click="goPage(index)"
|
style="margin-bottom:10px"
|
size="small"
|
type="primary"
|
ghost
|
>{{ item.text }}</a-button>
|
</a-col>
|
</a-row>
|
</div>
|
</a-card>
|
|
</a-col>
|
</a-row>
|
</a-tab-pane>
|
|
<a-tab-pane
|
tab="交互监管"
|
key="2"
|
>
|
<a-row>
|
<a-col
|
:xl="16"
|
:lg="12"
|
:md="12"
|
:sm="24"
|
:xs="24"
|
>
|
<bar-multid
|
:sourceData="jhjgData"
|
:fields="jhjgFields"
|
title="平台与部门交互量统计"
|
></bar-multid>
|
</a-col>
|
<a-col
|
:xl="8"
|
:lg="12"
|
:md="12"
|
:sm="24"
|
:xs="24"
|
>
|
|
<a-card
|
title="快速开始 / 便捷导航"
|
style="margin-bottom: 24px"
|
:bordered="false"
|
:body-style="{padding: 0}"
|
>
|
<div class="item-group">
|
<a-row>
|
<a-col
|
:class="'more-btn'"
|
:span="12"
|
v-for="(item,index) in registerTypeList"
|
:key=" 'registerType'+index "
|
>
|
<a-button
|
@click="goPage(index)"
|
style="margin-bottom:10px"
|
size="small"
|
type="primary"
|
ghost
|
>{{ item.text }}</a-button>
|
</a-col>
|
</a-row>
|
</div>
|
</a-card>
|
|
</a-col>
|
</a-row>
|
</a-tab-pane>
|
|
<a-tab-pane
|
tab="存储监管"
|
key="4"
|
>
|
<a-row>
|
<a-col
|
:xl="16"
|
:lg="12"
|
:md="12"
|
:sm="24"
|
:xs="24"
|
>
|
<a-row>
|
<template v-if="diskInfo && diskInfo.length>0">
|
<a-col
|
:span="12"
|
v-for="(item,index) in diskInfo"
|
:key=" 'diskInfo'+index "
|
>
|
<dash-chart-demo
|
:title="item.name"
|
:datasource="item.restPPT"
|
></dash-chart-demo>
|
</a-col>
|
</template>
|
</a-row>
|
</a-col>
|
|
<a-col
|
:xl="8"
|
:lg="12"
|
:md="12"
|
:sm="24"
|
:xs="24"
|
>
|
|
<a-card
|
title="快速开始 / 便捷导航"
|
style="margin-bottom: 24px"
|
:bordered="false"
|
:body-style="{padding: 0}"
|
>
|
<div class="item-group">
|
<a-row>
|
<a-col
|
:class="'more-btn'"
|
:span="10"
|
v-for="(item,index) in registerTypeList"
|
:key=" 'registerType'+index "
|
>
|
<a-button
|
@click="goPage(index)"
|
style="margin-bottom:10px"
|
size="small"
|
type="primary"
|
ghost
|
>{{ item.text }}</a-button>
|
</a-col>
|
</a-row>
|
</div>
|
</a-card>
|
|
</a-col>
|
</a-row>
|
</a-tab-pane>
|
|
</a-tabs>
|
|
</div>
|
</a-card>
|
|
<a-row :gutter="12">
|
<a-card
|
:loading="loading"
|
:class="{ 'anty-list-cust':true }"
|
:bordered="false"
|
:style="{ marginTop: '24px' }"
|
>
|
|
<a-tabs
|
v-model="indexBottomTab"
|
size="large"
|
:tab-bar-style="{marginBottom: '24px', paddingLeft: '16px'}"
|
>
|
<div
|
class="extra-wrapper"
|
slot="tabBarExtraContent"
|
>
|
<a-radio-group
|
v-model="indexRegisterType"
|
@change="changeRegisterType"
|
>
|
<a-radio-button value="转移登记">转移登记</a-radio-button>
|
<a-radio-button value="抵押登记">抵押登记</a-radio-button>
|
<a-radio-button value="">所有</a-radio-button>
|
</a-radio-group>
|
</div>
|
|
<a-tab-pane
|
loading="true"
|
tab="业务流程限时监管"
|
key="1"
|
>
|
|
<a-table
|
:dataSource="dataSource1"
|
size="default"
|
rowKey="id"
|
:columns="columns"
|
:pagination="ipagination1"
|
@change="tableChange1"
|
>
|
<template
|
slot="flowRate"
|
slot-scope="text, record, index"
|
>
|
<a-progress
|
:strokeColor="getPercentColor(record.flowRate)"
|
:format="getPercentFormat"
|
:percent="getFlowRateNumber(record.flowRate)"
|
style="width:80px"
|
/>
|
</template>
|
</a-table>
|
</a-tab-pane>
|
|
<a-tab-pane
|
loading="true"
|
tab="业务节点限时监管"
|
key="2"
|
>
|
<a-table
|
:dataSource="dataSource2"
|
size="default"
|
rowKey="id"
|
:columns="columns2"
|
:pagination="ipagination2"
|
@change="tableChange2"
|
>
|
<template
|
slot="flowRate"
|
slot-scope="text, record, index"
|
>
|
<span style="color: red;">{{ record.flowRate }}小时</span>
|
</template>
|
</a-table>
|
</a-tab-pane>
|
|
</a-tabs>
|
|
</a-card>
|
</a-row>
|
|
</div>
|
</template>
|
|
<script>
|
|
import ACol from "ant-design-vue/es/grid/Col"
|
import ATooltip from "ant-design-vue/es/tooltip/Tooltip"
|
import ChartCard from '@/components/ChartCard'
|
import MiniBar from '@/components/chart/MiniBar'
|
import MiniArea from '@/components/chart/MiniArea'
|
import IndexBar from '@/components/chart/IndexBar'
|
import BarMultid from '@/components/chart/BarMultid'
|
import DashChartDemo from '@/components/chart/DashChartDemo'
|
|
const jhjgData = [
|
{ type: '房管', '1月': 900, '2月': 1120, '3月': 1380, '4月': 1480, '5月': 1450, '6月': 1100, '7月': 1300, '8月': 900, '9月': 1000, '10月': 1200, '11月': 600, '12月': 900 },
|
{ type: '税务', '1月': 1200, '2月': 1500, '3月': 1980, '4月': 2000, '5月': 1000, '6月': 600, '7月': 900, '8月': 1100, '9月': 1300, '10月': 2000, '11月': 900, '12月': 1100 },
|
{ type: '不动产', '1月': 2000, '2月': 1430, '3月': 1300, '4月': 1400, '5月': 900, '6月': 500, '7月': 600, '8月': 1000, '9月': 600, '10月': 1000, '11月': 1500, '12月': 1200 }
|
]
|
|
const jhjgFields = [
|
'1月', '2月', '3月', '4月', '5月', '6月',
|
'7月', '8月', '9月', '10月', '11月', '12月'
|
]
|
|
const xljgData = [
|
{ type: '一月', "房管": 1.12, "税务": 1.55, "不动产": 1.2 },
|
{ type: '二月', "房管": 1.65, "税务": 1.32, "不动产": 1.42 },
|
{ type: '三月', "房管": 1.85, "税务": 1.1, "不动产": 1.5 },
|
|
{ type: '四月', "房管": 1.33, "税务": 1.63, "不动产": 1.4 },
|
{ type: '五月', "房管": 1.63, "税务": 1.8, "不动产": 1.7 },
|
{ type: '六月', "房管": 1.85, "税务": 1.98, "不动产": 1.8 },
|
|
{ type: '七月', "房管": 1.98, "税务": 1.5, "不动产": 1.76 },
|
{ type: '八月', "房管": 1.48, "税务": 1.2, "不动产": 1.3 },
|
{ type: '九月', "房管": 1.41, "税务": 1.9, "不动产": 1.6 },
|
|
{ type: '十月', "房管": 1.1, "税务": 1.1, "不动产": 1.4 },
|
{ type: '十一月', "房管": 1.85, "税务": 1.6, "不动产": 1.5 },
|
{ type: '十二月', "房管": 1.5, "税务": 1.4, "不动产": 1.3 }
|
]
|
const xljgFields = ["房管", "税务", "不动产"]
|
|
const dataCol1 = [{
|
title: '业务号',
|
align: "center",
|
dataIndex: 'reBizCode'
|
}, {
|
title: '业务类型',
|
align: "center",
|
dataIndex: 'type'
|
}, {
|
title: '受理人',
|
align: "center",
|
dataIndex: 'acceptBy'
|
}, {
|
title: '受理时间',
|
align: "center",
|
dataIndex: 'acceptDate'
|
}, {
|
title: '当前节点',
|
align: "center",
|
dataIndex: 'curNode'
|
}, {
|
title: '办理时长',
|
align: "center",
|
dataIndex: 'flowRate',
|
scopedSlots: { customRender: 'flowRate' }
|
}];
|
const dataSource1 = [
|
{ reBizCode: "1", type: "转移登记", acceptBy: '张三', acceptDate: "2019-01-22", curNode: "任务分派", flowRate: 60 },
|
{ reBizCode: "2", type: "抵押登记", acceptBy: '李四', acceptDate: "2019-01-23", curNode: "领导审核", flowRate: 30 },
|
{ reBizCode: "3", type: "转移登记", acceptBy: '王武', acceptDate: "2019-01-25", curNode: "任务处理", flowRate: 20 },
|
{ reBizCode: "4", type: "转移登记", acceptBy: '赵楼', acceptDate: "2019-11-22", curNode: "部门审核", flowRate: 80 },
|
{ reBizCode: "5", type: "转移登记", acceptBy: '钱就', acceptDate: "2019-12-12", curNode: "任务分派", flowRate: 90 },
|
{ reBizCode: "6", type: "转移登记", acceptBy: '孙吧', acceptDate: "2019-03-06", curNode: "任务处理", flowRate: 10 },
|
{ reBizCode: "7", type: "抵押登记", acceptBy: '周大', acceptDate: "2019-04-13", curNode: "任务分派", flowRate: 100 },
|
{ reBizCode: "8", type: "抵押登记", acceptBy: '吴二', acceptDate: "2019-05-09", curNode: "任务上报", flowRate: 50 },
|
{ reBizCode: "9", type: "抵押登记", acceptBy: '郑爽', acceptDate: "2019-07-12", curNode: "任务处理", flowRate: 63 },
|
{ reBizCode: "20", type: "抵押登记", acceptBy: '林有', acceptDate: "2019-12-12", curNode: "任务打回", flowRate: 59 },
|
{ reBizCode: "11", type: "转移登记", acceptBy: '码云', acceptDate: "2019-09-10", curNode: "任务签收", flowRate: 87 },
|
]
|
|
const dataCol2 = [{
|
title: '业务号',
|
align: "center",
|
dataIndex: 'reBizCode'
|
}, {
|
title: '受理人',
|
align: "center",
|
dataIndex: 'acceptBy'
|
}, {
|
title: '发起时间',
|
align: "center",
|
dataIndex: 'acceptDate'
|
}, {
|
title: '当前节点',
|
align: "center",
|
dataIndex: 'curNode'
|
}, {
|
title: '超时时间',
|
align: "center",
|
dataIndex: 'flowRate',
|
scopedSlots: { customRender: 'flowRate' }
|
}];
|
const dataSource2 = [
|
{ reBizCode: "A001", type: "转移登记", acceptBy: '张四', acceptDate: "2019-01-22", curNode: "任务分派", flowRate: 12 },
|
{ reBizCode: "A002", type: "抵押登记", acceptBy: '李吧', acceptDate: "2019-01-23", curNode: "任务签收", flowRate: 3 },
|
{ reBizCode: "A003", type: "转移登记", acceptBy: '王三', acceptDate: "2019-01-25", curNode: "任务处理", flowRate: 24 },
|
{ reBizCode: "A004", type: "转移登记", acceptBy: '赵二', acceptDate: "2019-11-22", curNode: "部门审核", flowRate: 10 },
|
{ reBizCode: "A005", type: "转移登记", acceptBy: '钱大', acceptDate: "2019-12-12", curNode: "任务签收", flowRate: 8 },
|
{ reBizCode: "A006", type: "转移登记", acceptBy: '孙就', acceptDate: "2019-03-06", curNode: "任务处理", flowRate: 10 },
|
{ reBizCode: "A007", type: "抵押登记", acceptBy: '周晕', acceptDate: "2019-04-13", curNode: "部门审核", flowRate: 24 },
|
{ reBizCode: "A008", type: "抵押登记", acceptBy: '吴有', acceptDate: "2019-05-09", curNode: "部门审核", flowRate: 30 },
|
{ reBizCode: "A009", type: "抵押登记", acceptBy: '郑武', acceptDate: "2019-07-12", curNode: "任务分派", flowRate: 1 },
|
{ reBizCode: "A0010", type: "抵押登记", acceptBy: '林爽', acceptDate: "2019-12-12", curNode: "部门审核", flowRate: 16 },
|
{ reBizCode: "A0011", type: "转移登记", acceptBy: '码楼', acceptDate: "2019-09-10", curNode: "部门审核", flowRate: 7 },
|
]
|
|
export default {
|
name: "IndexBdc",
|
components: {
|
ATooltip,
|
ACol,
|
ChartCard,
|
MiniArea,
|
MiniBar,
|
DashChartDemo,
|
BarMultid,
|
IndexBar
|
},
|
data() {
|
return {
|
loading: true,
|
cardCount: {
|
sll: 100,
|
bjl: 87,
|
isll: 15,
|
ibjl: 9
|
},
|
|
todaySll: 60,
|
todayBjl: 54,
|
todayISll: 13,
|
todayIBjl: 7,
|
|
chartData: {
|
sll: [],
|
bjl: [],
|
isll: [],
|
ibjl: []
|
},
|
jhjgFields,
|
jhjgData,
|
|
xljgData,
|
xljgFields,
|
|
diskInfo: [
|
{ name: "C盘", restPPT: 7 },
|
{ name: "D盘", restPPT: 5 }
|
],
|
|
registerTypeList: [{
|
text: "业务受理"
|
}, {
|
text: "业务管理"
|
}, {
|
text: "文件管理"
|
}, {
|
text: "信息查询"
|
}],
|
|
dataSource1: [],
|
dataSource2: [],
|
columns: dataCol1,
|
columns2: dataCol2,
|
ipagination1: {
|
current: 1,
|
pageSize: 5,
|
pageSizeOptions: ['10', '20', '30'],
|
showTotal: (total, range) => {
|
return range[0] + "-" + range[1] + " 共" + total + "条"
|
},
|
showQuickJumper: true,
|
showSizeChanger: true,
|
total: 0,
|
|
},
|
ipagination2: {
|
current: 1,
|
pageSize: 5,
|
pageSizeOptions: ['10', '20', '30'],
|
showTotal: (total, range) => {
|
return range[0] + "-" + range[1] + " 共" + total + "条"
|
},
|
showQuickJumper: true,
|
showSizeChanger: true,
|
total: 0,
|
},
|
indexRegisterType: "转移登记",
|
indexBottomTab: "1"
|
|
}
|
},
|
methods: {
|
goPage() {
|
this.$message.success("根据业务自行处理跳转页面!")
|
},
|
changeRegisterType(e) {
|
this.indexRegisterType = e.target.value
|
if (this.indexBottomTab == "1") {
|
this.loadDataSource1()
|
} else {
|
this.loadDataSource2()
|
}
|
},
|
tableChange1(pagination) {
|
this.ipagination1.current = pagination.current
|
this.ipagination1.pageSize = pagination.pageSize
|
this.queryTimeoutInfo()
|
},
|
tableChange2(pagination) {
|
this.ipagination2.current = pagination.current
|
this.ipagination2.pageSize = pagination.pageSize
|
this.queryNodeTimeoutInfo()
|
},
|
getFlowRateNumber(value) {
|
return Number(value)
|
},
|
getPercentFormat(value) {
|
if (value == 100) {
|
return "超时"
|
} else {
|
return value + "%"
|
}
|
},
|
getPercentColor(value) {
|
let p = Number(value)
|
if (p >= 90 && p < 100) {
|
return 'rgb(244, 240, 89)'
|
} else if (p >= 100) {
|
return 'red'
|
} else {
|
return 'rgb(16, 142, 233)'
|
}
|
},
|
|
loadDataSource1() {
|
this.dataSource1 = dataSource1.filter(item => {
|
if (!this.indexRegisterType) {
|
return true
|
}
|
return item.type == this.indexRegisterType
|
})
|
},
|
loadDataSource2() {
|
this.dataSource2 = dataSource2.filter(item => {
|
if (!this.indexRegisterType) {
|
return true
|
}
|
return item.type == this.indexRegisterType
|
})
|
}
|
},
|
created() {
|
this.loadDataSource1()
|
this.loadDataSource2()
|
setTimeout(() => {
|
this.loading = !this.loading
|
}, 1000)
|
}
|
}
|
</script>
|
|
<style lang="less" scoped>
|
.extra-wrapper {
|
line-height: 55px;
|
padding-right: 24px;
|
|
.extra-item {
|
display: inline-block;
|
margin-right: 24px;
|
|
a {
|
margin-left: 24px;
|
}
|
}
|
}
|
|
.item-group {
|
padding: 20px 0 8px 24px;
|
font-size: 0;
|
a {
|
color: rgba(0, 0, 0, 0.65);
|
display: inline-block;
|
font-size: 14px;
|
margin-bottom: 13px;
|
width: 25%;
|
}
|
}
|
|
.item-group {
|
.more-btn {
|
margin-bottom: 13px;
|
text-align: center;
|
}
|
}
|
|
.list-content-item {
|
color: rgba(0, 0, 0, 0.45);
|
display: inline-block;
|
vertical-align: middle;
|
font-size: 14px;
|
margin-left: 40px;
|
}
|
|
@media only screen and (min-width: 1600px) {
|
.list-content-item {
|
margin-left: 60px;
|
}
|
}
|
|
@media only screen and (max-width: 1300px) {
|
.list-content-item {
|
margin-left: 20px;
|
}
|
.width-hidden4 {
|
display: none;
|
}
|
}
|
.list-content-item {
|
span {
|
line-height: 20px;
|
}
|
}
|
.list-content-item {
|
p {
|
margin-top: 4px;
|
margin-bottom: 0;
|
line-height: 22px;
|
}
|
}
|
.anty-list-cust {
|
.ant-list-item-meta {
|
flex: 0.3 !important;
|
}
|
}
|
.anty-list-cust {
|
.ant-list-item-content {
|
flex: 1 !important;
|
justify-content: flex-start !important;
|
margin-left: 20px;
|
}
|
}
|
</style>
|