system-phone 3.0.49-42 → 3.0.49-43

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 (277) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/.eslintrc.js +16 -16
  4. package/.gradle/buildOutputCleanup/cache.properties +2 -2
  5. package/CHANGELOG.md +1 -1
  6. package/Dockerfile +3 -3
  7. package/README.md +36 -36
  8. package/SystemPhone.iml +8 -8
  9. package/build/css-loaders.js +34 -34
  10. package/build/dev-client.js +8 -8
  11. package/build/dev-server.js +141 -141
  12. package/build/example-server.js +80 -80
  13. package/build/release.sh +28 -28
  14. package/build/utils.js +71 -71
  15. package/build/webpack.base.conf.js +82 -82
  16. package/build/webpack.dev.conf.js +31 -31
  17. package/build/webpack.example.conf.js +49 -49
  18. package/build/webpack.prod.conf.js +60 -60
  19. package/build/webpack.test.conf.js +31 -31
  20. package/build.gradle +27 -27
  21. package/config/dev.env.js +6 -6
  22. package/config/index.js +38 -38
  23. package/config/prod.env.js +3 -3
  24. package/config/test.env.js +6 -6
  25. package/gradle/wrapper/gradle-wrapper.properties +5 -5
  26. package/gradlew +183 -183
  27. package/gradlew.bat +100 -100
  28. package/index.html +21 -21
  29. package/nginx.conf +304 -304
  30. package/package.json +1 -1
  31. package/release.bat +5 -5
  32. package/src/App.vue +25 -25
  33. package/src/Util.js +415 -415
  34. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  35. package/src/android-bootstrap/less/.csscomb.json +304 -304
  36. package/src/android-bootstrap/less/.csslintrc +19 -19
  37. package/src/android-bootstrap/less/alerts.less +73 -73
  38. package/src/android-bootstrap/less/badges.less +66 -66
  39. package/src/android-bootstrap/less/bootstrap.less +56 -56
  40. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  41. package/src/android-bootstrap/less/button-groups.less +247 -247
  42. package/src/android-bootstrap/less/buttons.less +173 -173
  43. package/src/android-bootstrap/less/carousel.less +269 -269
  44. package/src/android-bootstrap/less/close.less +34 -34
  45. package/src/android-bootstrap/less/code.less +69 -69
  46. package/src/android-bootstrap/less/component-animations.less +33 -33
  47. package/src/android-bootstrap/less/dropdowns.less +216 -216
  48. package/src/android-bootstrap/less/forms.less +626 -626
  49. package/src/android-bootstrap/less/glyphicons.less +305 -305
  50. package/src/android-bootstrap/less/grid.less +84 -84
  51. package/src/android-bootstrap/less/input-groups.less +167 -167
  52. package/src/android-bootstrap/less/jumbotron.less +52 -52
  53. package/src/android-bootstrap/less/labels.less +64 -64
  54. package/src/android-bootstrap/less/list-group.less +141 -141
  55. package/src/android-bootstrap/less/media.less +66 -66
  56. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  57. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  58. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  59. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  60. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  61. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  62. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  63. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  64. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  65. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  66. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  67. package/src/android-bootstrap/less/mixins/image.less +33 -33
  68. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  69. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  70. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  71. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  72. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  73. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  74. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  75. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  76. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  77. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  78. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  79. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  80. package/src/android-bootstrap/less/mixins/size.less +10 -10
  81. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  82. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  83. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  84. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  85. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  86. package/src/android-bootstrap/less/mixins.less +40 -40
  87. package/src/android-bootstrap/less/modals.less +151 -151
  88. package/src/android-bootstrap/less/navbar.less +660 -660
  89. package/src/android-bootstrap/less/navs.less +290 -290
  90. package/src/android-bootstrap/less/normalize.less +424 -424
  91. package/src/android-bootstrap/less/pager.less +76 -76
  92. package/src/android-bootstrap/less/pagination.less +89 -89
  93. package/src/android-bootstrap/less/panels.less +274 -274
  94. package/src/android-bootstrap/less/popovers.less +131 -131
  95. package/src/android-bootstrap/less/print.less +101 -101
  96. package/src/android-bootstrap/less/progress-bars.less +87 -87
  97. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  98. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  99. package/src/android-bootstrap/less/scaffolding.less +161 -161
  100. package/src/android-bootstrap/less/tables.less +262 -262
  101. package/src/android-bootstrap/less/theme.less +291 -291
  102. package/src/android-bootstrap/less/thumbnails.less +36 -36
  103. package/src/android-bootstrap/less/tooltip.less +102 -102
  104. package/src/android-bootstrap/less/type.less +303 -303
  105. package/src/android-bootstrap/less/utilities.less +55 -55
  106. package/src/android-bootstrap/less/variables.less +896 -896
  107. package/src/android-bootstrap/less/wells.less +29 -29
  108. package/src/assets//351/235/236/345/261/205/346/260/221/345/256/211/346/243/200.png +0 -0
  109. package/src/bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  110. package/src/bootstrap/less/.csscomb.json +304 -304
  111. package/src/bootstrap/less/.csslintrc +19 -19
  112. package/src/bootstrap/less/alerts.less +73 -73
  113. package/src/bootstrap/less/badges.less +66 -66
  114. package/src/bootstrap/less/bootstrap.less +56 -56
  115. package/src/bootstrap/less/breadcrumbs.less +26 -26
  116. package/src/bootstrap/less/button-groups.less +247 -247
  117. package/src/bootstrap/less/buttons.less +172 -172
  118. package/src/bootstrap/less/carousel.less +269 -269
  119. package/src/bootstrap/less/close.less +34 -34
  120. package/src/bootstrap/less/code.less +69 -69
  121. package/src/bootstrap/less/component-animations.less +33 -33
  122. package/src/bootstrap/less/dropdowns.less +216 -216
  123. package/src/bootstrap/less/forms.less +626 -626
  124. package/src/bootstrap/less/glyphicons.less +305 -305
  125. package/src/bootstrap/less/grid.less +84 -84
  126. package/src/bootstrap/less/input-groups.less +167 -167
  127. package/src/bootstrap/less/jumbotron.less +52 -52
  128. package/src/bootstrap/less/labels.less +64 -64
  129. package/src/bootstrap/less/list-group.less +141 -141
  130. package/src/bootstrap/less/media.less +66 -66
  131. package/src/bootstrap/less/mixins/alerts.less +14 -14
  132. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  133. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  134. package/src/bootstrap/less/mixins/buttons.less +69 -69
  135. package/src/bootstrap/less/mixins/center-block.less +7 -7
  136. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  137. package/src/bootstrap/less/mixins/forms.less +90 -90
  138. package/src/bootstrap/less/mixins/gradients.less +59 -59
  139. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  140. package/src/bootstrap/less/mixins/grid.less +122 -122
  141. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  142. package/src/bootstrap/less/mixins/image.less +33 -33
  143. package/src/bootstrap/less/mixins/labels.less +12 -12
  144. package/src/bootstrap/less/mixins/list-group.less +30 -30
  145. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  146. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  147. package/src/bootstrap/less/mixins/opacity.less +8 -8
  148. package/src/bootstrap/less/mixins/pagination.less +24 -24
  149. package/src/bootstrap/less/mixins/panels.less +24 -24
  150. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  151. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  152. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  153. package/src/bootstrap/less/mixins/resize.less +6 -6
  154. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  155. package/src/bootstrap/less/mixins/size.less +10 -10
  156. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  157. package/src/bootstrap/less/mixins/table-row.less +44 -44
  158. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  159. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  160. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  161. package/src/bootstrap/less/mixins.less +40 -40
  162. package/src/bootstrap/less/modals.less +151 -151
  163. package/src/bootstrap/less/navbar.less +660 -660
  164. package/src/bootstrap/less/navs.less +286 -286
  165. package/src/bootstrap/less/normalize.less +424 -424
  166. package/src/bootstrap/less/pager.less +76 -76
  167. package/src/bootstrap/less/pagination.less +89 -89
  168. package/src/bootstrap/less/panels.less +275 -275
  169. package/src/bootstrap/less/popovers.less +131 -131
  170. package/src/bootstrap/less/print.less +101 -101
  171. package/src/bootstrap/less/progress-bars.less +87 -87
  172. package/src/bootstrap/less/responsive-embed.less +35 -35
  173. package/src/bootstrap/less/responsive-utilities.less +194 -194
  174. package/src/bootstrap/less/scaffolding.less +161 -161
  175. package/src/bootstrap/less/tables.less +262 -262
  176. package/src/bootstrap/less/theme.less +291 -291
  177. package/src/bootstrap/less/thumbnails.less +36 -36
  178. package/src/bootstrap/less/tooltip.less +102 -102
  179. package/src/bootstrap/less/type.less +303 -303
  180. package/src/bootstrap/less/utilities.less +55 -55
  181. package/src/bootstrap/less/variables.less +895 -895
  182. package/src/bootstrap/less/wells.less +29 -29
  183. package/src/components/AloneLoadParams.vue +26 -26
  184. package/src/components/AlreadyService.vue +193 -193
  185. package/src/components/AttendManage.vue +534 -534
  186. package/src/components/LoadAppdata.vue +38 -38
  187. package/src/components/LoginApp.vue +730 -730
  188. package/src/components/LoginAppNew.vue +587 -587
  189. package/src/components/ModifyPassWord.vue +216 -216
  190. package/src/components/NavBottom.vue +117 -117
  191. package/src/components/NavBottomV.vue +141 -141
  192. package/src/components/NavBottomVVV.vue +185 -185
  193. package/src/components/OnlineManage.vue +256 -256
  194. package/src/components/PhoneAllInfo.vue +68 -68
  195. package/src/components/PhoneChangemeterInfo.vue +116 -116
  196. package/src/components/PhoneInfoTable.vue +39 -39
  197. package/src/components/PhoneMeterInfo.vue +132 -132
  198. package/src/components/PhoneRepairInfo.vue +146 -146
  199. package/src/components/PhoneSafeInfo.vue +101 -101
  200. package/src/components/PhoneSellInfo.vue +123 -123
  201. package/src/components/PhoneSellInfoLite.vue +112 -112
  202. package/src/components/PhoneUser.vue +202 -202
  203. package/src/components/PhoneUserDetil.vue +70 -70
  204. package/src/components/PhoneUserFind.vue +138 -138
  205. package/src/components/RightTree.vue +217 -217
  206. package/src/components/SystemSetUp.vue +332 -332
  207. package/src/components/TabBarPhone.vue +81 -81
  208. package/src/components/Test.vue +14 -14
  209. package/src/components/ToolsPage.vue +182 -182
  210. package/src/components/UploadManage.vue +194 -194
  211. package/src/components/gaomi/NavBottomV.vue +223 -223
  212. package/src/components/gaomi/NavBottomVVVV.vue +210 -210
  213. package/src/components/gaomi/Scroller.vue +63 -63
  214. package/src/components/gaomi/SystemSetUp.vue +186 -186
  215. package/src/components/gaomi/ToolsPage.vue +168 -168
  216. package/src/components/idea/feedBack.vue +150 -150
  217. package/src/components/idea/feedbackAdd.vue +366 -366
  218. package/src/components/info/ConfigInfo.vue +122 -122
  219. package/src/components/info/FindUserInfo.vue +157 -157
  220. package/src/components/info/InfoTable.vue +37 -37
  221. package/src/components/iot/InstructMessage.vue +313 -313
  222. package/src/components/iot/IotBaseInfo.vue +97 -97
  223. package/src/components/iot/IotMeterInfo.vue +77 -77
  224. package/src/components/iot/iotMonitoringMain.vue +501 -501
  225. package/src/components/online/ApplyOnline.vue +581 -581
  226. package/src/components/online/BJZhongRan/ApplyOnline.vue +600 -600
  227. package/src/components/screen/ChargeContentPage.vue +656 -656
  228. package/src/components/screen/ContentPage.vue +611 -611
  229. package/src/components/screen/GongdanContentPage.vue +149 -149
  230. package/src/components/screen/ListCountItem.vue +93 -93
  231. package/src/components/screen/ModuleTitle.vue +48 -48
  232. package/src/components/screen/SafeOrderContentPage.vue +440 -440
  233. package/src/components/screen/SecurityCheckItem.vue +50 -50
  234. package/src/components/screen/TotalItem.vue +76 -76
  235. package/src/components/screen/TotalUserNumber.vue +77 -77
  236. package/src/components/screen/WorkOrderItem.vue +51 -51
  237. package/src/components/screen/WorkOrderRightDownItem.vue +103 -103
  238. package/src/components/screen/WorkOrderRightItem.vue +115 -115
  239. package/src/components/userinfo/paymentQuery.vue +189 -189
  240. package/src/components/userinfo/queryFile.vue +190 -190
  241. package/src/components/wasm.vue +18 -18
  242. package/src/expandcssAndroid.less +521 -521
  243. package/src/filiale/yulinyuchuan/AlreadyService.vue +194 -194
  244. package/src/filiale/yulinyuchuan/AttendManage.vue +537 -537
  245. package/src/filiale/yulinyuchuan/LoginApp.vue +736 -736
  246. package/src/filiale/yulinyuchuan/OnlineManage.vue +256 -256
  247. package/src/filiale/yulinyuchuan/SystemSetUp.vue +332 -332
  248. package/src/filiale/yulinyuchuan/UploadManage.vue +195 -195
  249. package/src/filiale/yulinyuchuan/systemphonegrid.js +9 -9
  250. package/src/index.js +9 -9
  251. package/src/main.js +38 -38
  252. package/src/plugins/GetStringData.js +18 -18
  253. package/src/plugins/LoadParams.js +24 -24
  254. package/src/plugins/const.js +404 -404
  255. package/src/plugins/vue-py.js +37 -37
  256. package/src/services/ConfigService.js +24 -24
  257. package/src/stores/AppData.js +65 -65
  258. package/src/systemphone-gaomi.js +105 -105
  259. package/src/systemphone.js +58 -58
  260. package/src/util/LdapHelper.js +75 -75
  261. package/static/app.json +4 -4
  262. package/static/const.js +404 -404
  263. package/static/globals.txt +74 -74
  264. package/static/layui/font/iconfont.svg +554 -554
  265. package/static/vue-py.js +37 -37
  266. package/static/wasm_exec.js +465 -465
  267. package/test/unit/.eslintrc +5 -5
  268. package/test/unit/TestUtil.js +35 -35
  269. package/test/unit/context.html +20 -20
  270. package/test/unit/index.js +13 -13
  271. package/test/unit/init.js +13 -13
  272. package/test/unit/karma.conf.js +50 -50
  273. package/test/unit/specs/App.spec.js +17 -17
  274. package/test/unit/specs/Test.spec.js +28 -28
  275. package/test/unit/specs/components/LoginApp.spec.js +21 -21
  276. package/test/unit/specs/sevices/ConfigService.spec.js +23 -23
  277. package/test/unit/specs/sevices/GetDBTest.spec.js +28 -28
@@ -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>