investHome.js 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767
  1. let app = new Vue({
  2. el: '#app',
  3. data() {
  4. return {
  5. year: '2022',
  6. mapName: 'shanxi',
  7. geoCoordMap: {},
  8. config1: {
  9. number: [100],
  10. content: '{nt}个',
  11. },
  12. storageRecordConfig: {
  13. header: ['项目名称', '投资金额', '所属产业', '项目进度', '完成比例'],
  14. headerBGC: '#05507b33',
  15. oddRowBGC: '#69c0ff0f',
  16. evenRowBGC: '',
  17. headerHeight: '40',
  18. rowNum: 4,
  19. align: ['center'],
  20. data: [
  21. ['工程建设项目', '21.2亿', '煤炭', '终止', '2.3%'],
  22. ['工程建设项目', '21.2亿', '煤炭', '退出', '2.3%'],
  23. ['工程建设项目', '21.2亿', '煤炭', '进行中', '2.3%'],
  24. ['工程建设项目', '21.2亿', '煤炭', '进行中', '2.3%'],
  25. ['工程建设项目', '21.2亿', '煤炭', '进行中', '2.3%'],
  26. ['工程建设项目', '21.2亿', '煤炭', '进行中', '2.3%'],
  27. ],
  28. },
  29. storageRecordConfig2: {
  30. header: ['项目名称', '投资金额', '所属产业', '项目进度', '完成比例'],
  31. headerBGC: '#05507b33',
  32. oddRowBGC: '#05507b33',
  33. evenRowBGC: '',
  34. headerHeight: '40',
  35. rowNum: 4,
  36. align: ['center'],
  37. data: [
  38. ['工程建设项目', '21.2亿', '煤炭', '终止', '2.3%'],
  39. ['工程建设项目', '21.2亿', '煤炭', '退出', '2.3%'],
  40. ['工程建设项目', '21.2亿', '煤炭', '进行中', '2.3%'],
  41. ['工程建设项目', '21.2亿', '煤炭', '进行中', '2.3%'],
  42. ['工程建设项目', '21.2亿', '煤炭', '进行中', '2.3%'],
  43. ['工程建设项目', '21.2亿', '煤炭', '进行中', '2.3%'],
  44. ],
  45. },
  46. companyList: [
  47. { name: '山西焦煤' },
  48. { name: '晋能控股' },
  49. { name: '华新燃气' },
  50. { name: '山西建投' },
  51. { name: '潞安化工' },
  52. { name: '华远陆港' },
  53. { name: '航产集团' },
  54. { name: '大地控股' },
  55. { name: '国新能源' },
  56. { name: '汾酒集团' },
  57. { name: '云时代' },
  58. { name: '神农科技' },
  59. { name: '华阳新材' },
  60. { name: '华舰体育' },
  61. { name: '交控集团' },
  62. { name: '文旅集团' },
  63. { name: '水控集团' },
  64. { name: '太重集团' },
  65. ],
  66. }
  67. },
  68. mounted() {
  69. // 左侧图表
  70. this.initChartL1()
  71. this.initChartL2()
  72. this.initChartR1()
  73. this.initChinaChart()
  74. },
  75. methods: {
  76. convertData(data) {
  77. var res = []
  78. for (var i = 0; i < data.length; i++) {
  79. var geoCoord = this.geoCoordMap[data[i].name]
  80. if (geoCoord) {
  81. res.push({
  82. name: data[i].name,
  83. value: geoCoord.concat(data[i].value),
  84. })
  85. }
  86. }
  87. return res
  88. },
  89. initChinaChart() {
  90. var data = [
  91. { name: '吕梁市', value: 150 },
  92. { name: '大同市', value: 190 },
  93. { name: '忻州市', value: 140 },
  94. { name: '朔州市', value: 160 },
  95. { name: '晋中市', value: 100 },
  96. { name: '太原市', value: 300 },
  97. { name: '临汾市', value: 190 },
  98. { name: '长治市', value: 100 },
  99. { name: '晋城市', value: 280 },
  100. { name: '运城市', value: 180 },
  101. { name: '阳泉市', value: 110 },
  102. ]
  103. var moveLine = {
  104. normal: [
  105. {
  106. fromName: '太原市',
  107. toName: '吕梁市',
  108. coords: [
  109. [112.3352, 37.9413],
  110. [111.3574, 37.7325],
  111. ],
  112. },
  113. {
  114. fromName: '太原市',
  115. toName: '忻州市',
  116. coords: [
  117. [112.3352, 37.9413],
  118. [112.4561, 38.8971],
  119. ],
  120. },
  121. {
  122. fromName: '太原市',
  123. toName: '临汾市',
  124. coords: [
  125. [112.3352, 37.9413],
  126. [111.4783, 36.1615],
  127. ],
  128. },
  129. {
  130. fromName: '太原市',
  131. toName: '阳泉市',
  132. coords: [
  133. [112.3352, 37.9413],
  134. [113.4778, 38.0951],
  135. ],
  136. },
  137. {
  138. fromName: '太原市',
  139. toName: '晋中市',
  140. coords: [
  141. [112.3352, 37.9413],
  142. [112.7747, 37.37],
  143. ],
  144. },
  145. {
  146. fromName: '太原市',
  147. toName: '运城市',
  148. coords: [
  149. [112.3352, 37.9413],
  150. [111.1487, 35.2002],
  151. ],
  152. },
  153. {
  154. fromName: '太原市',
  155. toName: '大同市',
  156. coords: [
  157. [112.3352, 37.9413],
  158. [113.7854, 39.8035],
  159. ],
  160. },
  161. {
  162. fromName: '太原市',
  163. toName: '晋城市',
  164. coords: [
  165. [112.3352, 37.9413],
  166. [112.7856, 35.6342],
  167. ],
  168. },
  169. {
  170. fromName: '太原市',
  171. toName: '长治市',
  172. coords: [
  173. [112.3352, 37.9413],
  174. [112.8625, 36.4746],
  175. ],
  176. },
  177. {
  178. fromName: '太原市',
  179. toName: '朔州市',
  180. coords: [
  181. [112.3352, 37.9413],
  182. [113.0713, 39.6991],
  183. ],
  184. },
  185. ],
  186. }
  187. /*获取地图数据*/
  188. let myChart = echarts.init(this.$refs['echarts-map'])
  189. echarts.registerMap('shanxi', {
  190. type: 'FeatureCollection',
  191. features: [
  192. {
  193. type: 'Feature',
  194. id: '1409',
  195. properties: { name: '忻州市', cp: [112.4561, 38.8971], childNum: 14 },
  196. geometry: {
  197. type: 'Polygon',
  198. coordinates: [
  199. '@@Vx@lnbn¦WlnnUšmš°š²VšV‚VVVnUn„ºlz@l„„@Jƒ@kXWVXl@Lƒa@„ƒKUL„ŽlbnKlLnK‚LnKÆXn°šbVV@bUVl°Un@LnaVJUbW@UX²l‚@ČwlVVIšWnkÆa°„„anV‚Kn°™UW¯@™aVUVk@Un@„aV@ValwUanmWU„k@WVUUanaVwnLVl°@nk@mVU@UVK@w„LVKVU@ƒ„K@UUKVUV@@bnL„a‚V„aôšlIXmlKX_°KVV@bVV„@šzV`kblI„V„Ul‚šL@bnV@V„Ċll„„VlIXW@k„a‚U²blKšVnIlJ„albXXlWVn°JnšnL@l@XlJlaX@„X˜W²@l_VmnKšU„blU@mnkVK„¯@U@ƒma@kX¥VƒmakkƒLƒa@aƒ@WIUUVXWWnk@a°a@kkm@kUUmJm@WUUUIk`m@V—kaWWkX™KmƒXk¯ƒ@WKƒLkak@±bƒw@ƒaƒa@akaƒ@ma¯@ƒL—KÇÅkKWbkmġ™±ÅUƒLUK™VVkƒm¯LUVVbƒ„UwUW¯bm„ƒULƒxWJ—@ƒklmkUm@@KnwVkVK@akwƒ@@a¯bƒKkn›VUI™b¯mmbk@UbmKUL@xUUƒ@klmLUŽlVXI‚VVVUVUœU`mLXVWbXnW`Ų°xmŽxU@mĉƒƒwU@mbU@UƒmbkVW¦kJ™@ƒX@`¯Im@UlUVVnb@bWJXnmbƒJUU™UUaƒ@UamIkaƒxƒ@@x@b',
  200. ],
  201. encodeOffsets: [[113614, 39657]],
  202. },
  203. },
  204. {
  205. type: 'Feature',
  206. id: '1411',
  207. properties: { name: '吕梁市', cp: [111.3574, 37.7325], childNum: 13 },
  208. geometry: {
  209. type: 'Polygon',
  210. coordinates: [
  211. '@@@a@w„@„wlbnJVb„@VbšVVV„InaWmXI@a‚aUmVUVkn@°J@_„Wš@lIX¥lUnaV„V@naV@„xĊ„n‚V@‚wn¯wƱX_WmXaWUnKV_V›VUUUUWJkUVnKlk¯™@@kmKUaŁ±KkU@WmI@WUIlUUmVwXƒ‚w@ƒUlUVwœV‚@„Lnb‚W@anU@UšaVkô@l»n@na˜JnUÈLVaƃUUVm„VKVƒ²L@mU_lK@UVWkU‚a@a@U¯aUaƒÑóÑUb™„ƒKk@@aƒk¯mVaUwVƒÑkWUmK@UUKmXUWÝwUa™LUU@aWJUUU@Ua݄U@WL@VKVaVI@WnU@alIVKƒƒ@kIƒmIkJ@™m@ƒ™@@_™K@xƒ@kaW@U„@Vmn@ŽUK@mIƒJUXV¤XXWlkKƒkkK@XmJVakImJU@ó™¯LWKUV@nUVƒLkxmKkLma@kXKmmƒLƒab™LmK@V@mXVÆUxƒX@`nL„aV@@VmLUVnLlLš˜„b@„šŽ°²nx@b‚VUxlb@V¯bUV@zV‚XVĊXVx@lVn@VnnmŽUš@LlJXVƒz¯VWVXbšV@bmn™VUVk„Çþń@XVxmbUlV„Uln„W„@„Xl‚@VLXÒ@bÞJ°¦„L˜ò„@nU‚b@°„X@ŽXbmVU„V„nb@x‚x',
  212. ],
  213. encodeOffsets: [[113614, 39657]],
  214. },
  215. },
  216. {
  217. type: 'Feature',
  218. id: '1410',
  219. properties: { name: '临汾市', cp: [111.4783, 36.1615], childNum: 17 },
  220. geometry: {
  221. type: 'Polygon',
  222. coordinates: [
  223. '@@nW‚@@UnLšK‚a„b„KnnWL@lnblKnLlw„KVU@mVUXL°KôšV@nIlJUbnI@WlL„llLXkWWU£VW„InJ‚@VL@nm@UVƒX@lb„@@wšL@`‚@„šn@V@lw„@n„VmVX„WmwnUlƒœa@_lK„wVlUn°xVKVXXWlUšVVI@K@K„n°KœwlVlU@kna@V_„Wn‚m„UVm@kXml_@m„LlKXw°m@_ôJVUV@X™l@UaV@Va°I„lk»VwUkVmwUmmVn@V¯@KƒU—wmK@U¯wUVÝ@mJƒU—nWK™@@UnKVa„_lykUmKÛnm@™x@ƒUUlwVk™ƒXW@ƒa@Uƒ@@K@ƒkIV™nammVakUlƒ@wX@@kƒ™¯@ƒVVbml@„„°UbULmlVbnbÅK±VƒKVXUJWa@ULWaUU@@U@aWK@UkxUKƒLUUUJ±UkL@V±kk@kam@UV@l@LWl@n@VVUx„LlUUx@VUV™U@aƒIUl™L@°mLU‚ƒbkUUaWUUaUU@aWK—LWJ@bUL@VUVVbU@m@a@kmKmnĉlUK™XƒWUblb—xmIkƒƒU@xWb@lkšVx™LXŽmzVV@bklVVUzm˜@bk„@Vx@xlŽU„@lUbVnl@„Wxnl@n@ŽUbV„mL‚mƒb@`X@lUX@@xlnkLWaUJnnWV™Vn@l„@bULVV@l™V@XnJVX',
  224. ],
  225. encodeOffsets: [[113063, 37784]],
  226. },
  227. },
  228. {
  229. type: 'Feature',
  230. id: '1407',
  231. properties: { name: '晋中市', cp: [112.7747, 37.37], childNum: 11 },
  232. geometry: {
  233. type: 'Polygon',
  234. coordinates: [
  235. '@@@šlInJ„lJ„@‚„ULkJ@bmV@XUJUb‚L@UXKV@ރVbV@VVXI@bVVšKVbÞxVXnWVL@VnLV‚lX„ÒUŽVxUb°n„l@bl@„LšƒVaô҄ÒVb°b@VnLnnV@lmn@lb„U„V@„‚JœUVV‚Xkl@lUzmJ@xšXkl‚bUn„JVšUb„nU‚lb„V@nlLX@lakšV`Ub°š@XVJnU‚L²KlxnI@KV@lbUbVV„KnVl@„zlm@Uš@nŽšI@WUaVl@@mVU„@XkW@ƒnkVKVƒ„_Vw„y@knwVa‚@XalU„@šVnml@„X@V„L‚KVaÞbnnlJšI„mVKn„VVVInVlU„@„m@™mXK@UmyUI@mWUUakamw@wUwmLkakwVƒmK™w@wUam£y@am_ƒW@™UU@knmm„amU@WUa@knw@ƒUUUUV@nƒJm@mVUkKVUUUkKmwƒKULƒKUImV@lUn™nŽm@mbUK@°™bUnmbUmkkƒWUb@am@UXkK@a±@™V™@ĉř„V‚UXVxUVkLWl¯@@bULUlm@@nm`—XƒlWakIkm›VUbUL@Vm@kIƒ@@Kšm@—VaX‚I@W@aU@kUƒVU_™KƒbƒJkkǎ™b@nkKmL™wÅW@kVUUƒVU@WUIƒJmIXmma@_kyVaUUlkUm@ƒkU›x¯Lƒm@L@LUJ™UkVWXUWUL¯wVmUkƒxkL@`›bk„mVnxƒXUWUnmƒƒ@kxU@',
  236. ],
  237. encodeOffsets: [[114087, 37682]],
  238. },
  239. },
  240. {
  241. type: 'Feature',
  242. id: '1408',
  243. properties: { name: '运城市', cp: [111.1487, 35.2002], childNum: 13 },
  244. geometry: {
  245. type: 'Polygon',
  246. coordinates: [
  247. '@@„Vl„nJ˜wkaVa„XšWVLĊknmnL‚l@@bn‚V@UaVU@UVK@aXI˜KXL@bVVVbXVVblV„aVnK@¯šKVk„J@bšVVU@UVwkVƒKVwUUm@@Xk@K@kVUn@lbl@²l@UlK²VVIVV„KVLlw@VXL@b@VV@VŽXbVK‚@XbVIUW„L‚U²ÆLmaUankVKVaƒ¯@ƒnkUa„U°@„š‚n@@kWa„UVaXUW@IXKVw@U™ƒ„™WU@W@@UUƒU@mn@ƒ`m@UUULkUmJ™IUƒ@@UƒK@U@›anƒ™ak_@wmKUwmakV™kmK™V™k¯b™wƒ`kwUIÇx¯»ÇaŃmn@@™mƒmUkV@wkKW@kxmL™UkĉLÝk™xÝw¯lóVU„mV@ĀVVX¦W¤kz@`Vx°„²ĸ‚š@„Ul@x„êĸNJ°¤V„VlXLWnXxmV@nUl@„',
  248. ],
  249. encodeOffsets: [[113232, 36597]],
  250. },
  251. },
  252. {
  253. type: 'Feature',
  254. id: '1402',
  255. properties: { name: '大同市', cp: [113.7854, 39.8035], childNum: 8 },
  256. geometry: {
  257. type: 'Polygon',
  258. coordinates: [
  259. '@@²£šyl@Ȑ˜Ė@bĸŽĢbĸ„˜X„a‚KŤnn@ŎôllÈx„nVnÞDŽV@b‚nXllL°KšbVb@J@b—„‚„@ŽU„„xlKXLlKlXk„@Ulk„JlkUƒVKXUƒÇVIVm@_nǚLšašl‚w„VnU@UUwma@aƒaÝaLmUk@@Wƒ@U@@X™wVWÝUUUk@@VmLƒKV»nwUw™aUL@`mzƒJUIVƒUaUw™KUaVIlJôanÑlLVUn@ša„@VV„@@UUwVK°Vn_lJÆLœéW@UUUÅ@»lm@aÞIVwXW˜UUkkm@U@aƒU@mwU£VWU_kWmƒXwW_°yUkkK@UÇK@kkUVymóK—U@KWIƒbUak@mJ@bkbmLkŽ™UmƒkVU„W¦@lnb@„@Vƒ°ULml@nkVƒa™VmLUnk`±@—XƒWW@kbǦXŽ¯„WxI@xmbmxXlWV„„@bŎUz@J‚b@bÞb™ŽU@Wbk@ƒxk@WX¯VۙƒWÝbÝUkVUU@alI@a@akLWa™m@U¯UUmÇL@K@aU@¯VUkƒKmX@`@œkJ@nV‚Ub@lbVÆXVW„ULU`VbkLUV@XWl@bXJ˜@VbV@Vl',
  260. ],
  261. encodeOffsets: [[115335, 41209]],
  262. },
  263. },
  264. {
  265. type: 'Feature',
  266. id: '1404',
  267. properties: { name: '长治市', cp: [112.8625, 36.4746], childNum: 12 },
  268. geometry: {
  269. type: 'Polygon',
  270. coordinates: [
  271. '@@Uk™Lky@I‚JVa@mÞaWšy@_W@_WƒXVlUVwš@nw°K@m„UƒVaƒmVkU@mmmnLVUmKXa™U@IlKVUnK@UmWkX@WV_Vƒ@akU@a„KWIXyƒIUVmUn™Ua@WaXUVKVmkUWVkUƒLU@@VƒbƒKbƒIUmƒ@mbVL—x›WUUkn±V¯wƒbÅJUbmLkbmKÅKƒbVnUbƒV™KUb™KUbmLKmƒb™aƒKkUm@UŽnn‚VnxUVlUxl¼ƒk¯JUbU@Vbk@WšU@UVóI@`¯nWxkLƒK@nk`Wn@lUnƒVnm‚ƒXU`@mb@lkV@„VnklVVUblz@`nbWnnJ„IVJ@XUVV„UV@lÆXšxnKlL@mšaȍll„I„ašLV`„UlVV@@b@XJWUb@˜™n@L„@lJn@@UVKVaœUlnlJXb„k˜Wn_@mn@VkVK@a°@XklKVUUwVWUšƒĊƚ@šU²@@blLVWn@@bVa„XllVnnaVmša@¯VLnan@‚šmVm@knUVJ',
  272. ],
  273. encodeOffsets: [[116269, 37637]],
  274. },
  275. },
  276. {
  277. type: 'Feature',
  278. id: '1406',
  279. properties: { name: '朔州市', cp: [113.0713, 39.6991], childNum: 5 },
  280. geometry: {
  281. type: 'Polygon',
  282. coordinates: [
  283. '@@XXWVXVWnnlnn@èƼ@„„xlš„ŽV„nblšššVŽÈUVl‚š@„blnœL܃ĊmUkU@Ua‚—@WI@aXk@WVUlKUaV_VKXƒWUUÅka@VaU@mlI@›@_nW„LVl°UV@@b@LÈKVn°V@VšnXblK@b@bkJ@bVVlUÞVÞa„Xܚ°UXWl@„wl@XaV@šÝa@aa@IVyƍ@aƒƒXUWknwna@w‚JXw°ƒWÈ¥kI@W@kmKm™¯IUmkXWWkaƒbkImJ™UkL±aVƒb@lWXkJƒUkƒĉkƒ@UmU@a™KkƒVƒUkJlaU_™yƒ@UU@aUU¯LW`kLWnkJó™ƒbUƒbmK@aU@UVVL@VƒL@„UVULƒK@xUL@VUV@nml¯@UkmKUxmbVbUV@XƒlXVmnVbkxUbU@ƒbm@@VUlUVšb°@VX¯šm‚',
  284. ],
  285. encodeOffsets: [[114615, 40562]],
  286. },
  287. },
  288. {
  289. type: 'Feature',
  290. id: '1405',
  291. properties: { name: '晋城市', cp: [112.7856, 35.6342], childNum: 6 },
  292. geometry: {
  293. type: 'Polygon',
  294. coordinates: [
  295. '@@lV„Lšb„an‚LnKVašLVašL„UVaUm„aÆLnLlanKVaÆI„a°x²UlmVVœX˜wUKna„@Vn„J‚a„L„a@UV@@alUkKVKnkmmVwUk„w@ƒ™@kxWUXƒW@@mƒk@aUa@a¯aƒLkKmwkUm@kL@K@aWIXmƒVƒXƒWkUVakL@UVKƒw@aUK@UUKmLU@¯n™KUwVƒUIWJUWmka™@UXƒJƒk@UkmW@kLWKVƒx@bmI@VUaVU@a¯@UUmVKmX@±`kÝKVxUL±akL@V™bƒLkKmVƒ@XWVUbƒVXb@lm@@lW@@xk„lVUbnnmbUšlJ@„@L„@@V„b@‚WXš„UlkxVV@„šwn@ÜmnLlVkzƒ`UbmL@Vš@XL˜m„VnIÞ@VU°x@VnL˜x„V@LU°',
  296. ],
  297. encodeOffsets: [[115223, 36895]],
  298. },
  299. },
  300. {
  301. type: 'Feature',
  302. id: '1401',
  303. properties: { name: '太原市', cp: [112.3352, 37.9413], childNum: 5 },
  304. geometry: {
  305. type: 'Polygon',
  306. coordinates: [
  307. '@@„@VV@wVKnLVal@na°nšaVJœUlm„L°a@b„@lx@bULUlmx@Ln@lVkn„l˜@XI„w‚K„Vnƒ°aVXVx„ƒUaVU°K„nUlšUVL„KÆVš²Ģ‚lnXalLÈƘL„KUaVkUanmWU™a@WwkUWU¯y¯Ñ@anIl@@aVU„m„I„ymUƒLUUVakaU@@LmJkw±LKmVUI@W¯™VaU_l™kbW@kK@mƒUkaVƒmVaU™ƒIVmalk™W@wnIVy@klkWUU›VI@ƒƒUƒVkam@knU@mmmK@bblVUX@VkLV`@n±KU„ULƒ‚UnVVńUbÇKmV—Imbm@k¼ó@Ul™b@VmV@bXmaƒK@›UUxkV‚V@„xW„UxVnkVVJ@XnJ@XlV²LƂVbnL@lš@°',
  308. ],
  309. encodeOffsets: [[114503, 39134]],
  310. },
  311. },
  312. {
  313. type: 'Feature',
  314. id: '1403',
  315. properties: { name: '阳泉市', cp: [113.4778, 38.0951], childNum: 3 },
  316. geometry: {
  317. type: 'Polygon',
  318. coordinates: [
  319. '@@°@nb„@lb@b„b„b‚@„x²al@lb„KXU@m‚kUWkkmUUƒVwV@XUW@™naVklKXblKnL‚ƒnLVanImaXKlL„ašV@U@KUKW„alƒXK@£WKXUV@VU„ƒUUVW„_V™@W@@K„@šƒUƒƒIWmXUmƒULƒn™JkImmÝaUbLƒK@UƒWk@mn™Uƒ@kVWb@Ubmx@lƒzUxƒ`U„ULml@„XWlƒ@UV@nk@U‚Vb@X™Jm™@@Vknƒyk@ƒzƒJƒnUV@bk@mJ@b°Ò°zXVlVXx‚@šbXVmnVbUlVb',
  320. ],
  321. encodeOffsets: [[115864, 39336]],
  322. },
  323. },
  324. ],
  325. UTF8Encoding: true,
  326. })
  327. var mapFeatures = echarts.getMap(this.mapName).geoJson.features
  328. mapFeatures.forEach(v => {
  329. // 地区名称
  330. var name = v.properties.name
  331. // 地区经纬度
  332. this.geoCoordMap[name] = v.properties.cp
  333. })
  334. myChart.setOption({
  335. tooltip: {
  336. padding: 15,
  337. enterable: true,
  338. transitionDuration: 1,
  339. formatter: (params, ticket, callback) => {
  340. let tipHtml = `
  341. <div class="tooltip-cont">
  342. <p>新开工:<span>工程建设项目</span></p>
  343. <p>总投资额:<span>21.455亿</span></p>
  344. <p>当前阶段:<span>可论证阶段</span></p>
  345. <p>时间节点:<span>2021.10-2022.10</span></p>
  346. </div>`
  347. return tipHtml
  348. },
  349. },
  350. geo: {
  351. show: true,
  352. map: 'shanxi',
  353. layoutCenter: ['50%', '50%'], //地图位置
  354. layoutSize: '100%',
  355. label: {
  356. normal: {
  357. show: false,
  358. },
  359. emphasis: {
  360. show: false,
  361. },
  362. },
  363. roam: false,
  364. itemStyle: {
  365. normal: {
  366. areaColor: '#1946a8',
  367. shadowColor: '#1946a8',
  368. borderWidth: 1, //设置外层边框
  369. borderColor: '#54c5e0',
  370. shadowOffsetX: 10,
  371. shadowOffsetY: 5,
  372. shadowBlur: 3,
  373. },
  374. emphasis: {
  375. areaColor: '#0b0098',
  376. borderColor: '#d4bc1d',
  377. borderWidth: 2, //设置外层边框
  378. },
  379. },
  380. },
  381. series: [
  382. {
  383. name: '散点',
  384. type: 'scatter',
  385. coordinateSystem: 'geo',
  386. data: this.convertData(data),
  387. symbolSize: function (val) {
  388. return 10
  389. },
  390. label: {
  391. normal: {
  392. formatter: '{b}',
  393. position: [10, 10],
  394. fontSize: 15,
  395. fontWeight: 600,
  396. fontStyle: 'italic',
  397. color: '#fff',
  398. show: true,
  399. },
  400. emphasis: {
  401. show: true,
  402. },
  403. },
  404. itemStyle: {
  405. normal: {
  406. color: '#000',
  407. borderWidth: 2,
  408. borderColor: '#fff',
  409. },
  410. },
  411. },
  412. {
  413. type: 'map',
  414. map: this.mapName,
  415. geoIndex: 0,
  416. aspectScale: 0.75, //长宽比
  417. showLegendSymbol: false, // 存在legend时显示
  418. label: {
  419. normal: {
  420. show: true,
  421. },
  422. emphasis: {
  423. show: false,
  424. textStyle: {
  425. color: '#fff',
  426. },
  427. },
  428. },
  429. roam: true,
  430. itemStyle: {
  431. normal: {
  432. areaColor: '#031525',
  433. borderColor: '#3B5077',
  434. },
  435. emphasis: {
  436. areaColor: '#2B91B7',
  437. },
  438. },
  439. animation: false,
  440. data: data,
  441. },
  442. {
  443. name: '点',
  444. type: 'scatter',
  445. coordinateSystem: 'geo',
  446. zlevel: 6,
  447. },
  448. {
  449. name: 'Top 5',
  450. type: 'effectScatter',
  451. coordinateSystem: 'geo',
  452. data: this.convertData(
  453. data
  454. .sort(function (a, b) {
  455. return b.value - a.value
  456. })
  457. .slice(0, 5)
  458. ),
  459. symbolSize: function (val) {
  460. return 15
  461. },
  462. showEffectOn: 'render',
  463. rippleEffect: {
  464. brushType: 'stroke',
  465. },
  466. hoverAnimation: true,
  467. label: {
  468. normal: {
  469. formatter: '{b}',
  470. position: 'left',
  471. show: false,
  472. },
  473. },
  474. itemStyle: {
  475. normal: {
  476. color: 'yellow',
  477. shadowBlur: 10,
  478. shadowColor: 'yellow',
  479. },
  480. },
  481. zlevel: 1,
  482. },
  483. {
  484. name: '线路',
  485. type: 'lines',
  486. zlevel: 2,
  487. effect: {
  488. show: true,
  489. period: 4, //箭头指向速度,值越小速度越快
  490. trailLength: 0.02, //特效尾迹长度[0,1]值越大,尾迹越长重
  491. symbol: 'arrow', //箭头图标
  492. symbolSize: 5, //图标大小
  493. },
  494. lineStyle: {
  495. normal: {
  496. color: '#00FFFF',
  497. width: 1,
  498. type: 'dashed',
  499. opacity: 0.5, //尾迹线条透明度
  500. curveness: -0.3, //尾迹线条曲直度
  501. },
  502. },
  503. data: moveLine.normal,
  504. },
  505. ],
  506. })
  507. },
  508. initChartL1() {
  509. let myChart = echarts.init(this.$refs['echartL1'])
  510. let option = {
  511. grid: {
  512. left: '10%',
  513. top: '18%',
  514. bottom: '12%',
  515. right: '8%',
  516. },
  517. tooltip: {
  518. trigger: 'axis',
  519. axisPointer: {
  520. type: 'shadow',
  521. },
  522. },
  523. xAxis: {
  524. data: ['2018年', '2019年', '2020年', '2021年', '2022年', '2023年'],
  525. axisLine: {
  526. show: true, //隐藏X轴轴线
  527. lineStyle: {
  528. color: '#3D7495',
  529. width: 1,
  530. },
  531. },
  532. axisTick: {
  533. show: false, //隐藏X轴刻度
  534. },
  535. axisLabel: {
  536. show: true,
  537. textStyle: {
  538. color: 'rgba(255,255,255,0.6)', //X轴文字颜色
  539. },
  540. },
  541. },
  542. yAxis: [
  543. {
  544. type: 'value',
  545. name: '亿元',
  546. nameTextStyle: {
  547. color: '#FFF',
  548. },
  549. splitLine: {
  550. show: true,
  551. lineStyle: {
  552. color: '#68b4dd66',
  553. type: 'dashed',
  554. },
  555. },
  556. axisLine: {
  557. show: true,
  558. lineStyle: {
  559. color: '#3D7495',
  560. },
  561. },
  562. axisLabel: {
  563. show: true,
  564. textStyle: {
  565. color: 'rgba(250,250,250,0.6)',
  566. },
  567. },
  568. },
  569. ],
  570. series: [
  571. {
  572. type: 'pictorialBar',
  573. barCategoryGap: '0%',
  574. symbol: 'path://M0,10 L10,10 C5.5,10 5.5,5 5,0 C4.5,5 4.5,10 0,10 z',
  575. label: {
  576. show: true,
  577. position: 'top',
  578. distance: 5,
  579. color: '#08DFFE',
  580. fontSize: 12,
  581. },
  582. itemStyle: {
  583. normal: {
  584. color: {
  585. type: 'linear',
  586. x: 0,
  587. y: 0,
  588. x2: 0,
  589. y2: 1,
  590. colorStops: [
  591. {
  592. offset: 0,
  593. color: '#9A11FF',
  594. },
  595. {
  596. offset: 1,
  597. color: '#08DFFE',
  598. },
  599. ],
  600. global: false, // 缺省为 false
  601. },
  602. },
  603. emphasis: {
  604. opacity: 1,
  605. },
  606. },
  607. data: [123, 60, 25, 18, 12, 9],
  608. },
  609. ],
  610. }
  611. myChart.setOption(option)
  612. },
  613. initChartL2() {
  614. let myChart = echarts.init(this.$refs['echartL2'])
  615. let option = {
  616. tooltip: {
  617. trigger: 'axis',
  618. axisPointer: {
  619. type: 'shadow',
  620. },
  621. },
  622. grid: {
  623. top: '16%',
  624. right: '3%',
  625. left: '10%',
  626. bottom: '10%',
  627. },
  628. legend: {
  629. top: '1',
  630. right: '10',
  631. textStyle: {
  632. color: 'rgba(250,250,250,0.6)',
  633. },
  634. },
  635. xAxis: {
  636. data: ['山西焦煤', '山西文旅', '潞安化工', '晋能控股', '山西建投'],
  637. axisLine: {
  638. show: true, //隐藏X轴轴线
  639. lineStyle: {
  640. color: '#005094',
  641. width: 1,
  642. },
  643. },
  644. axisTick: {
  645. show: false, //隐藏X轴刻度
  646. },
  647. axisLabel: {
  648. show: true,
  649. textStyle: {
  650. color: 'rgba(255,255,255,0.6)', //X轴文字颜色
  651. },
  652. },
  653. },
  654. yAxis: [
  655. {
  656. type: 'value',
  657. nameTextStyle: {
  658. color: '#ebf8ac',
  659. },
  660. splitLine: {
  661. show: true,
  662. lineStyle: {
  663. color: '#68b4dd66',
  664. type: 'dashed',
  665. },
  666. },
  667. axisLine: {
  668. show: true,
  669. lineStyle: {
  670. color: '#3D7495',
  671. },
  672. },
  673. axisLabel: {
  674. show: true,
  675. textStyle: {
  676. color: 'rgba(250,250,250,0.6)',
  677. },
  678. },
  679. },
  680. ],
  681. series: [
  682. {
  683. name: '计划投资',
  684. type: 'bar',
  685. barWidth: 15,
  686. itemStyle: {
  687. normal: {
  688. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  689. {
  690. offset: 0,
  691. color: '#69c0ff',
  692. },
  693. {
  694. offset: 1,
  695. color: '#082550',
  696. },
  697. ]),
  698. },
  699. },
  700. data: [900, 600, 500, 450, 500],
  701. },
  702. {
  703. name: '实际投资',
  704. type: 'bar',
  705. barWidth: 15,
  706. itemStyle: {
  707. normal: {
  708. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  709. {
  710. offset: 0,
  711. color: '#957DFF',
  712. },
  713. {
  714. offset: 1,
  715. color: '#082550',
  716. },
  717. ]),
  718. },
  719. },
  720. data: [500, 900, 600, 800, 450],
  721. },
  722. ],
  723. }
  724. myChart.setOption(option)
  725. },
  726. initChartR1() {
  727. let myChart = echarts.init(this.$refs['echartR1'])
  728. let option = {
  729. tooltip: {
  730. trigger: 'item',
  731. },
  732. legend: {
  733. top: 'center',
  734. orient: 'vertical',
  735. right: '2%',
  736. textStyle: {
  737. color: '#9DB9EB',
  738. },
  739. },
  740. series: [
  741. {
  742. name: '',
  743. type: 'pie',
  744. radius: ['55%', '80%'],
  745. labelLine: {
  746. normal: {
  747. lineStyle: {
  748. width: 1,
  749. },
  750. },
  751. },
  752. data: [
  753. { value: 1048, name: '煤炭' },
  754. { value: 735, name: '火电' },
  755. { value: 580, name: '焦化' },
  756. { value: 484, name: '风电' },
  757. ],
  758. },
  759. ],
  760. }
  761. myChart.setOption(option)
  762. },
  763. },
  764. })