基于echart大数据统计汇总看板数据可视化

代码语言:html

所属分类:布局界面

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>大数据可视化</title>
    <style type="text/css" media="all">
        body {
            line-height: 1.15;
            font-size: .5rem;
            margin: 0;
            padding: 0;
            background-repeat: no-repeat;
            background-position: 0 0/cover;
            background-color: #101129
        }

        * {
            margin: 0;
            padding: 0;
            font-weight: 400
        }

        ul {
            list-style: none
        }

        a {
            text-decoration: none
        }

        .viewport {
            min-width: 1024px;
            max-width: 1920px;
            min-height: 780px;
            margin: 0 auto;
            background: url(http://repo.bfw.wiki/bfwrepo/image/5e1e804662972.png) no-repeat 0 0/contain;
            display: flex;
            padding: 3.667rem .833rem 0
        }

        .column {
            flex: 3;
            position: relative
        }

        .column:nth-child(2) {
            flex: 4;
            margin: 1.333rem .833rem 0
        }

        .panel {
            box-sizing: border-box;
            border: 2px solid red;
            border-image: url(http://repo.bfw.wiki/bfwrepo/image/5e1e7f943283f.png) 51 38 21 132;
            border-width: 2.125rem 1.583rem .875rem 5.5rem;
            position: relative;
            margin-bottom: .833rem
        }

        .panel .inner {
            position: absolute;
            top: -2.125rem;
            right: -1.583rem;
            bottom: -.875rem;
            left: -5.5rem;
            padding: 1rem 1.5rem
        }

        .panel h3 {
            font-size: .833rem;
            color: #fff
        }

        .overview {
            height: 4.583rem
        }

        .overview .inner {
            display: flex;
            justify-content: space-between
        }

        .overview h4 {
            font-size: 1.167rem;
            padding-left: .2rem;
            color: #fff;
            margin-bottom: .333rem
        }

        .overview span {
            font-size: .667rem;
            color: #4c9bfd
        }

        .monitor {
            height: 20rem
        }

        .monitor .inner {
            padding: 1rem 0;
            display: flex;
            flex-direction: column
        }

        .monitor .tabs {
            padding: 0 1.5rem;
            margin-bottom: .75rem
        }

        .monitor .tabs a {
            color: #1950c4;
            font-size: .75rem;
            padding: 0 1.125rem
        }

        .monitor .tabs a:first-child {
            border-right: .083rem solid #00f2f1;
            padding-left: 0
        }

        .monitor .tabs a.active {
            color: #fff
        }

        .monitor .content {
            flex: 1;
            display: none;
            position: relative
        }

        .monitor .head {
            background: rgba(255,255,255,.1);
            font-size: .583rem;
            padding: .5rem 1.5rem;
            color: #68d8fe;
            display: flex;
            justify-content: space-between;
            line-height: 1.05
        }

        .monitor .col:nth-child(1) {
            width: 3.2rem
        }

        .monitor .col:nth-child(2) {
            width: 8.4rem;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis
        }

        .monitor .col:nth-child(3) {
            width: 3.2rem
        }

        .monitor .marquee-view {
            position: absolute;
            top: 1.6rem;
            bottom: 0;
            width: 100%;
            overflow: hidden
        }

        .monitor .row {
            line-height: 1.05;
            padding: .5rem 1.5rem;
            color: #61a8ff;
            font-size: .5rem;
            position: relative;
            display: flex;
            justify-content: space-between
        }

        .monitor .row:hover {
            color: #68d8ff;
            background: rgba(255,255,255,.1)
        }

        .monitor .row:hover .icon-dot {
            opacity: 1
        }

        .monitor .icon-dot {
            position: absolute;
            left: .64rem;
            opacity: 0
        }

        .monitor .marquee-view {
            position: absolute;
            top: 1.6rem;
            bottom: 0;
            width: 100%;
            overflow: hidden
        }

        .monitor .row {
            line-height: 1.05;
            padding: .5rem 1.5rem;
            color: #61a8ff;
            font-size: .5rem;
            position: relative;
            display: flex;
            justify-content: space-between
        }

        .monitor .row:hover {
            color: #68d8ff;
            background: rgba(255,255,255,.1)
        }

        .monitor .row:hover .icon-dot {
            opacity: 1
        }

        .monitor .icon-dot {
            position: absolute;
            left: .64rem;
            opacity: 0
        }

@keyframes row {
            0% {}100% {
                transform: translateY(-50%)
            }}

        .monitor .marquee {
            animation: row 10s linear infinite
        }

        .monitor .marquee:hover {
            animation-play-state: paused
        }

        .point {
            height: 14.167rem
        }

        .point .chart {
            display: flex;
            margin-top: 1rem;
            justify-content: space-between
        }

        .point .pie {
            width: 13rem;
            height: 10rem;
            margin-left: -.4rem
        }

        .point .data {
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            width: 7rem;
            padding: 1.5rem 1.25rem;
            box-sizing: border-box;
            background-image: url(http://repo.bfw.wiki/bfwrepo/image/5e1e7f7984519.png);
            background-size: cover
        }

        .point h4 {
            margin-bottom: .5rem;
            font-size: 1.167rem;
            color: #fff
        }

        .point span {
            display: block;
            color: #4c9bfd;
            font-size: .667rem
        }

        .map {
            height: 24.1rem;
            margin-bottom: .833rem;
            display: flex;
            flex-direction: column
        }

        .map h3 {
            line-height: 1;
            padding: .667rem 0;
            margin: 0;
            font-size: .833rem;
            color: #fff
        }

        .map .icon-cube {
            color: #68d8fe
        }

        .map .chart {
            flex: 1;
            background-color: rgba(255,255,255,.05)
        }

        .map .geo {
            width: 100%;
            height: 100%
        }

        .users {
            height: 14.167rem;
            display: flex
        }

        .users .chart {
            display: flex;
            margin-top: 1rem
        }

        .users .bar {
            width: 24.5rem;
            height: 10rem
        }

        .users .data {
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            width: 7rem;
            padding: 1.5rem 1.25rem;
            box-sizing: border-box;
            background-image: url(http://repo.bfw.wiki/bfwrepo/image/5e1e7f7984519.png);
            background-size: cover
        }

        .users h4 {
            margin-bottom: .5rem;
            font-size: 1.167rem;
            color: #fff
        }

        .users span {
            display: block;
            color: #4c9bfd;
            font-size: .667rem
        }

        .order {
            height: 6.167rem
        }

        .order .filter {
            display: flex
        }

        .order .filter a {
            display: block;
            height: .75rem;
            line-height: 1;
            padding: 0 .75rem;
            color: #1950c4;
            font-size: .75rem;
            border-right: .083rem solid #00f2f1
        }

        .order .filter a:first-child {
            padding-left: 0
        }

        .order .filter a:last-child {
            border-right: none
        }

        .order .filter a.active {
            color: #fff;
            font-size: .833rem
        }

        .order .data {
            display: flex;
            margin-top: .833rem
        }

        .order .item {
            width: 50%
        }

        .order h4 {
            font-size: 1.167rem;
            color: #fff;
            margin-bottom: .417rem
        }

        .order span {
            display: block;
            color: #4c9bfd;
            font-size: .667rem
        }

        .sales {
            height: 10.333rem
        }

        .sales .caption {
            display: flex;
            line-height: 1
        }

        .sales h3 {
            height: .75rem;
            padding-right: .75rem;
            border-right: .083rem solid #00f2f1
        }

        .sales a {
            padding: .167rem;
            font-size: .667rem;
            margin: -.125rem 0 0 .875rem;
            border-radius: .125rem;
            color: #0bace6
        }

        .sales a.active {
            background-color: #4c9bfd;
            color: #fff
        }

        .sales .inner {
            display: flex;
            flex-direction: column
        }

        .sales .chart {
            flex: 1;
            padding-top: .6rem;
            position: relative
        }

        .sales .label {
            position: absolute;
            left: 1.75rem;
            top: .75rem;
            color: #4996f5;
            font-size: .583rem
        }

        .sales .line {
            width: 100%;
            height: 100%
        }

        .wrap {
            display: flex
        }

        .channel,.quarter {
            flex: 1;
            height: 9.667rem
        }

        .channel {
            margin-right: .833rem
        }

        .channel .data {
            overflow: hidden
        }

        .channel .item {
            margin-top: .85rem
        }

        .channel .item:first-child {
            float: left
        }

        .channel .item:last-child {
            float: right
        }

        .channel h4 {
            color: #fff;
            font-size: 1.333rem;
            margin-bottom: .2rem
        }

        .channel small {
            font-size: 50%
        }

        .channel span {
            display: block;
            color: #4c9bfd;
            font-size: .583rem
        }

        .quarter .inner {
            display: flex;
            flex-direction: column;
            margin: 0 -.25rem
        }

        .quarter .chart {
            flex: 1;
            padding-top: .75rem
        }

        .quarter .box {
            position: relative
        }

        .quarter .label {
            transform: translate(-50%,-30%);
            color: #fff;
            font-size: 1.25rem;
            position: absolute;
            left: 50%;
            top: 50%
        }

        .quarter .label small {
            font-size: 50%
        }

        .quarter .gauge {
            height: 3.5rem
        }

        .quarter .data {
            display: flex;
            justify-content: space-between
        }

        .quarter .item {
            width: 50%
        }

        .quarter h4 {
            color: #fff;
            font-size: 1rem;
            margin-bottom: .4rem
        }

        .quarter span {
            display: block;
            width: 100%;
            white-space: nowrap;
            text-overflow: ellipsis;
            overflow: hidden;
            color: #4c9bfd;
            font-size: .583rem
        }

        .top {
            height: 11.8rem
        }

        .top .inner {
            display: flex
        }

        .top .all {
            display: flex;
            flex-direction: column;
            width: 7rem;
            color: #4c9bfd;
            font-size: .6rem;
            vertical-align: middle
        }

        .top .all ul {
            padding-left: .5rem;
            margin-top: .5rem;
            flex: 1;
            display: flex;
            flex-direction: column;
            justify-content: space-around
        }

        .top .all li {
            overflow: hidden
        }

        .top .all [class^=icon-] {
            font-size: 1.5rem;
            vertical-align: middle;
            margin-right: .5rem
        }

        .top .province {
            flex: 1;
            display: flex;
            flex-direction: column;
            color: #fff
        }

        .top .province i {
            padding: 0 .5rem;
            margin-top: .208rem;
            float: right;
            font-style: normal;
            font-size: .583rem;
            color: #0bace6
        }

        .top .province s {
            display: inline-block;
            transform: scale(.8);
            text-decoration: none
        }

        .top .province .icon-up {
            color: #dc3c33
        }

        .top .province .icon-down {
            color: #36be90
        }

        .top .province .data {
            flex: 1;
            display: flex;
            margin-top: .6rem
        }

        .top .province ul {
            flex: 1;
            line-height: 1;
            margin-bottom: .25rem
        }

        .top .province ul li {
            display: flex;
            justify-content: space-between
        }

        .top .province ul span {
            display: block;
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis
        }

        .top .province ul.sup {
            font-size: .583rem
        }

        .top .province ul.sup li {
            color: #4995f4;
            padding: .5rem
        }

        .top .province ul.sup li.active {
            color: #a3c6f2;
            background-color: rgba(10,67,188,.2)
        }

        .top .province ul.sub {
            display: flex;
            flex-direction: column;
            justify-content: space-around;
            font-size: .5rem;
            background-color: rgba(10,67,188,.2)
        }

        .top .province ul.sub li {
            color: #52ffff;
            padding: .417rem .6rem
        }

        .clock {
            position: absolute;
            top: -1.5rem;
            right: 1.667rem;
            font-size: .833rem;
            color: #0bace6
        }

        .clock i {
            margin-right: 5px;
            font-size: .833rem
        }

@media screen and (max-width:1600px) {
            .top span {
                transform: scale(.9)
            }

            .top .province ul.sup li {
                padding: .4rem .5rem
            }

            .top .province ul.sub li {
                padding: .23rem .5rem
            }

            .quarter span {
                transform: scale(.9)
            }}


    </style>

<link type="text/css" rel="stylesheet" href="http://repo.bfw.wiki/bfwrepo/css/font-awesome-4.7.0/css/font-awesome.min.css">
</head>
<body>
    <div class="viewport">
        <div class="column">

            <div class="overview panel">
                <div class="inner">
                    <div class="item">
                        <h4>2,190</h4>
                        <span>
                            <i class="icon-dot" style="color: #006cff"></i>
                            设备总数
                        </span>
                    </div>
                    <div class="item">
                        <h4>190</h4>
                        <span>
                            <i class="icon-dot" style="color: #6acca3"></i>
                            季度新增
                        </span>
                    </div>
                    <div class="item">
                        <h4>3,001</h4>
                        <span>
                            <i class="icon-dot" style="color: #6acca3"></i>
                            运营设备
                        </span>
                    </div>
                    <div class="item">
                        <h4>108</h4>
                        <span>
                            <i class="icon-dot" style="color: #ed3f35"></i>
                            异常设备
                        </span>
                    </div>
                </div>
            </div>

            <div class="monitor panel">
                <div class="inner">
                    <div class="tabs">
                        <a href="javascript:;" data-index="0" class="active">故障设备监控</a>
                        <a href="javascript:;" data-index="1">异常设备监控</a>
                    </div>
                    <div class="content" style="display: block;">
                        <div class="head">
                            <span class="col">故障时间</span>
                            <span class="col">设备地址</span>
                            <span class="col">异常代码</span>
                        </div>
                        <div class="marquee-view">
                            <div class="marquee">
                                <div class="row">
                                    <span class="col">20180701</span>
                                    <span class="col">11北京市昌平西路金燕龙写字楼</span>
                                    <span class="col">1000001</span>
                                    <span class="icon-dot"></span>
                                </div>
                                <div class="row">
                                    <span class="col">20190601</span>
                                    <span class="col">北京市昌平区城西路金燕龙写字楼</span>
                                    <span class="col">1000002</span>
                                    <span class="icon-dot"></span>
                                </div>
                                <div class="row">
                                    <span class="col">20190704</span>
                                    <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
                                    <span class="col">1000003</span>
                                    <span class="icon-dot"></span>
                                </div>
                                <div class="row">
                                    <span class="col">20180701</span>
                                    <span class="col">北京市昌平区建路金燕龙写字楼</span>
                                    <span class="col">1000004</span>
                                    <span class="icon-dot"></span>
                                </div>
                                <div class="row">
                                    <span class="col">20190701</span>
                                    <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
                                    <span class="col">1000005</span>
                                    <span class="icon-dot"></span>
                                </div>
                                <div class="row">
                                    <span class="col">20190701</span>
                                    <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
                                    <span class="col">1000006</span>
                                    <span class="icon-dot"></span>
                                </div>
                                <div class="row">
                                    <span class="col">20190701</span>
                                    <span class="col">北京市昌平区建西路金燕龙写字楼</span>
                                    <span class="col">1000007</span>
                                    <span class="icon-dot"></span>
                                </div>
                                <div class="row">
                                    <span class="col">20190701</span>
                                    <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
                                    <span class="col">1000008</span>
                                    <span class="icon-dot"></span>
                                </div>
                                <div class="row">
                                    <span class="col">20190701</span>
                                    <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
                                    <span class="col">1000009</span>
                                    <span class="icon-dot"></span>
                                </div>
                                <div class="row">
                                    <span class="col">20190710</span>
                                    <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
                                    <span class="col">1000010</span>
                                    <span class="icon-dot"></span>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="content">
                        <div class="head">
                            <span class="col">异常时间</span>
                            <span class="col">设备地址</span>
                            <span class="col">异常代码</span>
                        </div>
                        <div class="marquee-view">
                            <div class="marquee">
                                <div class="row">
                                    <span class="col">20190701</span>
                                    <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
                                    <span class="col">1000001</span>
                                    <span class="icon-dot"></span>
                                </div>
                                <div class="row">
                                    <span class="col">20190701</span>
                                    <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
                                    <span class="col">1000002</span>
                                    <span class="icon-dot"></span>
                                </div>
                                <div class="row">
                                    <span class="col">20190703</span>
                                    <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
                                    <span class="col">1000002</span>
                                    <span class="icon-dot"></span>
                                </div>
                                <div class="row">
                                    <span class="col">20190704</span>
                                    <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
                                    <span class="col">1000002</span>
                                    <span class="icon-dot"></span>
                                </div>
                                <div class="row">
                                    <span class="col">20190705</span>
                                    <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
                                    <span class="col">1000002</span>
                                    <span class="icon-dot"></span>
                                </div>
                                <div class="row">
                                    <span class="col">20190706</span>
                                    <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
                                    <span class="col">1000002</span>
                                    <span class="icon-dot"></span>
                                </div>
                                <div class="row">
                                    <span class="col">20190707</span>
                                    <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
                                    <span class="col">1000002</span>
                                    <span class="icon-dot"></span>
                                </div>
                                <div class="row">
                                    <span class="col">20190708</span>
                                    <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
                                    <span class="col">1000002</span>
                                    <span class="icon-dot"></span>
                                </div>
                                <div class="row">
                                    <span class="col">20190709</span>
                                    <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
                                    <span class="col">1000002</span>
                                    <span class="icon-dot"></span>
                                </div>
                                <div class="row">
                                    <span class="col">20190710</span>
                                    <span class="col">北京市昌平区建材城西路金燕龙写字楼</span>
                                    <span class="col">1000002</span>
                                    <span class="icon-dot"></span>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="point panel">
                <div class="inner">
                    <h3>点位分布统计</h3>
                    <div class="chart">
                        <div class="pie"></div>
                        <div class="data">
                            <div class="item">
                                <h4>320,11</h4>
                                <span>
                                    <i class="icon-dot" style="color: #ed3f35"></i>
                                    点位总数
                                </span>
                            </div>
                            <div class="item">
                                <h4>418</h4>
                                <span>
                                    <i class="icon-dot" style="color: #eacf19"></i>
                                    本月新增
                                </span>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div class="column">

            <div class="map">
                <h3>
                    <span class="icon-cube"></span>
                    设备数据统计
                </h3>
                <div class="chart">
                    <div class="geo"></div>
                </div>
            </div>

            <div class="users panel">
                <div class="inner">
                    <h3>全国用户总量统计</h3>
                    <div class="chart">
                        <div class="bar"></div>
                        <div class="data">
                            <div class="item">
                                <h4>120,899</h4>
                                <span>
                                    <i class="icon-dot" style="color: #ed3f35"></i>
                                    用户总量
                                </span>
                            </div>
                            <div class="item">
                                <h4>248</h4>
                                <span>
                                    <i class="icon-dot" style="color: #eacf19"></i>
                                    本月新增
                                </span>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div class="column">

            <div class="order panel">
                <div class="inner">

                    <div class="filter">
                        <a href="javascript:;" data-key="day365" class="active">365天</a>
                        <a href="javascript:;" data-key="day90">90天</a>
                        <a href="javascript:;" data-key="day30">30天</a>
                        <a href="javascript:;" data-key="day1">24小时</a>
                    </div>

                    <div class="data">
                        <div class="item">
                            <h4>20,301,987</h4>
                            <span>
                                <i class="icon-dot" style="color: #ed3f35;"></i>
                                订单量
                            </span>
                        </div>
                        <div class="item">
         .........完整代码请登录后点击上方下载按钮下载查看

网友评论0