Authored by 王涛
Showing 86 changed files with 4235 additions and 127 deletions

Too many changes to show.

To preserve performance only 86 of 86+ files are displayed.

@@ -671,7 +671,7 @@ layui.define(['xmSelect', 'md5'], function (exports) { @@ -671,7 +671,7 @@ layui.define(['xmSelect', 'md5'], function (exports) {
671 resType = 'X86SERVER_BMC'; 671 resType = 'X86SERVER_BMC';
672 } 672 }
673 //如果是HOST_X86SERVER服务器并且协议为snmp,或共享存储则根据厂商和型号判断类型 673 //如果是HOST_X86SERVER服务器并且协议为snmp,或共享存储则根据厂商和型号判断类型
674 - if (resType.indexOf("HOST_X86SERVER") !== -1 || resType.indexOf("STORAGE_SHARE") != -1) { 674 + if ((resType.indexOf("HOST_X86SERVER") !== -1 && protocol =='SNMP') || resType.indexOf("STORAGE_SHARE") != -1) {
675 resType = this.detailPathByProviderAndModel(resType,resId); 675 resType = this.detailPathByProviderAndModel(resType,resId);
676 } 676 }
677 //如果是虚拟化相关资源类型,则根据采集协议判断去那个页面 677 //如果是虚拟化相关资源类型,则根据采集协议判断去那个页面
@@ -2517,6 +2517,58 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin', @@ -2517,6 +2517,58 @@ layui.define(['soulTable', 'commonDetail', 'common', 'laytpl', 'view', 'admin',
2517 {field: 'lastColTime', title: '最近采集时间', minWidth: x_170, align: 'center', sort: true}, 2517 {field: 'lastColTime', title: '最近采集时间', minWidth: x_170, align: 'center', sort: true},
2518 {field: 'linkState', title: '连接状态', align: 'center', minWidth: x_120, templet: '#linkStateTpl', sort: true} 2518 {field: 'linkState', title: '连接状态', align: 'center', minWidth: x_120, templet: '#linkStateTpl', sort: true}
2519 ], 2519 ],
  2520 + "HUAWEI_CLOUD_PLAT":[
  2521 + {field: 'ip', title: 'IP地址', minWidth: x_130, align: 'center', sort: true},
  2522 + {
  2523 + field: 'resName', title: '资源名称', minWidth: x_300, sort: true,
  2524 + templet: '#resindex_resName'
  2525 + },
  2526 + {field: 'health', title: '健康状态', minWidth: x_110, align: 'center', sort: true, templet: '#healthTpl'},
  2527 + // {field: 'diskSize', title: '磁盘总大小', minWidth: 120, align: 'center'},
  2528 + {field: 'fileSysUseRate', title: '文件系统使用率(最大)', align: 'center', minWidth: x_185, templet: '#fileUseRateTpl', sort: true},
  2529 + {field: 'diskBusyRate', title: '磁盘繁忙率(最大)', minWidth: x_160, align: 'center', sort: true, templet: '<div>{{d.diskBusyRate}}%</div>'},
  2530 + {field: 'cpuCores', title: '单个CPU核数', align: 'center', minWidth: x_140, sort: true, templet: '#cpuCoresTpl'},
  2531 + {field: 'cpuNum', title: '主机CPU总核数', align: 'center', minWidth: x_150, sort: true, templet: '#cpuNumTpl'},
  2532 + {field: 'cpuRate', title: 'CPU使用率', align: 'center', minWidth: x_120, templet: '#cpuRateTpl', sort: true},
  2533 + {field: 'memorySize', title: '内存大小', align: 'center', minWidth: x_110, sort: true, templet: '<div>{{d.memorySize}} GB</div>'},
  2534 + {field: 'cacheUsed', title: '缓存总大小', align: 'center', minWidth: x_120, sort: true, templet: '<div>{{d.cacheUsed}} GB</div>'},
  2535 + {field: 'memoryRate', title: '内存使用率', align: 'center', minWidth: x_120, templet: '#memoryRateTpl', sort: true},
  2536 + {field: 'vmmemoryUseRate', title: '虚拟内存使用率', align: 'center', minWidth: x_165, templet: '#vmmemoryRateTpl', sort: true},
  2537 + {field: 'maxNetCardUpRate', title: '上行速率', align: 'center', minWidth: x_110, sort: true, templet: '<div>{{d.maxNetCardUpRate}} kb/s</div>'},
  2538 + {field: 'maxNetCardDownRate', title: '下行速率', align: 'center', minWidth: x_110, sort: true, templet: '<div>{{d.maxNetCardDownRate}} kb/s</div>'},
  2539 + {field: 'lastColTime', title: '最近采集时间', minWidth: x_160, align: 'center', sort: true},
  2540 + {field: 'linkState', title: '连接状态', align: 'center', minWidth: x_110, templet: '#linkStateTpl', sort: true},
  2541 + {field: 'adminName', title: '负责人', minWidth: x_120, align: 'center', sort: true},
  2542 + {field: 'adminPhone', title: '负责人电话', minWidth: x_130, align: 'center', sort: true},
  2543 + {field: 'resTypeName', title: '资源类型', minWidth: x_110, align: 'center'},
  2544 + {field: 'state', title: '资源状态', minWidth: x_110, align: 'center', sort: true, templet: '#resStateTpl'}
  2545 + ],
  2546 + "ALI_CLOUD_PLAT":[
  2547 + {field: 'ip', title: 'IP地址', minWidth: x_130, align: 'center', sort: true},
  2548 + {
  2549 + field: 'resName', title: '资源名称', minWidth: x_300, sort: true,
  2550 + templet: '#resindex_resName'
  2551 + },
  2552 + {field: 'health', title: '健康状态', minWidth: x_110, align: 'center', sort: true, templet: '#healthTpl'},
  2553 + // {field: 'diskSize', title: '磁盘总大小', minWidth: 120, align: 'center'},
  2554 + {field: 'fileSysUseRate', title: '文件系统使用率(最大)', align: 'center', minWidth: x_185, templet: '#fileUseRateTpl', sort: true},
  2555 + {field: 'diskBusyRate', title: '磁盘繁忙率(最大)', minWidth: x_160, align: 'center', sort: true, templet: '<div>{{d.diskBusyRate}}%</div>'},
  2556 + {field: 'cpuCores', title: '单个CPU核数', align: 'center', minWidth: x_140, sort: true, templet: '#cpuCoresTpl'},
  2557 + {field: 'cpuNum', title: '主机CPU总核数', align: 'center', minWidth: x_150, sort: true, templet: '#cpuNumTpl'},
  2558 + {field: 'cpuRate', title: 'CPU使用率', align: 'center', minWidth: x_120, templet: '#cpuRateTpl', sort: true},
  2559 + {field: 'memorySize', title: '内存大小', align: 'center', minWidth: x_110, sort: true, templet: '<div>{{d.memorySize}} GB</div>'},
  2560 + {field: 'cacheUsed', title: '缓存总大小', align: 'center', minWidth: x_120, sort: true, templet: '<div>{{d.cacheUsed}} GB</div>'},
  2561 + {field: 'memoryRate', title: '内存使用率', align: 'center', minWidth: x_120, templet: '#memoryRateTpl', sort: true},
  2562 + {field: 'vmmemoryUseRate', title: '虚拟内存使用率', align: 'center', minWidth: x_165, templet: '#vmmemoryRateTpl', sort: true},
  2563 + {field: 'maxNetCardUpRate', title: '上行速率', align: 'center', minWidth: x_110, sort: true, templet: '<div>{{d.maxNetCardUpRate}} kb/s</div>'},
  2564 + {field: 'maxNetCardDownRate', title: '下行速率', align: 'center', minWidth: x_110, sort: true, templet: '<div>{{d.maxNetCardDownRate}} kb/s</div>'},
  2565 + {field: 'lastColTime', title: '最近采集时间', minWidth: x_160, align: 'center', sort: true},
  2566 + {field: 'linkState', title: '连接状态', align: 'center', minWidth: x_110, templet: '#linkStateTpl', sort: true},
  2567 + {field: 'adminName', title: '负责人', minWidth: x_120, align: 'center', sort: true},
  2568 + {field: 'adminPhone', title: '负责人电话', minWidth: x_130, align: 'center', sort: true},
  2569 + {field: 'resTypeName', title: '资源类型', minWidth: x_110, align: 'center'},
  2570 + {field: 'state', title: '资源状态', minWidth: x_110, align: 'center', sort: true, templet: '#resStateTpl'}
  2571 + ],
2520 }, 2572 },
2521 //列点击事件 2573 //列点击事件
2522 colsClickEvent: function (editFlag) { 2574 colsClickEvent: function (editFlag) {
1 <title>浙江大屏</title> 1 <title>浙江大屏</title>
2 -<iframe src="/vue3/index.html#/zj/dp" class="layadmin-iframe"/> 2 +<iframe src="/vue3/index.html#/bigscreen" class="layadmin-iframe"/>
@@ -5,3 +5,16 @@ @@ -5,3 +5,16 @@
5 5
6 /*乙方运维*/ 6 /*乙方运维*/
7 @import "../css/operationMaintenance.css"; 7 @import "../css/operationMaintenance.css";
  8 +
  9 +/*电子大屏*/
  10 +@import "../css/bigscreen.css";
  11 +
  12 +@import "../css/topfive.css";
  13 +
  14 +@import "../css/global.css";
  15 +
  16 +@import "../css/deduction.css";
  17 +
  18 +@import "../css/businessVolume.css";
  19 +
  20 +@import "../css/digitalboard.css";
  1 +/* 大屏配置 ---start */
  2 +.com-page {
  3 + width: 100%;
  4 + height: 100%;
  5 + overflow: hidden;
  6 +}
  7 +
  8 +.com-container {
  9 + width: 100%;
  10 + height: 100%;
  11 + overflow: hidden;
  12 +}
  13 +
  14 +.com-chart {
  15 + width: 100%;
  16 + height: 100%;
  17 + overflow: hidden;
  18 +}
  19 +/* 大屏配置 ---end */
  20 +
  21 +.screen-container {
  22 + width: 100%;
  23 + height: 100%;
  24 + padding: 0 0.2%;
  25 + background: url(bg_backgroud.png);
  26 + background-size: 100% 100%;
  27 + color: #fff;
  28 + box-sizing: border-box;
  29 +}
  30 +
  31 +.screen-header {
  32 + width: 100%;
  33 + position: relative;
  34 +}
  35 +.screen-header .title{
  36 + position: absolute;
  37 + left: 50%;
  38 + top: 56%;
  39 + transform: translate(-50%, -50%);
  40 +}
  41 +.screen-header .title-left{
  42 + display: flex;
  43 + align-items: center;
  44 + position:absolute;
  45 + transform: translateY(-80%);
  46 + left: 1%;
  47 + top: 55%;
  48 +}
  49 +.screen-header .timelog{
  50 + cursor: pointer;
  51 +}
  52 +
  53 +.screen-body {
  54 + width: 100%;
  55 + height: 60%;
  56 + display: flex;
  57 + margin-bottom: 0.2%;
  58 +}
  59 +.screen-left {
  60 + height: 100%;
  61 + width: 30%;
  62 +}
  63 +.screen-left #left-top {
  64 + height: 56%;
  65 + position: relative;
  66 +}
  67 +.screen-left #left-bottom {
  68 + height: 43.8%;
  69 + position: relative;
  70 +}
  71 +.screen-middle {
  72 + height: 100%;
  73 + width: 40%;
  74 + margin-top: 0.5%;
  75 + margin-left: 0.2%;
  76 + margin-right: 0.2%;
  77 +}
  78 +.screen-middle #middle-top {
  79 + width: 100%;
  80 + height: 32.4%;
  81 + position: relative;
  82 +}
  83 +.screen-middle #middle-center {
  84 + width: 100%;
  85 + height: 32.4%;
  86 + position: relative;
  87 +}
  88 +.screen-middle #middle-bottom {
  89 + width: 100%;
  90 + height: 34%;
  91 + position: relative;
  92 +}
  93 +
  94 +.screen-right {
  95 + height: 100%;
  96 + width: 30%;
  97 +}
  98 +
  99 +.screen-right #right-top {
  100 + height: 26%;
  101 + position: relative;
  102 +}
  103 +.screen-right #right-center {
  104 + height: 37%;
  105 + position: relative;
  106 +}
  107 +.screen-right #right-bottom {
  108 + height: 37%;
  109 + position: relative;
  110 +}
  111 +
  112 +.screen-bottom {
  113 + width: 100%;
  114 + height: 34%;
  115 + display: flex;
  116 +}
  117 +.screen-bottom #bottom-one {
  118 + height: 100%;
  119 + width: 25%;
  120 + position: relative;
  121 +}
  122 +.screen-bottom #bottom-two {
  123 + height: 100%;
  124 + width: 25%;
  125 + position: relative;
  126 +}
  127 +.screen-bottom #bottom-three {
  128 + height: 100%;
  129 + width: 25%;
  130 + position: relative;
  131 +}
  132 +.screen-bottom #bottom-four {
  133 + height: 100%;
  134 + width: 25%;
  135 + position: relative;
  136 +}
  1 +.busniess-title-size {
  2 + position: absolute;
  3 + left: 13%;
  4 + top: 3%;
  5 +}
  6 +.busniess-title-img {
  7 + position: absolute;
  8 + left: 5%;
  9 + top: 2%;
  10 +}
  11 +.busniess-box-title {
  12 + margin-left: 8%;
  13 +}
  14 +.busniess-circle-left {
  15 + position: absolute;
  16 + left: 19%;
  17 + top: 59%;
  18 +}
  19 +.busniess-circle-right {
  20 + position: absolute;
  21 + left: 63%;
  22 + top: 59%;
  23 +}
  24 +.busniess-circle-text {
  25 + text-align: center;
  26 +}
  1 +.com-box {
  2 + text-align: center;
  3 +}
  4 +.deduction-box-title {
  5 + position: absolute;
  6 + left: 2%;
  7 + top: 1%;
  8 +}
  9 +.deduction-title-size {
  10 + position: absolute;
  11 + left: 9%;
  12 + top: 20%;
  13 +}
  14 +.deduction-box-text-left {
  15 + position: absolute;
  16 + left: 12%;
  17 + top: 45%;
  18 +}
  19 +.deduction-box-text-right {
  20 + position: absolute;
  21 + left: 60%;
  22 + top: 45%;
  23 +}
  24 +.deduction-text-number {
  25 + color: #01E6E6;
  26 +}
  1 +.com-box {
  2 + text-align: center;
  3 +}
  4 +.com-box-right {
  5 + text-align: right;
  6 +}
  7 +.span-box-title {
  8 + position: absolute;
  9 + color: #FEFEFE;
  10 + top: 1%;
  11 + left: 6%;
  12 +}
  13 +
  14 +@font-face{
  15 + font-family: yjsz;
  16 + /*src: url('../assets/font/DS-DIGIT.TTF');*/
  17 + src: url(DS-DIGIT.TTF);
  18 +}
  1 +html, body, #app {
  2 + width: 100%;
  3 + height: 100%;
  4 + padding: 0;
  5 + margin: 0;
  6 + overflow: hidden;
  7 +}
  8 +
  9 +.com-page {
  10 + width: 100%;
  11 + height: 100%;
  12 + overflow: hidden;
  13 +}
  14 +
  15 +.com-container {
  16 + width: 100%;
  17 + height: 100%;
  18 + overflow: hidden;
  19 +}
  20 +
  21 +.com-chart {
  22 + width: 100%;
  23 + height: 100%;
  24 + overflow: hidden;
  25 +}
  26 +
  27 +canvas {
  28 + border-radius: 20px;
  29 +}
  1 +.topfive-title-size {
  2 + position: absolute;
  3 + left: 16%;
  4 + top: 7%;
  5 +}
  6 +.topfive-title-img {
  7 + position: absolute;
  8 + left: 5%;
  9 + top: 5%;
  10 +}
  1 +@charset "utf-8";
  2 +/* CSS Document */
  3 +*{
  4 + -webkit-box-sizing: border-box;
  5 + -moz-box-sizing: border-box;
  6 + box-sizing: border-box}
  7 +*,body{padding:0px; margin:0px;color: #222;font-family: "微软雅黑";}
  8 +@font-face{font-family:electronicFont;src:url(../font/DS-DIGIT.TTF)}
  9 +body{ background:#000d4a url(../images/bg.jpg) center top; background-size:cover;color:#666;font-size: .1rem;}
  10 +li{ list-style-type:none;}
  11 +table{}
  12 +i{ margin:0px; padding:0px; text-indent:0px;}
  13 +img{ border:none; max-width: 100%;}
  14 +a{ text-decoration:none; color:#399bff;}
  15 +a.active,a:focus{ outline:none!important; text-decoration:none;}
  16 +ol,ul,p,h1,h2,h3,h4,h5,h6{ padding:0; margin:0}
  17 +a:hover{ color:#06c; text-decoration: none!important}
  18 +
  19 +
  20 +.clearfix:after, .clearfix:before {
  21 + display: table;
  22 + content: " "
  23 +}
  24 + .clearfix:after {
  25 + clear: both
  26 +}
  27 +.pulll_left{float:left;}
  28 +.pulll_right{float:right;}
  29 +/*谷哥滚动条样式*/
  30 +
  31 + ::-webkit-scrollbar {width:5px;height:5px;position:absolute}
  32 + ::-webkit-scrollbar-thumb {background-color:#5bc0de}
  33 + ::-webkit-scrollbar-track {background-color:#ddd}
  34 +
  35 +/***/
  36 +.canvas{position: absolute; width:100%; left: 0; top: 0; height: 99%; z-index: 1;}
  37 +
  38 +.allnav{height: calc(100% - 30px);}
  39 +.loading{position:fixed; left:0; top:0; font-size:18px; z-index:100000000;width:100%; height:100%; background:#1a1a1c; text-align:center;}
  40 +.loadbox{position:absolute; width:160px;height:150px; color: #aaa; left:50%; top:50%; margin-top:-100px; margin-left:-75px;}
  41 +.loadbox img{ margin:10px auto; display:block; width:40px;}
  42 +
  43 +.copyright{ background:rgba(19,31,64,.32); border: 1px solid rgba(255,255,255,.05); line-height:.5rem; text-align: center; padding-right: 15px; bottom: 0; color:rgba(255,255,255,.7); font-size: .16rem; }
  44 +
  45 +.head{ height:1.05rem; background: url(../images/head_bg.png) no-repeat center center; background-size: 100% 100%; position: relative; z-index: 100;}
  46 +.head h1{ color:#fff; text-align: center; font-size: .4rem; line-height:.8rem;}
  47 +.head h1 img{ width:1.5rem; display: inline-block; vertical-align: middle; margin-right: .2rem}
  48 +.weather{ position:absolute; right:.3rem; top:0; line-height: .75rem;}
  49 +.weather img{ width:.37rem; display: inline-block; vertical-align: middle;}
  50 +.weather span{color:rgba(255,255,255,.7); font-size: .18rem; padding-right: .1rem;}
  51 +.mainbox{ padding:.1rem .1rem 0rem .1rem;}
  52 +.mainbox>ul{}
  53 +.mainbox>ul>li{ float: left; padding: 0 .1rem}
  54 +
  55 +.mainbox>ul>li{ width: 30%}
  56 +.mainbox>ul>li:nth-child(2){ width: 40%;padding: 0}
  57 +
  58 +.boxall{ border: 1px solid rgba(25,186,139,.17); padding:0 .2rem .4rem .15rem; background: rgba(255,255,255,.04) url(../images/line.png); background-size: 100% auto; position: relative; margin-bottom: .15rem; z-index: 10;}
  59 +.boxall:before,
  60 +.boxall:after{ position:absolute; width: .1rem; height: .1rem; content: ""; border-top: 2px solid #02a6b5; top: 0;}
  61 +.boxall:before,.boxfoot:before{border-left: 2px solid #02a6b5;left: 0;}
  62 +.boxall:after,.boxfoot:after{border-right: 2px solid #02a6b5; right: 0;}
  63 +.alltitle{ font-size:.2rem; color:#fff; text-align: center; line-height: .5rem;}
  64 +
  65 +.boxfoot{ position:absolute; bottom: 0; width: 100%; left: 0;}
  66 +.boxfoot:before,
  67 +.boxfoot:after{ position:absolute; width: .1rem; height: .1rem; content: "";border-bottom: 2px solid #02a6b5; bottom: 0;}
  68 +
  69 +.bar{background:rgba(101,132,226,.1); padding: .15rem;}
  70 +.barbox li,.barbox2 li{ width:50%; text-align: center; position: relative; z-index: 100;}
  71 +.barbox:before,
  72 +.barbox:after{ position:absolute; width: .3rem; height: .1rem; content: ""; }
  73 +.barbox:before{border-left: 2px solid #02a6b5;left: 0;border-top: 2px solid #02a6b5; }
  74 +.barbox:after{border-right: 2px solid #02a6b5; right: 0; bottom: 0;border-bottom: 2px solid #02a6b5; }
  75 +
  76 +.barbox li:first-child:before{ position:absolute; content: ""; height:50%; width: 1px; background: rgba(255,255,255,.2); right: 0; top: 25%;}
  77 +
  78 +.barbox{ border: 1px solid rgba(25,186,139,.17); position: relative;}
  79 +.barbox li{ font-size: .7rem; color: #ffeb7b; padding: .05rem 0; font-family:electronicFont; font-weight: bold;}
  80 +.barbox2 li{ font-size: .19rem; color:rgba(255,255,255,.7); padding-top: .1rem;}
  81 +
  82 +.map{ position:relative; height: 7.2rem; z-index: 9;}
  83 +.map4{ width: 200%; height:7rem; position: relative; left: -50%; top: 4%; margin-top: .2rem; z-index: 5;}
  84 +.map1,.map2,.map3{ position:absolute; opacity: .5}
  85 +.map1{ width:6.43rem; z-index: 2;top:.45rem; left: .7rem; animation: myfirst2 15s infinite linear;}
  86 +.map2{ width:5.66rem; top:.85rem; left:1.2rem; z-index: 3; opacity: 0.2; animation: myfirst 10s infinite linear;}
  87 +.map3{ width:5.18rem; top:1.07rem; left: 1.4rem; z-index: 1;}
  88 +
  89 +
  90 +
  91 +
  92 +
  93 +.tabs { text-align: center; padding: .1rem 0 0 0;}
  94 +.tabs a {
  95 + position: relative;
  96 + display: inline-block;
  97 + margin-left: 1px;
  98 + padding:.05rem .2rem;
  99 + color: #898989;
  100 + transition: all .3s ease-out 0s;
  101 + font-size: 14px;
  102 +}
  103 +.tabs li{ display:inline-block;}
  104 +.tabs a:after {
  105 + position: absolute;
  106 + width: 1px;
  107 + height: 10px;
  108 + background-color: rgba(255,255,255,.1);
  109 + content: '';
  110 + margin-left:0; right:-1px; margin-top: 7px;
  111 +
  112 +
  113 +}
  114 +.tabs li a.active {border: 1px solid rgba(25,186,139,.17); background: rgba(255,255,255,.05); color:#fff;}
  115 +
  116 +.tit02{ text-align:center; margin: .1rem 0; position: relative}
  117 +.tit02 span{border: 1px solid rgba(25,186,139,.17); letter-spacing: 2px; padding: .01rem .2rem; background: rgba(255,255,255,.05); font-size: .18rem; color: #49bcf7;}
  118 +.tit02:before,.tit02:after{ position:absolute; width:26%; height: 1px;background: rgba(25,186,139,.2); content: ""; top: .12rem;}
  119 +.tit02:after{ right:0;}
  120 +.tit02:before{ left:0;}
  121 +
  122 +.wrap{ height:2.54rem; overflow: hidden;}
  123 +.wrap li{ line-height:.42rem; height:.42rem; font-size: .18rem; text-indent: .24rem; margin-bottom: .1rem; }
  124 +.wrap li p{border: 1px solid rgba(25,186,139,.17);color: rgba(255,255,255,.6); }
  125 +.sy{ float:left; width: 33%; height:95%; margin-top: .25rem;}
  126 +
  127 +
  128 +.adduser{ height:1.5rem; overflow: hidden;}
  129 +.adduser li{height:.5rem;}
  130 +.adduser img{ width: .40rem; border-radius: .5rem; margin-right: .1rem; display: inline-block; vertical-align: middle;}
  131 +.adduser span{ line-height:.5rem; font-size: .18rem;color: rgba(255,255,255,.6); }
  132 +
  133 +.sycm ul{ margin-left:-.5rem;margin-right:-.5rem; padding: .16rem 0;}
  134 +.sycm li{ float: left; width: 33.33%; text-align: center; position: relative}
  135 +.sycm li:before{ position:absolute; content: ""; height:30%; width: 1px; background: rgba(255,255,255,.1); right: 0; top: 15%;}
  136 +.sycm li:last-child:before{ width: 0;}
  137 +
  138 +.sycm li h2{ font-size:.3rem; color: #c5ccff;}
  139 +.sycm li span{ font-size:.18rem; color: #fff; opacity: .5;}
  140 +
  141 +@keyframes myfirst2
  142 +{
  143 +from {transform: rotate(0deg);}
  144 +to {transform: rotate(359deg);}
  145 +}
  146 +
  147 +@keyframes myfirst
  148 +{
  149 +from {transform: rotate(0deg);}
  150 +to {transform: rotate(-359deg);}
  151 +}
  152 +
  153 +/*Plugin CSS*/
  154 +.str_wrap {
  155 + overflow:hidden;
  156 + width:100%;
  157 + position:relative;
  158 + -moz-user-select: none;
  159 + -khtml-user-select: none;
  160 + user-select: none;
  161 + white-space:nowrap;
  162 +}
  163 +
  164 +
  165 +.str_move {
  166 + white-space:nowrap;
  167 + position:absolute;
  168 + top:0;
  169 + left:0;
  170 + cursor:move;
  171 +}
  172 +.str_move_clone {
  173 + display:inline-block;
  174 + vertical-align:top;
  175 + position:absolute;
  176 + left:100%;
  177 + top:0;
  178 +}
  179 +.str_vertical .str_move_clone {
  180 + left:0;
  181 + top:100%;
  182 +}
  183 +.str_down .str_move_clone {
  184 + left:0;
  185 + bottom:100%;
  186 +}
  187 +.str_vertical .str_move,
  188 +.str_down .str_move {
  189 + white-space:normal;
  190 + width:100%;
  191 +}
  192 +.str_static .str_move,
  193 +.no_drag .str_move,
  194 +.noStop .str_move{
  195 + cursor:inherit;
  196 +}
  197 +.str_wrap img {
  198 + max-width:none !important;
  199 +}
  1 +html, body, #app {
  2 + width: 100%;
  3 + height: 100%;
  4 + padding: 0;
  5 + margin: 0;
  6 + overflow: hidden;
  7 +}
  8 +
  9 +.com-page {
  10 + width: 100%;
  11 + height: 100%;
  12 + overflow: hidden;
  13 +}
  14 +
  15 +.com-container {
  16 + width: 100%;
  17 + height: 100%;
  18 + overflow: hidden;
  19 +}
  20 +
  21 +.com-chart {
  22 + width: 100%;
  23 + height: 100%;
  24 + overflow: hidden;
  25 +}
  26 +
  27 +canvas {
  28 + border-radius: 20px;
  29 +}
  1 +/* Logo 字体 */
  2 +@font-face {
  3 + font-family: "iconfont logo";
  4 + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
  5 + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
  6 + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
  7 + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
  8 + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
  9 +}
  10 +
  11 +.logo {
  12 + font-family: "iconfont logo";
  13 + font-size: 160px;
  14 + font-style: normal;
  15 + -webkit-font-smoothing: antialiased;
  16 + -moz-osx-font-smoothing: grayscale;
  17 +}
  18 +
  19 +/* tabs */
  20 +.nav-tabs {
  21 + position: relative;
  22 +}
  23 +
  24 +.nav-tabs .nav-more {
  25 + position: absolute;
  26 + right: 0;
  27 + bottom: 0;
  28 + height: 42px;
  29 + line-height: 42px;
  30 + color: #666;
  31 +}
  32 +
  33 +#tabs {
  34 + border-bottom: 1px solid #eee;
  35 +}
  36 +
  37 +#tabs li {
  38 + cursor: pointer;
  39 + width: 100px;
  40 + height: 40px;
  41 + line-height: 40px;
  42 + text-align: center;
  43 + font-size: 16px;
  44 + border-bottom: 2px solid transparent;
  45 + position: relative;
  46 + z-index: 1;
  47 + margin-bottom: -1px;
  48 + color: #666;
  49 +}
  50 +
  51 +
  52 +#tabs .active {
  53 + border-bottom-color: #f00;
  54 + color: #222;
  55 +}
  56 +
  57 +.tab-container .content {
  58 + display: none;
  59 +}
  60 +
  61 +/* 页面布局 */
  62 +.main {
  63 + padding: 30px 100px;
  64 + width: 960px;
  65 + margin: 0 auto;
  66 +}
  67 +
  68 +.main .logo {
  69 + color: #333;
  70 + text-align: left;
  71 + margin-bottom: 30px;
  72 + line-height: 1;
  73 + height: 110px;
  74 + margin-top: -50px;
  75 + overflow: hidden;
  76 + *zoom: 1;
  77 +}
  78 +
  79 +.main .logo a {
  80 + font-size: 160px;
  81 + color: #333;
  82 +}
  83 +
  84 +.helps {
  85 + margin-top: 40px;
  86 +}
  87 +
  88 +.helps pre {
  89 + padding: 20px;
  90 + margin: 10px 0;
  91 + border: solid 1px #e7e1cd;
  92 + background-color: #fffdef;
  93 + overflow: auto;
  94 +}
  95 +
  96 +.icon_lists {
  97 + width: 100% !important;
  98 + overflow: hidden;
  99 + *zoom: 1;
  100 +}
  101 +
  102 +.icon_lists li {
  103 + width: 100px;
  104 + margin-bottom: 10px;
  105 + margin-right: 20px;
  106 + text-align: center;
  107 + list-style: none !important;
  108 + cursor: default;
  109 +}
  110 +
  111 +.icon_lists li .code-name {
  112 + line-height: 1.2;
  113 +}
  114 +
  115 +.icon_lists .icon {
  116 + display: block;
  117 + height: 100px;
  118 + line-height: 100px;
  119 + font-size: 42px;
  120 + margin: 10px auto;
  121 + color: #333;
  122 + -webkit-transition: font-size 0.25s linear, width 0.25s linear;
  123 + -moz-transition: font-size 0.25s linear, width 0.25s linear;
  124 + transition: font-size 0.25s linear, width 0.25s linear;
  125 +}
  126 +
  127 +.icon_lists .icon:hover {
  128 + font-size: 100px;
  129 +}
  130 +
  131 +.icon_lists .svg-icon {
  132 + /* 通过设置 font-size 来改变图标大小 */
  133 + width: 1em;
  134 + /* 图标和文字相邻时,垂直对齐 */
  135 + vertical-align: -0.15em;
  136 + /* 通过设置 color 来改变 SVG 的颜色/fill */
  137 + fill: currentColor;
  138 + /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
  139 + normalize.css 中也包含这行 */
  140 + overflow: hidden;
  141 +}
  142 +
  143 +.icon_lists li .name,
  144 +.icon_lists li .code-name {
  145 + color: #666;
  146 +}
  147 +
  148 +/* markdown 样式 */
  149 +.markdown {
  150 + color: #666;
  151 + font-size: 14px;
  152 + line-height: 1.8;
  153 +}
  154 +
  155 +.highlight {
  156 + line-height: 1.5;
  157 +}
  158 +
  159 +.markdown img {
  160 + vertical-align: middle;
  161 + max-width: 100%;
  162 +}
  163 +
  164 +.markdown h1 {
  165 + color: #404040;
  166 + font-weight: 500;
  167 + line-height: 40px;
  168 + margin-bottom: 24px;
  169 +}
  170 +
  171 +.markdown h2,
  172 +.markdown h3,
  173 +.markdown h4,
  174 +.markdown h5,
  175 +.markdown h6 {
  176 + color: #404040;
  177 + margin: 1.6em 0 0.6em 0;
  178 + font-weight: 500;
  179 + clear: both;
  180 +}
  181 +
  182 +.markdown h1 {
  183 + font-size: 28px;
  184 +}
  185 +
  186 +.markdown h2 {
  187 + font-size: 22px;
  188 +}
  189 +
  190 +.markdown h3 {
  191 + font-size: 16px;
  192 +}
  193 +
  194 +.markdown h4 {
  195 + font-size: 14px;
  196 +}
  197 +
  198 +.markdown h5 {
  199 + font-size: 12px;
  200 +}
  201 +
  202 +.markdown h6 {
  203 + font-size: 12px;
  204 +}
  205 +
  206 +.markdown hr {
  207 + height: 1px;
  208 + border: 0;
  209 + background: #e9e9e9;
  210 + margin: 16px 0;
  211 + clear: both;
  212 +}
  213 +
  214 +.markdown p {
  215 + margin: 1em 0;
  216 +}
  217 +
  218 +.markdown>p,
  219 +.markdown>blockquote,
  220 +.markdown>.highlight,
  221 +.markdown>ol,
  222 +.markdown>ul {
  223 + width: 80%;
  224 +}
  225 +
  226 +.markdown ul>li {
  227 + list-style: circle;
  228 +}
  229 +
  230 +.markdown>ul li,
  231 +.markdown blockquote ul>li {
  232 + margin-left: 20px;
  233 + padding-left: 4px;
  234 +}
  235 +
  236 +.markdown>ul li p,
  237 +.markdown>ol li p {
  238 + margin: 0.6em 0;
  239 +}
  240 +
  241 +.markdown ol>li {
  242 + list-style: decimal;
  243 +}
  244 +
  245 +.markdown>ol li,
  246 +.markdown blockquote ol>li {
  247 + margin-left: 20px;
  248 + padding-left: 4px;
  249 +}
  250 +
  251 +.markdown code {
  252 + margin: 0 3px;
  253 + padding: 0 5px;
  254 + background: #eee;
  255 + border-radius: 3px;
  256 +}
  257 +
  258 +.markdown strong,
  259 +.markdown b {
  260 + font-weight: 600;
  261 +}
  262 +
  263 +.markdown>table {
  264 + border-collapse: collapse;
  265 + border-spacing: 0px;
  266 + empty-cells: show;
  267 + border: 1px solid #e9e9e9;
  268 + width: 95%;
  269 + margin-bottom: 24px;
  270 +}
  271 +
  272 +.markdown>table th {
  273 + white-space: nowrap;
  274 + color: #333;
  275 + font-weight: 600;
  276 +}
  277 +
  278 +.markdown>table th,
  279 +.markdown>table td {
  280 + border: 1px solid #e9e9e9;
  281 + padding: 8px 16px;
  282 + text-align: left;
  283 +}
  284 +
  285 +.markdown>table th {
  286 + background: #F7F7F7;
  287 +}
  288 +
  289 +.markdown blockquote {
  290 + font-size: 90%;
  291 + color: #999;
  292 + border-left: 4px solid #e9e9e9;
  293 + padding-left: 0.8em;
  294 + margin: 1em 0;
  295 +}
  296 +
  297 +.markdown blockquote p {
  298 + margin: 0;
  299 +}
  300 +
  301 +.markdown .anchor {
  302 + opacity: 0;
  303 + transition: opacity 0.3s ease;
  304 + margin-left: 8px;
  305 +}
  306 +
  307 +.markdown .waiting {
  308 + color: #ccc;
  309 +}
  310 +
  311 +.markdown h1:hover .anchor,
  312 +.markdown h2:hover .anchor,
  313 +.markdown h3:hover .anchor,
  314 +.markdown h4:hover .anchor,
  315 +.markdown h5:hover .anchor,
  316 +.markdown h6:hover .anchor {
  317 + opacity: 1;
  318 + display: inline-block;
  319 +}
  320 +
  321 +.markdown>br,
  322 +.markdown>p>br {
  323 + clear: both;
  324 +}
  325 +
  326 +
  327 +.hljs {
  328 + display: block;
  329 + background: white;
  330 + padding: 0.5em;
  331 + color: #333333;
  332 + overflow-x: auto;
  333 +}
  334 +
  335 +.hljs-comment,
  336 +.hljs-meta {
  337 + color: #969896;
  338 +}
  339 +
  340 +.hljs-string,
  341 +.hljs-variable,
  342 +.hljs-template-variable,
  343 +.hljs-strong,
  344 +.hljs-emphasis,
  345 +.hljs-quote {
  346 + color: #df5000;
  347 +}
  348 +
  349 +.hljs-keyword,
  350 +.hljs-selector-tag,
  351 +.hljs-type {
  352 + color: #a71d5d;
  353 +}
  354 +
  355 +.hljs-literal,
  356 +.hljs-symbol,
  357 +.hljs-bullet,
  358 +.hljs-attribute {
  359 + color: #0086b3;
  360 +}
  361 +
  362 +.hljs-section,
  363 +.hljs-name {
  364 + color: #63a35c;
  365 +}
  366 +
  367 +.hljs-tag {
  368 + color: #333333;
  369 +}
  370 +
  371 +.hljs-title,
  372 +.hljs-attr,
  373 +.hljs-selector-id,
  374 +.hljs-selector-class,
  375 +.hljs-selector-attr,
  376 +.hljs-selector-pseudo {
  377 + color: #795da3;
  378 +}
  379 +
  380 +.hljs-addition {
  381 + color: #55a532;
  382 + background-color: #eaffea;
  383 +}
  384 +
  385 +.hljs-deletion {
  386 + color: #bd2c00;
  387 + background-color: #ffecec;
  388 +}
  389 +
  390 +.hljs-link {
  391 + text-decoration: underline;
  392 +}
  393 +
  394 +/* 代码高亮 */
  395 +/* PrismJS 1.15.0
  396 +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
  397 +/**
  398 + * prism.js default theme for JavaScript, CSS and HTML
  399 + * Based on dabblet (http://dabblet.com)
  400 + * @author Lea Verou
  401 + */
  402 +code[class*="language-"],
  403 +pre[class*="language-"] {
  404 + color: black;
  405 + background: none;
  406 + text-shadow: 0 1px white;
  407 + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
  408 + text-align: left;
  409 + white-space: pre;
  410 + word-spacing: normal;
  411 + word-break: normal;
  412 + word-wrap: normal;
  413 + line-height: 1.5;
  414 +
  415 + -moz-tab-size: 4;
  416 + -o-tab-size: 4;
  417 + tab-size: 4;
  418 +
  419 + -webkit-hyphens: none;
  420 + -moz-hyphens: none;
  421 + -ms-hyphens: none;
  422 + hyphens: none;
  423 +}
  424 +
  425 +pre[class*="language-"]::-moz-selection,
  426 +pre[class*="language-"] ::-moz-selection,
  427 +code[class*="language-"]::-moz-selection,
  428 +code[class*="language-"] ::-moz-selection {
  429 + text-shadow: none;
  430 + background: #b3d4fc;
  431 +}
  432 +
  433 +pre[class*="language-"]::selection,
  434 +pre[class*="language-"] ::selection,
  435 +code[class*="language-"]::selection,
  436 +code[class*="language-"] ::selection {
  437 + text-shadow: none;
  438 + background: #b3d4fc;
  439 +}
  440 +
  441 +@media print {
  442 +
  443 + code[class*="language-"],
  444 + pre[class*="language-"] {
  445 + text-shadow: none;
  446 + }
  447 +}
  448 +
  449 +/* Code blocks */
  450 +pre[class*="language-"] {
  451 + padding: 1em;
  452 + margin: .5em 0;
  453 + overflow: auto;
  454 +}
  455 +
  456 +:not(pre)>code[class*="language-"],
  457 +pre[class*="language-"] {
  458 + background: #f5f2f0;
  459 +}
  460 +
  461 +/* Inline code */
  462 +:not(pre)>code[class*="language-"] {
  463 + padding: .1em;
  464 + border-radius: .3em;
  465 + white-space: normal;
  466 +}
  467 +
  468 +.token.comment,
  469 +.token.prolog,
  470 +.token.doctype,
  471 +.token.cdata {
  472 + color: slategray;
  473 +}
  474 +
  475 +.token.punctuation {
  476 + color: #999;
  477 +}
  478 +
  479 +.namespace {
  480 + opacity: .7;
  481 +}
  482 +
  483 +.token.property,
  484 +.token.tag,
  485 +.token.boolean,
  486 +.token.number,
  487 +.token.constant,
  488 +.token.symbol,
  489 +.token.deleted {
  490 + color: #905;
  491 +}
  492 +
  493 +.token.selector,
  494 +.token.attr-name,
  495 +.token.string,
  496 +.token.char,
  497 +.token.builtin,
  498 +.token.inserted {
  499 + color: #690;
  500 +}
  501 +
  502 +.token.operator,
  503 +.token.entity,
  504 +.token.url,
  505 +.language-css .token.string,
  506 +.style .token.string {
  507 + color: #9a6e3a;
  508 + background: hsla(0, 0%, 100%, .5);
  509 +}
  510 +
  511 +.token.atrule,
  512 +.token.attr-value,
  513 +.token.keyword {
  514 + color: #07a;
  515 +}
  516 +
  517 +.token.function,
  518 +.token.class-name {
  519 + color: #DD4A68;
  520 +}
  521 +
  522 +.token.regex,
  523 +.token.important,
  524 +.token.variable {
  525 + color: #e90;
  526 +}
  527 +
  528 +.token.important,
  529 +.token.bold {
  530 + font-weight: bold;
  531 +}
  532 +
  533 +.token.italic {
  534 + font-style: italic;
  535 +}
  536 +
  537 +.token.entity {
  538 + cursor: help;
  539 +}
  1 +<!DOCTYPE html>
  2 +<html>
  3 +<head>
  4 + <meta charset="utf-8"/>
  5 + <title>IconFont Demo</title>
  6 + <link rel="shortcut icon" href="https://gtms04.alicdn.com/tps/i4/TB1_oz6GVXXXXaFXpXXJDFnIXXX-64-64.ico" type="image/x-icon"/>
  7 + <link rel="stylesheet" href="https://g.alicdn.com/thx/cube/1.3.2/cube.min.css">
  8 + <link rel="stylesheet" href="demo.css">
  9 + <link rel="stylesheet" href="iconfont.css">
  10 + <script src="iconfont.js"></script>
  11 + <!-- jQuery -->
  12 + <script src="https://a1.alicdn.com/oss/uploads/2018/12/26/7bfddb60-08e8-11e9-9b04-53e73bb6408b.js"></script>
  13 + <!-- 代码高亮 -->
  14 + <script src="https://a1.alicdn.com/oss/uploads/2018/12/26/a3f714d0-08e6-11e9-8a15-ebf944d7534c.js"></script>
  15 +</head>
  16 +<body>
  17 + <div class="main">
  18 + <h1 class="logo"><a href="https://www.iconfont.cn/" title="iconfont 首页" target="_blank">&#xe86b;</a></h1>
  19 + <div class="nav-tabs">
  20 + <ul id="tabs" class="dib-box">
  21 + <li class="dib active"><span>Unicode</span></li>
  22 + <li class="dib"><span>Font class</span></li>
  23 + <li class="dib"><span>Symbol</span></li>
  24 + </ul>
  25 +
  26 + <a href="https://www.iconfont.cn/manage/index?manage_type=myprojects&projectId=1525688" target="_blank" class="nav-more">查看项目</a>
  27 +
  28 + </div>
  29 + <div class="tab-container">
  30 + <div class="content unicode" style="display: block;">
  31 + <ul class="icon_lists dib-box">
  32 +
  33 + <li class="dib">
  34 + <span class="icon iconfont">&#xe825;</span>
  35 + <div class="name">compress-alt</div>
  36 + <div class="code-name">&amp;#xe825;</div>
  37 + </li>
  38 +
  39 + <li class="dib">
  40 + <span class="icon iconfont">&#xe826;</span>
  41 + <div class="name">expand-alt</div>
  42 + <div class="code-name">&amp;#xe826;</div>
  43 + </li>
  44 +
  45 + <li class="dib">
  46 + <span class="icon iconfont">&#xe836;</span>
  47 + <div class="name">sort-line</div>
  48 + <div class="code-name">&amp;#xe836;</div>
  49 + </li>
  50 +
  51 + <li class="dib">
  52 + <span class="icon iconfont">&#xe837;</span>
  53 + <div class="name">switch</div>
  54 + <div class="code-name">&amp;#xe837;</div>
  55 + </li>
  56 +
  57 + <li class="dib">
  58 + <span class="icon iconfont">&#xe6eb;</span>
  59 + <div class="name">arrow-down</div>
  60 + <div class="code-name">&amp;#xe6eb;</div>
  61 + </li>
  62 +
  63 + <li class="dib">
  64 + <span class="icon iconfont">&#xe6ed;</span>
  65 + <div class="name">arrow-right</div>
  66 + <div class="code-name">&amp;#xe6ed;</div>
  67 + </li>
  68 +
  69 + <li class="dib">
  70 + <span class="icon iconfont">&#xe6ee;</span>
  71 + <div class="name">arrow-up</div>
  72 + <div class="code-name">&amp;#xe6ee;</div>
  73 + </li>
  74 +
  75 + <li class="dib">
  76 + <span class="icon iconfont">&#xe6ef;</span>
  77 + <div class="name">arrow-lift</div>
  78 + <div class="code-name">&amp;#xe6ef;</div>
  79 + </li>
  80 +
  81 + <li class="dib">
  82 + <span class="icon iconfont">&#xe6fc;</span>
  83 + <div class="name">move</div>
  84 + <div class="code-name">&amp;#xe6fc;</div>
  85 + </li>
  86 +
  87 + <li class="dib">
  88 + <span class="icon iconfont">&#xe708;</span>
  89 + <div class="name">sorting</div>
  90 + <div class="code-name">&amp;#xe708;</div>
  91 + </li>
  92 +
  93 + <li class="dib">
  94 + <span class="icon iconfont">&#xe715;</span>
  95 + <div class="name">exchange rate</div>
  96 + <div class="code-name">&amp;#xe715;</div>
  97 + </li>
  98 +
  99 + </ul>
  100 + <div class="article markdown">
  101 + <h2 id="unicode-">Unicode 引用</h2>
  102 + <hr>
  103 +
  104 + <p>Unicode 是字体在网页端最原始的应用方式,特点是:</p>
  105 + <ul>
  106 + <li>兼容性最好,支持 IE6+,及所有现代浏览器。</li>
  107 + <li>支持按字体的方式去动态调整图标大小,颜色等等。</li>
  108 + <li>但是因为是字体,所以不支持多色。只能使用平台里单色的图标,就算项目里有多色图标也会自动去色。</li>
  109 + </ul>
  110 + <blockquote>
  111 + <p>注意:新版 iconfont 支持多色图标,这些多色图标在 Unicode 模式下将不能使用,如果有需求建议使用symbol 的引用方式</p>
  112 + </blockquote>
  113 + <p>Unicode 使用步骤如下:</p>
  114 + <h3 id="-font-face">第一步:拷贝项目下面生成的 <code>@font-face</code></h3>
  115 +<pre><code class="language-css"
  116 +>@font-face {
  117 + font-family: 'iconfont';
  118 + src: url('iconfont.eot');
  119 + src: url('iconfont.eot?#iefix') format('embedded-opentype'),
  120 + url('iconfont.woff2') format('woff2'),
  121 + url('iconfont.woff') format('woff'),
  122 + url('iconfont.ttf') format('truetype'),
  123 + url('iconfont.svg#iconfont') format('svg');
  124 +}
  125 +</code></pre>
  126 + <h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
  127 +<pre><code class="language-css"
  128 +>.iconfont {
  129 + font-family: "iconfont" !important;
  130 + font-size: 16px;
  131 + font-style: normal;
  132 + -webkit-font-smoothing: antialiased;
  133 + -moz-osx-font-smoothing: grayscale;
  134 +}
  135 +</code></pre>
  136 + <h3 id="-">第三步:挑选相应图标并获取字体编码,应用于页面</h3>
  137 +<pre>
  138 +<code class="language-html"
  139 +>&lt;span class="iconfont"&gt;&amp;#x33;&lt;/span&gt;
  140 +</code></pre>
  141 + <blockquote>
  142 + <p>"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
  143 + </blockquote>
  144 + </div>
  145 + </div>
  146 + <div class="content font-class">
  147 + <ul class="icon_lists dib-box">
  148 +
  149 + <li class="dib">
  150 + <span class="icon iconfont icon-compress-alt"></span>
  151 + <div class="name">
  152 + compress-alt
  153 + </div>
  154 + <div class="code-name">.icon-compress-alt
  155 + </div>
  156 + </li>
  157 +
  158 + <li class="dib">
  159 + <span class="icon iconfont icon-expand-alt"></span>
  160 + <div class="name">
  161 + expand-alt
  162 + </div>
  163 + <div class="code-name">.icon-expand-alt
  164 + </div>
  165 + </li>
  166 +
  167 + <li class="dib">
  168 + <span class="icon iconfont icon-sort-line"></span>
  169 + <div class="name">
  170 + sort-line
  171 + </div>
  172 + <div class="code-name">.icon-sort-line
  173 + </div>
  174 + </li>
  175 +
  176 + <li class="dib">
  177 + <span class="icon iconfont icon-switch"></span>
  178 + <div class="name">
  179 + switch
  180 + </div>
  181 + <div class="code-name">.icon-switch
  182 + </div>
  183 + </li>
  184 +
  185 + <li class="dib">
  186 + <span class="icon iconfont icon-arrow-down"></span>
  187 + <div class="name">
  188 + arrow-down
  189 + </div>
  190 + <div class="code-name">.icon-arrow-down
  191 + </div>
  192 + </li>
  193 +
  194 + <li class="dib">
  195 + <span class="icon iconfont icon-arrow-right"></span>
  196 + <div class="name">
  197 + arrow-right
  198 + </div>
  199 + <div class="code-name">.icon-arrow-right
  200 + </div>
  201 + </li>
  202 +
  203 + <li class="dib">
  204 + <span class="icon iconfont icon-arrow-up"></span>
  205 + <div class="name">
  206 + arrow-up
  207 + </div>
  208 + <div class="code-name">.icon-arrow-up
  209 + </div>
  210 + </li>
  211 +
  212 + <li class="dib">
  213 + <span class="icon iconfont icon-arrow-lift"></span>
  214 + <div class="name">
  215 + arrow-lift
  216 + </div>
  217 + <div class="code-name">.icon-arrow-lift
  218 + </div>
  219 + </li>
  220 +
  221 + <li class="dib">
  222 + <span class="icon iconfont icon-move"></span>
  223 + <div class="name">
  224 + move
  225 + </div>
  226 + <div class="code-name">.icon-move
  227 + </div>
  228 + </li>
  229 +
  230 + <li class="dib">
  231 + <span class="icon iconfont icon-sorting"></span>
  232 + <div class="name">
  233 + sorting
  234 + </div>
  235 + <div class="code-name">.icon-sorting
  236 + </div>
  237 + </li>
  238 +
  239 + <li class="dib">
  240 + <span class="icon iconfont icon-exchangerate"></span>
  241 + <div class="name">
  242 + exchange rate
  243 + </div>
  244 + <div class="code-name">.icon-exchangerate
  245 + </div>
  246 + </li>
  247 +
  248 + </ul>
  249 + <div class="article markdown">
  250 + <h2 id="font-class-">font-class 引用</h2>
  251 + <hr>
  252 +
  253 + <p>font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。</p>
  254 + <p>与 Unicode 使用方式相比,具有如下特点:</p>
  255 + <ul>
  256 + <li>兼容性良好,支持 IE8+,及所有现代浏览器。</li>
  257 + <li>相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。</li>
  258 + <li>因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。</li>
  259 + <li>不过因为本质上还是使用的字体,所以多色图标还是不支持的。</li>
  260 + </ul>
  261 + <p>使用步骤如下:</p>
  262 + <h3 id="-fontclass-">第一步:引入项目下面生成的 fontclass 代码:</h3>
  263 +<pre><code class="language-html">&lt;link rel="stylesheet" href="./iconfont.css"&gt;
  264 +</code></pre>
  265 + <h3 id="-">第二步:挑选相应图标并获取类名,应用于页面:</h3>
  266 +<pre><code class="language-html">&lt;span class="iconfont icon-xxx"&gt;&lt;/span&gt;
  267 +</code></pre>
  268 + <blockquote>
  269 + <p>"
  270 + iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
  271 + </blockquote>
  272 + </div>
  273 + </div>
  274 + <div class="content symbol">
  275 + <ul class="icon_lists dib-box">
  276 +
  277 + <li class="dib">
  278 + <svg class="icon svg-icon" aria-hidden="true">
  279 + <use xlink:href="#icon-compress-alt"></use>
  280 + </svg>
  281 + <div class="name">compress-alt</div>
  282 + <div class="code-name">#icon-compress-alt</div>
  283 + </li>
  284 +
  285 + <li class="dib">
  286 + <svg class="icon svg-icon" aria-hidden="true">
  287 + <use xlink:href="#icon-expand-alt"></use>
  288 + </svg>
  289 + <div class="name">expand-alt</div>
  290 + <div class="code-name">#icon-expand-alt</div>
  291 + </li>
  292 +
  293 + <li class="dib">
  294 + <svg class="icon svg-icon" aria-hidden="true">
  295 + <use xlink:href="#icon-sort-line"></use>
  296 + </svg>
  297 + <div class="name">sort-line</div>
  298 + <div class="code-name">#icon-sort-line</div>
  299 + </li>
  300 +
  301 + <li class="dib">
  302 + <svg class="icon svg-icon" aria-hidden="true">
  303 + <use xlink:href="#icon-switch"></use>
  304 + </svg>
  305 + <div class="name">switch</div>
  306 + <div class="code-name">#icon-switch</div>
  307 + </li>
  308 +
  309 + <li class="dib">
  310 + <svg class="icon svg-icon" aria-hidden="true">
  311 + <use xlink:href="#icon-arrow-down"></use>
  312 + </svg>
  313 + <div class="name">arrow-down</div>
  314 + <div class="code-name">#icon-arrow-down</div>
  315 + </li>
  316 +
  317 + <li class="dib">
  318 + <svg class="icon svg-icon" aria-hidden="true">
  319 + <use xlink:href="#icon-arrow-right"></use>
  320 + </svg>
  321 + <div class="name">arrow-right</div>
  322 + <div class="code-name">#icon-arrow-right</div>
  323 + </li>
  324 +
  325 + <li class="dib">
  326 + <svg class="icon svg-icon" aria-hidden="true">
  327 + <use xlink:href="#icon-arrow-up"></use>
  328 + </svg>
  329 + <div class="name">arrow-up</div>
  330 + <div class="code-name">#icon-arrow-up</div>
  331 + </li>
  332 +
  333 + <li class="dib">
  334 + <svg class="icon svg-icon" aria-hidden="true">
  335 + <use xlink:href="#icon-arrow-lift"></use>
  336 + </svg>
  337 + <div class="name">arrow-lift</div>
  338 + <div class="code-name">#icon-arrow-lift</div>
  339 + </li>
  340 +
  341 + <li class="dib">
  342 + <svg class="icon svg-icon" aria-hidden="true">
  343 + <use xlink:href="#icon-move"></use>
  344 + </svg>
  345 + <div class="name">move</div>
  346 + <div class="code-name">#icon-move</div>
  347 + </li>
  348 +
  349 + <li class="dib">
  350 + <svg class="icon svg-icon" aria-hidden="true">
  351 + <use xlink:href="#icon-sorting"></use>
  352 + </svg>
  353 + <div class="name">sorting</div>
  354 + <div class="code-name">#icon-sorting</div>
  355 + </li>
  356 +
  357 + <li class="dib">
  358 + <svg class="icon svg-icon" aria-hidden="true">
  359 + <use xlink:href="#icon-exchangerate"></use>
  360 + </svg>
  361 + <div class="name">exchange rate</div>
  362 + <div class="code-name">#icon-exchangerate</div>
  363 + </li>
  364 +
  365 + </ul>
  366 + <div class="article markdown">
  367 + <h2 id="symbol-">Symbol 引用</h2>
  368 + <hr>
  369 +
  370 + <p>这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇<a href="">文章</a>
  371 + 这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:</p>
  372 + <ul>
  373 + <li>支持多色图标了,不再受单色限制。</li>
  374 + <li>通过一些技巧,支持像字体那样,通过 <code>font-size</code>, <code>color</code> 来调整样式。</li>
  375 + <li>兼容性较差,支持 IE9+,及现代浏览器。</li>
  376 + <li>浏览器渲染 SVG 的性能一般,还不如 png。</li>
  377 + </ul>
  378 + <p>使用步骤如下:</p>
  379 + <h3 id="-symbol-">第一步:引入项目下面生成的 symbol 代码:</h3>
  380 +<pre><code class="language-html">&lt;script src="./iconfont.js"&gt;&lt;/script&gt;
  381 +</code></pre>
  382 + <h3 id="-css-">第二步:加入通用 CSS 代码(引入一次就行):</h3>
  383 +<pre><code class="language-html">&lt;style&gt;
  384 +.icon {
  385 + width: 1em;
  386 + height: 1em;
  387 + vertical-align: -0.15em;
  388 + fill: currentColor;
  389 + overflow: hidden;
  390 +}
  391 +&lt;/style&gt;
  392 +</code></pre>
  393 + <h3 id="-">第三步:挑选相应图标并获取类名,应用于页面:</h3>
  394 +<pre><code class="language-html">&lt;svg class="icon" aria-hidden="true"&gt;
  395 + &lt;use xlink:href="#icon-xxx"&gt;&lt;/use&gt;
  396 +&lt;/svg&gt;
  397 +</code></pre>
  398 + </div>
  399 + </div>
  400 +
  401 + </div>
  402 + </div>
  403 + <script>
  404 + $(document).ready(function () {
  405 + $('.tab-container .content:first').show()
  406 +
  407 + $('#tabs li').click(function (e) {
  408 + var tabContent = $('.tab-container .content')
  409 + var index = $(this).index()
  410 +
  411 + if ($(this).hasClass('active')) {
  412 + return
  413 + } else {
  414 + $('#tabs li').removeClass('active')
  415 + $(this).addClass('active')
  416 +
  417 + tabContent.hide().eq(index).fadeIn()
  418 + }
  419 + })
  420 + })
  421 + </script>
  422 +</body>
  423 +</html>
  1 +@font-face {font-family: "iconfont";
  2 + src: url('iconfont.eot?t=1574821180289'); /* IE9 */
  3 + src: url('iconfont.eot?t=1574821180289#iefix') format('embedded-opentype'), /* IE6-IE8 */
  4 + url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAYgAAsAAAAADDAAAAXQAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCELAqJSIgCATYCJAMwCxoABCAFhG0HgSsbhwrIHgVuTPbukUVWc5xbENE79Wcl2VFObtCJW1aB2CUOKgVyHRlCzrNVYOcBEH85LtAjzCfC9PoF/p9jqRdpZUf57duZHdH9q8hVYjTQ3nhAo3H1RerW4KONZsOJ+nSIc7kp0Kmx3qU7BFD0ZgQyf+HyOkwM6DwBpCUZj2BmAhgNCwUTwV9xq4FciA9TO0t7F7gg+H45xDgxQcOnQz1VxRY0Es4dyk/Ws/9nWa9nyW4vBozuAh0YARggV1YmLkaPGiPQUYvpBjGghDvRIXcodyz3T6fZWZEflJ/8//8F7hHJwPyklXCIlSsIR+Ve/83zU4BJIQoLQUPHAPFDjgC4l9qtK2s0CB/kjiD8kDuKKIDcMYQJuX8ISTpNIBR0ViAsyA9ECOQHITTIT0LokJ9selaNx3R2V2A0SAvIB33uepfGXJlmoNGrgBimsMDPLNRaZK3QGVq3ujZX0wxD395QX1cf0NfXOQ1OF22379xR0kTUZ/kVsYaUoQqkwa3b7rhTlZSIW1+HS4uJOzPc+KyMM9ttnBWvk3dwZ2yf1ejOdjLUzqxzZldLtL5uVq0Sq2bLzCoLVT3DidfPqEFJ1axmI3jppUHT7OWVzux6X6R+hmMoX8c1d9yWCoaUpRxhKGgTrx4crKYHA1lo+nA1s4eECF0R6l9zTQ+5vrd1HZ9+Wqc+/3yrdsv4P6u3tw6GbUDKJiPaip7slpC9SEKqIGpwMNGHVCAteVODseC8YINisiAdgfZWtQaEJlhwTDkEW/CQpw6REaHglT3lFrK91PXS0eeLLxrO+WzFngOfOx11SASt0BZiltqw+KvBIntXnjjOiRNVW7+vz5GjVVVHjpzcUVvFhH5NlXvHlK4ZvtuCHzd1INnTEg3OsBs2dwShec/GVRu5fur19zkNidOykO2z97p7N67cuPsSDnfwS78PvFdZQVPeo2p/Ph8TdJD/8tD5d+dUVL5LNlFsIZ/HDp7R9729u7K7nrNPDxzaFTXzjXZ6+Iyy+0Z8W3ZG+HTtm13ZZnfpe6/vunn7OR5/4VSfMXBB9LaXvjh44LtHHpnctTCX+zb4PFPCWfXg4PGM3UJY02WzhEsu0jZzkj2HP+XVvnNLvJLb910jTun90olI2f6UsWGmb29RaeEb8+4epV/+xjuX+4oWsG9CSW34w6fDuxi9cPWZ1ofik1KRsYKO5tfkBLyPHyrIGJsqYTP650h1CRG0CrBF7hY+F866jcdK18+S1RUiugg6UGX/JL8xfFOPVJfnTu648sqznEq2y4ZjNb5BXUe9Oe/qEQMj3fe/eOPpsnD3GCtxEE1NCU9NKLNIdM1vXKiN0U1NQ3ofXwXyKLD/OMD/9Bf1MPw/4GO99EPQA1oXAO1e7Yos9+REUjsA6Xbt5fBO/c/0O1Sv73xhU/GMX03LAOBr/b8ZKPzPYPtjJhqojX8do3KbsTRTMGDMN8ecgQABvqXX9+YIUCjgj5Mp4/t9uCrU80EwqUhAo4BeoGMygGlwR4APiwngx2Q2KIaz6G6LctLoiFEIDOM0B4QSHgCNIl4AnRLeYxrc78BHJUfAT4nooHCkvEmLQZJU89JuxHMb7S077WQ01RaTsKfChTVufGtLJJ02B3LHTWeSZXvsqDH5iUVum5vexhWZbfFxnhezY+lUq73Q6c1taUnZ7elUkxv1RiU8r33a6NGxqicaFU21ophHGpcIHi6N2GxhJzZJoqRoI+bt76EKX1+DS5yttBAh3bDqQtPBJU2G5OFtxjKKMQrmIkebatVjWZ5hG3HG4fVqMWxio/kpWrFZ2Iu5tHAjhU179UlNuETxGEXCotbONEb3dotpHaP272p9xA8ACholIJroYohP/FIgphSKEksC0oXARby2Pe1mMiMjLZ5yd7RH2hrj5gszqbQ3siXZ5voz25NeNKEi6XRq+8hGE2yzMCedjCc8cxja2t50TEsy5hmtqW1uQeeTkm3xgLsjmoi0xW+yHwAAAAA=') format('woff2'),
  5 + url('iconfont.woff?t=1574821180289') format('woff'),
  6 + url('iconfont.ttf?t=1574821180289') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
  7 + url('iconfont.svg?t=1574821180289#iconfont') format('svg'); /* iOS 4.1- */
  8 +}
  9 +
  10 +.iconfont {
  11 + font-family: "iconfont" !important;
  12 + font-size: 16px;
  13 + font-style: normal;
  14 + -webkit-font-smoothing: antialiased;
  15 + -moz-osx-font-smoothing: grayscale;
  16 + transform: rotate(90deg)
  17 +}
  18 +
  19 +.icon-compress-alt:before {
  20 + content: "\e825";
  21 +}
  22 +
  23 +.icon-expand-alt:before {
  24 + content: "\e826";
  25 +}
  26 +
  27 +.icon-sort-line:before {
  28 + content: "\e836";
  29 +}
  30 +
  31 +.icon-switch:before {
  32 + content: "\e837";
  33 +}
  34 +
  35 +.icon-arrow-down:before {
  36 + content: "\e6eb";
  37 +}
  38 +
  39 +.icon-arrow-right:before {
  40 + content: "\e6ed";
  41 +}
  42 +
  43 +.icon-arrow-up:before {
  44 + content: "\e6ee";
  45 +}
  46 +
  47 +.icon-arrow-lift:before {
  48 + content: "\e6ef";
  49 +}
  50 +
  51 +.icon-move:before {
  52 + content: "\e6fc";
  53 +}
  54 +
  55 +.icon-sorting:before {
  56 + content: "\e708";
  57 +}
  58 +
  59 +.icon-exchangerate:before {
  60 + content: "\e715";
  61 +}
  62 +
  1 +!function(m){var l,a='<svg><symbol id="icon-compress-alt" viewBox="0 0 1024 1024"><path d="M638.4 305.28L879.616 64 960 144.384 718.464 385.92l132.16 133.248H512V177.792L638.4 305.28zM385.152 722.112L146.56 960.64l-80.384-80.384 238.272-238.272L173.376 512H512v336l-126.848-125.888z" fill="#373D41" ></path></symbol><symbol id="icon-expand-alt" viewBox="0 0 1024 1024"><path d="M833.6 277.952l-241.216 241.28L512 438.72l241.536-241.536L621.44 64H960v341.376l-126.4-127.36zM190.848 749.888L429.44 511.36l80.384 80.384-238.272 238.272L402.624 960H64V624l126.848 125.888z" fill="#262626" ></path></symbol><symbol id="icon-sort-line" viewBox="0 0 1024 1024"><path d="M326.08 670.72V64H455.04v768h-0.64l-0.192 128.128L64 599.296l88.064-87.68 174.016 159.104z m380.992-318.272v607.68H577.92V171.648l0.32 0.192L578.816 64 960 414.72l-79.68 94.976-173.248-157.248z" fill="#262626" ></path></symbol><symbol id="icon-switch" viewBox="0 0 1024 1024"><path d="M670.72 325.696L511.552 152l87.68-87.872 360.96 389.504L832 453.76v0.64H64V325.76h606.72z m-318.4 382.08l157.248 172.8-94.976 79.552L63.872 579.84l147.712-0.704v-0.128H960v128.768H352.32z" fill="#262626" ></path></symbol><symbol id="icon-arrow-down" viewBox="0 0 1024 1024"><path d="M500.8 604.778667L267.306667 371.392l-45.226667 45.269333 278.741333 278.613334 278.485334-278.613334-45.248-45.248z" ></path></symbol><symbol id="icon-arrow-right" viewBox="0 0 1024 1024"><path d="M593.450667 512.128L360.064 278.613333l45.290667-45.226666 278.613333 278.762666L405.333333 790.613333l-45.226666-45.269333z" ></path></symbol><symbol id="icon-arrow-up" viewBox="0 0 1024 1024"><path d="M500.8 461.909333L267.306667 695.296l-45.226667-45.269333 278.741333-278.613334L779.306667 650.026667l-45.248 45.226666z" ></path></symbol><symbol id="icon-arrow-lift" viewBox="0 0 1024 1024"><path d="M641.28 278.613333l-45.226667-45.226666-278.634666 278.762666 278.613333 278.485334 45.248-45.269334-233.365333-233.237333z" ></path></symbol><symbol id="icon-move" viewBox="0 0 1024 1024"><path d="M545.28 618.666667v135.04l51.093333-49.578667 44.586667 45.909333-126.442667 122.752-128.682666-122.517333 44.117333-46.357333 51.349333 48.853333-0.021333-134.122667h64z m204.757333-235.626667l122.752 126.442667-122.517333 128.682666-46.357333-44.117333 48.853333-51.349333H618.666667v-64h135.04l-49.578667-51.072 45.909333-44.586667z m-476.202666 0l45.909333 44.586667-49.6 51.072H405.333333v64h-134.229333l48.853333 51.349333-46.336 44.117333-122.517333-128.682666 122.730667-126.442667zM514.517333 151.210667l126.442667 122.752-44.586667 45.909333-51.072-49.578667L545.28 405.333333h-64v-134.101333l-51.328 48.853333-44.117333-46.357333 128.682666-122.517333z" ></path></symbol><symbol id="icon-sorting" viewBox="0 0 1024 1024"><path d="M438.634667 192v644.202667l-0.810667 5.781333c-1.152 7.210667-2.304 8.704-8.64 17.002667l-7.168 3.925333c-15.914667 8.490667-18.282667 7.168-38.4-3.925333L149.333333 624.533333l45.269334-45.226666 180.032 180.138666V192h64z m216.96 10.005333l231.04 231.146667-45.269334 45.248L661.333333 298.261333V865.706667h-64V226.133333a34.133333 34.133333 0 0 1 58.282667-24.128z" ></path></symbol><symbol id="icon-exchangerate" viewBox="0 0 1024 1024"><path d="M562.368 797.397333l-1.216 0.149334 5.333333-0.64-2.773333 0.32 2.965333-0.362667-0.213333 0.042667 0.277333-0.042667 1.130667-0.192 0.256-0.042667 1.472-0.170666 3.114667-0.469334-0.64 0.106667 1.344-0.234667 3.541333-0.576-1.472 0.256 0.789333-0.106666 1.770667-0.32 0.405333-0.085334 1.066667-0.192 0.64-0.085333 2.709333-0.512 1.706667-0.362667-1.344 0.298667 3.157333-0.64 2.88-0.576 1.152-0.277333-0.874666 0.213333 1.749333-0.405333 0.170667-0.064 0.341333-0.064 0.682667-0.106667 0.704-0.192 2.368-0.533333 2.901333-0.704-2.965333 0.704 3.413333-0.810667 1.152-0.298667-1.109333 0.277334 1.130666-0.277334 1.493334-0.362666 1.557333-0.426667 1.386667-0.384h0.149333l0.64-0.192 0.96-0.298667 1.621333-0.426666 1.216-0.362667 0.384-0.106667 1.856-0.512 0.490667-0.192 1.856-0.554666 0.554667-0.128 1.28-0.426667 1.621333-0.490667 0.213333-0.064 2.986667-0.96 2.944-1.002666 2.773333-0.96 0.597334-0.213334 2.645333-0.96 1.472-0.576-0.704 0.277334 1.152-0.426667 1.877333-0.704 1.408-0.533333 0.874667-0.341334 1.685333-0.64 1.472-0.618666 1.792-0.746667 0.213334-0.085333 1.578666-0.661334 0.405334-0.170666 3.050666-1.301334 1.322667-0.576 1.962667-0.874666 0.96-0.426667 0.362666-0.170667 0.042667-0.021333 2.090667-0.96 0.213333-0.106667 1.92-0.874666 2.858667-1.408 0.426666-0.213334 2.453334-1.194666 1.386666-0.704 2.325334-1.216 0.512-0.234667 2.389333-1.28 0.853333-0.448 2.048-1.130667 1.194667-0.64 1.130667-0.618666 2.816-1.6-2.816 1.578666 2.922666-1.642666 2.005334-1.194667-2.048 1.194667 2.368-1.365334 0.810666-0.448c1.706667-1.002667 3.370667-2.026667 5.034667-3.050666l-1.984 1.173333 4.266667-2.602667 2.816-1.792 4.16-2.752 1.216-0.810666 2.133333-1.472 1.493333-1.045334 1.066667-0.725333 0.405333-0.298667 0.917334-0.661333 1.173333-0.810667 2.496-1.813333 0.426667-0.341333 0.149333-0.106667 1.770667-1.322667 0.277333-0.213333 0.170667-0.106667 2.432-1.856 0.277333-0.234666 1.386667-1.088 3.328-2.624 4.906666-4.053334 2.389334-1.984 1.344-1.216 0.469333-0.405333 0.384-0.341333 0.149333-0.085334c2.901333-2.56 5.76-5.162667 8.597334-7.829333l3.925333-3.797333 3.84-3.861334 1.792-1.856 1.792-1.856 2.112-2.24v-0.021333l2.154667-2.346667 1.152-1.28 0.682666-0.746666 0.32-0.362667 0.448-0.533333 1.578667-1.792 1.685333-1.941334 0.256-0.298666 1.536-1.834667 0.384-0.426667 0.448-0.533333 1.898667-2.346667-0.554667 0.704 0.704-0.874666 1.408-1.706667 2.069334-2.602667 0.021333-0.085333 0.768-0.981333 0.704-0.853334-1.493333 1.92c2.474667-3.157333 4.906667-6.4 7.253333-9.642666l1.194667-1.706667 0.661333-0.896 1.834667-2.645333-0.938667 1.301333 4.608-6.741333a298.24 298.24 0 0 0 9.386667-15.253334l0.981333-1.813333-0.021333 0.064a70.4 70.4 0 0 0 1.066666-1.856l-0.554666 0.896 1.664-2.901333a297.216 297.216 0 0 0 15.189333-32.341334l1.770667-4.522666a296.256 296.256 0 0 0 9.173333-28.522667l1.408-5.418667a296.362667 296.362667 0 0 0 8.533333-61.653333l0.149334-10.090667-0.064-6.656a297.557333 297.557333 0 0 0-13.205334-81.557333h66.453334c7.082667 28.245333 10.816 57.792 10.816 88.213333 0 197.632-158.357333 358.272-355.114667 361.941334l-6.869333 0.064-6.890667-0.064a360.789333 360.789333 0 0 1-246.784-103.68v82.730666h-64v-208h186.005333v64H273.066667v0.810667h46.464c47.914667 59.434667 116.714667 92.629333 208.469333 100.181333l4.096-0.042666 4.181333-0.085334 4.928-0.213333 1.173334-0.064-1.066667 0.042667 1.109333-0.064 1.216-0.042667 1.386667-0.085333 1.109333-0.064-0.832 0.042666 1.386667-0.064c4.842667-0.32 9.664-0.768 14.442667-1.322666l0.704-0.085334 0.490666-0.085333 0.426667-0.042667-0.298667 0.042667 0.362667-0.021333-0.469333 0.042666z m-19.221333 1.642667l-0.704 0.042667-0.042667 0.021333 0.746667-0.064z m2.176-0.106667l-0.277334 0.021334-1.898666 0.085333 2.176-0.106667z m3.925333-0.277333l-2.56 0.213333-0.533333 0.021334 3.093333-0.213334z m12.864-1.216l-0.256 0.021333-0.234667 0.021334 0.490667-0.042667z m0.362667-0.064h-0.128l-0.234667 0.064 0.256-0.042667h0.106667z m4.373333-0.533333l-0.106667 0.021333h-0.064l0.170667-0.021333z m1.109333-0.170667h-0.085333l-0.512 0.085333 0.597333-0.085333z m3.050667-0.426667l-2.88 0.384-0.170667 0.042667 3.050667-0.426667z m2.666667-0.405333l-0.256 0.021333-0.704 0.128 0.96-0.149333z m6.144-1.024l-0.298667 0.021333-0.661333 0.128-0.405334 0.064-1.344 0.256 1.749334-0.32 0.96-0.149333z m27.498666-6.336l-1.045333 0.277333-0.917333 0.277334 1.962666-0.554667z m3.797334-1.066667l-1.621334 0.448-0.341333 0.085334 1.962667-0.533334z m5.333333-1.664l-0.917333 0.298667-1.045334 0.341333 1.962667-0.64z m15.530667-5.333333l-0.746667 0.256-0.448 0.149333 1.194667-0.405333z m1.962666-0.789333l-0.832 0.341333-0.874666 0.32 1.706666-0.64z m24.576-10.773334l-0.768 0.384-0.106666 0.064 0.874666-0.426666z m13.290667-6.954666l-0.896 0.469333-0.832 0.469333 1.728-0.938666zM275.626667 340.992l-0.405334 0.64 0.106667-0.149333 0.298667-0.490667z m43.754666-53.482667l-2.752 2.709334 2.773334-2.709334z m90.922667-60.373333l-0.810667 0.341333 0.277334-0.149333 0.533333-0.213333z m87.850667-22.272l-1.386667 0.149333-0.512 0.021334 1.898667-0.170667z m0.554666-0.064l-0.554666 0.064 0.490666-0.064h0.064z m0.32-0.021333l-0.384 0.021333-0.106666 0.042667-0.384 0.021333-1.984 0.192h0.085333-0.213333 0.128l-0.192 0.021333-1.066667 0.128-4.608 0.512 3.114667-0.362666-6.890667 0.853333-6.826667 1.002667-3.136 0.512 1.258667-0.213334-2.816 0.490667-1.045333 0.170667-1.749334 0.32-5.290666 1.045333-6.250667 1.344-1.6 0.362667-4.821333 1.152a295.786667 295.786667 0 0 0-7.978667 2.133333l0.832-0.256-1.792 0.512-2.56 0.746667-0.149333 0.042666-3.050667 0.917334-0.554667 0.149333-0.682666 0.213333-2.986667 0.938667-5.013333 1.685333a295.722667 295.722667 0 0 0-17.365334 6.549334l-1.216 0.469333 0.810667-0.32-0.832 0.32-0.362667 0.170667-1.578666 0.661333-0.704 0.32 0.426666-0.170667-1.984 0.853334h-0.021333l-1.408 0.64-2.304 1.024-0.149333 0.064-0.32 0.149333-2.133334 0.981333-3.050666 1.450667-0.085334 0.021333-2.837333 1.386667-0.896 0.448-1.578667 0.789333-0.128 0.064-1.109333 0.554667-1.941333 1.024-1.258667 0.64-1.066667 0.576-0.853333 0.448-0.512 0.256-0.704 0.384-0.149333 0.085333-0.682667 0.384-0.149333 0.085334a297.493333 297.493333 0 0 0-13.376 7.744l-0.448 0.277333-0.042667 0.021333-1.877333 1.173334-2.346667 1.493333-2.816 1.834667-0.490667 0.32-0.192 0.106666-2.517333 1.706667-0.149333 0.085333-2.090667 1.429334-1.557333 1.066666 1.066666-0.725333-4.522666 3.2-0.021334 0.021333-0.362666 0.256-1.962667 1.429334-2.325333 1.728-0.256 0.192-0.554667 0.426666-1.685333 1.258667 1.685333-1.258667-4.693333 3.626667a299.434667 299.434667 0 0 0-6.442667 5.205333l-1.130667 0.96-2.133333 1.813334-0.682667 0.554666-6.186666 5.504a299.84 299.84 0 0 0-18.88 18.816l-5.824 6.528-2.901334 3.413334-0.426666 0.490666-1.92 2.346667-1.941334 2.368-1.088 1.365333-1.173333 1.493334-1.813333 2.346666-1.344 1.770667-0.149334 0.213333-0.277333 0.32-1.216 1.664-0.341333 0.448-2.005334 2.773334-0.981333 1.344-0.832 1.152 0.064-0.064-0.533333 0.789333-1.344 1.92-0.896 1.28-0.832 1.237333-0.085334 0.149334-0.234666 0.32-1.237334 1.856-0.298666 0.490666-1.365334 2.090667-0.853333 1.322667-0.149333 0.234666-3.648 5.909334-4.437334 7.594666-4.224 7.722667c-0.725333 1.386667-1.450667 2.773333-2.154666 4.202667l-0.384 0.704-0.042667 0.128-1.109333 2.197333 1.109333-2.218667-2.709333 5.546667a296.533333 296.533333 0 0 0-2.986667 6.485333l-0.426667 0.981334-0.192 0.384-0.256 0.597333a296.085333 296.085333 0 0 0-20.416 67.413333l-0.981333 5.888a297.962667 297.962667 0 0 0-3.562667 46.272c0 30.549333 4.608 60.053333 13.141334 87.808H175.488a362.794667 362.794667 0 0 1-10.730667-87.808c0-24.32 2.389333-48.064 6.954667-71.018666 33.002667-165.930667 179.413333-290.986667 355.050667-290.986667 93.504 0 178.752 35.456 242.986666 93.674667V128.512h64v208h-185.984v-64h56.426667c-43.456-38.4-99.754667-61.013333-169.877333-68.181333l-8.810667-0.810667-5.056 0.064-5.184 0.149333-2.624 0.106667h-0.384l-0.469333 0.042667h0.170666l0.298667-0.042667h0.576H512.277333l-0.192 0.021333h-0.128l-0.384 0.021334h-0.085333l-0.128 0.021333h-0.128l-0.234667 0.021333-0.981333 0.064 0.512-0.042666h0.469333l0.277334-0.042667h0.512l-1.258667 0.042667-1.194667 0.085333-3.157333 0.170667 3.84-0.213334-0.618667 0.021334-3.285333 0.213333-0.981333 0.042667-2.133334 0.192-1.408 0.085333-1.237333 0.106667h0.149333l1.088-0.106667 0.64-0.021333-1.728 0.106666-0.362666 0.064-1.109334 0.085334z m6.826667-0.533334l-2.816 0.213334 2.090667-0.192 0.725333-0.021334z m5.184-0.32l-1.642667 0.085334 1.322667-0.085334h0.32z m0.277333 0l0.128-0.042666h0.64l0.106667-0.042667h0.64-0.64l-0.746667 0.042667-0.405333 0.042666h0.277333z m51.904 593.344l-0.021333 0.021334h-0.085333 0.106666l0.405334-0.064-0.362667 0.064h-0.042667z m29.141334-5.034666l-0.554667 0.128-0.170667 0.021333 0.725334-0.149333z" ></path></symbol></svg>',t=(l=document.getElementsByTagName("script"))[l.length-1].getAttribute("data-injectcss");if(t&&!m.__iconfont__svg__cssinject__){m.__iconfont__svg__cssinject__=!0;try{document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")}catch(l){console&&console.log(l)}}!function(l){if(document.addEventListener)if(~["complete","loaded","interactive"].indexOf(document.readyState))setTimeout(l,0);else{var t=function(){document.removeEventListener("DOMContentLoaded",t,!1),l()};document.addEventListener("DOMContentLoaded",t,!1)}else document.attachEvent&&(o=l,i=m.document,n=!1,(a=function(){try{i.documentElement.doScroll("left")}catch(l){return void setTimeout(a,50)}e()})(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,e())});function e(){n||(n=!0,o())}var o,i,n,a}(function(){var l,t,e,o,i,n;(l=document.createElement("div")).innerHTML=a,a=null,(t=l.getElementsByTagName("svg")[0])&&(t.setAttribute("aria-hidden","true"),t.style.position="absolute",t.style.width=0,t.style.height=0,t.style.overflow="hidden",e=t,(o=document.body).firstChild?(i=e,(n=o.firstChild).parentNode.insertBefore(i,n)):o.appendChild(e))})}(window);
  1 +{
  2 + "id": "1525688",
  3 + "name": "icon",
  4 + "font_family": "iconfont",
  5 + "css_prefix_text": "icon-",
  6 + "description": "",
  7 + "glyphs": [
  8 + {
  9 + "icon_id": "6151288",
  10 + "name": "compress-alt",
  11 + "font_class": "compress-alt",
  12 + "unicode": "e825",
  13 + "unicode_decimal": 59429
  14 + },
  15 + {
  16 + "icon_id": "6151289",
  17 + "name": "expand-alt",
  18 + "font_class": "expand-alt",
  19 + "unicode": "e826",
  20 + "unicode_decimal": 59430
  21 + },
  22 + {
  23 + "icon_id": "6151312",
  24 + "name": "sort-line",
  25 + "font_class": "sort-line",
  26 + "unicode": "e836",
  27 + "unicode_decimal": 59446
  28 + },
  29 + {
  30 + "icon_id": "6151314",
  31 + "name": "switch",
  32 + "font_class": "switch",
  33 + "unicode": "e837",
  34 + "unicode_decimal": 59447
  35 + },
  36 + {
  37 + "icon_id": "11474197",
  38 + "name": "arrow-down",
  39 + "font_class": "arrow-down",
  40 + "unicode": "e6eb",
  41 + "unicode_decimal": 59115
  42 + },
  43 + {
  44 + "icon_id": "11474198",
  45 + "name": "arrow-right",
  46 + "font_class": "arrow-right",
  47 + "unicode": "e6ed",
  48 + "unicode_decimal": 59117
  49 + },
  50 + {
  51 + "icon_id": "11474210",
  52 + "name": "arrow-up",
  53 + "font_class": "arrow-up",
  54 + "unicode": "e6ee",
  55 + "unicode_decimal": 59118
  56 + },
  57 + {
  58 + "icon_id": "11474211",
  59 + "name": "arrow-lift",
  60 + "font_class": "arrow-lift",
  61 + "unicode": "e6ef",
  62 + "unicode_decimal": 59119
  63 + },
  64 + {
  65 + "icon_id": "11474294",
  66 + "name": "move",
  67 + "font_class": "move",
  68 + "unicode": "e6fc",
  69 + "unicode_decimal": 59132
  70 + },
  71 + {
  72 + "icon_id": "11474361",
  73 + "name": "sorting",
  74 + "font_class": "sorting",
  75 + "unicode": "e708",
  76 + "unicode_decimal": 59144
  77 + },
  78 + {
  79 + "icon_id": "11481231",
  80 + "name": "exchange rate",
  81 + "font_class": "exchangerate",
  82 + "unicode": "e715",
  83 + "unicode_decimal": 59157
  84 + }
  85 + ]
  86 +}
  1 +<?xml version="1.0" standalone="no"?>
  2 +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
  3 +<!--
  4 +2013-9-30: Created.
  5 +-->
  6 +<svg>
  7 +<metadata>
  8 +Created by iconfont
  9 +</metadata>
  10 +<defs>
  11 +
  12 +<font id="iconfont" horiz-adv-x="1024" >
  13 + <font-face
  14 + font-family="iconfont"
  15 + font-weight="500"
  16 + font-stretch="normal"
  17 + units-per-em="1024"
  18 + ascent="896"
  19 + descent="-128"
  20 + />
  21 + <missing-glyph />
  22 +
  23 + <glyph glyph-name="compress-alt" unicode="&#59429;" d="M638.4 590.72L879.616 832 960 751.616 718.464 510.08l132.16-133.248H512V718.208L638.4 590.72zM385.152 173.888L146.56-64.64l-80.384 80.384 238.272 238.272L173.376 384H512v-336l-126.848 125.888z" horiz-adv-x="1024" />
  24 +
  25 +
  26 + <glyph glyph-name="expand-alt" unicode="&#59430;" d="M833.6 618.048l-241.216-241.28L512 457.28l241.536 241.536L621.44 832H960v-341.376l-126.4 127.36zM190.848 146.112L429.44 384.64l80.384-80.384-238.272-238.272L402.624-64H64V272l126.848-125.888z" horiz-adv-x="1024" />
  27 +
  28 +
  29 + <glyph glyph-name="sort-line" unicode="&#59446;" d="M326.08 225.27999999999997V832H455.04v-768h-0.64l-0.192-128.128L64 296.70399999999995l88.064 87.68 174.016-159.104z m380.992 318.272v-607.68H577.92V724.352l0.32-0.192L578.816 832 960 481.28l-79.68-94.976-173.248 157.248z" horiz-adv-x="1024" />
  30 +
  31 +
  32 + <glyph glyph-name="switch" unicode="&#59447;" d="M670.72 570.304L511.552 744l87.68 87.872 360.96-389.504L832 442.24v-0.64H64V570.24h606.72z m-318.4-382.08l157.248-172.8-94.976-79.552L63.872 316.16l147.712 0.704v0.128H960v-128.768H352.32z" horiz-adv-x="1024" />
  33 +
  34 +
  35 + <glyph glyph-name="arrow-down" unicode="&#59115;" d="M500.8 291.221333L267.306667 524.608l-45.226667-45.269333 278.741333-278.613334 278.485334 278.613334-45.248 45.248z" horiz-adv-x="1024" />
  36 +
  37 +
  38 + <glyph glyph-name="arrow-right" unicode="&#59117;" d="M593.450667 383.872L360.064 617.386667l45.290667 45.226666 278.613333-278.762666L405.333333 105.386667l-45.226666 45.269333z" horiz-adv-x="1024" />
  39 +
  40 +
  41 + <glyph glyph-name="arrow-up" unicode="&#59118;" d="M500.8 434.090667L267.306667 200.704l-45.226667 45.269333 278.741333 278.613334L779.306667 245.973333l-45.248-45.226666z" horiz-adv-x="1024" />
  42 +
  43 +
  44 + <glyph glyph-name="arrow-lift" unicode="&#59119;" d="M641.28 617.386667l-45.226667 45.226666-278.634666-278.762666 278.613333-278.485334 45.248 45.269334-233.365333 233.237333z" horiz-adv-x="1024" />
  45 +
  46 +
  47 + <glyph glyph-name="move" unicode="&#59132;" d="M545.28 277.333333v-135.04l51.093333 49.578667 44.586667-45.909333-126.442667-122.752-128.682666 122.517333 44.117333 46.357333 51.349333-48.853333-0.021333 134.122667h64z m204.757333 235.626667l122.752-126.442667-122.517333-128.682666-46.357333 44.117333 48.853333 51.349333H618.666667v64h135.04l-49.578667 51.072 45.909333 44.586667z m-476.202666 0l45.909333-44.586667-49.6-51.072H405.333333v-64h-134.229333l48.853333-51.349333-46.336-44.117333-122.517333 128.682666 122.730667 126.442667zM514.517333 744.789333l126.442667-122.752-44.586667-45.909333-51.072 49.578667L545.28 490.666667h-64v134.101333l-51.328-48.853333-44.117333 46.357333 128.682666 122.517333z" horiz-adv-x="1024" />
  48 +
  49 +
  50 + <glyph glyph-name="sorting" unicode="&#59144;" d="M438.634667 704v-644.202667l-0.810667-5.781333c-1.152-7.210667-2.304-8.704-8.64-17.002667l-7.168-3.925333c-15.914667-8.490667-18.282667-7.168-38.4 3.925333L149.333333 271.466667l45.269334 45.226666 180.032-180.138666V704h64z m216.96-10.005333l231.04-231.146667-45.269334-45.248L661.333333 597.738667V30.293333h-64V669.866667a34.133333 34.133333 0 0 0 58.282667 24.128z" horiz-adv-x="1024" />
  51 +
  52 +
  53 + <glyph glyph-name="exchangerate" unicode="&#59157;" d="M562.368 98.602667l-1.216-0.149334 5.333333 0.64-2.773333-0.32 2.965333 0.362667-0.213333-0.042667 0.277333 0.042667 1.130667 0.192 0.256 0.042667 1.472 0.170666 3.114667 0.469334-0.64-0.106667 1.344 0.234667 3.541333 0.576-1.472-0.256 0.789333 0.106666 1.770667 0.32 0.405333 0.085334 1.066667 0.192 0.64 0.085333 2.709333 0.512 1.706667 0.362667-1.344-0.298667 3.157333 0.64 2.88 0.576 1.152 0.277333-0.874666-0.213333 1.749333 0.405333 0.170667 0.064 0.341333 0.064 0.682667 0.106667 0.704 0.192 2.368 0.533333 2.901333 0.704-2.965333-0.704 3.413333 0.810667 1.152 0.298667-1.109333-0.277334 1.130666 0.277334 1.493334 0.362666 1.557333 0.426667 1.386667 0.384h0.149333l0.64 0.192 0.96 0.298667 1.621333 0.426666 1.216 0.362667 0.384 0.106667 1.856 0.512 0.490667 0.192 1.856 0.554666 0.554667 0.128 1.28 0.426667 1.621333 0.490667 0.213333 0.064 2.986667 0.96 2.944 1.002666 2.773333 0.96 0.597334 0.213334 2.645333 0.96 1.472 0.576-0.704-0.277334 1.152 0.426667 1.877333 0.704 1.408 0.533333 0.874667 0.341334 1.685333 0.64 1.472 0.618666 1.792 0.746667 0.213334 0.085333 1.578666 0.661334 0.405334 0.170666 3.050666 1.301334 1.322667 0.576 1.962667 0.874666 0.96 0.426667 0.362666 0.170667 0.042667 0.021333 2.090667 0.96 0.213333 0.106667 1.92 0.874666 2.858667 1.408 0.426666 0.213334 2.453334 1.194666 1.386666 0.704 2.325334 1.216 0.512 0.234667 2.389333 1.28 0.853333 0.448 2.048 1.130667 1.194667 0.64 1.130667 0.618666 2.816 1.6-2.816-1.578666 2.922666 1.642666 2.005334 1.194667-2.048-1.194667 2.368 1.365334 0.810666 0.448c1.706667 1.002667 3.370667 2.026667 5.034667 3.050666l-1.984-1.173333 4.266667 2.602667 2.816 1.792 4.16 2.752 1.216 0.810666 2.133333 1.472 1.493333 1.045334 1.066667 0.725333 0.405333 0.298667 0.917334 0.661333 1.173333 0.810667 2.496 1.813333 0.426667 0.341333 0.149333 0.106667 1.770667 1.322667 0.277333 0.213333 0.170667 0.106667 2.432 1.856 0.277333 0.234666 1.386667 1.088 3.328 2.624 4.906666 4.053334 2.389334 1.984 1.344 1.216 0.469333 0.405333 0.384 0.341333 0.149333 0.085334c2.901333 2.56 5.76 5.162667 8.597334 7.829333l3.925333 3.797333 3.84 3.861334 1.792 1.856 1.792 1.856 2.112 2.24v0.021333l2.154667 2.346667 1.152 1.28 0.682666 0.746666 0.32 0.362667 0.448 0.533333 1.578667 1.792 1.685333 1.941334 0.256 0.298666 1.536 1.834667 0.384 0.426667 0.448 0.533333 1.898667 2.346667-0.554667-0.704 0.704 0.874666 1.408 1.706667 2.069334 2.602667 0.021333 0.085333 0.768 0.981333 0.704 0.853334-1.493333-1.92c2.474667 3.157333 4.906667 6.4 7.253333 9.642666l1.194667 1.706667 0.661333 0.896 1.834667 2.645333-0.938667-1.301333 4.608 6.741333a298.24 298.24 0 0 1 9.386667 15.253334l0.981333 1.813333-0.021333-0.064a70.4 70.4 0 0 1 1.066666 1.856l-0.554666-0.896 1.664 2.901333a297.216 297.216 0 0 1 15.189333 32.341334l1.770667 4.522666a296.256 296.256 0 0 1 9.173333 28.522667l1.408 5.418667a296.362667 296.362667 0 0 1 8.533333 61.653333l0.149334 10.090667-0.064 6.656a297.557333 297.557333 0 0 1-13.205334 81.557333h66.453334c7.082667-28.245333 10.816-57.792 10.816-88.213333 0-197.632-158.357333-358.272-355.114667-361.941334l-6.869333-0.064-6.890667 0.064a360.789333 360.789333 0 0 0-246.784 103.68v-82.730666h-64v208h186.005333v-64H273.066667v-0.810667h46.464c47.914667-59.434667 116.714667-92.629333 208.469333-100.181333l4.096 0.042666 4.181333 0.085334 4.928 0.213333 1.173334 0.064-1.066667-0.042667 1.109333 0.064 1.216 0.042667 1.386667 0.085333 1.109333 0.064-0.832-0.042666 1.386667 0.064c4.842667 0.32 9.664 0.768 14.442667 1.322666l0.704 0.085334 0.490666 0.085333 0.426667 0.042667-0.298667-0.042667 0.362667 0.021333-0.469333-0.042666z m-19.221333-1.642667l-0.704-0.042667-0.042667-0.021333 0.746667 0.064z m2.176 0.106667l-0.277334-0.021334-1.898666-0.085333 2.176 0.106667z m3.925333 0.277333l-2.56-0.213333-0.533333-0.021334 3.093333 0.213334z m12.864 1.216l-0.256-0.021333-0.234667-0.021334 0.490667 0.042667z m0.362667 0.064h-0.128l-0.234667-0.064 0.256 0.042667h0.106667z m4.373333 0.533333l-0.106667-0.021333h-0.064l0.170667 0.021333z m1.109333 0.170667h-0.085333l-0.512-0.085333 0.597333 0.085333z m3.050667 0.426667l-2.88-0.384-0.170667-0.042667 3.050667 0.426667z m2.666667 0.405333l-0.256-0.021333-0.704-0.128 0.96 0.149333z m6.144 1.024l-0.298667-0.021333-0.661333-0.128-0.405334-0.064-1.344-0.256 1.749334 0.32 0.96 0.149333z m27.498666 6.336l-1.045333-0.277333-0.917333-0.277334 1.962666 0.554667z m3.797334 1.066667l-1.621334-0.448-0.341333-0.085334 1.962667 0.533334z m5.333333 1.664l-0.917333-0.298667-1.045334-0.341333 1.962667 0.64z m15.530667 5.333333l-0.746667-0.256-0.448-0.149333 1.194667 0.405333z m1.962666 0.789333l-0.832-0.341333-0.874666-0.32 1.706666 0.64z m24.576 10.773334l-0.768-0.384-0.106666-0.064 0.874666 0.426666z m13.290667 6.954666l-0.896-0.469333-0.832-0.469333 1.728 0.938666zM275.626667 555.008l-0.405334-0.64 0.106667 0.149333 0.298667 0.490667z m43.754666 53.482667l-2.752-2.709334 2.773334 2.709334z m90.922667 60.373333l-0.810667-0.341333 0.277334 0.149333 0.533333 0.213333z m87.850667 22.272l-1.386667-0.149333-0.512-0.021334 1.898667 0.170667z m0.554666 0.064l-0.554666-0.064 0.490666 0.064h0.064z m0.32 0.021333l-0.384-0.021333-0.106666-0.042667-0.384-0.021333-1.984-0.192h0.085333-0.213333 0.128l-0.192-0.021333-1.066667-0.128-4.608-0.512 3.114667 0.362666-6.890667-0.853333-6.826667-1.002667-3.136-0.512 1.258667 0.213334-2.816-0.490667-1.045333-0.170667-1.749334-0.32-5.290666-1.045333-6.250667-1.344-1.6-0.362667-4.821333-1.152a295.786667 295.786667 0 0 1-7.978667-2.133333l0.832 0.256-1.792-0.512-2.56-0.746667-0.149333-0.042666-3.050667-0.917334-0.554667-0.149333-0.682666-0.213333-2.986667-0.938667-5.013333-1.685333a295.722667 295.722667 0 0 1-17.365334-6.549334l-1.216-0.469333 0.810667 0.32-0.832-0.32-0.362667-0.170667-1.578666-0.661333-0.704-0.32 0.426666 0.170667-1.984-0.853334h-0.021333l-1.408-0.64-2.304-1.024-0.149333-0.064-0.32-0.149333-2.133334-0.981333-3.050666-1.450667-0.085334-0.021333-2.837333-1.386667-0.896-0.448-1.578667-0.789333-0.128-0.064-1.109333-0.554667-1.941333-1.024-1.258667-0.64-1.066667-0.576-0.853333-0.448-0.512-0.256-0.704-0.384-0.149333-0.085333-0.682667-0.384-0.149333-0.085334a297.493333 297.493333 0 0 1-13.376-7.744l-0.448-0.277333-0.042667-0.021333-1.877333-1.173334-2.346667-1.493333-2.816-1.834667-0.490667-0.32-0.192-0.106666-2.517333-1.706667-0.149333-0.085333-2.090667-1.429334-1.557333-1.066666 1.066666 0.725333-4.522666-3.2-0.021334-0.021333-0.362666-0.256-1.962667-1.429334-2.325333-1.728-0.256-0.192-0.554667-0.426666-1.685333-1.258667 1.685333 1.258667-4.693333-3.626667a299.434667 299.434667 0 0 1-6.442667-5.205333l-1.130667-0.96-2.133333-1.813334-0.682667-0.554666-6.186666-5.504a299.84 299.84 0 0 1-18.88-18.816l-5.824-6.528-2.901334-3.413334-0.426666-0.490666-1.92-2.346667-1.941334-2.368-1.088-1.365333-1.173333-1.493334-1.813333-2.346666-1.344-1.770667-0.149334-0.213333-0.277333-0.32-1.216-1.664-0.341333-0.448-2.005334-2.773334-0.981333-1.344-0.832-1.152 0.064 0.064-0.533333-0.789333-1.344-1.92-0.896-1.28-0.832-1.237333-0.085334-0.149334-0.234666-0.32-1.237334-1.856-0.298666-0.490666-1.365334-2.090667-0.853333-1.322667-0.149333-0.234666-3.648-5.909334-4.437334-7.594666-4.224-7.722667c-0.725333-1.386667-1.450667-2.773333-2.154666-4.202667l-0.384-0.704-0.042667-0.128-1.109333-2.197333 1.109333 2.218667-2.709333-5.546667a296.533333 296.533333 0 0 1-2.986667-6.485333l-0.426667-0.981334-0.192-0.384-0.256-0.597333a296.085333 296.085333 0 0 1-20.416-67.413333l-0.981333-5.888a297.962667 297.962667 0 0 1-3.562667-46.272c0-30.549333 4.608-60.053333 13.141334-87.808H175.488a362.794667 362.794667 0 0 0-10.730667 87.808c0 24.32 2.389333 48.064 6.954667 71.018666 33.002667 165.930667 179.413333 290.986667 355.050667 290.986667 93.504 0 178.752-35.456 242.986666-93.674667V767.488h64v-208h-185.984v64h56.426667c-43.456 38.4-99.754667 61.013333-169.877333 68.181333l-8.810667 0.810667-5.056-0.064-5.184-0.149333-2.624-0.106667h-0.384l-0.469333-0.042667h0.170666l0.298667 0.042667h0.576H512.277333l-0.192-0.021333h-0.128l-0.384-0.021334h-0.085333l-0.128-0.021333h-0.128l-0.234667-0.021333-0.981333-0.064 0.512 0.042666h0.469333l0.277334 0.042667h0.512l-1.258667-0.042667-1.194667-0.085333-3.157333-0.170667 3.84 0.213334-0.618667-0.021334-3.285333-0.213333-0.981333-0.042667-2.133334-0.192-1.408-0.085333-1.237333-0.106667h0.149333l1.088 0.106667 0.64 0.021333-1.728-0.106666-0.362666-0.064-1.109334-0.085334z m6.826667 0.533334l-2.816-0.213334 2.090667 0.192 0.725333 0.021334z m5.184 0.32l-1.642667-0.085334 1.322667 0.085334h0.32z m0.277333 0l0.128 0.042666h0.64l0.106667 0.042667h0.64-0.64l-0.746667-0.042667-0.405333-0.042666h0.277333z m51.904-593.344l-0.021333-0.021334h-0.085333 0.106666l0.405334 0.064-0.362667-0.064h-0.042667z m29.141334 5.034666l-0.554667-0.128-0.170667-0.021333 0.725334 0.149333z" horiz-adv-x="1024" />
  54 +
  55 +
  56 +
  57 +
  58 + </font>
  59 +</defs></svg>
@@ -51,6 +51,39 @@ const routes = [{ @@ -51,6 +51,39 @@ const routes = [{
51 path: '/operationMaintenance/config', 51 path: '/operationMaintenance/config',
52 name: 'operationMaintenanceConfig', 52 name: 'operationMaintenanceConfig',
53 component: () => myImport('views/operationMaintenance/config/index') 53 component: () => myImport('views/operationMaintenance/config/index')
  54 + },{
  55 + path: '/bigscreen',
  56 + name: 'zjBigScreen',
  57 + component: () => myImport('views/dp/index')
  58 + },
  59 + ,{
  60 + path: '/topfive',
  61 + name: 'topfive',
  62 + component: () => myImport('views/dp/components/topfive/index')
  63 + },{
  64 + path: '/availability',
  65 + name: 'availability',
  66 + component: () => myImport('views/dp/components/availability/index')
  67 + },
  68 + {
  69 + path: '/responsemonitor',
  70 + name: 'responsemonitor',
  71 + component: () => myImport('views/dp/components/responseMonitor/index')
  72 + },
  73 + {
  74 + path: '/bandwidthcpu',
  75 + name: 'bandwidthcpu',
  76 + component: () => myImport('views/dp/components/bandwidthCpu/index')
  77 + },
  78 + {
  79 + path: '/digitalboardtop',
  80 + name: 'digitalboardtop',
  81 + component: () => myImport('views/dp/components/digitalBoardTop/index')
  82 + },
  83 + {
  84 + path: '/deduction',
  85 + name: 'deduction',
  86 + component: () => myImport('views/dp/components/deduction/index')
54 } 87 }
55 ]; 88 ];
56 89
  1 +<div class="com-container">
  2 + <div class="com-chart" id="availability_ref"></div>
  3 + <div class="topfive-box-title">
  4 + <img :style="comtitleImgStyle" src="./src/assets/img/box_title_bykk_zj_1.png" class="topfive-title-img"> <!-- bor1_6 -->
  5 + <span :style="comtitleTextStyle" class="topfive-title-size">业务可用性</span>
  6 + </div>
  7 +</div>
  1 +export default {
  2 + name: 'Availability',
  3 + template: '',
  4 + components: {},
  5 + data () {
  6 + return {
  7 + chartInstance: null,
  8 + allData: {
  9 + polyline: {
  10 + title: "业务可用性",
  11 + unit: "%",
  12 + data: {
  13 + name: "占比",
  14 + data: ["67","70","80","71","90","92","72","70","56","45","89","100"]
  15 + }
  16 + },
  17 + xAxis: {
  18 + time: ["01:00", "02:00", "03:00", "04:00", "05:00", "06:00", "07:00", "08:00", "09:00", "10:00", "11:00", "12:00"]
  19 + }
  20 + },
  21 + startValue: 0, // 区域缩放的起点值
  22 + endValue: 6, // 区域缩放的终点值
  23 + timerId: null // 定时器的标识
  24 + }
  25 + },
  26 + mounted () {
  27 + this.initChart()
  28 + this.getData()
  29 + window.addEventListener('resize', this.screenAdapter)
  30 + this.screenAdapter()
  31 + },
  32 + unmounted () {
  33 + window.removeEventListener('resize', this.screenAdapter)
  34 + clearInterval(this.timerId)
  35 + },
  36 + computed: {
  37 + comtitleTextStyle () {
  38 + return {
  39 + fontSize: this.titleFontSize / 2 + 'px'
  40 + }
  41 + },
  42 + comtitleImgStyle () {
  43 + return {
  44 + height: this.titleFontSize * 1.2 + 'px',
  45 + width: this.titleFontSize * 8 + 'px'
  46 + }
  47 + }
  48 + },
  49 + methods: {
  50 + initChart () {
  51 + this.chartInstance = echarts.init(document.getElementById('availability_ref'))
  52 + const initOption = {
  53 + grid: {
  54 + top: '25%',
  55 + left: '3%',
  56 + right: '6%',
  57 + bottom: '3%',
  58 + containLabel: true
  59 + },
  60 + legend: {
  61 + right: '2%',
  62 + top: '5%'
  63 + },
  64 + xAxis: {
  65 + type: 'category',
  66 + boundaryGap: false
  67 + },
  68 + yAxis: {
  69 + type: 'value',
  70 + splitLine: {
  71 + show: false
  72 + }
  73 + }
  74 + }
  75 + this.chartInstance.setOption(initOption)
  76 + },
  77 + async getData () {
  78 + // await this.$http.get()
  79 + // const { data: ret } = await this.$http.get('responsemonitor')
  80 + // this.allData = ret
  81 + // console.log(ret)
  82 + this.updateChart()
  83 + this.startInterval()
  84 + },
  85 + updateChart () {
  86 + // 半透明的颜色值
  87 + const colorArr1 = [
  88 + 'rgba(11, 168, 44, 0.5)',
  89 + 'rgba(44, 110, 255, 0.5)',
  90 + 'rgba(22, 242, 217, 0.5)',
  91 + 'rgba(254, 33, 30, 0.5)',
  92 + 'rgba(250, 105, 0, 0.5)'
  93 + ]
  94 + // 全透明的颜色值
  95 + const colorArr2 = [
  96 + 'rgba(11, 168, 44, 0)',
  97 + 'rgba(44, 110, 255, 0)',
  98 + 'rgba(22, 242, 217, 0)',
  99 + 'rgba(254, 33, 30, 0)',
  100 + 'rgba(250, 105, 0, 0)'
  101 + ]
  102 + const timeArr = this.allData.xAxis.today
  103 + const seriesData = this.allData.polyline.data.data
  104 + const seriesName = this.allData.polyline.data.name
  105 + // 图例的数据
  106 + const legendArr = this.allData.polyline.data.data.map(item => {
  107 + return item.name
  108 + })
  109 + console.log(legendArr)
  110 + const title = this.allData.polyline.title
  111 + const unit = this.allData.polyline.unit
  112 + const dataOption = {
  113 + // title: {
  114 + // text: '{Sunny| 业务可用性 }',
  115 + // show: true
  116 + // },
  117 + xAxis: {
  118 + data: timeArr
  119 + },
  120 + legend: {
  121 + data: legendArr
  122 + },
  123 + dataZoom: {
  124 + show: false,
  125 + startValue: this.startValue,
  126 + endValue: this.endValue
  127 + },
  128 + series: [
  129 + {
  130 + name: seriesName,
  131 + type: 'line',
  132 + data: seriesData,
  133 + smooth: true,
  134 + areaStyle: {
  135 + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  136 + {
  137 + offset: 0,
  138 + color: colorArr1[2]
  139 + }, // %0的颜色值
  140 + {
  141 + offset: 1,
  142 + color: colorArr2[2]
  143 + } // 100%的颜色值
  144 + ])
  145 + }
  146 + }
  147 + ]
  148 + }
  149 + this.chartInstance.setOption(dataOption)
  150 + },
  151 + screenAdapter () {
  152 + this.titleFontSize = document.getElementById('availability_ref').offsetWidth / 100 * 3.6
  153 + const adapterOption = {
  154 + // title: {
  155 + // left: this.titleFontSize * 2,
  156 + // textStyle: {
  157 + // fontSize: this.titleFontSize,
  158 + // color: '#F0F3F8'
  159 + // // rich: {
  160 + // // Sunny: {
  161 + // // // 这样设定 backgroundColor 就可以是图片了。
  162 + // // backgroundColor: {
  163 + // // image: require('../assets/img/bg_box_3.png')
  164 + // // },
  165 + // // // 可以只指定图片的高度,从而图片的宽度根据图片的长宽比自动得到。
  166 + // // height: this.titleFontSize * 1.5
  167 + // // }
  168 + // // }
  169 + // }
  170 + // },
  171 + legend: {
  172 + itemWidth: this.titleFontSize,
  173 + itemHeight: this.titleFontSize,
  174 + itemGap: this.titleFontSize,
  175 + textStyle: {
  176 + fontSize: this.titleFontSize / 2
  177 + }
  178 + }
  179 + }
  180 + this.chartInstance.setOption(adapterOption)
  181 + this.chartInstance.resize()
  182 + },
  183 + startInterval () {
  184 + if (this.timerId) {
  185 + clearInterval(this.timerId)
  186 + }
  187 + let index = 12
  188 + this.timerId = setInterval(() => {
  189 + this.startValue++
  190 + this.endValue++
  191 + // this.allData.polyline.data
  192 + // console.log((this.allData.polyline.data)[0].data.length)
  193 + if ((this.allData.polyline.data).length > 0) {
  194 + index = (this.allData.polyline.data)[0].data.length
  195 + }
  196 + if (this.endValue > index - 1) {
  197 + this.startValue = 0
  198 + this.endValue = 6
  199 + }
  200 + console.log(this.startValue)
  201 + console.log(this.endValue)
  202 + this.updateChart()
  203 + }, 5000)
  204 + }
  205 + }
  206 +}
  1 +<div class="com-container">
  2 + <div class="com-chart" id="bandwidthcpu_ref"></div>
  3 +</div>
  1 +export default {
  2 + name: 'BandwidthCpu',
  3 + template: '',
  4 + components: {},
  5 + data () {
  6 + return {
  7 + chartInstance: null,
  8 + allData: {
  9 + polyline: {
  10 + title: "带宽占用监控",
  11 + unit: "MB",
  12 + data: [{
  13 + name: "入带宽",
  14 + data: ["12","15","21","18","20","37","45","23","12","5","7","14"]
  15 + }, {
  16 + name: "出带宽",
  17 + data: ["22","35","41","68","70","57","45","33","24","15","7","10"]
  18 + }]
  19 + },
  20 + xAxis: {
  21 + today: ["00", "02", "04", "06", "08", "10", "12", "14", "16", "18", "20", "22"]
  22 + }
  23 + },
  24 + startValue: 0, // 区域缩放的起点值
  25 + endValue: 6, // 区域缩放的终点值
  26 + timerId: null // 定时器的标识
  27 + }
  28 + },
  29 + mounted () {
  30 + this.initChart()
  31 + this.getData()
  32 + window.addEventListener('resize', this.screenAdapter)
  33 + this.screenAdapter()
  34 + },
  35 + unmounted () {
  36 + window.removeEventListener('resize', this.screenAdapter)
  37 + clearInterval(this.timerId)
  38 + },
  39 + methods: {
  40 + initChart () {
  41 + this.chartInstance = echarts.init(document.getElementById('bandwidthcpu_ref'))
  42 + const initOption = {
  43 + grid: {
  44 + top: '15%',
  45 + left: '5%',
  46 + right: '4%',
  47 + bottom: '20%',
  48 + containLabel: true
  49 + },
  50 + legend: {
  51 + right: '10%',
  52 + top: '5%',
  53 + textStyle: {
  54 + color: 'wihte'
  55 + }
  56 + },
  57 + xAxis: {
  58 + type: 'category',
  59 + boundaryGap: false
  60 + },
  61 + yAxis: {
  62 + type: 'value',
  63 + splitLine: {
  64 + show: false
  65 + }
  66 + }
  67 + }
  68 + this.chartInstance.setOption(initOption)
  69 + },
  70 + async getData () {
  71 + // await this.$http.get()
  72 + // const { data: ret } = await this.$http.get('bandwidthcpu')
  73 + // this.allData = ret
  74 + // console.log(ret)
  75 + this.updateChart()
  76 + this.startInterval()
  77 + },
  78 + updateChart () {
  79 + // 半透明的颜色值
  80 + const colorArr1 = [
  81 + 'rgba(11, 168, 44, 0.5)',
  82 + 'rgba(44, 110, 255, 0.5)',
  83 + 'rgba(22, 242, 217, 0.5)',
  84 + 'rgba(254, 33, 30, 0.5)',
  85 + 'rgba(250, 105, 0, 0.5)'
  86 + ]
  87 + // 全透明的颜色值
  88 + const colorArr2 = [
  89 + 'rgba(11, 168, 44, 0)',
  90 + 'rgba(44, 110, 255, 0)',
  91 + 'rgba(22, 242, 217, 0)',
  92 + 'rgba(254, 33, 30, 0)',
  93 + 'rgba(250, 105, 0, 0)'
  94 + ]
  95 + const timeArr = this.allData.xAxis.today
  96 + const seriesArr = this.allData.polyline.data.map((item, index) => {
  97 + return {
  98 + name: item.name,
  99 + type: 'line',
  100 + data: item.data,
  101 + smooth: true,
  102 + areaStyle: {
  103 + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  104 + {
  105 + offset: 0,
  106 + color: colorArr1[index]
  107 + }, // %0的颜色值
  108 + {
  109 + offset: 1,
  110 + color: colorArr2[index]
  111 + } // 100%的颜色值
  112 + ])
  113 + }
  114 + }
  115 + })
  116 + // 图例的数据
  117 + const legendArr = this.allData.polyline.data.map(item => {
  118 + return item.name
  119 + })
  120 + const title = this.allData.polyline.title
  121 + const unit = this.allData.polyline.unit
  122 + const dataOption = {
  123 + title: {
  124 + text: title,
  125 + left: 'center',
  126 + bottom: '8%'
  127 + },
  128 + xAxis: {
  129 + data: timeArr
  130 + },
  131 + yAxis: {
  132 + name: unit
  133 + },
  134 + legend: {
  135 + data: legendArr
  136 + },
  137 + dataZoom: {
  138 + show: false,
  139 + startValue: this.startValue,
  140 + endValue: this.endValue
  141 + },
  142 + series: seriesArr
  143 + }
  144 + this.chartInstance.setOption(dataOption)
  145 + },
  146 + screenAdapter () {
  147 + this.titleFontSize = document.getElementById('bandwidthcpu_ref').offsetWidth / 100 * 3.6
  148 + const adapterOption = {
  149 + title: {
  150 + textStyle: {
  151 + fontSize: this.titleFontSize,
  152 + color: 'white'
  153 + }
  154 + },
  155 + yAxis: {
  156 + top: this.titleFontSize,
  157 + nameTextStyle: {
  158 + padding: [0, 0, -(this.titleFontSize), -(this.titleFontSize)], // 修改位置
  159 + fontSize: this.titleFontSize / 2,
  160 + color: 'white'
  161 + },
  162 + axisLabel: {
  163 + show: false
  164 + }
  165 + },
  166 + legend: {
  167 + itemWidth: this.titleFontSize,
  168 + itemHeight: this.titleFontSize,
  169 + itemGap: this.titleFontSize,
  170 + textStyle: {
  171 + fontSize: this.titleFontSize / 1.5
  172 + }
  173 + }
  174 + }
  175 + this.chartInstance.setOption(adapterOption)
  176 + this.chartInstance.resize()
  177 + },
  178 + startInterval () {
  179 + if (this.timerId) {
  180 + clearInterval(this.timerId)
  181 + }
  182 + let index = 12
  183 + this.timerId = setInterval(() => {
  184 + this.startValue++
  185 + this.endValue++
  186 + // this.allData.polyline.data
  187 + // console.log((this.allData.polyline.data)[0].data.length)
  188 + if ((this.allData.polyline.data).length > 0) {
  189 + index = (this.allData.polyline.data)[0].data.length
  190 + }
  191 + if (this.endValue > index - 1) {
  192 + this.startValue = 0
  193 + this.endValue = 6
  194 + }
  195 + console.log(this.startValue)
  196 + console.log(this.endValue)
  197 + this.updateChart()
  198 + }, 5000)
  199 + }
  200 + }
  201 +}
  1 +<div class="com-container">
  2 + <div class="com-chart" id="volume_ref"></div>
  3 + <div class="busniess-box-title">
  4 + <img :style="comtitleImgStyle" src="./src/assets/img/box_title_bykk_zj_1.png" class="busniess-title-img"> <!-- bor1_6 -->
  5 + <span :style="comtitleTextStyle" class="busniess-title-size">本月业务量</span>
  6 + </div>
  7 + <div class="busniess-circle-text" :style="comcircletextStyle">
  8 + <div class="busniess-circle-left">今日<br/>业务量</div>
  9 + <div class="busniess-circle-right">本月<br/>业务量</div>
  10 + </div>
  11 +</div>
  1 +export default {
  2 + name: 'BusinessVolume',
  3 + template: '',
  4 + components: {},
  5 + data () {
  6 + return {
  7 + chartInstance: null,
  8 + allData: [{
  9 + name: "今日业务量",
  10 + data: [
  11 + { name: "涉税文书",value: "116211", color: "#0D45FE"},
  12 + { name: "网上申报",value: "106195", color: "#00FFB9"},
  13 + { name: "网络发票",value: "712804", color: "#A35CFF"}
  14 + ]
  15 + }, {
  16 + name: "本月业务量",
  17 + data: [
  18 + { name: "涉税文书",value: "116411", color: "#0D45FE"},
  19 + { name: "网上申报",value: "106595", color: "#00FFB9"},
  20 + { name: "网络发票",value: "712204", color: "#A35CFF"}
  21 + ]
  22 + }],
  23 + titleFontSize: 30
  24 + }
  25 + },
  26 + computed: {
  27 + comtitleTextStyle () {
  28 + return {
  29 + fontSize: this.titleFontSize / 1.3 + 'px'
  30 + }
  31 + },
  32 + comtitleImgStyle () {
  33 + return {
  34 + height: this.titleFontSize * 1.5 + 'px'
  35 + }
  36 + },
  37 + comcircletextStyle () {
  38 + return {
  39 + fontSize: this.titleFontSize / 1.8 + 'px'
  40 + }
  41 + }
  42 + },
  43 + mounted () {
  44 + this.initChart()
  45 + this.getData()
  46 + window.addEventListener('resize', this.screenAdapter)
  47 + this.screenAdapter()
  48 + },
  49 + unmounted () {
  50 + window.removeEventListener('resize', this.screenAdapter)
  51 + },
  52 + methods: {
  53 + initChart () {
  54 + // this.chartInstance = this.$echarts.init(this.$refs.volume_ref, 'macarons')
  55 + this.chartInstance = echarts.init(document.getElementById('volume_ref'))
  56 + const initOption = {
  57 + legend: {
  58 + top: '20%',
  59 + left: 'center',
  60 + textStyle: {
  61 + color: 'wihte'
  62 + }
  63 + }
  64 + }
  65 + this.chartInstance.setOption(initOption)
  66 + },
  67 + async getData () {
  68 + // await this.$http.get()
  69 + // const { data: ret } = await this.$http.get('volume')
  70 + // this.allData = ret
  71 + // console.log(ret)
  72 + this.updateChart()
  73 + },
  74 + updateChart () {
  75 + const centerArr = [
  76 + ['22%', '65%'],
  77 + ['66%', '65%']
  78 + ]
  79 + const seriesArr = this.allData.map((item, index) => {
  80 + const dataArr = []
  81 + item.data.map(inner => {
  82 + console.log(inner)
  83 + dataArr.push({
  84 + name: inner.name,
  85 + value: inner.value,
  86 + itemStyle: {
  87 + color: inner.color
  88 + }
  89 + })
  90 + })
  91 + return {
  92 + type: 'pie',
  93 + radius: ['28%', '42%'],
  94 + center: centerArr[index],
  95 + itemStyle: {
  96 + borderRadius: 5,
  97 + borderWidth: 2
  98 + },
  99 + label: {
  100 + position: 'outer',
  101 + alignTo: 'labelLine',
  102 + formatter: '{c}'
  103 + },
  104 + data: dataArr
  105 + }
  106 + })
  107 + const dataOption = {
  108 + series: seriesArr
  109 + }
  110 + this.chartInstance.setOption(dataOption)
  111 + },
  112 + screenAdapter () {
  113 + this.titleFontSize = document.getElementById('volume_ref').offsetWidth / 100 * 3.6
  114 + const adapterOption = {
  115 + // title: {
  116 + // text: '{Sunny| 本月业务量 }',
  117 + // left: this.titleFontSize * 3,
  118 + // textStyle: {
  119 + // fontSize: this.titleFontSize,
  120 + // color: '#F0F3F8',
  121 + // rich: {
  122 + // Sunny: {
  123 + // // 这样设定 backgroundColor 就可以是图片了。
  124 + // backgroundColor: {
  125 + // image: require('../assets/img/bg_box_3.png')
  126 + // },
  127 + // // 可以只指定图片的高度,从而图片的宽度根据图片的长宽比自动得到。
  128 + // height: this.titleFontSize * 2
  129 + // }
  130 + // }
  131 + // }
  132 + // },
  133 + legend: {
  134 + itemWidth: this.titleFontSize * 1.5,
  135 + itemHeight: this.titleFontSize / 6,
  136 + itemGap: this.titleFontSize * 2.5,
  137 + textStyle: {
  138 + fontSize: this.titleFontSize / 2
  139 + }
  140 + }
  141 + }
  142 + this.chartInstance.setOption(adapterOption)
  143 + this.chartInstance.resize()
  144 + }
  145 + }
  146 +}
  1 +<div class="com-container">
  2 + <div class="com-chart" id="declarecpu_ref"></div>
  3 +</div>
  1 +export default {
  2 + name: 'ResponseMonitor',
  3 + template: '',
  4 + components: {},
  5 + data () {
  6 + return {
  7 + chartInstance: null,
  8 + allData: {
  9 + polyline: {
  10 + title: "申报库CPU监控",
  11 + unit: "cpu%",
  12 + data: [{
  13 + name: "80.12.97.2",
  14 + data: ["12","15","21","18","20","37","45","23","12","5","7","14"]
  15 + }, {
  16 + name: "80.12.77.3",
  17 + data: ["22","35","41","68","70","57","45","33","24","15","7","10"]
  18 + }]
  19 + },
  20 + xAxis: {
  21 + today: ["00", "02", "04", "06", "08", "10", "12", "14", "16", "18", "20", "22"]
  22 + }
  23 + },
  24 + startValue: 0, // 区域缩放的起点值
  25 + endValue: 6, // 区域缩放的终点值
  26 + timerId: null // 定时器的标识
  27 + }
  28 + },
  29 + mounted () {
  30 + this.initChart()
  31 + this.getData()
  32 + window.addEventListener('resize', this.screenAdapter)
  33 + this.screenAdapter()
  34 + },
  35 + unmounted () {
  36 + window.removeEventListener('resize', this.screenAdapter)
  37 + clearInterval(this.timerId)
  38 + },
  39 + methods: {
  40 + initChart () {
  41 + // this.chartInstance = this.$echarts.init(this.$refs.declarecpu_ref, 'chalk')
  42 + this.chartInstance = echarts.init(document.getElementById('declarecpu_ref'))
  43 + const initOption = {
  44 + grid: {
  45 + top: '15%',
  46 + left: '3%',
  47 + right: '4%',
  48 + bottom: '20%',
  49 + containLabel: true
  50 + },
  51 + legend: {
  52 + right: '10%',
  53 + top: '5%',
  54 + textStyle: {
  55 + color: 'wihte'
  56 + }
  57 + },
  58 + xAxis: {
  59 + type: 'category',
  60 + boundaryGap: false
  61 + },
  62 + yAxis: {
  63 + type: 'value',
  64 + splitLine: {
  65 + show: false
  66 + }
  67 + }
  68 + }
  69 + this.chartInstance.setOption(initOption)
  70 + },
  71 + async getData () {
  72 + // await this.$http.get()
  73 + // const { data: ret } = await this.$http.get('declarecpu')
  74 + // this.allData = ret
  75 + // console.log(ret)
  76 + this.updateChart()
  77 + this.startInterval()
  78 + },
  79 + updateChart () {
  80 + // 半透明的颜色值
  81 + const colorArr1 = [
  82 + 'rgba(11, 168, 44, 0.5)',
  83 + 'rgba(44, 110, 255, 0.5)',
  84 + 'rgba(22, 242, 217, 0.5)',
  85 + 'rgba(254, 33, 30, 0.5)',
  86 + 'rgba(250, 105, 0, 0.5)'
  87 + ]
  88 + // 全透明的颜色值
  89 + const colorArr2 = [
  90 + 'rgba(11, 168, 44, 0)',
  91 + 'rgba(44, 110, 255, 0)',
  92 + 'rgba(22, 242, 217, 0)',
  93 + 'rgba(254, 33, 30, 0)',
  94 + 'rgba(250, 105, 0, 0)'
  95 + ]
  96 + const timeArr = this.allData.xAxis.today
  97 + const seriesArr = this.allData.polyline.data.map((item, index) => {
  98 + return {
  99 + name: item.name,
  100 + type: 'line',
  101 + data: item.data,
  102 + smooth: true,
  103 + areaStyle: {
  104 + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  105 + {
  106 + offset: 0,
  107 + color: colorArr1[index]
  108 + }, // %0的颜色值
  109 + {
  110 + offset: 1,
  111 + color: colorArr2[index]
  112 + } // 100%的颜色值
  113 + ])
  114 + }
  115 + }
  116 + })
  117 + // 图例的数据
  118 + const legendArr = this.allData.polyline.data.map(item => {
  119 + return item.name
  120 + })
  121 + const title = this.allData.polyline.title
  122 + const unit = this.allData.polyline.unit
  123 + const dataOption = {
  124 + title: {
  125 + text: title,
  126 + left: 'center',
  127 + bottom: '8%'
  128 + },
  129 + xAxis: {
  130 + data: timeArr
  131 + },
  132 + yAxis: {
  133 + name: unit
  134 + },
  135 + legend: {
  136 + data: legendArr
  137 + },
  138 + dataZoom: {
  139 + show: false,
  140 + startValue: this.startValue,
  141 + endValue: this.endValue
  142 + },
  143 + series: seriesArr
  144 + }
  145 + this.chartInstance.setOption(dataOption)
  146 + },
  147 + screenAdapter () {
  148 + this.titleFontSize = document.getElementById('declarecpu_ref').offsetWidth / 100 * 3.6
  149 + const adapterOption = {
  150 + title: {
  151 + textStyle: {
  152 + fontSize: this.titleFontSize,
  153 + color: 'white'
  154 + }
  155 + },
  156 + yAxis: {
  157 + top: this.titleFontSize,
  158 + nameTextStyle: {
  159 + padding: [0, 0, -(this.titleFontSize / 2), -(this.titleFontSize)], // 修改位置
  160 + fontSize: this.titleFontSize / 2,
  161 + color: 'white'
  162 + }
  163 + },
  164 + legend: {
  165 + itemWidth: this.titleFontSize,
  166 + itemHeight: this.titleFontSize,
  167 + itemGap: this.titleFontSize,
  168 + textStyle: {
  169 + fontSize: this.titleFontSize / 1.5
  170 + }
  171 + }
  172 + }
  173 + this.chartInstance.setOption(adapterOption)
  174 + this.chartInstance.resize()
  175 + },
  176 + startInterval () {
  177 + if (this.timerId) {
  178 + clearInterval(this.timerId)
  179 + }
  180 + let index = 12
  181 + this.timerId = setInterval(() => {
  182 + this.startValue++
  183 + this.endValue++
  184 + if ((this.allData.polyline.data).length > 0) {
  185 + index = (this.allData.polyline.data)[0].data.length
  186 + }
  187 + if (this.endValue > index - 1) {
  188 + this.startValue = 0
  189 + this.endValue = 6
  190 + }
  191 + console.log(this.startValue)
  192 + console.log(this.endValue)
  193 + this.updateChart()
  194 + }, 5000)
  195 + }
  196 + }
  197 +}
  1 +<div class="com-container">
  2 + <div class="com-chart" id="declarepolyline_ref"></div>
  3 + <div class="com-title" :style="comtitlesizeStyle">
  4 + <el-row>
  5 + <el-col :span="24" :style="comboxTitleStyle">
  6 + <div class="grid-content bg-purple-dark">
  7 + <img src="../assets/img/title_light.png" :style="comimgsizeStyle">
  8 + 本月应申报
  9 + </div>
  10 + </el-col>
  11 + </el-row>
  12 + <el-row>
  13 + <el-col :span="24" :style="comboxTitleStyle">
  14 + <div class="grid-content bg-purple-dark" :style="comtitletextStyle">
  15 + 1234521
  16 + </div>
  17 + </el-col>
  18 + </el-row>
  19 + <el-row>
  20 + <el-col :span="24" :style="comboxTitleStyle">
  21 + <div class="grid-content bg-purple-dark">
  22 + <img src="../assets/img/t.png" :style="comimgsizeStyle">
  23 + 本月申报率
  24 + </div>
  25 + </el-col>
  26 + </el-row>
  27 + <el-row>
  28 + <el-col :span="24" :style="comboxTitleStyle">
  29 + <div class="grid-content bg-purple-dark" :style="comtitletextStyle">
  30 + 98.55%
  31 + </div>
  32 + </el-col>
  33 + </el-row>
  34 + </div>
  35 +</div>
  1 +export default {
  2 + name: 'declarePolyline',
  3 + template: '',
  4 + components: {},
  5 + data () {
  6 + return {
  7 + chartInstance: null,
  8 + allData: {
  9 + polyline: {
  10 + data: {
  11 + name: "申报率",
  12 + data: ["12", "15", "21", "81", "20", "37", "45", "23", "12", "50", "70", "14", "92", "76", "67", "45", "77", "20", "35", "50"]
  13 + },
  14 + declareNumer: "1200848",
  15 + declareRate: "98.55%",
  16 + numerTitle: "本月应申报",
  17 + rateTitle: "本月申报率"
  18 + },
  19 + xAxis: {
  20 + today: ["1号", "2号", "3号", "4号", "5号", "6号", "7号", "8号", "9号", "10号", "11号", "12号", "13号", "14号", "15号", "16号", "17号", "18号", "19号", "20号"]
  21 + }
  22 + },
  23 + startValue: 0, // 区域缩放的起点值
  24 + endValue: 9, // 区域缩放的终点值
  25 + timerId: null, // 定时器的标识
  26 + titleFontSize: 30
  27 + }
  28 + },
  29 + computed: {
  30 + comtitletextStyle () {
  31 + return {
  32 + color: '#33D1FA',
  33 + fontSize: this.titleFontSize / 1.2 + 'px'
  34 + }
  35 + },
  36 + comtitlesizeStyle () {
  37 + return {
  38 + fontSize: this.titleFontSize / 2 + 'px'
  39 + }
  40 + },
  41 + comimgsizeStyle () {
  42 + return {
  43 + width: this.titleFontSize + 'px'
  44 + }
  45 + }
  46 + },
  47 + mounted () {
  48 + this.initChart()
  49 + this.getData()
  50 + window.addEventListener('resize', this.screenAdapter)
  51 + this.screenAdapter()
  52 + },
  53 + unmounted () {
  54 + window.removeEventListener('resize', this.screenAdapter)
  55 + clearInterval(this.timerId)
  56 + },
  57 + methods: {
  58 + initChart () {
  59 + this.chartInstance = echarts.init(document.getElementById('declarepolyline_ref'))
  60 + const initOption = {
  61 + grid: {
  62 + left: '5%',
  63 + right: '35%',
  64 + bottom: '3%',
  65 + containLabel: true
  66 + },
  67 + legend: {
  68 + right: '2%',
  69 + top: '5%'
  70 + },
  71 + xAxis: {
  72 + type: 'category',
  73 + boundaryGap: false
  74 + },
  75 + yAxis: {
  76 + type: 'value',
  77 + splitLine: {
  78 + show: false
  79 + }
  80 + }
  81 + }
  82 + this.chartInstance.setOption(initOption)
  83 + },
  84 + async getData () {
  85 + // await this.$http.get()
  86 + // const { data: ret } = await this.$http.get('declarepolyline')
  87 + // this.allData = ret
  88 + this.updateChart()
  89 + this.startInterval()
  90 + },
  91 + updateChart () {
  92 + // 半透明的颜色值
  93 + const colorArr1 = [
  94 + 'rgba(11, 168, 44, 0.5)',
  95 + 'rgba(44, 110, 255, 0.5)',
  96 + 'rgba(22, 242, 217, 0.5)',
  97 + 'rgba(254, 33, 30, 0.5)',
  98 + 'rgba(250, 105, 0, 0.5)'
  99 + ]
  100 + // 全透明的颜色值
  101 + const colorArr2 = [
  102 + 'rgba(11, 168, 44, 0)',
  103 + 'rgba(44, 110, 255, 0)',
  104 + 'rgba(22, 242, 217, 0)',
  105 + 'rgba(254, 33, 30, 0)',
  106 + 'rgba(250, 105, 0, 0)'
  107 + ]
  108 + const timeArr = this.allData.xAxis.today
  109 + const seriesData = this.allData.polyline.data.data
  110 + const seriesName = this.allData.polyline.data.name
  111 + // 图例的数据
  112 + const legendArr = this.allData.polyline.data.data.map(item => {
  113 + return item.name
  114 + })
  115 + const numerTitle = this.allData.polyline.numerTitle // 本月应申报 标题
  116 + const rateTitle = this.allData.polyline.rateTitle // 本月申报率 标题
  117 + const declareNumer = this.allData.polyline.declareNumer // 本月应申报 数值
  118 + const declareRate = this.allData.polyline.declareRate // 本月申报率 数值
  119 + const htmlText = numerTitle + '\n' + declareNumer + '\n' + rateTitle + '\n' + declareRate
  120 + console.log(htmlText)
  121 + const dataOption = {
  122 + // title: {
  123 + // text: htmlText,
  124 + // top: '25%',
  125 + // right: '15%',
  126 + // textStyle: {
  127 + // color: '#F1F2F5'
  128 + // }
  129 + // },
  130 + xAxis: {
  131 + data: timeArr
  132 + },
  133 + legend: {
  134 + data: legendArr
  135 + },
  136 + dataZoom: {
  137 + show: false,
  138 + startValue: this.startValue,
  139 + endValue: this.endValue
  140 + },
  141 + series: [
  142 + {
  143 + name: seriesName,
  144 + type: 'line',
  145 + data: seriesData,
  146 + smooth: true,
  147 + areaStyle: {
  148 + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  149 + {
  150 + offset: 0,
  151 + color: colorArr1[1]
  152 + }, // %0的颜色值
  153 + {
  154 + offset: 1,
  155 + color: colorArr2[1]
  156 + } // 100%的颜色值
  157 + ])
  158 + }
  159 + }
  160 + ]
  161 + }
  162 + this.chartInstance.setOption(dataOption)
  163 + },
  164 + screenAdapter () {
  165 + this.titleFontSize = document.getElementById('declarepolyline_ref').offsetWidth / 100 * 3.6
  166 + console.log(this.titleFontSize)
  167 + const adapterOption = {
  168 + legend: {
  169 + itemWidth: this.titleFontSize,
  170 + itemHeight: this.titleFontSize,
  171 + itemGap: this.titleFontSize,
  172 + textStyle: {
  173 + fontSize: this.titleFontSize / 2
  174 + }
  175 + }
  176 + }
  177 + this.chartInstance.setOption(adapterOption)
  178 + this.chartInstance.resize()
  179 + },
  180 + startInterval () {
  181 + if (this.timerId) {
  182 + clearInterval(this.timerId)
  183 + }
  184 + let index = 30
  185 + this.timerId = setInterval(() => {
  186 + this.startValue++
  187 + this.endValue++
  188 + if ((this.allData.polyline.data).length > 0) {
  189 + index = (this.allData.polyline.data)[0].data.length
  190 + }
  191 + if (this.endValue > index - 1) {
  192 + this.startValue = 0
  193 + this.endValue = 9
  194 + }
  195 + this.updateChart()
  196 + }, 5000)
  197 + }
  198 + }
  199 +}
  1 +<div class="com-container">
  2 + <div class="com-chart" id="deduction_ref" :style="comcontextStyle">
  3 + <el-row>
  4 + <el-col :span="24">
  5 + <div class="grid-content bg-purple-dark com-box-title">
  6 + <span>
  7 + <img :style="comtitlesizeStyle" class="deduction-box-title" src="./src/assets/img/box_title_bykk_zj_1.png"> <!-- bor1_6 -->
  8 + <span :style="comtitleTextStyle" class="deduction-title-size">本月扣款情况</span>
  9 + </span>
  10 + </div>
  11 + </el-col>
  12 + </el-row>
  13 + <el-row>
  14 + <el-col :span="11">
  15 + <div class="grid-content bg-purple com-box">
  16 + <span >
  17 + <img :style="comboximgleftStyle" src="./src/assets/img/box_bykk_zj.png"> <!-- bor1_6 -->
  18 + <div class="deduction-box-text-left" :style="comnumberTextStyle">
  19 + <div>
  20 + <span class="deduction-text-number">{{deductionAmount}}</span>
  21 + <span :style="comnumberUnitStyle">万元</span>
  22 + </div>
  23 + <div>本月扣款金额</div>
  24 + </div>
  25 + </span>
  26 + </div>
  27 + </el-col>
  28 + <el-col :span="13">
  29 + <div class="grid-content bg-purple-light">
  30 + <span >
  31 + <img :style="comboximgrightStyle" src="./src/assets/img/box_bykk_zj.png">
  32 + <div class="deduction-box-text-right" :style="comnumberTextStyle">
  33 + <div>
  34 + <span class="deduction-text-number">&nbsp;&nbsp;&nbsp;{{deductionNumber}}</span>
  35 + <span :style="comnumberUnitStyle">万笔</span>
  36 + </div>
  37 + <div>本月扣款笔数</div>
  38 + </div>
  39 + </span>
  40 + </div>
  41 + </el-col>
  42 + </el-row>
  43 + </div>
  44 +</div>
  1 +export default {
  2 + name: 'deduction',
  3 + template: '',
  4 + components: {},
  5 + data () {
  6 + return {
  7 + chartInstance: null,
  8 + allData: null,
  9 + titleFontSize: 20,
  10 + // 扣款金额
  11 + deductionAmount: '0.00',
  12 + // 扣款笔数
  13 + deductionNumber: '0.00'
  14 + }
  15 + },
  16 + computed: {
  17 + comboximgleftStyle () {
  18 + return {
  19 + height: this.titleFontSize * 3.5 + 'px',
  20 + marginTop: this.titleFontSize * 2.5 + 'px',
  21 + marginLeft: this.titleFontSize + 'px'
  22 + }
  23 + },
  24 + comboximgrightStyle () {
  25 + return {
  26 + height: this.titleFontSize * 3.5 + 'px',
  27 + marginTop: this.titleFontSize * 2.5 + 'px'
  28 + }
  29 + },
  30 + comcontextStyle () {
  31 + return {
  32 + fontSize: this.titleFontSize + 'px'
  33 + }
  34 + },
  35 + comtitlesizeStyle () {
  36 + return {
  37 + height: this.titleFontSize * 1.5 + 'px',
  38 + // width: this.titleFontSize * 6 + 'px'
  39 + }
  40 + },
  41 + comtitleTextStyle () {
  42 + return {
  43 + fontSize: this.titleFontSize / 1.3 + 'px'
  44 + }
  45 + },
  46 + comnumberTextStyle () {
  47 + return {
  48 + fontSize: this.titleFontSize / 1.2 + 'px'
  49 + }
  50 + },
  51 + comnumberUnitStyle () {
  52 + return {
  53 + fontSize: this.titleFontSize / 2 + 'px'
  54 + }
  55 + }
  56 + },
  57 + mounted () {
  58 + this.initChart()
  59 + this.getData()
  60 + window.addEventListener('resize', this.screenAdapter)
  61 + this.screenAdapter()
  62 + },
  63 + unmounted () {
  64 + window.removeEventListener('resize', this.screenAdapter)
  65 + },
  66 + methods: {
  67 + initChart () {
  68 + },
  69 + async getData () {
  70 + // await this.$http.get()
  71 + this.updateChart()
  72 + },
  73 + updateChart () {
  74 + },
  75 + screenAdapter () {
  76 + this.titleFontSize = document.getElementById('deduction_ref').offsetWidth / 100 * 3.6
  77 + }
  78 + }
  79 +}
  1 +<div class="com-container">
  2 + <div class="com-chart" id="digitalboard_down_ref">
  3 + <div style="margin-top: 2%" :style="comcontextStyle">
  4 + <el-row>
  5 + <el-col :span="12">
  6 + <div class="grid-content bg-purple">
  7 + <span>
  8 + <!--title_box_1.png-->
  9 + <img :style="comTitleimgStyle" src="./src/assets/img/title_box_middle.png">
  10 + <span class="span-box-title" :style="comTitleSizeStyle">{{leftTitle}}</span>
  11 + </span>
  12 + </div>
  13 + </el-col>
  14 + <el-col :span="12">
  15 + <div class="grid-content bg-purple-light com-box-right">
  16 + <span :style="comTitleSizeStyle">{{rightTitle}}:{{undeclaredAmountNumber}}</span>
  17 + </div>
  18 + </el-col>
  19 + </el-row>
  20 + <el-row>
  21 + <el-col :span="3">
  22 + <div class="grid-content bg-purple com-box">
  23 + <span >
  24 + <img :style="comboximgStyle" src="./src/assets/img/bit_box_2.png">
  25 + <span class="com-box-value" :style="combitnumberStyle" style="left: 2.5%;color: #FEFEFE;" v-if="mustBitFalg > 0">{{mustBit}}</span>
  26 + <span class="com-box-value" :style="combitnumberStyle" style="left: 2.5%;color: #97969B;" v-if="mustBitFalg == 0">{{mustBit}}</span>
  27 + </span>
  28 + </div>
  29 + </el-col>
  30 + <el-col :span="3">
  31 + <div class="grid-content bg-purple-light com-box">
  32 + <span>
  33 + <img :style="comboximgStyle" src="./src/assets/img/bit_box_2.png">
  34 + <span class="com-box-value" :style="combitnumberStyle" style="left: 15%;color: #FEFEFE;" v-if="millionBitFalg > 0">{{millionBit}}</span>
  35 + <span class="com-box-value" :style="combitnumberStyle" style="left: 15%;color: #97969B;" v-if="millionBitFalg == 0">{{millionBit}}</span>
  36 + <span :style="comcommaStyle" style=" left: 24%;" v-if="isOneCommaShow">,</span>
  37 + </span>
  38 + </div>
  39 + </el-col>
  40 + <el-col :span="3">
  41 + <div class="grid-content bg-purple com-box">
  42 + <span>
  43 + <img :style="comboximgStyle" src="./src/assets/img/bit_box_2.png">
  44 + <span class="com-box-value" :style="combitnumberStyle" style="left: 27.5%;color: #FEFEFE;" v-if="hundredThousandBitFalg > 0">{{hundredThousandBit}}</span>
  45 + <span class="com-box-value" :style="combitnumberStyle" style="left: 27.5%;color: #97969B;" v-if="hundredThousandBitFalg == 0">{{hundredThousandBit}}</span>
  46 + </span>
  47 + </div>
  48 + </el-col>
  49 + <el-col :span="3">
  50 + <div class="grid-content bg-purple-light com-box">
  51 + <span>
  52 + <img :style="comboximgStyle" src="./src/assets/img/bit_box_2.png">
  53 + <span class="com-box-value" :style="combitnumberStyle" style="left: 40%;color: #FEFEFE;" v-if="tenThousandBitFalg > 0">{{tenThousandBit}}</span>
  54 + <span class="com-box-value" :style="combitnumberStyle" style="left: 40%;color: #97969B;" v-if="tenThousandBitFalg == 0">{{tenThousandBit}}</span>
  55 + </span>
  56 + </div>
  57 + </el-col>
  58 + <el-col :span="3">
  59 + <div class="grid-content bg-purple com-box">
  60 + <span>
  61 + <img :style="comboximgStyle" src="./src/assets/img/bit_box_2.png">
  62 + <span class="com-box-value" :style="combitnumberStyle" style="left: 52.5%;color: #FEFEFE;" v-if="thousandBitFalg > 0">{{thousandBit}}</span>
  63 + <span class="com-box-value" :style="combitnumberStyle" style="left: 52.5%;color: #97969B;" v-if="thousandBitFalg == 0">{{thousandBit}}</span>
  64 + <span :style="comcommaStyle" style="left: 61.5%;" v-if="isTwoCommaShow">,</span>
  65 + </span>
  66 + </div>
  67 + </el-col>
  68 + <el-col :span="3">
  69 + <div class="grid-content bg-purple-light com-box">
  70 + <span>
  71 + <img :style="comboximgStyle" src="./src/assets/img/bit_box_2.png">
  72 + <span class="com-box-value" :style="combitnumberStyle" style="left: 65%;color: #FEFEFE;" v-if="hundredBitFalg > 0">{{hundredBit}}</span>
  73 + <span class="com-box-value" :style="combitnumberStyle" style="left: 65%;color: #97969B;" v-if="hundredBitFalg == 0">{{hundredBit}}</span>
  74 + </span>
  75 + </div>
  76 + </el-col>
  77 + <el-col :span="3">
  78 + <div class="grid-content bg-purple com-box">
  79 + <span>
  80 + <img :style="comboximgStyle" src="./src/assets/img/bit_box_2.png">
  81 + <span class="com-box-value" :style="combitnumberStyle" style="left: 77.5%;color: #FEFEFE;" v-if="tenBitFalg > 0">{{tenBit}}</span>
  82 + <span class="com-box-value" :style="combitnumberStyle" style="left: 77.5%;color: #97969B;" v-if="tenBitFalg == 0">{{tenBit}}</span>
  83 + </span>
  84 + </div>
  85 + </el-col>
  86 + <el-col :span="3">
  87 + <div class="grid-content bg-purple-light com-box">
  88 + <span>
  89 + <img :style="comboximgStyle" src="./src/assets/img/bit_box_2.png">
  90 + <span class="com-box-value" :style="combitnumberStyle" style="left: 90%;color: #FEFEFE;" v-if="bitBitFalg > 0">{{bitBit}}</span>
  91 + <span class="com-box-value" :style="combitnumberStyle" style="left: 90%;color: #97969B;" v-if="bitBitFalg == 0">{{bitBit}}</span>
  92 + </span>
  93 + </div>
  94 + </el-col>
  95 + </el-row>
  96 + </div>
  97 + </div>
  98 +</div>
  1 +export default {
  2 + name: 'digitalBoardDown',
  3 + template: '',
  4 + components: {},
  5 + data () {
  6 + return {
  7 + // chartInstance: null
  8 + titleFontSize: 80,
  9 + // 千万位数
  10 + mustBit: 0,
  11 + millionBit: 0,
  12 + // 十万位数
  13 + hundredThousandBit: 0,
  14 + // 万位数
  15 + tenThousandBit: 0,
  16 + thousandBit: 0,
  17 + hundredBit: 0,
  18 + tenBit: 0,
  19 + bitBit: 0,
  20 + // 颜色判断位数 0:1 暗色/亮色
  21 + mustBitFalg: 0,
  22 + millionBitFalg: 0,
  23 + hundredThousandBitFalg: 0,
  24 + tenThousandBitFalg: 0,
  25 + thousandBitFalg: 0,
  26 + hundredBitFalg: 0,
  27 + tenBitFalg: 0,
  28 + bitBitFalg: 0,
  29 + isOneCommaShow: false,
  30 + isTwoCommaShow: false,
  31 + declaredAmountNumber: 1283, // 左边数
  32 + undeclaredAmountNumber: 0, // 右边数
  33 + leftTitle: '本月已申报数',
  34 + rightTitle: '本月未申报'
  35 + }
  36 + },
  37 + computed: {
  38 + comboximgStyle () {
  39 + return {
  40 + height: this.titleFontSize * 4.5 + 'px'
  41 + }
  42 + },
  43 + comTitleimgStyle () {
  44 + return {
  45 + width: this.titleFontSize * 12 + 'px'
  46 + }
  47 + },
  48 + comTitleSizeStyle () {
  49 + return {
  50 + fontSize: this.titleFontSize / 1.5 + 'px'
  51 + }
  52 + },
  53 + comtitlimgStyle () {
  54 + return {
  55 + height: this.titleFontSize + 'px'
  56 + }
  57 + },
  58 + comcontextStyle () {
  59 + return {
  60 + fontSize: this.titleFontSize / 1.5 + 'px'
  61 + }
  62 + },
  63 + combitnumberStyle () {
  64 + return {
  65 + fontSize: this.titleFontSize * 3.5 + 'px',
  66 + top: '9%',
  67 + position: 'absolute',
  68 + fontFamily: 'yjsz'
  69 + }
  70 + },
  71 + comcommaStyle () {
  72 + return {
  73 + position: 'absolute',
  74 + color: '#FEFEFE',
  75 + fontSize: this.titleFontSize * 3 + 'px',
  76 + top: '28%',
  77 + fontFamily: 'yjsz'
  78 + }
  79 + }
  80 +
  81 + },
  82 + mounted () {
  83 + this.startInterval()
  84 + // this.initChart()
  85 + this.getData()
  86 + window.addEventListener('resize', this.screenAdapter)
  87 + this.screenAdapter()
  88 + },
  89 + unmounted () {
  90 + window.removeEventListener('resize', this.screenAdapter)
  91 + },
  92 + methods: {
  93 + initChart () {
  94 + // 判断数字位数
  95 + this.bitBit = this.declaredAmountNumber % 10
  96 + const bitFlag = Math.floor(this.declaredAmountNumber)
  97 + if (bitFlag > 0) {
  98 + // 个位
  99 + this.bitBitFalg = 1
  100 + }
  101 + this.tenBit = Math.floor(this.declaredAmountNumber % 100 / 10)
  102 + const tenFlag = Math.floor(this.declaredAmountNumber / 10)
  103 + if (tenFlag > 0) {
  104 + // 十位
  105 + this.tenBitFalg = 1
  106 + }
  107 + this.hundredBit = Math.floor(this.declaredAmountNumber % 1000 / 100)
  108 + const hundredFlag = Math.floor(this.declaredAmountNumber / 100)
  109 + if (hundredFlag > 0) {
  110 + // 百位
  111 + this.hundredBitFalg = 1
  112 + }
  113 + this.thousandBit = Math.floor(this.declaredAmountNumber % 10000 / 1000)
  114 + const thousandFlag = Math.floor(this.declaredAmountNumber / 1000)
  115 + if (thousandFlag > 0) {
  116 + // 千位
  117 + this.thousandBitFalg = 1
  118 + this.isTwoCommaShow = true
  119 + }
  120 + this.tenThousandBit = Math.floor(this.declaredAmountNumber % 100000 / 10000)
  121 + const tenThousandFlag = Math.floor(this.declaredAmountNumber / 10000)
  122 + if (tenThousandFlag > 0) {
  123 + // 万位
  124 + this.tenThousandBitFalg = 1
  125 + }
  126 + this.hundredThousandBit = Math.floor(this.declaredAmountNumber % 1000000 / 100000)
  127 + const hundredThousandFlag = Math.floor(this.declaredAmountNumber / 100000)
  128 + if (hundredThousandFlag > 0) {
  129 + // 十万位
  130 + this.hundredThousandBitFalg = 1
  131 + }
  132 + this.millionBit = Math.floor(this.declaredAmountNumber % 10000000 / 1000000)
  133 + const millionFlag = Math.floor(this.declaredAmountNumber / 1000000)
  134 + if (millionFlag > 0) {
  135 + // 百万位
  136 + this.millionBitFalg = 1
  137 + this.isOneCommaShow = true
  138 + }
  139 + this.mustBit = Math.floor(this.declaredAmountNumber % 100000000 / 10000000)
  140 + const mustFlag = Math.floor(this.declaredAmountNumber / 10000000)
  141 + if (mustFlag > 0) {
  142 + // 千万位
  143 + this.mustBitFalg = 1
  144 + }
  145 + },
  146 + async getData () {
  147 + // await this.$http.get()
  148 + this.initChart()
  149 + this.updateChart()
  150 + },
  151 + updateChart () {
  152 + // const dataOption = {}
  153 + // this.chartInstance.setOption(dataOption)
  154 + },
  155 + screenAdapter () {
  156 + this.titleFontSize = document.getElementById('digitalboard_down_ref').offsetWidth / 100 * 3.6
  157 + },
  158 + startInterval () {
  159 + // 单元测试 数字板增长
  160 + setInterval(() => {
  161 + this.declaredAmountNumber += 10
  162 + this.initChart()
  163 + }, 2000)
  164 + }
  165 +
  166 + }
  167 +}
  1 +<div class="com-container">
  2 + <div class="com-chart" id="digitalboard_top_ref">
  3 + <div style="margin-top: 2%" :style="comcontextStyle">
  4 + <el-row>
  5 + <el-col :span="12">
  6 + <div class="grid-content bg-purple">
  7 + <span>
  8 + <!--title_box_1.png-->
  9 + <img :style="comTitleimgStyle" src="./src/assets/img/title_box_middle.png">
  10 + <span class="span-box-title" :style="comTitleSizeStyle">{{leftTitle}}</span>
  11 + </span>
  12 + </div>
  13 + </el-col>
  14 + <el-col :span="12">
  15 + <div class="grid-content bg-purple-light com-box-right">
  16 + <span :style="comTitleSizeStyle">{{rightTitle}}:{{undeclaredAmountNumber}}</span>
  17 + </div>
  18 + </el-col>
  19 + </el-row>
  20 + <el-row>
  21 + <el-col :span="3">
  22 + <div class="grid-content bg-purple com-box">
  23 + <span >
  24 + <img :style="comboximgStyle" src="./src/assets/img/bit_box_2.png">
  25 + <span class="com-box-value" :style="combitnumberStyle" style="left: 2.5%;color: #FEFEFE;" v-if="mustBitFalg > 0">{{mustBit}}</span>
  26 + <span class="com-box-value" :style="combitnumberStyle" style="left: 2.5%;color: #97969B;" v-if="mustBitFalg == 0">{{mustBit}}</span>
  27 + </span>
  28 + </div>
  29 + </el-col>
  30 + <el-col :span="3">
  31 + <div class="grid-content bg-purple-light com-box">
  32 + <span>
  33 + <img :style="comboximgStyle" src="./src/assets/img/bit_box_2.png">
  34 + <span class="com-box-value" :style="combitnumberStyle" style="left: 15%;color: #FEFEFE;" v-if="millionBitFalg > 0">{{millionBit}}</span>
  35 + <span class="com-box-value" :style="combitnumberStyle" style="left: 15%;color: #97969B;" v-if="millionBitFalg == 0">{{millionBit}}</span>
  36 + <span :style="comcommaStyle" style=" left: 24%;" v-if="isOneCommaShow">,</span>
  37 + </span>
  38 + </div>
  39 + </el-col>
  40 + <el-col :span="3">
  41 + <div class="grid-content bg-purple com-box">
  42 + <span>
  43 + <img :style="comboximgStyle" src="./src/assets/img/bit_box_2.png">
  44 + <span class="com-box-value" :style="combitnumberStyle" style="left: 27.5%;color: #FEFEFE;" v-if="hundredThousandBitFalg > 0">{{hundredThousandBit}}</span>
  45 + <span class="com-box-value" :style="combitnumberStyle" style="left: 27.5%;color: #97969B;" v-if="hundredThousandBitFalg == 0">{{hundredThousandBit}}</span>
  46 + </span>
  47 + </div>
  48 + </el-col>
  49 + <el-col :span="3">
  50 + <div class="grid-content bg-purple-light com-box">
  51 + <span>
  52 + <img :style="comboximgStyle" src="./src/assets/img/bit_box_2.png">
  53 + <span class="com-box-value" :style="combitnumberStyle" style="left: 40%;color: #FEFEFE;" v-if="tenThousandBitFalg > 0">{{tenThousandBit}}</span>
  54 + <span class="com-box-value" :style="combitnumberStyle" style="left: 40%;color: #97969B;" v-if="tenThousandBitFalg == 0">{{tenThousandBit}}</span>
  55 + </span>
  56 + </div>
  57 + </el-col>
  58 + <el-col :span="3">
  59 + <div class="grid-content bg-purple com-box">
  60 + <span>
  61 + <img :style="comboximgStyle" src="./src/assets/img/bit_box_2.png">
  62 + <span class="com-box-value" :style="combitnumberStyle" style="left: 52.5%;color: #FEFEFE;" v-if="thousandBitFalg > 0">{{thousandBit}}</span>
  63 + <span class="com-box-value" :style="combitnumberStyle" style="left: 52.5%;color: #97969B;" v-if="thousandBitFalg == 0">{{thousandBit}}</span>
  64 + <span :style="comcommaStyle" style="left: 61.5%;" v-if="isTwoCommaShow">,</span>
  65 + </span>
  66 + </div>
  67 + </el-col>
  68 + <el-col :span="3">
  69 + <div class="grid-content bg-purple-light com-box">
  70 + <span>
  71 + <img :style="comboximgStyle" src="./src/assets/img/bit_box_2.png">
  72 + <span class="com-box-value" :style="combitnumberStyle" style="left: 65%;color: #FEFEFE;" v-if="hundredBitFalg > 0">{{hundredBit}}</span>
  73 + <span class="com-box-value" :style="combitnumberStyle" style="left: 65%;color: #97969B;" v-if="hundredBitFalg == 0">{{hundredBit}}</span>
  74 + </span>
  75 + </div>
  76 + </el-col>
  77 + <el-col :span="3">
  78 + <div class="grid-content bg-purple com-box">
  79 + <span>
  80 + <img :style="comboximgStyle" src="./src/assets/img/bit_box_2.png">
  81 + <span class="com-box-value" :style="combitnumberStyle" style="left: 77.5%;color: #FEFEFE;" v-if="tenBitFalg > 0">{{tenBit}}</span>
  82 + <span class="com-box-value" :style="combitnumberStyle" style="left: 77.5%;color: #97969B;" v-if="tenBitFalg == 0">{{tenBit}}</span>
  83 + </span>
  84 + </div>
  85 + </el-col>
  86 + <el-col :span="3">
  87 + <div class="grid-content bg-purple-light com-box">
  88 + <span>
  89 + <img :style="comboximgStyle" src="./src/assets/img/bit_box_2.png">
  90 + <span class="com-box-value" :style="combitnumberStyle" style="left: 90%;color: #FEFEFE;" v-if="bitBitFalg > 0">{{bitBit}}</span>
  91 + <span class="com-box-value" :style="combitnumberStyle" style="left: 90%;color: #97969B;" v-if="bitBitFalg == 0">{{bitBit}}</span>
  92 + </span>
  93 + </div>
  94 + </el-col>
  95 + </el-row>
  96 + </div>
  97 + </div>
  98 +</div>
  1 +export default {
  2 + name: 'digitalBoardTop',
  3 + template: '',
  4 + components: {},
  5 + data () {
  6 + return {
  7 + // chartInstance: null
  8 + titleFontSize: 80,
  9 + // 千万位数
  10 + mustBit: 0,
  11 + millionBit: 0,
  12 + // 十万位数
  13 + hundredThousandBit: 0,
  14 + // 万位数
  15 + tenThousandBit: 0,
  16 + thousandBit: 0,
  17 + hundredBit: 0,
  18 + tenBit: 0,
  19 + bitBit: 0,
  20 + // 颜色判断位数 0:1 暗色/亮色
  21 + mustBitFalg: 0,
  22 + millionBitFalg: 0,
  23 + hundredThousandBitFalg: 0,
  24 + tenThousandBitFalg: 0,
  25 + thousandBitFalg: 0,
  26 + hundredBitFalg: 0,
  27 + tenBitFalg: 0,
  28 + bitBitFalg: 0,
  29 + isOneCommaShow: false,
  30 + isTwoCommaShow: false,
  31 + declaredAmountNumber: 1283, // 左边数
  32 + undeclaredAmountNumber: 0, // 右边数
  33 + leftTitle: '今日已申报数',
  34 + rightTitle: '本日申报未导入'
  35 + }
  36 + },
  37 + computed: {
  38 + comboximgStyle () {
  39 + return {
  40 + height: this.titleFontSize * 4.5 + 'px'
  41 + }
  42 + },
  43 + comTitleimgStyle () {
  44 + return {
  45 + width: this.titleFontSize * 12 + 'px'
  46 + }
  47 + },
  48 + comTitleSizeStyle () {
  49 + return {
  50 + fontSize: this.titleFontSize / 1.5 + 'px'
  51 + }
  52 + },
  53 + comtitlimgStyle () {
  54 + return {
  55 + height: this.titleFontSize + 'px'
  56 + }
  57 + },
  58 + comcontextStyle () {
  59 + return {
  60 + fontSize: this.titleFontSize / 1.5 + 'px'
  61 + }
  62 + },
  63 + combitnumberStyle () {
  64 + return {
  65 + fontSize: this.titleFontSize * 3.5 + 'px',
  66 + top: '9%',
  67 + position: 'absolute',
  68 + fontFamily: 'yjsz'
  69 + }
  70 + },
  71 + comcommaStyle () {
  72 + return {
  73 + position: 'absolute',
  74 + color: '#FEFEFE',
  75 + fontSize: this.titleFontSize * 3 + 'px',
  76 + top: '28%',
  77 + fontFamily: 'yjsz'
  78 + }
  79 + }
  80 +
  81 + },
  82 + mounted () {
  83 + this.startInterval()
  84 + // this.initChart()
  85 + this.getData()
  86 + window.addEventListener('resize', this.screenAdapter)
  87 + this.screenAdapter()
  88 + },
  89 + unmounted () {
  90 + window.removeEventListener('resize', this.screenAdapter)
  91 + },
  92 + methods: {
  93 + initChart () {
  94 + // 判断数字位数
  95 + this.bitBit = this.declaredAmountNumber % 10
  96 + const bitFlag = Math.floor(this.declaredAmountNumber)
  97 + if (bitFlag > 0) {
  98 + // 个位
  99 + this.bitBitFalg = 1
  100 + }
  101 + this.tenBit = Math.floor(this.declaredAmountNumber % 100 / 10)
  102 + const tenFlag = Math.floor(this.declaredAmountNumber / 10)
  103 + if (tenFlag > 0) {
  104 + // 十位
  105 + this.tenBitFalg = 1
  106 + }
  107 + this.hundredBit = Math.floor(this.declaredAmountNumber % 1000 / 100)
  108 + const hundredFlag = Math.floor(this.declaredAmountNumber / 100)
  109 + if (hundredFlag > 0) {
  110 + // 百位
  111 + this.hundredBitFalg = 1
  112 + }
  113 + this.thousandBit = Math.floor(this.declaredAmountNumber % 10000 / 1000)
  114 + const thousandFlag = Math.floor(this.declaredAmountNumber / 1000)
  115 + if (thousandFlag > 0) {
  116 + // 千位
  117 + this.thousandBitFalg = 1
  118 + this.isTwoCommaShow = true
  119 + }
  120 + this.tenThousandBit = Math.floor(this.declaredAmountNumber % 100000 / 10000)
  121 + const tenThousandFlag = Math.floor(this.declaredAmountNumber / 10000)
  122 + if (tenThousandFlag > 0) {
  123 + // 万位
  124 + this.tenThousandBitFalg = 1
  125 + }
  126 + this.hundredThousandBit = Math.floor(this.declaredAmountNumber % 1000000 / 100000)
  127 + const hundredThousandFlag = Math.floor(this.declaredAmountNumber / 100000)
  128 + if (hundredThousandFlag > 0) {
  129 + // 十万位
  130 + this.hundredThousandBitFalg = 1
  131 + }
  132 + this.millionBit = Math.floor(this.declaredAmountNumber % 10000000 / 1000000)
  133 + const millionFlag = Math.floor(this.declaredAmountNumber / 1000000)
  134 + if (millionFlag > 0) {
  135 + // 百万位
  136 + this.millionBitFalg = 1
  137 + this.isOneCommaShow = true
  138 + }
  139 + this.mustBit = Math.floor(this.declaredAmountNumber % 100000000 / 10000000)
  140 + const mustFlag = Math.floor(this.declaredAmountNumber / 10000000)
  141 + if (mustFlag > 0) {
  142 + // 千万位
  143 + this.mustBitFalg = 1
  144 + }
  145 + },
  146 + async getData () {
  147 + // await this.$http.get()
  148 + this.initChart()
  149 + this.updateChart()
  150 + },
  151 + updateChart () {
  152 + // const dataOption = {}
  153 + // this.chartInstance.setOption(dataOption)
  154 + },
  155 + screenAdapter () {
  156 + this.titleFontSize = document.getElementById('digitalboard_top_ref').offsetWidth / 100 * 3.6
  157 + },
  158 + startInterval () {
  159 + // 单元测试 数字板增长
  160 + setInterval(() => {
  161 + this.declaredAmountNumber += 10
  162 + this.initChart()
  163 + }, 2000)
  164 + }
  165 +
  166 + }
  167 +}
  1 +<div class="com-container">
  2 + <div class="com-chart" id="documentcpu_ref"></div>
  3 +</div>
  1 +export default {
  2 + name: 'DocumentCpu',
  3 + template: '',
  4 + components: {},
  5 + data () {
  6 + return {
  7 + chartInstance: null,
  8 + allData: {
  9 + polyline: {
  10 + title: "文书库CPU监控",
  11 + unit: "cpu%",
  12 + data: [{
  13 + name: "80.12.97.2",
  14 + data: ["12","15","21","18","20","37","45","23","12","5","7","14"]
  15 + }, {
  16 + name: "80.12.77.3",
  17 + data: ["22","35","41","68","70","57","45","33","24","15","7","10"]
  18 + }]
  19 + },
  20 + xAxis: {
  21 + today: ["00", "02", "04", "06", "08", "10", "12", "14", "16", "18", "20", "22"]
  22 + }
  23 + },
  24 + startValue: 0, // 区域缩放的起点值
  25 + endValue: 6, // 区域缩放的终点值
  26 + timerId: null // 定时器的标识
  27 + }
  28 + },
  29 + mounted () {
  30 + this.initChart()
  31 + this.getData()
  32 + window.addEventListener('resize', this.screenAdapter)
  33 + this.screenAdapter()
  34 + },
  35 + unmounted () {
  36 + window.removeEventListener('resize', this.screenAdapter)
  37 + clearInterval(this.timerId)
  38 + },
  39 + methods: {
  40 + initChart () {
  41 + this.chartInstance = echarts.init(document.getElementById('documentcpu_ref'))
  42 + const initOption = {
  43 + grid: {
  44 + top: '15%',
  45 + left: '3%',
  46 + right: '4%',
  47 + bottom: '20%',
  48 + containLabel: true
  49 + },
  50 + legend: {
  51 + right: '10%',
  52 + top: '5%',
  53 + textStyle: {
  54 + color: 'wihte'
  55 + }
  56 + },
  57 + xAxis: {
  58 + type: 'category',
  59 + boundaryGap: false
  60 + },
  61 + yAxis: {
  62 + type: 'value',
  63 + splitLine: {
  64 + show: false
  65 + }
  66 + }
  67 + }
  68 + this.chartInstance.setOption(initOption)
  69 + },
  70 + async getData () {
  71 + // await this.$http.get()
  72 + // const { data: ret } = await this.$http.get('documentcpu')
  73 + // this.allData = ret
  74 + // console.log(ret)
  75 + this.updateChart()
  76 + this.startInterval()
  77 + },
  78 + updateChart () {
  79 + // 半透明的颜色值
  80 + const colorArr1 = [
  81 + 'rgba(11, 168, 44, 0.5)',
  82 + 'rgba(44, 110, 255, 0.5)',
  83 + 'rgba(22, 242, 217, 0.5)',
  84 + 'rgba(254, 33, 30, 0.5)',
  85 + 'rgba(250, 105, 0, 0.5)'
  86 + ]
  87 + // 全透明的颜色值
  88 + const colorArr2 = [
  89 + 'rgba(11, 168, 44, 0)',
  90 + 'rgba(44, 110, 255, 0)',
  91 + 'rgba(22, 242, 217, 0)',
  92 + 'rgba(254, 33, 30, 0)',
  93 + 'rgba(250, 105, 0, 0)'
  94 + ]
  95 + const timeArr = this.allData.xAxis.today
  96 + const seriesArr = this.allData.polyline.data.map((item, index) => {
  97 + return {
  98 + name: item.name,
  99 + type: 'line',
  100 + data: item.data,
  101 + smooth: true,
  102 + areaStyle: {
  103 + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  104 + {
  105 + offset: 0,
  106 + color: colorArr1[index]
  107 + }, // %0的颜色值
  108 + {
  109 + offset: 1,
  110 + color: colorArr2[index]
  111 + } // 100%的颜色值
  112 + ])
  113 + }
  114 + }
  115 + })
  116 + // 图例的数据
  117 + const legendArr = this.allData.polyline.data.map(item => {
  118 + return item.name
  119 + })
  120 + const title = this.allData.polyline.title
  121 + const unit = this.allData.polyline.unit
  122 + const dataOption = {
  123 + title: {
  124 + text: title,
  125 + left: 'center',
  126 + bottom: '8%'
  127 + },
  128 + xAxis: {
  129 + data: timeArr
  130 + },
  131 + yAxis: {
  132 + name: unit
  133 + },
  134 + legend: {
  135 + data: legendArr
  136 + },
  137 + dataZoom: {
  138 + show: false,
  139 + startValue: this.startValue,
  140 + endValue: this.endValue
  141 + },
  142 + series: seriesArr
  143 + }
  144 + this.chartInstance.setOption(dataOption)
  145 + },
  146 + screenAdapter () {
  147 + this.titleFontSize = document.getElementById('documentcpu_ref').offsetWidth / 100 * 3.6
  148 + const adapterOption = {
  149 + title: {
  150 + textStyle: {
  151 + fontSize: this.titleFontSize,
  152 + color: 'white'
  153 + }
  154 + },
  155 + yAxis: {
  156 + top: this.titleFontSize,
  157 + nameTextStyle: {
  158 + padding: [0, 0, -(this.titleFontSize / 2), -(this.titleFontSize)], // 修改位置
  159 + fontSize: this.titleFontSize / 2,
  160 + color: 'white'
  161 + }
  162 + },
  163 + legend: {
  164 + itemWidth: this.titleFontSize,
  165 + itemHeight: this.titleFontSize,
  166 + itemGap: this.titleFontSize,
  167 + textStyle: {
  168 + fontSize: this.titleFontSize / 1.5
  169 + }
  170 + }
  171 + }
  172 + this.chartInstance.setOption(adapterOption)
  173 + this.chartInstance.resize()
  174 + },
  175 + startInterval () {
  176 + if (this.timerId) {
  177 + clearInterval(this.timerId)
  178 + }
  179 + let index = 12
  180 + this.timerId = setInterval(() => {
  181 + this.startValue++
  182 + this.endValue++
  183 + if ((this.allData.polyline.data).length > 0) {
  184 + index = (this.allData.polyline.data)[0].data.length
  185 + }
  186 + if (this.endValue > index - 1) {
  187 + this.startValue = 0
  188 + this.endValue = 6
  189 + }
  190 + console.log(this.startValue)
  191 + console.log(this.endValue)
  192 + this.updateChart()
  193 + }, 5000)
  194 + }
  195 + }
  196 +}
  1 +<div class="com-container">
  2 + <div class="com-chart" id="responsemonitor_ref"></div>
  3 +</div>
  1 +export default {
  2 + name: 'ResponseMonitor',
  3 + template: '',
  4 + components: {},
  5 + data () {
  6 + return {
  7 + chartInstance: null,
  8 + allData: {
  9 + polyline: {
  10 + title: "系统响应请求数监控",
  11 + unit: "MB",
  12 + data: {
  13 + name: "请求相应数/秒",
  14 + data: ["1200","1500","2100","1800","2000","3700","4500","2300","1200","500","700","140"]
  15 + }
  16 + },
  17 + xAxis: {
  18 + today: ["00", "02", "04", "06", "08", "10", "12", "14", "16", "18", "20", "22"]
  19 + }
  20 + },
  21 + startValue: 0, // 区域缩放的起点值
  22 + endValue: 6, // 区域缩放的终点值
  23 + timerId: null // 定时器的标识
  24 + }
  25 + },
  26 + mounted () {
  27 + this.initChart()
  28 + this.getData()
  29 + window.addEventListener('resize', this.screenAdapter)
  30 + this.screenAdapter()
  31 + },
  32 + unmounted () {
  33 + window.removeEventListener('resize', this.screenAdapter)
  34 + clearInterval(this.timerId)
  35 + },
  36 + methods: {
  37 + initChart () {
  38 + this.chartInstance = echarts.init(document.getElementById('responsemonitor_ref'))
  39 + const initOption = {
  40 + grid: {
  41 + top: '15%',
  42 + left: '5%',
  43 + right: '4%',
  44 + bottom: '3%',
  45 + containLabel: true
  46 + },
  47 + legend: {
  48 + right: '2%',
  49 + top: '5%'
  50 + },
  51 + xAxis: {
  52 + type: 'category',
  53 + boundaryGap: false
  54 + },
  55 + yAxis: {
  56 + type: 'value',
  57 + splitLine: {
  58 + show: false
  59 + }
  60 + }
  61 + }
  62 + this.chartInstance.setOption(initOption)
  63 + },
  64 + async getData () {
  65 + // await this.$http.get()
  66 + // const { data: ret } = await this.$http.get('responsemonitor')
  67 + // this.allData = ret
  68 + // console.log(ret)
  69 + this.updateChart()
  70 + this.startInterval()
  71 + },
  72 + updateChart () {
  73 + // 半透明的颜色值
  74 + const colorArr1 = [
  75 + 'rgba(11, 168, 44, 0.5)',
  76 + 'rgba(44, 110, 255, 0.5)',
  77 + 'rgba(22, 242, 217, 0.5)',
  78 + 'rgba(254, 33, 30, 0.5)',
  79 + 'rgba(250, 105, 0, 0.5)'
  80 + ]
  81 + // 全透明的颜色值
  82 + const colorArr2 = [
  83 + 'rgba(11, 168, 44, 0)',
  84 + 'rgba(44, 110, 255, 0)',
  85 + 'rgba(22, 242, 217, 0)',
  86 + 'rgba(254, 33, 30, 0)',
  87 + 'rgba(250, 105, 0, 0)'
  88 + ]
  89 + const timeArr = this.allData.xAxis.today
  90 + const seriesData = this.allData.polyline.data.data
  91 + const seriesName = this.allData.polyline.data.name
  92 + console.log(seriesName)
  93 + // 图例的数据
  94 + const legendArr = this.allData.polyline.data.data.map(item => {
  95 + return item.name
  96 + })
  97 + const title = this.allData.polyline.title
  98 + // const unit = this.allData.polyline.unit
  99 + const dataOption = {
  100 + title: {
  101 + text: title,
  102 + left: '10%',
  103 + textStyle: {
  104 + color: '#F1F2F5'
  105 + }
  106 + },
  107 + xAxis: {
  108 + data: timeArr
  109 + },
  110 + legend: {
  111 + data: legendArr
  112 + },
  113 + dataZoom: {
  114 + show: false,
  115 + startValue: this.startValue,
  116 + endValue: this.endValue
  117 + },
  118 + series: [
  119 + {
  120 + name: seriesName,
  121 + type: 'line',
  122 + data: seriesData,
  123 + smooth: true,
  124 + areaStyle: {
  125 + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  126 + {
  127 + offset: 0,
  128 + color: colorArr1[2]
  129 + }, // %0的颜色值
  130 + {
  131 + offset: 1,
  132 + color: colorArr2[2]
  133 + } // 100%的颜色值
  134 + ])
  135 + }
  136 + }
  137 + ]
  138 + }
  139 + this.chartInstance.setOption(dataOption)
  140 + },
  141 + screenAdapter () {
  142 + this.titleFontSize = document.getElementById('responsemonitor_ref').offsetWidth / 100 * 3.6
  143 + const adapterOption = {
  144 + title: {
  145 + textStyle: {
  146 + fontSize: this.titleFontSize / 1.5
  147 + }
  148 + },
  149 + legend: {
  150 + itemWidth: this.titleFontSize,
  151 + itemHeight: this.titleFontSize,
  152 + itemGap: this.titleFontSize,
  153 + textStyle: {
  154 + fontSize: this.titleFontSize / 2
  155 + }
  156 + }
  157 + }
  158 + this.chartInstance.setOption(adapterOption)
  159 + this.chartInstance.resize()
  160 + },
  161 + startInterval () {
  162 + if (this.timerId) {
  163 + clearInterval(this.timerId)
  164 + }
  165 + let index = 12
  166 + this.timerId = setInterval(() => {
  167 + this.startValue++
  168 + this.endValue++
  169 + // this.allData.polyline.data
  170 + // console.log((this.allData.polyline.data)[0].data.length)
  171 + if ((this.allData.polyline.data).length > 0) {
  172 + index = (this.allData.polyline.data)[0].data.length
  173 + }
  174 + if (this.endValue > index - 1) {
  175 + this.startValue = 0
  176 + this.endValue = 6
  177 + }
  178 + console.log(this.startValue)
  179 + console.log(this.endValue)
  180 + this.updateChart()
  181 + }, 5000)
  182 + }
  183 + }
  184 +}
  1 +<div class="com-container">
  2 + <div class="com-chart" id="topfive_ref"></div>
  3 + <div class="topfive-box-title">
  4 + <img :style="comtitleImgStyle" src="./src/assets/img/box_title_bykk_zj_1.png" class="topfive-title-img"> <!-- bor1_6 -->
  5 + <span :style="comtitleTextStyle" class="topfive-title-size">涉税文书TOP5业务量</span>
  6 + </div>
  7 +</div>
  1 +export default {
  2 + name: 'topfive',
  3 + template: '',
  4 + components: {},
  5 + data () {
  6 + return {
  7 + chartInstance: null,
  8 + allData: [{
  9 + name: '发票领用',
  10 + value: 1201
  11 + }, {
  12 + name: '发票验(交)旧',
  13 + value: 1020
  14 + }, {
  15 + name: '代开增值税专用发票',
  16 + value: 1183
  17 + }, {
  18 + name: '代开增值税普通发票',
  19 + value: 1490
  20 + }, {
  21 + name: '实名采集',
  22 + value: 2001
  23 + }],
  24 + titleFontSize: 30
  25 + }
  26 + },
  27 + computed: {
  28 + comtitleTextStyle () {
  29 + return {
  30 + fontSize: this.titleFontSize / 1.2 + 'px'
  31 + }
  32 + },
  33 + comtitleImgStyle () {
  34 + return {
  35 + height: this.titleFontSize * 2 + 'px',
  36 + width: this.titleFontSize * 14 + 'px'
  37 + }
  38 + }
  39 + },
  40 + mounted () {
  41 + this.initChart()
  42 + this.getData()
  43 + window.addEventListener('resize', this.screenAdapter)
  44 + this.screenAdapter()
  45 + },
  46 + unmounted () {
  47 + window.removeEventListener('resize', this.screenAdapter)
  48 + },
  49 + methods: {
  50 + initChart () {
  51 + // this.chartInstance = this.$echarts.init(this.$refs.topfive_ref, 'chalk')
  52 + this.chartInstance = echarts.init(document.getElementById('topfive_ref'))
  53 + const initOption = {
  54 + // title: {
  55 + // text: '{Sunny| 涉税文书TOP5业务量 }'
  56 + // },
  57 + grid: {
  58 + top: '20%',
  59 + left: '3%',
  60 + right: '6%',
  61 + bottom: '20%',
  62 + // 设置局里包含标签
  63 + containLabel: true
  64 + },
  65 + xAxis: {
  66 + type: 'value',
  67 + splitLine: {
  68 + show: false
  69 + }
  70 + },
  71 + yAxis: {
  72 + type: 'category',
  73 + axisLabel: {
  74 + textStyle: {
  75 + color: '#E2E1E6'
  76 + }
  77 + }
  78 + },
  79 + series: [
  80 + {
  81 + type: 'bar',
  82 + showBackground: true,
  83 + backgroundStyle: {
  84 + color: 'rgba(13, 57, 135, 0.8)'
  85 + },
  86 + label: {
  87 + show: true,
  88 + position: 'right',
  89 + testStyle: {
  90 + color: 'white'
  91 + }
  92 + },
  93 + itemStyle: {
  94 + // 颜色渐变 指明渐变方向,指明不同百分比之下颜色的值 LinearGradient(x1, y1, x2, y2, [])
  95 + color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [
  96 + // 百分之0状态之下的颜色值
  97 + {
  98 + offset: 0,
  99 + color: '#113D84'
  100 + },
  101 + // 百分之100状态之下的颜色值
  102 + {
  103 + offset: 1,
  104 + color: '#6DDBE5'
  105 + }
  106 + ])
  107 + }
  108 + }
  109 + ]
  110 + }
  111 + this.chartInstance.setOption(initOption)
  112 + },
  113 + getData () {
  114 + // await this.$http.get()
  115 + // const { data: ret } = await this.$http.get('topfive')
  116 + // this.allData = ret
  117 + // this.allData.sort((a, b) => {
  118 + // return a.value - b.value
  119 + // })
  120 + const { proxy } = Vue.getCurrentInstance();
  121 + var params = {
  122 + kipValue: 'kipValue'
  123 + };
  124 + proxy.$http.get("/api-web/bigScreen/topFive", params, function (res) {
  125 + console.log(res.object)
  126 + },function (){
  127 + proxy.$global.showMsg('没有查询到记录!');
  128 + });
  129 + this.updateChart()
  130 + },
  131 + updateChart () {
  132 + const sellerNames = this.allData.map((item) => {
  133 + return item.name
  134 + })
  135 + const sellerValues = this.allData.map((item) => {
  136 + return item.value
  137 + })
  138 + const dataOption = {
  139 + yAxis: {
  140 + data: sellerNames
  141 + },
  142 + series: [
  143 + {
  144 + data: sellerValues
  145 + }
  146 + ]
  147 + }
  148 + this.chartInstance.setOption(dataOption)
  149 + },
  150 + screenAdapter () {
  151 + this.titleFontSize = document.getElementById('topfive_ref').offsetWidth / 100 * 3.6
  152 + console.log(this.titleFontSize)
  153 + const adapterOption = {
  154 + xAxis: {
  155 + type: 'value',
  156 + axisLine: {
  157 + show: false
  158 + },
  159 + axisLabel: {
  160 + show: false
  161 + }
  162 + },
  163 + yAxis: {
  164 + type: 'category',
  165 + axisLabel: {
  166 + show: true,
  167 + fontSize: this.titleFontSize / 1.3
  168 + },
  169 + axisLine: {
  170 + show: false
  171 + }
  172 + },
  173 + series: [
  174 + {
  175 + type: 'bar',
  176 + barWidth: this.titleFontSize / 4,
  177 + itemStyle: {
  178 + barBorderRadius: [0, this.titleFontSize / 2, this.titleFontSize / 2, 0]
  179 + }
  180 + }
  181 + ]
  182 + }
  183 + this.chartInstance.setOption(adapterOption)
  184 + this.chartInstance.resize()
  185 + }
  186 + }
  187 + // setup () {
  188 + // const { proxy } = Vue.getCurrentInstance();
  189 + // var params = {
  190 + // kipValue: 'kipValue'
  191 + // };
  192 + // proxy.$http.get("/api-web/bigScreen/topFive", params, function (res) {
  193 + // console.log(JSON.stringify(res))
  194 + // },function (){
  195 + // proxy.$global.showMsg('没有查询到记录!');
  196 + // });
  197 + // }
  198 +}
  1 +<div class="com-container">
  2 + <div class="com-chart" id="polyline_ref"></div>
  3 +</div>
  1 +export default {
  2 + name: 'TrendPolyline',
  3 + template: '',
  4 + components: {},
  5 + data () {
  6 + return {
  7 + chartInstance: null,
  8 + allData: {
  9 + polyline: {
  10 + title: "本月业务量",
  11 + unit: "件",
  12 + data: [{
  13 + name: "网络发票",
  14 + data: ["1562","1112","1232","1112","112","1156","2112","1112","1312","412","1512","112","412","812","612","912","12","312","412","512"]
  15 + }, {
  16 + name: "涉税文书",
  17 + data: ["1222","1232","1242","1252","1262","1272","1282","1292","1302","1312","1322","1332","1342","1352","1362","1372","1382","1392","1402","1412"]
  18 + }, {
  19 + name: "网上申报",
  20 + data: ["1422","1422","1422","1422","1422","1422","1422","1422","1422","1422","1422","1422","1422","1422","1422","1422","1422","1422","1422","1422"]
  21 + }]
  22 + },
  23 + xAxis: {
  24 + today: ["1号", "2号", "3号", "4号", "5号", "6号", "7号", "8号", "9号", "10号", "11号", "12号", "13号", "14号", "15号", "16号", "17号", "18号", "19号", "20号"]
  25 + }
  26 + },
  27 + titleFontSize: 0,
  28 + startValue: 0, // 区域缩放的起点值
  29 + endValue: 9, // 区域缩放的终点值
  30 + timerId: null // 定时器的标识
  31 + }
  32 + },
  33 + mounted () {
  34 + this.initChart()
  35 + this.getData()
  36 + window.addEventListener('resize', this.screenAdapter)
  37 + this.screenAdapter()
  38 + },
  39 + unmounted () {
  40 + window.removeEventListener('resize', this.screenAdapter)
  41 + clearInterval(this.timerId)
  42 + },
  43 + methods: {
  44 + initChart () {
  45 + // this.chartInstance = this.$echarts.init(this.$refs.polyline_ref, 'chalk')
  46 + this.chartInstance = echarts.init(document.getElementById('polyline_ref'))
  47 + const initOption = {
  48 + grid: {
  49 + left: '3%',
  50 + top: '15%',
  51 + right: '6%',
  52 + bottom: '1%',
  53 + containLabel: true
  54 + },
  55 + legend: {
  56 + top: '5%',
  57 + left: 'center',
  58 + textStyle: {
  59 + color: 'wihte'
  60 + }
  61 + },
  62 + xAxis: {
  63 + type: 'category',
  64 + boundaryGap: false,
  65 + axisLabel: {
  66 + textStyle: {
  67 + color: '#E6E8EB'
  68 + }
  69 + }
  70 + },
  71 + yAxis: {
  72 + type: 'value',
  73 + splitLine: {
  74 + show: false
  75 + },
  76 + axisLabel: {
  77 + textStyle: {
  78 + color: '#E6E8EB'
  79 + }
  80 + }
  81 + }
  82 + }
  83 + this.chartInstance.setOption(initOption)
  84 + this.chartInstance.on('mouseover', () => {
  85 + clearInterval(this.timerId)
  86 + })
  87 + this.chartInstance.on('mouseout', () => {
  88 + this.startInterval()
  89 + })
  90 + },
  91 + async getData () {
  92 + // await this.$http.get()
  93 + // const { data: ret } = await this.$http.get('polyline')
  94 + // this.allData = ret
  95 + this.updateChart()
  96 + this.startInterval()
  97 + },
  98 + updateChart () {
  99 + const timeArr = this.allData.xAxis.today
  100 + const seriesArr = this.allData.polyline.data.map((item, index) => {
  101 + return {
  102 + name: item.name,
  103 + type: 'line',
  104 + data: item.data,
  105 + smooth: true
  106 + }
  107 + })
  108 + // 图例的数据
  109 + const legendArr = this.allData.polyline.data.map(item => {
  110 + return item.name
  111 + })
  112 + const dataOption = {
  113 + xAxis: {
  114 + data: timeArr
  115 + },
  116 + legend: {
  117 + data: legendArr
  118 + },
  119 + // 区域缩放
  120 + dataZoom: {
  121 + show: false,
  122 + startValue: this.startValue,
  123 + endValue: this.endValue
  124 + },
  125 + series: seriesArr
  126 + }
  127 + this.chartInstance.setOption(dataOption)
  128 + },
  129 + screenAdapter () {
  130 + this.titleFontSize = document.getElementById('polyline_ref').offsetWidth / 100 * 3.6
  131 + const adapterOption = {
  132 + legend: {
  133 + itemWidth: this.titleFontSize,
  134 + itemHeight: this.titleFontSize / 4,
  135 + itemGap: this.titleFontSize * 3,
  136 + textStyle: {
  137 + fontSize: this.titleFontSize / 2
  138 + }
  139 + }
  140 + }
  141 + this.chartInstance.setOption(adapterOption)
  142 + this.chartInstance.resize()
  143 + },
  144 + startInterval () {
  145 + if (this.timerId) {
  146 + clearInterval(this.timerId)
  147 + }
  148 + let index = 30
  149 + this.timerId = setInterval(() => {
  150 + this.startValue++
  151 + this.endValue++
  152 + // this.allData.polyline.data
  153 + // console.log((this.allData.polyline.data)[0].data.length)
  154 + if ((this.allData.polyline.data).length > 0) {
  155 + index = (this.allData.polyline.data)[0].data.length
  156 + }
  157 + if (this.endValue > index - 1) {
  158 + this.startValue = 0
  159 + this.endValue = 9
  160 + }
  161 + // console.log(this.startValue)
  162 + // console.log(this.endValue)
  163 + this.updateChart()
  164 + }, 5000)
  165 + }
  166 + }
  167 +}
1 -<div class="assets-configmanager">  
2 - <el-form :inline="true" :model="formInline" class="demo-form-inline" style="text-align: left;padding-left: 6px;">  
3 - <el-form-item label="" >  
4 - <el-input :disabled="initFlag" placeholder="输入关键字" v-model="pageInfo.keyWords" prefix-icon="el-icon-search">  
5 - </el-input>  
6 - </el-form-item>  
7 - <el-form-item label="" :disabled="initFlga">  
8 - <res-type-tree multiple clearable collapseTags @callback="getResType" />  
9 - </el-form-item> 1 +<div class="screen-container" id="bgscreen_ref">
  2 + <header class="screen-header" :style="screenheaderStyle">
  3 + <div>
  4 + <img style="width: 100%" src="/vue3/src/assets/img/header_border_dark.png" alt="">
  5 + </div>
  6 + <span class="title" :style="titleStyle">浙江省电子税务局系统监控大屏</span>
  7 + <div class="title-left">
  8 + <img src="/vue3/src/assets/img/time-icon.png" :style="timelogoStyle" class="timelog">
  9 + <span :style="datetimeStyle" >2049-01-01 00:00:00</span>
  10 + </div>
  11 + </header>
  12 + <div class="screen-body">
  13 + <section class="screen-left" >
  14 + <!-- 本月业务量 饼图-->
  15 + <div id="left-top">
  16 + <BusinessVolume></BusinessVolume>
  17 + </div>
  18 + <!-- 本月业务量 折线图-->
  19 + <div id="left-bottom">
  20 + <TrendPolyline></TrendPolyline>
  21 + </div>
  22 + </section>
10 23
11 - <el-form-item label="">  
12 - <machine-room @callback="getMachineRoom"></machine-room>  
13 - </el-form-item> 24 + <section class="screen-middle">
  25 + <div id="middle-top">
  26 + <!-- 今日已申报数 图板 -->
  27 + <DigitalBoardTop></DigitalBoardTop>
  28 + </div>
  29 + <div id="middle-center">
  30 + <!-- 本月已申报数 图板 -->
  31 + <DigitalBoardDown></DigitalBoardDown>
  32 + </div>
  33 + <div id="middle-bottom">
  34 + <!-- 本月申报率折线图 -->
  35 + <DeclarePolyline></DeclarePolyline>
  36 + </div>
  37 + </section>
14 38
15 - <el-form-item>  
16 - <el-button :disabled="initFlag" type="primary" @click="onBtnSearch()">查询</el-button>  
17 - </el-form-item>  
18 - </el-form>  
19 - <!-- <div style="text-align: right" v-if="loadHead">  
20 - <el-popover placement="bottom" trigger="click">  
21 - <template #reference>  
22 - <el-button icon="el-icon-set-up" plain hairline size="small"></el-button>  
23 - </template>  
24 - <div slot="content" style="width: 100px;">  
25 - <div style="display: flex;flex-direction: column">  
26 - {{checkList}}  
27 - <el-checkbox-group v-model="checkList">  
28 - <el-checkbox :label="item.propName" borderv-for="item in columns"  
29 - style="margin: 3px;width: 100px;"></el-checkbox>  
30 - </el-checkbox-group>  
31 - </div>  
32 - </div>  
33 - </el-popover>  
34 - </div> -->  
35 - <el-table :max-height="height" v-loading="loading" :data="tableList" border style="width: 100%;" header-row-class-name="tbl-header-class"  
36 - :empty-text="emptyText" :stripe="true">  
37 - <el-table-column fixed type="index" v-if="columns.length > 0" :index="(index) => {return index + 1}" label="序号" width="60" align="center"> </el-table-column>  
38 - <el-table-column v-for="item in columns" :prop="item.propKey" :label="item.propName"  
39 - :width="widths[item.propKey] ? widths[item.propKey] : '120'">  
40 - <template #default="scope" v-if="item.propKey =='resName'">  
41 - <el-link type="primary" @click="openDetailPage(scope.row)">{{scope.row.resName}}</el-link>  
42 - </template>  
43 - </el-table-column>  
44 - </el-table>  
45 - <div style="text-align: center">  
46 - <el-pagination @size-change="handleSizeChange"  
47 - @prev-click="prePage"  
48 - @next-click="nextPage"  
49 - @current-change="handleCurrentChange"  
50 - :current-page="pageInfo.page" :page-sizes="[50,100, 150, 200]" :page-size="pageInfo.limit"  
51 - layout="total, sizes, prev, pager, next, jumper" :total="pageInfo.total" />  
52 - </div> 39 + <section class="screen-right">
  40 + <div id="right-top">
  41 + <!-- 本月扣款情况 图板 -->
  42 + <Deduction></Deduction>
  43 + </div>
  44 + <div id="right-center">
  45 + <!-- 业务可用性 折线 -->
  46 + <Availability></Availability>
  47 + </div>
  48 + <div id="right-bottom">
  49 + <!-- 系统响应监控 折线 -->
  50 + <ResponseMonitor></ResponseMonitor>
  51 + </div>
  52 + </section>
  53 + </div>
53 54
  55 + <section class="screen-bottom">
  56 + <div id="bottom-one">
  57 + <!-- top5 条形 -->
  58 + <TopFive></TopFive>
  59 + </div>
  60 + <div id="bottom-two">
  61 + <!-- 申报库cpu监控 折线 -->
  62 + <BeclareCpu></BeclareCpu>
  63 + </div>
  64 + <div id="bottom-three">
  65 + <!-- 文书库cpu监控 折线 -->
  66 + <DocumentCpu></DocumentCpu>
  67 + </div>
  68 + <div id="bottom-four">
  69 + <!-- 带宽占用监控 折线 -->
  70 + <BandwidthCpu></BandwidthCpu>
  71 + </div>
  72 + </section>
  73 +</div>
54 74
55 - <el-dialog top="2vh" :title="row.title" v-model="centerDialogVisible" custom-class="config-dialog" width="80%" destroy-on-close>  
56 - <el-tabs v-model="activeName" @tab-click="handleClick">  
57 - <el-tab-pane label="基本信息" name="jbxx">  
58 - <div class="config-tools">  
59 - <el-button-group>  
60 - <el-button size="mini" icon="el-icon-edit-outline" @click="editConfig('jbxx')"></el-button>  
61 - <el-button size="mini" v-if="edits['jbxx'] && edits['jbxx'] === true" icon="el-icon-check" @click="saveConfig('jbxx')"></el-button>  
62 - <el-button size="mini" v-if="edits['jbxx'] && edits['jbxx'] === true" icon="el-icon-close" @click="cancelConfig('jbxx')"></el-button>  
63 - </el-button-group>  
64 - </div>  
65 -  
66 - <div class="config-view">  
67 - <div style="display: flex;flex-direction: row;width: 100%;">  
68 - <div class="config-header-title">属性</div>  
69 - <div class="config-header-content">内容</div>  
70 - <div class="config-header-title">属性</div>  
71 - <div class="config-header-content">内容</div>  
72 - </div>  
73 - <div v-if="row.detail.jbxx != undefined" v-for="(item,index) in row.detail.jbxx"  
74 - style="display: flex;flex-direction: row;width: 50%;">  
75 - <div class="config-content-title">  
76 - {{item.propName}} &nbsp;  
77 - <i v-if="editKey[item.propKey] && editKey[item.propKey].edit === true" class="el-icon-edit" style="color: #409eff;" />  
78 - </div>  
79 - <div class="config-content-content">  
80 - <property-edit :detail="item" @callback="callback"  
81 - :operates="edits['jbxx']"></property-edit>  
82 - </div>  
83 - </div>  
84 - </div>  
85 - </el-tab-pane>  
86 - <el-tab-pane v-if="row.detail.name != undefined" v-for="(item,index) in row.detail.name"  
87 - :label="item.propName" :name="item.parentPropKey">  
88 - <div class="config-tools">  
89 - <el-button-group>  
90 - <el-button size="mini" @click="addTabDetail(item.parentPropKey)" icon="el-icon-plus"></el-button>  
91 - <el-button size="mini" @click="editConfig(item.parentPropKey)" icon="el-icon-edit-outline"></el-button>  
92 - <el-button size="mini" @click="saveTabConfig(item.parentPropKey)" v-if="edits[item.parentPropKey] && edits[item.parentPropKey] === true" icon="el-icon-check"></el-button>  
93 - <el-button size="mini" @click="cancelConfig(item.parentPropKey)" v-if="tabDelete[item.parentPropKey] && tabDelete[item.parentPropKey] === true" icon="el-icon-close"></el-button>  
94 - </el-button-group>  
95 - </div>  
96 - <div class="config-view">  
97 - <div style="display: flex;flex-direction: row;width: 100%;">  
98 - <div class="config-header-title"  
99 - v-if="row[item.parentPropKey] != undefined && row[item.parentPropKey].name != undefined "  
100 - :style="'width:calc(' + 1/row[item.parentPropKey].name.length*100 +'% - ' + 40/row[item.parentPropKey].name.length + 'px)'"  
101 - v-for="(propName,index) in row[item.parentPropKey].name" >  
102 - {{propName}}  
103 - </div>  
104 - <div class="config-header-title" style="width: 40px">操作</div>  
105 - </div>  
106 - <div style="display: flex;flex-direction: row;width: 100%;"  
107 - v-if="row[item.parentPropKey] != undefined && row[item.parentPropKey].data != undefined "  
108 - v-for="(propList,index) in row[item.parentPropKey].data">  
109 - <div class="config-content-content"  
110 - :style="'width:calc(' + 1/row[item.parentPropKey].name.length*100 +'% - ' + 40/row[item.parentPropKey].name.length + 'px)'"  
111 - v-for="(propInfo,index2) in propList">  
112 - <property-edit :detail="propInfo" @callback="callback"  
113 - :operates="edits[item.parentPropKey]"></property-edit>  
114 - <!--<div v-if="index2 == (propList.length -1) && propInfo.addItem && propInfo.addItem == 1"  
115 - style="position: absolute;width: 20px;right: 15px;" >  
116 - <el-button size="mini" circle icon="el-icon-delete" @click="deleConfigItem(propList,index,item.parentPropKey)"></el-button>  
117 - </div>-->  
118 - </div>  
119 - <div class="config-content-content" style="width: 40px;">  
120 - <el-button size="mini" type="text" icon="el-icon-delete"  
121 - v-if="propList[0] && propList[0].addItem && propList[0].addItem == 1"  
122 - @click="deleConfigItem(propList,index,item.parentPropKey)"></el-button>  
123 - </div>  
124 - </div>  
125 - </div>  
126 - </el-tab-pane>  
127 -  
128 - </el-tabs>  
129 - </el-dialog>  
130 </div> 75 </div>