<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, .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>