copyHome2.js 133 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648
  1. let app = new Vue({
  2. el: '#app',
  3. data () {
  4. return {
  5. count: 0,
  6. countType: 0,
  7. type: true, // 切换柱状图状态
  8. showTip2: false,
  9. showTip3: false,
  10. timer2: '',
  11. echartTitle: '',
  12. year: '2022',
  13. time: '',
  14. timer: '',
  15. mapName: 'shanxi',
  16. geoCoordMap: {},
  17. config1: {
  18. number: [100],
  19. content: '{nt}个',
  20. },
  21. storageRecordConfig: {
  22. // waitTime: '30000',
  23. hoverPause: false,
  24. header: ['企业集团', '项目名 ', '投资总额'],
  25. // headerBGC: '#05507b33',
  26. // oddRowBGC: '#05507b33',
  27. // evenRowBGC: '#05507b33',
  28. headerBGC: '#05183c',
  29. headerBGC: '#05507b33',
  30. oddRowBGC: '#05183c',
  31. evenRowBGC: '#05183c',
  32. rowNum: 4,
  33. align: ['center'],
  34. data: [
  35. // ['国际能源', '娄烦县120MW智慧光伏发电项目+10%储能', "6.78亿元 "],
  36. // ['国际能源', '平朔矿区150MW农光储氢一体化项目', "7.84亿元"],
  37. // ['汾酒集团', '汾酒2030技改原酒产储能扩建项目(一期)', "91.02亿元 "],
  38. // ['大地控股', '山西大地控股忻州新店矿业有限公司投资建设年产800万吨精品砂石骨料项目', "8.67亿元 "],
  39. // ['潞安化工', '分布式光伏发电项目', "2.01亿元 "],
  40. // ['太重集团', '设立太重(大同)新能源产业投资公司', "0.30亿元 "],
  41. // ['大地控股', '山西大地宏翔环保科技有限公司电厂固废资源化综合利用建设项目', "3.60亿元 "],
  42. // ['大地控股', '山西大地海科环保科技有限公司电厂固废资源化综合利用建设项目', "3.11亿元 "],
  43. // ['汾酒集团', '保健酒园区新增原酒产能项目', "4.98亿元 "],
  44. // ['汾酒集团', '白玉酒厂改扩建项目', "4.96亿元 "],
  45. // ['华阳新材', '5GW高效光伏组件制造项目', "4.82亿元 "],
  46. // ['华新燃气', '吉县—延长输气管道项目(一期工程)', "3.54亿元 "],
  47. // ['太重集团', '建设液压挖掘机配套油缸项目', "2.60亿元 "],
  48. // ['华远陆港', '物产集团参股设立项目公司投资建设山西物产万科(太原)综合物流产业园项目', "6.60亿元 "],
  49. // ['太重集团', '设立昔阳县晶能新能源有限公司', "0.50亿元 "],
  50. // ['山西建投', '设立山西低碳环保产业集团有限公司', "30.00亿元 "],
  51. // ['山西建投', '设立山西省太忻经济一体化发展投资集团有限公司', "30.00亿元 "],
  52. // ['华新燃气', '设立山西华新液化天然气集团有限公司', "3.00亿元 "],
  53. // ['交控集团', '设立山西交控新能源发展有限公司', "3.00亿元 "],
  54. ['国际能源', '娄烦县120MW智慧光伏发电项目+10%储能', "6.78亿元"],
  55. ['国际能源', '平朔矿区150MW农光储氢一体化项目', "7.84亿元"],
  56. ['汾酒集团', '汾酒2030技改原酒产储能扩建项目(一期)', "91.02亿元"],
  57. ['大地控股', '山西大地控股忻州新店矿业有限公司投资建设年产800万吨精品砂石骨料项目', "8.67亿元"],
  58. ['潞安化工', '分布式光伏发电项目', "2.01亿元"],
  59. ['太重集团', '设立太重(大同)新能源产业投资公司', "0.30亿元"],
  60. ['大地控股', '山西大地宏翔环保科技有限公司电厂固废资源化综合利用建设项目', "3.60亿元"],
  61. ['大地控股', '山西大地海科环保科技有限公司电厂固废资源化综合利用建设项目', "3.11亿元"],
  62. ['汾酒集团', '保健酒园区新增原酒产能项目', "4.98亿元"],
  63. ['汾酒集团', '白玉酒厂改扩建项目', "4.96亿元"],
  64. ['华阳新材', '5GW高效光伏组件制造项目', "4.82亿元"],
  65. ['华新燃气', '吉县—延长输气管道项目(一期工程)', "3.54亿元"],
  66. ['太重集团', '建设液压挖掘机配套油缸项目', "2.60亿元"],
  67. ['华远陆港', '物产集团参股设立项目公司投资建设山西物产万科(太原)综合物流产业园项目', "6.60亿元"],
  68. ['太重集团', '设立昔阳县晶能新能源有限公司', "0.50亿元"],
  69. ['山西建投', '设立山西低碳环保产业集团有限公司', "30.00亿元"],
  70. ['山西建投', '设立山西省太忻经济一体化发展投资集团有限公司', "30.00亿元"],
  71. ['华新燃气', '设立山西华新液化天然气集团有限公司', "3.00亿元"],
  72. ['交控集团', '设立山西交控新能源发展有限公司', "3.00亿元"]
  73. ],
  74. },
  75. companyList: [
  76. { name: '山西焦煤' },
  77. { name: '晋能控股' },
  78. { name: '华新燃气' },
  79. { name: '山西建投' },
  80. { name: '潞安化工' },
  81. { name: '华远陆港' },
  82. { name: '航产集团' },
  83. { name: '大地控股' },
  84. { name: '国新能源' },
  85. { name: '汾酒集团' },
  86. { name: '云时代' },
  87. { name: '神农科技' },
  88. { name: '华阳新材' },
  89. { name: '华舰体育' },
  90. { name: '交控集团' },
  91. { name: '文旅集团' },
  92. { name: '水控集团' },
  93. { name: '太重集团' },
  94. ],
  95. }
  96. },
  97. created () {
  98. this.time = formatDate()
  99. this.timer = setInterval(() => {
  100. this.time = formatDate()
  101. }, 1000)
  102. },
  103. beforeDestroy () {
  104. if (this.timer) {
  105. clearInterval(this.timer);
  106. }
  107. this.timer2 && clearInterval(this.timer2);
  108. },
  109. mounted () {
  110. // 左侧图表
  111. setTimeout(() => {
  112. this.initChartL1()
  113. this.initChartL2()
  114. this.initChartL3()
  115. this.initChartL4()
  116. this.initChartL5()
  117. this.initChartL6()
  118. this.initChartL7()
  119. this.initChartR1()
  120. this.initChartR2()
  121. this.initChartR3()
  122. this.initChartR6()
  123. this.changeTopColor()
  124. },)
  125. },
  126. methods: {
  127. changeTopColor () {
  128. this.list = document.getElementsByClassName('row-item')
  129. for (var i = 0; i < this.list.length; i++) {
  130. if (i == 1) {
  131. this.list[i].classList.add('light')
  132. } else {
  133. this.list[i].classList.remove('light')
  134. }
  135. }
  136. this.initChartL3()
  137. },
  138. scrollChange (index) {
  139. if (index == 18) {
  140. this.count = -1
  141. } else {
  142. this.count = index
  143. }
  144. if (this.count > 12 && this.count != 18) {
  145. this.countType = 1
  146. } else {
  147. this.countType = 0
  148. }
  149. this.list = document.getElementsByClassName('row-item')
  150. for (var i = 0; i < this.list.length; i++) {
  151. if (i == 2) {
  152. this.list[i].classList.add('light')
  153. } else {
  154. this.list[i].classList.remove('light')
  155. }
  156. }
  157. this.initChartL3()
  158. },
  159. convertData (data) {
  160. var res = []
  161. for (var i = 0; i < data.length; i++) {
  162. var geoCoord = this.geoCoordMap[data[i].name]
  163. if (geoCoord) {
  164. res.push({
  165. name: data[i].name,
  166. value: geoCoord.concat(data[i].value),
  167. })
  168. }
  169. }
  170. return res
  171. },
  172. initChinaChart () {
  173. var data = [
  174. { name: '吕梁市', value: 150 },
  175. { name: '大同市', value: 190 },
  176. { name: '忻州市', value: 140 },
  177. { name: '朔州市', value: 160 },
  178. { name: '晋中市', value: 100 },
  179. { name: '太原市', value: 300 },
  180. { name: '临汾市', value: 190 },
  181. { name: '长治市', value: 100 },
  182. { name: '晋城市', value: 280 },
  183. { name: '运城市', value: 180 },
  184. { name: '阳泉市', value: 110 },
  185. ]
  186. var moveLine = {
  187. normal: [
  188. {
  189. fromName: '太原市',
  190. toName: '吕梁市',
  191. coords: [
  192. [112.3352, 37.9413],
  193. [111.3574, 37.7325],
  194. ],
  195. },
  196. {
  197. fromName: '太原市',
  198. toName: '忻州市',
  199. coords: [
  200. [112.3352, 37.9413],
  201. [112.4561, 38.8971],
  202. ],
  203. },
  204. {
  205. fromName: '太原市',
  206. toName: '临汾市',
  207. coords: [
  208. [112.3352, 37.9413],
  209. [111.4783, 36.1615],
  210. ],
  211. },
  212. {
  213. fromName: '太原市',
  214. toName: '阳泉市',
  215. coords: [
  216. [112.3352, 37.9413],
  217. [113.4778, 38.0951],
  218. ],
  219. },
  220. {
  221. fromName: '太原市',
  222. toName: '晋中市',
  223. coords: [
  224. [112.3352, 37.9413],
  225. [112.7747, 37.37],
  226. ],
  227. },
  228. {
  229. fromName: '太原市',
  230. toName: '运城市',
  231. coords: [
  232. [112.3352, 37.9413],
  233. [111.1487, 35.2002],
  234. ],
  235. },
  236. {
  237. fromName: '太原市',
  238. toName: '大同市',
  239. coords: [
  240. [112.3352, 37.9413],
  241. [113.7854, 39.8035],
  242. ],
  243. },
  244. {
  245. fromName: '太原市',
  246. toName: '晋城市',
  247. coords: [
  248. [112.3352, 37.9413],
  249. [112.7856, 35.6342],
  250. ],
  251. },
  252. {
  253. fromName: '太原市',
  254. toName: '长治市',
  255. coords: [
  256. [112.3352, 37.9413],
  257. [112.8625, 36.4746],
  258. ],
  259. },
  260. {
  261. fromName: '太原市',
  262. toName: '朔州市',
  263. coords: [
  264. [112.3352, 37.9413],
  265. [113.0713, 39.6991],
  266. ],
  267. },
  268. ],
  269. }
  270. /*获取地图数据*/
  271. let myChart = echarts.init(this.$refs['echarts-map'])
  272. echarts.registerMap('shanxi', {
  273. type: 'FeatureCollection',
  274. features: [
  275. {
  276. type: 'Feature',
  277. id: '1409',
  278. properties: { name: '忻州市', cp: [112.4561, 38.8971], childNum: 14 },
  279. geometry: {
  280. type: 'Polygon',
  281. coordinates: [
  282. '@@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',
  283. ],
  284. encodeOffsets: [[113614, 39657]],
  285. },
  286. },
  287. {
  288. type: 'Feature',
  289. id: '1411',
  290. properties: { name: '吕梁市', cp: [111.3574, 37.7325], childNum: 13 },
  291. geometry: {
  292. type: 'Polygon',
  293. coordinates: [
  294. '@@@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',
  295. ],
  296. encodeOffsets: [[113614, 39657]],
  297. },
  298. },
  299. {
  300. type: 'Feature',
  301. id: '1410',
  302. properties: { name: '临汾市', cp: [111.4783, 36.1615], childNum: 17 },
  303. geometry: {
  304. type: 'Polygon',
  305. coordinates: [
  306. '@@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',
  307. ],
  308. encodeOffsets: [[113063, 37784]],
  309. },
  310. },
  311. {
  312. type: 'Feature',
  313. id: '1407',
  314. properties: { name: '晋中市', cp: [112.7747, 37.37], childNum: 11 },
  315. geometry: {
  316. type: 'Polygon',
  317. coordinates: [
  318. '@@@š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@',
  319. ],
  320. encodeOffsets: [[114087, 37682]],
  321. },
  322. },
  323. {
  324. type: 'Feature',
  325. id: '1408',
  326. properties: { name: '运城市', cp: [111.1487, 35.2002], childNum: 13 },
  327. geometry: {
  328. type: 'Polygon',
  329. coordinates: [
  330. '@@„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@„',
  331. ],
  332. encodeOffsets: [[113232, 36597]],
  333. },
  334. },
  335. {
  336. type: 'Feature',
  337. id: '1402',
  338. properties: { name: '大同市', cp: [113.7854, 39.8035], childNum: 8 },
  339. geometry: {
  340. type: 'Polygon',
  341. coordinates: [
  342. '@@²£š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',
  343. ],
  344. encodeOffsets: [[115335, 41209]],
  345. },
  346. },
  347. {
  348. type: 'Feature',
  349. id: '1404',
  350. properties: { name: '长治市', cp: [112.8625, 36.4746], childNum: 12 },
  351. geometry: {
  352. type: 'Polygon',
  353. coordinates: [
  354. '@@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',
  355. ],
  356. encodeOffsets: [[116269, 37637]],
  357. },
  358. },
  359. {
  360. type: 'Feature',
  361. id: '1406',
  362. properties: { name: '朔州市', cp: [113.0713, 39.6991], childNum: 5 },
  363. geometry: {
  364. type: 'Polygon',
  365. coordinates: [
  366. '@@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‚',
  367. ],
  368. encodeOffsets: [[114615, 40562]],
  369. },
  370. },
  371. {
  372. type: 'Feature',
  373. id: '1405',
  374. properties: { name: '晋城市', cp: [112.7856, 35.6342], childNum: 6 },
  375. geometry: {
  376. type: 'Polygon',
  377. coordinates: [
  378. '@@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°',
  379. ],
  380. encodeOffsets: [[115223, 36895]],
  381. },
  382. },
  383. {
  384. type: 'Feature',
  385. id: '1401',
  386. properties: { name: '太原市', cp: [112.3352, 37.9413], childNum: 5 },
  387. geometry: {
  388. type: 'Polygon',
  389. coordinates: [
  390. '@@„@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š@°',
  391. ],
  392. encodeOffsets: [[114503, 39134]],
  393. },
  394. },
  395. {
  396. type: 'Feature',
  397. id: '1403',
  398. properties: { name: '阳泉市', cp: [113.4778, 38.0951], childNum: 3 },
  399. geometry: {
  400. type: 'Polygon',
  401. coordinates: [
  402. '@@°@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',
  403. ],
  404. encodeOffsets: [[115864, 39336]],
  405. },
  406. },
  407. ],
  408. UTF8Encoding: true,
  409. })
  410. var mapFeatures = echarts.getMap(this.mapName).geoJson.features
  411. mapFeatures.forEach(v => {
  412. // 地区名称
  413. var name = v.properties.name
  414. // 地区经纬度
  415. this.geoCoordMap[name] = v.properties.cp
  416. })
  417. myChart.setOption({
  418. tooltip: {
  419. padding: 15,
  420. enterable: true,
  421. transitionDuration: 1,
  422. formatter: (params, ticket, callback) => {
  423. let tipHtml = `
  424. <div class="tooltip-cont">
  425. <p>新开工:<span>工程建设项目</span></p>
  426. <p>总投资额:<span>${params.data.value}亿</span></p>
  427. <p>当前阶段:<span>可论证阶段</span></p>
  428. <p>时间节点:<span>2021.10-2022.10</span></p>
  429. </div>`
  430. return tipHtml
  431. },
  432. },
  433. visualMap: {
  434. min: 0,
  435. max: 300,
  436. right: 0,
  437. bottom: 0,
  438. text: ['高', '低'],
  439. textStyle: {
  440. color: '#f1f1f1'
  441. },
  442. realtime: false,
  443. calculable: true,
  444. inRange: {
  445. color: ['lightskyblue', '#2754b7']
  446. }
  447. },
  448. geo: {
  449. show: true,
  450. map: 'shanxi',
  451. layoutCenter: ['50%', '50%'], //地图位置
  452. layoutSize: '100%',
  453. label: {
  454. normal: {
  455. show: false,
  456. },
  457. emphasis: {
  458. show: false,
  459. },
  460. },
  461. roam: false,
  462. itemStyle: {
  463. normal: {
  464. areaColor: '#1946a8',
  465. shadowColor: '#1946a8',
  466. borderWidth: 1, //设置外层边框
  467. borderColor: '#1946a8',
  468. shadowOffsetX: 10,
  469. shadowOffsetY: 5,
  470. shadowBlur: 2,
  471. },
  472. emphasis: {
  473. areaColor: '#1946a8',
  474. borderColor: '#d4bc1d',
  475. borderWidth: 2, //设置外层边框
  476. },
  477. },
  478. },
  479. series: [
  480. {
  481. name: '散点',
  482. type: 'scatter',
  483. coordinateSystem: 'geo',
  484. data: this.convertData(data),
  485. symbolSize: function (val) {
  486. return 10
  487. },
  488. label: {
  489. normal: {
  490. formatter: '{b}',
  491. position: [10, 10],
  492. fontSize: 15,
  493. fontWeight: 600,
  494. fontStyle: 'italic',
  495. color: '#fff',
  496. show: true,
  497. },
  498. emphasis: {
  499. show: true,
  500. },
  501. },
  502. itemStyle: {
  503. normal: {
  504. color: '#000',
  505. borderWidth: 2,
  506. borderColor: '#fff',
  507. },
  508. },
  509. },
  510. {
  511. type: 'map',
  512. map: this.mapName,
  513. geoIndex: 0,
  514. aspectScale: 0.75, //长宽比
  515. showLegendSymbol: true, // 存在legend时显示
  516. label: {
  517. normal: {
  518. show: true,
  519. },
  520. emphasis: {
  521. show: false,
  522. textStyle: {
  523. color: '#fff',
  524. },
  525. },
  526. },
  527. roam: true,
  528. itemStyle: {
  529. normal: {
  530. areaColor: '#031525',
  531. borderColor: '#3B5077',
  532. },
  533. emphasis: {
  534. areaColor: '#2B91B7',
  535. },
  536. },
  537. animation: false,
  538. data: data,
  539. },
  540. {
  541. name: '点',
  542. type: 'scatter',
  543. coordinateSystem: 'geo',
  544. zlevel: 6,
  545. },
  546. {
  547. name: 'Top 5',
  548. type: 'effectScatter',
  549. coordinateSystem: 'geo',
  550. data: this.convertData(
  551. data
  552. .sort(function (a, b) {
  553. return b.value - a.value
  554. })
  555. .slice(0, 5)
  556. ),
  557. symbolSize: function (val) {
  558. return 15
  559. },
  560. showEffectOn: 'render',
  561. rippleEffect: {
  562. brushType: 'stroke',
  563. },
  564. hoverAnimation: true,
  565. label: {
  566. normal: {
  567. formatter: '{b}',
  568. position: 'left',
  569. show: false,
  570. },
  571. },
  572. itemStyle: {
  573. normal: {
  574. color: 'yellow',
  575. shadowBlur: 10,
  576. shadowColor: 'yellow',
  577. },
  578. },
  579. zlevel: 1000,
  580. },
  581. {
  582. name: '线路',
  583. type: 'lines',
  584. zlevel: 2,
  585. effect: {
  586. show: true,
  587. period: 4, //箭头指向速度,值越小速度越快
  588. trailLength: 0.02, //特效尾迹长度[0,1]值越大,尾迹越长重
  589. symbol: 'arrow', //箭头图标
  590. symbolSize: 5, //图标大小
  591. },
  592. lineStyle: {
  593. normal: {
  594. color: '#00FFFF',
  595. width: 1,
  596. type: 'dashed',
  597. opacity: 0.5, //尾迹线条透明度
  598. curveness: -0.3, //尾迹线条曲直度
  599. },
  600. },
  601. data: moveLine.normal,
  602. },
  603. ],
  604. })
  605. },
  606. initChartL1 () {
  607. let myChart = echarts.init(document.getElementById("echartL1"));
  608. let option = {
  609. grid: {
  610. top: 35,
  611. right: 40,
  612. left: 60,
  613. bottom: 40,
  614. },
  615. tooltip: {
  616. show: true,
  617. trigger: "axis",
  618. axisPointer: {
  619. // 坐标轴指示器,坐标轴触发有效
  620. type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
  621. },
  622. },
  623. xAxis: {
  624. data: ["山西焦煤", "晋能控股", "华阳新材", "潞安化工", "华新燃气", "太重集团", "国际能源", "华远陆港", "水控集团", "文旅集团", "交控集团", '航产集团', '山西建投', '汾酒集团', '大地控股', '云时代', '华舰体育', '神农科技'],
  625. axisTick: {
  626. show: false,
  627. },
  628. // x轴的字体颜色
  629. axisLabel: {
  630. rotate: 40,
  631. textStyle: {
  632. color: "white",
  633. },
  634. },
  635. //y轴线的颜色以及宽度
  636. axisLine: {
  637. show: true,
  638. lineStyle: {
  639. color: "#1E5389",
  640. width: 1,
  641. type: "solid",
  642. },
  643. },
  644. },
  645. yAxis: {
  646. name: '亿元',
  647. nameTextStyle: {//y轴上方单位的颜色
  648. color: '#fff',
  649. },
  650. axisTick: {
  651. lineStyle: {
  652. color: "#18416F",
  653. },
  654. },
  655. // y轴的字体颜色
  656. axisLabel: {
  657. textStyle: {
  658. color: "white",
  659. },
  660. },
  661. splitLine: {
  662. show: true,
  663. lineStyle: {
  664. color: "#204561",
  665. width: 1,
  666. type: "dotted",
  667. },
  668. },
  669. //y轴线的颜色以及宽度
  670. axisLine: {
  671. show: true,
  672. lineStyle: {
  673. color: "#1E5389",
  674. width: 1,
  675. type: "solid",
  676. },
  677. },
  678. },
  679. series: [
  680. // {
  681. // name: "2022年额度",
  682. // type: "bar",
  683. // data: [263.23, 402.18, 73.28, 144.80, 25.56, 8.23, 0, 12.97, 8.56, -1.72, 0, 0, 0, 76.90, 5.03, 9.14, 0, 0],
  684. // showBackground: false,
  685. // backgroundStyle: {
  686. // color: "#18416F",
  687. // },
  688. // barWidth: "10%",
  689. // itemStyle: {
  690. // barBorderRadius: [10, 10, 0, 0],
  691. // color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
  692. // {
  693. // offset: 0,
  694. // color: '#082550',
  695. // },
  696. // {
  697. // offset: 1,
  698. // color: '#69c0ff',
  699. // },
  700. // ]),
  701. // },
  702. // },
  703. {
  704. name: "2023年额度",
  705. type: "bar",
  706. data: [259.91, 400.49, 97.65, 128.96, 24.84, 7.79, 16.15, 16.18, 6.83, 0.00, 33.49, 0.00, 43.39, 76.53, 5.05, 8.59, 0.00, 0.28],
  707. showBackground: false,
  708. backgroundStyle: {
  709. color: "#18416F",
  710. },
  711. barWidth: "10%",
  712. itemStyle: {
  713. barBorderRadius: [10, 10, 0, 0],
  714. color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
  715. {
  716. offset: 0,
  717. color: '#082550',
  718. },
  719. {
  720. offset: 1,
  721. color: '#957DFF',
  722. },
  723. ]),
  724. },
  725. },
  726. ],
  727. legend: {
  728. // data: ["2022年额度", "2023年额度"],
  729. data: ["2023年额度"],
  730. textStyle: {
  731. // 图列内容样式
  732. color: "#fff", // 字体颜色
  733. // fontSize: "10",
  734. },
  735. right: 'center',
  736. icon: "roundRect",
  737. // 小图标的宽高
  738. itemHeight: 5,
  739. },
  740. };
  741. tools.loopShowTooltip(myChart, option, {
  742. nterval: 2000,
  743. loopSeries: true,
  744. })
  745. let that = this
  746. myChart.on('click', function (param) {
  747. console.log(param)
  748. if (param.name == '晋能控股') {
  749. that.showTip2 = true
  750. setTimeout(() => {
  751. // that.initChartR4()
  752. // that.initChartR5()
  753. that.initChartL2b()
  754. })
  755. }
  756. })
  757. myChart.setOption(option);
  758. },
  759. initChartL2b () {
  760. let myChart = echarts.init(this.$refs['echartL2b'])
  761. var value = 0.0749;
  762. var data = [value];
  763. let option = {
  764. backgroundColor: 'transparent',
  765. title: [
  766. {
  767. // text: '总额度285.48亿',
  768. // formatter: `<span>总额度</span>285.48亿`,
  769. x: '37%',
  770. y: '80%',
  771. textStyle: {
  772. fontSize: 24,
  773. fontWeight: 'bold',
  774. color: '#2CB7E0',
  775. lineHeight: 16,
  776. textAlign: 'center',
  777. },
  778. }
  779. ],
  780. series: [
  781. {
  782. type: 'liquidFill',
  783. radius: '70%',
  784. center: ['50%', '40%'],
  785. color: [
  786. {
  787. type: 'linear',
  788. x: 0,
  789. y: 0,
  790. x2: 0,
  791. y2: 1,
  792. colorStops: [
  793. {
  794. offset: 0,
  795. color: '#446bf5',
  796. },
  797. {
  798. offset: 1,
  799. color: '#2ca3e2',
  800. },
  801. ],
  802. globalCoord: false,
  803. },
  804. ],
  805. data: [value, value], // data个数代表波浪数
  806. backgroundStyle: {
  807. borderWidth: 1,
  808. color: 'RGBA(51, 66, 127, 0.7)',
  809. },
  810. label: {
  811. normal: {
  812. formatter: function (data) {
  813. return (data.value * 100).toFixed(2) +'%'
  814. },
  815. textStyle: {
  816. fontSize: 30,
  817. color: '#fff',
  818. },
  819. },
  820. },
  821. outline: {
  822. // show: false
  823. borderDistance: 0,
  824. itemStyle: {
  825. borderWidth: 2,
  826. borderColor: 'transparent',
  827. },
  828. },
  829. },
  830. ],
  831. }
  832. myChart.setOption(option)
  833. },
  834. initChartL2 () {
  835. let myChart = echarts.init(this.$refs['echartL2'])
  836. var value = 0.067;
  837. var data = [value];
  838. let option = {
  839. backgroundColor: 'transparent',
  840. title: [
  841. {
  842. // text: '总额度285.48亿',
  843. // formatter: `<span>总额度</span>285.48亿`,
  844. x: '37%',
  845. y: '80%',
  846. textStyle: {
  847. fontSize: 24,
  848. fontWeight: 'bold',
  849. color: '#2CB7E0',
  850. lineHeight: 16,
  851. textAlign: 'center',
  852. },
  853. }
  854. ],
  855. series: [
  856. {
  857. type: 'liquidFill',
  858. radius: '70%',
  859. center: ['50%', '40%'],
  860. color: [
  861. {
  862. type: 'linear',
  863. x: 0,
  864. y: 0,
  865. x2: 0,
  866. y2: 1,
  867. colorStops: [
  868. {
  869. offset: 0,
  870. color: '#446bf5',
  871. },
  872. {
  873. offset: 1,
  874. color: '#2ca3e2',
  875. },
  876. ],
  877. globalCoord: false,
  878. },
  879. ],
  880. data: [value, value], // data个数代表波浪数
  881. backgroundStyle: {
  882. borderWidth: 1,
  883. color: 'RGBA(51, 66, 127, 0.7)',
  884. },
  885. label: {
  886. normal: {
  887. formatter: function (data) {
  888. return (data.value * 100).toFixed(2) +'%'
  889. },
  890. textStyle: {
  891. fontSize: 30,
  892. color: '#fff',
  893. },
  894. },
  895. },
  896. outline: {
  897. // show: false
  898. borderDistance: 0,
  899. itemStyle: {
  900. borderWidth: 2,
  901. borderColor: 'transparent',
  902. },
  903. },
  904. },
  905. ],
  906. }
  907. myChart.setOption(option)
  908. },
  909. initChartL3 () {
  910. let myChart = echarts.init(this.$refs['echartL3'])
  911. option = {
  912. tooltip: {
  913. trigger: 'axis',
  914. formatter: '指标:' + '{c0}' + '<br/>' + '发展线:' + '{c1}' + '<br/>' + '生存线:' + '{c2}', //+ '<br/>'+ '{a1}:{c1}' + '%',
  915. axisPointer: {
  916. type: 'shadow',
  917. },
  918. },
  919. grid: {
  920. top: '10%',
  921. right: '5%',
  922. left: '10%',
  923. bottom: '15%',
  924. },
  925. xAxis: {
  926. // data: ['总投资收益率', '销售利润率', '成本费用利润率', '总资产周转率', '财务内部收益率'],
  927. data: dataType[this.countType],
  928. axisLine: {
  929. show: true, //隐藏X轴轴线
  930. lineStyle: {
  931. color: '#005094',
  932. width: 1,
  933. },
  934. },
  935. axisTick: {
  936. show: true, //隐藏X轴刻度
  937. },
  938. axisLabel: {
  939. show: true,
  940. rotate: 15,
  941. textStyle: {
  942. color: 'rgba(255,255,255,0.6)', //X轴文字颜色
  943. fontSize: 12,
  944. },
  945. },
  946. },
  947. yAxis: [
  948. {
  949. type: 'value',
  950. splitLine: {
  951. show: true,
  952. lineStyle: {
  953. color: '#68b4dd66',
  954. type: 'dashed',
  955. },
  956. },
  957. axisLine: {
  958. show: false
  959. },
  960. axisLabel: {
  961. show: true,
  962. formatter: '{value}',
  963. textStyle: {
  964. color: 'rgba(250,250,250,0.6)',
  965. },
  966. },
  967. nameTextStyle: {
  968. color: '#ebf8ac',
  969. fontSize: 16,
  970. },
  971. },
  972. ],
  973. series: [
  974. {
  975. name: '实际值',
  976. type: 'bar',
  977. barWidth: 15,
  978. itemStyle: {
  979. normal: {
  980. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  981. {
  982. offset: 0,
  983. color: '#69c0ff',
  984. },
  985. {
  986. offset: 1,
  987. color: '#082550',
  988. },
  989. ]),
  990. },
  991. },
  992. // data: [70, 52, 33, 41, 52],
  993. data: dataList[this.count + 1][2]
  994. // markLine: {
  995. // symbol: ['none', 'none'],
  996. // data: [
  997. // {
  998. // name: '生存线',
  999. // yAxis: 10,
  1000. // lineStyle: {
  1001. // color: '#FF8F0A',
  1002. // },
  1003. // label: {
  1004. // formatter: '{b}',
  1005. // position: 'middle',
  1006. // color: '#FF8F0A',
  1007. // fontSize: 12,
  1008. // },
  1009. // },
  1010. // {
  1011. // name: '发展线',
  1012. // yAxis: 15,
  1013. // lineStyle: {
  1014. // color: '#00EEA2',
  1015. // },
  1016. // label: {
  1017. // formatter: '{b}',
  1018. // position: 'middle',
  1019. // color: '#00EEA2',
  1020. // fontSize: 12,
  1021. // },
  1022. // },
  1023. // ],
  1024. // label: {
  1025. // distance: [50, 0],
  1026. // },
  1027. // },
  1028. },
  1029. {
  1030. name: '',
  1031. type: 'line',
  1032. barWidth: 15,
  1033. itemStyle: {
  1034. normal: {
  1035. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1036. {
  1037. offset: 0,
  1038. color: '#69c0ff',
  1039. },
  1040. {
  1041. offset: 1,
  1042. color: 'green',
  1043. },
  1044. ]),
  1045. },
  1046. },
  1047. // data: [20, 30, 15, 28, 36],
  1048. data: dataList[this.count + 1][1]
  1049. },
  1050. {
  1051. name: '',
  1052. type: 'line',
  1053. barWidth: 15,
  1054. itemStyle: {
  1055. normal: {
  1056. color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
  1057. {
  1058. offset: 0,
  1059. color: '#69c0ff',
  1060. },
  1061. {
  1062. offset: 1,
  1063. color: 'yellow',
  1064. },
  1065. ]),
  1066. },
  1067. },
  1068. // data: [15, 22, 17, 33, 14],
  1069. data: dataList[this.count + 1][0]
  1070. },
  1071. ],
  1072. }
  1073. myChart.setOption(option)
  1074. // tools.loopShowTooltip(myChart, option, {
  1075. // nterval: 2000,
  1076. // loopSeries: true,
  1077. // })
  1078. },
  1079. initChartL4 () {
  1080. // let data = [
  1081. // { value: [173.43, 129], name: '煤炭' },
  1082. // { value: [23.10, 2], name: '火电' },
  1083. // { value: [22.87, 8], name: '冶金' },
  1084. // { value: [9.71, 5], name: '焦化' },
  1085. // { value: [8.35, 6], name: '其他传统产业' }
  1086. // ]
  1087. // let count = 0
  1088. // data.forEach(item => {
  1089. // count += item.value[0]
  1090. // })
  1091. // let myChart = echarts.init(this.$refs['echartL4'])
  1092. // let option = {
  1093. // title: {
  1094. // text: '传统产业分析',
  1095. // x: 'center',
  1096. // y: '0%',
  1097. // textStyle: {
  1098. // color: 'rgba(255,255,255,0.6)',
  1099. // fontSize: 12,
  1100. // },
  1101. // },
  1102. // tooltip: {
  1103. // trigger: 'item',
  1104. // formatter: function (params) {
  1105. // return params.name + ',' + (params.value[0] / count * 100).toFixed(2) + '%' + '</br >' + params.value[1] + '个' + ',' + params.value[0] + '亿'
  1106. // }
  1107. // },
  1108. // color: ['#5783ab', '#1a5389', '#a79c57', '#cc8c29', '#91a65f', '#383062', '#034a39'],
  1109. // legend: {
  1110. // orient: 'horizontal',
  1111. // show: false,
  1112. // icon: 'circle',
  1113. // top: 'bottom',
  1114. // orient: 'vertical',
  1115. // right: '-3%',
  1116. // textStyle: {
  1117. // color: '#9DB9EB',
  1118. // fontSize: '10px'
  1119. // },
  1120. // itemWidth: 10,
  1121. // itemHeight: 10
  1122. // },
  1123. // series: [
  1124. // {
  1125. // name: '',
  1126. // type: 'pie',
  1127. // // radius: ['0%', '70%'],
  1128. // radius: ['50%', '65%'],
  1129. // center: ['50%', '55%'],
  1130. // itemStyle: {
  1131. // normal: {
  1132. // borderColor: 'rgba(1,31,64,0.7)',
  1133. // borderWidth: 6,
  1134. // label: {
  1135. // show: false
  1136. // },
  1137. // },
  1138. // },
  1139. // labelLine: {
  1140. // show: false,
  1141. // },
  1142. // data,
  1143. // },
  1144. // ],
  1145. // }
  1146. // myChart.setOption(option)
  1147. // tools.loopShowTooltip(myChart, option, {
  1148. // nterval: 2000,
  1149. // loopSeries: true,
  1150. // })
  1151. // let that = this
  1152. // myChart.on('click', function (param) {
  1153. // console.log(param)
  1154. // that.showTip3 = true
  1155. // setTimeout(() => {
  1156. // that.initChartT1(data, option)
  1157. // })
  1158. // })
  1159. // { value: [173.43, 129], name: '煤炭' },
  1160. // { value: [23.10, 2], name: '火电' },
  1161. // { value: [22.87, 8], name: '冶金' },
  1162. // { value: [9.71, 5], name: '焦化' },
  1163. // { value: [8.35, 6], name: '其他传统产业' }
  1164. var chartData = [
  1165. {
  1166. name: '煤炭',
  1167. y: 294.61,
  1168. x: 95,
  1169. sliced: false,
  1170. selected: false,
  1171. },
  1172. {
  1173. name: '火电',
  1174. y: 39.24,
  1175. x: 1,
  1176. sliced: false,
  1177. selected: false,
  1178. },
  1179. {
  1180. name: '冶金',
  1181. y: 38.85,
  1182. x: 6,
  1183. sliced: false,
  1184. selected: false,
  1185. },
  1186. {
  1187. name: '焦化',
  1188. y: 16.49,
  1189. x: 4,
  1190. sliced: false,
  1191. selected: false,
  1192. },
  1193. {
  1194. name: '其他传统产业',
  1195. y: 14.19,
  1196. x: 5,
  1197. sliced: false,
  1198. selected: false,
  1199. }
  1200. ]
  1201. var timer = null;
  1202. var i = 0;
  1203. let that = this
  1204. var option = {
  1205. colors: ['#5783ab', '#1a5389', '#a79c57', '#cc8c29', '#91a65f', '#383062', '#034a39'],
  1206. chart: {
  1207. type: 'pie',
  1208. backgroundColor: 'rgba(0,0,0,0)',
  1209. options3d: {
  1210. enabled: true,
  1211. alpha: 45,
  1212. //beta: 0
  1213. },
  1214. events: {
  1215. // load,图表加载完成时触发
  1216. load: function () {
  1217. var chart = this;
  1218. var points = chart.series[0].points;
  1219. var len = points.length;
  1220. timer && clearInterval(timer);
  1221. timer = setInterval(function () {
  1222. autoTooltip(points[i]);
  1223. chartData.forEach((item,index) => {
  1224. item.sliced = false
  1225. item.selected = false
  1226. if(index == i){
  1227. item.sliced = true
  1228. item.selected = true
  1229. }
  1230. })
  1231. chart.update({
  1232. series:[{
  1233. type: 'pie',
  1234. name: '占比',
  1235. point: {
  1236. events:{
  1237. click:function(e){
  1238. that.showTip3 = true
  1239. that.echartTitle = '传统产业分析'
  1240. setTimeout(() => {
  1241. that.initChartT1(chartData)
  1242. })
  1243. }
  1244. }
  1245. },
  1246. data: chartData
  1247. }]
  1248. })
  1249. i++;
  1250. if (i === len) {
  1251. i = 0;
  1252. }
  1253. }, 2000);
  1254. },
  1255. legendItemClick : function(event) {
  1256. console.log(event);
  1257. return true;
  1258. }
  1259. }
  1260. },
  1261. credits: {
  1262. enabled: false //去掉hightchats水印
  1263. },
  1264. title: {
  1265. text: '传统产业分析',
  1266. style:{
  1267. color: 'rgba(255,255,255,0.6)',
  1268. fontSize:12,
  1269. }
  1270. },
  1271. tooltip: {
  1272. crosshairs: true,
  1273. backgroundColor: 'rgba(0,0,0,0.5)',
  1274. // positioner: function(e){
  1275. // console.log(e, this)
  1276. // },
  1277. useHTML: true, //开启html模式
  1278. style: {
  1279. color:'#fff',
  1280. },
  1281. formatter: function(e){
  1282. //console.log(this)
  1283. let num = chartData[this.colorIndex].x
  1284. this.percentage = this.percentage.toFixed(2) //Math.round(this.percentage)
  1285. return `${this.key}:<b>${this.percentage}%</b><br/><b>${this.y}</b>亿,<b>${num}个</b>`
  1286. },
  1287. //pointFormat:
  1288. },
  1289. plotOptions: {
  1290. pie: {
  1291. allowPointSelect: true,
  1292. showInLegend: false, // 图例
  1293. cursor: 'pointer',
  1294. size: 160,
  1295. innerSize : 100, //环形图中间空白,0为饼图
  1296. depth: 25, //立体高度
  1297. slicedOffset: 21, //动画距离
  1298. dataLabels: {
  1299. enabled: false, // 是否展示指示线
  1300. format: '{point.name}: {point.percentage}'
  1301. }
  1302. },
  1303. },
  1304. series: [{
  1305. type: 'pie',
  1306. name: '占比',
  1307. //center: ['35%','50%'],
  1308. point: {
  1309. events:{
  1310. click:function(e){ //点击事件
  1311. that.showTip3 = true
  1312. that.echartTitle = '传统产业分析'
  1313. setTimeout(() => {
  1314. that.initChartT1(chartData)
  1315. })
  1316. },
  1317. mouseOver: function(e){ //鼠标移入停止轮播并且找到移入的当前数据设为选中
  1318. //console.log(e)
  1319. chartData.forEach((item,index) => {
  1320. item.sliced = false
  1321. item.selected = false
  1322. })
  1323. chartData[e.target.index].sliced = true
  1324. chartData[e.target.index].selected = true
  1325. chart.update({
  1326. series:[{
  1327. type: 'pie',
  1328. name: '占比',
  1329. point: {
  1330. events:{
  1331. click:function(e){
  1332. that.showTip3 = true
  1333. that.echartTitle = '传统产业分析'
  1334. setTimeout(() => {
  1335. that.initChartT1(chartData)
  1336. })
  1337. }
  1338. }
  1339. },
  1340. data: chartData
  1341. }]
  1342. })
  1343. timer && clearInterval(timer);
  1344. },
  1345. mouseOut: function(){ // 鼠标移出后需要继续执行轮播
  1346. var points = chart.series[0].points;
  1347. var len = points.length;
  1348. timer && clearInterval(timer);
  1349. timer = setInterval(function () {
  1350. autoTooltip(points[i]);
  1351. chartData.forEach((item,index) => {
  1352. item.sliced = false
  1353. item.selected = false
  1354. if(index == i){
  1355. item.sliced = true
  1356. item.selected = true
  1357. }
  1358. })
  1359. chart.update({
  1360. series:[{
  1361. type: 'pie',
  1362. name: '占比',
  1363. point: {
  1364. events:{
  1365. click:function(e){
  1366. that.showTip3 = true
  1367. that.echartTitle = '传统产业分析'
  1368. setTimeout(() => {
  1369. that.initChartT1(chartData)
  1370. })
  1371. }
  1372. }
  1373. },
  1374. data: chartData
  1375. }]
  1376. })
  1377. i++;
  1378. if (i === len) {
  1379. i = 0;
  1380. }
  1381. }, 2000);
  1382. }
  1383. }
  1384. },
  1385. data: chartData
  1386. }]
  1387. }
  1388. var chart = Highcharts.chart('echartL4', option);
  1389. function autoTooltip(point) {
  1390. chart.tooltip.refresh(point);
  1391. }
  1392. },
  1393. initChartL5 () {
  1394. // let data = [
  1395. // { value: [29.26, 102], name: '新一代信息技术' },
  1396. // { value: [59.11, 38], name: '高端装备制造' },
  1397. // { value: [3.96, 5], name: '新材料' },
  1398. // { value: [2.12, 7], name: '生物' },
  1399. // { value: [100.09, 79], name: '新能源' },
  1400. // { value: [15.48, 32], name: '节能环保' },
  1401. // { value: [3.00, 3], name: '相关服务业' },
  1402. // ]
  1403. // let count = 0
  1404. // data.forEach(item => {
  1405. // count += item.value[0]
  1406. // })
  1407. // let myChart = echarts.init(this.$refs['echartL5'])
  1408. // let option = {
  1409. // title: {
  1410. // text: '战略性新兴产业',
  1411. // x: 'center',
  1412. // y: '0%',
  1413. // textStyle: {
  1414. // color: 'rgba(255,255,255,0.6)',
  1415. // fontSize: 12,
  1416. // },
  1417. // },
  1418. // tooltip: {
  1419. // trigger: 'item',
  1420. // formatter: function (params) {
  1421. // return params.name + ',' + (params.value[0] / count * 100).toFixed(2) + '%' + '</br >' + params.value[1] + '个' + ',' + params.value[0] + '亿'
  1422. // }
  1423. // },
  1424. // color: ['#5783ab', '#1a5389', '#a79c57', '#cc8c29', '#91a65f', '#383062', '#034a39'],
  1425. // legend: {
  1426. // show: false,
  1427. // icon: 'circle',
  1428. // top: 'bottom',
  1429. // orient: 'vertical',
  1430. // right: '-3%',
  1431. // textStyle: {
  1432. // color: '#9DB9EB',
  1433. // fontSize: '10px'
  1434. // },
  1435. // itemWidth: 10,
  1436. // itemHeight: 10
  1437. // },
  1438. // series: [
  1439. // {
  1440. // name: '',
  1441. // type: 'pie',
  1442. // // radius: ['0%', '70%'],
  1443. // radius: ['50%', '65%'],
  1444. // center: ['50%', '55%'],
  1445. // itemStyle: {
  1446. // normal: {
  1447. // borderColor: 'rgba(1,31,64,0.7)',
  1448. // borderWidth: 6,
  1449. // label: {
  1450. // show: false,
  1451. // },
  1452. // },
  1453. // },
  1454. // labelLine: {
  1455. // show: false,
  1456. // },
  1457. // data
  1458. // },
  1459. // ],
  1460. // }
  1461. // myChart.setOption(option)
  1462. // tools.loopShowTooltip(myChart, option, {
  1463. // nterval: 2000,
  1464. // loopSeries: true,
  1465. // })
  1466. // let that = this
  1467. // myChart.on('click', function (param) {
  1468. // console.log(param)
  1469. // that.showTip3 = true
  1470. // setTimeout(() => {
  1471. // that.initChartT1(data, option)
  1472. // })
  1473. // })
  1474. // { value: [29.26, 102], name: '新一代信息技术' },
  1475. // { value: [59.11, 38], name: '高端装备制造' },
  1476. // { value: [3.96, 5], name: '新材料' },
  1477. // { value: [2.12, 7], name: '生物' },
  1478. // { value: [100.09, 79], name: '新能源' },
  1479. // { value: [15.48, 32], name: '节能环保' },
  1480. // { value: [3.00, 3], name: '相关服务业' },
  1481. var chartData = [
  1482. {
  1483. name: '新一代信息技术',
  1484. y: 49.70,
  1485. x: 75,
  1486. sliced: false,
  1487. selected: false,
  1488. },
  1489. {
  1490. name: '高端装备制造',
  1491. y: 100.41,
  1492. x: 28,
  1493. sliced: false,
  1494. selected: false,
  1495. },
  1496. {
  1497. name: '新材料',
  1498. y: 6.72,
  1499. x: 4,
  1500. sliced: false,
  1501. selected: false,
  1502. },
  1503. {
  1504. name: '生物',
  1505. y: 3.60,
  1506. x: 58,
  1507. sliced: false,
  1508. selected: false,
  1509. },
  1510. {
  1511. name: '新能源',
  1512. y: 170.03,
  1513. x: 58,
  1514. sliced: false,
  1515. selected: false,
  1516. },
  1517. {
  1518. name: '节能环保',
  1519. y: 26.30,
  1520. x: 24,
  1521. sliced: false,
  1522. selected: false,
  1523. },
  1524. {
  1525. name: '相关服务业',
  1526. y: 5.10,
  1527. x: 2,
  1528. sliced: false,
  1529. selected: false,
  1530. }
  1531. ]
  1532. var timer = null;
  1533. var i = 0;
  1534. let that = this
  1535. var option = {
  1536. colors: ['#5783ab', '#1a5389', '#a79c57', '#cc8c29', '#91a65f', '#383062', '#034a39'],
  1537. chart: {
  1538. type: 'pie',
  1539. backgroundColor: 'rgba(0,0,0,0)',
  1540. options3d: {
  1541. enabled: true,
  1542. alpha: 45,
  1543. //beta: 0
  1544. },
  1545. events: {
  1546. // load,图表加载完成时触发
  1547. load: function () {
  1548. var chart = this;
  1549. var points = chart.series[0].points;
  1550. var len = points.length;
  1551. timer && clearInterval(timer);
  1552. timer = setInterval(function () {
  1553. autoTooltip(points[i]);
  1554. chartData.forEach((item,index) => {
  1555. item.sliced = false
  1556. item.selected = false
  1557. if(index == i){
  1558. item.sliced = true
  1559. item.selected = true
  1560. }
  1561. })
  1562. chart.update({
  1563. series:[{
  1564. type: 'pie',
  1565. name: '占比',
  1566. point: {
  1567. events:{
  1568. click:function(e){
  1569. that.showTip3 = true
  1570. that.echartTitle = '战略性新兴产业'
  1571. setTimeout(() => {
  1572. that.initChartT1(chartData)
  1573. })
  1574. }
  1575. }
  1576. },
  1577. data: chartData
  1578. }]
  1579. })
  1580. i++;
  1581. if (i === len) {
  1582. i = 0;
  1583. }
  1584. }, 2000);
  1585. },
  1586. legendItemClick : function(event) {
  1587. console.log(event);
  1588. return true;
  1589. }
  1590. }
  1591. },
  1592. credits: {
  1593. enabled: false //去掉hightchats水印
  1594. },
  1595. title: {
  1596. text: '战略性新兴产业',
  1597. style:{
  1598. color: 'rgba(255,255,255,0.6)',
  1599. fontSize:12,
  1600. }
  1601. },
  1602. tooltip: {
  1603. crosshairs: true,
  1604. backgroundColor: 'rgba(0,0,0,0.5)',
  1605. // positioner: function(e){
  1606. // console.log(e, this)
  1607. // },
  1608. useHTML: true, //开启html模式
  1609. style: {
  1610. color:'#fff',
  1611. },
  1612. formatter: function(e){
  1613. //console.log(this)
  1614. let num = chartData[this.colorIndex].x
  1615. this.percentage = this.percentage.toFixed(2) //Math.round(this.percentage)
  1616. return `${this.key}:<b>${this.percentage}%</b><br/><b>${this.y}</b>亿,<b>${num}个</b>`
  1617. },
  1618. //pointFormat:
  1619. },
  1620. plotOptions: {
  1621. pie: {
  1622. allowPointSelect: true,
  1623. showInLegend: false, // 图例
  1624. cursor: 'pointer',
  1625. size: 160,
  1626. innerSize : 100, //环形图中间空白,0为饼图
  1627. depth: 25, //立体高度
  1628. slicedOffset: 21, //动画距离
  1629. dataLabels: {
  1630. enabled: false, // 是否展示指示线
  1631. format: '{point.name}: {point.percentage}'
  1632. }
  1633. },
  1634. },
  1635. series: [{
  1636. type: 'pie',
  1637. name: '占比',
  1638. //center: ['35%','50%'],
  1639. point: {
  1640. events:{
  1641. click:function(e){ //点击事件
  1642. that.showTip3 = true
  1643. that.echartTitle = '战略性新兴产业'
  1644. setTimeout(() => {
  1645. that.initChartT1(chartData)
  1646. })
  1647. },
  1648. mouseOver: function(e){ //鼠标移入停止轮播并且找到移入的当前数据设为选中
  1649. //console.log(e)
  1650. chartData.forEach((item,index) => {
  1651. item.sliced = false
  1652. item.selected = false
  1653. })
  1654. chartData[e.target.index].sliced = true
  1655. chartData[e.target.index].selected = true
  1656. chart.update({
  1657. series:[{
  1658. type: 'pie',
  1659. name: '占比',
  1660. point: {
  1661. events:{
  1662. click:function(e){
  1663. that.showTip3 = true
  1664. that.echartTitle = '战略性新兴产业'
  1665. setTimeout(() => {
  1666. that.initChartT1(chartData)
  1667. })
  1668. }
  1669. }
  1670. },
  1671. data: chartData
  1672. }]
  1673. })
  1674. timer && clearInterval(timer);
  1675. },
  1676. mouseOut: function(){ // 鼠标移出后需要继续执行轮播
  1677. var points = chart.series[0].points;
  1678. var len = points.length;
  1679. timer && clearInterval(timer);
  1680. timer = setInterval(function () {
  1681. autoTooltip(points[i]);
  1682. chartData.forEach((item,index) => {
  1683. item.sliced = false
  1684. item.selected = false
  1685. if(index == i){
  1686. item.sliced = true
  1687. item.selected = true
  1688. }
  1689. })
  1690. chart.update({
  1691. series:[{
  1692. type: 'pie',
  1693. name: '占比',
  1694. point: {
  1695. events:{
  1696. click:function(e){
  1697. that.showTip3 = true
  1698. that.echartTitle = '战略性新兴产业'
  1699. setTimeout(() => {
  1700. that.initChartT1(chartData)
  1701. })
  1702. }
  1703. }
  1704. },
  1705. data: chartData
  1706. }]
  1707. })
  1708. i++;
  1709. if (i === len) {
  1710. i = 0;
  1711. }
  1712. }, 2000);
  1713. }
  1714. }
  1715. },
  1716. data: chartData
  1717. }]
  1718. }
  1719. var chart = Highcharts.chart('echartL5', option);
  1720. function autoTooltip(point) {
  1721. chart.tooltip.refresh(point);
  1722. }
  1723. },
  1724. initChartL6 () {
  1725. // let data = [
  1726. // { value: [25.82, 43], name: '化工' },
  1727. // { value: [17.36, 21], name: '煤层气' },
  1728. // { value: [0.04, 1], name: '文旅康养' },
  1729. // { value: [1.51, 7], name: '体育' },
  1730. // { value: [9.32, 5], name: '酿造' },
  1731. // { value: [71.12, 129], name: '建筑房地产' },
  1732. // { value: [9.11, 14], name: '农业' },
  1733. // ]
  1734. // let count = 0
  1735. // data.forEach(item => {
  1736. // count += item.value[0]
  1737. // })
  1738. // let myChart = echarts.init(this.$refs['echartL6'])
  1739. // let option = {
  1740. // title: {
  1741. // text: '特色优势产业',
  1742. // x: 'center',
  1743. // y: '0%',
  1744. // textStyle: {
  1745. // color: 'rgba(255,255,255,0.6)',
  1746. // fontSize: 12,
  1747. // },
  1748. // },
  1749. // tooltip: {
  1750. // trigger: 'item',
  1751. // formatter: function (params) {
  1752. // return params.name + ',' + (params.value[0] / count * 100).toFixed(2) + '%' + '</br >' + params.value[1] + '个' + ',' + params.value[0] + '亿'
  1753. // }
  1754. // // position: ['30%', '87%'],
  1755. // },
  1756. // color: ['#5783ab', '#1a5389', '#a79c57', '#cc8c29', '#91a65f', '#383062', '#034a39'],
  1757. // legend: {
  1758. // show: false,
  1759. // icon: 'circle',
  1760. // top: 'bottom',
  1761. // orient: 'vertical',
  1762. // right: '-3%',
  1763. // textStyle: {
  1764. // color: '#9DB9EB',
  1765. // fontSize: '10px'
  1766. // },
  1767. // itemWidth: 10,
  1768. // itemHeight: 10
  1769. // },
  1770. // series: [
  1771. // {
  1772. // name: '',
  1773. // type: 'pie',
  1774. // // radius: ['0%', '70%'],
  1775. // radius: ['50%', '65%'],
  1776. // center: ['50%', '55%'],
  1777. // itemStyle: {
  1778. // normal: {
  1779. // borderColor: 'rgba(1,31,64,0.7)',
  1780. // borderWidth: 6,
  1781. // label: {
  1782. // show: false,
  1783. // },
  1784. // },
  1785. // },
  1786. // labelLine: {
  1787. // show: false,
  1788. // },
  1789. // data,
  1790. // },
  1791. // ],
  1792. // }
  1793. // myChart.setOption(option)
  1794. // tools.loopShowTooltip(myChart, option, {
  1795. // nterval: 2000,
  1796. // loopSeries: true,
  1797. // })
  1798. // let that = this
  1799. // myChart.on('click', function (param) {
  1800. // console.log(param)
  1801. // that.showTip3 = true
  1802. // setTimeout(() => {
  1803. // that.initChartT1(data, option)
  1804. // })
  1805. // })
  1806. // { value: [25.82, 43], name: '化工' },
  1807. // { value: [17.36, 21], name: '煤层气' },
  1808. // { value: [0.04, 1], name: '文旅康养' },
  1809. // { value: [1.51, 7], name: '体育' },
  1810. // { value: [9.32, 5], name: '酿造' },
  1811. // { value: [71.12, 129], name: '建筑房地产' },
  1812. // { value: [9.11, 14], name: '农业' },
  1813. var chartData = [
  1814. {
  1815. name: '化工',
  1816. y: 43.86,
  1817. x: 32,
  1818. sliced: false,
  1819. selected: false,
  1820. },
  1821. {
  1822. name: '煤层气',
  1823. y: 29.49,
  1824. x: 16,
  1825. sliced: false,
  1826. selected: false,
  1827. },
  1828. {
  1829. name: '文旅康养',
  1830. y: 0.07,
  1831. x: 1,
  1832. sliced: false,
  1833. selected: false,
  1834. },
  1835. {
  1836. name: '体育',
  1837. y: 2.57,
  1838. x: 5,
  1839. sliced: false,
  1840. selected: false,
  1841. },
  1842. {
  1843. name: '酿造',
  1844. y: 15.83,
  1845. x: 4,
  1846. sliced: false,
  1847. selected: false,
  1848. },
  1849. {
  1850. name: '建筑房地产',
  1851. y: 120.81,
  1852. x: 96,
  1853. sliced: false,
  1854. selected: false,
  1855. },
  1856. {
  1857. name: '农业',
  1858. y: 15.47,
  1859. x: 10,
  1860. sliced: false,
  1861. selected: false,
  1862. }
  1863. ]
  1864. var timer = null;
  1865. var i = 0;
  1866. let that = this
  1867. var option = {
  1868. colors: ['#5783ab', '#1a5389', '#a79c57', '#cc8c29', '#91a65f', '#383062', '#034a39'],
  1869. chart: {
  1870. type: 'pie',
  1871. backgroundColor: 'rgba(0,0,0,0)',
  1872. options3d: {
  1873. enabled: true,
  1874. alpha: 45,
  1875. //beta: 0
  1876. },
  1877. events: {
  1878. // load,图表加载完成时触发
  1879. load: function () {
  1880. var chart = this;
  1881. var points = chart.series[0].points;
  1882. var len = points.length;
  1883. timer && clearInterval(timer);
  1884. timer = setInterval(function () {
  1885. autoTooltip(points[i]);
  1886. chartData.forEach((item,index) => {
  1887. item.sliced = false
  1888. item.selected = false
  1889. if(index == i){
  1890. item.sliced = true
  1891. item.selected = true
  1892. }
  1893. })
  1894. chart.update({
  1895. series:[{
  1896. type: 'pie',
  1897. name: '占比',
  1898. point: {
  1899. events:{
  1900. click:function(e){
  1901. that.showTip3 = true
  1902. that.echartTitle = '特色优势产业'
  1903. setTimeout(() => {
  1904. that.initChartT1(chartData)
  1905. })
  1906. }
  1907. }
  1908. },
  1909. data: chartData
  1910. }]
  1911. })
  1912. i++;
  1913. if (i === len) {
  1914. i = 0;
  1915. }
  1916. }, 2000);
  1917. },
  1918. legendItemClick : function(event) {
  1919. console.log(event);
  1920. return true;
  1921. }
  1922. }
  1923. },
  1924. credits: {
  1925. enabled: false //去掉hightchats水印
  1926. },
  1927. title: {
  1928. text: '特色优势产业',
  1929. style:{
  1930. color: 'rgba(255,255,255,0.6)',
  1931. fontSize:12,
  1932. }
  1933. },
  1934. tooltip: {
  1935. crosshairs: true,
  1936. backgroundColor: 'rgba(0,0,0,0.5)',
  1937. // positioner: function(e){
  1938. // console.log(e, this)
  1939. // },
  1940. useHTML: true, //开启html模式
  1941. style: {
  1942. color:'#fff',
  1943. },
  1944. formatter: function(e){
  1945. //console.log(this)
  1946. let num = chartData[this.colorIndex].x
  1947. this.percentage = this.percentage.toFixed(2) //Math.round(this.percentage)
  1948. return `${this.key}:<b>${this.percentage}%</b><br/><b>${this.y}</b>亿,<b>${num}个</b>`
  1949. },
  1950. //pointFormat:
  1951. },
  1952. plotOptions: {
  1953. pie: {
  1954. allowPointSelect: true,
  1955. showInLegend: false, // 图例
  1956. cursor: 'pointer',
  1957. size: 160,
  1958. innerSize : 100, //环形图中间空白,0为饼图
  1959. depth: 25, //立体高度
  1960. slicedOffset: 21, //动画距离
  1961. dataLabels: {
  1962. enabled: false, // 是否展示指示线
  1963. format: '{point.name}: {point.percentage}'
  1964. }
  1965. },
  1966. },
  1967. series: [{
  1968. type: 'pie',
  1969. name: '占比',
  1970. //center: ['35%','50%'],
  1971. point: {
  1972. events:{
  1973. click:function(e){ //点击事件
  1974. that.showTip3 = true
  1975. that.echartTitle = '特色优势产业'
  1976. setTimeout(() => {
  1977. that.initChartT1(chartData)
  1978. })
  1979. },
  1980. mouseOver: function(e){ //鼠标移入停止轮播并且找到移入的当前数据设为选中
  1981. //console.log(e)
  1982. chartData.forEach((item,index) => {
  1983. item.sliced = false
  1984. item.selected = false
  1985. })
  1986. chartData[e.target.index].sliced = true
  1987. chartData[e.target.index].selected = true
  1988. chart.update({
  1989. series:[{
  1990. type: 'pie',
  1991. name: '占比',
  1992. point: {
  1993. events:{
  1994. click:function(e){
  1995. that.showTip3 = true
  1996. that.echartTitle = '特色优势产业'
  1997. setTimeout(() => {
  1998. that.initChartT1(chartData)
  1999. })
  2000. }
  2001. }
  2002. },
  2003. data: chartData
  2004. }]
  2005. })
  2006. timer && clearInterval(timer);
  2007. },
  2008. mouseOut: function(){ // 鼠标移出后需要继续执行轮播
  2009. var points = chart.series[0].points;
  2010. var len = points.length;
  2011. timer && clearInterval(timer);
  2012. timer = setInterval(function () {
  2013. autoTooltip(points[i]);
  2014. chartData.forEach((item,index) => {
  2015. item.sliced = false
  2016. item.selected = false
  2017. if(index == i){
  2018. item.sliced = true
  2019. item.selected = true
  2020. }
  2021. })
  2022. chart.update({
  2023. series:[{
  2024. type: 'pie',
  2025. name: '占比',
  2026. point: {
  2027. events:{
  2028. click:function(e){
  2029. that.showTip3 = true
  2030. that.echartTitle = '特色优势产业'
  2031. setTimeout(() => {
  2032. that.initChartT1(chartData)
  2033. })
  2034. }
  2035. }
  2036. },
  2037. data: chartData
  2038. }]
  2039. })
  2040. i++;
  2041. if (i === len) {
  2042. i = 0;
  2043. }
  2044. }, 2000);
  2045. }
  2046. }
  2047. },
  2048. data: chartData
  2049. }]
  2050. }
  2051. var chart = Highcharts.chart('echartL6', option);
  2052. function autoTooltip(point) {
  2053. chart.tooltip.refresh(point);
  2054. }
  2055. },
  2056. initChartL7 () {
  2057. // let data = [
  2058. // { value: [155.82, 51], name: '交通运输业' },
  2059. // { value: [8.47, 19], name: '煤气层管网' },
  2060. // { value: [10.64, 24], name: '物流贸易' },
  2061. // { value: [41.05, 46], name: '水务' },
  2062. // { value: [2.14, 7], name: '其他' },
  2063. // ]
  2064. // let count = 0
  2065. // data.forEach(item => {
  2066. // count += item.value[0]
  2067. // })
  2068. // let myChart = echarts.init(this.$refs['echartL7'])
  2069. // let option = {
  2070. // title: {
  2071. // text: '公共基础等产业',
  2072. // x: 'center',
  2073. // y: '0%',
  2074. // textStyle: {
  2075. // color: 'rgba(255,255,255,0.6)',
  2076. // fontSize: 12,
  2077. // },
  2078. // },
  2079. // tooltip: {
  2080. // trigger: 'item',
  2081. // formatter: function (params) {
  2082. // return params.name + ',' + (params.value[0] / count * 100).toFixed(2) + '%' + '</br >' + params.value[1] + '个' + ',' + params.value[0] + '亿'
  2083. // }
  2084. // },
  2085. // color: ['#5783ab', '#1a5389', '#a79c57', '#cc8c29', '#91a65f', '#383062', '#034a39'],
  2086. // legend: {
  2087. // show: false,
  2088. // icon: 'circle',
  2089. // top: 'bottom',
  2090. // orient: 'vertical',
  2091. // right: '-3%',
  2092. // textStyle: {
  2093. // color: '#9DB9EB',
  2094. // fontSize: '10px'
  2095. // },
  2096. // itemWidth: 10,
  2097. // itemHeight: 10
  2098. // },
  2099. // series: [
  2100. // {
  2101. // name: '',
  2102. // type: 'pie',
  2103. // // radius: ['0%', '70%'],
  2104. // radius: ['50%', '65%'],
  2105. // center: ['50%', '55%'],
  2106. // itemStyle: {
  2107. // normal: {
  2108. // borderColor: 'rgba(1,31,64,0.7)',
  2109. // borderWidth: 6,
  2110. // label: {
  2111. // show: false,
  2112. // },
  2113. // },
  2114. // },
  2115. // labelLine: {
  2116. // show: false,
  2117. // },
  2118. // data
  2119. // },
  2120. // ],
  2121. // }
  2122. // myChart.setOption(option)
  2123. // tools.loopShowTooltip(myChart, option, {
  2124. // nterval: 2000,
  2125. // loopSeries: true,
  2126. // })
  2127. // let that = this
  2128. // myChart.on('click', function (param) {
  2129. // console.log(param)
  2130. // that.showTip3 = true
  2131. // setTimeout(() => {
  2132. // that.initChartT1(data, option)
  2133. // })
  2134. // })
  2135. // { value: [155.82, 51], name: '交通运输业' },
  2136. // { value: [8.47, 19], name: '煤气层管网' },
  2137. // { value: [10.64, 24], name: '物流贸易' },
  2138. // { value: [41.05, 46], name: '水务' },
  2139. // { value: [2.14, 7], name: '其他' },
  2140. var chartData = [
  2141. {
  2142. name: '交通运输业',
  2143. y: 264.70,
  2144. x: 38,
  2145. sliced: false,
  2146. selected: false,
  2147. },
  2148. {
  2149. name: '煤气层管网',
  2150. y: 14.39,
  2151. x: 14,
  2152. sliced: false,
  2153. selected: false,
  2154. },
  2155. {
  2156. name: '物流贸易',
  2157. y: 18.07,
  2158. x: 18,
  2159. sliced: false,
  2160. selected: false,
  2161. },
  2162. {
  2163. name: '水务',
  2164. y: 69.73,
  2165. x: 34,
  2166. sliced: false,
  2167. selected: false,
  2168. },
  2169. {
  2170. name: '其他',
  2171. y: 3.64,
  2172. x: 5,
  2173. sliced: false,
  2174. selected: false,
  2175. }
  2176. ]
  2177. var timer = null;
  2178. var i = 0;
  2179. let that = this
  2180. var option = {
  2181. colors: ['#5783ab', '#1a5389', '#a79c57', '#cc8c29', '#91a65f', '#383062', '#034a39'],
  2182. chart: {
  2183. type: 'pie',
  2184. backgroundColor: 'rgba(0,0,0,0)',
  2185. options3d: {
  2186. enabled: true,
  2187. alpha: 45,
  2188. //beta: 0
  2189. },
  2190. events: {
  2191. // load,图表加载完成时触发
  2192. load: function () {
  2193. var chart = this;
  2194. var points = chart.series[0].points;
  2195. var len = points.length;
  2196. timer && clearInterval(timer);
  2197. timer = setInterval(function () {
  2198. autoTooltip(points[i]);
  2199. chartData.forEach((item,index) => {
  2200. item.sliced = false
  2201. item.selected = false
  2202. if(index == i){
  2203. item.sliced = true
  2204. item.selected = true
  2205. }
  2206. })
  2207. chart.update({
  2208. series:[{
  2209. type: 'pie',
  2210. name: '占比',
  2211. point: {
  2212. events:{
  2213. click:function(e){
  2214. that.showTip3 = true
  2215. that.echartTitle = '公共基础等产业'
  2216. setTimeout(() => {
  2217. that.initChartT1(chartData)
  2218. })
  2219. }
  2220. }
  2221. },
  2222. data: chartData
  2223. }]
  2224. })
  2225. i++;
  2226. if (i === len) {
  2227. i = 0;
  2228. }
  2229. }, 2000);
  2230. },
  2231. legendItemClick : function(event) {
  2232. console.log(event);
  2233. return true;
  2234. }
  2235. }
  2236. },
  2237. credits: {
  2238. enabled: false //去掉hightchats水印
  2239. },
  2240. title: {
  2241. text: '公共基础等产业',
  2242. style:{
  2243. color: 'rgba(255,255,255,0.6)',
  2244. fontSize:12,
  2245. }
  2246. },
  2247. tooltip: {
  2248. crosshairs: true,
  2249. backgroundColor: 'rgba(0,0,0,0.5)',
  2250. // positioner: function(e){
  2251. // console.log(e, this)
  2252. // },
  2253. useHTML: true, //开启html模式
  2254. style: {
  2255. color:'#fff',
  2256. },
  2257. formatter: function(e){
  2258. //console.log(this)
  2259. let num = chartData[this.colorIndex].x
  2260. this.percentage = this.percentage.toFixed(2) //Math.round(this.percentage)
  2261. return `${this.key}:<b>${this.percentage}%</b><br/><b>${this.y}</b>亿,<b>${num}个</b>`
  2262. },
  2263. //pointFormat:
  2264. },
  2265. plotOptions: {
  2266. pie: {
  2267. allowPointSelect: true,
  2268. showInLegend: false, // 图例
  2269. cursor: 'pointer',
  2270. size: 160,
  2271. innerSize : 100, //环形图中间空白,0为饼图
  2272. depth: 25, //立体高度
  2273. slicedOffset: 21, //动画距离
  2274. dataLabels: {
  2275. enabled: false, // 是否展示指示线
  2276. format: '{point.name}: {point.percentage}'
  2277. }
  2278. },
  2279. },
  2280. series: [{
  2281. type: 'pie',
  2282. name: '占比',
  2283. //center: ['35%','50%'],
  2284. point: {
  2285. events:{
  2286. click:function(e){ //点击事件
  2287. that.showTip3 = true
  2288. that.echartTitle = '公共基础等产业'
  2289. setTimeout(() => {
  2290. that.initChartT1(chartData)
  2291. })
  2292. },
  2293. mouseOver: function(e){ //鼠标移入停止轮播并且找到移入的当前数据设为选中
  2294. //console.log(e)
  2295. chartData.forEach((item,index) => {
  2296. item.sliced = false
  2297. item.selected = false
  2298. })
  2299. chartData[e.target.index].sliced = true
  2300. chartData[e.target.index].selected = true
  2301. chart.update({
  2302. series:[{
  2303. type: 'pie',
  2304. name: '占比',
  2305. point: {
  2306. events:{
  2307. click:function(e){
  2308. that.showTip3 = true
  2309. that.echartTitle = '公共基础等产业'
  2310. setTimeout(() => {
  2311. that.initChartT1(chartData)
  2312. })
  2313. }
  2314. }
  2315. },
  2316. data: chartData
  2317. }]
  2318. })
  2319. timer && clearInterval(timer);
  2320. },
  2321. mouseOut: function(){ // 鼠标移出后需要继续执行轮播
  2322. var points = chart.series[0].points;
  2323. var len = points.length;
  2324. timer && clearInterval(timer);
  2325. timer = setInterval(function () {
  2326. autoTooltip(points[i]);
  2327. chartData.forEach((item,index) => {
  2328. item.sliced = false
  2329. item.selected = false
  2330. if(index == i){
  2331. item.sliced = true
  2332. item.selected = true
  2333. }
  2334. })
  2335. chart.update({
  2336. series:[{
  2337. type: 'pie',
  2338. name: '占比',
  2339. point: {
  2340. events:{
  2341. click:function(e){
  2342. that.showTip3 = true
  2343. that.echartTitle = '公共基础等产业'
  2344. setTimeout(() => {
  2345. that.initChartT1(chartData)
  2346. })
  2347. }
  2348. }
  2349. },
  2350. data: chartData
  2351. }]
  2352. })
  2353. i++;
  2354. if (i === len) {
  2355. i = 0;
  2356. }
  2357. }, 2000);
  2358. }
  2359. }
  2360. },
  2361. data: chartData
  2362. }]
  2363. }
  2364. var chart = Highcharts.chart('echartL7', option);
  2365. function autoTooltip(point) {
  2366. chart.tooltip.refresh(point);
  2367. }
  2368. },
  2369. initChartR4 () {
  2370. let myChart = echarts.init(this.$refs['echartR4'])
  2371. let option = {
  2372. title: {
  2373. text: '2022年的可投资总额',
  2374. x: 'center',
  2375. y: '87%',
  2376. textStyle: {
  2377. color: 'rgba(255,255,255,0.6)',
  2378. fontSize: 12,
  2379. },
  2380. },
  2381. tooltip: {
  2382. trigger: 'item',
  2383. },
  2384. color: ['#69C1FF', '#4B97CC',],
  2385. legend: {
  2386. icon: 'circle',
  2387. top: 'bottom',
  2388. orient: 'vertical',
  2389. right: '1%',
  2390. textStyle: {
  2391. color: '#9DB9EB',
  2392. },
  2393. },
  2394. series: [
  2395. {
  2396. name: '',
  2397. type: 'pie',
  2398. label: {
  2399. normal: {
  2400. show: true,
  2401. position: 'center',
  2402. color: '#4c4a4a',
  2403. formatter: '{total|' + '462.83' + '}' + '\n\r' + '{active|亿元}',
  2404. rich: {
  2405. total: {
  2406. fontSize: 20,
  2407. fontFamily: "微软雅黑",
  2408. color: '#fff'
  2409. },
  2410. active: {
  2411. fontFamily: "微软雅黑",
  2412. fontSize: 15,
  2413. color: '#fff'
  2414. },
  2415. }
  2416. },
  2417. emphasis: {//中间文字显示
  2418. show: true,
  2419. }
  2420. },
  2421. radius: ['40%', '60%'],
  2422. center: ['50%', '45%'],
  2423. itemStyle: {
  2424. normal: {
  2425. label: {
  2426. show: false,
  2427. },
  2428. },
  2429. },
  2430. labelLine: {
  2431. show: false,
  2432. },
  2433. data: [
  2434. { value: 1048, name: '已使用额度' },
  2435. { value: 735, name: '可使用额度' }
  2436. ],
  2437. },
  2438. ],
  2439. }
  2440. myChart.setOption(option)
  2441. tools.loopShowTooltip(myChart, option, {
  2442. nterval: 2000,
  2443. loopSeries: true,
  2444. })
  2445. },
  2446. initChartR5 () {
  2447. let myChart = echarts.init(this.$refs['echartR5'])
  2448. let option = {
  2449. title: {
  2450. text: '2023年的可投资总额',
  2451. x: 'center',
  2452. y: '87%',
  2453. textStyle: {
  2454. color: 'rgba(255,255,255,0.6)',
  2455. fontSize: 12,
  2456. },
  2457. },
  2458. tooltip: {
  2459. trigger: 'item',
  2460. },
  2461. color: ['#69C1FF', '#4B97CC',],
  2462. legend: {
  2463. icon: 'circle',
  2464. top: 'bottom',
  2465. orient: 'vertical',
  2466. right: '1%',
  2467. textStyle: {
  2468. color: '#9DB9EB',
  2469. },
  2470. },
  2471. series: [
  2472. {
  2473. name: '',
  2474. type: 'pie',
  2475. label: {
  2476. normal: {
  2477. show: true,
  2478. position: 'center',
  2479. top: '50',
  2480. color: '#4c4a4a',
  2481. formatter: '{total|' + '462.83' + '}' + '\n\r' + '{active|亿元}',
  2482. rich: {
  2483. total: {
  2484. fontSize: 20,
  2485. fontFamily: "微软雅黑",
  2486. color: '#fff'
  2487. },
  2488. active: {
  2489. fontFamily: "微软雅黑",
  2490. fontSize: 15,
  2491. color: '#fff'
  2492. },
  2493. }
  2494. },
  2495. emphasis: {//中间文字显示
  2496. show: true,
  2497. }
  2498. },
  2499. radius: ['40%', '60%'],
  2500. center: ['50%', '45%'],
  2501. itemStyle: {
  2502. normal: {
  2503. label: {
  2504. show: false,
  2505. },
  2506. },
  2507. },
  2508. labelLine: {
  2509. show: false,
  2510. },
  2511. data: [
  2512. { value: 1048, name: '已使用额度' },
  2513. { value: 735, name: '可使用额度' }
  2514. ],
  2515. },
  2516. ],
  2517. }
  2518. myChart.setOption(option)
  2519. tools.loopShowTooltip(myChart, option, {
  2520. nterval: 2000,
  2521. loopSeries: true,
  2522. })
  2523. },
  2524. initChartR1 () {
  2525. // let data = [
  2526. // { value: [1098.71, 713], name: '主业' },
  2527. // { value: [65.17, 84], name: '辅业' }
  2528. // ]
  2529. // let count = 0
  2530. // data.forEach(item => {
  2531. // count += item.value[0]
  2532. // })
  2533. // let myChart = echarts.init(this.$refs['echartR1'])
  2534. // let option = {
  2535. // title: {
  2536. // text: '主辅业计划占比',
  2537. // x: 'center',
  2538. // y: '87%',
  2539. // textStyle: {
  2540. // color: 'rgba(255,255,255,0.6)',
  2541. // fontSize: 12,
  2542. // },
  2543. // },
  2544. // tooltip: {
  2545. // trigger: 'item',
  2546. // // formatter: '{b}' + ':' + '{c}' + '<br/>' + '占比:' + '{d}%',
  2547. // // position: ['-5%', '95%'],
  2548. // formatter: function (params) {
  2549. // return params.name + ',' + (params.value[0] / count * 100).toFixed(2) + '%' + '</br >' + params.value[1] + '个' + ',' + params.value[0] + '亿'
  2550. // }
  2551. // },
  2552. // color: ['#5783ab', '#1a5389', '#a79c57', '#cc8c29', '#91a65f', '#383062', '#034a39'],
  2553. // legend: {
  2554. // show: false,
  2555. // icon: 'circle',
  2556. // top: 'bottom',
  2557. // orient: 'vertical',
  2558. // right: '-3%',
  2559. // textStyle: {
  2560. // color: '#9DB9EB',
  2561. // fontSize: '10px'
  2562. // },
  2563. // itemWidth: 10,
  2564. // itemHeight: 10
  2565. // },
  2566. // series: [
  2567. // {
  2568. // name: '',
  2569. // type: 'pie',
  2570. // radius: ['40%', '60%'],
  2571. // center: ['50%', '45%'],
  2572. // itemStyle: {
  2573. // normal: {
  2574. // borderColor: 'rgba(1,31,64,0.7)',
  2575. // borderWidth: 6,
  2576. // label: {
  2577. // show: false,
  2578. // },
  2579. // },
  2580. // },
  2581. // labelLine: {
  2582. // show: false,
  2583. // },
  2584. // data,
  2585. // },
  2586. // ],
  2587. // }
  2588. // myChart.setOption(option)
  2589. // tools.loopShowTooltip(myChart, option, {
  2590. // nterval: 2000,
  2591. // loopSeries: true,
  2592. // })
  2593. // let that = this
  2594. // myChart.on('click', function (param) {
  2595. // console.log(param)
  2596. // that.showTip3 = true
  2597. // setTimeout(() => {
  2598. // that.initChartT1(data, option)
  2599. // })
  2600. // })
  2601. // let data = [
  2602. // { value: [1098.71, 713], name: '主业' },
  2603. // { value: [65.17, 84], name: '辅业' }
  2604. // ]
  2605. var chartData = [
  2606. {
  2607. name: '辅业',
  2608. y: 76.38,
  2609. x: 84,
  2610. sliced: false,
  2611. selected: false,
  2612. },
  2613. {
  2614. name: '主业',
  2615. y: 1287.50,
  2616. x: 713,
  2617. sliced: false,
  2618. selected: false,
  2619. }
  2620. ]
  2621. var timer = null;
  2622. var i = 0;
  2623. let that = this
  2624. var option = {
  2625. colors: ['#5783ab', '#1a5389', '#a79c57', '#cc8c29', '#91a65f', '#383062', '#034a39'],
  2626. chart: {
  2627. type: 'pie',
  2628. backgroundColor: 'rgba(0,0,0,0)',
  2629. options3d: {
  2630. enabled: true,
  2631. alpha: 45,
  2632. //beta: 0
  2633. },
  2634. events: {
  2635. // load,图表加载完成时触发
  2636. load: function () {
  2637. var chart = this;
  2638. var points = chart.series[0].points;
  2639. var len = points.length;
  2640. timer && clearInterval(timer);
  2641. timer = setInterval(function () {
  2642. autoTooltip(points[i]);
  2643. chartData.forEach((item,index) => {
  2644. item.sliced = false
  2645. item.selected = false
  2646. if(index == i){
  2647. item.sliced = true
  2648. item.selected = true
  2649. }
  2650. })
  2651. chart.update({
  2652. series:[{
  2653. type: 'pie',
  2654. name: '占比',
  2655. point: {
  2656. events:{
  2657. click:function(e){
  2658. that.showTip3 = true
  2659. that.echartTitle = '主辅业计划占比'
  2660. setTimeout(() => {
  2661. that.initChartT1(chartData)
  2662. })
  2663. }
  2664. }
  2665. },
  2666. data: chartData
  2667. }]
  2668. })
  2669. i++;
  2670. if (i === len) {
  2671. i = 0;
  2672. chartData.forEach((item,index) => {
  2673. item.sliced = false
  2674. item.selected = false
  2675. })
  2676. chart.update({
  2677. series:[{
  2678. type: 'pie',
  2679. name: '占比',
  2680. point: {
  2681. events:{
  2682. click:function(e){
  2683. console.log(e)
  2684. }
  2685. }
  2686. },
  2687. data: chartData
  2688. }]
  2689. })
  2690. }
  2691. }, 2000);
  2692. },
  2693. legendItemClick : function(event) {
  2694. console.log(event);
  2695. return true;
  2696. }
  2697. }
  2698. },
  2699. credits: {
  2700. enabled: false //去掉hightchats水印
  2701. },
  2702. title: {
  2703. text: '主辅业计划占比',
  2704. style:{
  2705. color: 'rgba(255,255,255,0.6)',
  2706. fontSize:12,
  2707. }
  2708. },
  2709. tooltip: {
  2710. crosshairs: true,
  2711. backgroundColor: 'rgba(0,0,0,0.5)',
  2712. // positioner: function(e){
  2713. // console.log(e, this)
  2714. // },
  2715. useHTML: true, //开启html模式
  2716. style: {
  2717. color:'#fff',
  2718. },
  2719. formatter: function(e){
  2720. //console.log(this)
  2721. let num = chartData[this.colorIndex].x
  2722. this.percentage = this.percentage.toFixed(2) //Math.round(this.percentage)
  2723. return `${this.key}:<b>${this.percentage}%</b><br/><b>${this.y}</b>亿,<b>${num}个</b>`
  2724. },
  2725. //pointFormat:
  2726. },
  2727. plotOptions: {
  2728. pie: {
  2729. allowPointSelect: true,
  2730. showInLegend: false, // 图例
  2731. cursor: 'pointer',
  2732. size: 160,
  2733. innerSize : 100, //环形图中间空白,0为饼图
  2734. depth: 25, //立体高度
  2735. slicedOffset: 21, //动画距离
  2736. dataLabels: {
  2737. enabled: false, // 是否展示指示线
  2738. format: '{point.name}: {point.percentage}'
  2739. }
  2740. },
  2741. },
  2742. series: [{
  2743. type: 'pie',
  2744. name: '占比',
  2745. //center: ['35%','50%'],
  2746. point: {
  2747. events:{
  2748. click:function(e){ //点击事件
  2749. that.showTip3 = true
  2750. that.echartTitle = '主辅业计划占比'
  2751. setTimeout(() => {
  2752. that.initChartT1(chartData)
  2753. })
  2754. },
  2755. mouseOver: function(e){ //鼠标移入停止轮播并且找到移入的当前数据设为选中
  2756. //console.log(e)
  2757. chartData.forEach((item,index) => {
  2758. item.sliced = false
  2759. item.selected = false
  2760. })
  2761. chartData[e.target.index].sliced = true
  2762. chartData[e.target.index].selected = true
  2763. chart.update({
  2764. series:[{
  2765. type: 'pie',
  2766. name: '占比',
  2767. point: {
  2768. events:{
  2769. click:function(e){
  2770. that.showTip3 = true
  2771. that.echartTitle = '主辅业计划占比'
  2772. setTimeout(() => {
  2773. that.initChartT1(chartData)
  2774. })
  2775. }
  2776. }
  2777. },
  2778. data: chartData
  2779. }]
  2780. })
  2781. timer && clearInterval(timer);
  2782. },
  2783. mouseOut: function(){ // 鼠标移出后需要继续执行轮播
  2784. var points = chart.series[0].points;
  2785. var len = points.length;
  2786. timer && clearInterval(timer);
  2787. timer = setInterval(function () {
  2788. autoTooltip(points[i]);
  2789. chartData.forEach((item,index) => {
  2790. item.sliced = false
  2791. item.selected = false
  2792. if(index == i){
  2793. item.sliced = true
  2794. item.selected = true
  2795. }
  2796. })
  2797. chart.update({
  2798. series:[{
  2799. type: 'pie',
  2800. name: '占比',
  2801. point: {
  2802. events:{
  2803. click:function(e){
  2804. that.showTip3 = true
  2805. that.echartTitle = '主辅业计划占比'
  2806. setTimeout(() => {
  2807. that.initChartT1(chartData)
  2808. })
  2809. }
  2810. }
  2811. },
  2812. data: chartData
  2813. }]
  2814. })
  2815. i++;
  2816. if (i === len) {
  2817. i = 0;
  2818. chartData.forEach((item,index) => {
  2819. item.sliced = false
  2820. item.selected = false
  2821. })
  2822. chart.update({
  2823. series:[{
  2824. type: 'pie',
  2825. name: '占比',
  2826. point: {
  2827. events:{
  2828. click:function(e){
  2829. that.showTip3 = true
  2830. that.echartTitle = '主辅业计划占比'
  2831. setTimeout(() => {
  2832. that.initChartT1(chartData)
  2833. })
  2834. }
  2835. }
  2836. },
  2837. data: chartData
  2838. }]
  2839. })
  2840. }
  2841. }, 2000);
  2842. }
  2843. }
  2844. },
  2845. data: chartData
  2846. }]
  2847. }
  2848. var chart = Highcharts.chart('echartR1', option);
  2849. function autoTooltip(point) {
  2850. chart.tooltip.refresh(point);
  2851. }
  2852. },
  2853. initChartR2 () {
  2854. // let data = [
  2855. // { value: [340.77, 168], name: '特别监管类' },
  2856. // { value: [390.22, 465], name: '备案类' }
  2857. // ]
  2858. // let count = 0
  2859. // data.forEach(item => {
  2860. // count += item.value[0]
  2861. // })
  2862. // let myChart = echarts.init(this.$refs['echartR2'])
  2863. // let option = {
  2864. // title: {
  2865. // text: '项目管理类型',
  2866. // x: 'center',
  2867. // y: '87%',
  2868. // textStyle: {
  2869. // color: 'rgba(255,255,255,0.6)',
  2870. // fontSize: 12,
  2871. // },
  2872. // },
  2873. // tooltip: {
  2874. // trigger: 'item',
  2875. // formatter: function (params) {
  2876. // return params.name + ',' + (params.value[0] / count * 100).toFixed(2) + '%' + '</br >' + params.value[1] + '个' + ',' + params.value[0] + '亿'
  2877. // }
  2878. // // position: ['-5%', '95%'],
  2879. // },
  2880. // color: ['#5783ab', '#1a5389', '#a79c57', '#cc8c29', '#91a65f', '#383062', '#034a39'],
  2881. // legend: {
  2882. // show: false,
  2883. // icon: 'circle',
  2884. // top: 'bottom',
  2885. // orient: 'vertical',
  2886. // right: '-3%',
  2887. // textStyle: {
  2888. // color: '#9DB9EB',
  2889. // fontSize: '10px'
  2890. // },
  2891. // itemWidth: 10,
  2892. // itemHeight: 10
  2893. // },
  2894. // series: [
  2895. // {
  2896. // name: '',
  2897. // type: 'pie',
  2898. // radius: ['40%', '60%'],
  2899. // center: ['50%', '45%'],
  2900. // itemStyle: {
  2901. // normal: {
  2902. // borderColor: 'rgba(1,31,64,0.7)',
  2903. // borderWidth: 6,
  2904. // label: {
  2905. // show: false,
  2906. // },
  2907. // },
  2908. // },
  2909. // labelLine: {
  2910. // show: false,
  2911. // },
  2912. // data,
  2913. // },
  2914. // ],
  2915. // }
  2916. // myChart.setOption(option)
  2917. // tools.loopShowTooltip(myChart, option, {
  2918. // nterval: 2000,
  2919. // loopSeries: true,
  2920. // })
  2921. // let that = this
  2922. // myChart.on('click', function (param) {
  2923. // console.log(param)
  2924. // that.showTip3 = true
  2925. // setTimeout(() => {
  2926. // that.initChartT1(data, option)
  2927. // })
  2928. // })
  2929. // { value: [340.77, 168], name: '特别监管类' },
  2930. // { value: [390.22, 465], name: '备案类' }
  2931. var chartData = [
  2932. {
  2933. name: '特别监管类',
  2934. y: 635.84,
  2935. x: 168,
  2936. sliced: false,
  2937. selected: false,
  2938. },
  2939. {
  2940. name: '备案类',
  2941. y: 728.04,
  2942. x: 465,
  2943. sliced: false,
  2944. selected: false,
  2945. }
  2946. ]
  2947. var timer = null;
  2948. var i = 0;
  2949. let that = this
  2950. var chart = Highcharts.chart('echartR2', {
  2951. colors: ['#5783ab', '#1a5389', '#a79c57', '#cc8c29', '#91a65f', '#383062', '#034a39'],
  2952. chart: {
  2953. type: 'pie',
  2954. backgroundColor: 'rgba(0,0,0,0)',
  2955. options3d: {
  2956. enabled: true,
  2957. alpha: 45,
  2958. //beta: 0
  2959. },
  2960. events: {
  2961. // load,图表加载完成时触发
  2962. load: function () {
  2963. var chart = this;
  2964. var points = chart.series[0].points;
  2965. var len = points.length;
  2966. timer && clearInterval(timer);
  2967. timer = setInterval(function () {
  2968. autoTooltip(points[i]);
  2969. chartData.forEach((item,index) => {
  2970. item.sliced = false
  2971. item.selected = false
  2972. if(index == i){
  2973. item.sliced = true
  2974. item.selected = true
  2975. }
  2976. })
  2977. chart.update({
  2978. series:[{
  2979. type: 'pie',
  2980. name: '占比',
  2981. point: {
  2982. events:{
  2983. click:function(e){
  2984. that.showTip3 = true
  2985. that.echartTitle = '项目管理类型'
  2986. setTimeout(() => {
  2987. that.initChartT1(chartData)
  2988. })
  2989. }
  2990. }
  2991. },
  2992. data: chartData
  2993. }]
  2994. })
  2995. i++;
  2996. if (i === len) {
  2997. i = 0;
  2998. chartData.forEach((item,index) => {
  2999. item.sliced = false
  3000. item.selected = false
  3001. })
  3002. chart.update({
  3003. series:[{
  3004. type: 'pie',
  3005. name: '占比',
  3006. point: {
  3007. events:{
  3008. click:function(e){
  3009. console.log(e)
  3010. }
  3011. }
  3012. },
  3013. data: chartData
  3014. }]
  3015. })
  3016. }
  3017. }, 2000);
  3018. },
  3019. legendItemClick : function(event) {
  3020. //console.log(event);
  3021. that.showTip3 = true
  3022. that.echartTitle = '项目管理类型'
  3023. setTimeout(() => {
  3024. that.initChartT1(chartData)
  3025. })
  3026. return true;
  3027. }
  3028. }
  3029. },
  3030. credits: {
  3031. enabled: false //去掉hightchats水印
  3032. },
  3033. title: {
  3034. text: '项目管理类型',
  3035. style:{
  3036. color: 'rgba(255,255,255,0.6)',
  3037. fontSize:12,
  3038. }
  3039. },
  3040. tooltip: {
  3041. crosshairs: true,
  3042. backgroundColor: 'rgba(0,0,0,0.5)',
  3043. // positioner: function(e){
  3044. // console.log(e, this)
  3045. // },
  3046. useHTML: true, //开启html模式
  3047. style: {
  3048. color:'#fff',
  3049. },
  3050. formatter: function(e){
  3051. //console.log(this)
  3052. let num = chartData[this.colorIndex].x
  3053. this.percentage = this.percentage.toFixed(2) //Math.round(this.percentage)
  3054. return `${this.key}:<b>${this.percentage}%</b><br/><b>${this.y}</b>亿,<b>${num}个</b>`
  3055. },
  3056. //pointFormat:
  3057. },
  3058. plotOptions: {
  3059. pie: {
  3060. allowPointSelect: true,
  3061. showInLegend: false, // 图例
  3062. cursor: 'pointer',
  3063. size: 160,
  3064. innerSize : 100, //环形图中间空白,0为饼图
  3065. depth: 25, //立体高度
  3066. slicedOffset: 21, //动画距离
  3067. dataLabels: {
  3068. enabled: false, // 是否展示指示线
  3069. format: '{point.name}: {point.percentage}'
  3070. }
  3071. },
  3072. },
  3073. series: [{
  3074. type: 'pie',
  3075. name: '占比',
  3076. //center: ['35%','50%'],
  3077. point: {
  3078. events:{
  3079. click:function(e){ //点击事件
  3080. that.showTip3 = true
  3081. that.echartTitle = '项目管理类型'
  3082. setTimeout(() => {
  3083. that.initChartT1(chartData)
  3084. })
  3085. },
  3086. mouseOver: function(e){ //鼠标移入停止轮播并且找到移入的当前数据设为选中
  3087. //console.log(e)
  3088. chartData.forEach((item,index) => {
  3089. item.sliced = false
  3090. item.selected = false
  3091. })
  3092. chartData[e.target.index].sliced = true
  3093. chartData[e.target.index].selected = true
  3094. chart.update({
  3095. series:[{
  3096. type: 'pie',
  3097. name: '占比',
  3098. point: {
  3099. events:{
  3100. click:function(e){
  3101. that.showTip3 = true
  3102. that.echartTitle = '项目管理类型'
  3103. setTimeout(() => {
  3104. that.initChartT1(chartData)
  3105. })
  3106. }
  3107. }
  3108. },
  3109. data: chartData
  3110. }]
  3111. })
  3112. timer && clearInterval(timer);
  3113. },
  3114. mouseOut: function(){ // 鼠标移出后需要继续执行轮播
  3115. var points = chart.series[0].points;
  3116. var len = points.length;
  3117. timer && clearInterval(timer);
  3118. timer = setInterval(function () {
  3119. autoTooltip(points[i]);
  3120. chartData.forEach((item,index) => {
  3121. item.sliced = false
  3122. item.selected = false
  3123. if(index == i){
  3124. item.sliced = true
  3125. item.selected = true
  3126. }
  3127. })
  3128. chart.update({
  3129. series:[{
  3130. type: 'pie',
  3131. name: '占比',
  3132. point: {
  3133. events:{
  3134. click:function(e){
  3135. that.showTip3 = true
  3136. that.echartTitle = '项目管理类型'
  3137. setTimeout(() => {
  3138. that.initChartT1(chartData)
  3139. })
  3140. }
  3141. }
  3142. },
  3143. data: chartData
  3144. }]
  3145. })
  3146. i++;
  3147. if (i === len) {
  3148. i = 0;
  3149. chartData.forEach((item,index) => {
  3150. item.sliced = false
  3151. item.selected = false
  3152. })
  3153. chart.update({
  3154. series:[{
  3155. type: 'pie',
  3156. name: '占比',
  3157. point: {
  3158. events:{
  3159. click:function(e){
  3160. console.log(e)
  3161. }
  3162. }
  3163. },
  3164. data: chartData
  3165. }]
  3166. })
  3167. }
  3168. }, 2000);
  3169. }
  3170. }
  3171. },
  3172. data: chartData
  3173. }]
  3174. });
  3175. function autoTooltip(point) {
  3176. chart.tooltip.refresh(point);
  3177. }
  3178. },
  3179. initChartR3 () {
  3180. let myChart = echarts.init(this.$refs['echartR3'])
  3181. let option = {
  3182. title: {
  3183. text: '股权类',
  3184. textStyle: {
  3185. color: '#69C0FF',
  3186. fontSize: 16,
  3187. fontWeight: 500
  3188. },
  3189. top: '10',
  3190. left: '10'
  3191. },
  3192. textStyle: {
  3193. color: '#fff',
  3194. },
  3195. tooltip: {
  3196. trigger: "axis",
  3197. formatter: function (params) {
  3198. var tip = params[0].axisValue + '<br/>' + params[0].marker + params[0].data[1] + ':' + params[0].data[2] + '个,' + params[0].data[3] + '亿元' + '<br/>' + params[1].marker + params[1].data[1] + ':' + params[1].data[2] + '个,' + params[1].data[3] + '亿元';
  3199. return tip
  3200. },
  3201. axisPointer: {
  3202. lineStyle: {
  3203. type: 'dashed',
  3204. width: 2,
  3205. color: 'rgba(255,255,255,0.6)'
  3206. },
  3207. animation: true
  3208. }
  3209. },
  3210. grid: {
  3211. top: '22%',
  3212. right: '5%',
  3213. left: '15%',
  3214. bottom: '15%',
  3215. },
  3216. yAxis: {
  3217. data: ['备案', '特别监管'],
  3218. splitLine: {
  3219. show: true,
  3220. lineStyle: {
  3221. color: '#68b4dd66',
  3222. type: 'dashed',
  3223. },
  3224. },
  3225. axisLine: {
  3226. show: false
  3227. },
  3228. axisLabel: {
  3229. show: true,
  3230. formatter: '{value}',
  3231. textStyle: {
  3232. color: 'rgba(250,250,250,0.6)',
  3233. },
  3234. },
  3235. nameTextStyle: {
  3236. color: '#ebf8ac',
  3237. fontSize: 16,
  3238. },
  3239. },
  3240. xAxis: {
  3241. data: ['项目储备', '项目立项', '可研论证', '投资决策'],
  3242. axisLine: {
  3243. show: true, //隐藏X轴轴线
  3244. lineStyle: {
  3245. color: '#005094',
  3246. width: 1,
  3247. },
  3248. },
  3249. axisTick: {
  3250. show: false, //隐藏X轴刻度
  3251. },
  3252. axisLabel: {
  3253. show: true,
  3254. textStyle: {
  3255. color: 'rgba(255,255,255,0.6)', //X轴文字颜色
  3256. fontSize: 12,
  3257. },
  3258. },
  3259. },
  3260. series: [
  3261. {
  3262. name: '',
  3263. type: 'scatter',
  3264. symbol: 'circle',
  3265. symbolSize: function (data) {
  3266. return Math.sqrt(data[2]) * 3;
  3267. },
  3268. label: {
  3269. emphasis: {
  3270. show: true,
  3271. formatter: function (param) {
  3272. return param.data[2];
  3273. },
  3274. position: 'top'
  3275. }
  3276. },
  3277. itemStyle: {
  3278. normal: {
  3279. color: '#40A9FF'
  3280. }
  3281. },
  3282. data: [
  3283. ['项目储备', '特别监管', 9, 6.49],
  3284. ['项目立项', '特别监管', 0, 0.00],
  3285. ['可研论证', '特别监管', 2, 0.10],
  3286. ['投资决策', '特别监管', 27, 15.52],
  3287. ]
  3288. },
  3289. {
  3290. name: '',
  3291. type: 'scatter',
  3292. symbol: 'circle',
  3293. symbolSize: function (data) {
  3294. return Math.sqrt(data[2]) * 3;
  3295. },
  3296. label: {
  3297. emphasis: {
  3298. show: true,
  3299. formatter: function (param) {
  3300. return param.data[2];
  3301. },
  3302. position: 'top'
  3303. }
  3304. },
  3305. itemStyle: {
  3306. normal: {
  3307. color: '#45DAD1'
  3308. }
  3309. },
  3310. data: [
  3311. ['项目储备', '备案', 39, 8.08],
  3312. ['项目立项', '备案', 7, 1.83],
  3313. ['可研论证', '备案', 19, 1.01],
  3314. ['投资决策', '备案', 73, 17.65],
  3315. ]
  3316. },
  3317. ]
  3318. }
  3319. myChart.setOption(option)
  3320. tools.loopShowTooltip(myChart, option, {
  3321. nterval: 2000,
  3322. loopSeries: true,
  3323. })
  3324. },
  3325. initChartR6 () {
  3326. let myChart = echarts.init(this.$refs['echartR6'])
  3327. let option = {
  3328. title: {
  3329. text: '固定资产',
  3330. textStyle: {
  3331. color: '#69C0FF',
  3332. fontSize: 16,
  3333. fontWeight: 500
  3334. },
  3335. top: '10',
  3336. left: '10'
  3337. },
  3338. textStyle: {
  3339. color: '#fff',
  3340. },
  3341. tooltip: {
  3342. trigger: "axis",
  3343. formatter: function (params) {
  3344. var tip = params[0].axisValue + '<br/>' + params[0].marker + params[0].data[1] + ':' + params[0].data[2] + '个,' + params[0].data[3] + '亿元' + '<br/>' + params[1].marker + params[1].data[1] + ':' + params[1].data[2] + '个,' + params[1].data[3] + '亿元';
  3345. return tip
  3346. },
  3347. axisPointer: {
  3348. lineStyle: {
  3349. type: 'dashed',
  3350. width: 2,
  3351. color: 'rgba(255,255,255,0.6)'
  3352. },
  3353. animation: true
  3354. }
  3355. },
  3356. grid: {
  3357. top: '25%',
  3358. right: '5%',
  3359. left: '15%',
  3360. bottom: '15%',
  3361. },
  3362. yAxis: {
  3363. data: ['备案', '特别监管'],
  3364. splitLine: {
  3365. show: true,
  3366. lineStyle: {
  3367. color: '#68b4dd66',
  3368. type: 'dashed',
  3369. },
  3370. },
  3371. axisLine: {
  3372. show: false
  3373. },
  3374. axisLabel: {
  3375. show: true,
  3376. formatter: '{value}',
  3377. textStyle: {
  3378. color: 'rgba(250,250,250,0.6)',
  3379. },
  3380. },
  3381. nameTextStyle: {
  3382. color: '#ebf8ac',
  3383. fontSize: 16,
  3384. },
  3385. },
  3386. xAxis: {
  3387. data: ['项目储备', '项目立项', '可研论证', '投资决策'],
  3388. axisLine: {
  3389. show: true, //隐藏X轴轴线
  3390. lineStyle: {
  3391. color: '#005094',
  3392. width: 1,
  3393. },
  3394. },
  3395. axisTick: {
  3396. show: false, //隐藏X轴刻度
  3397. },
  3398. axisLabel: {
  3399. show: true,
  3400. textStyle: {
  3401. color: 'rgba(255,255,255,0.6)', //X轴文字颜色
  3402. fontSize: 12,
  3403. },
  3404. },
  3405. },
  3406. series: [
  3407. {
  3408. name: '特别监管',
  3409. type: 'scatter',
  3410. symbol: 'circle',//'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'
  3411. symbolSize: function (data) {
  3412. return Math.sqrt(data[2]) * 3;
  3413. },
  3414. label: {
  3415. emphasis: {
  3416. show: true,
  3417. formatter: function (param) {
  3418. return param.data[2];
  3419. },
  3420. position: 'top'
  3421. }
  3422. },
  3423. itemStyle: {
  3424. normal: {
  3425. color: '#40A9FF'
  3426. }
  3427. },
  3428. data: [
  3429. ['项目储备', '特别监管', 14, 12.05],
  3430. ['项目立项', '特别监管', 2, 1.25],
  3431. ['可研论证', '特别监管', 10, 32.69],
  3432. ['投资决策', '特别监管', 15, 28.53],
  3433. ]
  3434. },
  3435. {
  3436. name: '备案',
  3437. type: 'scatter',
  3438. symbol: 'circle',//'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'
  3439. symbolSize: function (data) {
  3440. return Math.sqrt(data[2]) * 3;
  3441. },
  3442. label: {
  3443. emphasis: {
  3444. show: true,
  3445. formatter: function (param) {
  3446. return param.data[2];
  3447. },
  3448. position: 'top'
  3449. }
  3450. },
  3451. itemStyle: {
  3452. normal: {
  3453. color: '#45DAD1'
  3454. }
  3455. },
  3456. data: [
  3457. ['项目储备', '备案', 27, 23.86],
  3458. ['项目立项', '备案', 1, 1.05],
  3459. ['可研论证', '备案', 14, 18.46],
  3460. ['投资决策', '备案', 40, 38.86],
  3461. ]
  3462. },
  3463. ]
  3464. }
  3465. myChart.setOption(option)
  3466. tools.loopShowTooltip(myChart, option, {
  3467. nterval: 2000,
  3468. loopSeries: true,
  3469. })
  3470. },
  3471. initChartT1 (list, info) {
  3472. // let count = 0
  3473. // console.log(list, info)
  3474. // this.echartTitle = info.title.text
  3475. // let data = list
  3476. // data.forEach(item => {
  3477. // count += item.value[0]
  3478. // })
  3479. // let option = JSON.parse(JSON.stringify(info))
  3480. // option.series[0].center = ['50%', '50%']
  3481. // option.series[0].radius = ['60%', '75%']
  3482. // option.legend = {
  3483. // show: false,
  3484. // icon: 'circle',
  3485. // top: 'bottom',
  3486. // orient: 'vertical',
  3487. // right: '2%',
  3488. // textStyle: {
  3489. // color: '#9DB9EB',
  3490. // fontSize: 16
  3491. // },
  3492. // itemWidth: 10,
  3493. // itemHeight: 10
  3494. // },
  3495. // option.title.text = ''
  3496. // option.tooltip = {
  3497. // trigger: 'item',
  3498. // formatter: function (params) {
  3499. // return params.name + ',' + (params.value[0] / count * 100).toFixed(2) + '%' + '</br >' + params.value[1] + '个' + ',' + params.value[0] + '亿'
  3500. // }
  3501. // }
  3502. // option.series[0].itemStyle.normal.label = {
  3503. // show: true,
  3504. // formatter: function (params) {
  3505. // return params.name + ',' + (params.value[0] / count * 100).toFixed(2) + '%' + '\n' + params.value[1] + '个' + ',' + params.value[0] + '亿'
  3506. // }
  3507. // }
  3508. // option.series[0].labelLine.show = true
  3509. // let myChart = echarts.init(this.$refs['echartT1'])
  3510. // myChart.setOption(option)
  3511. // tools.loopShowTooltip(myChart, option, {
  3512. // nterval: 2000,
  3513. // loopSeries: true,
  3514. // })
  3515. var chartData = list
  3516. console.log(list)
  3517. setTimeout(()=>{
  3518. Highcharts.chart('echartT1', {
  3519. colors: ['#5783ab', '#1a5389', '#a79c57', '#cc8c29', '#91a65f', '#383062', '#034a39'],
  3520. chart: {
  3521. type: 'pie',
  3522. backgroundColor: 'rgba(0,0,0,0)',
  3523. options3d: {
  3524. enabled: true,
  3525. alpha: 45,
  3526. //beta: 0
  3527. },
  3528. },
  3529. credits: {
  3530. enabled: false //去掉hightchats水印
  3531. },
  3532. title: null,
  3533. tooltip: {
  3534. crosshairs: true,
  3535. backgroundColor: 'rgba(0,0,0,0.5)',
  3536. // positioner: function(e){
  3537. // console.log(e, this)
  3538. // },
  3539. useHTML: true, //开启html模式
  3540. style: {
  3541. color:'#fff',
  3542. },
  3543. formatter: function(e){
  3544. //console.log(this)
  3545. let num = chartData[this.colorIndex].x
  3546. this.percentage = this.percentage.toFixed(2) //Math.round(this.percentage)
  3547. return `${this.key}:<b>${this.percentage}%</b><br/><b>${this.y}</b>亿,<b>${num}个</b>`
  3548. },
  3549. //pointFormat:
  3550. },
  3551. plotOptions: {
  3552. pie: {
  3553. allowPointSelect: true,
  3554. showInLegend: false, // 图例
  3555. cursor: 'pointer',
  3556. size: 260,
  3557. innerSize : 170, //环形图中间空白,0为饼图
  3558. depth: 38, //立体高度
  3559. slicedOffset: 23, //动画距离
  3560. dataLabels: {
  3561. enabled: true, // 是否展示指示线
  3562. formatter: function(point) {
  3563. console.log(point, this)
  3564. let num = chartData[this.colorIndex].x
  3565. this.percentage = this.percentage.toFixed(2)
  3566. return `${this.key}:${this.percentage}%<br/>${this.y}亿,${num}个`
  3567. } //''
  3568. }
  3569. },
  3570. },
  3571. series: [{
  3572. type: 'pie',
  3573. name: '占比',
  3574. //center: ['35%','50%'],
  3575. data: chartData
  3576. }]
  3577. });
  3578. },50)
  3579. }
  3580. },
  3581. })