system-phone 3.1.1 → 3.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/.gradle/buildOutputCleanup/cache.properties +2 -2
  2. package/SystemPhone.iml +8 -8
  3. package/build/dev-server.js +141 -141
  4. package/build/webpack.base.conf.js +82 -82
  5. package/build.gradle +27 -27
  6. package/gradle/wrapper/gradle-wrapper.properties +5 -5
  7. package/gradlew +183 -183
  8. package/gradlew.bat +100 -100
  9. package/index.html +21 -21
  10. package/package.json +1 -1
  11. package/src/App.vue +25 -25
  12. package/src/Util.js +415 -415
  13. package/src/assets//346/215/242/350/241/250/347/273/264/344/277/256.png +0 -0
  14. package/src/assets//351/200/232/347/224/250/350/203/214/346/231/257/345/233/276.png +0 -0
  15. package/src/components/AloneLoadParams.vue +26 -26
  16. package/src/components/AlreadyService.vue +193 -193
  17. package/src/components/AttendManage.vue +534 -534
  18. package/src/components/LoadAppdata.vue +38 -38
  19. package/src/components/LoginApp.vue +732 -732
  20. package/src/components/LoginAppNew.vue +587 -587
  21. package/src/components/LoginAppV4.vue +716 -716
  22. package/src/components/ModifyPassWord.vue +216 -216
  23. package/src/components/NavBottom.vue +117 -117
  24. package/src/components/NavBottomV.vue +141 -141
  25. package/src/components/NavBottomVVV.vue +185 -185
  26. package/src/components/OnlineManage.vue +256 -256
  27. package/src/components/PhoneAllInfo.vue +68 -68
  28. package/src/components/PhoneChangemeterInfo.vue +116 -116
  29. package/src/components/PhoneImageInfo.vue +102 -102
  30. package/src/components/PhoneInfoTable.vue +39 -39
  31. package/src/components/PhoneMeterInfo.vue +132 -132
  32. package/src/components/PhoneRepairInfo.vue +146 -146
  33. package/src/components/PhoneSafeInfo.vue +101 -101
  34. package/src/components/PhoneSellInfo.vue +148 -148
  35. package/src/components/PhoneSellInfoLite.vue +112 -112
  36. package/src/components/PhoneUser.vue +202 -202
  37. package/src/components/PhoneUserDetil.vue +70 -70
  38. package/src/components/PhoneUserFind.vue +138 -138
  39. package/src/components/RightTree.vue +217 -217
  40. package/src/components/SystemSetUp.vue +332 -332
  41. package/src/components/TabBarPhone.vue +81 -81
  42. package/src/components/Test.vue +14 -14
  43. package/src/components/ToolsPage.vue +199 -199
  44. package/src/components/UploadManage.vue +194 -194
  45. package/src/components/gaomi/NavBottomV.vue +223 -223
  46. package/src/components/gaomi/NavBottomVVVV.vue +210 -210
  47. package/src/components/gaomi/Scroller.vue +63 -63
  48. package/src/components/gaomi/SystemSetUp.vue +186 -186
  49. package/src/components/gaomi/ToolsPage.vue +168 -168
  50. package/src/components/idea/feedBack.vue +150 -150
  51. package/src/components/idea/feedbackAdd.vue +366 -366
  52. package/src/components/info/ConfigInfo.vue +122 -122
  53. package/src/components/info/FindUserInfo.vue +157 -157
  54. package/src/components/info/InfoTable.vue +37 -37
  55. package/src/components/iot/InstructMessage.vue +313 -313
  56. package/src/components/iot/IotBaseInfo.vue +97 -97
  57. package/src/components/iot/IotMeterInfo.vue +77 -77
  58. package/src/components/iot/iotMonitoringMain.vue +501 -501
  59. package/src/components/online/ApplyOnline.vue +581 -581
  60. package/src/components/online/BJZhongRan/ApplyOnline.vue +600 -600
  61. package/src/components/screen/ChargeContentPage.vue +656 -656
  62. package/src/components/screen/ContentPage.vue +611 -611
  63. package/src/components/screen/GongdanContentPage.vue +149 -149
  64. package/src/components/screen/ListCountItem.vue +93 -93
  65. package/src/components/screen/ModuleTitle.vue +48 -48
  66. package/src/components/screen/SafeOrderContentPage.vue +440 -440
  67. package/src/components/screen/SecurityCheckItem.vue +50 -50
  68. package/src/components/screen/TotalItem.vue +76 -76
  69. package/src/components/screen/TotalUserNumber.vue +77 -77
  70. package/src/components/screen/WorkOrderItem.vue +51 -51
  71. package/src/components/screen/WorkOrderRightDownItem.vue +103 -103
  72. package/src/components/screen/WorkOrderRightItem.vue +115 -115
  73. package/src/components/userinfo/paymentQuery.vue +189 -189
  74. package/src/components/userinfo/queryFile.vue +190 -190
  75. package/src/components/wasm.vue +18 -18
  76. package/src/expandcssAndroid.less +521 -521
  77. package/src/filiale/yulinyuchuan/AlreadyService.vue +194 -194
  78. package/src/filiale/yulinyuchuan/AttendManage.vue +537 -537
  79. package/src/filiale/yulinyuchuan/LoginApp.vue +741 -741
  80. package/src/filiale/yulinyuchuan/OnlineManage.vue +256 -256
  81. package/src/filiale/yulinyuchuan/SystemSetUp.vue +332 -332
  82. package/src/filiale/yulinyuchuan/UploadManage.vue +195 -195
  83. package/src/filiale/yulinyuchuan/systemphonegrid.js +9 -9
  84. package/src/filiale/yulinyuchuanTY/AlreadyService.vue +194 -0
  85. package/src/filiale/yulinyuchuanTY/AttendManage.vue +537 -0
  86. package/src/filiale/yulinyuchuanTY/LoginApp.vue +741 -0
  87. package/src/filiale/yulinyuchuanTY/OnlineManage.vue +256 -0
  88. package/src/filiale/yulinyuchuanTY/SystemSetUp.vue +332 -0
  89. package/src/filiale/yulinyuchuanTY/UploadManage.vue +195 -0
  90. package/src/filiale/yulinyuchuanTY/systemphonegrid.js +9 -0
  91. package/src/index.js +9 -9
  92. package/src/main.js +38 -38
  93. package/src/plugins/const.js +404 -404
  94. package/src/plugins/vue-py.js +37 -37
  95. package/src/stores/AppData.js +79 -79
  96. package/src/systemphone-gaomi.js +105 -105
  97. package/src/systemphone.js +60 -60
  98. package/src/systemphonegrid.js +185 -185
  99. package/src/util/LdapHelper.js +75 -75
  100. package/static/const.js +404 -404
  101. package/static/layui/font/iconfont.svg +554 -554
  102. package/static/vue-py.js +37 -37
  103. package/static/wasm_exec.js +465 -465
@@ -1,611 +1,611 @@
1
- <template>
2
- <div style="height: 100%;background: url('src/assets/images/back.png')">
3
- <div style="background-color: darkblue;height: 100%" >
4
- <div class="total-number">
5
- <total-user-number :total-data="totalData[0]" :user-total-icon="userTotalIcon1"></total-user-number>
6
- </div>
7
- <div class="gas-nature-number" id="gasNatureNumberLeft" style="margin-top: 15px"></div>
8
- <div style="height: 5%">
9
- <module-title :module-tile-icon="juMingIcon"
10
- :title="juMingTitle"
11
- :font="juMingFont">
12
- </module-title>
13
- </div>
14
- <div id="juMing"></div>
15
- </div>
16
- <div style="background-color: darkblue;height: 100%">
17
- <div class="total-number">
18
- <total-user-number :total-data="totalData[1]" :user-total-icon="userTotalIcon2"></total-user-number>
19
- </div>
20
- <div class="gas-nature-number" id="gasNatureNumberRight"></div>
21
- <div id="nJuMing"></div>
22
- </div>
23
- <!-- <div class="gas-nature-number" id="gasNatureNumberRight"></div>-->
24
- </div>
25
- </template>
26
- <script>
27
- import * as echarts from 'echarts';
28
- export default {
29
- title:"content-page",
30
- data(){
31
- return {
32
- juMingIcon:require('src/assets/images/居民增长分析.png'),
33
- juMingTitle:'居民用户增长分析',
34
- juMingFont:6,
35
-
36
- userTotalIcon1:require('../../assets/images/居民用户.png'),
37
- userTotalIcon2:require('../../assets/images/非居民用户.png'),
38
- residengtMonth:['1月','2月','3月','4月','5月','6月'],
39
- nResidentMonth:['1月','2月','3月','4月','5月','6月'],
40
-
41
- totalData:[{title:'居民用户',number:65412},{title:'非居民用户',number:5412}],
42
- juMingIncrementData:[8000,8530,9560,10860,13000,13265],
43
- nJuMingIncrementData:[456,789,100,1023,1500,1689],
44
- juMjingNatureData:[{name: "生活用户", value: 487696}, {name: "壁挂锅炉", value: 99806}],
45
- nJumingNatureData:[
46
- { value: 335, name: "商业" },
47
- { value: 310, name: "公福" },
48
- { value: 274, name: "小区自备锅炉" },
49
- { value: 235, name: "福利院校" },
50
- { value: 235, name: "集中供热" },
51
- ],
52
- }
53
- },
54
- ready(){
55
- this.getJuMingPie()
56
- this.getJuMingLine()
57
- this.getNJuMingPie()
58
- this.getNJuMingLine()
59
- },
60
- methods:{
61
- getNJuMingLine(){
62
- let myChart = echarts.init(document.getElementById('nJuMing'));
63
- let option = {
64
- tooltip: {
65
- trigger: "axis",
66
- axisPointer: {
67
- lineStyle: {
68
- color: "#dddc6b"
69
- }
70
- }
71
- },
72
- grid: {
73
- left: "10",
74
- top: "30",
75
- right: "10",
76
- bottom: "10",
77
- containLabel: true
78
- },
79
-
80
- xAxis: [
81
- {
82
- type: "category",
83
- boundaryGap: false,
84
- axisLabel: {
85
- textStyle: {
86
- color: "rgba(255,255,255,.6)",
87
- fontSize: 12
88
- }
89
- },
90
- axisLine: {
91
- lineStyle: {
92
- color: "rgba(255,255,255,.2)"
93
- }
94
- },
95
-
96
- data: this.nResidentMonth
97
- },
98
- {
99
- axisPointer: { show: false },
100
- axisLine: { show: false },
101
- position: "bottom",
102
- offset: 20
103
- }
104
- ],
105
-
106
- yAxis: [
107
- {
108
- type: "value",
109
- axisTick: { show: false },
110
- axisLine: {
111
- lineStyle: {
112
- color: "rgba(255,255,255,.1)"
113
- }
114
- },
115
- axisLabel: {
116
- textStyle: {
117
- color: "rgba(255,255,255,.6)",
118
- fontSize: 12
119
- }
120
- },
121
-
122
- splitLine: {
123
- lineStyle: {
124
- color: "rgba(255,255,255,.1)"
125
- }
126
- }
127
- }
128
- ],
129
- series: [
130
- {
131
- name: "非居民用户",
132
- type: "line",
133
- smooth: true,
134
- symbol: "circle",
135
- symbolSize: 5,
136
- showSymbol: false,
137
- lineStyle: {
138
- normal: {
139
- color: "#00d887",
140
- width: 2
141
- }
142
- },
143
- areaStyle: {
144
- normal: {
145
- color: new echarts.graphic.LinearGradient(
146
- 0,
147
- 0,
148
- 0,
149
- 1,
150
- [
151
- {
152
- offset: 0,
153
- color: "rgba(0, 216, 135, 0.4)"
154
- },
155
- {
156
- offset: 0.8,
157
- color: "rgba(0, 216, 135, 0.1)"
158
- }
159
- ],
160
- false
161
- ),
162
- shadowColor: "rgba(0, 0, 0, 0.1)"
163
- }
164
- },
165
- itemStyle: {
166
- normal: {
167
- color: "#00d887",
168
- borderColor: "rgba(221, 220, 107, .1)",
169
- borderWidth: 12
170
- }
171
- },
172
- data: this.nJuMingIncrementData
173
- }
174
- ]
175
- };
176
-
177
- // 使用刚指定的配置项和数据显示图表。
178
- myChart.setOption(option);
179
- window.addEventListener("resize", function() {
180
- myChart.resize();
181
- });
182
- },
183
- getJuMingLine(){
184
- console.log(document.getElementById('juMing'))
185
- let myChart = echarts.init(document.getElementById('juMing'));
186
- let option = {
187
- tooltip: {
188
- trigger: "axis",
189
- axisPointer: {
190
- lineStyle: {
191
- color: "#dddc6b"
192
- }
193
- }
194
- },
195
- grid: {
196
- left: "10",
197
- top: "30",
198
- right: "10",
199
- bottom: "10",
200
- containLabel: true
201
- },
202
-
203
- xAxis: [
204
- {
205
- type: "category",
206
- boundaryGap: false,
207
- axisLabel: {
208
- textStyle: {
209
- color: "rgba(255,255,255,.6)",
210
- fontSize: 12
211
- }
212
- },
213
- axisLine: {
214
- lineStyle: {
215
- color: "rgba(255,255,255,.2)"
216
- }
217
- },
218
-
219
- data: JSON.parse(JSON.stringify(this.residengtMonth))
220
- },
221
- {
222
- axisPointer: { show: false },
223
- axisLine: { show: false },
224
- position: "bottom",
225
- offset: 20
226
- }
227
- ],
228
-
229
- yAxis: [
230
- {
231
- type: "value",
232
- axisTick: { show: false },
233
- axisLine: {
234
- lineStyle: {
235
- color: "rgba(255,255,255,.1)"
236
- }
237
- },
238
- axisLabel: {
239
- textStyle: {
240
- color: "rgba(255,255,255,.6)",
241
- fontSize: 12
242
- }
243
- },
244
-
245
- splitLine: {
246
- lineStyle: {
247
- color: "rgba(255,255,255,.1)"
248
- }
249
- }
250
- }
251
- ],
252
- series: [
253
- {
254
- name: "居民用户",
255
- type: "line",
256
- smooth: true,
257
- symbol: "circle",
258
- symbolSize: 5,
259
- showSymbol: false,
260
- lineStyle: {
261
- normal: {
262
- color: "#0184d5",
263
- width: 2
264
- }
265
- },
266
- areaStyle: {
267
- normal: {
268
- color: new echarts.graphic.LinearGradient(
269
- 0,
270
- 0,
271
- 0,
272
- 1,
273
- [
274
- {
275
- offset: 0,
276
- color: "rgba(1, 132, 213, 0.4)"
277
- },
278
- {
279
- offset: 0.8,
280
- color: "rgba(1, 132, 213, 0.1)"
281
- }
282
- ],
283
- false
284
- ),
285
- shadowColor: "rgba(0, 0, 0, 0.1)"
286
- }
287
- },
288
- itemStyle: {
289
- normal: {
290
- color: "#0184d5",
291
- borderColor: "rgba(221, 220, 107, .1)",
292
- borderWidth: 12
293
- }
294
- },
295
- data:this.juMingIncrementData
296
- }
297
- ]
298
- };
299
-
300
- // 使用刚指定的配置项和数据显示图表。
301
- myChart.setOption(option);
302
- window.addEventListener("resize", function() {
303
- myChart.resize();
304
- });
305
- },
306
- getNJuMingPie(){
307
- // let data = JSON.parse(JSON.stringify(this.nJumingNatureData))
308
- let arr = [{normal:{color:'#2A70EF'}},
309
- {normal:{color:'#288ED5'}},
310
- {normal:{color:'#48ABC8'}},
311
- {normal:{color:'#A0E66C'}},
312
- {normal:{color:'#F6CC5F'}},
313
- {normal:{color:'#EE7A2F'}}]
314
- let data = this.nJumingNatureData
315
- data.forEach((item,index) => {
316
- item.itemStyle = arr[index]
317
- })
318
- console.log(data)
319
- let colorList = ['#2A70EF','#288ED5','#48ABC8','#A0E66C','#F6CC5F','#EE7A2F','#EE7A2F']
320
- let myChart = echarts.init(document.getElementById('gasNatureNumberRight'));
321
- let option = {
322
- legend: {
323
- // selectedMode: false, // 取消图例上的点击事件
324
- type: "plain",
325
- icon: "circle",
326
- orient: "vertical",
327
- left: "40%",
328
- top: "23%",
329
- align: "left",
330
- itemGap: 15,
331
- itemWidth: 10, // 设置宽度
332
- itemHeight: 10, // 设置高度
333
- symbolKeepAspect: false,
334
- textStyle: {
335
- color: "#fff",
336
- rich: {
337
- name: {
338
- verticalAlign: "right",
339
- align: "left",
340
- width: 80,
341
- fontSize: 12,
342
- },
343
- value: {
344
- align: "left",
345
- width: 60,
346
- fontSize: 12,
347
- },
348
- count: {
349
- align: "left",
350
- width: 30,
351
- fontSize: 12,
352
- }
353
- },
354
- },
355
- data: data.map((item) => item.name),
356
- formatter: function (name) {
357
- let className = "upRate";
358
- let rateIcon = "▲";
359
- if (data && data.length) {
360
- let sum = 0
361
- data.forEach(item => {
362
- sum += item.value
363
- });
364
- for (var i = 0; i < data.length; i++) {
365
- if (name === data[i].name) {
366
-
367
- return (
368
- "{name| " +
369
- name +
370
- "} " +
371
- "{value| " +
372
- data[i].value +
373
- "} " +
374
- "{count| " +
375
- ((data[i].value/sum)*100).toFixed(2) +
376
- "%} "
377
- );
378
- }
379
- }
380
- }
381
- },
382
- },
383
- visualMap: {
384
- show: false,
385
- min: 80,
386
- max: 600,
387
- inRange: {
388
- colorLightness: [0, 1],
389
- },
390
- },
391
- color: [
392
- "#F6CC5F",
393
- "rgb(0, 228, 196)"
394
- ],
395
- series: [
396
- {
397
- name: "非居民用户数",
398
- type: "pie",
399
- radius: "55%",
400
- center: ["20%", "50%"],
401
- data: data,
402
- label: {
403
- normal: {
404
- show: false,
405
- position: "center",
406
- formatter: "{text|{c}}\n{b}",
407
- }
408
- },
409
- itemStyle: {
410
- normal: {
411
- color: function(params) {
412
- return colorList[params.dataIndex]
413
- }
414
- }
415
- },
416
- // roseType: "angle",
417
- },
418
- ],
419
- };
420
- myChart.setOption(option);
421
- window.addEventListener("resize", function() {
422
- myChart.resize();
423
- });
424
- },
425
- getJuMingPie(){
426
- // console.log('5555',this.$echarts)
427
- // console.log(document.getElementById('gasNatureNumberLeft'))
428
- let myChart = echarts.init(document.getElementById('gasNatureNumberLeft'));
429
- let data = JSON.parse(JSON.stringify(this.juMjingNatureData))
430
- let xdata = [];
431
- data.forEach(item => {
432
- xdata.push(item.name)
433
- })
434
- // // data = [{name: "生活用户", value: 487696}, {name: "壁挂锅炉", value: 99806}]
435
- let option = {
436
- title: {
437
- // text: "{header1| 名称与占比}" + "{header2| 数量}" + "{header3| 比例}",
438
- textAlign: "left",
439
- left: "49%",
440
- top: "30%",
441
- textStyle: {
442
- color: "#ccc",
443
- rich: {
444
- header1: {
445
- width: 200,
446
- fontSize: 15,
447
- },
448
- header2: {
449
- width: 120,
450
- fontSize: 15,
451
- },
452
- header3: {
453
- fontSize: 15,
454
- },
455
- },
456
- },
457
- },
458
- // tooltip: {
459
- // trigger: "item",
460
- // formatter: "{a} <br/>{b} : {c} ({d}%)",
461
- // },
462
- legend: {
463
- // selectedMode: false, // 取消图例上的点击事件
464
- orient: "vartical",
465
- x: "left",
466
- top: "60%",
467
- left: "center",
468
- bottom: "0%",
469
- data: xdata,
470
- itemWidth: 10,
471
- itemHeight: 10,
472
- itemGap: 20,
473
- textStyle: {
474
- color: "#fff",
475
- rich: {
476
- name: {
477
- verticalAlign: "right",
478
- align: "left",
479
- width: 80,
480
- fontSize: 14,
481
- },
482
- value: {
483
- align: "left",
484
- width: 70,
485
- fontSize: 14,
486
- },
487
- count: {
488
- align: "left",
489
- width: 50,
490
- fontSize: 14,
491
- }
492
- },
493
- },
494
- formatter: function (name) {
495
- let className = "upRate";
496
- let rateIcon = "▲";
497
- if (data && data.length) {
498
- let sum = 0
499
- data.forEach(item => {
500
- sum += item.value
501
- });
502
- for (var i = 0; i < data.length; i++) {
503
- if (name === data[i].name) {
504
- return (
505
- "{name| " +
506
- name +
507
- "}" +
508
- "{value| " +
509
- data[i].value +
510
- "}" +
511
- "{count| " +
512
- ((data[i].value/sum)*100).toFixed(2) +
513
- "%} "
514
- );
515
- }
516
- }
517
- }
518
- },
519
- },
520
- graphic:{
521
- type:'image',
522
- left:'center',
523
- top:'25%',
524
- style:{
525
- image:require('../../assets/images/居民用户.png'),
526
- width:40,
527
- height:35,
528
-
529
- }
530
- },
531
- color: [
532
- "rgb(0, 228, 196)",
533
- "#F6CC5F"
534
- ],
535
- series: [
536
- {
537
- name: "居民用户",
538
- type: "pie",
539
- clockWise: true,
540
- radius: ["40%", "55%"],
541
- center: ["50%", "30%"],
542
- data: data,
543
- label: {
544
- normal: {
545
- show: false,
546
- },
547
- emphasis: {
548
- show: false,
549
- textStyle: {
550
- fontSize: "12",
551
- },
552
- },
553
- },
554
- },
555
- {
556
- name: "",
557
- type: "pie",
558
- clockWise: true,
559
- hoverAnimation: false,
560
- radius: [39, "30%"],
561
- center: ["25%", "50%"]
562
- },
563
- ],
564
- };
565
- myChart.setOption(option);
566
- window.addEventListener("resize", function() {
567
- myChart.resize({
568
- width:100
569
- });
570
- });
571
- },
572
- }
573
- }
574
- </script>
575
- <style lang="less">
576
- #juMing{
577
- width: 100%;
578
- height: 50%;
579
- div{
580
- height: 0%;
581
- }
582
- }
583
- #nJuMing{
584
- width: 100%;
585
- height: 50%;
586
- div{
587
- height: 0%;
588
- }
589
- }
590
- </style>
591
- <style lang="less" scoped>
592
- #nJuMing{
593
- width: 100%;
594
- height: 50%;
595
- }
596
- #juMing{
597
- width: 100%;
598
- height: 50%;
599
- div{
600
- height: 10%;
601
- }
602
- }
603
- .total-number{
604
- width: 100%;
605
- height: 6%;
606
- }
607
- .gas-nature-number{
608
- width: 100%;
609
- height: 38%;
610
- }
611
- </style>
1
+ <template>
2
+ <div style="height: 100%;background: url('src/assets/images/back.png')">
3
+ <div style="background-color: darkblue;height: 100%" >
4
+ <div class="total-number">
5
+ <total-user-number :total-data="totalData[0]" :user-total-icon="userTotalIcon1"></total-user-number>
6
+ </div>
7
+ <div class="gas-nature-number" id="gasNatureNumberLeft" style="margin-top: 15px"></div>
8
+ <div style="height: 5%">
9
+ <module-title :module-tile-icon="juMingIcon"
10
+ :title="juMingTitle"
11
+ :font="juMingFont">
12
+ </module-title>
13
+ </div>
14
+ <div id="juMing"></div>
15
+ </div>
16
+ <div style="background-color: darkblue;height: 100%">
17
+ <div class="total-number">
18
+ <total-user-number :total-data="totalData[1]" :user-total-icon="userTotalIcon2"></total-user-number>
19
+ </div>
20
+ <div class="gas-nature-number" id="gasNatureNumberRight"></div>
21
+ <div id="nJuMing"></div>
22
+ </div>
23
+ <!-- <div class="gas-nature-number" id="gasNatureNumberRight"></div>-->
24
+ </div>
25
+ </template>
26
+ <script>
27
+ import * as echarts from 'echarts';
28
+ export default {
29
+ title:"content-page",
30
+ data(){
31
+ return {
32
+ juMingIcon:require('src/assets/images/居民增长分析.png'),
33
+ juMingTitle:'居民用户增长分析',
34
+ juMingFont:6,
35
+
36
+ userTotalIcon1:require('../../assets/images/居民用户.png'),
37
+ userTotalIcon2:require('../../assets/images/非居民用户.png'),
38
+ residengtMonth:['1月','2月','3月','4月','5月','6月'],
39
+ nResidentMonth:['1月','2月','3月','4月','5月','6月'],
40
+
41
+ totalData:[{title:'居民用户',number:65412},{title:'非居民用户',number:5412}],
42
+ juMingIncrementData:[8000,8530,9560,10860,13000,13265],
43
+ nJuMingIncrementData:[456,789,100,1023,1500,1689],
44
+ juMjingNatureData:[{name: "生活用户", value: 487696}, {name: "壁挂锅炉", value: 99806}],
45
+ nJumingNatureData:[
46
+ { value: 335, name: "商业" },
47
+ { value: 310, name: "公福" },
48
+ { value: 274, name: "小区自备锅炉" },
49
+ { value: 235, name: "福利院校" },
50
+ { value: 235, name: "集中供热" },
51
+ ],
52
+ }
53
+ },
54
+ ready(){
55
+ this.getJuMingPie()
56
+ this.getJuMingLine()
57
+ this.getNJuMingPie()
58
+ this.getNJuMingLine()
59
+ },
60
+ methods:{
61
+ getNJuMingLine(){
62
+ let myChart = echarts.init(document.getElementById('nJuMing'));
63
+ let option = {
64
+ tooltip: {
65
+ trigger: "axis",
66
+ axisPointer: {
67
+ lineStyle: {
68
+ color: "#dddc6b"
69
+ }
70
+ }
71
+ },
72
+ grid: {
73
+ left: "10",
74
+ top: "30",
75
+ right: "10",
76
+ bottom: "10",
77
+ containLabel: true
78
+ },
79
+
80
+ xAxis: [
81
+ {
82
+ type: "category",
83
+ boundaryGap: false,
84
+ axisLabel: {
85
+ textStyle: {
86
+ color: "rgba(255,255,255,.6)",
87
+ fontSize: 12
88
+ }
89
+ },
90
+ axisLine: {
91
+ lineStyle: {
92
+ color: "rgba(255,255,255,.2)"
93
+ }
94
+ },
95
+
96
+ data: this.nResidentMonth
97
+ },
98
+ {
99
+ axisPointer: { show: false },
100
+ axisLine: { show: false },
101
+ position: "bottom",
102
+ offset: 20
103
+ }
104
+ ],
105
+
106
+ yAxis: [
107
+ {
108
+ type: "value",
109
+ axisTick: { show: false },
110
+ axisLine: {
111
+ lineStyle: {
112
+ color: "rgba(255,255,255,.1)"
113
+ }
114
+ },
115
+ axisLabel: {
116
+ textStyle: {
117
+ color: "rgba(255,255,255,.6)",
118
+ fontSize: 12
119
+ }
120
+ },
121
+
122
+ splitLine: {
123
+ lineStyle: {
124
+ color: "rgba(255,255,255,.1)"
125
+ }
126
+ }
127
+ }
128
+ ],
129
+ series: [
130
+ {
131
+ name: "非居民用户",
132
+ type: "line",
133
+ smooth: true,
134
+ symbol: "circle",
135
+ symbolSize: 5,
136
+ showSymbol: false,
137
+ lineStyle: {
138
+ normal: {
139
+ color: "#00d887",
140
+ width: 2
141
+ }
142
+ },
143
+ areaStyle: {
144
+ normal: {
145
+ color: new echarts.graphic.LinearGradient(
146
+ 0,
147
+ 0,
148
+ 0,
149
+ 1,
150
+ [
151
+ {
152
+ offset: 0,
153
+ color: "rgba(0, 216, 135, 0.4)"
154
+ },
155
+ {
156
+ offset: 0.8,
157
+ color: "rgba(0, 216, 135, 0.1)"
158
+ }
159
+ ],
160
+ false
161
+ ),
162
+ shadowColor: "rgba(0, 0, 0, 0.1)"
163
+ }
164
+ },
165
+ itemStyle: {
166
+ normal: {
167
+ color: "#00d887",
168
+ borderColor: "rgba(221, 220, 107, .1)",
169
+ borderWidth: 12
170
+ }
171
+ },
172
+ data: this.nJuMingIncrementData
173
+ }
174
+ ]
175
+ };
176
+
177
+ // 使用刚指定的配置项和数据显示图表。
178
+ myChart.setOption(option);
179
+ window.addEventListener("resize", function() {
180
+ myChart.resize();
181
+ });
182
+ },
183
+ getJuMingLine(){
184
+ console.log(document.getElementById('juMing'))
185
+ let myChart = echarts.init(document.getElementById('juMing'));
186
+ let option = {
187
+ tooltip: {
188
+ trigger: "axis",
189
+ axisPointer: {
190
+ lineStyle: {
191
+ color: "#dddc6b"
192
+ }
193
+ }
194
+ },
195
+ grid: {
196
+ left: "10",
197
+ top: "30",
198
+ right: "10",
199
+ bottom: "10",
200
+ containLabel: true
201
+ },
202
+
203
+ xAxis: [
204
+ {
205
+ type: "category",
206
+ boundaryGap: false,
207
+ axisLabel: {
208
+ textStyle: {
209
+ color: "rgba(255,255,255,.6)",
210
+ fontSize: 12
211
+ }
212
+ },
213
+ axisLine: {
214
+ lineStyle: {
215
+ color: "rgba(255,255,255,.2)"
216
+ }
217
+ },
218
+
219
+ data: JSON.parse(JSON.stringify(this.residengtMonth))
220
+ },
221
+ {
222
+ axisPointer: { show: false },
223
+ axisLine: { show: false },
224
+ position: "bottom",
225
+ offset: 20
226
+ }
227
+ ],
228
+
229
+ yAxis: [
230
+ {
231
+ type: "value",
232
+ axisTick: { show: false },
233
+ axisLine: {
234
+ lineStyle: {
235
+ color: "rgba(255,255,255,.1)"
236
+ }
237
+ },
238
+ axisLabel: {
239
+ textStyle: {
240
+ color: "rgba(255,255,255,.6)",
241
+ fontSize: 12
242
+ }
243
+ },
244
+
245
+ splitLine: {
246
+ lineStyle: {
247
+ color: "rgba(255,255,255,.1)"
248
+ }
249
+ }
250
+ }
251
+ ],
252
+ series: [
253
+ {
254
+ name: "居民用户",
255
+ type: "line",
256
+ smooth: true,
257
+ symbol: "circle",
258
+ symbolSize: 5,
259
+ showSymbol: false,
260
+ lineStyle: {
261
+ normal: {
262
+ color: "#0184d5",
263
+ width: 2
264
+ }
265
+ },
266
+ areaStyle: {
267
+ normal: {
268
+ color: new echarts.graphic.LinearGradient(
269
+ 0,
270
+ 0,
271
+ 0,
272
+ 1,
273
+ [
274
+ {
275
+ offset: 0,
276
+ color: "rgba(1, 132, 213, 0.4)"
277
+ },
278
+ {
279
+ offset: 0.8,
280
+ color: "rgba(1, 132, 213, 0.1)"
281
+ }
282
+ ],
283
+ false
284
+ ),
285
+ shadowColor: "rgba(0, 0, 0, 0.1)"
286
+ }
287
+ },
288
+ itemStyle: {
289
+ normal: {
290
+ color: "#0184d5",
291
+ borderColor: "rgba(221, 220, 107, .1)",
292
+ borderWidth: 12
293
+ }
294
+ },
295
+ data:this.juMingIncrementData
296
+ }
297
+ ]
298
+ };
299
+
300
+ // 使用刚指定的配置项和数据显示图表。
301
+ myChart.setOption(option);
302
+ window.addEventListener("resize", function() {
303
+ myChart.resize();
304
+ });
305
+ },
306
+ getNJuMingPie(){
307
+ // let data = JSON.parse(JSON.stringify(this.nJumingNatureData))
308
+ let arr = [{normal:{color:'#2A70EF'}},
309
+ {normal:{color:'#288ED5'}},
310
+ {normal:{color:'#48ABC8'}},
311
+ {normal:{color:'#A0E66C'}},
312
+ {normal:{color:'#F6CC5F'}},
313
+ {normal:{color:'#EE7A2F'}}]
314
+ let data = this.nJumingNatureData
315
+ data.forEach((item,index) => {
316
+ item.itemStyle = arr[index]
317
+ })
318
+ console.log(data)
319
+ let colorList = ['#2A70EF','#288ED5','#48ABC8','#A0E66C','#F6CC5F','#EE7A2F','#EE7A2F']
320
+ let myChart = echarts.init(document.getElementById('gasNatureNumberRight'));
321
+ let option = {
322
+ legend: {
323
+ // selectedMode: false, // 取消图例上的点击事件
324
+ type: "plain",
325
+ icon: "circle",
326
+ orient: "vertical",
327
+ left: "40%",
328
+ top: "23%",
329
+ align: "left",
330
+ itemGap: 15,
331
+ itemWidth: 10, // 设置宽度
332
+ itemHeight: 10, // 设置高度
333
+ symbolKeepAspect: false,
334
+ textStyle: {
335
+ color: "#fff",
336
+ rich: {
337
+ name: {
338
+ verticalAlign: "right",
339
+ align: "left",
340
+ width: 80,
341
+ fontSize: 12,
342
+ },
343
+ value: {
344
+ align: "left",
345
+ width: 60,
346
+ fontSize: 12,
347
+ },
348
+ count: {
349
+ align: "left",
350
+ width: 30,
351
+ fontSize: 12,
352
+ }
353
+ },
354
+ },
355
+ data: data.map((item) => item.name),
356
+ formatter: function (name) {
357
+ let className = "upRate";
358
+ let rateIcon = "▲";
359
+ if (data && data.length) {
360
+ let sum = 0
361
+ data.forEach(item => {
362
+ sum += item.value
363
+ });
364
+ for (var i = 0; i < data.length; i++) {
365
+ if (name === data[i].name) {
366
+
367
+ return (
368
+ "{name| " +
369
+ name +
370
+ "} " +
371
+ "{value| " +
372
+ data[i].value +
373
+ "} " +
374
+ "{count| " +
375
+ ((data[i].value/sum)*100).toFixed(2) +
376
+ "%} "
377
+ );
378
+ }
379
+ }
380
+ }
381
+ },
382
+ },
383
+ visualMap: {
384
+ show: false,
385
+ min: 80,
386
+ max: 600,
387
+ inRange: {
388
+ colorLightness: [0, 1],
389
+ },
390
+ },
391
+ color: [
392
+ "#F6CC5F",
393
+ "rgb(0, 228, 196)"
394
+ ],
395
+ series: [
396
+ {
397
+ name: "非居民用户数",
398
+ type: "pie",
399
+ radius: "55%",
400
+ center: ["20%", "50%"],
401
+ data: data,
402
+ label: {
403
+ normal: {
404
+ show: false,
405
+ position: "center",
406
+ formatter: "{text|{c}}\n{b}",
407
+ }
408
+ },
409
+ itemStyle: {
410
+ normal: {
411
+ color: function(params) {
412
+ return colorList[params.dataIndex]
413
+ }
414
+ }
415
+ },
416
+ // roseType: "angle",
417
+ },
418
+ ],
419
+ };
420
+ myChart.setOption(option);
421
+ window.addEventListener("resize", function() {
422
+ myChart.resize();
423
+ });
424
+ },
425
+ getJuMingPie(){
426
+ // console.log('5555',this.$echarts)
427
+ // console.log(document.getElementById('gasNatureNumberLeft'))
428
+ let myChart = echarts.init(document.getElementById('gasNatureNumberLeft'));
429
+ let data = JSON.parse(JSON.stringify(this.juMjingNatureData))
430
+ let xdata = [];
431
+ data.forEach(item => {
432
+ xdata.push(item.name)
433
+ })
434
+ // // data = [{name: "生活用户", value: 487696}, {name: "壁挂锅炉", value: 99806}]
435
+ let option = {
436
+ title: {
437
+ // text: "{header1| 名称与占比}" + "{header2| 数量}" + "{header3| 比例}",
438
+ textAlign: "left",
439
+ left: "49%",
440
+ top: "30%",
441
+ textStyle: {
442
+ color: "#ccc",
443
+ rich: {
444
+ header1: {
445
+ width: 200,
446
+ fontSize: 15,
447
+ },
448
+ header2: {
449
+ width: 120,
450
+ fontSize: 15,
451
+ },
452
+ header3: {
453
+ fontSize: 15,
454
+ },
455
+ },
456
+ },
457
+ },
458
+ // tooltip: {
459
+ // trigger: "item",
460
+ // formatter: "{a} <br/>{b} : {c} ({d}%)",
461
+ // },
462
+ legend: {
463
+ // selectedMode: false, // 取消图例上的点击事件
464
+ orient: "vartical",
465
+ x: "left",
466
+ top: "60%",
467
+ left: "center",
468
+ bottom: "0%",
469
+ data: xdata,
470
+ itemWidth: 10,
471
+ itemHeight: 10,
472
+ itemGap: 20,
473
+ textStyle: {
474
+ color: "#fff",
475
+ rich: {
476
+ name: {
477
+ verticalAlign: "right",
478
+ align: "left",
479
+ width: 80,
480
+ fontSize: 14,
481
+ },
482
+ value: {
483
+ align: "left",
484
+ width: 70,
485
+ fontSize: 14,
486
+ },
487
+ count: {
488
+ align: "left",
489
+ width: 50,
490
+ fontSize: 14,
491
+ }
492
+ },
493
+ },
494
+ formatter: function (name) {
495
+ let className = "upRate";
496
+ let rateIcon = "▲";
497
+ if (data && data.length) {
498
+ let sum = 0
499
+ data.forEach(item => {
500
+ sum += item.value
501
+ });
502
+ for (var i = 0; i < data.length; i++) {
503
+ if (name === data[i].name) {
504
+ return (
505
+ "{name| " +
506
+ name +
507
+ "}" +
508
+ "{value| " +
509
+ data[i].value +
510
+ "}" +
511
+ "{count| " +
512
+ ((data[i].value/sum)*100).toFixed(2) +
513
+ "%} "
514
+ );
515
+ }
516
+ }
517
+ }
518
+ },
519
+ },
520
+ graphic:{
521
+ type:'image',
522
+ left:'center',
523
+ top:'25%',
524
+ style:{
525
+ image:require('../../assets/images/居民用户.png'),
526
+ width:40,
527
+ height:35,
528
+
529
+ }
530
+ },
531
+ color: [
532
+ "rgb(0, 228, 196)",
533
+ "#F6CC5F"
534
+ ],
535
+ series: [
536
+ {
537
+ name: "居民用户",
538
+ type: "pie",
539
+ clockWise: true,
540
+ radius: ["40%", "55%"],
541
+ center: ["50%", "30%"],
542
+ data: data,
543
+ label: {
544
+ normal: {
545
+ show: false,
546
+ },
547
+ emphasis: {
548
+ show: false,
549
+ textStyle: {
550
+ fontSize: "12",
551
+ },
552
+ },
553
+ },
554
+ },
555
+ {
556
+ name: "",
557
+ type: "pie",
558
+ clockWise: true,
559
+ hoverAnimation: false,
560
+ radius: [39, "30%"],
561
+ center: ["25%", "50%"]
562
+ },
563
+ ],
564
+ };
565
+ myChart.setOption(option);
566
+ window.addEventListener("resize", function() {
567
+ myChart.resize({
568
+ width:100
569
+ });
570
+ });
571
+ },
572
+ }
573
+ }
574
+ </script>
575
+ <style lang="less">
576
+ #juMing{
577
+ width: 100%;
578
+ height: 50%;
579
+ div{
580
+ height: 0%;
581
+ }
582
+ }
583
+ #nJuMing{
584
+ width: 100%;
585
+ height: 50%;
586
+ div{
587
+ height: 0%;
588
+ }
589
+ }
590
+ </style>
591
+ <style lang="less" scoped>
592
+ #nJuMing{
593
+ width: 100%;
594
+ height: 50%;
595
+ }
596
+ #juMing{
597
+ width: 100%;
598
+ height: 50%;
599
+ div{
600
+ height: 10%;
601
+ }
602
+ }
603
+ .total-number{
604
+ width: 100%;
605
+ height: 6%;
606
+ }
607
+ .gas-nature-number{
608
+ width: 100%;
609
+ height: 38%;
610
+ }
611
+ </style>