瀏覽代碼

企业可视化

tanyanfei 5 年之前
父節點
當前提交
069886c116
共有 3 個文件被更改,包括 564 次插入10 次删除
  1. 17 4
      src/router.js
  2. 9 6
      src/views/Index.vue
  3. 538 0
      src/views/Index1.vue

+ 17 - 4
src/router.js

@@ -11,16 +11,29 @@ export default new Router({
       show: 0
     },
     {
-      path: '/',
-      name: '概览',
+      path: '/govermentData',
+      name: '政府概览',
       icon: 'el-icon-s-data',
       component: () => import('./views/Home.vue'),
       show: 1,
       isLeaf: 1,
       children: [{
-        path: '/',
+        path: '/govermentData',
         component: () => import('./views/Index.vue'),
-        name: '系统首页'
+        name: '政府概览'
+      }, ]
+    },
+    {
+      path: '/companyData',
+      name: '企业概览',
+      icon: 'el-icon-s-data',
+      component: () => import('./views/Home.vue'),
+      show: 1,
+      isLeaf: 1,
+      children: [{
+        path: '/companyData',
+        component: () => import('./views/Index1.vue'),
+        name: '企业概览'
       }, ]
     },
     {

+ 9 - 6
src/views/Index.vue

@@ -115,12 +115,14 @@
             }
             .span2{
               background: url(../images/qy.png);
+              margin-right: 0;
             }
             .span3{
               background: url(../images/fxd.png);
             }
             .span4{
               background: url(../images/gkrw.png);
+              margin-right: 0;
             }
           }
           table{
@@ -200,8 +202,8 @@
                 <tr><td><img src="../images/1.png" alt=""></td><td>巴中达芙妮</td><td style="text-align:center;">20</td></tr>
                 <tr><td><img src="../images/2.png" alt=""></td><td>巴中达芙妮</td><td style="text-align:center;">20</td></tr>
                 <tr><td><img src="../images/3.png" alt=""></td><td>巴中达芙妮</td><td style="text-align:center;">20</td></tr>
-                <tr><td>4</td><td>巴中达芙妮</td><td style="text-align:center;">20</td></tr>
-                <tr><td>5</td><td>巴中达芙妮</td><td style="text-align:center;">20</td></tr>
+                <tr><td>&nbsp;4</td><td>巴中达芙妮</td><td style="text-align:center;">20</td></tr>
+                <tr><td>&nbsp;5</td><td>巴中达芙妮</td><td style="text-align:center;">20</td></tr>
               </table>
               <img class="bottom" src="../images/bk.png" alt="">
             </div>
@@ -247,10 +249,11 @@ export default {
       this.myChart5=myChart5;
       this.myChart6=myChart6;
       this.myChart7=myChart7;
-		  // 指定图表的配置项和数据
+      // 指定图表的配置项和数据
+      let color=['#dc402c','#ee5930','#fcd865','#3074b5']
 		  var option1 = {
         backgroundColor:'rgba(0,0,0,0)',
-        color:['#EF3030','#FF7729','#FFCC2C','#3FEDFF'],
+        color:color,
 			  tooltip: {formatter: '{b}: {c} ({d}%)'},
 			  legend: {
           y:'bottom',
@@ -323,7 +326,7 @@ export default {
 			  title: {
 				  text: ''
         },
-        color:['#EF3030','#3FEDFF'],
+        color:['#dc402c','#fcd865'],
 			  tooltip: {formatter: '{b}: {c} ({d}%)'},
 			  legend: {
           y:'bottom',
@@ -360,7 +363,7 @@ export default {
           },
 				  data:['重大风险', '较大风险','一般风险','低风险']
 			  },
-        color:['#EF3030','#FF7729','#FFCC2C','#3FEDFF'],
+        color:color,
         tooltip: {formatter: '{b}: {c}'},
         grid: {
             left: '1%',

+ 538 - 0
src/views/Index1.vue

@@ -0,0 +1,538 @@
+<style lang="scss">
+  .index{
+      .content{
+        background: #151932;
+        color:#fff;
+        padding:0 20px;
+        position:  relative;
+        .max,.min{
+          position: absolute;
+          top: 40px;
+          right: 20px;
+          cursor: pointer;
+        }
+        .min{
+          display: none;
+        }
+      }
+      #fixed{
+        position: fixed;
+        width: 100%;
+        height: 100vh;
+        left: 0;
+        top: 0;
+        z-index: 99999;
+        overflow: auto;
+        .all{
+          top: 80px!important;
+        }
+        .max{
+          display: none;
+        }
+        .min{
+          display: inline-block;
+        }
+      }
+      .title{
+        text-align: center;
+        margin-bottom: 30px;
+      }
+      .datas{
+        // margin-bottom: 60px;
+        display: flex;     
+        li{
+          list-style: none;
+          padding-right: 20px;
+          vertical-align: top;
+          .li{
+            background: rgba(39, 51, 76, 0.64);
+            margin-bottom: 30px;
+            padding: 20px;
+            position: relative;
+            &::before{
+              content: url(../images/bk.png);
+              position: absolute;
+              right:0;
+              top:-5px;
+              transform: rotate(90deg);
+            }
+            &::after{
+              content: url(../images/bk.png);
+              position: absolute;
+              right:0;
+              bottom:-5px;
+              transform: rotate(180deg);
+            }
+            .top{
+              position: absolute;
+              left:0;
+              top:0;
+            }
+            .bottom{
+              position: absolute;
+              left:0;
+              bottom:0;
+              transform: rotate(-90deg);
+            }
+            .all{
+              font-size: 48px;
+              color: #fff;
+              position: absolute;
+              left: 0;
+              right: 0;
+              top: 75px;
+              margin: auto;
+              width: 100px;
+              text-align: center;
+              z-index: 999;
+              span{
+                color: #D2D9E3;
+                font-size: 12px;
+                display: block;
+              }
+            }
+          }
+          h4{
+            margin-bottom: 20px;
+            color:#fff;
+          }
+          .count{
+            margin-bottom: 40px;
+            margin-top: 27px;
+            span{
+              padding: 0 10px;
+              display: inline-block;
+              width: 160px;
+              height: 28px;
+              font-size: 14px;
+              line-height: 28px;
+              padding-left: 40px;
+              margin-bottom: 20px;
+              margin-right: 60px;
+            }
+            .span1{
+              background: url(../images/hy.png);
+            }
+            .span2{
+              background: url(../images/qy.png);
+            }
+            .span3{
+              background: url(../images/fxd.png);
+            }
+            .span4{
+              background: url(../images/gkrw.png);
+              margin-right: 0;
+            }
+          }
+          table{
+            width: 100%;
+            thead td{
+              font-size: 16px;
+            }
+            td{
+              font-size: 14px;
+              padding: 5px;
+              color:#D2D9E3;
+              line-height: 25px;
+            }
+          }
+        }
+      }
+  }
+</style>
+<template>
+  <section class="index">
+    <div class="content" :id="fullscreen">
+        <img @click="max" class="max" src="../images/max.png" alt="">
+        <img @click="min" class="min" src="../images/min.png" alt="">
+        <h1 class="title">
+          <img src="../images/bt1.png" alt="">
+        </h1>
+        <ul class="datas">
+          <li style="width:30%;">
+              <div class="li">
+                <img class="top" src="../images/bk.png" alt="">
+                <h4>安全风险实时统计</h4>
+                <div style="position:relative;">
+                  <p class="all">
+                    32   <span>总风险(起)</span>
+                  </p>
+                  <div id="chart1" style="width: 100%;height:230px;"></div>
+                </div>
+                <div id="chart2" style="width: 100%;height:250px;"></div>
+                <img class="bottom" src="../images/bk.png" alt="">
+              </div>
+              <div class="li">
+                <img class="top" src="../images/bk.png" alt="">
+                <h4>安全隐患实时统计</h4>
+                <div style="position:relative;">
+                  <p class="all" style="top:75px;">
+                    24   <span>总隐患数(起)</span>
+                  </p>
+                  <div id="chart3" style="width: 100%;height:250px;"></div>
+                </div>
+                <img class="bottom" src="../images/bk.png" alt="">
+              </div>
+          </li>
+          <li  style="width:40%">
+            <div class="li">
+                <img class="top" src="../images/bk.png" alt="">
+                <h4>系统实时监测</h4>
+                <p class="count">
+                  <span class="span3">风险点5个</span>
+                  <span class="span4">管控任务5个</span>
+                </p>
+                <h4>风险点任务</h4>
+                <div id="chart4" style="width: 100%;height:310px;"></div>
+                <br><br>
+                <h4>风险点任务</h4>
+                <div id="chart5" style="width: 100%;height:310px;"></div>
+                <img class="bottom" src="../images/bk.png" alt="">
+            </div>
+          </li>
+          <li style="width:30%;padding:0;">
+            <div class="li">
+              <img class="top" src="../images/bk.png" alt="">
+              <h4>最新告警</h4>
+              <table cellpadding='0' cellspacing='0'>
+                <!-- <thead><td>序号</td><td>企业名称</td><td>告警次数</td></thead> -->
+                <tr><td>加油区</td><td>加油机损坏</td><td>2020-07-08 12:11:20</td></tr>
+                <tr><td>加油区</td><td>加油机损坏</td><td>2020-07-08 12:11:20</td></tr>
+                <tr><td>加油区</td><td>加油机损坏</td><td>2020-07-08 12:11:20</td></tr>
+                <tr><td>加油区</td><td>加油机损坏</td><td>2020-07-08 12:11:20</td></tr>
+                <tr><td>加油区</td><td>加油机损坏</td><td>2020-07-08 12:11:20</td></tr>
+                <tr><td>加油区</td><td>加油机损坏</td><td>2020-07-08 12:11:20</td></tr>
+                <tr><td>加油区</td><td>加油机损坏</td><td>2020-07-08 12:11:20</td></tr>
+                <tr><td>加油区</td><td>加油机损坏</td><td>2020-07-08 12:11:20</td></tr>
+                <tr><td>加油区</td><td>加油机损坏</td><td>2020-07-08 12:11:20</td></tr>
+                <tr><td>加油区</td><td>加油机损坏</td><td>2020-07-08 12:11:20</td></tr>
+              </table>
+              <img class="bottom" src="../images/bk.png" alt="">
+            </div>
+            <div class="li">
+              <img class="top" src="../images/bk.png" alt="">
+              <h4>风险点告警TOP5</h4>
+              <div id="chart6" style="width: 100%;height:378px;"></div>
+              <img class="bottom" src="../images/bk.png" alt="">
+            </div>
+          </li>
+        </ul>
+    </div>
+  </section>
+</template>
+<script>
+import echarts from 'echarts';
+export default {
+  data(){
+    return{
+      fullscreen:''
+    }
+  },
+  methods:{
+    getData(){   
+      // 基于准备好的dom,初始化echarts实例
+      var myChart1 = this.$echarts.init(document.getElementById('chart1'),'dark');
+      var myChart2 = this.$echarts.init(document.getElementById('chart2'),'dark');
+      var myChart3 = this.$echarts.init(document.getElementById('chart3'),'dark');
+      var myChart4 = this.$echarts.init(document.getElementById('chart4'),'dark');
+      var myChart5 = this.$echarts.init(document.getElementById('chart5'),'dark');
+      var myChart6 = this.$echarts.init(document.getElementById('chart6'),'dark');
+      this.myChart1=myChart1;
+      this.myChart2=myChart2;
+      this.myChart3=myChart3;
+      this.myChart4=myChart4;
+      this.myChart5=myChart5;
+      this.myChart6=myChart6;
+      // 指定图表的配置项和数据
+        let color=['#dc402c','#ee5930','#fcd865','#3074b5']
+	    var option1 = {
+            backgroundColor:'rgba(0,0,0,0)',
+            color:color,
+                tooltip: {formatter: '{b}: {c} ({d}%)'},
+                legend: {
+            y:'bottom',
+            itemWidth:8,
+            itemHeight:8,
+            textStyle:{
+                color:'#8C8C8C',
+            },
+                    data:['重大风险', '较大风险','一般风险','低风险']
+                },
+                series: [{
+            type: 'pie',
+            radius: ['55%', '60%'],
+            label: {
+                normal: {
+                    show: false
+                },
+            },
+			data: [
+                            {value: 100,name:'重大风险'},
+                            {value: 200,name:'较大风险'},
+                            {value: 50,name:'一般风险'},
+                            {value: 200,name:'低风险'},
+                        ]
+			}]
+        };
+        var option2 = {
+            backgroundColor:'rgba(0,0,0,0)',
+            // color:['#3398dc'],
+            tooltip: {formatter: '{b}: {c}'},
+            grid: {
+                left: '1%',
+                right: '1%',
+                bottom: '20px',
+                // top:'50px',
+                containLabel: true
+            },
+            xAxis: {
+            data: ['重大风险', '较大风险','一般风险','低风险'],
+                },
+                yAxis: {
+            axisLine:{
+                show:false
+            },
+            splitLine:{
+                show:true,
+                lineStyle:{
+                    type:'solid',
+                    color:'#414B66'
+                }
+            },
+            },
+                series: [{
+            type: 'bar',
+            barWidth: 20,
+            data:  [5, 20, 36, 10],
+            itemStyle: {
+                    color: new echarts.graphic.LinearGradient(
+                        0, 0, 0, 1,
+                        [
+                            {offset: 0, color: '#7AF7FF'},
+                            {offset: 1, color: '#3687FF'}
+                        ]
+                    )
+            },
+            }]
+        };
+        var option3 = {
+            backgroundColor:'rgba(0,0,0,0)',
+                title: {
+                    text: ''
+            },
+            color:['#dc402c','#fcd865'],
+                tooltip: {formatter: '{b}: {c} ({d}%)'},
+                legend: {
+                y:'bottom',
+                itemWidth:8,
+                itemHeight:8,
+                    data:['重大风险','一般风险']
+                },
+                series: [{
+            type: 'pie',
+            radius: ['55%', '60%'],
+            label: {
+                normal: {
+                    show: false
+                },
+            },
+                    data: [
+                                {value: 3,name:'重大风险'},
+                                {value: 10,name:'一般风险'},
+                    ]
+                }]
+        };
+        var option4 = {
+            backgroundColor:'rgba(0,0,0,0)',
+            // color:['#3398dc'],
+            tooltip: {formatter: '{b}: {c}'},
+            grid: {
+                left: '1%',
+                right: '1%',
+                bottom: '20px',
+                top:'20px',
+                containLabel: true
+            },
+            xAxis: {
+            data: ['加油区', '加油区1','加油区2','加油区3','加油区4','加油区5'],
+                },
+                yAxis: {
+            axisLine:{
+                show:false
+            },
+            splitLine:{
+                show:true,
+                lineStyle:{
+                    type:'solid',
+                    color:'#414B66'
+                }
+            },
+            },
+            series: [{
+            type: 'bar',
+            barWidth: 20,
+            data:  [5, 20, 36, 10,70,100],
+            itemStyle: {
+                    color: new echarts.graphic.LinearGradient(
+                        0, 0, 0, 1,
+                        [
+                            {offset: 0, color: '#7AF7FF'},
+                            {offset: 1, color: '#3687FF'}
+                        ]
+                    )
+            },
+            }]
+        };
+        let day=[],data=[];
+        for(let i=1;i<25;i++){
+            day.push(i)
+            data.push(Math.ceil(Math.random()*50+20))
+        }
+        var option5 = {
+            backgroundColor:'rgba(0,0,0,0)',
+            // color:['#3398dc'],
+            tooltip: {formatter: '{b}: {c}'},
+            grid: {
+                left: '1%',
+                right: '1%',
+                bottom: '20px',
+                top:'20px',
+                containLabel: true
+            },
+            xAxis: {
+            data: day,
+                },
+                yAxis: {
+            axisLine:{
+                show:false
+            },
+            splitLine:{
+                show:true,
+                lineStyle:{
+                    type:'solid',
+                    color:'#414B66'
+                }
+            },
+            },
+            series: [{
+            type: 'line',
+            smooth: 0.6,
+            data:  data,
+            areaStyle: {},
+            itemStyle: {
+                    color: new echarts.graphic.LinearGradient(
+                        0, 0, 0, 1,
+                        [
+                            {offset: 0, color: '#7AF7FF'},
+                            {offset: 1, color: '#3687FF'}
+                        ]
+                    )
+            },
+            }]
+        };
+        var option6 = {
+            backgroundColor:'rgba(0,0,0,0)',
+            color:['#3398dc'],
+            tooltip: {formatter: '{b}: {c}'},
+            legend: {
+            y:'bottom',
+            x:'left',
+            itemWidth:8,
+            itemHeight:8,
+            textStyle:{
+                color:'#8C8C8C',
+            },
+                    data:['风险点', '管控任务']
+                },
+            grid: {
+                left: '1%',
+                right: '1%',
+                bottom: '10px',
+                top:'10px',
+                containLabel: true
+            },
+            yAxis: {
+            data: ['加油区1', '加油区2','加油区3','加油区4','加油区5'], 
+                },
+                xAxis: {
+            show:false
+            },
+                series: [
+            {
+                    name: '风险点',
+                    type: 'bar',
+                    barWidth:10,
+                    data: [320, 332, 301, 334,690],
+                    itemStyle: {
+                        color: new echarts.graphic.LinearGradient(
+                            0, 0, 0, 1,
+                            [
+                                {offset: 0, color: '#FFEE7F'},
+                                {offset: 1, color: '#E8B35F'}
+                            ]
+                        )
+                    },
+            },
+            {
+                    name: '管控任务',
+                    type: 'bar',
+                    barWidth:10,
+                    data: [30, 132, 201, 34,270],
+                    itemStyle: {
+                        color: new echarts.graphic.LinearGradient(
+                            0, 0, 0, 1,
+                            [
+                                {offset: 0, color: '#7AF7FF'},
+                                {offset: 1, color: '#3687FF'}
+                            ]
+                        )
+                    },
+            },
+            ]
+        };
+		  // 使用刚指定的配置项和数据显示图表。
+		myChart1.setOption(option1);
+        myChart2.setOption(option2);  
+        myChart3.setOption(option3);  
+        myChart4.setOption(option4);  
+        myChart5.setOption(option5);  
+        myChart6.setOption(option6);  
+        window.addEventListener("resize", () => {
+            myChart1.resize();
+            myChart2.resize();
+            myChart3.resize();
+            myChart4.resize();
+            myChart5.resize();
+            myChart6.resize();
+        })
+    },
+    reload(){
+        this.myChart1.resize();
+        this.myChart2.resize();
+        this.myChart3.resize();
+        this.myChart4.resize();
+        this.myChart5.resize();
+        this.myChart6.resize();
+    },
+    max(){
+     this.fullscreen='fixed';
+     let _this=this;
+     setTimeout(() => {
+        _this.reload()
+      }, 200)
+    },
+    min(){
+     this.fullscreen='';
+     let _this=this;
+     setTimeout(() => {
+        _this.reload()
+      }, 200)
+    }
+  },
+  mounted(){
+     this.getData()
+  },
+  created(){
+  }
+}
+</script>