investHome.js 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383
  1. let app = new Vue({
  2. el: '#app',
  3. data () {
  4. return {
  5. showTip: false,
  6. showTip2: false,
  7. tipTitle: '',
  8. tipTitle2: '',
  9. year: '2022',
  10. time: '',
  11. timer: '',
  12. mapName: 'shanxi',
  13. geoCoordMap: {},
  14. config1: {
  15. number: [100],
  16. content: '{nt}个',
  17. },
  18. storageRecordConfig: null,
  19. companyList: [
  20. { name: '山西焦煤' },
  21. { name: '晋能控股' },
  22. { name: '华新燃气' },
  23. { name: '山西建投' },
  24. { name: '潞安化工' },
  25. { name: '华远陆港' },
  26. { name: '航产集团' },
  27. { name: '大地控股' },
  28. { name: '国新能源' },
  29. { name: '汾酒集团' },
  30. { name: '云时代' },
  31. { name: '神农科技' },
  32. { name: '华阳新材' },
  33. { name: '华舰体育' },
  34. { name: '交控集团' },
  35. { name: '文旅集团' },
  36. { name: '水控集团' },
  37. { name: '太重集团' },
  38. ],
  39. amountList: amountList,
  40. amountTotal: 0,
  41. classOption: {
  42. step: 0.5
  43. }
  44. }
  45. },
  46. created () {
  47. this.amountList.map(item => {
  48. this.amountTotal += Number(item.value)
  49. })
  50. this.time = formatDate()
  51. this.timer = setInterval(() => {
  52. this.time = formatDate()
  53. }, 1000)
  54. },
  55. beforeDestroy () {
  56. if (this.timer) {
  57. clearInterval(this.timer);
  58. }
  59. },
  60. mounted () {
  61. setTimeout(() => {
  62. // 左侧图表
  63. //this.initChartTip()
  64. this.initChartTip2()
  65. this.initChartTip3()
  66. this.initChartTip4()
  67. this.initChartL1()
  68. this.initChartL2()
  69. this.initChartR1()
  70. this.initChinaChart()
  71. this.initProjectList()
  72. }, 0)
  73. },
  74. methods: {
  75. numFormat (value) {
  76. if (!value) return '0'
  77. var intPart = Number(value).toFixed(0) // 获取整数部分
  78. var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') // 将整数部分逢三一断
  79. var floatPart = '.00' // 预定义小数部分
  80. var value2Array = value.toString().split('.')
  81. // =2表示数据有小数位
  82. if (value2Array.length === 2) {
  83. floatPart = value2Array[1].toString() // 拿到小数部分
  84. if (floatPart.length === 1) {
  85. // 补0
  86. return intPartFormat + '.' + floatPart + '0'
  87. } else {
  88. return intPartFormat + '.' + floatPart
  89. }
  90. } else {
  91. return intPartFormat
  92. }
  93. },
  94. convertData (data) {
  95. var res = []
  96. for (var i = 0; i < data.length; i++) {
  97. var geoCoord = this.geoCoordMap[data[i].name]
  98. if (geoCoord) {
  99. res.push({
  100. name: data[i].name,
  101. value: geoCoord.concat(data[i].value),
  102. })
  103. }
  104. }
  105. return res
  106. },
  107. initChinaChart () {
  108. var data = [
  109. { name: '大同市', value: 190 },
  110. { name: '朔州市', value: 160 },
  111. { name: '忻州市', value: 140 },
  112. { name: '吕梁市', value: 150 },
  113. { name: '太原市', value: 300 },
  114. { name: '阳泉市', value: 110 },
  115. { name: '晋中市', value: 100 },
  116. { name: '临汾市', value: 190 },
  117. { name: '长治市', value: 100 },
  118. { name: '运城市', value: 180 },
  119. { name: '晋城市', value: 280 }
  120. ]
  121. var moveLine = {
  122. normal: [
  123. {
  124. fromName: '太原市',
  125. toName: '吕梁市',
  126. coords: [
  127. [112.3352, 37.9413],
  128. [111.3574, 37.7325],
  129. ],
  130. },
  131. {
  132. fromName: '太原市',
  133. toName: '忻州市',
  134. coords: [
  135. [112.3352, 37.9413],
  136. [112.4561, 38.8971],
  137. ],
  138. },
  139. {
  140. fromName: '太原市',
  141. toName: '临汾市',
  142. coords: [
  143. [112.3352, 37.9413],
  144. [111.4783, 36.1615],
  145. ],
  146. },
  147. {
  148. fromName: '太原市',
  149. toName: '阳泉市',
  150. coords: [
  151. [112.3352, 37.9413],
  152. [113.4778, 38.0951],
  153. ],
  154. },
  155. {
  156. fromName: '太原市',
  157. toName: '晋中市',
  158. coords: [
  159. [112.3352, 37.9413],
  160. [112.7747, 37.37],
  161. ],
  162. },
  163. {
  164. fromName: '太原市',
  165. toName: '运城市',
  166. coords: [
  167. [112.3352, 37.9413],
  168. [111.1487, 35.2002],
  169. ],
  170. },
  171. {
  172. fromName: '太原市',
  173. toName: '大同市',
  174. coords: [
  175. [112.3352, 37.9413],
  176. [113.7854, 39.8035],
  177. ],
  178. },
  179. {
  180. fromName: '太原市',
  181. toName: '晋城市',
  182. coords: [
  183. [112.3352, 37.9413],
  184. [112.7856, 35.6342],
  185. ],
  186. },
  187. {
  188. fromName: '太原市',
  189. toName: '长治市',
  190. coords: [
  191. [112.3352, 37.9413],
  192. [112.8625, 36.4746],
  193. ],
  194. },
  195. {
  196. fromName: '太原市',
  197. toName: '朔州市',
  198. coords: [
  199. [112.3352, 37.9413],
  200. [113.0713, 39.6991],
  201. ],
  202. },
  203. ],
  204. }
  205. /*获取地图数据*/
  206. let myChart = echarts.init(this.$refs['echarts-map'])
  207. echarts.registerMap('shanxi', {
  208. type: 'FeatureCollection',
  209. features: [
  210. {
  211. type: 'Feature',
  212. id: '1409',
  213. properties: { name: '忻州市', cp: [112.4561, 38.8971], childNum: 14 },
  214. geometry: {
  215. type: 'Polygon',
  216. coordinates: [
  217. '@@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',
  218. ],
  219. encodeOffsets: [[113614, 39657]],
  220. },
  221. },
  222. {
  223. type: 'Feature',
  224. id: '1411',
  225. properties: { name: '吕梁市', cp: [111.3574, 37.7325], childNum: 13 },
  226. geometry: {
  227. type: 'Polygon',
  228. coordinates: [
  229. '@@@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',
  230. ],
  231. encodeOffsets: [[113614, 39657]],
  232. },
  233. },
  234. {
  235. type: 'Feature',
  236. id: '1410',
  237. properties: { name: '临汾市', cp: [111.4783, 36.1615], childNum: 17 },
  238. geometry: {
  239. type: 'Polygon',
  240. coordinates: [
  241. '@@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',
  242. ],
  243. encodeOffsets: [[113063, 37784]],
  244. },
  245. },
  246. {
  247. type: 'Feature',
  248. id: '1407',
  249. properties: { name: '晋中市', cp: [112.7747, 37.37], childNum: 11 },
  250. geometry: {
  251. type: 'Polygon',
  252. coordinates: [
  253. '@@@š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@',
  254. ],
  255. encodeOffsets: [[114087, 37682]],
  256. },
  257. },
  258. {
  259. type: 'Feature',
  260. id: '1408',
  261. properties: { name: '运城市', cp: [111.1487, 35.2002], childNum: 13 },
  262. geometry: {
  263. type: 'Polygon',
  264. coordinates: [
  265. '@@„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@„',
  266. ],
  267. encodeOffsets: [[113232, 36597]],
  268. },
  269. },
  270. {
  271. type: 'Feature',
  272. id: '1402',
  273. properties: { name: '大同市', cp: [113.7854, 39.8035], childNum: 8 },
  274. geometry: {
  275. type: 'Polygon',
  276. coordinates: [
  277. '@@²£š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',
  278. ],
  279. encodeOffsets: [[115335, 41209]],
  280. },
  281. },
  282. {
  283. type: 'Feature',
  284. id: '1404',
  285. properties: { name: '长治市', cp: [112.8625, 36.4746], childNum: 12 },
  286. geometry: {
  287. type: 'Polygon',
  288. coordinates: [
  289. '@@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',
  290. ],
  291. encodeOffsets: [[116269, 37637]],
  292. },
  293. },
  294. {
  295. type: 'Feature',
  296. id: '1406',
  297. properties: { name: '朔州市', cp: [113.0713, 39.6991], childNum: 5 },
  298. geometry: {
  299. type: 'Polygon',
  300. coordinates: [
  301. '@@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‚',
  302. ],
  303. encodeOffsets: [[114615, 40562]],
  304. },
  305. },
  306. {
  307. type: 'Feature',
  308. id: '1405',
  309. properties: { name: '晋城市', cp: [112.7856, 35.6342], childNum: 6 },
  310. geometry: {
  311. type: 'Polygon',
  312. coordinates: [
  313. '@@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°',
  314. ],
  315. encodeOffsets: [[115223, 36895]],
  316. },
  317. },
  318. {
  319. type: 'Feature',
  320. id: '1401',
  321. properties: { name: '太原市', cp: [112.3352, 37.9413], childNum: 5 },
  322. geometry: {
  323. type: 'Polygon',
  324. coordinates: [
  325. '@@„@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š@°',
  326. ],
  327. encodeOffsets: [[114503, 39134]],
  328. },
  329. },
  330. {
  331. type: 'Feature',
  332. id: '1403',
  333. properties: { name: '阳泉市', cp: [113.4778, 38.0951], childNum: 3 },
  334. geometry: {
  335. type: 'Polygon',
  336. coordinates: [
  337. '@@°@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',
  338. ],
  339. encodeOffsets: [[115864, 39336]],
  340. },
  341. },
  342. ],
  343. UTF8Encoding: true,
  344. })
  345. var mapFeatures = echarts.getMap(this.mapName).geoJson.features
  346. mapFeatures.forEach(v => {
  347. // 地区名称
  348. var name = v.properties.name
  349. // 地区经纬度
  350. this.geoCoordMap[name] = v.properties.cp
  351. })
  352. // <p>当前阶段:<span>可论证阶段</span></p>
  353. // <p>时间节点:<span>2021.10-2022.10</span></p>
  354. let option = {
  355. tooltip: {
  356. padding: 15,
  357. enterable: true,
  358. transitionDuration: 1,
  359. formatter: (params, ticket, callback) => {
  360. // 清空所有轮播
  361. for (var k in this.geoCoordMap) {
  362. myChart.dispatchAction({
  363. // type: 'geoUnSelect',
  364. type: 'downplay',
  365. name: k,
  366. })
  367. }
  368. // 如果鼠标滑动到线线上面,则返回空
  369. myChart.dispatchAction({
  370. // type: 'geoSelect',
  371. type: 'highlight',
  372. name: params.name,
  373. })
  374. if (params.componentSubType == 'lines') {
  375. return
  376. }
  377. if (params.componentSubType == 'scatter') {
  378. let tipHtml = `
  379. <div class="tooltip-cont">
  380. <p>新开工:<span>工程建设项目</span></p>
  381. <p>总投资额:<span>${params.data.value[2]}亿</span></p>
  382. </div>`
  383. callback(ticket, tipHtml)
  384. return tipHtml
  385. }
  386. if (params.componentSubType == 'map') {
  387. let tipHtml = `
  388. <div class="tooltip-cont">
  389. <p>新开工:<span>工程建设项目</span></p>
  390. <p>总投资额:<span>${params.data.value}亿</span></p>
  391. </div>`
  392. callback(ticket, tipHtml)
  393. return tipHtml
  394. }
  395. },
  396. },
  397. visualMap: {
  398. show: false,
  399. min: 0,
  400. max: 300,
  401. right: 0,
  402. bottom: 0,
  403. text: ['高', '低'],
  404. textStyle: {
  405. color: '#f1f1f1'
  406. },
  407. realtime: false,
  408. calculable: false,
  409. inRange: {
  410. color: ['lightskyblue', '#2754b7']
  411. }
  412. },
  413. geo: {
  414. show: true,
  415. map: 'shanxi',
  416. layoutCenter: ['50%', '50%'], //地图位置
  417. layoutSize: '100%',
  418. label: {
  419. normal: {
  420. show: false,
  421. },
  422. emphasis: {
  423. show: false,
  424. },
  425. },
  426. roam: false,
  427. itemStyle: {
  428. normal: {
  429. areaColor: '#1946a8',
  430. shadowColor: '#1946a8',
  431. borderWidth: 1, //设置外层边框
  432. borderColor: '#1946a8',
  433. shadowOffsetX: 10,
  434. shadowOffsetY: 5,
  435. shadowBlur: 2,
  436. },
  437. emphasis: {
  438. areaColor: '#1946a8',
  439. borderColor: '#d4bc1d',
  440. borderWidth: 2, //设置外层边框
  441. },
  442. },
  443. },
  444. series: [
  445. {
  446. name: '散点',
  447. type: 'scatter',
  448. coordinateSystem: 'geo',
  449. data: this.convertData(data),
  450. symbolSize: function (val) {
  451. return 10
  452. },
  453. label: {
  454. normal: {
  455. formatter: '{b}',
  456. position: [10, 10],
  457. fontSize: 15,
  458. fontWeight: 600,
  459. fontStyle: 'italic',
  460. color: '#fff',
  461. show: true,
  462. },
  463. emphasis: {
  464. show: true,
  465. },
  466. },
  467. itemStyle: {
  468. normal: {
  469. color: '#000',
  470. borderWidth: 2,
  471. borderColor: '#fff',
  472. },
  473. },
  474. },
  475. {
  476. type: 'map',
  477. map: this.mapName,
  478. geoIndex: 0,
  479. aspectScale: 1.5, //长宽比
  480. showLegendSymbol: true, // 存在legend时显示
  481. label: {
  482. normal: {
  483. show: true,
  484. },
  485. emphasis: {
  486. show: false,
  487. textStyle: {
  488. color: '#fff',
  489. },
  490. },
  491. },
  492. roam: true,
  493. itemStyle: {
  494. normal: {
  495. areaColor: '#031525',
  496. borderColor: '#3B5077',
  497. },
  498. emphasis: {
  499. areaColor: '#2B91B7',
  500. },
  501. },
  502. animation: false,
  503. data: data,
  504. },
  505. {
  506. name: '点',
  507. type: 'scatter',
  508. coordinateSystem: 'geo',
  509. zlevel: 6,
  510. },
  511. {
  512. name: 'Top 5',
  513. type: 'effectScatter',
  514. coordinateSystem: 'geo',
  515. data: this.convertData(
  516. data
  517. .sort(function (a, b) {
  518. return b.value - a.value
  519. })
  520. .slice(0, 5)
  521. ),
  522. symbolSize: function (val) {
  523. return 15
  524. },
  525. showEffectOn: 'render',
  526. rippleEffect: {
  527. brushType: 'stroke',
  528. },
  529. hoverAnimation: true,
  530. label: {
  531. normal: {
  532. formatter: '{b}',
  533. position: 'left',
  534. show: false,
  535. },
  536. },
  537. itemStyle: {
  538. normal: {
  539. color: 'yellow',
  540. shadowBlur: 10,
  541. shadowColor: 'yellow',
  542. },
  543. },
  544. zlevel: 1000,
  545. },
  546. {
  547. name: '线路',
  548. type: 'lines',
  549. zlevel: 2,
  550. effect: {
  551. show: true,
  552. period: 4, //箭头指向速度,值越小速度越快
  553. trailLength: 0.02, //特效尾迹长度[0,1]值越大,尾迹越长重
  554. symbol: 'arrow', //箭头图标
  555. symbolSize: 5, //图标大小
  556. },
  557. lineStyle: {
  558. normal: {
  559. color: '#00FFFF',
  560. width: 1,
  561. type: 'dashed',
  562. opacity: 0.5, //尾迹线条透明度
  563. curveness: -0.3, //尾迹线条曲直度
  564. },
  565. },
  566. data: moveLine.normal,
  567. },
  568. ],
  569. }
  570. let that = this
  571. myChart.on('click', function (params) {
  572. console.log(params)
  573. if (params.name == '太原市') {
  574. that.showTip = true
  575. }
  576. // window.open('https://www.baidu.com')
  577. })
  578. tools.loopShowTooltip(myChart, option, {
  579. interval: 2000,
  580. loopSeries: false,
  581. });
  582. myChart.setOption(option)
  583. },
  584. // initChartTip(){
  585. // let myChart = echarts.init(this.$refs['echartTip'])
  586. // let option = {
  587. // tooltip: {
  588. // trigger: 'item',
  589. // },
  590. // color: ['#6682f5', '#69c0ff', '#43ede3','#8ba2ff'],
  591. // legend: {
  592. // top: '0',
  593. // orient: 'vertical',
  594. // left: '2%',
  595. // textStyle: {
  596. // color: '#9DB9EB',
  597. // },
  598. // },
  599. // series: [
  600. // {
  601. // name: '',
  602. // type: 'pie',
  603. // center: ['45%','40%'],
  604. // radius: ['35%', '50%'],
  605. // labelLine: {
  606. // normal: {
  607. // lineStyle: {
  608. // width: 1,
  609. // },
  610. // },
  611. // },
  612. // data: statusList,
  613. // },
  614. // ],
  615. // }
  616. // myChart.setOption(option)
  617. // tools.loopShowTooltip(myChart, option, {
  618. // nterval: 2000,
  619. // loopSeries: true,
  620. // })
  621. // myChart.on('click', function(param) {
  622. // console.log(param)
  623. // window.open('https://www.baidu.com')
  624. // })
  625. // },
  626. initChartTip2 () {
  627. let myChart = echarts.init(this.$refs['echartTip2'])
  628. let option = {
  629. tooltip: {
  630. trigger: 'axis',
  631. axisPointer: {
  632. type: 'cross',
  633. },
  634. },
  635. // dataZoom:[
  636. // {
  637. // // start: 9,//默认为@
  638. // // end: 100,//黑认认为1@0
  639. // type: "slider",
  640. // show: true,
  641. // // xAxisIndex: [0]
  642. // handlesize: 0,//滑动条的 左右2个滑动条的大小
  643. // startValue: 9,// 初始显示值
  644. // endValue: 6,// 结束显示值
  645. // height: 10,//组件高度
  646. // left:"5%",
  647. // right: "4%",//右边的距离
  648. // bottom: "25%",//底边的距离
  649. // borderColor:"#939",
  650. // fillerColor:"#269cdb",
  651. // borderRadius: 5,
  652. // backgroundColor: "#33384b",//两边未选中的滑动条区域的额色
  653. // showDataShadow: false,//是否显示数据阴影
  654. // showDetail: false,//即拖拽时候是否显示详细数值信息
  655. // truerealtime: false,//是否实时更新
  656. // filterMode: "filter"
  657. // },{
  658. // type:'inside',
  659. // show: true,
  660. // start: 1,
  661. // end: 100
  662. // }
  663. // ],
  664. grid: {
  665. top: '10%',
  666. right: '3%',
  667. left: '10%',
  668. bottom: '30%',
  669. },
  670. legend: {
  671. top: '1',
  672. right: '20',
  673. textStyle: {
  674. color: 'rgba(250,250,250,0.6)',
  675. },
  676. },
  677. xAxis: {
  678. data: tipData.map(item => item.name),
  679. axisLine: {
  680. show: true, //隐藏X轴轴线
  681. lineStyle: {
  682. color: '#005094',
  683. width: 1,
  684. },
  685. },
  686. axisTick: {
  687. show: false, //隐藏X轴刻度
  688. },
  689. axisLabel: {
  690. show: true,
  691. rotate: 40,
  692. textStyle: {
  693. color: 'rgba(255,255,255,0.6)', //X轴文字颜色
  694. },
  695. },
  696. },
  697. yAxis: [
  698. {
  699. type: 'value',
  700. nameTextStyle: {
  701. color: '#ebf8ac',
  702. },
  703. splitLine: {
  704. show: true,
  705. lineStyle: {
  706. color: '#68b4dd66',
  707. type: 'dashed',
  708. },
  709. },
  710. axisLine: {
  711. show: true,
  712. lineStyle: {
  713. color: '#3D7495',
  714. },
  715. },
  716. axisLabel: {
  717. show: true,
  718. formatter: '{value} 亿',
  719. textStyle: {
  720. color: 'rgba(250,250,250,0.6)',
  721. },
  722. },
  723. },
  724. ],
  725. series: [
  726. {
  727. name: '投资金额',
  728. type: 'bar',
  729. barWidth: 15,
  730. itemStyle: {
  731. normal: {
  732. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  733. {
  734. offset: 0,
  735. color: '#69c0ff',
  736. },
  737. {
  738. offset: 1,
  739. color: '#082550',
  740. },
  741. ]),
  742. },
  743. },
  744. data: tipData.map(item => item.value),
  745. },
  746. // {
  747. // name: '实际投资',
  748. // type: 'bar',
  749. // barWidth: 10,
  750. // itemStyle: {
  751. // normal: {
  752. // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  753. // {
  754. // offset: 0,
  755. // color: '#957DFF',
  756. // },
  757. // {
  758. // offset: 1,
  759. // color: '#082550',
  760. // },
  761. // ]),
  762. // },
  763. // },
  764. // data: executeList.map(item=>item.value2),
  765. // },
  766. ],
  767. }
  768. myChart.on('click', function (data) {
  769. if (data.name == '交控集团') {
  770. window.location.href = './investHomeChild.html?type=1'
  771. }
  772. })
  773. tools.loopShowTooltip(myChart, option, {
  774. nterval: 2000,
  775. loopSeries: true,
  776. })
  777. myChart.setOption(option)
  778. },
  779. initChartTip3 () {
  780. let myChart = echarts.init(this.$refs['echartTip3'])
  781. let option = {
  782. title: {
  783. //text : '产业类别',
  784. x: 'center',
  785. textStyle: {
  786. color: '#fff'
  787. }
  788. },
  789. tooltip: {
  790. trigger: 'axis',
  791. axisPointer: {
  792. type: 'cross',
  793. },
  794. },
  795. grid: {
  796. top: '15%',
  797. right: '3%',
  798. left: '10%',
  799. bottom: '30%',
  800. },
  801. legend: {
  802. top: '1',
  803. right: '15',
  804. textStyle: {
  805. color: 'rgba(250,250,250,0.6)',
  806. },
  807. },
  808. xAxis: {
  809. data: tipTopData.map(item => item.name),
  810. axisLine: {
  811. show: true, //隐藏X轴轴线
  812. lineStyle: {
  813. color: '#005094',
  814. width: 1,
  815. },
  816. },
  817. axisTick: {
  818. show: false, //隐藏X轴刻度
  819. },
  820. axisLabel: {
  821. show: true,
  822. rotate: 30,
  823. textStyle: {
  824. color: 'rgba(255,255,255,0.6)', //X轴文字颜色
  825. },
  826. },
  827. },
  828. yAxis: [
  829. {
  830. type: 'value',
  831. nameTextStyle: {
  832. color: '#ebf8ac',
  833. },
  834. splitLine: {
  835. show: true,
  836. lineStyle: {
  837. color: '#68b4dd66',
  838. type: 'dashed',
  839. },
  840. },
  841. axisLine: {
  842. show: true,
  843. lineStyle: {
  844. color: '#3D7495',
  845. },
  846. },
  847. axisLabel: {
  848. show: true,
  849. formatter: '{value} 亿',
  850. textStyle: {
  851. color: 'rgba(250,250,250,0.6)',
  852. },
  853. },
  854. },
  855. ],
  856. series: [
  857. {
  858. name: '2022年投资完成额',
  859. type: 'line',
  860. barWidth: 15,
  861. itemStyle: {
  862. normal: {
  863. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  864. {
  865. offset: 0,
  866. color: '#69c0ff',
  867. },
  868. {
  869. offset: 1,
  870. color: '#69c0ff',
  871. },
  872. ]),
  873. },
  874. },
  875. data: tipTopData.map(item => item.value),
  876. },
  877. // {
  878. // name: '实际投资',
  879. // type: 'bar',
  880. // barWidth: 10,
  881. // itemStyle: {
  882. // normal: {
  883. // color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  884. // {
  885. // offset: 0,
  886. // color: '#957DFF',
  887. // },
  888. // {
  889. // offset: 1,
  890. // color: '#082550',
  891. // },
  892. // ]),
  893. // },
  894. // },
  895. // data: executeList.map(item=>item.value2),
  896. // },
  897. ],
  898. }
  899. myChart.setOption(option)
  900. tools.loopShowTooltip(myChart, option, {
  901. nterval: 2000,
  902. loopSeries: true,
  903. })
  904. },
  905. initChartTip4 () {
  906. let myChart = echarts.init(this.$refs['echartTip4'])
  907. let option = {
  908. title: {
  909. //text : '投资项目列表',
  910. x: 'center',
  911. textStyle: {
  912. color: '#fff'
  913. }
  914. },
  915. tooltip: {
  916. trigger: 'axis',
  917. axisPointer: {
  918. type: 'cross',
  919. },
  920. },
  921. // dataZoom:[
  922. // {
  923. // // start: 9,//默认为@
  924. // // end: 100,//黑认认为1@0
  925. // type: "slider",
  926. // show: true,
  927. // // xAxisIndex: [0]
  928. // handlesize: 0,//滑动条的 左右2个滑动条的大小
  929. // startValue: 9,// 初始显示值
  930. // endValue: 6,// 结束显示值
  931. // height: 10,//组件高度
  932. // left:"5%",
  933. // right: "4%",//右边的距离
  934. // bottom: "25%",//底边的距离
  935. // borderColor:"#939",
  936. // fillerColor:"#269cdb",
  937. // borderRadius: 5,
  938. // backgroundColor: "#33384b",//两边未选中的滑动条区域的额色
  939. // showDataShadow: false,//是否显示数据阴影
  940. // showDetail: false,//即拖拽时候是否显示详细数值信息
  941. // truerealtime: false,//是否实时更新
  942. // filterMode: "filter"
  943. // },{
  944. // type:'inside',
  945. // show: true,
  946. // start: 1,
  947. // end: 100
  948. // }
  949. // ],
  950. grid: {
  951. top: '15%',
  952. right: '3%',
  953. left: '10%',
  954. bottom: '20%',
  955. },
  956. legend: {
  957. top: '0',
  958. right: '20',
  959. textStyle: {
  960. color: 'rgba(250,250,250,0.6)',
  961. },
  962. },
  963. xAxis: {
  964. data: tipBottomData.map(item => item.name),
  965. axisLine: {
  966. show: true, //隐藏X轴轴线
  967. lineStyle: {
  968. color: '#005094',
  969. width: 1,
  970. },
  971. },
  972. axisTick: {
  973. show: false, //隐藏X轴刻度
  974. },
  975. axisLabel: {
  976. show: true,
  977. rotate: 30,
  978. textStyle: {
  979. color: 'rgba(255,255,255,0.6)', //X轴文字颜色
  980. },
  981. },
  982. },
  983. yAxis: [
  984. {
  985. type: 'value',
  986. nameTextStyle: {
  987. color: '#ebf8ac',
  988. },
  989. splitLine: {
  990. show: true,
  991. lineStyle: {
  992. color: '#68b4dd66',
  993. type: 'dashed',
  994. },
  995. },
  996. axisLine: {
  997. show: true,
  998. lineStyle: {
  999. color: '#3D7495',
  1000. },
  1001. },
  1002. axisLabel: {
  1003. show: true,
  1004. formatter: '{value} 亿',
  1005. textStyle: {
  1006. color: 'rgba(250,250,250,0.6)',
  1007. },
  1008. },
  1009. },
  1010. ],
  1011. series: [
  1012. {
  1013. name: '2022年投资完成额',
  1014. type: 'bar',
  1015. barWidth: 15,
  1016. itemStyle: {
  1017. normal: {
  1018. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1019. {
  1020. offset: 0,
  1021. color: '#69c0ff',
  1022. },
  1023. {
  1024. offset: 1,
  1025. color: '#082550',
  1026. },
  1027. ]),
  1028. },
  1029. },
  1030. data: tipBottomData.map(item => item.value),
  1031. },
  1032. ],
  1033. }
  1034. myChart.on('click', function (data) {
  1035. if (data.name == '华阳新材') {
  1036. window.location.href = './investHomeChild.html?type=2'
  1037. }
  1038. })
  1039. myChart.setOption(option)
  1040. tools.loopShowTooltip(myChart, option, {
  1041. nterval: 2000,
  1042. loopSeries: true,
  1043. })
  1044. },
  1045. initChartL1 () {
  1046. let myChart = echarts.init(this.$refs['echartR1'])
  1047. let option = {
  1048. tooltip: {
  1049. trigger: 'item',
  1050. formatter: params => {
  1051. return `<span style="display:inline-block;border-radius:50%; width:7px;height:7px;background-color:${params.color}"></span> ${params.name}:${params.value} <br/><span style="display:inline-block;border-radius:50%; width:7px;height:7px;background-color:${params.color}"></span> 投资占比:${params.percent}%`
  1052. }, //+ '<br/>'+ '{a1}:{c1}' + '%',
  1053. axisPointer: {
  1054. type: 'cross',
  1055. },
  1056. },
  1057. color: ['#6682f5', '#69c0ff', '#43ede3', '#8ba2ff'],
  1058. legend: {
  1059. top: 'center',
  1060. orient: 'vertical',
  1061. right: '2%',
  1062. textStyle: {
  1063. color: '#9DB9EB',
  1064. },
  1065. },
  1066. series: [
  1067. // {
  1068. // hoverOffset: 0,
  1069. // startAngle: 90,
  1070. // type: "pie",
  1071. // radius: [48, 55],
  1072. // center: ["50%", "50%"],
  1073. // itemStyle: {
  1074. // normal: {
  1075. // borderColor: 'rgba(1,31,6,0.7)',
  1076. // borderWidth: 4
  1077. // }
  1078. // },
  1079. // tooltip: {
  1080. // show: false
  1081. // },
  1082. // labelLine: {
  1083. // show: false
  1084. // },
  1085. // label: {
  1086. // show: false
  1087. // },
  1088. // data: industryList
  1089. // },
  1090. {
  1091. name: '',
  1092. type: 'pie',
  1093. radius: ['55%', '80%'],
  1094. itemStyle: {
  1095. normal: {
  1096. borderColor: 'rgba(1,31,64,0.7)',
  1097. borderWidth: 6
  1098. }
  1099. },
  1100. labelLine: {
  1101. normal: {
  1102. lineStyle: {
  1103. width: 1,
  1104. },
  1105. },
  1106. },
  1107. data: industryList,
  1108. },
  1109. ],
  1110. }
  1111. let that = this
  1112. myChart.on('click', function (param) {
  1113. console.log(param)
  1114. if (param.name == '战略新兴产业投资') {
  1115. that.tipTitle2 = param.name
  1116. that.showTip2 = true
  1117. }
  1118. })
  1119. myChart.setOption(option)
  1120. tools.loopShowTooltip(myChart, option, {
  1121. nterval: 2000,
  1122. loopSeries: true,
  1123. })
  1124. },
  1125. initChartL2 () {
  1126. let myChart = echarts.init(this.$refs['echartL2'])
  1127. let option = {
  1128. tooltip: {
  1129. trigger: 'axis',
  1130. axisPointer: {
  1131. type: 'cross',
  1132. },
  1133. },
  1134. grid: {
  1135. top: '16%',
  1136. right: '3%',
  1137. left: '10%',
  1138. bottom: '23%',
  1139. },
  1140. legend: {
  1141. top: '1',
  1142. right: '10',
  1143. textStyle: {
  1144. color: 'rgba(250,250,250,0.6)',
  1145. },
  1146. },
  1147. xAxis: {
  1148. data: executeList.map(item => item.name),
  1149. axisLine: {
  1150. show: true, //隐藏X轴轴线
  1151. lineStyle: {
  1152. color: '#005094',
  1153. width: 1,
  1154. },
  1155. },
  1156. axisTick: {
  1157. show: false, //隐藏X轴刻度
  1158. },
  1159. axisLabel: {
  1160. show: true,
  1161. rotate: 40,
  1162. textStyle: {
  1163. color: 'rgba(255,255,255,0.6)', //X轴文字颜色
  1164. },
  1165. },
  1166. },
  1167. yAxis: [
  1168. {
  1169. type: 'value',
  1170. nameTextStyle: {
  1171. color: '#ebf8ac',
  1172. },
  1173. splitLine: {
  1174. show: true,
  1175. lineStyle: {
  1176. color: '#68b4dd66',
  1177. type: 'dashed',
  1178. },
  1179. },
  1180. axisLine: {
  1181. show: true,
  1182. lineStyle: {
  1183. color: '#3D7495',
  1184. },
  1185. },
  1186. axisLabel: {
  1187. show: true,
  1188. textStyle: {
  1189. color: 'rgba(250,250,250,0.6)',
  1190. },
  1191. },
  1192. },
  1193. ],
  1194. series: [
  1195. {
  1196. name: '计划投资',
  1197. type: 'bar',
  1198. barWidth: 10,
  1199. itemStyle: {
  1200. normal: {
  1201. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1202. {
  1203. offset: 0,
  1204. color: '#69c0ff',
  1205. },
  1206. {
  1207. offset: 1,
  1208. color: '#082550',
  1209. },
  1210. ]),
  1211. },
  1212. },
  1213. data: executeList.map(item => item.value),
  1214. },
  1215. {
  1216. name: '实际投资',
  1217. type: 'bar',
  1218. barWidth: 10,
  1219. itemStyle: {
  1220. normal: {
  1221. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1222. {
  1223. offset: 0,
  1224. color: '#957DFF',
  1225. },
  1226. {
  1227. offset: 1,
  1228. color: '#082550',
  1229. },
  1230. ]),
  1231. },
  1232. },
  1233. data: executeList.map(item => item.value2),
  1234. },
  1235. ],
  1236. }
  1237. myChart.setOption(option)
  1238. tools.loopShowTooltip(myChart, option, {
  1239. nterval: 2000,
  1240. loopSeries: true,
  1241. })
  1242. },
  1243. initChartR1 () {
  1244. let myChart = echarts.init(this.$refs['echartL1'])
  1245. let option = {
  1246. tooltip: {
  1247. trigger: 'axis',
  1248. formatter: '{a0}:{c0}' + '亿元', //+ '<br/>'+ '{a1}:{c1}' + '%',
  1249. axisPointer: {
  1250. type: 'cross',
  1251. },
  1252. },
  1253. grid: {
  1254. top: '16%',
  1255. right: '10%',
  1256. left: '10%',
  1257. bottom: '22%',
  1258. },
  1259. // legend: {
  1260. // top: '1',
  1261. // textStyle: {
  1262. // color: 'rgba(250,250,250,0.6)',
  1263. // },
  1264. // },
  1265. xAxis: {
  1266. data: statusList.map(item => item.name),
  1267. axisLine: {
  1268. show: true, //隐藏X轴轴线
  1269. lineStyle: {
  1270. color: '#005094',
  1271. width: 1,
  1272. },
  1273. },
  1274. axisTick: {
  1275. show: false, //隐藏X轴刻度
  1276. },
  1277. axisLabel: {
  1278. show: true,
  1279. rotate: 20,
  1280. textStyle: {
  1281. color: 'rgba(255,255,255,0.6)', //X轴文字颜色
  1282. },
  1283. },
  1284. },
  1285. yAxis: [
  1286. {
  1287. type: 'value',
  1288. name: '亿元',
  1289. nameTextStyle: {
  1290. color: 'rgba(255,255,255,0.6)',
  1291. },
  1292. splitLine: {
  1293. show: true,
  1294. lineStyle: {
  1295. color: '#68b4dd66',
  1296. type: 'dashed',
  1297. },
  1298. },
  1299. axisLine: {
  1300. show: true,
  1301. lineStyle: {
  1302. color: '#3D7495',
  1303. },
  1304. },
  1305. axisLabel: {
  1306. show: true,
  1307. textStyle: {
  1308. color: 'rgba(250,250,250,0.6)',
  1309. },
  1310. },
  1311. },
  1312. {
  1313. type: 'value',
  1314. axisLine: {
  1315. show: false,
  1316. },
  1317. splitLine: {
  1318. show: false,
  1319. },
  1320. axisLabel: {
  1321. show: true,
  1322. formatter: '{value} %',
  1323. textStyle: {
  1324. color: 'rgba(250,250,250,0.6)',
  1325. },
  1326. },
  1327. },
  1328. ],
  1329. series: [
  1330. {
  1331. type: 'bar',
  1332. name: '投资金额',
  1333. barWidth: 15,
  1334. itemStyle: {
  1335. normal: {
  1336. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1337. {
  1338. offset: 0,
  1339. color: '#69c0ff',
  1340. },
  1341. {
  1342. offset: 1,
  1343. color: '#082550',
  1344. },
  1345. ]),
  1346. },
  1347. },
  1348. data: statusList.map(item => item.value),
  1349. },
  1350. ],
  1351. }
  1352. myChart.setOption(option)
  1353. tools.loopShowTooltip(myChart, option, {
  1354. nterval: 2000,
  1355. loopSeries: true,
  1356. })
  1357. },
  1358. initProjectList () {
  1359. let dataList = []
  1360. projectList.map(item => {
  1361. dataList.push([item.name, item.value + '亿', item.status])
  1362. })
  1363. this.storageRecordConfig = {
  1364. header: ['项目名称', '投资金额', '项目进度'],
  1365. headerBGC: '#05507b33',
  1366. oddRowBGC: '#05507b33',
  1367. evenRowBGC: '',
  1368. headerHeight: '40',
  1369. rowNum: 5,
  1370. columnWidth: [350, 100],
  1371. align: ['center', 'center', 'center'],
  1372. data: dataList,
  1373. }
  1374. }
  1375. },
  1376. })