Authored by 王涛
Showing 86 changed files with 2316 additions and 1158 deletions

Too many changes to show.

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

@@ -71,6 +71,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions',' @@ -71,6 +71,7 @@ layui.define(['table', 'form', 'admin', 'layer', 'common','reslist','sessions','
71 resize: false, 71 resize: false,
72 content: laytpl(res.body).render(JSON.stringify(params)), 72 content: laytpl(res.body).render(JSON.stringify(params)),
73 btn: ["选择","取消"], 73 btn: ["选择","取消"],
  74 + id:'alarm_template_Table_tactics',//设定一个id,防止重复弹出
74 success: function (index, layero) { 75 success: function (index, layero) {
75 76
76 }, 77 },
@@ -35,8 +35,8 @@ @@ -35,8 +35,8 @@
35 :style="{'height':height+'px','max-height':height + 'px','overflow':'hidden'}"> 35 :style="{'height':height+'px','max-height':height + 'px','overflow':'hidden'}">
36 <div style="display: flex;flex-direction: row;padding: 3px;background-color: white;padding-bottom: 5px;height:45px;border-bottom: solid 1px #EBEEF5"> 36 <div style="display: flex;flex-direction: row;padding: 3px;background-color: white;padding-bottom: 5px;height:45px;border-bottom: solid 1px #EBEEF5">
37 <div style="width: calc(100% - 150px);padding-left: 6px;text-align: left;"> 37 <div style="width: calc(100% - 150px);padding-left: 6px;text-align: left;">
38 - <el-input v-model="keyWord" placeholder="请输入关键字" :size="$global.elementSize"  
39 - style="width: 220px;margin-right:10px" clearable/> 38 + <el-input v-model="keyWord" placeholder="请输入关键字" :size="$global.elementSize" @keydown.enter.native="searchFile"
  39 + style="width: 220px;margin-right:10px" clearable />
40 <el-button :size="$global.elementSize" @click="searchFile"> 40 <el-button :size="$global.elementSize" @click="searchFile">
41 <i class="iconfont icon-sousuo"></i>搜索</el-button> 41 <i class="iconfont icon-sousuo"></i>搜索</el-button>
42 <el-button :size="$global.elementSize" @click="showUserDialog(true)" v-if="!isView && !isRecycle"> 42 <el-button :size="$global.elementSize" @click="showUserDialog(true)" v-if="!isView && !isRecycle">
@@ -19,6 +19,8 @@ @@ -19,6 +19,8 @@
19 19
20 @import "../css/digitalboard.css"; 20 @import "../css/digitalboard.css";
21 21
  22 +@import "../css/declareReport.css";
  23 +
22 /*zj大屏*/ 24 /*zj大屏*/
23 @import "../css/zjbigscreen.css"; 25 @import "../css/zjbigscreen.css";
24 26
@@ -34,4 +36,9 @@ @@ -34,4 +36,9 @@
34 36
35 @import "../css/resourceStatistics.css"; 37 @import "../css/resourceStatistics.css";
36 38
37 -@import "../css/cloudPlatform.css";  
  39 +@import "../css/cloudPlatform.css";
  40 +
  41 +@import "../css/navTabs.css";
  42 +
  43 +/*对比分析*/
  44 +@import "../css/analysis.css";
  1 +.analysis-index-container{
  2 + display: flex;
  3 + justify-content: center;
  4 + margin-top: 30px;
  5 +}
  6 +.iconAdd{
  7 + width:50%;
  8 + height:240px;
  9 + color:#00b3fe;
  10 + cursor: pointer;
  11 + border:1px dot-dash #00b3fe;
  12 + display: flex;
  13 + justify-content: center;
  14 + align-items: center;
  15 +}
  16 +/*add页面*/
  17 +.analysis-add-container{
  18 + height: 100%;
  19 + background-color: #f6f6f6;
  20 +}
  21 +.add-top{
  22 + background-color: #FFFFFF;
  23 + padding:20px;
  24 + margin-bottom: 20px;
  25 + width: 100%;
  26 +}
  27 +.add-bottom{
  28 + background-color: #FFFFFF;
  29 + padding:20px 30px;
  30 + width: 100%;
  31 +}
  32 +.classLine{
  33 + width:100%;
  34 +}
  35 +.add-top-title{
  36 + text-align: left;
  37 +}
  38 +.add-top-select{
  39 + display: flex;
  40 + justify-content: space-between;
  41 +}
  42 +.bottom-condition{
  43 + padding:0 20px;
  44 + display: flex;
  45 + flex-flow: column;
  46 + justify-content: space-around;
  47 +}
@@ -75,7 +75,10 @@ @@ -75,7 +75,10 @@
75 position: relative; 75 position: relative;
76 z-index: 1; 76 z-index: 1;
77 } 77 }
78 - 78 +.yxqk .tip .asset-tip{
  79 + display: inline-block;
  80 + position: relative;
  81 +}
79 82
80 .yxqk .tip b { 83 .yxqk .tip b {
81 color:#00b3fe; 84 color:#00b3fe;
@@ -93,7 +96,7 @@ @@ -93,7 +96,7 @@
93 height:10px; 96 height:10px;
94 content: ''; 97 content: '';
95 position: absolute; 98 position: absolute;
96 - top: 4px; 99 + top: 9px;
97 background-repeat: no-repeat; 100 background-repeat: no-repeat;
98 background-size: cover; 101 background-size: cover;
99 background-image: url('/vue3/src/assets/images/zjdp/tip.png') 102 background-image: url('/vue3/src/assets/images/zjdp/tip.png')
@@ -199,7 +202,7 @@ @@ -199,7 +202,7 @@
199 opacity: .9; 202 opacity: .9;
200 position: absolute; 203 position: absolute;
201 top: -10px; 204 top: -10px;
202 - left: 270px; 205 + left: 70px;
203 z-index: 999; 206 z-index: 999;
204 width: 132px; 207 width: 132px;
205 height: 170px; 208 height: 170px;
@@ -22,7 +22,7 @@ @@ -22,7 +22,7 @@
22 width: 100%; 22 width: 100%;
23 height: 100%; 23 height: 100%;
24 padding: 0 0.2%; 24 padding: 0 0.2%;
25 - background: url(bg_backgroud.png); 25 + background: url('/vue3/src/assets/images/digitalDp/bg_backgroud.png');
26 background-size: 100% 100%; 26 background-size: 100% 100%;
27 color: #fff; 27 color: #fff;
28 box-sizing: border-box; 28 box-sizing: border-box;
@@ -58,7 +58,7 @@ @@ -58,7 +58,7 @@
58 } 58 }
59 .screen-left { 59 .screen-left {
60 height: 100%; 60 height: 100%;
61 - width: 30%; 61 + width: 26%;
62 } 62 }
63 .screen-left #left-top { 63 .screen-left #left-top {
64 height: 56%; 64 height: 56%;
@@ -68,26 +68,62 @@ @@ -68,26 +68,62 @@
68 height: 43.8%; 68 height: 43.8%;
69 position: relative; 69 position: relative;
70 } 70 }
  71 +.screen-left #left-bottom .declare-lineChart{
  72 + height: 100%;
  73 +}
71 .screen-middle { 74 .screen-middle {
72 height: 100%; 75 height: 100%;
73 - width: 40%; 76 + width: 44%;
74 margin-top: 0.5%; 77 margin-top: 0.5%;
75 margin-left: 0.2%; 78 margin-left: 0.2%;
76 margin-right: 0.2%; 79 margin-right: 0.2%;
  80 + display:flex;
  81 +}
  82 +.middle-left{
  83 + width:80%;
  84 + display: flex;
  85 + flex-flow: column;
  86 + justify-content: space-around;
  87 +}
  88 +.width-86{
  89 + width:86%;
  90 + margin-bottom: 10px;
  91 + align-items: flex-end;
  92 +}
  93 +.middle-right{
  94 + width: 20%;
  95 + /*flex: 1;*/
  96 + position: relative;
  97 + left: -5%;
  98 + display: flex;
  99 + flex-flow: column;
  100 + justify-content: center;
  101 +}
  102 +.deduction-bottom{
  103 + height:40%;
  104 + position: relative;
77 } 105 }
78 .screen-middle #middle-top { 106 .screen-middle #middle-top {
79 width: 100%; 107 width: 100%;
80 - height: 32%; 108 + /*height: 32%;*/
81 position: relative; 109 position: relative;
82 } 110 }
83 .screen-middle #middle-center { 111 .screen-middle #middle-center {
84 width: 100%; 112 width: 100%;
85 - height: 32%; 113 + /*height: 32%;*/
86 position: relative; 114 position: relative;
87 } 115 }
  116 +.middle-left-declare{
  117 + width:100%;
  118 +}
  119 +.middle-left-declare-rate{
  120 + height: 36%;
  121 + width:86%;
  122 +
  123 +}
88 .screen-middle #middle-bottom { 124 .screen-middle #middle-bottom {
89 width: 100%; 125 width: 100%;
90 - height: 36%; 126 + height: 100%;
91 position: relative; 127 position: relative;
92 } 128 }
93 129
@@ -103,18 +139,45 @@ @@ -103,18 +139,45 @@
103 } 139 }
104 140
105 .screen-right #right-top { 141 .screen-right #right-top {
106 - height: 26%; 142 + height: 30%;
107 position: relative; 143 position: relative;
108 } 144 }
109 .screen-right #right-center { 145 .screen-right #right-center {
110 - height: 37%; 146 + height: 35%;
111 position: relative; 147 position: relative;
112 } 148 }
113 .screen-right #right-bottom { 149 .screen-right #right-bottom {
114 - height: 37%; 150 + height: 33%;
115 position: relative; 151 position: relative;
116 } 152 }
  153 +.screen-right #right-top .monitoring-bar{
  154 + height: 100%;
  155 + position: relative;
  156 + text-align: left;
  157 +}
  158 +.cpu-dropdown{
  159 + text-align: right;
  160 + position: absolute;
  161 + right: 10px;
  162 + z-index: 1;
  163 +}
  164 +.cpu-dropdown .el-dropdown .el-dropdown-selfdefine{
  165 + color:#ffffff;
  166 + cursor: pointer;
  167 + margin-right: 15px;
  168 +}
117 169
  170 +.el-dropdown__popper .el-dropdown-menu{
  171 + background-color: rgba(0,0,0,0.5);
  172 + border:none;
  173 +}
  174 +.el-dropdown-menu__item{
  175 + color:#ffffff;
  176 +}
  177 +.el-dropdown__popper.el-popper[role="tooltip"]{
  178 + border:none;
  179 + background-color: rgba(0,0,0,0);
  180 +}
118 .screen-bottom { 181 .screen-bottom {
119 width: 100%; 182 width: 100%;
120 height: 34%; 183 height: 34%;
@@ -122,21 +185,30 @@ @@ -122,21 +185,30 @@
122 } 185 }
123 .screen-bottom #bottom-one { 186 .screen-bottom #bottom-one {
124 height: 100%; 187 height: 100%;
125 - width: 25%; 188 + width: 26%;
126 position: relative; 189 position: relative;
127 } 190 }
128 .screen-bottom #bottom-two { 191 .screen-bottom #bottom-two {
129 height: 100%; 192 height: 100%;
130 - width: 25%; 193 + width: 22%;
131 position: relative; 194 position: relative;
132 } 195 }
133 .screen-bottom #bottom-three { 196 .screen-bottom #bottom-three {
134 height: 100%; 197 height: 100%;
135 - width: 25%; 198 + width: 22%;
136 position: relative; 199 position: relative;
137 } 200 }
138 .screen-bottom #bottom-four { 201 .screen-bottom #bottom-four {
139 height: 100%; 202 height: 100%;
140 - width: 25%; 203 + width: 30%;
141 position: relative; 204 position: relative;
142 } 205 }
  206 +.icon-arrow{
  207 + background-image: url("/vue3/src/assets/images/digitalDp/icon-arrow.png");
  208 + width:12px;
  209 + height:12px;
  210 + background-size: 100%;
  211 + display: inline-block;
  212 + background-repeat: no-repeat;
  213 + background-position: center;
  214 +}
@@ -3,6 +3,9 @@ @@ -3,6 +3,9 @@
3 background-position: center;*/ 3 background-position: center;*/
4 height: 100%; 4 height: 100%;
5 } 5 }
  6 +.cloud-container .container-title{
  7 + padding-left: 20%;
  8 +}
6 .ypt { 9 .ypt {
7 position: relative; 10 position: relative;
8 height: 100%; 11 height: 100%;
@@ -26,7 +29,7 @@ @@ -26,7 +29,7 @@
26 max-width: 475px; 29 max-width: 475px;
27 max-height: 403px; 30 max-height: 403px;
28 background-size: contain; 31 background-size: contain;
29 - background-position: inherit; 32 + background-position: center;
30 margin-left: 12px; 33 margin-left: 12px;
31 margin-right: 2px; 34 margin-right: 2px;
32 } 35 }
@@ -51,7 +54,8 @@ @@ -51,7 +54,8 @@
51 } 54 }
52 .ypt .item .ui_base { 55 .ypt .item .ui_base {
53 position: relative; 56 position: relative;
54 - left: 5px; 57 + top:11%;
  58 + left: 9%;
55 width: 100%; 59 width: 100%;
56 height: 100%; 60 height: 100%;
57 -webkit-perspective: 1000px; 61 -webkit-perspective: 1000px;
1 -.ypt {  
2 - position: relative;  
3 - height: 1.108374rem;  
4 - padding-top: .08rem;  
5 - font-size: 0;  
6 - z-index: 10;  
7 -}  
8 -/**3D环绕开始*/  
9 -.ypt .swiper-container{  
10 - height: 1.6rem;  
11 -}  
12 -.ypt .item {  
13 - background: url(../images/ypt/bg-cycle.png) 100% 100% no-repeat;  
14 - display: inline-block;  
15 - position: relative;  
16 - width: 3.0rem;  
17 - height: 1.508374rem;  
18 - background-size: contain;  
19 - margin-left: .12rem;  
20 - margin-right: .2rem;  
21 -}  
22 -.ypt .item.active{  
23 - display: block;  
24 - -moz-transition: top 3s, left 3s;  
25 - -webkit-transition: top 3s, left 3s;  
26 - transition: top 3s, left 3s;  
27 -}  
28 -.ypt .item .u_p3d {  
29 - -webkit-transform-style: preserve-3d;  
30 - -ms-transform-style: preserve-3d;  
31 - -o-transform-style: preserve-3d;  
32 - -moz-transform-style: preserve-3d;  
33 - transform-style: preserve-3d;  
34 -}  
35 -  
36 -.ypt .item .ui_base {  
37 - position: relative;  
38 - left: .5rem;  
39 - width: 3.508374rem;  
40 - height: 0px;  
41 - -webkit-perspective: 1000px;  
42 - -moz-perspective: 1000px;  
43 - -ms-perspective: 1000px;  
44 - -o-perspective: 1000px;  
45 - perspective: 1000px;  
46 - -webkit-perspective-origin: 50% 0%;  
47 - -moz-perspective-origin: 50% 0%;  
48 - -o-perspective-origin: 50% 0%;  
49 - -ms-perspective-origin: 50% 0%;  
50 - perspective-origin: 50% 0%  
51 -}  
52 -  
53 -.ypt .item .ball_c {  
54 - -webkit-transform-origin: 50% 50%;  
55 - -moz-transform-origin: 50% 50%;  
56 - -ms-transform-origin: 50% 50%;  
57 - -o-transform-origin: 50% 50%;  
58 - transform-origin: 50% 50%;  
59 - position: absolute;  
60 - width: 260px;  
61 - height: 177px;  
62 - text-align: center;  
63 - background: url(../images/ypt/cloud_bg.png) no-repeat;  
64 - left: .35rem;  
65 - top: .5rem;  
66 -}  
67 -.ypt .item .ball_c.HuaWeiCloud{  
68 - background: url(../images/ypt/HuaWeiCloud.png) no-repeat;  
69 -}  
70 -.ypt .item .ball_c.AliCloud{  
71 - background: url(../images/ypt/AliCloud.png) no-repeat;  
72 -}  
73 -.ypt .item .ball_c div{  
74 - font-size: .14rem;  
75 - color: #e3e9f0;  
76 - position: relative;  
77 - top: .14rem;  
78 - left:-.05rem;  
79 - font-weight: bolder;  
80 - /**3D旋转*/  
81 - -webkit-transform:rotate3d(1,1,0.35,45deg) translate3d(-.06rem,0.12rem,0.16rem);  
82 - -moz-transform:rotate3d(1,1,0.35,45deg) translate3d(-.06rem,0.12rem,0.16rem);  
83 - -ms-transform:rotate3d(1,1,0.35,45deg) translate3d(-.06rem,0.12rem,0.16rem);  
84 - -o-transform:rotate3d(1,1,0.35,45deg) translate3d(-.06rem,0.12rem,0.16rem);  
85 - transform:rotate3d(1,1,0.35,45deg) translate3d(-.06rem,0.12rem,0.16rem);  
86 -}  
87 -  
88 -.ypt .item .ball {  
89 - width: .7rem;  
90 - height: .4rem;  
91 - background: url("../images/ypt/bg-s.png") no-repeat;  
92 - background-size: contain;  
93 -}  
94 -  
95 -.ypt .item .ball_base .ball{  
96 - font-size: .12rem;  
97 - color: #fff;  
98 - text-align: center;  
99 -}  
100 -.ypt .item .ball_base .ball p{  
101 - font-size: .08rem;  
102 - padding-top: .03rem;  
103 - position: relative;  
104 -}  
105 -.ypt .item .ball_base .ball b{  
106 - top: .05rem;  
107 - position: relative;  
108 -}  
109 -  
110 -.ypt .item .ball_base{  
111 - position: absolute;  
112 - width: .72rem;  
113 - -moz-transition: top 1.5s, left 1.5s;  
114 - -webkit-transition: top 1.5s, left 1.5s;  
115 - transition: top 1.5s, left 1.5s;  
116 - cursor: pointer;  
117 - transform: scale(0.9);  
118 -}  
119 -.ypt__info div.ball_base:nth-child(1) {  
120 - top: .002rem;  
121 - left: .05rem;  
122 -}  
123 -  
124 -.ypt__info div.ball_base:nth-child(2) {  
125 - top: .002rem;  
126 - left: 1.45rem;  
127 -}  
128 -.ypt__info div.ball_base:nth-child(3) {  
129 - top: .55rem;  
130 - left: 1.9rem;  
131 -}  
132 -.ypt__info div.ball_base:nth-child(4) {  
133 - top: 1.1rem;  
134 - left: 1.3rem;  
135 -}  
136 -.ypt__info div.ball_base:nth-child(5) {  
137 - top: 1.10rem;  
138 - left: .04rem;  
139 -}  
140 -.ypt__info div.ball_base:nth-child(6) {  
141 - top: .55rem;  
142 - left: -.55rem;  
143 -}  
144 -.ypt__info .ball_base.active{  
145 - -moz-transition: top 0.3s;  
146 - -webkit-transition:top 0.3s;  
147 - transition: top 0.3s;  
148 -}  
149 -.ypt__info .ball_base.active div{  
150 - transform: scale(1.4);  
151 - background: url("../images/ypt/bg-s-active.png") no-repeat;  
152 - background-size: contain;  
153 -}  
  1 +.declare-container,.declare-lineChart{
  2 + /* background: url("/vue3/src/assets/images/zjdp/img-bg.png");
  3 + background-position: center;*/
  4 +
  5 +}
1 .declare-container{ 6 .declare-container{
2 - background: url("/vue3/src/assets/images/zjdp/img-bg.png");  
3 - background-position: center;  
4 - height: 100%;  
5 - overflow: hidden;  
6 max-width:323px; 7 max-width:323px;
  8 +
7 } 9 }
8 .declare-total{ 10 .declare-total{
9 font-size: 16px; 11 font-size: 16px;
@@ -16,7 +18,7 @@ @@ -16,7 +18,7 @@
16 background-image: url("/vue3/src/assets/images/zjdp/declare-title.png"); 18 background-image: url("/vue3/src/assets/images/zjdp/declare-title.png");
17 background-position: center; 19 background-position: center;
18 background-repeat: no-repeat; 20 background-repeat: no-repeat;
19 - margin-top:10px; 21 + margin-top:15px;
20 height: 53px; 22 height: 53px;
21 } 23 }
22 .total-title{ 24 .total-title{
@@ -31,13 +33,14 @@ @@ -31,13 +33,14 @@
31 color:#d5e1f5; 33 color:#d5e1f5;
32 display: flex; 34 display: flex;
33 justify-content: space-around; 35 justify-content: space-around;
  36 + margin-top:20px;
34 } 37 }
35 .proportion-num{ 38 .proportion-num{
36 font-size: 16px; 39 font-size: 16px;
37 color:#4fc9fc; 40 color:#4fc9fc;
38 } 41 }
39 .declare-today{ 42 .declare-today{
40 - margin-top:20px; 43 + margin-top:30px;
41 } 44 }
42 .declare-title{ 45 .declare-title{
43 color: #fff; 46 color: #fff;
  1 +.declare-report .grid-content{
  2 + display: flex;
  3 + align-items: center;
  4 + justify-content: center;
  5 + padding: 5px 0;
  6 +}
  7 +.declare-report .declare-report-num{
  8 + background-image: url("/vue3/src/assets/images/digitalDp/text-bg.png");
  9 + background-repeat: no-repeat;
  10 + background-position: center;
  11 + background-size: contain;
  12 + margin-top: 20px;
  13 +}
  14 +.declare-report .grid-content img{
  15 + padding-right:10%;
  16 + border-right:1px solid #ffffff;
  17 + border-radius: 1px;
  18 +}
  19 +.declare-report .grid-content .title-ysb{
  20 + padding-left:10%;
  21 +}
  22 +.declare-report-top,.declare-report-bottom{
  23 + margin-top: 14%;
  24 + text-align: center;
  25 +}
  26 +.declare-report .rate-title{
  27 + position: absolute;
  28 + width: 100%;
  29 + top: 7px;
  30 +}
  31 +.declare-report .grid-content.rate-container{
  32 + background-image: url("/vue3/src/assets/images/digitalDp/icon-rate.png");
  33 + background-repeat: no-repeat;
  34 + height: 156px;
  35 + background-position: center top;
  36 +}
  37 +.declare-report .rate-container .rate-num{
  38 + margin-top:10px;
  39 +}
@@ -2,37 +2,41 @@ @@ -2,37 +2,41 @@
2 text-align: center; 2 text-align: center;
3 } 3 }
4 .deduction-box-title { 4 .deduction-box-title {
5 - position: absolute; 5 + /*position: absolute;
6 left: 2%; 6 left: 2%;
7 - top: 1%; 7 + top: 1%;*/
8 } 8 }
9 .deduction-title-size { 9 .deduction-title-size {
10 - position: absolute; 10 + /* position: absolute;
11 left: 9%; 11 left: 9%;
12 - top: 22%; 12 + top: 22%;*/
  13 +}
  14 +.deduction-num-container{
  15 + position: relative;
  16 + margin-top: 12%;
13 } 17 }
14 .deduction-box-text-left { 18 .deduction-box-text-left {
15 position: absolute; 19 position: absolute;
16 - left: 17%;  
17 - top: 47%; 20 + top: 20%;
  21 + width:100%;
18 } 22 }
19 .deduction-box-text-right { 23 .deduction-box-text-right {
20 position: absolute; 24 position: absolute;
21 - left: 53%;  
22 - top: 47%; 25 + top: 20%;
  26 + width:100%;
23 } 27 }
24 .deduction-text-number { 28 .deduction-text-number {
25 color: #01E6E6; 29 color: #01E6E6;
26 } 30 }
27 31
28 .deduction-box-img-left { 32 .deduction-box-img-left {
29 - position: absolute; 33 + /* position: absolute;
30 left: 10%; 34 left: 10%;
31 - top: 5%; 35 + top: 5%;*/
32 } 36 }
33 37
34 .deduction-box-img-right { 38 .deduction-box-img-right {
35 - position: absolute; 39 + /* position: absolute;
36 left: 50%; 40 left: 50%;
37 - top: 5%; 41 + top: 5%;*/
38 } 42 }
@@ -8,7 +8,9 @@ @@ -8,7 +8,9 @@
8 position: absolute; 8 position: absolute;
9 color: #FEFEFE; 9 color: #FEFEFE;
10 top: 1%; 10 top: 1%;
11 - left: 6%; 11 + left: 2%;
  12 + letter-spacing: 1px;
  13 + font-weight: bold;
12 } 14 }
13 15
14 @font-face{ 16 @font-face{
  1 +.navTabs-container{
  2 + display: flex;
  3 + justify-content: space-between;
  4 + align-items: center;
  5 + padding: 0 10px;
  6 +}
  7 +.navTabs-container .el-carousel{
  8 + flex: 1;
  9 +}
  10 +.navTabs-container .el-carousel__item {
  11 + display: flex;
  12 + justify-content: center;
  13 + align-items: center;
  14 +}
  15 +.navTabs-container .el-carousel__arrow--left {
  16 + left: 3px;
  17 +}
  18 +.navTabs-container .el-carousel__arrow--right{
  19 + right:3px;
  20 +}
  21 +.rightArrow,.leftArrow{
  22 + cursor: pointer;
  23 +}
  24 +.tabContaier{
  25 + display: flex;
  26 + justify-content: space-around;
  27 + flex: 1;
  28 +}
  29 +.tabItem{
  30 + padding:0px 53px;
  31 + border-bottom: 3px solid #1ac045;
  32 + background-color: #0c1532;
  33 + border-radius: 3px;
  34 + color: #fff;
  35 + font-size: 16px;
  36 + cursor: pointer;
  37 + font-family: "PingFang SC";
  38 + box-sizing: border-box;
  39 + height: 40px;
  40 + align-items: center;
  41 + display: flex;
  42 +}
  43 +.borderColorGood{
  44 + border-bottom: 3px solid #d2bf3f;
  45 +
  46 +}
  47 +.borderColorMi{
  48 + border-bottom: 3px solid #f31515;
  49 +
  50 +}
  51 +.tabItem:hover,.tabItem.active{
  52 + background-color: #0b1943;
  53 +}
1 .network-container{ 1 .network-container{
2 width: 100%; 2 width: 100%;
3 height: 100%; 3 height: 100%;
4 - background-image: url("/vue3/src/assets/images/bg.jpg");  
5 - background-position: center; 4 + /* background-image: url("/vue3/src/assets/images/bg.jpg");
  5 + background-position: center;*/
6 text-align: left; 6 text-align: left;
7 overflow: visible; 7 overflow: visible;
  8 + position: relative;
8 } 9 }
9 10
10 #network-echart{ 11 #network-echart{
11 width: 100%; 12 width: 100%;
12 height: 100%; 13 height: 100%;
13 - background-image: url("/vue3/src/assets/images/zjdp/img-bg2.png");  
14 - background-position: center;  
15 - background-repeat: no-repeat; 14 +
  15 +}
  16 +.network-title{
  17 + position: absolute;
  18 + top: -10px;
  19 + z-index: 1;
16 } 20 }
1 .statistics-container{ 1 .statistics-container{
2 - background-image: url("/vue3/src/assets/images/zjdp/img-bg.png");  
3 - background-position: center; 2 + /*background-image: url("/vue3/src/assets/images/zjdp/img-bg.png");*/
  3 + /*background-position: center;*/
4 height: 100%; 4 height: 100%;
5 - max-width: 420px; 5 + max-width: 480px;
6 } 6 }
7 .el-carousel__item h3 { 7 .el-carousel__item h3 {
8 color: #FFFFFF; 8 color: #FFFFFF;
@@ -21,7 +21,7 @@ @@ -21,7 +21,7 @@
21 /*background-color: #d3dce6;*/ 21 /*background-color: #d3dce6;*/
22 } 22 }
23 .statisticsItem{ 23 .statisticsItem{
24 - background-image: url("/vue3/src/assets/images/zjdp/statisticc-bg.png"); 24 + background-image: url("/vue3/src/assets/images/zjdp/statisticc-bg-1.png");
25 background-position: top; 25 background-position: top;
26 background-size: contain; 26 background-size: contain;
27 background-repeat: no-repeat; 27 background-repeat: no-repeat;
@@ -37,15 +37,15 @@ @@ -37,15 +37,15 @@
37 .listItem-health{ 37 .listItem-health{
38 display: flex; 38 display: flex;
39 position: absolute; 39 position: absolute;
40 - left: 24px;  
41 - top:33px; 40 + left: 18px;
  41 + top:36px;
42 } 42 }
43 .listItem:nth-child(1) .listItem-health{ 43 .listItem:nth-child(1) .listItem-health{
44 - left: 12px; 44 + /*left: 7px;*/
45 45
46 } 46 }
47 .listItem:nth-child(3) .listItem-health{ 47 .listItem:nth-child(3) .listItem-health{
48 - left: 28px; 48 + /*left: 18px;*/
49 49
50 } 50 }
51 .listItem{ 51 .listItem{
@@ -57,50 +57,58 @@ @@ -57,50 +57,58 @@
57 } 57 }
58 .listItem-num{ 58 .listItem-num{
59 position: absolute; 59 position: absolute;
60 - top:33%; 60 + top:36%;
61 font-size: 15px; 61 font-size: 15px;
62 color:#61c5d5; 62 color:#61c5d5;
  63 + width: 24px;
63 } 64 }
64 .listItem-icon{ 65 .listItem-icon{
65 position: absolute; 66 position: absolute;
66 - top:209px; 67 + top:52%;
67 } 68 }
68 .listItem:nth-child(1) .listItem-num,.listItem:nth-child(1) .listItem-icon{ 69 .listItem:nth-child(1) .listItem-num,.listItem:nth-child(1) .listItem-icon{
69 - right: 12px; 70 + right: -20px;
70 } 71 }
71 -.listItem:nth-child(2n) .listItem-num,.listItem:nth-child(2n) .listItem-icon{  
72 - left: 56px; 72 +.listItem:nth-child(2) .listItem-num,.listItem:nth-child(2) .listItem-icon{
  73 + left: 74px;
73 } 74 }
74 .listItem:nth-child(3) .listItem-num,.listItem:nth-child(3) .listItem-icon{ 75 .listItem:nth-child(3) .listItem-num,.listItem:nth-child(3) .listItem-icon{
75 - left: 11px; 76 + left: 26px;
  77 +}
  78 +.listItem:nth-child(4) .listItem-num,.listItem:nth-child(4) .listItem-icon{
  79 + left: -23px;
76 } 80 }
77 .listItem-icon-name{ 81 .listItem-icon-name{
78 position: absolute; 82 position: absolute;
79 - top: 243px; 83 + top: 244px;
80 font-size: 12px; 84 font-size: 12px;
81 color: #61c5d5; 85 color: #61c5d5;
  86 + width: 50px;
82 } 87 }
83 .listItem:nth-child(1) .listItem-icon-name{ 88 .listItem:nth-child(1) .listItem-icon-name{
84 - right: 2px; 89 + right: -36px;
85 } 90 }
86 -.listItem:nth-child(2n) .listItem-icon-name{  
87 - left: 45px; 91 +.listItem:nth-child(2) .listItem-icon-name{
  92 + left: 50%;
88 } 93 }
89 .listItem:nth-child(3) .listItem-icon-name{ 94 .listItem:nth-child(3) .listItem-icon-name{
90 - left: 0; 95 + left: 14%;
  96 +}
  97 +.listItem:nth-child(4) .listItem-icon-name{
  98 + left: -28%;
91 } 99 }
92 .healthList{ 100 .healthList{
93 display: flex; 101 display: flex;
94 flex-flow: column; 102 flex-flow: column;
95 font-size: 12px; 103 font-size: 12px;
96 font-family: "PingFang SC"; 104 font-family: "PingFang SC";
97 - width: 32px; 105 + width: 29px;
98 } 106 }
99 .healthList span{ 107 .healthList span{
100 padding:0 5px; 108 padding:0 5px;
101 } 109 }
102 .healthList span.listNum{ 110 .healthList span.listNum{
103 - padding: 3px 5px; 111 + padding: 2px 5px;
104 } 112 }
105 .listText{ 113 .listText{
106 font-size: 13px; 114 font-size: 13px;
@@ -115,7 +123,7 @@ @@ -115,7 +123,7 @@
115 .statisticsTotal{ 123 .statisticsTotal{
116 text-align: center; 124 text-align: center;
117 position: absolute; 125 position: absolute;
118 - bottom: 94px; 126 + bottom: 82px;
119 width: 100%; 127 width: 100%;
120 font-size:15px; 128 font-size:15px;
121 color:#61c5d5; 129 color:#61c5d5;
1 body{font-size: 15px;} 1 body{font-size: 15px;}
2 #zjdapingIndex{ 2 #zjdapingIndex{
3 - background: url("/vue3/src/assets/images/zjdp/img-bg.png"); 3 + background-image: url("/vue3/src/assets/images/zjdp/img-bg.png");
4 background-position: center; 4 background-position: center;
  5 + background-size: cover;
  6 + font-family: "PingFang SC";
  7 +}
  8 +.screen-bg{
  9 + background-image: url("/vue3/src/assets/images/zjdp/img-bg2.png");
  10 + background-position: top;
  11 + background-repeat: no-repeat;
  12 + background-size: 100%;
  13 +}
  14 +.zj-screen{
  15 + padding:0 10px;
5 } 16 }
6 .container-title{ 17 .container-title{
7 color: white; 18 color: white;
8 text-align: left; 19 text-align: left;
9 } 20 }
  21 +.screen-header .title-date{
  22 + color: #ffff;
  23 + left:2%;
  24 + top:44%;
  25 +}
  26 +.title-date span{
  27 + margin-left: 12px;
  28 +}
10 .left-40{ 29 .left-40{
11 - width:48%; 30 + width:45%;
12 } 31 }
13 .section-right{ 32 .section-right{
14 - width:52%; 33 + width:55%;
15 } 34 }
16 .data-cloud{ 35 .data-cloud{
17 display: flex; 36 display: flex;
18 37
19 } 38 }
20 -.flex-data,.flex-cloud,.flex-declare,.flex-chart{  
21 - width:50%; 39 +.flex-data{
  40 + width:55%;
  41 +}
  42 +.flex-cloud{
  43 + width:45%
  44 + }
  45 +.flex-declare{
  46 + width:323px;
  47 + max-width: 323px;
  48 +}
  49 +.flex-chart{
  50 + flex:1;
  51 + display: flex;
  52 + flex-flow: column;
  53 + justify-content: space-between;
  54 + padding-bottom: 20px;
22 } 55 }
23 56
24 .declare-chart{ 57 .declare-chart{
25 display: flex; 58 display: flex;
  59 + height: 550px;
26 60
27 } 61 }
  62 +.declare-lineChart{
  63 + height:50%;
  64 +}
  65 +.monitoring-bar{
  66 + height:50%;
  67 +}
  68 +.screen-nav{
  69 + margin-bottom: 30px;
  70 + padding-right: 20px;
  71 +}
28 .screen-res-performance{ 72 .screen-res-performance{
29 display: flex; 73 display: flex;
  74 + justify-content: space-between;
  75 +}
  76 +.performance-lineChart{
  77 + margin-top:30px;
  78 + flex: 1;
  79 +}
  80 +.screen-res{
  81 + width:45%;
  82 +}
  83 +.screen-performance{
  84 + width:55%;
  85 +}
  86 +.performance-container{
  87 + height:100%;
  88 + display: flex;
  89 + flex-flow: column;
  90 +}
  91 +.performance-container .container-title{
  92 + margin-left:40px;
30 } 93 }
31 /**提示展示动画 从左到右进入*/ 94 /**提示展示动画 从左到右进入*/
32 @-webkit-keyframes fadeInLeft { 95 @-webkit-keyframes fadeInLeft {
@@ -104,20 +104,12 @@ const routes = [{ @@ -104,20 +104,12 @@ const routes = [{
104 path: '/zjdaping', 104 path: '/zjdaping',
105 name: 'zjdaping', 105 name: 'zjdaping',
106 component: () => myImport('views/zjdaping/index') 106 component: () => myImport('views/zjdaping/index')
107 - // component: () => myImport('views/zjdaping/components/networkTopology/index')  
108 - // component: () => myImport('views/zjdaping/components/dataCenter/index')  
109 - // component: () => myImport('views/zjdaping/components/cloudPlatform/index')  
110 - // component: () => myImport('views/zjdaping/components/assetOverview/index')  
111 - // component: () => myImport('views/zjdaping/components/declare/index')  
112 - // component: () => myImport('views/zjdaping/components/lineChart/index')  
113 - // component: () => myImport('views/zjdaping/components/resourceStatistics/index')  
114 - // component: () => myImport('views/zjdaping/components/performance/index')  
115 }, 107 },
116 { 108 {
117 - path:'/zjdapingchart',  
118 - name:'zjdapingchart',  
119 - component: () => myImport('views/zjdaping/components/barChart/index')  
120 - 109 + path: '/analysis',
  110 + name: 'analysis',
  111 + // component: () => myImport('views/analysis/components/addIndex/index')
  112 + component: () => myImport('views/analysis/components/add/index')
121 } 113 }
122 ]; 114 ];
123 115
  1 +<div class="analysis-add-container">
  2 + <el-row>
  3 + <div class="add-top">
  4 + <el-row>
  5 + <el-col :span="16" class="add-top-title">
  6 + <el-button type="primary">这里是场景名称</el-button>
  7 + </el-col>
  8 + <el-col :span="8" class="add-top-select">
  9 + <el-dropdown>
  10 + <el-button type="primary">
  11 + 时间范围<el-icon class="el-icon--right"><arrow-down /></el-icon>
  12 + </el-button>
  13 + <template #dropdown>
  14 + <el-dropdown-menu>
  15 + <el-dropdown-item>Action 1</el-dropdown-item>
  16 + <el-dropdown-item>Action 2</el-dropdown-item>
  17 + <el-dropdown-item>Action 3</el-dropdown-item>
  18 + <el-dropdown-item>Action 4</el-dropdown-item>
  19 + <el-dropdown-item>Action 5</el-dropdown-item>
  20 + </el-dropdown-menu>
  21 + </template>
  22 + </el-dropdown>
  23 + <el-dropdown>
  24 + <el-button type="primary">
  25 + 契合频率<el-icon class="el-icon--right"><arrow-down /></el-icon>
  26 + </el-button>
  27 + <template #dropdown>
  28 + <el-dropdown-menu>
  29 + <el-dropdown-item>Action 1</el-dropdown-item>
  30 + <el-dropdown-item>Action 2</el-dropdown-item>
  31 + <el-dropdown-item>Action 3</el-dropdown-item>
  32 + <el-dropdown-item>Action 4</el-dropdown-item>
  33 + <el-dropdown-item>Action 5</el-dropdown-item>
  34 + </el-dropdown-menu>
  35 + </template>
  36 + </el-dropdown>
  37 + <el-button type="primary">保存按钮</el-button>
  38 + </el-col>
  39 + </el-row>
  40 + <el-row>
  41 + <el-col :span="24">
  42 + <div class="classLine">
  43 + <lineChart></lineChart>
  44 + </div>
  45 +
  46 +
  47 + </el-col>
  48 + </el-row>
  49 + </div>
  50 + </el-row>
  51 + <el-row>
  52 + <div class="add-bottom">
  53 + <el-row>
  54 + <el-col :span="6" class="bottom-condition">
  55 + <el-row>
  56 + <el-col :span="24">
  57 + <el-dropdown>
  58 + <el-button >
  59 + 电子税务局系统<el-icon class="el-icon--right"><arrow-down /></el-icon>
  60 + </el-button>
  61 + <template #dropdown>
  62 + <el-dropdown-menu>
  63 + <el-dropdown-item>Action 1</el-dropdown-item>
  64 + <el-dropdown-item>Action 2</el-dropdown-item>
  65 + <el-dropdown-item>Action 3</el-dropdown-item>
  66 + <el-dropdown-item>Action 4</el-dropdown-item>
  67 + <el-dropdown-item>Action 5</el-dropdown-item>
  68 + </el-dropdown-menu>
  69 + </template>
  70 + </el-dropdown>
  71 + </el-col>
  72 + </el-row>
  73 + <el-row>
  74 + <el-col :span="24">
  75 + <el-dropdown>
  76 + <el-button >
  77 + 资源类型<el-icon class="el-icon--right"><arrow-down /></el-icon>
  78 + </el-button>
  79 + <template #dropdown>
  80 + <el-dropdown-menu>
  81 + <el-dropdown-item>Action 1</el-dropdown-item>
  82 + <el-dropdown-item>Action 2</el-dropdown-item>
  83 + <el-dropdown-item>Action 3</el-dropdown-item>
  84 + <el-dropdown-item>Action 4</el-dropdown-item>
  85 + <el-dropdown-item>Action 5</el-dropdown-item>
  86 + </el-dropdown-menu>
  87 + </template>
  88 + </el-dropdown>
  89 + </el-col>
  90 + </el-row>
  91 + <el-row>
  92 + <el-col :span="24">
  93 + <el-dropdown>
  94 + <el-button >
  95 + 指标类型<el-icon class="el-icon--right"><arrow-down /></el-icon>
  96 + </el-button>
  97 + <template #dropdown>
  98 + <el-dropdown-menu>
  99 + <el-dropdown-item>Action 1</el-dropdown-item>
  100 + <el-dropdown-item>Action 2</el-dropdown-item>
  101 + <el-dropdown-item>Action 3</el-dropdown-item>
  102 + <el-dropdown-item>Action 4</el-dropdown-item>
  103 + <el-dropdown-item>Action 5</el-dropdown-item>
  104 + </el-dropdown-menu>
  105 + </template>
  106 + </el-dropdown>
  107 + </el-col>
  108 + </el-row>
  109 + <el-row>
  110 + <el-col :span="24">
  111 + <el-input v-model="input" placeholder="Please input" />
  112 + </el-col>
  113 + </el-row>
  114 +
  115 + </el-col>
  116 + <el-col :span="18">
  117 + <el-tabs type="border-card">
  118 + <el-tab-pane label="User">
  119 + <el-table :data="tableData" border style="width: 100%">
  120 + <el-table-column prop="date" label="Date" width="180" />
  121 + <el-table-column prop="name" label="Name" width="180" />
  122 + <el-table-column prop="address" label="Address" />
  123 + </el-table>
  124 + </el-tab-pane>
  125 + <el-tab-pane label="Config">Config</el-tab-pane>
  126 + <el-tab-pane label="Role">Role</el-tab-pane>
  127 + <el-tab-pane label="Task">Task</el-tab-pane>
  128 + </el-tabs>
  129 + </el-col>
  130 + </el-row>
  131 + </div>
  132 + </el-row>
  133 +</div>
  1 +export default {
  2 + name: 'addIndex',
  3 + template: '',
  4 + components:{},
  5 + data () {
  6 + return {
  7 + tableData: [
  8 + {
  9 + date: '2016-05-03',
  10 + name: 'Tom',
  11 + address: 'No. 189, Grove St, Los Angeles',
  12 + },
  13 + {
  14 + date: '2016-05-02',
  15 + name: 'Tom',
  16 + address: 'No. 189, Grove St, Los Angeles',
  17 + },
  18 + {
  19 + date: '2016-05-04',
  20 + name: 'Tom',
  21 + address: 'No. 189, Grove St, Los Angeles',
  22 + },
  23 + {
  24 + date: '2016-05-01',
  25 + name: 'Tom',
  26 + address: 'No. 189, Grove St, Los Angeles',
  27 + },
  28 + ],
  29 +
  30 + }
  31 + },
  32 + setup(){
  33 +
  34 + }
  35 +}
  1 +<div class="analysis-index-container">
  2 + <div class="iconAdd">
  3 + 点击添加比对分析
  4 + </div>
  5 +</div>
  1 +export default {
  2 + name: 'addIndex',
  3 + template: '',
  4 + components:{},
  5 + data () {
  6 + return {
  7 +
  8 + }
  9 + },
  10 + setup(){
  11 +
  12 + }
  13 +}
  1 +<!DOCTYPE html>
  2 +<html lang="en">
  3 +<head>
  4 + <meta charset="UTF-8">
  5 + <title>Title</title>
  6 +</head>
  7 +<body>
  8 +
  9 +</body>
  10 +</html>
  1 +export default {
  2 + name: 'analysis',
  3 + template: '',
  4 + components:{},
  5 + data () {
  6 + return {
  7 +
  8 + }
  9 + },
  10 + setup(){
  11 +
  12 + }
  13 +}
1 -<div class="com-container">  
2 - <div class="com-chart" id="availability_ref"></div> 1 +<div class="com-container available-chart" id="availability_ref" style="text-align: left" >
  2 + <img :style="comtitleImgStyle" src="/vue3/src/assets/images/digitalDp/title-availability.png" alt="">
  3 + <LineChart :optionData="optionData" v-if="optionData"></LineChart>
  4 + <!--<div class="com-chart" ></div>
3 <div class="topfive-box-title"> 5 <div class="topfive-box-title">
4 - <img :style="comtitleImgStyle" src="./src/assets/img/box_title_bykk_zj_1.png" class="available-title-img"> <!-- bor1_6 --> 6 + <img :style="comtitleImgStyle" src="./src/assets/img/box_title_bykk_zj_1.png" class="available-title-img"> &lt;!&ndash; bor1_6 &ndash;&gt;
5 <span :style="comtitleTextStyle" class="available-title-size">业务可用性</span> 7 <span :style="comtitleTextStyle" class="available-title-size">业务可用性</span>
6 - </div> 8 + </div>-->
7 </div> 9 </div>
1 export default { 1 export default {
2 - name: 'Availability', 2 + name: 'availability',
3 template: '', 3 template: '',
4 - components: {},  
5 - data () { 4 + components: {
  5 + 'LineChart': Vue.defineAsyncComponent(
  6 + () => myImport('views/zjdaping/components/lineChart/index')
  7 + )
  8 + },
  9 + data(){
6 return { 10 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 - titleFontSize: 20,  
22 - startValue: 0, // 区域缩放的起点值  
23 - endValue: 6, // 区域缩放的终点值  
24 - timerId: null // 定时器的标识 11 + titleFontSize:20,
  12 + domainName:sessionStorage.getItem('domainName'),
  13 + apiUrl:'/api-web/sxview/getBusinessAvailability',
  14 + kpiIds:'KPI97B835A4,KPIFE85BE59,KPI7A29BAC3,KPIE7A7E3E4',
  15 + busId:'247c0c978f574285bf642f55611ea75d',
  16 + performanceData:'',
  17 + xAxisData:'',
  18 + yAxisData:'',
  19 + optionData:'',
  20 + ySeriesCommon:[]
  21 +
25 } 22 }
26 }, 23 },
27 - mounted () {  
28 - this.initChart()  
29 - this.getData()  
30 - window.addEventListener('resize', this.screenAdapter)  
31 - this.screenAdapter()  
32 - },  
33 - unmounted () {  
34 - window.removeEventListener('resize', this.screenAdapter)  
35 - clearInterval(this.timerId)  
36 - },  
37 computed: { 24 computed: {
38 comtitleTextStyle () { 25 comtitleTextStyle () {
39 return { 26 return {
40 - fontSize: this.titleFontSize / 1.2 + 'px' 27 + fontSize: this.titleFontSize / 2.1 + 'px'
41 } 28 }
42 }, 29 },
43 comtitleImgStyle () { 30 comtitleImgStyle () {
44 return { 31 return {
45 - // height: this.titleFontSize + 'px',  
46 - width: this.titleFontSize * 8 + 'px' 32 + height: this.titleFontSize * 1.8 + 'px'
47 } 33 }
48 } 34 }
49 }, 35 },
50 - methods: {  
51 - initChart () {  
52 - this.chartInstance = echarts.init(document.getElementById('availability_ref'))  
53 - const initOption = {  
54 - grid: {  
55 - top: '25%',  
56 - left: '3%',  
57 - right: '6%',  
58 - bottom: '3%',  
59 - containLabel: true  
60 - },  
61 - legend: {  
62 - right: '2%',  
63 - top: '5%'  
64 - },  
65 - xAxis: {  
66 - type: 'category',  
67 - boundaryGap: false,  
68 - axisLabel: {  
69 - textStyle: {  
70 - color: '#E6E8EB' 36 + setup(props, {attrs, slots, emit}) {
  37 + const {proxy} = Vue.getCurrentInstance();
  38 + const xAxisData=Vue.ref();
  39 + const yAxisData=Vue.ref([]);
  40 + const legendData=Vue.ref([]);
  41 +
  42 + // 半透明的颜色值
  43 + const colorArr1 = [
  44 + 'rgba(151,213,244, 0.8)',
  45 + 'rgba(239,224,167, 0.8)',
  46 + 'rgba(229,171,209, 0.8)',
  47 + 'rgba(151,170,255, 0.8)'
  48 + ]
  49 + // 全透明的颜色值
  50 + const colorArr2 = [
  51 + 'rgba(151,213,244, 0)',
  52 + 'rgba(239,224,167, 0)',
  53 + 'rgba(229,171,209, 0)',
  54 + 'rgba(151,170,255, 0)'
  55 + ]
  56 + // 挂载完
  57 + Vue.onMounted(() => {
  58 + proxy.screenAdapter();
  59 + proxy.getData();
  60 +
  61 + })
  62 + const getData=()=>{
  63 + let params = {
  64 + kpiIds: proxy.kpiIds,
  65 + busId: proxy.busId,
  66 + startTime:'',
  67 + endTime:'',
  68 + access_token:localStorage.getItem('access_token')
  69 + };
  70 + $.get(proxy.domainName +proxy.apiUrl,params,function (res) {
  71 + const data = res;
  72 + if (data ) {
  73 + if(data.map){
  74 + let resData=data.map;
  75 + proxy.legendData=resData.legend;
  76 + proxy.xAxisData=resData.x;
  77 + proxy.yAxisData=resData.y;
  78 + }else{
  79 + let nullArr=[];
  80 + for(let i=0;i<4;i++){
  81 + nullArr.push(i)
  82 + proxy.legendData.push({
  83 + name:''
  84 + })
71 } 85 }
72 - }  
73 - },  
74 - yAxis: {  
75 - type: 'value',  
76 - splitLine: {  
77 - show: false  
78 - },  
79 - axisLabel: {  
80 - textStyle: {  
81 - color: '#E6E8EB' 86 + proxy.xAxisData=nullArr;
  87 + for(let i=0;i<4;i++){
  88 + proxy.yAxisData.push(nullArr);
  89 +
82 } 90 }
  91 +
83 } 92 }
  93 +
  94 +
  95 + proxy.optionInit();
  96 +
84 } 97 }
85 - }  
86 - this.chartInstance.setOption(initOption)  
87 - },  
88 - getData () {  
89 - // await this.$http.get()  
90 - // const { data: ret } = await this.$http.get('responsemonitor')  
91 - // this.allData = ret  
92 - // console.log(ret)  
93 - this.updateChart()  
94 - this.startInterval()  
95 - },  
96 - updateChart () {  
97 - // 半透明的颜色值  
98 - const colorArr1 = [  
99 - 'rgba(11, 168, 44, 0.5)',  
100 - 'rgba(44, 110, 255, 0.5)',  
101 - 'rgba(22, 242, 217, 0.5)',  
102 - 'rgba(254, 33, 30, 0.5)',  
103 - 'rgba(250, 105, 0, 0.5)'  
104 - ]  
105 - // 全透明的颜色值  
106 - const colorArr2 = [  
107 - 'rgba(11, 168, 44, 0)',  
108 - 'rgba(44, 110, 255, 0)',  
109 - 'rgba(22, 242, 217, 0)',  
110 - 'rgba(254, 33, 30, 0)',  
111 - 'rgba(250, 105, 0, 0)'  
112 - ]  
113 - const timeArr = this.allData.xAxis.today  
114 - const seriesData = this.allData.polyline.data.data  
115 - const seriesName = this.allData.polyline.data.name  
116 - // 图例的数据  
117 - const legendArr = this.allData.polyline.data.data.map(item => {  
118 - return item.name 98 +
119 }) 99 })
120 - console.log(legendArr)  
121 - const title = this.allData.polyline.title  
122 - const unit = this.allData.polyline.unit  
123 - const dataOption = {  
124 - // title: {  
125 - // text: '{Sunny| 业务可用性 }',  
126 - // show: true  
127 - // },  
128 - xAxis: {  
129 - data: timeArr  
130 - },  
131 - legend: {  
132 - data: legendArr  
133 - },  
134 - dataZoom: {  
135 - show: false,  
136 - startValue: this.startValue,  
137 - endValue: this.endValue  
138 - },  
139 - series: [ 100 + // proxy.optionInit();
  101 +
  102 + }
  103 +
  104 + const optionInit=()=>{
  105 +
  106 + let data3=proxy.yAxisData[0];
  107 + let data4=proxy.yAxisData[3];
  108 + let data2=proxy.yAxisData[2];
  109 + let data1=proxy.yAxisData[1];
  110 +
  111 + let min1=proxy.calMin([data1,data2]);
  112 + let max1=proxy.calMax([data1,data2]);
  113 + let min2=proxy.calMin([data3,data4]);
  114 + let max2=proxy.calMax([data3,data4]);
  115 + proxy.legendData.map((item,index)=>{
  116 + let i=0;
  117 + if(index%2==0 ||index%3==0){
  118 + i=0;
  119 + }else{
  120 + i=1;
  121 + }
  122 + proxy.ySeriesCommon.push(
140 { 123 {
141 - name: seriesName, 124 + name:item,
142 type: 'line', 125 type: 'line',
143 - data: seriesData,  
144 - smooth: true, 126 + smooth:true,
  127 + // stack: 'Total',
  128 + show:false,
  129 + data:proxy.yAxisData[index],
  130 + yAxisIndex:i,
  131 + showSymbol:false,
  132 + itemStyle : {
  133 + normal : {
  134 + color:colorArr1[index],//tooltip里的小圆点颜色
  135 + lineStyle:{
  136 + color:colorArr1[index],
  137 + width:1
  138 + }
  139 + }
  140 + },
145 areaStyle: { 141 areaStyle: {
146 - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [  
147 - { 142 + // color:'rgba(151,213,244,0.4)',
  143 + normal:{
  144 + color:new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ //关键在这里, 设置面积渐变
148 offset: 0, 145 offset: 0,
149 - color: colorArr1[2]  
150 - }, // %0的颜色值  
151 - { 146 + color: colorArr1[index] //这里是我设置的渐变的颜色从线条颜色变为透明
  147 + }, {
152 offset: 1, 148 offset: 1,
153 - color: colorArr2[2]  
154 - } // 100%的颜色值  
155 - ])  
156 - } 149 + color: colorArr2[index]
  150 + }])
  151 + }
  152 +
  153 + },
  154 + },
  155 + )
  156 + })
  157 + //业务双y轴数据
  158 +
  159 + // let xAxisDataLength=proxy.ySeriesCommon[0].length;
  160 + let xAxisData=[];
  161 + if(proxy.xAxisData){
  162 + proxy.xAxisData.map((item,index)=>{
  163 + if(index%20==0){
  164 + xAxisData.push(item)
  165 +
157 } 166 }
158 - ] 167 + })
  168 +
159 } 169 }
160 - this.chartInstance.setOption(dataOption)  
161 - },  
162 - screenAdapter () {  
163 - this.titleFontSize = document.getElementById('availability_ref').offsetWidth / 100 * 3.6  
164 - const adapterOption = { 170 + proxy.optionData = {
  171 + title: {
  172 + text: ''
  173 + },
  174 + tooltip: {
  175 + trigger: 'axis',
  176 + backgroundColor:'rgba(50,50,50,0.7)',
  177 + borderColor:"#333",
  178 + textStyle:{
  179 + color:"#fff",
  180 + align:'left'
  181 + }
  182 +
  183 + },
165 legend: { 184 legend: {
166 - itemWidth: this.titleFontSize,  
167 - itemHeight: this.titleFontSize,  
168 - itemGap: this.titleFontSize, 185 + data: proxy.legendData,
  186 + itemHeight:0,//图例圆圈大小设置
  187 + y:'0px',
169 textStyle: { 188 textStyle: {
170 - fontSize: this.titleFontSize / 2 189 + color: '#ffffff',
  190 + fontsize:"12px"
171 } 191 }
  192 +
  193 + },
  194 + grid: {
  195 + top:'15%',
  196 + left: '3%',
  197 + right: '4%',
  198 + // bottom: '3%',
  199 + containLabel: true,
  200 + },
  201 + xAxis: {
  202 + type: 'category',
  203 + boundaryGap: false,
  204 + data: xAxisData,
  205 +
  206 + axisLine:{
  207 + show:false,//是否显示坐标线
  208 + },
  209 + axisTick: {
  210 + show: false //是否显示坐标刻度
  211 + },
  212 + axisLabel:{
  213 + color:'#ffffff',
  214 + },
  215 +
  216 + },
  217 + yAxis:[
  218 + {
  219 +
  220 + type: 'value',
  221 + axisLabel: {
  222 + formatter: '{value} %'//以百分比显示
  223 + },
  224 + splitLine:{
  225 + lineStyle: {
  226 + color:'#0a1b31'
  227 + }
  228 + },
  229 + min:0,
  230 + max:100,
  231 + splitNumber:5,
  232 + interval:(100-0)/5
  233 + }, {
  234 + name: '单位:万',
  235 + type: 'value',
  236 + axisLabel: {
  237 + show: true,
  238 + interval: 'right',//居中显示
  239 + },
  240 + splitLine:{
  241 + lineStyle: {
  242 + color:'#0a1b31'
  243 + }
  244 + },
  245 + min:min2,
  246 + max:max2,
  247 + splitNumber:5,
  248 + interval:(max2-min2)/5
  249 + },
  250 + ],
  251 + series: proxy.ySeriesCommon,
  252 + itemStyle:{
  253 + showSymbol:false
172 } 254 }
173 - }  
174 - this.chartInstance.setOption(adapterOption)  
175 - this.chartInstance.resize()  
176 - },  
177 - startInterval () {  
178 - if (this.timerId) {  
179 - clearInterval(this.timerId)  
180 - }  
181 - let index = 12  
182 - /*this.timerId = setInterval(() => {  
183 - this.startValue++  
184 - this.endValue++  
185 - // this.allData.polyline.data  
186 - // console.log((this.allData.polyline.data)[0].data.length)  
187 - if ((this.allData.polyline.data).length > 0) {  
188 - index = (this.allData.polyline.data)[0].data.length  
189 - }  
190 - if (this.endValue > index - 1) {  
191 - this.startValue = 0  
192 - this.endValue = 6  
193 - }  
194 - console.log(this.startValue)  
195 - console.log(this.endValue)  
196 - this.updateChart()  
197 - }, 5000)*/ 255 + };
  256 + }
  257 + //计算最大值
  258 + const calMax=(arr)=>{
  259 + let max=0;
  260 + arr.forEach((el)=>{
  261 + el.forEach((el1)=>{
  262 + if(!(el1 === undefined || el1 === '')){
  263 + if(max<el1){
  264 + max=el1;
  265 + }
  266 + }
  267 + })
  268 + })
  269 + let maxint=Math.ceil(max/9.5);
  270 + let maxval=maxint * 10;//让显示的刻度是整数
  271 + return maxval;
  272 + }
  273 + //计算最小值
  274 + const calMin=(arr)=>{
  275 + let min=0;
  276 + arr.forEach((el)=>{
  277 + el.forEach((el1)=>{
  278 + if(!(el1 === undefined || el1 === '')){
  279 + if(min>el1){
  280 + min=el1;
  281 + }
  282 + }
  283 + })
  284 + })
  285 + let minint=Math.floor(min/10);
  286 + let minval=minint * 10;//让显示的刻度是整数
  287 + return minval;
  288 + }
  289 +
  290 + const screenAdapter=()=>{
  291 + proxy.titleFontSize = document.getElementById('availability_ref').offsetWidth / 100 * 3.6
  292 + }
  293 +
  294 + return{
  295 + calMax,
  296 + calMin,
  297 + optionInit,
  298 + getData,
  299 + xAxisData,
  300 + yAxisData,
  301 + legendData,
  302 + screenAdapter
198 } 303 }
199 } 304 }
200 -} 305 +}
1 -<div class="com-container">  
2 - <div class="com-chart" id="bandwidthcpu_ref"></div> 1 +<div class="com-container"id="bandwidthcpu_ref">
  2 + <LineChart :optionData="optionData" v-if="optionData"></LineChart>
3 </div> 3 </div>
1 export default { 1 export default {
2 name: 'BandwidthCpu', 2 name: 'BandwidthCpu',
3 template: '', 3 template: '',
4 - components: {}, 4 + props:['commandVal'],
  5 + components: {
  6 + 'LineChart': Vue.defineAsyncComponent(
  7 + () => myImport('views/zjdaping/components/lineChart/index')
  8 + )
  9 + },
5 data () { 10 data () {
6 return { 11 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 - }, 12 + domainName:sessionStorage.getItem('domainName'),
  13 + apiUrl:'/api-web/bigScreen/monitoring?function=',
  14 + optionData:'',
  15 + allData: '',
  16 + newCommandVal:this.commandVal,
24 startValue: 0, // 区域缩放的起点值 17 startValue: 0, // 区域缩放的起点值
25 endValue: 6, // 区域缩放的终点值 18 endValue: 6, // 区域缩放的终点值
26 timerId: null // 定时器的标识 19 timerId: null // 定时器的标识
27 } 20 }
28 }, 21 },
  22 + setUp(){
  23 + const allData=ref({});
  24 + return{
  25 + allData
  26 + }
  27 + },
29 mounted () { 28 mounted () {
30 - this.initChart()  
31 this.getData() 29 this.getData()
32 window.addEventListener('resize', this.screenAdapter) 30 window.addEventListener('resize', this.screenAdapter)
33 this.screenAdapter() 31 this.screenAdapter()
@@ -36,69 +34,77 @@ export default { @@ -36,69 +34,77 @@ export default {
36 window.removeEventListener('resize', this.screenAdapter) 34 window.removeEventListener('resize', this.screenAdapter)
37 clearInterval(this.timerId) 35 clearInterval(this.timerId)
38 }, 36 },
  37 + watch:{
  38 + commandVal(newValue, oldValue) {
  39 + this.newCommandVal=newValue
  40 + this.getData()
  41 + }
  42 +
  43 + },
39 methods: { 44 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 - axisLabel: {  
61 - textStyle: {  
62 - color: '#E6E8EB' 45 +
  46 + getData () {
  47 + let that=this;
  48 + $.get(this.domainName +this.apiUrl+this.newCommandVal,function (ret){
  49 + if(ret){
  50 + let dataArr=[];
  51 + let xAxisData=[];
  52 + if(ret.ports && ret.ports.length>1 ){
  53 + ret.ports.map((item,index)=>{
  54 +
  55 + dataArr.push({
  56 + name:item.name,
  57 + data:item.data.y,
  58 + })
  59 +
  60 + })
  61 + xAxisData=ret.ports[0].x
  62 + }else{
  63 + for(let i=0;i<12;i++){
  64 + dataArr.push('0')
  65 + }
63 } 66 }
64 - }  
65 - },  
66 - yAxis: {  
67 - type: 'value',  
68 - splitLine: {  
69 - show: false  
70 - },  
71 - axisLabel: {  
72 - textStyle: {  
73 - color: '#E6E8EB' 67 +
  68 + that.allData= {
  69 + polyline: {
  70 + title: "带宽占用监控",
  71 + unit: "MB",
  72 + data:dataArr
  73 + /*data: [{
  74 + name: "入带宽",
  75 + data: ["12","15","21","18","20","37","45","23","12","5","7","14"]
  76 + }, {
  77 + name: "出带宽",
  78 + data: ["22","35","41","68","70","57","45","33","24","15","7","10"]
  79 + }]*/
  80 + },
  81 + xAxis: {
  82 + // today: ["00", "02", "04", "06", "08", "10", "12", "14", "16", "18", "20", "22"]
  83 + today: xAxisData
  84 + }
74 } 85 }
  86 + that.updateChart()
  87 + that.startInterval()
75 } 88 }
76 - }  
77 - }  
78 - this.chartInstance.setOption(initOption)  
79 - },  
80 - async getData () {  
81 - // await this.$http.get()  
82 - // const { data: ret } = await this.$http.get('bandwidthcpu')  
83 - // this.allData = ret  
84 - // console.log(ret)  
85 - this.updateChart()  
86 - this.startInterval() 89 +
  90 + })
87 }, 91 },
88 updateChart () { 92 updateChart () {
89 // 半透明的颜色值 93 // 半透明的颜色值
90 const colorArr1 = [ 94 const colorArr1 = [
91 - 'rgba(11, 168, 44, 0.5)', 95 + 'rgba(35, 255, 255, 0.5)',
92 'rgba(44, 110, 255, 0.5)', 96 'rgba(44, 110, 255, 0.5)',
93 'rgba(22, 242, 217, 0.5)', 97 'rgba(22, 242, 217, 0.5)',
  98 + 'rgba(11, 168, 44, 0.5)',
94 'rgba(254, 33, 30, 0.5)', 99 'rgba(254, 33, 30, 0.5)',
95 'rgba(250, 105, 0, 0.5)' 100 'rgba(250, 105, 0, 0.5)'
96 ] 101 ]
97 - // 全透明的颜色值 102 + // 全透明的颜色值
98 const colorArr2 = [ 103 const colorArr2 = [
99 - 'rgba(11, 168, 44, 0)', 104 + 'rgba(35, 255, 255, 0)',
100 'rgba(44, 110, 255, 0)', 105 'rgba(44, 110, 255, 0)',
101 'rgba(22, 242, 217, 0)', 106 'rgba(22, 242, 217, 0)',
  107 + 'rgba(11, 168, 44, 0)',
102 'rgba(254, 33, 30, 0)', 108 'rgba(254, 33, 30, 0)',
103 'rgba(250, 105, 0, 0)' 109 'rgba(250, 105, 0, 0)'
104 ] 110 ]
@@ -109,6 +115,16 @@ export default { @@ -109,6 +115,16 @@ export default {
109 type: 'line', 115 type: 'line',
110 data: item.data, 116 data: item.data,
111 smooth: true, 117 smooth: true,
  118 + showSymbol:false,
  119 + itemStyle : {
  120 + normal : {
  121 + color:colorArr1[index],//tooltip里的小圆点颜色
  122 + lineStyle:{
  123 + color:colorArr1[index],
  124 + width:2,
  125 + }
  126 + }
  127 + },
112 areaStyle: { 128 areaStyle: {
113 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ 129 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
114 { 130 {
@@ -129,29 +145,86 @@ export default { @@ -129,29 +145,86 @@ export default {
129 }) 145 })
130 const title = this.allData.polyline.title 146 const title = this.allData.polyline.title
131 const unit = this.allData.polyline.unit 147 const unit = this.allData.polyline.unit
132 - const dataOption = { 148 + const seriesData=seriesArr;
  149 + let xAxisData=timeArr;
  150 + this.optionData = {
133 title: { 151 title: {
134 text: title, 152 text: title,
135 left: 'center', 153 left: 'center',
136 - bottom: '8%'  
137 - },  
138 - xAxis: {  
139 - data: timeArr 154 + bottom: '8%',
  155 + textStyle: {
  156 + fontSize: this.titleFontSize*0.5,
  157 + color:'#ffffff'
  158 + }
  159 +
140 }, 160 },
141 - yAxis: {  
142 - name: unit 161 + tooltip: {
  162 + trigger: 'axis',
  163 + backgroundColor:'rgba(50,50,50,0.7)',
  164 + borderColor:"#333",
  165 + textStyle:{
  166 + color:"#fff",
  167 + align:'left'
  168 + }
  169 +
143 }, 170 },
144 legend: { 171 legend: {
145 - data: legendArr 172 + data: legendArr,
  173 + itemHeight:0,//图例圆圈大小设置
  174 + right: '5%',
  175 + top: '5%',
  176 + textStyle: {
  177 + color: '#ffffff',
  178 + fontsize:"12px"
  179 + }
  180 +
146 }, 181 },
147 - dataZoom: {  
148 - show: false,  
149 - startValue: this.startValue,  
150 - endValue: this.endValue 182 + grid: {
  183 + top: '15%',
  184 + left: '3%',
  185 + right: '4%',
  186 + bottom: '20%',
  187 + containLabel: true
151 }, 188 },
152 - series: seriesArr  
153 - }  
154 - this.chartInstance.setOption(dataOption) 189 + xAxis: {
  190 + type: 'category',
  191 + boundaryGap: false,
  192 + data: xAxisData,
  193 +
  194 + axisLine:{
  195 + show:false,//是否显示坐标线
  196 + },
  197 + axisTick: {
  198 + show: false //是否显示坐标刻度
  199 + },
  200 + axisLabel:{
  201 + color:'#ffffff',
  202 + },
  203 +
  204 + },
  205 + yAxis: {
  206 + type: 'value',
  207 + name:unit,
  208 + nameTextStyle:{
  209 + color:'#ffffff',
  210 + padding:[0,0,0,-20]
  211 + },
  212 + axisLabel: {
  213 + color:'#ffffff',
  214 + // formatter: '{value} %'//以百分比显示
  215 + },
  216 + axisLine:{
  217 + show:true,//是否显示坐标线
  218 + },
  219 + splitLine:{
  220 + lineStyle: {
  221 + color:'#0a1b31'
  222 + }
  223 + }
  224 +
  225 + },
  226 + series: seriesData
  227 + };
155 }, 228 },
156 screenAdapter () { 229 screenAdapter () {
157 this.titleFontSize = document.getElementById('bandwidthcpu_ref').offsetWidth / 100 * 3.6 230 this.titleFontSize = document.getElementById('bandwidthcpu_ref').offsetWidth / 100 * 3.6
@@ -182,8 +255,7 @@ export default { @@ -182,8 +255,7 @@ export default {
182 } 255 }
183 } 256 }
184 } 257 }
185 - this.chartInstance.setOption(adapterOption)  
186 - this.chartInstance.resize() 258 +
187 }, 259 },
188 startInterval () { 260 startInterval () {
189 if (this.timerId) { 261 if (this.timerId) {
1 <div class="com-container"> 1 <div class="com-container">
2 <div class="com-chart" id="volume_ref"></div> 2 <div class="com-chart" id="volume_ref"></div>
3 <div class="busniess-box-title"> 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> 4 + <img :style="comtitleImgStyle" src="./src/assets/images/digitalDp/title-volume.png" class="busniess-title-img"> <!-- bor1_6 -->
  5 +<!-- <span :style="comtitleTextStyle" class="busniess-title-size">本月业务量</span>-->
6 </div> 6 </div>
7 <div class="busniess-circle-text" :style="comcircletextStyle"> 7 <div class="busniess-circle-text" :style="comcircletextStyle">
8 <div class="busniess-circle-left">今日<br/>业务量</div> 8 <div class="busniess-circle-left">今日<br/>业务量</div>
@@ -4,6 +4,8 @@ export default { @@ -4,6 +4,8 @@ export default {
4 components: {}, 4 components: {},
5 data () { 5 data () {
6 return { 6 return {
  7 + domainName:sessionStorage.getItem('domainName'),
  8 + apiUrl:'/api-web/bigScreen/findPortfolio',//今日业务量
7 chartInstance: null, 9 chartInstance: null,
8 allData: [{ 10 allData: [{
9 name: "今日业务量", 11 name: "今日业务量",
@@ -20,23 +22,24 @@ export default { @@ -20,23 +22,24 @@ export default {
20 { name: "网络发票",value: "712204", color: "#A35CFF"} 22 { name: "网络发票",value: "712204", color: "#A35CFF"}
21 ] 23 ]
22 }], 24 }],
  25 + colorData:['#0D45FE','#00FFB9','#A35CFF'],
23 titleFontSize: 30 26 titleFontSize: 30
24 } 27 }
25 }, 28 },
26 computed: { 29 computed: {
27 comtitleTextStyle () { 30 comtitleTextStyle () {
28 return { 31 return {
29 - fontSize: this.titleFontSize / 1.3 + 'px' 32 + fontSize: this.titleFontSize / 1 + 'px'
30 } 33 }
31 }, 34 },
32 comtitleImgStyle () { 35 comtitleImgStyle () {
33 return { 36 return {
34 - height: this.titleFontSize * 1.5 + 'px' 37 + height: this.titleFontSize * 2.1 + 'px'
35 } 38 }
36 }, 39 },
37 comcircletextStyle () { 40 comcircletextStyle () {
38 return { 41 return {
39 - fontSize: this.titleFontSize / 1.8 + 'px' 42 + fontSize: this.titleFontSize / 1.3 + 'px'
40 } 43 }
41 } 44 }
42 }, 45 },
@@ -58,7 +61,7 @@ export default { @@ -58,7 +61,7 @@ export default {
58 top: '20%', 61 top: '20%',
59 left: 'center', 62 left: 'center',
60 textStyle: { 63 textStyle: {
61 - color: 'wihte' 64 + color: '#ffffff'
62 } 65 }
63 } 66 }
64 } 67 }
@@ -67,8 +70,20 @@ export default { @@ -67,8 +70,20 @@ export default {
67 async getData () { 70 async getData () {
68 // await this.$http.get() 71 // await this.$http.get()
69 // const { data: ret } = await this.$http.get('volume') 72 // const { data: ret } = await this.$http.get('volume')
70 - // this.allData = ret  
71 - // console.log(ret) 73 + const { data: ret } = await $.get(this.domainName +this.apiUrl)
  74 + //本月业务量
  75 + // const { data: ret1 } = await $.get(this.domainName +this.apiUrl1)
  76 + let retData=[];
  77 + retData.push({
  78 + name:'今日业务量',
  79 + data:ret
  80 + })
  81 + retData.push({
  82 + name:'本月业务量',
  83 + data:ret
  84 + })
  85 + this.allData = retData
  86 +
72 this.updateChart() 87 this.updateChart()
73 }, 88 },
74 updateChart () { 89 updateChart () {
@@ -76,30 +91,41 @@ export default { @@ -76,30 +91,41 @@ export default {
76 ['22%', '65%'], 91 ['22%', '65%'],
77 ['66%', '65%'] 92 ['66%', '65%']
78 ] 93 ]
  94 +
79 const seriesArr = this.allData.map((item, index) => { 95 const seriesArr = this.allData.map((item, index) => {
80 const dataArr = [] 96 const dataArr = []
81 - item.data.map(inner => {  
82 - console.log(inner) 97 + if(item.data){
  98 + item.data.map(inner => {
  99 + dataArr.push({
  100 + name: inner.name,
  101 + value: inner.num,
  102 + /*itemStyle: {
  103 + color: this.colorData[index]
  104 + }*/
  105 + })
  106 + })
  107 + }else{
83 dataArr.push({ 108 dataArr.push({
84 - name: inner.name,  
85 - value: inner.value,  
86 - itemStyle: {  
87 - color: inner.color  
88 - } 109 + name: '暂无数据',
  110 + value: 0
  111 +
89 }) 112 })
90 - }) 113 + }
  114 +
91 return { 115 return {
92 type: 'pie', 116 type: 'pie',
93 radius: ['28%', '42%'], 117 radius: ['28%', '42%'],
94 center: centerArr[index], 118 center: centerArr[index],
  119 + color:this.colorData,
95 itemStyle: { 120 itemStyle: {
96 - borderRadius: 5, 121 + borderRadius: 2,
97 borderWidth: 2 122 borderWidth: 2
98 }, 123 },
99 label: { 124 label: {
100 position: 'outer', 125 position: 'outer',
101 alignTo: 'labelLine', 126 alignTo: 'labelLine',
102 - formatter: '{c}' 127 + formatter: '{c}',
  128 + color:'#ffffff'
103 }, 129 },
104 data: dataArr 130 data: dataArr
105 } 131 }
@@ -132,10 +158,10 @@ export default { @@ -132,10 +158,10 @@ export default {
132 // }, 158 // },
133 legend: { 159 legend: {
134 itemWidth: this.titleFontSize * 1.5, 160 itemWidth: this.titleFontSize * 1.5,
135 - itemHeight: this.titleFontSize / 6, 161 + itemHeight: this.titleFontSize / 4,
136 itemGap: this.titleFontSize * 2.5, 162 itemGap: this.titleFontSize * 2.5,
137 textStyle: { 163 textStyle: {
138 - fontSize: this.titleFontSize / 2 164 + fontSize: this.titleFontSize / 1.3
139 } 165 }
140 } 166 }
141 } 167 }
1 -<div class="com-container">  
2 - <div class="com-chart" id="declarecpu_ref"></div> 1 +<div class="com-container" id="declarecpu_ref">
  2 + <LineChart :optionData="optionData" v-if="optionData"></LineChart>
  3 +
  4 +<!-- <div class="com-chart" id="declarecpu_ref"></div>-->
3 </div> 5 </div>
1 export default { 1 export default {
2 name: 'ResponseMonitor', 2 name: 'ResponseMonitor',
3 template: '', 3 template: '',
4 - components: {}, 4 + components: {
  5 + 'LineChart': Vue.defineAsyncComponent(
  6 + () => myImport('views/zjdaping/components/lineChart/index')
  7 + )
  8 + },
5 data () { 9 data () {
6 return { 10 return {
7 - chartInstance: null, 11 + legendData:'',
  12 + optionData:'',
8 allData: { 13 allData: {
9 polyline: { 14 polyline: {
10 title: "申报库CPU监控", 15 title: "申报库CPU监控",
11 unit: "cpu%", 16 unit: "cpu%",
12 data: [{ 17 data: [{
13 name: "80.12.97.2", 18 name: "80.12.97.2",
14 - data: ["12","15","21","18","20","37","45","23","12","5","7","14"] 19 + datas: ["12","15","21","18","20","37","45","23","12","5","7","14"]
15 }, { 20 }, {
16 name: "80.12.77.3", 21 name: "80.12.77.3",
17 - data: ["22","35","41","68","70","57","45","33","24","15","7","10"] 22 + datas: ["22","35","41","68","70","57","45","33","24","15","7","10"]
18 }] 23 }]
19 }, 24 },
20 xAxis: { 25 xAxis: {
@@ -22,94 +27,150 @@ export default { @@ -22,94 +27,150 @@ export default {
22 } 27 }
23 }, 28 },
24 startValue: 0, // 区域缩放的起点值 29 startValue: 0, // 区域缩放的起点值
25 - endValue: 6, // 区域缩放的终点值  
26 - timerId: null // 定时器的标识 30 + endValue: 9, // 区域缩放的终点值
  31 + timerId: null, // 定时器的标识
  32 + titleFontSize: 30,
  33 + kpiIds:'KPI20352505',
  34 + resId:'4c582c0603654352ba4f905e88a56863',
  35 + resId1:'adeeddd6023a4157be523ac5d3b60ed6',
  36 +
  37 + curve: 'KPIDA0ACBBP',
  38 + rateTitle: 'KPIDA0ACBBK',
  39 + numerTitle: 'KPIDA0ACBBG'
27 } 40 }
28 }, 41 },
  42 +
29 mounted () { 43 mounted () {
30 - this.initChart()  
31 - this.getData() 44 +
  45 + this.getData(this)
32 window.addEventListener('resize', this.screenAdapter) 46 window.addEventListener('resize', this.screenAdapter)
33 this.screenAdapter() 47 this.screenAdapter()
  48 +
34 }, 49 },
35 unmounted () { 50 unmounted () {
36 - window.removeEventListener('resize', this.screenAdapter) 51 + // window.removeEventListener('resize', this.screenAdapter)
37 clearInterval(this.timerId) 52 clearInterval(this.timerId)
38 }, 53 },
39 methods: { 54 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' 55 + getData1(that){
  56 + const { proxy } = Vue.getCurrentInstance();
  57 +
  58 + var params = {
  59 + resId: that.resId1,
  60 + kpiIds: that.kpiIds,
  61 + subResId: 'vmem',
  62 + startTime:'',
  63 + endTime:'',
  64 + access_token:localStorage.getItem("access_token")
  65 + };
  66 + // proxy.$http.get("/api-web/detail/his/line/base", params, function (res) {
  67 + var res={
  68 + code:'0',
  69 + data:{
  70 + kpiUnit:'%',
  71 + names:['20:10','21:10','22:15','23:15'],
  72 + series:[
  73 + {
  74 + name:'89.12.97.3',
  75 + datas:[0.8,1,1,1,1,0.7,1,1],
  76 + flag:'vmem'
  77 + }
  78 + ]
56 } 79 }
57 - },  
58 - xAxis: {  
59 - type: 'category',  
60 - boundaryGap: false,  
61 - axisLabel: {  
62 - textStyle: {  
63 - color: '#E6E8EB'  
64 - } 80 + }
  81 + if(res && res.data){
  82 + let resData=res.data;
  83 + that.allData.polyline.data.push(resData.series)
  84 + that.updateChart()
  85 +
  86 + }
  87 + // });
  88 + },
  89 +
  90 + getData (that) {
  91 + const { proxy } = Vue.getCurrentInstance();
  92 + var params = {
  93 + resId: that.resId,
  94 + kpiIds: that.kpiIds,
  95 + subResId: 'vmem',
  96 + startTime:'',
  97 + endTime:'',
  98 + access_token:localStorage.getItem("access_token")
  99 + };
  100 + // proxy.$http.get("/api-web/detail/his/line/base", params, function (res) {
  101 + var res={
  102 + code:'0',
  103 + data:{
  104 + kpiUnit:'%',
  105 + names:['20:10','21:10','22:15','23:15'],
  106 + series:[
  107 + {
  108 + name:'89.12.97.2',
  109 + datas:[1,1,1,1,1,1,1,1],
  110 + flag:'vmem'
  111 + }
  112 + ]
65 } 113 }
66 - },  
67 - yAxis: {  
68 - type: 'value',  
69 - splitLine: {  
70 - show: false  
71 - },  
72 - axisLabel: {  
73 - textStyle: {  
74 - color: '#E6E8EB' 114 + }
  115 + if(res && res.data){
  116 + let resData=res.data;
  117 + that.allData = {
  118 + polyline: {
  119 + title: "申报库CPU监控",
  120 + unit: "cpu%",
  121 + data: resData.series
  122 + },
  123 + xAxis: {
  124 + today:resData.names
75 } 125 }
76 - } 126 + };
  127 + that.getData1(that)
77 } 128 }
78 - }  
79 - this.chartInstance.setOption(initOption)  
80 - },  
81 - async getData () {  
82 - // await this.$http.get()  
83 - // const { data: ret } = await this.$http.get('declarecpu')  
84 - // this.allData = ret  
85 - // console.log(ret)  
86 - this.updateChart()  
87 - this.startInterval() 129 + // });
  130 +
88 }, 131 },
89 updateChart () { 132 updateChart () {
90 // 半透明的颜色值 133 // 半透明的颜色值
91 const colorArr1 = [ 134 const colorArr1 = [
92 - 'rgba(11, 168, 44, 0.5)', 135 + 'rgba(35, 255, 255, 0.5)',
93 'rgba(44, 110, 255, 0.5)', 136 'rgba(44, 110, 255, 0.5)',
94 'rgba(22, 242, 217, 0.5)', 137 'rgba(22, 242, 217, 0.5)',
  138 + 'rgba(11, 168, 44, 0.5)',
95 'rgba(254, 33, 30, 0.5)', 139 'rgba(254, 33, 30, 0.5)',
96 'rgba(250, 105, 0, 0.5)' 140 'rgba(250, 105, 0, 0.5)'
97 ] 141 ]
98 - // 全透明的颜色值 142 + // 全透明的颜色值
99 const colorArr2 = [ 143 const colorArr2 = [
100 - 'rgba(11, 168, 44, 0)', 144 + 'rgba(35, 255, 255, 0)',
101 'rgba(44, 110, 255, 0)', 145 'rgba(44, 110, 255, 0)',
102 'rgba(22, 242, 217, 0)', 146 'rgba(22, 242, 217, 0)',
  147 + 'rgba(11, 168, 44, 0)',
103 'rgba(254, 33, 30, 0)', 148 'rgba(254, 33, 30, 0)',
104 'rgba(250, 105, 0, 0)' 149 'rgba(250, 105, 0, 0)'
105 ] 150 ]
106 const timeArr = this.allData.xAxis.today 151 const timeArr = this.allData.xAxis.today
107 - const seriesArr = this.allData.polyline.data.map((item, index) => {  
108 - return { 152 + const seriesArr = this.allData.polyline.data;
  153 + const title=this.allData.polyline.title;
  154 + const unit=this.allData.polyline.unit;
  155 +
  156 + let seriesData=[];
  157 +
  158 + $.each(seriesArr,function (index,item){
  159 + seriesData .push({
109 name: item.name, 160 name: item.name,
110 type: 'line', 161 type: 'line',
111 - data: item.data, 162 + data: item.datas,
112 smooth: true, 163 smooth: true,
  164 + showSymbol:false,
  165 + itemStyle : {
  166 + normal : {
  167 + color:colorArr1[index],//tooltip里的小圆点颜色
  168 + lineStyle:{
  169 + color:colorArr1[index],
  170 + width:2,
  171 + }
  172 + }
  173 + },
113 areaStyle: { 174 areaStyle: {
114 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ 175 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
115 { 176 {
@@ -122,84 +183,130 @@ export default { @@ -122,84 +183,130 @@ export default {
122 } // 100%的颜色值 183 } // 100%的颜色值
123 ]) 184 ])
124 } 185 }
125 - } 186 + })
126 }) 187 })
  188 +
127 // 图例的数据 189 // 图例的数据
128 const legendArr = this.allData.polyline.data.map(item => { 190 const legendArr = this.allData.polyline.data.map(item => {
129 return item.name 191 return item.name
130 }) 192 })
131 - const title = this.allData.polyline.title  
132 - const unit = this.allData.polyline.unit  
133 - const dataOption = { 193 + //x轴数据
  194 + // let xAxisDataLength=seriesData.length;
  195 + // let xAxisData=[];
  196 + // for(let i=1;i<=xAxisDataLength;i++){
  197 + // xAxisData.push(i)
  198 + // }
  199 + let xAxisData=timeArr;
  200 + this.optionData = {
134 title: { 201 title: {
135 text: title, 202 text: title,
136 left: 'center', 203 left: 'center',
137 - bottom: '8%'  
138 - },  
139 - xAxis: {  
140 - data: timeArr 204 + bottom: '8%',
  205 + textStyle: {
  206 + fontSize: this.titleFontSize*0.5,
  207 + color:'#ffffff'
  208 + }
  209 +
141 }, 210 },
142 - yAxis: {  
143 - name: unit 211 + tooltip: {
  212 + trigger: 'axis',
  213 + backgroundColor:'rgba(50,50,50,0.7)',
  214 + borderColor:"#333",
  215 + textStyle:{
  216 + color:"#fff",
  217 + align:'left'
  218 + }
  219 +
144 }, 220 },
145 legend: { 221 legend: {
146 - data: legendArr  
147 - },  
148 - dataZoom: {  
149 - show: false,  
150 - startValue: this.startValue,  
151 - endValue: this.endValue  
152 - },  
153 - series: seriesArr  
154 - }  
155 - this.chartInstance.setOption(dataOption)  
156 - },  
157 - screenAdapter () {  
158 - this.titleFontSize = document.getElementById('declarecpu_ref').offsetWidth / 100 * 3.6  
159 - const adapterOption = {  
160 - title: { 222 + data: legendArr,
  223 + itemHeight:0,//图例圆圈大小设置
  224 + right: '5%',
  225 + top: '5%',
161 textStyle: { 226 textStyle: {
162 - fontSize: this.titleFontSize,  
163 - color: 'white' 227 + color: '#ffffff',
  228 + fontsize:"12px"
164 } 229 }
  230 +
  231 + },
  232 + grid: {
  233 + top: '15%',
  234 + left: '3%',
  235 + right: '4%',
  236 + bottom: '20%',
  237 + containLabel: true
  238 + },
  239 + xAxis: {
  240 + type: 'category',
  241 + boundaryGap: false,
  242 + data: xAxisData,
  243 +
  244 + axisLine:{
  245 + show:false,//是否显示坐标线
  246 + },
  247 + axisTick: {
  248 + show: false //是否显示坐标刻度
  249 + },
  250 + axisLabel:{
  251 + color:'#ffffff',
  252 + },
  253 +
165 }, 254 },
166 yAxis: { 255 yAxis: {
167 - top: this.titleFontSize,  
168 - nameTextStyle: {  
169 - padding: [0, 0, -(this.titleFontSize / 2), -(this.titleFontSize)], // 修改位置  
170 - fontSize: this.titleFontSize / 2,  
171 - color: 'white' 256 + type: 'value',
  257 + name:'cpu%',
  258 + nameTextStyle:{
  259 + color:'#ffffff',
  260 + padding:[0,0,0,-20]
  261 + },
  262 + axisLabel: {
  263 + color:'#ffffff',
  264 + // formatter: '{value} %'//以百分比显示
  265 + },
  266 + axisLine:{
  267 + show:true,//是否显示坐标线
  268 + },
  269 + splitLine:{
  270 + lineStyle: {
  271 + color:'#0a1b31'
  272 + }
172 } 273 }
  274 +
173 }, 275 },
  276 + series: seriesData
  277 + };
  278 +
  279 + },
  280 + screenAdapter () {
  281 + this.titleFontSize = document.getElementById('declarecpu_ref').offsetWidth / 100 * 3.6
  282 + console.log(this.titleFontSize)
  283 + const adapterOption = {
174 legend: { 284 legend: {
175 itemWidth: this.titleFontSize, 285 itemWidth: this.titleFontSize,
176 itemHeight: this.titleFontSize, 286 itemHeight: this.titleFontSize,
177 itemGap: this.titleFontSize, 287 itemGap: this.titleFontSize,
178 textStyle: { 288 textStyle: {
179 - fontSize: this.titleFontSize / 1.5 289 + fontSize: this.titleFontSize / 2
180 } 290 }
181 } 291 }
182 } 292 }
183 - this.chartInstance.setOption(adapterOption)  
184 - this.chartInstance.resize() 293 +
185 }, 294 },
186 startInterval () { 295 startInterval () {
187 if (this.timerId) { 296 if (this.timerId) {
188 clearInterval(this.timerId) 297 clearInterval(this.timerId)
189 } 298 }
190 - let index = 12 299 + let index = 10
191 /*this.timerId = setInterval(() => { 300 /*this.timerId = setInterval(() => {
192 this.startValue++ 301 this.startValue++
193 this.endValue++ 302 this.endValue++
194 - if ((this.allData.polyline.data).length > 0) {  
195 - index = (this.allData.polyline.data)[0].data.length 303 + if (this.allData.polyline.data.data.length > 0) {
  304 + index = this.allData.polyline.data.data.length
196 } 305 }
197 if (this.endValue > index - 1) { 306 if (this.endValue > index - 1) {
198 this.startValue = 0 307 this.startValue = 0
199 - this.endValue = 6 308 + this.endValue = 9
200 } 309 }
201 - console.log(this.startValue)  
202 - console.log(this.endValue)  
203 this.updateChart() 310 this.updateChart()
204 }, 5000)*/ 311 }, 5000)*/
205 } 312 }
1 <div class="com-container"> 1 <div class="com-container">
2 - <div class="com-chart" id="declarepolyline_ref"></div>  
3 - <div class="declarepolyline-title" :style="comtitlesizeStyle">  
4 - <el-row>  
5 - <el-col :span="24">  
6 - <div class="grid-content bg-purple-dark">  
7 - <img src="./src/assets/img/icon-ysb.png" :style="comimgsizeStyle">  
8 - <span>本月应申报</span>  
9 - </div>  
10 - </el-col>  
11 - </el-row>  
12 - <el-row>  
13 - <el-col :span="24">  
14 - <div class="grid-content bg-purple-dark" :style="comtitletextStyle">  
15 - {{declareNumer}}  
16 - </div>  
17 - </el-col>  
18 - </el-row>  
19 - <el-row>  
20 - <el-col :span="24">  
21 - <div class="grid-content bg-purple-dark">  
22 - <img src="./src/assets/img/icon-sbl.png" :style="comimgsizeStyle">  
23 - <span>本月申报率</span>  
24 - </div>  
25 - </el-col>  
26 - </el-row>  
27 - <el-row>  
28 - <el-col :span="24">  
29 - <div class="grid-content bg-purple-dark" :style="comtitletextStyle">  
30 - <span>{{declareRateLeft}}</span><span :style="comboxtextStyle">{{declareRateRight}}</span>  
31 - </div>  
32 - </el-col>  
33 - </el-row>  
34 - </div> 2 + <LineChart :optionData="optionData" v-if="optionData"></LineChart>
35 </div> 3 </div>
1 export default { 1 export default {
2 name: 'declarePolyline', 2 name: 'declarePolyline',
3 template: '', 3 template: '',
4 - components: {}, 4 + components: {
  5 + 'LineChart': Vue.defineAsyncComponent(
  6 + () => myImport('views/zjdaping/components/lineChart/index')
  7 + )
  8 + },
5 data () { 9 data () {
6 return { 10 return {
7 chartInstance: null, 11 chartInstance: null,
  12 + chartId:'declarepolyline_ref',
  13 + yAxisCommon:'',
  14 + ySeriesCommon:'',
  15 + legendData:'',
  16 + optionData:'',
8 // allData: { 17 // allData: {
9 // polyline: { 18 // polyline: {
10 // data: { 19 // data: {
@@ -58,53 +67,17 @@ export default { @@ -58,53 +67,17 @@ export default {
58 } 67 }
59 }, 68 },
60 mounted () { 69 mounted () {
61 - this.initChart() 70 +
62 this.getData(this) 71 this.getData(this)
63 - window.addEventListener('resize', this.screenAdapter)  
64 - this.screenAdapter() 72 + // window.addEventListener('resize', this.screenAdapter)
  73 + // this.screenAdapter()
65 }, 74 },
66 unmounted () { 75 unmounted () {
67 - window.removeEventListener('resize', this.screenAdapter) 76 + // window.removeEventListener('resize', this.screenAdapter)
68 clearInterval(this.timerId) 77 clearInterval(this.timerId)
69 }, 78 },
70 methods: { 79 methods: {
71 - initChart () {  
72 - this.chartInstance = echarts.init(document.getElementById('declarepolyline_ref'))  
73 - const initOption = {  
74 - grid: {  
75 - top: '10%',  
76 - left: '1%',  
77 - right: '30%',  
78 - bottom: '1%',  
79 - containLabel: true  
80 - },  
81 - legend: {  
82 - right: '2%',  
83 - top: '5%'  
84 - },  
85 - xAxis: {  
86 - type: 'category',  
87 - boundaryGap: false,  
88 - axisLabel: {  
89 - textStyle: {  
90 - color: '#E6E8EB'  
91 - }  
92 - }  
93 - },  
94 - yAxis: {  
95 - type: 'value',  
96 - splitLine: {  
97 - show: false  
98 - },  
99 - axisLabel: {  
100 - textStyle: {  
101 - color: '#E6E8EB'  
102 - }  
103 - }  
104 - }  
105 - }  
106 - this.chartInstance.setOption(initOption)  
107 - }, 80 +
108 getData (that) { 81 getData (that) {
109 const { proxy } = Vue.getCurrentInstance(); 82 const { proxy } = Vue.getCurrentInstance();
110 var params = { 83 var params = {
@@ -114,10 +87,9 @@ export default { @@ -114,10 +87,9 @@ export default {
114 }; 87 };
115 proxy.$http.get("/api-web/bigScreen/declarePolyline", params, function (res) { 88 proxy.$http.get("/api-web/bigScreen/declarePolyline", params, function (res) {
116 if(res.success){ 89 if(res.success){
117 - console.log(res.obj)  
118 that.allData = res.obj; 90 that.allData = res.obj;
119 that.updateChart() 91 that.updateChart()
120 - that.startInterval() 92 + // that.startInterval()
121 } 93 }
122 }); 94 });
123 95
@@ -128,6 +100,7 @@ export default { @@ -128,6 +100,7 @@ export default {
128 'rgba(11, 168, 44, 0.5)', 100 'rgba(11, 168, 44, 0.5)',
129 'rgba(44, 110, 255, 0.5)', 101 'rgba(44, 110, 255, 0.5)',
130 'rgba(22, 242, 217, 0.5)', 102 'rgba(22, 242, 217, 0.5)',
  103 + 'rgba(35, 255, 255, 0.5)',
131 'rgba(254, 33, 30, 0.5)', 104 'rgba(254, 33, 30, 0.5)',
132 'rgba(250, 105, 0, 0.5)' 105 'rgba(250, 105, 0, 0.5)'
133 ] 106 ]
@@ -136,6 +109,7 @@ export default { @@ -136,6 +109,7 @@ export default {
136 'rgba(11, 168, 44, 0)', 109 'rgba(11, 168, 44, 0)',
137 'rgba(44, 110, 255, 0)', 110 'rgba(44, 110, 255, 0)',
138 'rgba(22, 242, 217, 0)', 111 'rgba(22, 242, 217, 0)',
  112 + 'rgba(35, 255, 255, 0)',
139 'rgba(254, 33, 30, 0)', 113 'rgba(254, 33, 30, 0)',
140 'rgba(250, 105, 0, 0)' 114 'rgba(250, 105, 0, 0)'
141 ] 115 ]
@@ -152,40 +126,97 @@ export default { @@ -152,40 +126,97 @@ export default {
152 const legendArr = this.allData.polyline.data.data.map(item => { 126 const legendArr = this.allData.polyline.data.data.map(item => {
153 return item.name 127 return item.name
154 }) 128 })
155 - const dataOption = {  
156 - xAxis: {  
157 - data: timeArr 129 + //x轴数据
  130 + let xAxisDataLength=seriesData.length;
  131 + let xAxisData=[];
  132 + for(let i=1;i<=xAxisDataLength;i++){
  133 + xAxisData.push(i)
  134 + }
  135 + this.optionData = {
  136 + title: {
  137 + text: ''
  138 + },
  139 + tooltip: {
  140 + trigger: 'axis',
  141 + backgroundColor:'rgba(50,50,50,0.7)',
  142 + borderColor:"#333",
  143 + textStyle:{
  144 + color:"#fff",
  145 + align:'left'
  146 + }
  147 +
158 }, 148 },
159 legend: { 149 legend: {
160 - data: legendArr 150 + data: legendArr,
  151 + itemHeight:0,//图例圆圈大小设置
  152 + y:'7px',
  153 + textStyle: {
  154 + color: '#ffffff',
  155 + fontsize:"12px"
  156 + }
  157 +
161 }, 158 },
162 - dataZoom: {  
163 - show: false,  
164 - startValue: this.startValue,  
165 - endValue: this.endValue 159 + grid: {
  160 + top:'3%',
  161 + left: '3%',
  162 + right: '4%',
  163 + bottom: '2%',
  164 + containLabel: true,
  165 + },
  166 + xAxis: {
  167 + type: 'category',
  168 + boundaryGap: false,
  169 + data: xAxisData,
  170 +
  171 + axisLine:{
  172 + show:false,//是否显示坐标线
  173 + },
  174 + axisTick: {
  175 + show: false //是否显示坐标刻度
  176 + },
  177 + axisLabel:{
  178 + color:'#ffffff',
  179 + },
  180 +
166 }, 181 },
167 - series: [  
168 - {  
169 - name: seriesName,  
170 - type: 'line',  
171 - data: seriesData,  
172 - smooth: true,  
173 - areaStyle: {  
174 - color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [  
175 - {  
176 - offset: 0,  
177 - color: colorArr1[1]  
178 - }, // %0的颜色值  
179 - {  
180 - offset: 1,  
181 - color: colorArr2[1]  
182 - } // 100%的颜色值  
183 - ]) 182 + yAxis: {
  183 + axisLabel: {
  184 + color:'#ffffff',
  185 + formatter: '{value} %'//以百分比显示
  186 + },
  187 + splitLine:{
  188 + lineStyle: {
  189 + color:'#0a1b31'
184 } 190 }
  191 + },
  192 +
  193 + },
  194 + series: {
  195 + name: seriesName,
  196 + type: 'line',
  197 + data: seriesData,
  198 + smooth: true,
  199 + showSymbol:false,
  200 + color:'#01E6E6',
  201 + areaStyle: {
  202 + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  203 + {
  204 + offset: 0,
  205 + color: colorArr1[3]
  206 + }, // %0的颜色值
  207 + {
  208 + offset: 1,
  209 + color: colorArr2[3]
  210 + } // 100%的颜色值
  211 + ])
185 } 212 }
186 - ]  
187 - }  
188 - this.chartInstance.setOption(dataOption) 213 + },
  214 + itemStyle:{
  215 + showSymbol:false
  216 + }
  217 + };
  218 +
  219 +
189 }, 220 },
190 screenAdapter () { 221 screenAdapter () {
191 this.titleFontSize = document.getElementById('declarepolyline_ref').offsetWidth / 100 * 3.6 222 this.titleFontSize = document.getElementById('declarepolyline_ref').offsetWidth / 100 * 3.6
  1 +<div class="declare-report" >
  2 + <div class="declare-report-top" :style="comtitlesizeStyle" id="declareReport_ref">
  3 + <el-row>
  4 + <el-col :span="24">
  5 + <div class="grid-content bg-purple-dark">
  6 + <img src="./src/assets/images/digitalDp/icon-ysb.png" :style="comimgsizeStyle">
  7 + <span class="title-ysb">本月应申报</span>
  8 + </div>
  9 + </el-col>
  10 + </el-row>
  11 + <el-row>
  12 + <el-col :span="24">
  13 + <div class="grid-content bg-purple-dark declare-report-num" :style="comtitletextStyle">
  14 + {{declareNumer}}
  15 + </div>
  16 + </el-col>
  17 + </el-row>
  18 + </div>
  19 + <div class="declare-report-bottom">
  20 + <el-row>
  21 + <el-col :span="24">
  22 + <div class="grid-content bg-purple-dark rate-title">
  23 +<!-- <img src="./src/assets/img/icon-sbl.png" :style="comimgsizeStyle">-->
  24 + <span>本月申报率</span>
  25 + </div>
  26 + </el-col>
  27 + </el-row>
  28 + <el-row>
  29 + <el-col :span="24">
  30 + <div class="grid-content bg-purple-dark rate-container" :style="comtitletextStyle">
  31 + <div class="rate-num">
  32 + <span>{{declareRateLeft}}</span><span :style="comboxtextStyle">{{declareRateRight}}</span>
  33 + </div>
  34 +
  35 + </div>
  36 + </el-col>
  37 + </el-row>
  38 + </div>
  39 +
  40 +</div>
  1 +export default {
  2 + name: 'declareReport',
  3 + template: '',
  4 + components: {},
  5 + data () {
  6 + return {
  7 + allData:{},
  8 + titleFontSize: 30,
  9 + declareRate: '0%',
  10 + declareRateLeft: 0,
  11 + declareRateRight: '%',
  12 + declareNumer: 0,
  13 + curve: 'KPIDA0ACBBP',
  14 + rateTitle: 'KPIDA0ACBBK',
  15 + numerTitle: 'KPIDA0ACBBG'
  16 + }
  17 + },
  18 + computed: {
  19 + comtitletextStyle () {
  20 + return {
  21 + color: '#23ffff',
  22 + fontSize: this.titleFontSize * 3 + 'px'
  23 + }
  24 + },
  25 + comtitlesizeStyle () {
  26 + return {
  27 + fontSize: this.titleFontSize *2 + 'px'
  28 + }
  29 + },
  30 + comimgsizeStyle () {
  31 + return {
  32 + width: this.titleFontSize * 3 + 'px'
  33 + }
  34 + },
  35 + comboxtextStyle () {
  36 + return {
  37 + fontSize: this.titleFontSize * 2 + 'px'
  38 + }
  39 + }
  40 + },
  41 + mounted () {
  42 + this.getData(this)
  43 + window.addEventListener('resize', this.screenAdapter)
  44 + this.screenAdapter()
  45 + },
  46 +
  47 + methods: {
  48 + getData (that) {
  49 + const { proxy } = Vue.getCurrentInstance();
  50 + var params = {
  51 + curve: that.curve,
  52 + rateTitle: that.rateTitle,
  53 + numerTitle: that.numerTitle
  54 + };
  55 + proxy.$http.get("/api-web/bigScreen/declarePolyline", params, function (res) {
  56 + if(res.success){
  57 + that.allData = res.obj;
  58 + const declareRate = that.allData.polyline.declareRate
  59 + if(declareRate.indexOf('.') > 0){
  60 + that.declareRateLeft = declareRate.split('.')[0] + '.'
  61 + that.declareRateRight = declareRate.split('.')[1]
  62 + }
  63 + that.declareNumer = that.allData.polyline.declareNumer
  64 +
  65 +
  66 + }
  67 + });
  68 +
  69 + },
  70 + screenAdapter () {
  71 + this.titleFontSize = document.getElementById('declareReport_ref').offsetWidth / 100 * 3.6
  72 + }
  73 +
  74 + }
  75 +}
@@ -4,65 +4,39 @@ @@ -4,65 +4,39 @@
4 <el-col :span="24"> 4 <el-col :span="24">
5 <div class="grid-content bg-purple-dark com-box-title"> 5 <div class="grid-content bg-purple-dark com-box-title">
6 <span> 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> 7 + <img :style="comtitlesizeStyle" class="deduction-box-title" src="./src/assets/images/digitalDp/box_title_bykk_zj_1.png"> <!-- bor1_6 -->
  8 +<!-- <span :style="comtitleTextStyle" class="deduction-title-size">本月扣款情况</span>-->
9 </span> 9 </span>
10 </div> 10 </div>
11 </el-col> 11 </el-col>
12 </el-row> 12 </el-row>
13 - <el-col :span="24">  
14 - <div class="grid-content bg-purple-dark com-box-title">  
15 - <span>  
16 - <img class="deduction-box-img-left" :style="comboximgleftStyle" src="./src/assets/img/box_bykk_zj.png"> <!-- bor1_6 -->  
17 - <div class="deduction-box-text-left" :style="comnumberTextStyle">  
18 - <div>  
19 - <span class="deduction-text-number">{{deductionAmount}}</span>  
20 - <span :style="comnumberUnitStyle">亿元</span>  
21 - </div>  
22 - <div>本月扣款金额</div> 13 + <el-row>
  14 + <el-col :span="24">
  15 + <div class="grid-content bg-purple-dark com-box-title">
  16 + <div class="deduction-num-container">
  17 + <img class="deduction-box-img-left" :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>
23 </div> 25 </div>
24 - </span>  
25 - <span>  
26 - <img class="deduction-box-img-right" :style="comboximgrightStyle" src="./src/assets/img/box_bykk_zj.png">  
27 - <div class="deduction-box-text-right" :style="comnumberTextStyle">  
28 - <div>  
29 - <span class="deduction-text-number">&nbsp;&nbsp;&nbsp;{{deductionNumber}}</span>  
30 - <span :style="comnumberUnitStyle">万笔</span>  
31 - </div>  
32 - <div>本月扣款笔数</div> 26 + <div class="deduction-num-container">
  27 + <img class="deduction-box-img-right" :style="comboximgrightStyle" src="./src/assets/img/box_bykk_zj.png">
  28 + <div class="deduction-box-text-right" :style="comnumberTextStyle">
  29 + <div>
  30 + <span class="deduction-text-number">&nbsp;&nbsp;&nbsp;{{deductionNumber}}</span>
  31 + <span :style="comnumberUnitStyle">万笔</span>
  32 + </div>
  33 + <div>本月扣款笔数</div>
  34 + </div>
33 </div> 35 </div>
34 - </span>  
35 - </div>  
36 - </el-col>  
37 -<!-- <el-row>-->  
38 -<!-- <el-col :span="12">-->  
39 -<!-- <div class="grid-content bg-purple com-box">-->  
40 -<!-- <span >-->  
41 -<!-- <img :style="comboximgleftStyle" src="./src/assets/img/box_bykk_zj.png"> &lt;!&ndash; bor1_6 &ndash;&gt;-->  
42 -<!-- <div class="deduction-box-text-left" :style="comnumberTextStyle">-->  
43 -<!-- <div>-->  
44 -<!-- <span class="deduction-text-number">{{deductionAmount}}</span>-->  
45 -<!-- <span :style="comnumberUnitStyle">亿元</span>-->  
46 -<!-- </div>-->  
47 -<!-- <div>本月扣款金额</div>-->  
48 -<!-- </div>-->  
49 -<!-- </span>-->  
50 -<!-- </div>-->  
51 -<!-- </el-col>-->  
52 -<!-- <el-col :span="12">-->  
53 -<!-- <div class="grid-content bg-purple-light">-->  
54 -<!-- <span >-->  
55 -<!-- <img :style="comboximgrightStyle" src="./src/assets/img/box_bykk_zj.png">-->  
56 -<!-- <div class="deduction-box-text-right" :style="comnumberTextStyle">-->  
57 -<!-- <div>-->  
58 -<!-- <span class="deduction-text-number">&nbsp;&nbsp;&nbsp;{{deductionNumber}}</span>-->  
59 -<!-- <span :style="comnumberUnitStyle">万笔</span>-->  
60 -<!-- </div>-->  
61 -<!-- <div>本月扣款笔数</div>-->  
62 -<!-- </div>-->  
63 -<!-- </span>-->  
64 -<!-- </div>-->  
65 -<!-- </el-col>-->  
66 -<!-- </el-row>--> 36 + </div>
  37 + </el-col>
  38 + </el-row>
  39 +
  40 +
67 </div> 41 </div>
68 </div> 42 </div>
@@ -19,41 +19,41 @@ export default { @@ -19,41 +19,41 @@ export default {
19 computed: { 19 computed: {
20 comboximgleftStyle () { 20 comboximgleftStyle () {
21 return { 21 return {
22 - height: this.titleFontSize * 3.5 + 'px',  
23 - marginTop: this.titleFontSize * 2.5 + 'px',  
24 - marginLeft: this.titleFontSize + 'px' 22 + height: this.titleFontSize *10 + 'px',
  23 + // marginTop: this.titleFontSize * 3.5 + 'px',
  24 + // marginLeft: this.titleFontSize + 'px'
25 } 25 }
26 }, 26 },
27 comboximgrightStyle () { 27 comboximgrightStyle () {
28 return { 28 return {
29 - height: this.titleFontSize * 3.5 + 'px',  
30 - marginTop: this.titleFontSize * 2.5 + 'px' 29 + height: this.titleFontSize *10 + 'px',
  30 + // marginTop: this.titleFontSize * 3.5 + 'px'
31 } 31 }
32 }, 32 },
33 comcontextStyle () { 33 comcontextStyle () {
34 return { 34 return {
35 - fontSize: this.titleFontSize + 'px' 35 + fontSize: this.titleFontSize + 'px'
36 } 36 }
37 }, 37 },
38 comtitlesizeStyle () { 38 comtitlesizeStyle () {
39 return { 39 return {
40 - height: this.titleFontSize * 1.5 + 'px', 40 + height: this.titleFontSize * 7 + 'px',
41 // width: this.titleFontSize * 6 + 'px' 41 // width: this.titleFontSize * 6 + 'px'
42 } 42 }
43 }, 43 },
44 comtitleTextStyle () { 44 comtitleTextStyle () {
45 return { 45 return {
46 - fontSize: this.titleFontSize / 1.3 + 'px' 46 + fontSize: this.titleFontSize /1.3 + 'px'
47 } 47 }
48 }, 48 },
49 comnumberTextStyle () { 49 comnumberTextStyle () {
50 return { 50 return {
51 - fontSize: this.titleFontSize / 1.2 + 'px' 51 + fontSize: this.titleFontSize /0.5 + 'px'
52 } 52 }
53 }, 53 },
54 comnumberUnitStyle () { 54 comnumberUnitStyle () {
55 return { 55 return {
56 - fontSize: this.titleFontSize / 2 + 'px' 56 + fontSize: this.titleFontSize / 0.6 + 'px'
57 } 57 }
58 } 58 }
59 }, 59 },
1 <div class="com-container"> 1 <div class="com-container">
2 <div class="com-chart" id="digitalboard_down_ref"> 2 <div class="com-chart" id="digitalboard_down_ref">
3 - <div style="margin-top: 2%" :style="comcontextStyle">  
4 - <el-row> 3 + <div style="margin-bottom: 2%" :style="comcontextStyle">
  4 + <el-row class="width-86">
5 <el-col :span="12"> 5 <el-col :span="12">
6 - <div class="grid-content bg-purple">  
7 - <span> 6 + <div class="grid-content bg-purple" style="text-align:left;">
  7 + <span >
8 <!--title_box_1.png--> 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> 9 + <img :style="comTitleimgStyle" src="./src/assets/images/digitalDp/title-report-month-1.png">
  10 +<!-- <span class="span-box-title" :style="comTitleSizeStyle">{{leftTitle}}</span>-->
11 </span> 11 </span>
12 </div> 12 </div>
13 </el-col> 13 </el-col>
@@ -18,77 +18,77 @@ @@ -18,77 +18,77 @@
18 </el-col> 18 </el-col>
19 </el-row> 19 </el-row>
20 <el-row> 20 <el-row>
21 - <el-col :span="3"> 21 + <!-- <el-col :span="3">
22 <div class="grid-content bg-purple com-box"> 22 <div class="grid-content bg-purple com-box">
23 <span > 23 <span >
24 - <img :style="comboximgStyle" src="./src/assets/img/bit_box_2.png"> 24 + <img :style="comboximgStyle" src="./src/assets/images/digitalDp/bit_box_2.png">
25 <span class="com-box-value" :style="combitnumberStyle" style="left: 2.5%;color: #FEFEFE;" v-if="mustBitFalg > 0">{{mustBit}}</span> 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> 26 <span class="com-box-value" :style="combitnumberStyle" style="left: 2.5%;color: #97969B;" v-if="mustBitFalg == 0">{{mustBit}}</span>
27 </span> 27 </span>
28 </div> 28 </div>
29 - </el-col> 29 + </el-col>-->
30 <el-col :span="3"> 30 <el-col :span="3">
31 <div class="grid-content bg-purple-light com-box"> 31 <div class="grid-content bg-purple-light com-box">
32 <span> 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> 33 + <img :style="comboximgStyle" src="./src/assets/images/digitalDp/bit_box_2.png">
  34 + <span class="com-box-value" :style="combitnumberStyle" style="left: 3%;color: #FEFEFE;" v-if="millionBitFalg > 0">{{millionBit}}</span>
  35 + <span class="com-box-value" :style="combitnumberStyle" style="left: 3%;color: #97969B;" v-if="millionBitFalg == 0">{{millionBit}}</span>
  36 + <span :style="comcommaStyle" style=" left: 11.5%;" v-if="isOneCommaShow">,</span>
37 </span> 37 </span>
38 </div> 38 </div>
39 </el-col> 39 </el-col>
40 <el-col :span="3"> 40 <el-col :span="3">
41 <div class="grid-content bg-purple com-box"> 41 <div class="grid-content bg-purple com-box">
42 <span> 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> 43 + <img :style="comboximgStyle" src="./src/assets/images/digitalDp/bit_box_2.png">
  44 + <span class="com-box-value" :style="combitnumberStyle" style="left: 15.5%;color: #FEFEFE;" v-if="hundredThousandBitFalg > 0">{{hundredThousandBit}}</span>
  45 + <span class="com-box-value" :style="combitnumberStyle" style="left: 15.5%;color: #97969B;" v-if="hundredThousandBitFalg == 0">{{hundredThousandBit}}</span>
46 </span> 46 </span>
47 </div> 47 </div>
48 </el-col> 48 </el-col>
49 <el-col :span="3"> 49 <el-col :span="3">
50 <div class="grid-content bg-purple-light com-box"> 50 <div class="grid-content bg-purple-light com-box">
51 <span> 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> 52 + <img :style="comboximgStyle" src="./src/assets/images/digitalDp/bit_box_2.png">
  53 + <span class="com-box-value" :style="combitnumberStyle" style="left: 28%;color: #FEFEFE;" v-if="tenThousandBitFalg > 0">{{tenThousandBit}}</span>
  54 + <span class="com-box-value" :style="combitnumberStyle" style="left: 28%;color: #97969B;" v-if="tenThousandBitFalg == 0">{{tenThousandBit}}</span>
55 </span> 55 </span>
56 </div> 56 </div>
57 </el-col> 57 </el-col>
58 <el-col :span="3"> 58 <el-col :span="3">
59 <div class="grid-content bg-purple com-box"> 59 <div class="grid-content bg-purple com-box">
60 <span> 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> 61 + <img :style="comboximgStyle" src="./src/assets/images/digitalDp/bit_box_2.png">
  62 + <span class="com-box-value" :style="combitnumberStyle" style="left: 40.5%;color: #FEFEFE;" v-if="thousandBitFalg > 0">{{thousandBit}}</span>
  63 + <span class="com-box-value" :style="combitnumberStyle" style="left: 40.5%;color: #97969B;" v-if="thousandBitFalg == 0">{{thousandBit}}</span>
  64 + <span :style="comcommaStyle" style="left: 49%;" v-if="isTwoCommaShow">,</span>
65 </span> 65 </span>
66 </div> 66 </div>
67 </el-col> 67 </el-col>
68 <el-col :span="3"> 68 <el-col :span="3">
69 <div class="grid-content bg-purple-light com-box"> 69 <div class="grid-content bg-purple-light com-box">
70 <span> 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> 71 + <img :style="comboximgStyle" src="./src/assets/images/digitalDp/bit_box_2.png">
  72 + <span class="com-box-value" :style="combitnumberStyle" style="left: 53%;color: #FEFEFE;" v-if="hundredBitFalg > 0">{{hundredBit}}</span>
  73 + <span class="com-box-value" :style="combitnumberStyle" style="left: 53%;color: #97969B;" v-if="hundredBitFalg == 0">{{hundredBit}}</span>
74 </span> 74 </span>
75 </div> 75 </div>
76 </el-col> 76 </el-col>
77 <el-col :span="3"> 77 <el-col :span="3">
78 <div class="grid-content bg-purple com-box"> 78 <div class="grid-content bg-purple com-box">
79 <span> 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> 80 + <img :style="comboximgStyle" src="./src/assets/images/digitalDp/bit_box_2.png">
  81 + <span class="com-box-value" :style="combitnumberStyle" style="left: 66.5%;color: #FEFEFE;" v-if="tenBitFalg > 0">{{tenBit}}</span>
  82 + <span class="com-box-value" :style="combitnumberStyle" style="left: 66.5%;color: #97969B;" v-if="tenBitFalg == 0">{{tenBit}}</span>
83 </span> 83 </span>
84 </div> 84 </div>
85 </el-col> 85 </el-col>
86 <el-col :span="3"> 86 <el-col :span="3">
87 <div class="grid-content bg-purple-light com-box"> 87 <div class="grid-content bg-purple-light com-box">
88 <span> 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> 89 + <img :style="comboximgStyle" src="./src/assets/images/digitalDp/bit_box_2.png">
  90 + <span class="com-box-value" :style="combitnumberStyle" style="left: 78%;color: #FEFEFE;" v-if="bitBitFalg > 0">{{bitBit}}</span>
  91 + <span class="com-box-value" :style="combitnumberStyle" style="left: 78%;color: #97969B;" v-if="bitBitFalg == 0">{{bitBit}}</span>
92 </span> 92 </span>
93 </div> 93 </div>
94 </el-col> 94 </el-col>
@@ -39,17 +39,17 @@ export default { @@ -39,17 +39,17 @@ export default {
39 computed: { 39 computed: {
40 comboximgStyle () { 40 comboximgStyle () {
41 return { 41 return {
42 - height: this.titleFontSize * 4.5 + 'px' 42 + height: this.titleFontSize * 4.3 + 'px'
43 } 43 }
44 }, 44 },
45 comTitleimgStyle () { 45 comTitleimgStyle () {
46 return { 46 return {
47 - width: this.titleFontSize * 12 + 'px' 47 + width: this.titleFontSize * 10 + 'px'
48 } 48 }
49 }, 49 },
50 comTitleSizeStyle () { 50 comTitleSizeStyle () {
51 return { 51 return {
52 - fontSize: this.titleFontSize / 1.5 + 'px' 52 + fontSize: this.titleFontSize / 1.6 + 'px'
53 } 53 }
54 }, 54 },
55 comtitlimgStyle () { 55 comtitlimgStyle () {
@@ -67,7 +67,7 @@ export default { @@ -67,7 +67,7 @@ export default {
67 fontSize: this.titleFontSize * 3.5 + 'px', 67 fontSize: this.titleFontSize * 3.5 + 'px',
68 top: '9%', 68 top: '9%',
69 position: 'absolute', 69 position: 'absolute',
70 - fontFamily: 'yjsz' 70 + fontFamily: 'DSDIG'
71 } 71 }
72 }, 72 },
73 comcommaStyle () { 73 comcommaStyle () {
@@ -76,7 +76,7 @@ export default { @@ -76,7 +76,7 @@ export default {
76 color: '#FEFEFE', 76 color: '#FEFEFE',
77 fontSize: this.titleFontSize * 3 + 'px', 77 fontSize: this.titleFontSize * 3 + 'px',
78 top: '28%', 78 top: '28%',
79 - fontFamily: 'yjsz' 79 + fontFamily: 'DSDIG'
80 } 80 }
81 } 81 }
82 82
@@ -153,7 +153,6 @@ export default { @@ -153,7 +153,6 @@ export default {
153 }; 153 };
154 proxy.$http.get("/api-web/bigScreen/digitalBoardData", params, function (res) { 154 proxy.$http.get("/api-web/bigScreen/digitalBoardData", params, function (res) {
155 if(res.success){ 155 if(res.success){
156 - console.log(res.map)  
157 const map = res.map 156 const map = res.map
158 // 左边数 157 // 左边数
159 if(map.leftNumber){ 158 if(map.leftNumber){
@@ -161,7 +160,7 @@ export default { @@ -161,7 +160,7 @@ export default {
161 } 160 }
162 // 右边数 161 // 右边数
163 if(map.rightNumber){ 162 if(map.rightNumber){
164 - that.undeclaredAmountNumber = map.rightNumber 163 + that.undeclaredAmountNumber = that.numberFilter(map.rightNumber,-1)
165 } 164 }
166 that.initChart() 165 that.initChart()
167 that.updateChart() 166 that.updateChart()
@@ -182,6 +181,29 @@ export default { @@ -182,6 +181,29 @@ export default {
182 this.declaredAmountNumber += 10 181 this.declaredAmountNumber += 10
183 this.initChart() 182 this.initChart()
184 }, 2000) 183 }, 2000)
  184 + },
  185 + numberFilter(val,places = 2) {
  186 + //value为传进来的数据 比如 12345.6789
  187 + //places 为需要保留的小数位数 -1为清空小数 0为保留全部位数的小数 传入多少即为多少 不传默认保留两位小数 传进来多少就截取多少
  188 + //数据校验
  189 + if (parseFloat(val).toString() == 'NaN') return '0.00'
  190 + // 将数值截取
  191 + let num = val.toString().split('.')
  192 + let zs = num[0]
  193 + let xs = num[1]
  194 + // 整数部分处理,增加,
  195 + const intPartFormat = zs.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')
  196 + if (xs != null) {
  197 + if(places == 0){
  198 + return intPartFormat + '.' + xs
  199 + }else if(places == -1){
  200 + return intPartFormat
  201 + }else{
  202 + return intPartFormat +'.' + xs.substr(0,places)
  203 + }
  204 + } else {
  205 + return intPartFormat
  206 + }
185 } 207 }
186 208
187 } 209 }
1 <div class="com-container"> 1 <div class="com-container">
2 <div class="com-chart" id="digitalboard_top_ref"> 2 <div class="com-chart" id="digitalboard_top_ref">
3 - <div style="margin-top: 2%" :style="comcontextStyle">  
4 - <el-row> 3 + <div style="margin-bottom: 3%" :style="comcontextStyle">
  4 + <el-row class="width-86">
5 <el-col :span="12"> 5 <el-col :span="12">
6 - <div class="grid-content bg-purple"> 6 + <div class="grid-content bg-purple" style="text-align:left;">
7 <span> 7 <span>
8 <!--title_box_1.png--> 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> 9 + <img :style="comTitleimgStyle" src="./src/assets/images/digitalDp/title-report-today.png">
  10 +<!-- <span class="span-box-title" :style="comTitleSizeStyle">{{leftTitle}}</span>-->
11 </span> 11 </span>
12 </div> 12 </div>
13 </el-col> 13 </el-col>
@@ -18,77 +18,77 @@ @@ -18,77 +18,77 @@
18 </el-col> 18 </el-col>
19 </el-row> 19 </el-row>
20 <el-row> 20 <el-row>
21 - <el-col :span="3"> 21 + <!-- <el-col :span="3">
22 <div class="grid-content bg-purple com-box"> 22 <div class="grid-content bg-purple com-box">
23 <span > 23 <span >
24 - <img :style="comboximgStyle" src="./src/assets/img/bit_box_2.png"> 24 + <img :style="comboximgStyle" src="./src/assets/images/digitalDp/bit_box_2.png">
25 <span class="com-box-value" :style="combitnumberStyle" style="left: 2.5%;color: #FEFEFE;" v-if="mustBitFalg > 0">{{mustBit}}</span> 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> 26 <span class="com-box-value" :style="combitnumberStyle" style="left: 2.5%;color: #97969B;" v-if="mustBitFalg == 0">{{mustBit}}</span>
27 </span> 27 </span>
28 </div> 28 </div>
29 - </el-col> 29 + </el-col>-->
30 <el-col :span="3"> 30 <el-col :span="3">
31 <div class="grid-content bg-purple-light com-box"> 31 <div class="grid-content bg-purple-light com-box">
32 <span> 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> 33 + <img :style="comboximgStyle" src="./src/assets/images/digitalDp/bit_box_2.png">
  34 + <span class="com-box-value" :style="combitnumberStyle" style="left: 3%;color: #FEFEFE;" v-if="millionBitFalg > 0">{{millionBit}}</span>
  35 + <span class="com-box-value" :style="combitnumberStyle" style="left: 3%;color: #97969B;" v-if="millionBitFalg == 0">{{millionBit}}</span>
  36 + <span :style="comcommaStyle" style=" left: 11.5%;" v-if="isOneCommaShow">,</span>
37 </span> 37 </span>
38 </div> 38 </div>
39 </el-col> 39 </el-col>
40 <el-col :span="3"> 40 <el-col :span="3">
41 <div class="grid-content bg-purple com-box"> 41 <div class="grid-content bg-purple com-box">
42 <span> 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> 43 + <img :style="comboximgStyle" src="./src/assets/images/digitalDp/bit_box_2.png">
  44 + <span class="com-box-value" :style="combitnumberStyle" style="left: 15.5%;color: #FEFEFE;" v-if="hundredThousandBitFalg > 0">{{hundredThousandBit}}</span>
  45 + <span class="com-box-value" :style="combitnumberStyle" style="left: 15.5%;color: #97969B;" v-if="hundredThousandBitFalg == 0">{{hundredThousandBit}}</span>
46 </span> 46 </span>
47 </div> 47 </div>
48 </el-col> 48 </el-col>
49 <el-col :span="3"> 49 <el-col :span="3">
50 <div class="grid-content bg-purple-light com-box"> 50 <div class="grid-content bg-purple-light com-box">
51 <span> 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> 52 + <img :style="comboximgStyle" src="./src/assets/images/digitalDp/bit_box_2.png">
  53 + <span class="com-box-value" :style="combitnumberStyle" style="left: 28%;color: #FEFEFE;" v-if="tenThousandBitFalg > 0">{{tenThousandBit}}</span>
  54 + <span class="com-box-value" :style="combitnumberStyle" style="left: 28%;color: #97969B;" v-if="tenThousandBitFalg == 0">{{tenThousandBit}}</span>
55 </span> 55 </span>
56 </div> 56 </div>
57 </el-col> 57 </el-col>
58 <el-col :span="3"> 58 <el-col :span="3">
59 <div class="grid-content bg-purple com-box"> 59 <div class="grid-content bg-purple com-box">
60 <span> 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> 61 + <img :style="comboximgStyle" src="./src/assets/images/digitalDp/bit_box_2.png">
  62 + <span class="com-box-value" :style="combitnumberStyle" style="left: 40.5%;color: #FEFEFE;" v-if="thousandBitFalg > 0">{{thousandBit}}</span>
  63 + <span class="com-box-value" :style="combitnumberStyle" style="left: 40.5%;color: #97969B;" v-if="thousandBitFalg == 0">{{thousandBit}}</span>
  64 + <span :style="comcommaStyle" style="left: 49%;" v-if="isTwoCommaShow">,</span>
65 </span> 65 </span>
66 </div> 66 </div>
67 </el-col> 67 </el-col>
68 <el-col :span="3"> 68 <el-col :span="3">
69 <div class="grid-content bg-purple-light com-box"> 69 <div class="grid-content bg-purple-light com-box">
70 <span> 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> 71 + <img :style="comboximgStyle" src="./src/assets/images/digitalDp/bit_box_2.png">
  72 + <span class="com-box-value" :style="combitnumberStyle" style="left: 53%;color: #FEFEFE;" v-if="hundredBitFalg > 0">{{hundredBit}}</span>
  73 + <span class="com-box-value" :style="combitnumberStyle" style="left: 53%;color: #97969B;" v-if="hundredBitFalg == 0">{{hundredBit}}</span>
74 </span> 74 </span>
75 </div> 75 </div>
76 </el-col> 76 </el-col>
77 <el-col :span="3"> 77 <el-col :span="3">
78 <div class="grid-content bg-purple com-box"> 78 <div class="grid-content bg-purple com-box">
79 <span> 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> 80 + <img :style="comboximgStyle" src="./src/assets/images/digitalDp/bit_box_2.png">
  81 + <span class="com-box-value" :style="combitnumberStyle" style="left: 66.5%;color: #FEFEFE;" v-if="tenBitFalg > 0">{{tenBit}}</span>
  82 + <span class="com-box-value" :style="combitnumberStyle" style="left: 66.5%;color: #97969B;" v-if="tenBitFalg == 0">{{tenBit}}</span>
83 </span> 83 </span>
84 </div> 84 </div>
85 </el-col> 85 </el-col>
86 <el-col :span="3"> 86 <el-col :span="3">
87 <div class="grid-content bg-purple-light com-box"> 87 <div class="grid-content bg-purple-light com-box">
88 <span> 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> 89 + <img :style="comboximgStyle" src="./src/assets/images/digitalDp/bit_box_2.png">
  90 + <span class="com-box-value" :style="combitnumberStyle" style="left: 78%;color: #FEFEFE;" v-if="bitBitFalg > 0">{{bitBit}}</span>
  91 + <span class="com-box-value" :style="combitnumberStyle" style="left: 78%;color: #97969B;" v-if="bitBitFalg == 0">{{bitBit}}</span>
92 </span> 92 </span>
93 </div> 93 </div>
94 </el-col> 94 </el-col>
@@ -39,17 +39,17 @@ export default { @@ -39,17 +39,17 @@ export default {
39 computed: { 39 computed: {
40 comboximgStyle () { 40 comboximgStyle () {
41 return { 41 return {
42 - height: this.titleFontSize * 4.5 + 'px' 42 + height: this.titleFontSize * 4.3 + 'px'
43 } 43 }
44 }, 44 },
45 comTitleimgStyle () { 45 comTitleimgStyle () {
46 return { 46 return {
47 - width: this.titleFontSize * 12 + 'px' 47 + width: this.titleFontSize * 10 + 'px'
48 } 48 }
49 }, 49 },
50 comTitleSizeStyle () { 50 comTitleSizeStyle () {
51 return { 51 return {
52 - fontSize: this.titleFontSize / 1.5 + 'px' 52 + fontSize: this.titleFontSize / 1.6 + 'px'
53 } 53 }
54 }, 54 },
55 comtitlimgStyle () { 55 comtitlimgStyle () {
@@ -67,7 +67,7 @@ export default { @@ -67,7 +67,7 @@ export default {
67 fontSize: this.titleFontSize * 3.5 + 'px', 67 fontSize: this.titleFontSize * 3.5 + 'px',
68 top: '9%', 68 top: '9%',
69 position: 'absolute', 69 position: 'absolute',
70 - fontFamily: 'yjsz' 70 + fontFamily: 'DSDIG'
71 } 71 }
72 }, 72 },
73 comcommaStyle () { 73 comcommaStyle () {
@@ -76,7 +76,7 @@ export default { @@ -76,7 +76,7 @@ export default {
76 color: '#FEFEFE', 76 color: '#FEFEFE',
77 fontSize: this.titleFontSize * 3 + 'px', 77 fontSize: this.titleFontSize * 3 + 'px',
78 top: '28%', 78 top: '28%',
79 - fontFamily: 'yjsz' 79 + fontFamily: 'DSDIG'
80 } 80 }
81 } 81 }
82 82
@@ -153,17 +153,14 @@ export default { @@ -153,17 +153,14 @@ export default {
153 }; 153 };
154 proxy.$http.get("/api-web/bigScreen/digitalBoardData", params, function (res) { 154 proxy.$http.get("/api-web/bigScreen/digitalBoardData", params, function (res) {
155 if(res.success){ 155 if(res.success){
156 - console.log(res.map)  
157 const map = res.map 156 const map = res.map
158 // 左边数 157 // 左边数
159 - console.log(map.leftNumber)  
160 if(map.leftNumber){ 158 if(map.leftNumber){
161 that.declaredAmountNumber = map.leftNumber 159 that.declaredAmountNumber = map.leftNumber
162 } 160 }
163 // 右边数 161 // 右边数
164 - console.log(map.rightNumber)  
165 if(map.rightNumber){ 162 if(map.rightNumber){
166 - that.undeclaredAmountNumber = map.rightNumber 163 + that.undeclaredAmountNumber = that.numberFilter(map.rightNumber,-1)
167 } 164 }
168 that.initChart() 165 that.initChart()
169 that.updateChart() 166 that.updateChart()
@@ -184,6 +181,29 @@ export default { @@ -184,6 +181,29 @@ export default {
184 this.declaredAmountNumber += 10 181 this.declaredAmountNumber += 10
185 this.initChart() 182 this.initChart()
186 }, 2000) 183 }, 2000)
  184 + },
  185 + numberFilter(val,places = 2) {
  186 + //value为传进来的数据 比如 12345.6789
  187 + //places 为需要保留的小数位数 -1为清空小数 0为保留全部位数的小数 传入多少即为多少 不传默认保留两位小数 传进来多少就截取多少
  188 + //数据校验
  189 + if (parseFloat(val).toString() == 'NaN') return '0.00'
  190 + // 将数值截取
  191 + let num = val.toString().split('.')
  192 + let zs = num[0]
  193 + let xs = num[1]
  194 + // 整数部分处理,增加,
  195 + const intPartFormat = zs.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')
  196 + if (xs != null) {
  197 + if(places == 0){
  198 + return intPartFormat + '.' + xs
  199 + }else if(places == -1){
  200 + return intPartFormat
  201 + }else{
  202 + return intPartFormat +'.' + xs.substr(0,places)
  203 + }
  204 + } else {
  205 + return intPartFormat
  206 + }
187 } 207 }
188 208
189 } 209 }
1 -<div class="com-container">  
2 - <div class="com-chart" id="documentcpu_ref"></div> 1 +<div class="com-container" id="documentcpu_ref">
  2 + <LineChart :optionData="optionData" v-if="optionData"></LineChart>
3 </div> 3 </div>
1 export default { 1 export default {
2 name: 'DocumentCpu', 2 name: 'DocumentCpu',
3 template: '', 3 template: '',
4 - components: {}, 4 + components: {
  5 + 'LineChart': Vue.defineAsyncComponent(
  6 + () => myImport('views/zjdaping/components/lineChart/index')
  7 + )
  8 + },
5 data () { 9 data () {
6 return { 10 return {
7 - chartInstance: null, 11 + optionData:'',
8 allData: { 12 allData: {
9 polyline: { 13 polyline: {
10 title: "文书库CPU监控", 14 title: "文书库CPU监控",
@@ -27,7 +31,6 @@ export default { @@ -27,7 +31,6 @@ export default {
27 } 31 }
28 }, 32 },
29 mounted () { 33 mounted () {
30 - this.initChart()  
31 this.getData() 34 this.getData()
32 window.addEventListener('resize', this.screenAdapter) 35 window.addEventListener('resize', this.screenAdapter)
33 this.screenAdapter() 36 this.screenAdapter()
@@ -37,46 +40,7 @@ export default { @@ -37,46 +40,7 @@ export default {
37 clearInterval(this.timerId) 40 clearInterval(this.timerId)
38 }, 41 },
39 methods: { 42 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 - axisLabel: {  
61 - textStyle: {  
62 - color: '#E6E8EB'  
63 - }  
64 - }  
65 - },  
66 - yAxis: {  
67 - type: 'value',  
68 - splitLine: {  
69 - show: false  
70 - },  
71 - axisLabel: {  
72 - textStyle: {  
73 - color: '#E6E8EB'  
74 - }  
75 - }  
76 - }  
77 - }  
78 - this.chartInstance.setOption(initOption)  
79 - }, 43 +
80 async getData () { 44 async getData () {
81 // await this.$http.get() 45 // await this.$http.get()
82 // const { data: ret } = await this.$http.get('documentcpu') 46 // const { data: ret } = await this.$http.get('documentcpu')
@@ -88,17 +52,19 @@ export default { @@ -88,17 +52,19 @@ export default {
88 updateChart () { 52 updateChart () {
89 // 半透明的颜色值 53 // 半透明的颜色值
90 const colorArr1 = [ 54 const colorArr1 = [
91 - 'rgba(11, 168, 44, 0.5)', 55 + 'rgba(35, 255, 255, 0.5)',
92 'rgba(44, 110, 255, 0.5)', 56 'rgba(44, 110, 255, 0.5)',
93 'rgba(22, 242, 217, 0.5)', 57 'rgba(22, 242, 217, 0.5)',
  58 + 'rgba(11, 168, 44, 0.5)',
94 'rgba(254, 33, 30, 0.5)', 59 'rgba(254, 33, 30, 0.5)',
95 'rgba(250, 105, 0, 0.5)' 60 'rgba(250, 105, 0, 0.5)'
96 ] 61 ]
97 - // 全透明的颜色值 62 + // 全透明的颜色值
98 const colorArr2 = [ 63 const colorArr2 = [
99 - 'rgba(11, 168, 44, 0)', 64 + 'rgba(35, 255, 255, 0)',
100 'rgba(44, 110, 255, 0)', 65 'rgba(44, 110, 255, 0)',
101 'rgba(22, 242, 217, 0)', 66 'rgba(22, 242, 217, 0)',
  67 + 'rgba(11, 168, 44, 0)',
102 'rgba(254, 33, 30, 0)', 68 'rgba(254, 33, 30, 0)',
103 'rgba(250, 105, 0, 0)' 69 'rgba(250, 105, 0, 0)'
104 ] 70 ]
@@ -109,6 +75,16 @@ export default { @@ -109,6 +75,16 @@ export default {
109 type: 'line', 75 type: 'line',
110 data: item.data, 76 data: item.data,
111 smooth: true, 77 smooth: true,
  78 + showSymbol:false,
  79 + itemStyle : {
  80 + normal : {
  81 + color:colorArr1[index],//tooltip里的小圆点颜色
  82 + lineStyle:{
  83 + color:colorArr1[index],
  84 + width:2,
  85 + }
  86 + }
  87 + },
112 areaStyle: { 88 areaStyle: {
113 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ 89 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
114 { 90 {
@@ -129,29 +105,90 @@ export default { @@ -129,29 +105,90 @@ export default {
129 }) 105 })
130 const title = this.allData.polyline.title 106 const title = this.allData.polyline.title
131 const unit = this.allData.polyline.unit 107 const unit = this.allData.polyline.unit
132 - const dataOption = { 108 + const seriesData=seriesArr;
  109 + let xAxisData=timeArr;
  110 + this.optionData = {
133 title: { 111 title: {
134 text: title, 112 text: title,
135 left: 'center', 113 left: 'center',
136 - bottom: '8%'  
137 - },  
138 - xAxis: {  
139 - data: timeArr 114 + bottom: '8%',
  115 + textStyle: {
  116 + fontSize: this.titleFontSize*0.5,
  117 + color:'#ffffff'
  118 + }
  119 +
140 }, 120 },
141 - yAxis: {  
142 - name: unit 121 + tooltip: {
  122 + trigger: 'axis',
  123 + backgroundColor:'rgba(50,50,50,0.7)',
  124 + borderColor:"#333",
  125 + textStyle:{
  126 + color:"#fff",
  127 + align:'left'
  128 + }
  129 +
143 }, 130 },
144 legend: { 131 legend: {
145 - data: legendArr 132 + data: legendArr,
  133 + itemHeight:0,//图例圆圈大小设置
  134 + right: '5%',
  135 + top: '5%',
  136 + textStyle: {
  137 + color: '#ffffff',
  138 + fontsize:"12px"
  139 + }
  140 +
146 }, 141 },
147 - dataZoom: {  
148 - show: false,  
149 - startValue: this.startValue,  
150 - endValue: this.endValue 142 + grid: {
  143 + top: '15%',
  144 + left: '3%',
  145 + right: '4%',
  146 + bottom: '20%',
  147 + containLabel: true
151 }, 148 },
152 - series: seriesArr  
153 - }  
154 - this.chartInstance.setOption(dataOption) 149 + xAxis: {
  150 + type: 'category',
  151 + boundaryGap: false,
  152 + data: xAxisData,
  153 +
  154 + axisLine:{
  155 + show:false,//是否显示坐标线
  156 + },
  157 + axisTick: {
  158 + show: false //是否显示坐标刻度
  159 + },
  160 + axisLabel:{
  161 + color:'#ffffff',
  162 + },
  163 +
  164 + },
  165 + yAxis: {
  166 + type: 'value',
  167 + name:unit,
  168 + nameTextStyle:{
  169 + color:'#ffffff',
  170 + padding:[0,0,0,-20]
  171 + },
  172 + axisLabel: {
  173 + color:'#ffffff',
  174 + // formatter: '{value} %'//以百分比显示
  175 + },
  176 + axisLine:{
  177 + show:true,//是否显示坐标线
  178 + },
  179 + splitLine:{
  180 + lineStyle: {
  181 + color:'#0a1b31'
  182 + }
  183 + }
  184 +
  185 + },
  186 + series: seriesData
  187 + };
  188 +
  189 +
  190 +
  191 +
155 }, 192 },
156 screenAdapter () { 193 screenAdapter () {
157 this.titleFontSize = document.getElementById('documentcpu_ref').offsetWidth / 100 * 3.6 194 this.titleFontSize = document.getElementById('documentcpu_ref').offsetWidth / 100 * 3.6
@@ -179,8 +216,7 @@ export default { @@ -179,8 +216,7 @@ export default {
179 } 216 }
180 } 217 }
181 } 218 }
182 - this.chartInstance.setOption(adapterOption)  
183 - this.chartInstance.resize() 219 +
184 }, 220 },
185 startInterval () { 221 startInterval () {
186 if (this.timerId) { 222 if (this.timerId) {
  1 +<div class="monitoring-bar" id="mon-bar">
  2 + <img :style="comtitleImgStyle" src="/vue3/src/assets/images/digitalDp/title-monitoring.png" alt="">
  3 + <BarChart :optionData="optionData" v-if="optionData"></BarChart>
  4 +</div>
  1 +export default {
  2 + name: 'monitoring',
  3 + template: '',
  4 + components: {
  5 + 'BarChart': Vue.defineAsyncComponent(
  6 + () => myImport('views/zjdaping/components/barChart/index')
  7 + )
  8 + },
  9 + data(){
  10 + return {
  11 + domainName:sessionStorage.getItem('domainName'),
  12 + apiUrl:'/api-web/bigScreen/thirtyDayMonitor?kipId=KPI63C5B2E5',
  13 + declareLineData:'',
  14 + ySeriesCommon:[],
  15 + legendData:[],
  16 + ySeriesCommonData:[],
  17 + titleFontSize: 30,
  18 + optionData:''
  19 +
  20 + }
  21 + },
  22 + computed: {
  23 + comtitleImgStyle () {
  24 + return {
  25 + height: this.titleFontSize * 2.1 + 'px'
  26 + }
  27 + }
  28 +
  29 + },
  30 + setup(props, {attrs, slots, emit}) {
  31 + const {proxy} = Vue.getCurrentInstance();
  32 +
  33 + // 挂载完
  34 + Vue.onMounted(() => {
  35 + proxy.screenAdapter();
  36 + $.get(proxy.domainName +proxy.apiUrl,function (res) {
  37 + const data = res;
  38 + if (data && data.data) {
  39 + let monitoringBarData=data.data;
  40 + let legendData=[];
  41 + $.each(monitoringBarData,function (i,v){
  42 + proxy.ySeriesCommonData.unshift(v.value)
  43 + legendData.push(i+1)
  44 + })
  45 + proxy.legendData=legendData
  46 + }
  47 + // proxy.ySeriesCommon=
  48 + proxy.optionInti()
  49 + })
  50 +
  51 + })
  52 + const optionInti=()=>{
  53 + proxy.optionData = {
  54 + title: {
  55 + text: '',
  56 +
  57 + },
  58 + grid: {
  59 + top:'4%',
  60 + left: '3%',
  61 + right: '4%',
  62 + // bottom:'0',
  63 + // bottom: '8%',
  64 + containLabel: true,
  65 + },
  66 + xAxis: {
  67 + type: 'category',
  68 + data: props.legendData,
  69 + axisLine:{
  70 + show:true,//是否显示坐标线
  71 + lineStyle: {
  72 + color:'#0a1b31'//坐标线颜色
  73 + }
  74 + },
  75 + axisTick: {
  76 + show: false //是否显示坐标刻度
  77 + },
  78 + axisLabel:{
  79 + color:'#ffffff',
  80 + fontSize: 12
  81 + },
  82 + },
  83 + yAxis: {
  84 + type: 'value',
  85 + splitLine:{
  86 + show:false,
  87 +
  88 + },
  89 + axisLine:{
  90 + show:true,//是否显示坐标线
  91 + lineStyle: {
  92 + color:'#0a1b31'//坐标线颜色
  93 + }
  94 + },
  95 + axisLabel:{
  96 + color:'#ffffff',
  97 + fontSize:12,
  98 + formatter:function (value,index){
  99 + if(value>=10000 &&value<10000000){
  100 + value=value/10000 +"万";
  101 + }else if(value>=10000000){
  102 + value=value/10000000+"千万";
  103 + }
  104 + return value;
  105 + }
  106 + }
  107 + },
  108 + series: [
  109 + {
  110 + data: proxy.ySeriesCommonData,
  111 + type: 'bar',
  112 + showBackground: true,
  113 + backgroundStyle: {
  114 + color: 'rgba(180, 180, 180, 0.1)'
  115 + },
  116 + barWidth:8,
  117 + itemStyle:{
  118 + normal:{
  119 + barBorderRadius: [3,3,0,0],
  120 + color:new echarts.graphic.LinearGradient(
  121 + 0,0,0,1,
  122 + [
  123 + {offset:0,color:'#3ac9fb'},
  124 + {offset:1,color:'#2a81f3'}
  125 + ]
  126 + )
  127 + // color:"#ff0000"
  128 + }
  129 + }
  130 + }
  131 + ]
  132 + };
  133 + }
  134 + const screenAdapter=()=>{
  135 + proxy.titleFontSize = document.getElementById('mon-bar').offsetWidth / 100 * 3.6
  136 + }
  137 +
  138 +
  139 + return{
  140 + optionInti,
  141 + screenAdapter
  142 + }
  143 + }
  144 +}
1 -<div class="com-container">  
2 - <div class="com-chart" id="responsemonitor_ref"></div> 1 +<div class="com-container" id="responsemonitor_ref">
  2 +
  3 +<!-- <div class="com-chart" id="responsemonitor_ref"></div>-->
  4 + <LineChart :optionData="optionData" v-if="optionData" ref="responseLine"></LineChart>
  5 +
3 </div> 6 </div>
1 export default { 1 export default {
2 name: 'ResponseMonitor', 2 name: 'ResponseMonitor',
3 template: '', 3 template: '',
4 - components: {}, 4 + props:['commandVal'],
  5 + components: {
  6 + 'LineChart': Vue.defineAsyncComponent(
  7 + () => myImport('views/zjdaping/components/lineChart/index')
  8 + )
  9 + },
5 data () { 10 data () {
6 return { 11 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 - }, 12 + domainName:sessionStorage.getItem('domainName'),
  13 + apiUrl:'/api-web/bigScreen/monitoring?function=',
  14 + optionData:'',
  15 + titleFontSize:'30',
  16 + allData: '',
  17 + newCommandVal:this.commandVal,
21 startValue: 0, // 区域缩放的起点值 18 startValue: 0, // 区域缩放的起点值
22 endValue: 6, // 区域缩放的终点值 19 endValue: 6, // 区域缩放的终点值
23 timerId: null // 定时器的标识 20 timerId: null // 定时器的标识
24 } 21 }
25 }, 22 },
  23 + setUp(){
  24 + const allData=ref({});
  25 + // const commandVal=ref();
  26 + // const optionData=ref({});
  27 + return{
  28 + allData,
  29 + // optionData
  30 + // commandVal
  31 + }
  32 + },
26 mounted () { 33 mounted () {
27 - this.initChart()  
28 this.getData() 34 this.getData()
29 window.addEventListener('resize', this.screenAdapter) 35 window.addEventListener('resize', this.screenAdapter)
30 this.screenAdapter() 36 this.screenAdapter()
@@ -33,58 +39,60 @@ export default { @@ -33,58 +39,60 @@ export default {
33 window.removeEventListener('resize', this.screenAdapter) 39 window.removeEventListener('resize', this.screenAdapter)
34 clearInterval(this.timerId) 40 clearInterval(this.timerId)
35 }, 41 },
  42 + watch:{
  43 + commandVal(newValue, oldValue) {
  44 + this.newCommandVal=newValue
  45 + this.getData()
  46 + }
  47 +
  48 + },
36 methods: { 49 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 - axisLabel: {  
55 - textStyle: {  
56 - color: '#E6E8EB'  
57 - } 50 + getData () {
  51 + let that=this;
  52 + // await this.$http.get()
  53 + // const { data: ret } = await proxy.$http.get('bigScreen/monitoring?function=')
  54 + $.get(this.domainName +this.apiUrl+this.newCommandVal,(ret)=>{
  55 + if(ret){
  56 + let dataArr=[];
  57 + let xAxisData='';
  58 + if(ret.concurrence){
  59 + dataArr=ret.concurrence.data.y
  60 + xAxisData=ret.concurrence.data.x
  61 + }else{
  62 + for(let i=0;i<12;i++){
  63 + dataArr.push('0')
58 } 64 }
59 - },  
60 - yAxis: {  
61 - type: 'value',  
62 - splitLine: {  
63 - show: false  
64 - },  
65 - axisLabel: {  
66 - textStyle: {  
67 - color: '#E6E8EB' 65 +
  66 + }
  67 +
  68 + that.allData= {
  69 + polyline: {
  70 + title:"系统响应请求数监控",
  71 + unit: "MB",
  72 + data: {
  73 + name: "请求相应数/秒",
  74 + data: dataArr
68 } 75 }
  76 + },
  77 + xAxis: {
  78 + // today: ["10", "02", "04", "06", "08", "10", "12", "14", "16", "18", "20", "22"]
  79 + today:xAxisData
69 } 80 }
70 } 81 }
  82 + that.updateChart()
  83 + that.startInterval()
71 } 84 }
72 - this.chartInstance.setOption(initOption)  
73 - },  
74 - async getData () {  
75 - // await this.$http.get()  
76 - // const { data: ret } = await this.$http.get('responsemonitor')  
77 - // this.allData = ret  
78 - // console.log(ret)  
79 - this.updateChart()  
80 - this.startInterval() 85 + })
  86 +
81 }, 87 },
82 updateChart () { 88 updateChart () {
  89 + console.log("ddd",this.allData)
83 // 半透明的颜色值 90 // 半透明的颜色值
84 const colorArr1 = [ 91 const colorArr1 = [
85 'rgba(11, 168, 44, 0.5)', 92 'rgba(11, 168, 44, 0.5)',
86 'rgba(44, 110, 255, 0.5)', 93 'rgba(44, 110, 255, 0.5)',
87 'rgba(22, 242, 217, 0.5)', 94 'rgba(22, 242, 217, 0.5)',
  95 + 'rgba(35, 255, 255, 0.5)',
88 'rgba(254, 33, 30, 0.5)', 96 'rgba(254, 33, 30, 0.5)',
89 'rgba(250, 105, 0, 0.5)' 97 'rgba(250, 105, 0, 0.5)'
90 ] 98 ]
@@ -93,61 +101,112 @@ export default { @@ -93,61 +101,112 @@ export default {
93 'rgba(11, 168, 44, 0)', 101 'rgba(11, 168, 44, 0)',
94 'rgba(44, 110, 255, 0)', 102 'rgba(44, 110, 255, 0)',
95 'rgba(22, 242, 217, 0)', 103 'rgba(22, 242, 217, 0)',
  104 + 'rgba(35, 255, 255, 0)',
96 'rgba(254, 33, 30, 0)', 105 'rgba(254, 33, 30, 0)',
97 'rgba(250, 105, 0, 0)' 106 'rgba(250, 105, 0, 0)'
98 ] 107 ]
99 const timeArr = this.allData.xAxis.today 108 const timeArr = this.allData.xAxis.today
100 const seriesData = this.allData.polyline.data.data 109 const seriesData = this.allData.polyline.data.data
101 const seriesName = this.allData.polyline.data.name 110 const seriesName = this.allData.polyline.data.name
102 - console.log(seriesName)  
103 // 图例的数据 111 // 图例的数据
104 - const legendArr = this.allData.polyline.data.data.map(item => {  
105 - return item.name  
106 - }) 112 + // const legendArr = this.allData.polyline.data.map(item => {
  113 + // return item.name
  114 + // })
  115 + const legendArr=[];
  116 + legendArr.push(seriesName);
107 const title = this.allData.polyline.title 117 const title = this.allData.polyline.title
108 - // const unit = this.allData.polyline.unit  
109 - const dataOption = { 118 +
  119 +
  120 + this.optionData = {
110 title: { 121 title: {
111 text: title, 122 text: title,
112 left: '10%', 123 left: '10%',
113 textStyle: { 124 textStyle: {
114 - color: '#F1F2F5' 125 + fontSize: this.titleFontSize*0.5,
  126 + color:'#ffffff'
115 } 127 }
116 }, 128 },
117 - xAxis: {  
118 - data: timeArr 129 + tooltip: {
  130 + trigger: 'axis',
  131 + backgroundColor:'rgba(50,50,50,0.7)',
  132 + borderColor:"#333",
  133 + textStyle:{
  134 + color:"#fff",
  135 + align:'left'
  136 + }
  137 +
119 }, 138 },
120 legend: { 139 legend: {
121 - data: legendArr 140 + data: legendArr,
  141 + itemHeight:0,//图例圆圈大小设置
  142 + top:'10%',
  143 + right:'20%',
  144 + textStyle: {
  145 + color: '#ffffff',
  146 + fontsize:"12px"
  147 + }
  148 +
122 }, 149 },
123 - dataZoom: {  
124 - show: false,  
125 - startValue: this.startValue,  
126 - endValue: this.endValue 150 + grid: {
  151 + left: '3%',
  152 + right: '4%',
  153 + bottom: '3%',
  154 + containLabel: true,
127 }, 155 },
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 - ]) 156 + xAxis: {
  157 + type: 'category',
  158 + boundaryGap: false,
  159 + data: timeArr,
  160 +
  161 + axisLine:{
  162 + show:false,//是否显示坐标线
  163 + },
  164 + axisTick: {
  165 + show: false //是否显示坐标刻度
  166 + },
  167 + axisLabel:{
  168 + color:'#ffffff',
  169 + },
  170 +
  171 + },
  172 + yAxis: {
  173 + axisLabel: {
  174 + color:'#ffffff',
  175 + },
  176 + splitLine:{
  177 + lineStyle: {
  178 + color:'#0a1b31'
145 } 179 }
  180 + },
  181 +
  182 + },
  183 + series: {
  184 + name: seriesName,
  185 + type: 'line',
  186 + data: seriesData,
  187 + smooth: true,
  188 + showSymbol:false,
  189 + color:colorArr1[1],
  190 + areaStyle: {
  191 + color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  192 + {
  193 + offset: 0,
  194 + color: colorArr1[1]
  195 + }, // %0的颜色值
  196 + {
  197 + offset: 1,
  198 + color: colorArr2[1]
  199 + } // 100%的颜色值
  200 + ])
146 } 201 }
147 - ]  
148 - }  
149 - this.chartInstance.setOption(dataOption) 202 + },
  203 + itemStyle:{
  204 + showSymbol:false
  205 + }
  206 + };
  207 +
150 }, 208 },
  209 +
151 screenAdapter () { 210 screenAdapter () {
152 this.titleFontSize = document.getElementById('responsemonitor_ref').offsetWidth / 100 * 3.6 211 this.titleFontSize = document.getElementById('responsemonitor_ref').offsetWidth / 100 * 3.6
153 const adapterOption = { 212 const adapterOption = {
@@ -165,8 +224,7 @@ export default { @@ -165,8 +224,7 @@ export default {
165 } 224 }
166 } 225 }
167 } 226 }
168 - this.chartInstance.setOption(adapterOption)  
169 - this.chartInstance.resize() 227 +
170 }, 228 },
171 startInterval () { 229 startInterval () {
172 if (this.timerId) { 230 if (this.timerId) {
1 <div class="com-container"> 1 <div class="com-container">
2 <div class="com-chart" id="topfive_ref"></div> 2 <div class="com-chart" id="topfive_ref"></div>
3 <div class="topfive-box-title"> 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> 4 + <img :style="comtitleImgStyle" src="./src/assets/images/digitalDp/title-topfive.png" class="topfive-title-img"> <!-- bor1_6 -->
  5 +<!-- <span :style="comtitleTextStyle" class="topfive-title-size">涉税文书TOP5业务量</span>-->
6 </div> 6 </div>
7 </div> 7 </div>
@@ -70,14 +70,22 @@ export default { @@ -70,14 +70,22 @@ export default {
70 show: false 70 show: false
71 } 71 }
72 }, 72 },
73 - yAxis: {  
74 - type: 'category',  
75 - axisLabel: {  
76 - textStyle: {  
77 - color: '#E2E1E6'  
78 - }  
79 - }  
80 - }, 73 + yAxis:
  74 + {
  75 + type: 'category',
  76 + axisLabel: {
  77 + textStyle: {
  78 + color: '#E2E1E6'
  79 + }
  80 + },
  81 + axisLine:{
  82 + show:false,//是否显示坐标线
  83 + },
  84 + axisTick: {
  85 + show: false //是否显示坐标刻度
  86 + },
  87 + },
  88 +
81 series: [ 89 series: [
82 { 90 {
83 type: 'bar', 91 type: 'bar',
@@ -88,10 +96,18 @@ export default { @@ -88,10 +96,18 @@ export default {
88 label: { 96 label: {
89 show: true, 97 show: true,
90 position: 'right', 98 position: 'right',
91 - testStyle: {  
92 - color: 'white'  
93 - } 99 +
  100 + textStyle: {
  101 + color: 'rgba(0,0,0,0)'
  102 + },
  103 + height:26,
  104 + width: 26,
  105 + offset:[-10,0],
  106 + backgroundColor: {
  107 + image: '/vue3/src/assets/images/digitalDp/pro-bg.png'
  108 + },
94 }, 109 },
  110 +
95 itemStyle: { 111 itemStyle: {
96 // 颜色渐变 指明渐变方向,指明不同百分比之下颜色的值 LinearGradient(x1, y1, x2, y2, []) 112 // 颜色渐变 指明渐变方向,指明不同百分比之下颜色的值 LinearGradient(x1, y1, x2, y2, [])
97 color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [ 113 color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [
@@ -122,7 +138,6 @@ export default { @@ -122,7 +138,6 @@ export default {
122 kpiIdValue: that.kpiIdValue 138 kpiIdValue: that.kpiIdValue
123 }; 139 };
124 proxy.$http.get("/api-web/bigScreen/topFive", params, function (res) { 140 proxy.$http.get("/api-web/bigScreen/topFive", params, function (res) {
125 - console.log(res.data)  
126 if(res.success){ 141 if(res.success){
127 that.allData = res.data 142 that.allData = res.data
128 that.updateChart() 143 that.updateChart()
@@ -139,9 +154,24 @@ export default { @@ -139,9 +154,24 @@ export default {
139 return item.value 154 return item.value
140 }) 155 })
141 const dataOption = { 156 const dataOption = {
142 - yAxis: { 157 + yAxis: [{
143 data: sellerNames 158 data: sellerNames
144 }, 159 },
  160 + {
  161 + data:sellerValues,
  162 + axisLine:{
  163 + show:false,//是否显示坐标线
  164 + },
  165 + axisTick: {
  166 + show: false //是否显示坐标刻度
  167 + },
  168 + axisLabel: {
  169 + textStyle: {
  170 + color: '#ffffff'
  171 + }
  172 + },
  173 + }
  174 + ],
145 series: [ 175 series: [
146 { 176 {
147 data: sellerValues 177 data: sellerValues
1 <div class="screen-container" id="bgscreen_ref"> 1 <div class="screen-container" id="bgscreen_ref">
2 <header class="screen-header" :style="screenheaderStyle"> 2 <header class="screen-header" :style="screenheaderStyle">
3 <div> 3 <div>
4 - <img style="width: 100%" src="/vue3/src/assets/img/header_border_dark.png" alt=""> 4 + <img style="width: 100%" src="/vue3/src/assets/images/digitalDp/head-bg.png" alt="">
5 </div> 5 </div>
6 - <span class="title" :style="titleStyle">浙江省电子税务局系统监控大屏</span> 6 +<!-- <span class="title" :style="titleStyle">浙江省电子税务局系统监控大屏</span>-->
7 <div class="title-left"> 7 <div class="title-left">
8 - <img src="/vue3/src/assets/img/time-icon.png" :style="timelogoStyle" class="timelog"> 8 + <img src="/vue3/src/assets/images/digitalDp/icon-time.png" :style="timelogoStyle" class="timelog">
9 <span :style="datetimeStyle" >{{dateTime}}</span> 9 <span :style="datetimeStyle" >{{dateTime}}</span>
10 </div> 10 </div>
11 </header> 11 </header>
@@ -17,37 +17,73 @@ @@ -17,37 +17,73 @@
17 </div> 17 </div>
18 <!-- 本月业务量 折线图--> 18 <!-- 本月业务量 折线图-->
19 <div id="left-bottom"> 19 <div id="left-bottom">
20 - <TrendPolyline></TrendPolyline> 20 +<!-- <TrendPolyline></TrendPolyline>-->
  21 + <DeclareLine :colorData="colorData"></DeclareLine>
21 </div> 22 </div>
22 </section> 23 </section>
23 24
24 <section class="screen-middle"> 25 <section class="screen-middle">
25 - <div id="middle-top">  
26 - <!-- 今日已申报数 图板 -->  
27 - <DigitalBoardTop></DigitalBoardTop>  
28 - </div>  
29 - <div id="middle-center">  
30 - <!-- 本月已申报数 图板 -->  
31 - <DigitalBoardDown></DigitalBoardDown> 26 + <div class="middle-left">
  27 + <div class="middle-left-declare">
  28 + <div id="middle-top">
  29 + <!-- 今日已申报数 图板 -->
  30 + <DigitalBoardTop></DigitalBoardTop>
  31 + </div>
  32 + <div id="middle-center">
  33 + <!-- 本月已申报数 图板 -->
  34 + <DigitalBoardDown></DigitalBoardDown>
  35 + </div>
  36 + </div>
  37 + <div class="middle-left-declare-rate">
  38 + <div id="middle-bottom">
  39 + <!-- 本月申报率折线图 -->
  40 + <DeclarePolyline></DeclarePolyline>
  41 + </div>
  42 + </div>
  43 +
  44 +
32 </div> 45 </div>
33 - <div id="middle-bottom">  
34 - <!-- 本月申报率折线图 -->  
35 - <DeclarePolyline></DeclarePolyline> 46 + <div class="middle-right">
  47 + <div class="declare-top">
  48 + <!--本月应申报-->
  49 + <DeclareReport></DeclareReport>
  50 + </div>
  51 + <div class="deduction-bottom">
  52 + <!-- 本月扣款情况 图板 -->
  53 + <Deduction></Deduction>
  54 + </div>
36 </div> 55 </div>
  56 +
37 </section> 57 </section>
38 58
39 <section class="screen-right"> 59 <section class="screen-right">
40 <div id="right-top"> 60 <div id="right-top">
41 - <!-- 本月扣款情况 图板 -->  
42 - <Deduction></Deduction> 61 + <!--访问监控 柱状图-->
  62 + <Monitoring></Monitoring>
43 </div> 63 </div>
44 <div id="right-center"> 64 <div id="right-center">
45 <!-- 业务可用性 折线 --> 65 <!-- 业务可用性 折线 -->
46 <Availability></Availability> 66 <Availability></Availability>
47 </div> 67 </div>
48 <div id="right-bottom"> 68 <div id="right-bottom">
  69 + <div class="cpu-dropdown">
  70 + <el-dropdown @command="handleCommand" >
  71 + <span class="el-dropdown-link">
  72 + {{commandName}}
  73 + <i class="icon-arrow"></i>
  74 + </span>
  75 + <template #dropdown>
  76 + <el-dropdown-menu class="cpuDropdown">
  77 + <el-dropdown-item command="max">最大值</el-dropdown-item>
  78 + <el-dropdown-item command="avg">平均值</el-dropdown-item>
  79 + <el-dropdown-item command="min">最小值</el-dropdown-item>
  80 +
  81 + </el-dropdown-menu>
  82 + </template>
  83 + </el-dropdown>
  84 + </div>
49 <!-- 系统响应监控 折线 --> 85 <!-- 系统响应监控 折线 -->
50 - <ResponseMonitor></ResponseMonitor> 86 + <ResponseMonitor :commandVal="commandVal" ref="responseRef"></ResponseMonitor>
51 </div> 87 </div>
52 </section> 88 </section>
53 </div> 89 </div>
@@ -67,7 +103,7 @@ @@ -67,7 +103,7 @@
67 </div> 103 </div>
68 <div id="bottom-four"> 104 <div id="bottom-four">
69 <!-- 带宽占用监控 折线 --> 105 <!-- 带宽占用监控 折线 -->
70 - <BandwidthCpu></BandwidthCpu> 106 + <BandwidthCpu :commandVal="commandVal" ref="bandwidthRef" ></BandwidthCpu>
71 </div> 107 </div>
72 </section> 108 </section>
73 </div> 109 </div>
@@ -20,8 +20,17 @@ export default { @@ -20,8 +20,17 @@ export default {
20 'DocumentCpu': Vue.defineAsyncComponent( 20 'DocumentCpu': Vue.defineAsyncComponent(
21 () => myImport('views/dp/components/documentCpu/index') 21 () => myImport('views/dp/components/documentCpu/index')
22 ), 22 ),
23 - 'TrendPolyline': Vue.defineAsyncComponent(  
24 - () => myImport('views/dp/components/trendPolyline/index') 23 + // 'TrendPolyline': Vue.defineAsyncComponent(
  24 + // () => myImport('views/dp/components/trendPolyline/index')
  25 + // ),
  26 + 'DeclareLine': Vue.defineAsyncComponent(
  27 + () => myImport('views/zjdaping/components/declareLine/index')
  28 + ),
  29 + 'Monitoring': Vue.defineAsyncComponent(
  30 + () => myImport('views/dp/components/monitoring/index')
  31 + ),
  32 + 'DeclareReport': Vue.defineAsyncComponent(
  33 + () => myImport('views/dp/components/declareReport/index')
25 ), 34 ),
26 'BusinessVolume': Vue.defineAsyncComponent( 35 'BusinessVolume': Vue.defineAsyncComponent(
27 () => myImport('views/dp/components/businessVolume/index') 36 () => myImport('views/dp/components/businessVolume/index')
@@ -42,7 +51,10 @@ export default { @@ -42,7 +51,10 @@ export default {
42 data () { 51 data () {
43 return { 52 return {
44 titleFontSize: 30, 53 titleFontSize: 30,
45 - dateTime: '00-00-00 00:00:00' 54 + dateTime: '00-00-00 00:00:00',
  55 + colorData:['#0D45FE','#00FFB9','#A35CFF'],
  56 + commandName:'最大值',
  57 + commandVal:'max'
46 } 58 }
47 }, 59 },
48 computed: { 60 computed: {
@@ -75,6 +87,21 @@ export default { @@ -75,6 +87,21 @@ export default {
75 }, 87 },
76 timeFormat (number) { 88 timeFormat (number) {
77 return number.length == 1 ? ('0' + number) : number 89 return number.length == 1 ? ('0' + number) : number
  90 + },
  91 + handleCommand(command){
  92 + console.log("newVal",command)
  93 + this.commandVal=command;
  94 + console.log("ne",this.commandVal)
  95 + if(command=='max'){
  96 + this.commandName="最大值";
  97 + }else if(command=='min'){
  98 + this.commandName="最小值";
  99 + }else{
  100 + this.commandName="平均值";
  101 + }
  102 + // this.$refs.responseRef.getData();
  103 + // this.$refs.bandwidthRef.getData();
  104 +
78 } 105 }
79 }, 106 },
80 mounted () { 107 mounted () {
@@ -6,20 +6,24 @@ @@ -6,20 +6,24 @@
6 <div class="asset-overview yxqk"> 6 <div class="asset-overview yxqk">
7 <div class="asset-overview-tip"> 7 <div class="asset-overview-tip">
8 <div class="tip yxqk_tips_div"> 8 <div class="tip yxqk_tips_div">
9 - <p @mouseover="showTip" @mouseleave="hideTip"> <i class="tip-i"></i> <span>资产总量</span></p> 9 + <div class="asset-tip">
  10 + <p @mouseover="showTip" @mouseleave="hideTip"> <i class="tip-i"></i> <span>资产总量</span></p>
  11 + <!--悬浮提示信息-->
  12 + <div class="yxqk_tips_container" v-show="isShow" >
  13 + <ul class="items" id="yxjk_resource_type_count_tips" >
  14 + <div id="yxjk_resource_type_count_tips_tmpl" class="tipDiv">
  15 + <li v-for="(item,index) in assetOverviewDataAll">
  16 + <i :class="'icon-'+item.code"></i>
  17 + <span >{{item.name}}:{{item.num}}台</span>
  18 + </li>
  19 + </div>
  20 + </ul>
  21 + </div>
  22 + </div>
  23 +
10 <b id="yxjk_total_resource">{{totalData}}</b> 24 <b id="yxjk_total_resource">{{totalData}}</b>
11 25
12 - <!--悬浮提示信息-->  
13 - <div class="yxqk_tips_container" v-show="isShow" >  
14 - <ul class="items" id="yxjk_resource_type_count_tips" >  
15 - <div id="yxjk_resource_type_count_tips_tmpl" class="tipDiv">  
16 - <li v-for="(item,index) in assetOverviewDataAll">  
17 - <i :class="'icon-'+item.code"></i>  
18 - <span >{{item.resTypeName}}:{{item.num}}台</span>  
19 - </li>  
20 - </div>  
21 - </ul>  
22 - </div> 26 +
23 27
24 </div> 28 </div>
25 <div id="all_resource_status" :class="['yxqk__pie',pieClass]"> 29 <div id="all_resource_status" :class="['yxqk__pie',pieClass]">
@@ -38,7 +42,7 @@ @@ -38,7 +42,7 @@
38 <li :class="'list-'+index" v-for="(item,index) in assetOverviewData"> 42 <li :class="'list-'+index" v-for="(item,index) in assetOverviewData">
39 <img :src="'src/assets/images/zjdp/'+item.code+'.png'"> 43 <img :src="'src/assets/images/zjdp/'+item.code+'.png'">
40 <div style="margin-left: .02rem;"> 44 <div style="margin-left: .02rem;">
41 - <p>{{item.resTypeName}}</p> 45 + <p>{{item.name}}</p>
42 <div class="listNum"> 46 <div class="listNum">
43 <b>{{item.num}}</b><span></span> 47 <b>{{item.num}}</b><span></span>
44 </div> 48 </div>
@@ -20,7 +20,8 @@ export default { @@ -20,7 +20,8 @@ export default {
20 // 挂载完 20 // 挂载完
21 Vue.onMounted(() => { 21 Vue.onMounted(() => {
22 $.get(proxy.domainName +proxy.apiUrl,function (res) { 22 $.get(proxy.domainName +proxy.apiUrl,function (res) {
23 - const data = res.map; 23 + const data = res;
  24 + // const data = res.object;
24 //状态 25 //状态
25 if(data && data.healthStatus){ 26 if(data && data.healthStatus){
26 if(data.healthStatus == '2'){//问题 27 if(data.healthStatus == '2'){//问题
@@ -34,19 +35,19 @@ export default { @@ -34,19 +35,19 @@ export default {
34 proxy.healthStatusName=data.healthStatusName; 35 proxy.healthStatusName=data.healthStatusName;
35 } 36 }
36 //资源总量 37 //资源总量
37 - if(data && data.total){  
38 - proxy.totalData=data.total; 38 + if(data && data.count){
  39 + proxy.totalData=data.count;
39 } 40 }
40 //分类总量 41 //分类总量
41 - if(data && data.data){ 42 + if(data && data.object){
42 // //华为云、阿里云、Vmware、小型机分区、存储、路由器资源总量统计量 43 // //华为云、阿里云、Vmware、小型机分区、存储、路由器资源总量统计量
43 // var tipsResTypes = ['HUAWEI_CLOUD','ALI_CLOUD','VIRTUALIZATION','HOST_MINICOMPUTER_PARTITION','STORAGE','NETHARDWARE_ROUTER']; 44 // var tipsResTypes = ['HUAWEI_CLOUD','ALI_CLOUD','VIRTUALIZATION','HOST_MINICOMPUTER_PARTITION','STORAGE','NETHARDWARE_ROUTER'];
44 let huawei = 0, ali = 0, vmware = 0, minicomputer_partition = 0, storage = 0, router = 0; 45 let huawei = 0, ali = 0, vmware = 0, minicomputer_partition = 0, storage = 0, router = 0;
45 const showData = [];//展示的类型 46 const showData = [];//展示的类型
46 //华为云、阿里云、Vmware、小型机分区、存储、路由器资源总量统计量 47 //华为云、阿里云、Vmware、小型机分区、存储、路由器资源总量统计量
47 // 遍历过滤出以上6种类型的统计,因为是固定6种,所以先写死 48 // 遍历过滤出以上6种类型的统计,因为是固定6种,所以先写死
48 - $.each(data.data,function (i,v) {  
49 - const resType = v.resType; 49 + $.each(data.object,function (i,v) {
  50 + const resType = v.code;
50 if(resType.indexOf("HUAWEI_CLOUD_PLAT") >= 0 ) { huawei += v.num; } 51 if(resType.indexOf("HUAWEI_CLOUD_PLAT") >= 0 ) { huawei += v.num; }
51 if(resType.indexOf("ALI_CLOUD_PLAT") >= 0 ) { ali += v.num; } 52 if(resType.indexOf("ALI_CLOUD_PLAT") >= 0 ) { ali += v.num; }
52 if(resType.indexOf("VIRTUALIZATION_VMWARE") >= 0 ) { vmware += v.num; } 53 if(resType.indexOf("VIRTUALIZATION_VMWARE") >= 0 ) { vmware += v.num; }
@@ -54,16 +55,16 @@ export default { @@ -54,16 +55,16 @@ export default {
54 if(resType.indexOf('HUAWEI_CLOUD_STORAGE') >= 0) { storage += v.num; } 55 if(resType.indexOf('HUAWEI_CLOUD_STORAGE') >= 0) { storage += v.num; }
55 if(resType == 'NETHARDWARE_ROUTER' ) { router += v.num; } 56 if(resType == 'NETHARDWARE_ROUTER' ) { router += v.num; }
56 }); 57 });
57 - showData.push({resTypeName:"华为云",num:huawei,code:'HUAWEI_CLOUD_PLAT'});  
58 - showData.push({resTypeName:"阿里云",num:ali,code:'ALI_CLOUD_PLAT'});  
59 - showData.push({resTypeName:"Vmware",num:vmware,code:'VIRTUALIZATION_VMWARE'});  
60 - showData.push({resTypeName:"小型机分区",num:minicomputer_partition,code:'HOST_MINICOMPUTER'});  
61 - showData.push({resTypeName:"存储",num:storage,code:'STORAGE'});  
62 - showData.push({resTypeName:"路由器",num:router,code:'NETHARDWARE_ROUTER'}); 58 + showData.push({name:"华为云",num:huawei,code:'HUAWEI_CLOUD_PLAT'});
  59 + showData.push({name:"阿里云",num:ali,code:'ALI_CLOUD_PLAT'});
  60 + showData.push({name:"Vmware",num:vmware,code:'VIRTUALIZATION_VMWARE'});
  61 + showData.push({name:"小型机分区",num:minicomputer_partition,code:'HOST_MINICOMPUTER'});
  62 + showData.push({name:"存储",num:storage,code:'STORAGE'});
  63 + showData.push({name:"路由器",num:router,code:'NETHARDWARE_ROUTER'});
63 //类型统计 64 //类型统计
64 65
65 proxy.assetOverviewData=showData; 66 proxy.assetOverviewData=showData;
66 - proxy.assetOverviewDataAll=data.data; 67 + proxy.assetOverviewDataAll=data.object;
67 68
68 //悬浮提示 69 //悬浮提示
69 70
1 -<div class="barChart">  
2 - <div id="bar-echart" style="width:100%;height:225px;"></div>  
3 -</div>  
  1 +<div id="bar-echart" style="width:100%;height:100%;"></div>
1 export default { 1 export default {
2 name: 'barChart', 2 name: 'barChart',
3 template: '', 3 template: '',
  4 + props:['optionData'],
4 components: { 5 components: {
5 }, 6 },
6 data(){ 7 data(){
7 return { 8 return {
8 domainName:'http://192.168.0.159:8080/api-web', 9 domainName:'http://192.168.0.159:8080/api-web',
  10 + chartId:'bar-echart'
9 11
10 } 12 }
11 }, 13 },
@@ -13,11 +15,10 @@ export default { @@ -13,11 +15,10 @@ export default {
13 const {proxy} = Vue.getCurrentInstance(); 15 const {proxy} = Vue.getCurrentInstance();
14 // 挂载完 16 // 挂载完
15 Vue.onMounted(() => { 17 Vue.onMounted(() => {
16 - const chartDom = document.getElementById('bar-echart'); 18 + const chartDom=proxy.$el
17 const myChart = echarts.init(chartDom); 19 const myChart = echarts.init(chartDom);
18 - let option;  
19 -  
20 - option = { 20 + let option=props.optionData;
  21 + /*option = {
21 title: { 22 title: {
22 text: '近30天访问量', 23 text: '近30天访问量',
23 x:'center', 24 x:'center',
@@ -29,7 +30,7 @@ export default { @@ -29,7 +30,7 @@ export default {
29 }, 30 },
30 xAxis: { 31 xAxis: {
31 type: 'category', 32 type: 'category',
32 - data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], 33 + data: props.legendData,
33 axisLine:{ 34 axisLine:{
34 show:true,//是否显示坐标线 35 show:true,//是否显示坐标线
35 lineStyle: { 36 lineStyle: {
@@ -58,35 +59,27 @@ export default { @@ -58,35 +59,27 @@ export default {
58 }, 59 },
59 axisLabel:{ 60 axisLabel:{
60 color:'#ffffff', 61 color:'#ffffff',
61 - fontSize:12  
62 - },  
63 - },  
64 - series: [  
65 - {  
66 - data: [120, 200, 150, 80, 70, 110, 130],  
67 - type: 'bar',  
68 - showBackground: true,  
69 - backgroundStyle: {  
70 - color: 'rgba(180, 180, 180, 0.2)'  
71 - },  
72 - itemStyle:{  
73 - normal:{  
74 - barBorderRadius: [3,3,0,0],  
75 - color:new echarts.graphic.LinearGradient(  
76 - 0,0,0,1,  
77 - [  
78 - {offset:0,color:'#3ac9fb'},  
79 - {offset:1,color:'#2a81f3'}  
80 - ]  
81 - )  
82 - // color:"#ff0000" 62 + fontSize:12,
  63 + formatter:function (value,index){
  64 + if(value>=10000 &&value<10000000){
  65 + value=value/10000 +"万";
  66 + }else if(value>=10000000){
  67 + value=value/10000000+"千万";
83 } 68 }
  69 + return value;
84 } 70 }
85 } 71 }
86 - ]  
87 - }; 72 + },
  73 + series: props.seriesData
  74 + };*/
88 75
  76 +
  77 + window.addEventListener('resize', function () {
  78 +
  79 + myChart.resize();
  80 + });
89 option && myChart.setOption(option); 81 option && myChart.setOption(option);
  82 +
90 }) 83 })
91 return{ 84 return{
92 85
@@ -21,7 +21,7 @@ @@ -21,7 +21,7 @@
21 </div> 21 </div>
22 </div> 22 </div>
23 <div class="declare-today-num"> 23 <div class="declare-today-num">
24 - <Digital :numm="56631" :numLen="7"></Digital> 24 + <Digital v-if="declaredToday" :numm="declaredToday" :numLen="7"></Digital>
25 </div> 25 </div>
26 </div> 26 </div>
27 <div class="declare-today"> 27 <div class="declare-today">
@@ -33,28 +33,22 @@ @@ -33,28 +33,22 @@
33 </div> 33 </div>
34 </div> 34 </div>
35 <div class="declare-today-num"> 35 <div class="declare-today-num">
36 - <Digital :numm="5640397" :numLen="7"></Digital> 36 + <Digital v-if="declaredMonth" :numm="declaredMonth" :numLen="7"></Digital>
37 </div> 37 </div>
38 </div> 38 </div>
39 <div class="declare-today"> 39 <div class="declare-today">
40 <div class="declare-title"> 40 <div class="declare-title">
41 <div class="declare-bg volume-today"></div> 41 <div class="declare-bg volume-today"></div>
42 </div> 42 </div>
43 - <div class="volume-today-container">  
44 - <span class="volume-text">网络发票</span>  
45 - <span class="volume-proportion" :style="styleVolume"></span>  
46 - <span class="volume-num">{{volumeNum}}</span> 43 + <div v-if="volumdData" class="volume-today-container" v-for="(item,index) in volumeData">
  44 + <span class="volume-text">{{item.name}}</span>
  45 + <span :class="['volume-proportion',{'volume-proportion-doc':index==1,'volume-proportion-net':index==2}]" :style="item.styleVolume"></span>
  46 + <span class="volume-num">{{item.num1}}</span>
47 </div> 47 </div>
48 - <div class="volume-today-container">  
49 - <span class="volume-text">涉税文书</span>  
50 - <span class="volume-proportion volume-proportion-doc" :style="styleVolumeDoc"></span>  
51 - <span class="volume-num num-doc">{{volumeNumDoc}}</span>  
52 - </div>  
53 - <div class="volume-today-container">  
54 - <span class="volume-text">网上申报</span>  
55 - <span class="volume-proportion volume-proportion-net" :style="styleVolumeNet"></span>  
56 - <span class="volume-num num-net">{{volumeNumNet}}</span> 48 + <div class="volume-today-container" v-else style="justify-content: center;">
  49 + <span>暂无数据</span>
57 </div> 50 </div>
  51 +
58 </div> 52 </div>
59 </div> 53 </div>
60 <div class="declare-right"> 54 <div class="declare-right">
@@ -8,15 +8,20 @@ export default { @@ -8,15 +8,20 @@ export default {
8 }, 8 },
9 data(){ 9 data(){
10 return { 10 return {
11 - domainName:'http://192.168.0.245:8180/api-web', 11 + domainName:sessionStorage.getItem('domainName'),
  12 + apiUrl:'/api-web/bigScreen/digitalBoardData',//本月已申报/未申报
  13 + apiUrl1:'/api-web/bigScreen/findPortfolio',//今日业务量
  14 + volumeData:'',//业务量数据
12 declareData:'', 15 declareData:'',
13 reportable:0,//本月应申报 16 reportable:0,//本月应申报
14 reportableToday:0,//本日申报未导入 17 reportableToday:0,//本日申报未导入
  18 + declaredToday:0,//今日已申报数
15 reportableMonth:0, //本月未申报数 19 reportableMonth:0, //本月未申报数
16 - declarationRate:0.94,//申报率  
17 - volumeNumDoc:0,//涉税文书业务量  
18 - volumeNumNet:0,//网上申报业务量  
19 - volumeNum:0, //业务量数 20 + declaredMonth:0,//本月已申报数
  21 + declarationRate:0.00,//申报率
  22 + // volumeNumDoc:0,//涉税文书业务量
  23 + // volumeNumNet:0,//网上申报业务量
  24 + // volumeNum:0, //业务量数
20 styleVolume:'',//业务量style样式 25 styleVolume:'',//业务量style样式
21 styleVolumeDoc:'', 26 styleVolumeDoc:'',
22 styleVolumeNet:'', 27 styleVolumeNet:'',
@@ -29,41 +34,64 @@ export default { @@ -29,41 +34,64 @@ export default {
29 const {proxy} = Vue.getCurrentInstance(); 34 const {proxy} = Vue.getCurrentInstance();
30 // 挂载完 35 // 挂载完
31 Vue.onMounted(() => { 36 Vue.onMounted(() => {
32 - proxy.reportable=proxy.numberFilter('1006105',-1);  
33 - proxy.reportableToday=proxy.numberFilter('1006506',-1);  
34 - proxy.reportableMonth=proxy.numberFilter('2848',-1); 37 + $.get(proxy.domainName +proxy.apiUrl+'?kipValue1=KPIDA0ACBBF&kipValue2=KPIDA0ACBBD',function (res) {
  38 + const data = res;
  39 + if(data && data.map){
  40 + let reportableMonth=data.map.rightNumber;
  41 + proxy.declaredMonth=data.map.leftNumber;
  42 + proxy.reportableMonth=proxy.numberFilter(reportableMonth,-1);
35 43
36 - proxy.volumeNum=proxy.numberFilter('5765404',-1);  
37 - proxy.volumeNumDoc=proxy.numberFilter('5458044',-1);  
38 - proxy.volumeNumNet=proxy.numberFilter('698423',-1); 44 + let reportable=parseInt(data.map.rightNumber)+parseInt(data.map.leftNumber);
  45 + proxy.reportable=proxy.numberFilter(reportable,-1);
  46 + let declarationRate=(parseInt(proxy.declaredMonth) /reportable).toFixed(2);
  47 + proxy.opactiyNumMath=declarationRate*proxy.opactiyNumTotal
39 48
40 - proxy.opactiyNumMath=proxy.declarationRate*proxy.opactiyNumTotal 49 + if(proxy.opactiyNumMath>proxy.opactiyNumTotal-1){
  50 + proxy.opactiyNum=Math.floor(proxy.opactiyNumMath);
41 51
42 - if(proxy.opactiyNumMath>proxy.opactiyNumTotal-1){  
43 - proxy.opactiyNum=Math.floor(proxy.opactiyNumMath); 52 + }else{
  53 + proxy.opactiyNum=Math.ceil(proxy.opactiyNumMath);
44 54
45 - }else{  
46 - proxy.opactiyNum=Math.ceil(proxy.opactiyNumMath); 55 + }
  56 + proxy.declarationRate=declarationRate*100+'%';
47 57
48 - }  
49 - proxy.declarationRate=proxy.declarationRate*100+'%'; 58 + }
50 59
51 - let num1=5765404;  
52 - let num2=5458044;  
53 - let num3=698423; 60 + })
54 61
55 - proxy.styleVolume='width:'+proxy.eleWidthNum(num1,num1,num2,num3)+'px'  
56 - proxy.styleVolumeDoc='width:'+proxy.eleWidthNum(num2,num1,num2,num3)+'px'  
57 - proxy.styleVolumeNet='width:'+proxy.eleWidthNum(num3,num1,num2,num3)+'px' 62 + $.get(proxy.domainName +proxy.apiUrl+'?kipValue1=KPIDA0ACBBS&kipValue2=KPIDA0ACBBE',function (res) {
  63 + const data = res;
  64 + if(data && data.map){
  65 + let reportableToday=data.map.rightNumber;
  66 + proxy.declaredToday=data.map.leftNumber;
  67 + proxy.reportableToday=proxy.numberFilter(reportableToday,-1);
  68 + }
  69 + })
58 70
  71 + //业务量
  72 + $.get(proxy.domainName +proxy.apiUrl1,function (res) {
  73 + const data = res;
  74 + if(data && data.data){
  75 + let volumeData=data.data;
  76 + let maxVal=0;
  77 + $.each(volumeData,function (i,v){
  78 + v.num1=proxy.numberFilter(v.num,-1)
  79 + if(v.num>maxVal){
  80 + maxVal=v.num;
  81 + }
  82 + })
  83 + $.each(volumeData,function (i,v){
  84 + v.styleVolume='width:'+proxy.eleWidthNum(v.num,maxVal)+'px'
  85 + })
  86 + proxy.volumeData=volumeData;
59 87
  88 + }
60 89
  90 + })
61 91
62 }) 92 })
63 - const eleWidthNum=(num,num1,num2,num3)=>{  
64 - let maxNum = num1>num2?(num1>num3?num1:num3):(num2>num3?num2:num3); 93 + const eleWidthNum=(num,maxNum)=>{
65 let widthNum=Math.ceil((num*150)/maxNum) 94 let widthNum=Math.ceil((num*150)/maxNum)
66 - console.log("aaa",num,widthNum)  
67 let widthData=0; 95 let widthData=0;
68 if(widthNum!='' && widthNum!=null && widthNum!=undefined){ 96 if(widthNum!='' && widthNum!=null && widthNum!=undefined){
69 widthData=widthNum; 97 widthData=widthNum;
1 <div class="declare-lineChart"> 1 <div class="declare-lineChart">
2 - <LineChart :yAxisData="yAxisCommon" :seriesData="ySeriesCommon" :chartId="chartId"></LineChart> 2 + <LineChart :optionData="optionData" v-if="optionData"></LineChart>
3 </div> 3 </div>