Merge branch 'master' of http://192.168.1.136:82/monitor_v3/hg-monitor-web
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 | } |
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 { |
hg-monitor-web-zj/src/main/resources/static/vue3/src/assets/images/digitalDp/bg-deduction.png
0 → 100644

8.44 KB
hg-monitor-web-zj/src/main/resources/static/vue3/src/assets/images/digitalDp/bg_backgroud.png
0 → 100644

418 KB
hg-monitor-web-zj/src/main/resources/static/vue3/src/assets/images/digitalDp/bit_box_2.png
0 → 100644

1.29 KB
hg-monitor-web-zj/src/main/resources/static/vue3/src/assets/images/digitalDp/box_title_bykk_zj_1.png
0 → 100644

8.29 KB

52.8 KB
hg-monitor-web-zj/src/main/resources/static/vue3/src/assets/images/digitalDp/header_border_dark.png
0 → 100644

26.5 KB
hg-monitor-web-zj/src/main/resources/static/vue3/src/assets/images/digitalDp/icon-arrow.png
0 → 100644

201 Bytes
hg-monitor-web-zj/src/main/resources/static/vue3/src/assets/images/digitalDp/icon-rate.png
0 → 100644

9.56 KB
hg-monitor-web-zj/src/main/resources/static/vue3/src/assets/images/digitalDp/icon-time.png
0 → 100644

457 Bytes
hg-monitor-web-zj/src/main/resources/static/vue3/src/assets/images/digitalDp/icon-ysb.png
0 → 100644

627 Bytes

1.23 KB

354 Bytes
hg-monitor-web-zj/src/main/resources/static/vue3/src/assets/images/digitalDp/title-availability.png
0 → 100644

8.14 KB
hg-monitor-web-zj/src/main/resources/static/vue3/src/assets/images/digitalDp/title-bg-no.png
0 → 100644

1.62 KB
hg-monitor-web-zj/src/main/resources/static/vue3/src/assets/images/digitalDp/title-bg.png
0 → 100644

354 Bytes
hg-monitor-web-zj/src/main/resources/static/vue3/src/assets/images/digitalDp/title-monitoring.png
0 → 100644

7.38 KB

3.62 KB
hg-monitor-web-zj/src/main/resources/static/vue3/src/assets/images/digitalDp/title-report-today.png
0 → 100644

3.43 KB
hg-monitor-web-zj/src/main/resources/static/vue3/src/assets/images/digitalDp/title-report.png
0 → 100644

2.04 KB
hg-monitor-web-zj/src/main/resources/static/vue3/src/assets/images/digitalDp/title-topfive.png
0 → 100644

12.5 KB
hg-monitor-web-zj/src/main/resources/static/vue3/src/assets/images/digitalDp/title-volume.png
0 → 100644

7.49 KB

596 Bytes

495 Bytes

615 Bytes

457 Bytes
@@ -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 |
hg-monitor-web-zj/src/main/resources/static/vue3/src/views/analysis/components/add/index.html
0 → 100644
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> |
hg-monitor-web-zj/src/main/resources/static/vue3/src/views/analysis/components/add/index.js
0 → 100644
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="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"> <!– bor1_6 –> |
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 | 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 | 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 |
hg-monitor-web-zj/src/main/resources/static/vue3/src/views/dp/components/declareReport/index.html
0 → 100644
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> |
hg-monitor-web-zj/src/main/resources/static/vue3/src/views/dp/components/declareReport/index.js
0 → 100644
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"> {{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"> {{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"> <!– bor1_6 –>--> | ||
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"> {{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 | }, |
hg-monitor-web-zj/src/main/resources/static/vue3/src/views/dp/components/digitalBoardDown/index.html
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 | 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) { |
hg-monitor-web-zj/src/main/resources/static/vue3/src/views/dp/components/monitoring/index.js
0 → 100644
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 | 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; |
-
Please register or login to post a comment