Переглянути джерело

Merge branch 'main' of https://git.sxidc.com/kingdee_large_screen/pc_kingdee_large_screen

unknown 1 рік тому
батько
коміт
2c3b4b0d5d

BIN
investment/images/content-bg2.png


BIN
investment/images/icon-1-home2.png


BIN
investment/images/icon-2-home2.png


BIN
investment/images/icon-3-home2.png


BIN
investment/images/icon-4-home2.png


BIN
investment/images/icon-5-home2.png


BIN
investment/images/icon-6-home2.png


BIN
investment/images/icon-7-home2.png


BIN
investment/images/icon-8-home2.png


BIN
investment/images/left-border2.png


+ 206 - 0
investment/investHome2.html

@@ -0,0 +1,206 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8" />
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
+    <!-- 引入样式 -->
+    <link rel="stylesheet" href="./styles/element-ui@2.15.9.css" />
+    <link rel="stylesheet" href="./styles/normalize.css" />
+    <link rel="stylesheet" href="./styles/investHome2.css" />
+    <!-- 引入js -->
+    <script src="./libs/vue@2.7.10.js"></script>
+    <script src="./libs/datav.min.js"></script>
+    <script src="./libs/echarts.min.js"></script>
+    <script src="./libs/element-ui@2.15.9.js"></script>
+    <script src="./libs/axios.min.js"></script>
+    <script src="./js/request.js"></script>
+    <script src="./libs/echarts-liquidfill.min.js"></script>
+    <script src="./libs/echarts-tooltip-carousel.js"></script>
+  </head>
+  <body>
+    <div id="app">
+      <dv-full-screen-container>
+        <header class="my-header">
+          <span>投资管理数智中心</span>
+          <span class="right">{{time}}</span>
+        </header>
+        <div class="main">
+          <div class="left">
+            <dv-border-box-8 :dur="10" style="height: calc(100% / 3); margin-bottom: 10px;">
+              <div class="title">
+                <span class="text">储备项目分析</span>
+              </div>
+              <div class="content">
+                <div class="content-left">
+                  <div class="item">
+                    <div class="item-title">825.60<span>亿</span></div>
+                    <div class="item-img">
+                      <img style="width: 100%; height: 100%" src="./images/icon-1-home2.png" alt="">
+                    </div>
+                    <div class="item-text">储备项目总金额</div>
+                  </div>
+                  <div class="item">
+                    <div class="item-title">786<span>个</span></div>
+                    <div class="item-img">
+                      <img style="width: 100%; height: 100%" src="./images/icon-2-home2.png" alt="">
+                    </div>
+                    <div class="item-text">储备项目数量</div>
+                  </div>
+                  <div class="item">
+                    <div class="item-title">23.56<span>%</span></div>
+                    <div class="item-img">
+                      <img style="width: 100%; height: 100%" src="./images/icon-3-home2.png" alt="">
+                    </div>
+                    <div class="item-text">储备项目准化率</div>
+                  </div>
+                </div>
+                <div class="content-right">
+                  <div ref="echartL1" style="width: 100%; height: 100%;"></div>
+                </div>
+              </div>
+            </dv-border-box-8>
+            <dv-border-box-8 :dur="10" style="height: calc(100% / 3); margin-bottom: 10px;">
+              <div class="title">
+                <span class="text">投资额度分析</span>
+                <span class="tip-window">2023年</span>
+              </div>
+              <div class="content">
+                <div class="content-left" style="flex-wrap: wrap;">
+                  <div class="item2">
+                    <div class="item2-title" style="color: #15FFA2;">574.12<span>亿</span></div>
+                    <div class="item2-img">
+                      <img style="width: 100%; height: 100%;" src="./images/icon-4-home2.png" alt="">
+                    </div>
+                    <div class="item2-text">上一年度经营业绩</div>
+                  </div>
+                  <div class="item2">
+                    <div class="item2-title" style="color: #DD9CFF;">212.21<span>亿</span></div>
+                    <div class="item2-img">
+                      <img style="width: 100%; height: 100%;" src="./images/icon-5-home2.png" alt="">
+                    </div>
+                    <div class="item2-text">上一年度经营业绩</div>
+                  </div>
+                  <div class="item2">
+                    <div class="item2-title" style="color: #EBC805;">222.31<span>亿</span></div>
+                    <div class="item2-img">
+                      <img style="width: 100%; height: 100%;" src="./images/icon-6-home2.png" alt="">
+                    </div>
+                    <div class="item2-text">上一年度经营业绩</div>
+                  </div>
+                  <div class="item2">
+                    <div class="item2-title" style="color: #08E4FA;">523.32<span>亿</span></div>
+                    <div class="item2-img">
+                      <img style="width: 100%; height: 100%;" src="./images/icon-7-home2.png" alt="">
+                    </div>
+                    <div class="item2-text">上一年度经营业绩</div>
+                  </div>
+                </div>
+                <div class="content-right">
+                  <div ref="echartL2" style="width: 100%; height: 100%;"></div>
+                </div>
+              </div>
+            </dv-border-box-8>
+            <dv-border-box-8 :dur="10" style="height: calc(100% / 3);">
+              <div class="title">
+                <span class="text">重点项目两线指标</span>
+              </div>
+              <div class="content">
+                <div class="content-left">
+                  <div ref="echartL3" style="width: 100%; height: 100%;"></div>
+                </div>
+                <div class="content-con">
+                  <div ref="echartL4" style="width: 100%; height: 100%;"></div>
+                </div>
+                <div class="content-right">
+                  <div class="item5">
+                    <div class="title">山西焦煤集团</div>
+                    <dv-scroll-board :config="storageRecordConfig" style="width: 100%; height:calc(100% - 30px)"/>
+                  </div>
+                </div>
+              </div>
+            </dv-border-box-8>
+          </div>
+          <div class="right">
+            <dv-border-box-8 :dur="10" style="height: calc(100% / 3); margin-bottom: 10px;">
+              <div class="title">
+                <span class="text">投资计划分析</span>
+                <span class="tip-window">2023年</span>
+              </div>
+              <div class="content">
+                <div class="content-left">
+                  <div class="content-left-l">
+                    <div class="item3">
+                      <div class="item3-title">450.12<span>亿</span></div>
+                      <div class="item3-img">
+                        <img style="width: 100%; height: 100%;" src="./images/icon-8-home2.png" alt="">
+                      </div>
+                      <div class="item4-text">
+                        年度投资计划总额
+                      </div>
+                    </div>
+                  </div>
+                  <div class="content-left-r">
+                    <div class="content-left-r-t">
+                      <div class="item4">
+                        <div class="item4-title">列入省级项目重点项目</div>
+                        <div class="item4-con">
+                          <div class="item">
+                            <div class="title">200<span>亿</span></div>
+                            <div class="text">投资金额</div>
+                          </div>
+                          <div class="item">
+                            <div class="title">20<span>个</span></div>
+                            <div class="text">项目数量</div>
+                          </div>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="content-left-r-b">
+                      <div class="item4">
+                        <div class="item4-title">国家或省政府决定的重大项目</div>
+                        <div class="item4-con">
+                          <div class="item">
+                            <div class="title">200<span>亿</span></div>
+                            <div class="text">投资金额</div>
+                          </div>
+                          <div class="item">
+                            <div class="title">20<span>个</span></div>
+                            <div class="text">项目数量</div>
+                          </div>
+                        </div>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+                <div class="content-right">
+                  <div class="content-right-l">
+                    <div ref="echartR1" style="width: 100%; height: 100%;"></div>
+                  </div>
+                  <div class="content-right-r">
+                    <div ref="echartR2" style="width: 100%; height: 100%;"></div>
+                  </div>
+                </div>
+              </div>
+            </dv-border-box-8>
+            <dv-border-box-8 :dur="10" style="height: calc((100% / 3 + 5px) * 2);">
+              <div class="title">
+                <span class="text">投前项目阶段分析</span>
+                <span class="tip-window">省重点项目</span>
+              </div>
+              <div class="content" style="flex-direction: column;">
+                <div class="content-top">
+                  <div ref="echartR3" style="width: 100%; height: 100%;"></div>
+                </div>
+                <div class="content-bot">
+                  <div ref="echartR4" style="width: 100%; height: 100%;"></div>
+                </div>
+              </div>
+            </dv-border-box-8>
+          </div>
+        </div>
+      </dv-full-screen-container>
+    </div>
+    <script src="./js/investHome2.js"></script>
+  </body>
+</html>

+ 1223 - 0
investment/js/investHome2.js

@@ -0,0 +1,1223 @@
+let app = new Vue({
+  el: '#app',
+  data() {
+    return {
+      year: '2022',
+      time: '',
+      timer: '',
+      mapName: 'shanxi',
+      geoCoordMap: {},
+      config1: {
+        number: [100],
+        content: '{nt}个',
+      },
+      storageRecordConfig: {
+        header: [],
+        headerBGC: '#05507b33',
+        oddRowBGC: '#05507b33',
+        evenRowBGC: '',
+        headerHeight: '40',
+        rowNum: 4,
+        align: ['center'],
+        data: [
+          ['工程建设项目'],
+          ['施工图设计'],
+          ['工程建设项目'],
+          ['施工图设计'],
+          ['工程建设项目'],
+        ],
+      },
+      companyList: [
+        { name: '山西焦煤' },
+        { name: '晋能控股' },
+        { name: '华新燃气' },
+        { name: '山西建投' },
+        { name: '潞安化工' },
+        { name: '华远陆港' },
+        { name: '航产集团' },
+        { name: '大地控股' },
+        { name: '国新能源' },
+        { name: '汾酒集团' },
+        { name: '云时代' },
+        { name: '神农科技' },
+        { name: '华阳新材' },
+        { name: '华舰体育' },
+        { name: '交控集团' },
+        { name: '文旅集团' },
+        { name: '水控集团' },
+        { name: '太重集团' },
+      ],
+    }
+  },
+  created() {
+    this.time = formatDate()
+    this.timer = setInterval(() => {
+      this.time = formatDate()
+    }, 1000)
+  },
+  beforeDestroy() {
+    if (this.timer) {
+      clearInterval(this.timer);
+    }
+  },
+  mounted() {
+    // 左侧图表
+    setTimeout(() => {
+      this.initChartL1()
+      this.initChartL2()
+      this.initChartL3()
+      this.initChartL4()
+      this.initChartR1()
+      this.initChartR2()
+      this.initChartR3()
+      this.initChartR4()
+    }, 0)
+  },
+  methods: {
+    convertData(data) {
+      var res = []
+      for (var i = 0; i < data.length; i++) {
+        var geoCoord = this.geoCoordMap[data[i].name]
+        if (geoCoord) {
+          res.push({
+            name: data[i].name,
+            value: geoCoord.concat(data[i].value),
+          })
+        }
+      }
+      return res
+    },
+    initChinaChart() {
+      var data = [
+        { name: '吕梁市', value: 150 },
+        { name: '大同市', value: 190 },
+        { name: '忻州市', value: 140 },
+        { name: '朔州市', value: 160 },
+        { name: '晋中市', value: 100 },
+        { name: '太原市', value: 300 },
+        { name: '临汾市', value: 190 },
+        { name: '长治市', value: 100 },
+        { name: '晋城市', value: 280 },
+        { name: '运城市', value: 180 },
+        { name: '阳泉市', value: 110 },
+      ]
+
+      var moveLine = {
+        normal: [
+          {
+            fromName: '太原市',
+            toName: '吕梁市',
+            coords: [
+              [112.3352, 37.9413],
+              [111.3574, 37.7325],
+            ],
+          },
+          {
+            fromName: '太原市',
+            toName: '忻州市',
+            coords: [
+              [112.3352, 37.9413],
+              [112.4561, 38.8971],
+            ],
+          },
+          {
+            fromName: '太原市',
+            toName: '临汾市',
+            coords: [
+              [112.3352, 37.9413],
+              [111.4783, 36.1615],
+            ],
+          },
+          {
+            fromName: '太原市',
+            toName: '阳泉市',
+            coords: [
+              [112.3352, 37.9413],
+              [113.4778, 38.0951],
+            ],
+          },
+          {
+            fromName: '太原市',
+            toName: '晋中市',
+            coords: [
+              [112.3352, 37.9413],
+              [112.7747, 37.37],
+            ],
+          },
+          {
+            fromName: '太原市',
+            toName: '运城市',
+            coords: [
+              [112.3352, 37.9413],
+              [111.1487, 35.2002],
+            ],
+          },
+          {
+            fromName: '太原市',
+            toName: '大同市',
+            coords: [
+              [112.3352, 37.9413],
+              [113.7854, 39.8035],
+            ],
+          },
+          {
+            fromName: '太原市',
+            toName: '晋城市',
+            coords: [
+              [112.3352, 37.9413],
+              [112.7856, 35.6342],
+            ],
+          },
+          {
+            fromName: '太原市',
+            toName: '长治市',
+            coords: [
+              [112.3352, 37.9413],
+              [112.8625, 36.4746],
+            ],
+          },
+          {
+            fromName: '太原市',
+            toName: '朔州市',
+            coords: [
+              [112.3352, 37.9413],
+              [113.0713, 39.6991],
+            ],
+          },
+        ],
+      }
+      /*获取地图数据*/
+      let myChart = echarts.init(this.$refs['echarts-map'])
+      echarts.registerMap('shanxi', {
+        type: 'FeatureCollection',
+        features: [
+          {
+            type: 'Feature',
+            id: '1409',
+            properties: { name: '忻州市', cp: [112.4561, 38.8971], childNum: 14 },
+            geometry: {
+              type: 'Polygon',
+              coordinates: [
+                '@@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',
+              ],
+              encodeOffsets: [[113614, 39657]],
+            },
+          },
+          {
+            type: 'Feature',
+            id: '1411',
+            properties: { name: '吕梁市', cp: [111.3574, 37.7325], childNum: 13 },
+            geometry: {
+              type: 'Polygon',
+              coordinates: [
+                '@@@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',
+              ],
+              encodeOffsets: [[113614, 39657]],
+            },
+          },
+          {
+            type: 'Feature',
+            id: '1410',
+            properties: { name: '临汾市', cp: [111.4783, 36.1615], childNum: 17 },
+            geometry: {
+              type: 'Polygon',
+              coordinates: [
+                '@@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',
+              ],
+              encodeOffsets: [[113063, 37784]],
+            },
+          },
+          {
+            type: 'Feature',
+            id: '1407',
+            properties: { name: '晋中市', cp: [112.7747, 37.37], childNum: 11 },
+            geometry: {
+              type: 'Polygon',
+              coordinates: [
+                '@@@š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@',
+              ],
+              encodeOffsets: [[114087, 37682]],
+            },
+          },
+          {
+            type: 'Feature',
+            id: '1408',
+            properties: { name: '运城市', cp: [111.1487, 35.2002], childNum: 13 },
+            geometry: {
+              type: 'Polygon',
+              coordinates: [
+                '@@„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@„',
+              ],
+              encodeOffsets: [[113232, 36597]],
+            },
+          },
+          {
+            type: 'Feature',
+            id: '1402',
+            properties: { name: '大同市', cp: [113.7854, 39.8035], childNum: 8 },
+            geometry: {
+              type: 'Polygon',
+              coordinates: [
+                '@@²£š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',
+              ],
+              encodeOffsets: [[115335, 41209]],
+            },
+          },
+          {
+            type: 'Feature',
+            id: '1404',
+            properties: { name: '长治市', cp: [112.8625, 36.4746], childNum: 12 },
+            geometry: {
+              type: 'Polygon',
+              coordinates: [
+                '@@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',
+              ],
+              encodeOffsets: [[116269, 37637]],
+            },
+          },
+          {
+            type: 'Feature',
+            id: '1406',
+            properties: { name: '朔州市', cp: [113.0713, 39.6991], childNum: 5 },
+            geometry: {
+              type: 'Polygon',
+              coordinates: [
+                '@@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‚',
+              ],
+              encodeOffsets: [[114615, 40562]],
+            },
+          },
+          {
+            type: 'Feature',
+            id: '1405',
+            properties: { name: '晋城市', cp: [112.7856, 35.6342], childNum: 6 },
+            geometry: {
+              type: 'Polygon',
+              coordinates: [
+                '@@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°',
+              ],
+              encodeOffsets: [[115223, 36895]],
+            },
+          },
+          {
+            type: 'Feature',
+            id: '1401',
+            properties: { name: '太原市', cp: [112.3352, 37.9413], childNum: 5 },
+            geometry: {
+              type: 'Polygon',
+              coordinates: [
+                '@@„@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š@°',
+              ],
+              encodeOffsets: [[114503, 39134]],
+            },
+          },
+          {
+            type: 'Feature',
+            id: '1403',
+            properties: { name: '阳泉市', cp: [113.4778, 38.0951], childNum: 3 },
+            geometry: {
+              type: 'Polygon',
+              coordinates: [
+                '@@°@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',
+              ],
+              encodeOffsets: [[115864, 39336]],
+            },
+          },
+        ],
+        UTF8Encoding: true,
+      })
+      var mapFeatures = echarts.getMap(this.mapName).geoJson.features
+      mapFeatures.forEach(v => {
+        // 地区名称
+        var name = v.properties.name
+        // 地区经纬度
+        this.geoCoordMap[name] = v.properties.cp
+      })
+
+      myChart.setOption({
+        tooltip: {
+          padding: 15,
+          enterable: true,
+          transitionDuration: 1,
+          formatter: (params, ticket, callback) => {
+            let tipHtml = `
+              <div class="tooltip-cont">
+                <p>新开工:<span>工程建设项目</span></p>
+                <p>总投资额:<span>${params.data.value}亿</span></p>
+                <p>当前阶段:<span>可论证阶段</span></p>
+                <p>时间节点:<span>2021.10-2022.10</span></p>
+            </div>`
+            return tipHtml
+          },
+        },
+        visualMap: {
+          min: 0,
+          max: 300,
+          right: 0,
+          bottom: 0,
+          text: ['高', '低'],
+          textStyle: {
+            color: '#f1f1f1'
+          },
+          realtime: false,
+          calculable: true,
+          inRange: {
+            color: ['lightskyblue', '#2754b7']
+          }
+        },
+        geo: {
+          show: true,
+          map: 'shanxi',
+          layoutCenter: ['50%', '50%'], //地图位置
+          layoutSize: '100%',
+          label: {
+            normal: {
+              show: false,
+            },
+            emphasis: {
+              show: false,
+            },
+          },
+          roam: false,
+          itemStyle: {
+            normal: {
+              areaColor: '#1946a8',
+              shadowColor: '#1946a8',
+              borderWidth: 1, //设置外层边框
+              borderColor: '#1946a8',
+              shadowOffsetX: 10,
+              shadowOffsetY: 5,
+              shadowBlur: 2,
+            },
+            emphasis: {
+              areaColor: '#1946a8',
+              borderColor: '#d4bc1d',
+              borderWidth: 2, //设置外层边框
+            },
+          },
+        },
+        series: [
+          {
+            name: '散点',
+            type: 'scatter',
+            coordinateSystem: 'geo',
+            data: this.convertData(data),
+            symbolSize: function (val) {
+              return 10
+            },
+            label: {
+              normal: {
+                formatter: '{b}',
+                position: [10, 10],
+                fontSize: 15,
+                fontWeight: 600,
+                fontStyle: 'italic',
+                color: '#fff',
+                show: true,
+              },
+              emphasis: {
+                show: true,
+              },
+            },
+            itemStyle: {
+              normal: {
+                color: '#000',
+                borderWidth: 2,
+                borderColor: '#fff',
+              },
+            },
+          },
+          {
+            type: 'map',
+            map: this.mapName,
+            geoIndex: 0,
+            aspectScale: 0.75, //长宽比
+            showLegendSymbol: true, // 存在legend时显示
+            label: {
+              normal: {
+                show: true,
+              },
+              emphasis: {
+                show: false,
+                textStyle: {
+                  color: '#fff',
+                },
+              },
+            },
+            roam: true,
+            itemStyle: {
+              normal: {
+                areaColor: '#031525',
+                borderColor: '#3B5077',
+              },
+              emphasis: {
+                areaColor: '#2B91B7',
+              },
+            },
+            animation: false,
+            data: data,
+          },
+          {
+            name: '点',
+            type: 'scatter',
+            coordinateSystem: 'geo',
+            zlevel: 6,
+          },
+          {
+            name: 'Top 5',
+            type: 'effectScatter',
+            coordinateSystem: 'geo',
+            data: this.convertData(
+              data
+                .sort(function (a, b) {
+                  return b.value - a.value
+                })
+                .slice(0, 5)
+            ),
+            symbolSize: function (val) {
+              return 15
+            },
+            showEffectOn: 'render',
+            rippleEffect: {
+              brushType: 'stroke',
+            },
+            hoverAnimation: true,
+            label: {
+              normal: {
+                formatter: '{b}',
+                position: 'left',
+                show: false,
+              },
+            },
+            itemStyle: {
+              normal: {
+                color: 'yellow',
+                shadowBlur: 10,
+                shadowColor: 'yellow',
+              },
+            },
+            zlevel: 1000,
+          },
+          {
+            name: '线路',
+            type: 'lines',
+            zlevel: 2,
+            effect: {
+              show: true,
+              period: 4, //箭头指向速度,值越小速度越快
+              trailLength: 0.02, //特效尾迹长度[0,1]值越大,尾迹越长重
+              symbol: 'arrow', //箭头图标
+              symbolSize: 5, //图标大小
+            },
+            lineStyle: {
+              normal: {
+                color: '#00FFFF',
+                width: 1,
+                type: 'dashed',
+                opacity: 0.5, //尾迹线条透明度
+                curveness: -0.3, //尾迹线条曲直度
+              },
+            },
+            data: moveLine.normal,
+          },
+        ],
+      })
+    },
+    initChartL1() {
+      let myChart = echarts.init(this.$refs['echartL1'])
+      let option = {
+        title: {
+          text: '储备项目产业分布',
+          x: 'center',
+          y: '87%',
+          textStyle: {
+            color: 'rgba(255,255,255,0.6)',
+            fontSize: 12,
+          },
+        },
+        tooltip: {
+          trigger: 'item',
+        },
+        color: ['#6682f5', '#8ba2ff', '#69c0ff', '#43ede3'],
+        legend: {
+          icon: 'circle',
+          top: 'bottom',
+          orient: 'vertical',
+          right: '1%',
+          textStyle: {
+            color: '#9DB9EB',
+          },
+        },
+        series: [
+          {
+            name: '',
+            type: 'pie',
+            radius: ['70%', '50%'],
+            itemStyle: {
+              normal: {
+                label: {
+                  show: false,
+                },
+              },
+            },
+            labelLine: {
+              show: false
+            },
+            data: [
+              { value: 1048, name: '煤炭' },
+              { value: 735, name: '火电' },
+              { value: 580, name: '焦化' },
+              { value: 484, name: '风电' },
+            ],
+          },
+        ],
+      }
+      myChart.setOption(option)
+      tools.loopShowTooltip(myChart, option, {
+        nterval: 2000,
+        loopSeries: true,
+      })
+    },
+    initChartL2() {
+      let myChart = echarts.init(this.$refs['echartL2'])
+      var value = 0.45;
+      var data = [value];
+      let option = {
+        backgroundColor: 'transparent',
+        title: [
+          {
+            text: '450.12亿',
+            x: '38%',
+            y: '80%',
+            textStyle: {
+              fontSize: 24,
+              fontWeight: 'bold',
+              color: '#2CB7E0',
+              lineHeight: 16,
+              textAlign: 'center',
+            },
+          }
+        ],
+        series: [
+          {
+            type: 'liquidFill',
+            radius: '70%',
+            center: ['50%', '40%'],
+            color: [
+              {
+                type: 'linear',
+                x: 0,
+                y: 0,
+                x2: 0,
+                y2: 1,
+                colorStops: [
+                  {
+                    offset: 0,
+                    color: '#446bf5',
+                  },
+                  {
+                    offset: 1,
+                    color: '#2ca3e2',
+                  },
+                ],
+                globalCoord: false,
+              },
+            ],
+            data: [value, value], // data个数代表波浪数
+            backgroundStyle: {
+              borderWidth: 1,
+              color: 'RGBA(51, 66, 127, 0.7)',
+            },
+            label: {
+              normal: {
+                textStyle: {
+                  fontSize: 30,
+                  color: '#fff',
+                },
+              },
+            },
+            outline: {
+              // show: false
+              borderDistance: 0,
+              itemStyle: {
+                borderWidth: 2,
+                borderColor: 'transparent',
+              },
+            },
+          },
+        ],
+      }
+      myChart.setOption(option)
+    },
+    initChartL3() {
+      let myChart = echarts.init(this.$refs['echartL3'])
+      let option = {
+        tooltip: {
+          trigger: 'axis',
+          axisPointer: {
+            type: 'shadow',
+          },
+        },
+        grid: {
+          top: '22%',
+          right: '5%',
+          left: '10%',
+          bottom: '25%',
+        },
+        xAxis: {
+          data: ['总投资收益率', '销售利润率'],
+          axisLine: {
+            show: true, //隐藏X轴轴线
+            lineStyle: {
+              color: '#005094',
+              width: 1,
+            },
+          },
+          axisTick: {
+            show: true, //隐藏X轴刻度
+          },
+          axisLabel: {
+            show: true,
+            rotate: 15,
+            textStyle: {
+              color: 'rgba(255,255,255,0.6)', //X轴文字颜色
+              fontSize: 12,
+            },
+          },
+        },
+        yAxis: [
+          {
+            type: 'value',
+            splitLine: {
+              show: true,
+              lineStyle: {
+                color: '#68b4dd66',
+                type: 'dashed',
+              },
+            },
+            axisLine: {
+              show: false
+            },
+            axisLabel: {
+              show: true,
+              formatter: '{value}',
+              textStyle: {
+                color: 'rgba(250,250,250,0.6)',
+              },
+            },
+            nameTextStyle: {
+              color: '#ebf8ac',
+              fontSize: 16,
+            },
+          },
+        ],
+        series: [
+          {
+            name: '',
+            type: 'bar',
+            barWidth: 15,
+            itemStyle: {
+              normal: {
+                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+                  {
+                    offset: 0,
+                    color: '#69c0ff',
+                  },
+                  {
+                    offset: 1,
+                    color: '#082550',
+                  },
+                ]),
+              },
+            },
+            data: [10, 20],
+            markLine: {
+              symbol: ['none', 'none'],
+              data: [
+                {
+                  name: '生存线',
+                  yAxis: 10,
+                  lineStyle: {
+                    color: '#FF8F0A',
+                  },
+                  label: {
+                    formatter: '{b}',
+                    position: 'middle',
+                    color: '#FF8F0A',
+                    fontSize: 12,
+                  },
+                },
+                {
+                  name: '发展线',
+                  yAxis: 15,
+                  lineStyle: {
+                    color: '#00EEA2',
+                  },
+                  label: {
+                    formatter: '{b}',
+                    position: 'middle',
+                    color: '#00EEA2',
+                    fontSize: 12,
+                  },
+                },
+              ],
+              label: {
+                distance: [50, 0],
+              },
+            },
+          },
+        ],
+      }
+      myChart.setOption(option)
+      tools.loopShowTooltip(myChart, option, {
+        nterval: 2000,
+        loopSeries: true,
+      })
+    },
+    initChartL4() {
+      let myChart = echarts.init(this.$refs['echartL4'])
+      let option = {
+        title: {
+          text: '储备项目产业分布',
+          x: 'center',
+          y: '87%',
+          textStyle: {
+            color: 'rgba(255,255,255,0.6)',
+            fontSize: 12,
+          },
+        },
+        tooltip: {
+          trigger: 'item',
+        },
+        color: ['#6682f5', '#8ba2ff', '#69c0ff', '#43ede3'],
+        legend: {
+          icon: 'circle',
+          top: 'bottom',
+          orient: 'vertical',
+          right: '1%',
+          textStyle: {
+            color: '#9DB9EB',
+          },
+        },
+        series: [
+          {
+            name: '',
+            type: 'pie',
+            radius: ['70%', '50%'],
+            itemStyle: {
+              normal: {
+                label: {
+                  show: false,
+                },
+              },
+            },
+            labelLine: {
+              show: false,
+            },
+            data: [
+              { value: 1048, name: '煤炭' },
+              { value: 735, name: '火电' },
+              { value: 580, name: '焦化' },
+              { value: 484, name: '风电' },
+            ],
+          },
+        ],
+      }
+      myChart.setOption(option)
+      tools.loopShowTooltip(myChart, option, {
+        nterval: 2000,
+        loopSeries: true,
+      })
+    },
+    initChartR1() {
+      let myChart = echarts.init(this.$refs['echartR1'])
+      let option = {
+        title: {
+          text: '储备项目产业分布',
+          x: '15%',
+          y: '87%',
+          textStyle: {
+            color: 'rgba(255,255,255,0.6)',
+            fontSize: 12,
+          },
+        },
+        tooltip: {
+          trigger: 'item',
+        },
+        color: ['#6682f5', '#8ba2ff', '#69c0ff', '#43ede3'],
+        legend: {
+          icon: 'circle',
+          top: 'bottom',
+          orient: 'vertical',
+          right: '1%',
+          textStyle: {
+            color: '#9DB9EB',
+          },
+        },
+        series: [
+          {
+            name: '',
+            type: 'pie',
+            radius: ['60%', '40%'],
+            center: ['40%', '45%'],
+            itemStyle: {
+              normal: {
+                label: {
+                  show: false,
+                },
+              },
+            },
+            labelLine: {
+              show: false,
+            },
+            data: [
+              { value: 1048, name: '煤炭' },
+              { value: 735, name: '火电' },
+              { value: 580, name: '焦化' },
+              { value: 484, name: '风电' },
+            ],
+          },
+        ],
+      }
+      myChart.setOption(option)
+      tools.loopShowTooltip(myChart, option, {
+        nterval: 2000,
+        loopSeries: true,
+      })
+    },
+    initChartR2() {
+      let myChart = echarts.init(this.$refs['echartR2'])
+      let option = {
+        title: {
+          text: '储备项目产业分布',
+          x: '15%',
+          y: '87%',
+          textStyle: {
+            color: 'rgba(255,255,255,0.6)',
+            fontSize: 12,
+          },
+        },
+        tooltip: {
+          trigger: 'item',
+        },
+        color: ['#6682f5', '#8ba2ff', '#69c0ff', '#43ede3'],
+        legend: {
+          icon: 'circle',
+          top: 'bottom',
+          orient: 'vertical',
+          right: '1%',
+          textStyle: {
+            color: '#9DB9EB',
+          },
+        },
+        series: [
+          {
+            name: '',
+            type: 'pie',
+            radius: ['60%', '40%'],
+            center: ['40%', '45%'],
+            itemStyle: {
+              normal: {
+                label: {
+                  show: false,
+                },
+              },
+            },
+            labelLine: {
+              show: false,
+            },
+            data: [
+              { value: 1048, name: '煤炭' },
+              { value: 735, name: '火电' },
+              { value: 580, name: '焦化' },
+              { value: 484, name: '风电' },
+            ],
+          },
+        ],
+      }
+      myChart.setOption(option)
+      tools.loopShowTooltip(myChart, option, {
+        nterval: 2000,
+        loopSeries: true,
+      })
+    },
+    initChartR3() {
+      let myChart = echarts.init(this.$refs['echartR3'])
+      let option = {
+        title: {
+          text: '固定资产项目',
+          textStyle: {
+            color: '#69C0FF',
+          },
+          top: '10',
+          left: '10'
+        },
+        textStyle: {
+          color: '#fff',
+        },
+        tooltip: {
+          trigger: "axis",
+          axisPointer: {
+            lineStyle: {
+              type: 'dashed',
+              width: 2,
+              color: '#4B941A'
+            },
+            animation: true
+          }
+        },
+        grid: {
+          show: false
+        },
+        yAxis: {
+          data: ['批量备案', '特别监管'],
+          splitLine: {
+            show: true,
+            lineStyle: {
+              color: '#68b4dd66',
+              type: 'dashed',
+            },
+          },
+          axisLine: {
+            show: false
+          },
+          axisLabel: {
+            show: true,
+            formatter: '{value}',
+            textStyle: {
+              color: 'rgba(250,250,250,0.6)',
+            },
+          },
+          nameTextStyle: {
+            color: '#ebf8ac',
+            fontSize: 16,
+          },
+        },
+        xAxis: {
+          data: ['项目储备', '项目立项', '项目可研', '可研论证', '投资决策'],
+          axisLine: {
+            show: true, //隐藏X轴轴线
+            lineStyle: {
+              color: '#005094',
+              width: 1,
+            },
+          },
+          axisTick: {
+            show: false, //隐藏X轴刻度
+          },
+          axisLabel: {
+            show: true,
+            textStyle: {
+              color: 'rgba(255,255,255,0.6)', //X轴文字颜色
+              fontSize: 12,
+            },
+          },
+        },
+        series: [
+          {
+            name: '',
+            type: 'scatter',
+            symbol: 'circle',//'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'
+            symbolSize: function (data) {
+              return Math.sqrt(data[2]) * 0.5;
+            },
+            label: {
+              emphasis: {
+                show: true,
+                formatter: function (param) {
+                  return param.data[2];
+                },
+                position: 'top'
+              }
+            },
+            itemStyle: {
+              normal: {
+                color: 'red'
+              }
+            },
+            data: [
+              ['项目储备', '批量备案', 200],
+              ['项目立项', '批量备案', 1500],
+              ['项目可研', '批量备案', 2000],
+              ['可研论证', '批量备案', 2500],
+              ['投资决策', '批量备案', 3000],
+              ['福建', '批量备案', 3500],
+            ]
+          },
+          {
+            name: '',
+            type: 'scatter',
+            symbol: 'circle',//'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'
+            symbolSize: function (data) {
+              return Math.sqrt(data[2]) * 0.5;
+            },
+            label: {
+              emphasis: {
+                show: true,
+                formatter: function (param) {
+                  return param.data[2];
+                },
+                position: 'top'
+              }
+            },
+            itemStyle: {
+              normal: {
+                color: '#C94C15'
+              }
+            },
+            data: [
+              ['项目储备', '特别监管', 1400],
+              ['项目立项', '特别监管', 1500],
+              ['项目可研', '特别监管', 5500],
+              ['可研论证', '特别监管', 500],
+            ]
+          }
+        ]
+      }
+      myChart.setOption(option)
+      tools.loopShowTooltip(myChart, option, {
+        nterval: 2000,
+        loopSeries: true,
+      })
+    },
+    initChartR4() {
+      let myChart = echarts.init(this.$refs['echartR4'])
+      let option = {
+        title: {
+          text: '股权投资项目',
+          textStyle: {
+            color: '#69C0FF',
+          },
+          top: '10',
+          left: '10'
+        },
+        textStyle: {
+          color: '#fff',
+        },
+        tooltip: {
+          trigger: "axis",
+          axisPointer: {
+            lineStyle: {
+              type: 'dashed',
+              width: 2,
+              color: '#4B941A'
+            },
+            animation: true
+          }
+        },
+        grid: {
+          show: false
+        },
+        yAxis: {
+          data: ['批量备案', '特别监管'],
+          splitLine: {
+            show: true,
+            lineStyle: {
+              color: '#68b4dd66',
+              type: 'dashed',
+            },
+          },
+          axisLine: {
+            show: false
+          },
+          axisLabel: {
+            show: true,
+            formatter: '{value}',
+            textStyle: {
+              color: 'rgba(250,250,250,0.6)',
+            },
+          },
+          nameTextStyle: {
+            color: '#ebf8ac',
+            fontSize: 16,
+          },
+        },
+        xAxis: {
+          data: ['项目储备', '项目立项', '项目可研', '可研论证', '投资决策'],
+          axisLine: {
+            show: true, //隐藏X轴轴线
+            lineStyle: {
+              color: '#005094',
+              width: 1,
+            },
+          },
+          axisTick: {
+            show: false, //隐藏X轴刻度
+          },
+          axisLabel: {
+            show: true,
+            textStyle: {
+              color: 'rgba(255,255,255,0.6)', //X轴文字颜色
+              fontSize: 12,
+            },
+          },
+        },
+        series: [
+          {
+            name: '',
+            type: 'scatter',
+            symbol: 'circle',//'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'
+            symbolSize: function (data) {
+              return Math.sqrt(data[2]) * 0.5;
+            },
+            label: {
+              emphasis: {
+                show: true,
+                formatter: function (param) {
+                  return param.data[2];
+                },
+                position: 'top'
+              }
+            },
+            itemStyle: {
+              normal: {
+                color: 'red'
+              }
+            },
+            data: [
+              ['项目储备', '批量备案', 200],
+              ['项目立项', '批量备案', 1500],
+              ['项目可研', '批量备案', 2000],
+              ['可研论证', '批量备案', 2500],
+              ['投资决策', '批量备案', 3000],
+              ['福建', '批量备案', 3500],
+            ]
+          },
+          {
+            name: '',
+            type: 'scatter',
+            symbol: 'circle',//'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'
+            symbolSize: function (data) {
+              return Math.sqrt(data[2]) * 0.5;
+            },
+            label: {
+              emphasis: {
+                show: true,
+                formatter: function (param) {
+                  return param.data[2];
+                },
+                position: 'top'
+              }
+            },
+            itemStyle: {
+              normal: {
+                color: '#C94C15'
+              }
+            },
+            data: [
+              ['项目储备', '特别监管', 1400],
+              ['项目立项', '特别监管', 1500],
+              ['项目可研', '特别监管', 5500],
+              ['可研论证', '特别监管', 500],
+            ]
+          }
+        ]
+      }
+      myChart.setOption(option)
+      tools.loopShowTooltip(myChart, option, {
+        nterval: 2000,
+        loopSeries: true,
+      })
+    }
+  },
+})

Різницю між файлами не показано, бо вона завелика
+ 0 - 0
investment/libs/echarts-liquidfill.min.js


+ 0 - 0
manpower/libs/echarts-tooltip-carousel.js → investment/libs/echarts-tooltip-carousel.js


+ 408 - 0
investment/styles/investHome2.css

@@ -0,0 +1,408 @@
+*,
+*:before,
+*:after {
+  padding: 0;
+  margin: 0;
+  box-sizing: border-box;
+}
+html,
+body {
+  height: 100%;
+  font-size: 14px;
+  background-color: #ECFFFF;
+  font-family: 'Microsoft YaHei', 'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB', Arial, sans-serif;
+}
+
+.flex {
+  display: flex;
+}
+.flex1 {
+  flex: 1;
+}
+.flex2 {
+  flex: 2;
+}
+.flex-around {
+  display: flex;
+  justify-content: space-around;
+}
+.flex-between {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+}
+.flex-end {
+  display: flex;
+  justify-content: flex-end;
+}
+.flex-align-center {
+  display: flex;
+  align-items: center;
+}
+.text-center {
+  text-align: center;
+}
+.font12 {
+  font-size: 12px;
+}
+.main-color {
+  color: #0bf1ff;
+}
+.danger-color {
+  color: #f15450 !important;
+}
+.error-color {
+  color: #ffc704 !important;
+}
+.btm10 {
+  margin-bottom: 10px;
+}
+.btm20 {
+  margin-bottom: 20px;
+}
+a {
+  text-decoration: none;
+  cursor: pointer;
+}
+
+[v-cloak] {
+  display: none;
+}
+#app {
+  background: url('../images/page-bg.png') center center no-repeat;
+  background-size: 100% 100%;
+  padding-top: 10px;
+  height: 100vh;
+  overflow: hidden;
+  color: #fff;
+}
+.my-header {
+  position: relative;
+  height: 70px;
+  line-height: 70px;
+  background: url('../images/header-bg.png') center center no-repeat;
+  background-size: 100% 100%;
+  text-align: center;
+  font-weight: bold;
+  font-size: 32px;
+  font-weight: 600;
+}
+.my-header span {
+  background: linear-gradient(-3deg, #99EEFF 0%, #99EEFF 30%, #FFFFFF 91%);
+  -webkit-background-clip: text;
+  -webkit-text-fill-color: transparent;
+}
+.my-header span.right {
+  position: absolute;
+  right: 60px;
+  top: 0px;
+  font-size: 16px;
+}
+.main {
+  padding: 15px;
+  display: flex;
+  height: calc(100vh - 25px);
+  background: url('../images/content-bg2.png') no-repeat center bottom;
+  display: flex;
+  padding-bottom: 65px;
+}
+.left {
+  margin-right: 10px;
+}
+.left,
+.right {
+  flex: 1;
+  display: flex;
+  flex-direction: column;
+}
+.dv-border-box-8 {
+  background: url('../images/left-border2.png') no-repeat;
+  background-size: 100% 100%;
+}
+.left .title {
+  position: relative;
+  text-align: center;
+  height: 50px;
+  line-height: 50px;
+}
+.left .title .text {
+  font-size: 20px;
+  font-weight: 600;
+  color: #05fbfe;
+  text-shadow: 0px 2px 10px rgba(10, 30, 52, 0.48);
+  background: linear-gradient(0deg, #ffffff 0%, #63dcff 0%, #e0f3ff 100%);
+  -webkit-background-clip: text;
+  -webkit-text-fill-color: transparent;
+  position: relative;
+}
+.left .title .text::before {
+  position: absolute;
+  content: ' ';
+  top: 10px;
+  left: -40px;
+  width: 30px;
+  height: 10px;
+  background: url('../images/title-left.png') no-repeat;
+}
+.left .title .text::after {
+  position: absolute;
+  content: ' ';
+  top: 10px;
+  right: -40px;
+  width: 30px;
+  height: 10px;
+  background: url('../images/title-right.png') no-repeat;
+}
+.left .content {
+  height: calc(100% - 60px);
+  padding: 0 17px 14px;
+  display: flex;
+}
+.left .content .content-left {
+  margin-right: 10px;
+  display: flex;
+  align-items: center;
+  justify-content: space-evenly;
+}
+.item {
+  display: flex;
+  align-items: center;
+  flex-direction: column;
+}
+.item .item-title {
+  color: #69C0FF;
+  font-size: 28px;
+  font-weight: bold;
+}
+.item .item-title span {
+  font-weight: 500;
+  font-size: 14px;
+}
+.item .item-img {
+  width: 106px;
+  height: 106px;
+  margin-bottom: 9px;
+}
+.item .item-text {
+  color: rgba(255,255,255,0.6);
+  font-size: 14px;
+}
+
+.item2 {
+  width: 50%;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+}
+.item2 .item2-title {
+  font-weight: bold;
+  font-size: 18px;
+}
+.item2 .item2-title span {
+  font-weight: 500;
+  font-size: 12px;
+}
+.item2 .item2-img {
+  width: 67px;
+  height: 66px;
+  margin-top: -20px;
+}
+.item2 .item2-text {
+  color: rgba(255,255,255,0.6);
+  font-size: 12px;
+}
+
+.item3 {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+}
+.item3 .item3-title {
+  font-weight: bold;
+  font-size: 24px;
+  color: #69C0FF;
+}
+.item3 .item3-title span {
+  font-size: 14px;
+  font-weight: 500;
+}
+.item3 .item3-img {
+  margin-top: -20px;
+  width: 100px;
+  height: 102px;
+  margin-bottom: 18px;
+}
+.item3 .item3-text {
+  font-size: 14px;
+  color: rgba(255,255,255,0.6);
+}
+.item4 .item4-title {
+  position: relative;
+  padding-left: 10px;
+  color: #69C0FF;
+  margin-left: 10px;
+  margin-top: 10px;
+}
+.item4 .item4-title::before {
+  content: '';
+  position: absolute;
+  left: 0;
+  top: 50%;
+  transform: translate(0, -50%);
+  width: 5px;
+  height: 5px;
+  border-radius: 50%;
+  background-color: #69C0FF;
+}
+
+.item4 .item4-con {
+  display: flex;
+  align-items: center;
+  justify-content: space-around;
+  height: 100%;
+}
+.item4 .item4-con .item{
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+}
+.item4 .item4-con .item .title {
+  color: #69C0FF;
+  font-weight: bold;
+  font-size: 28px;
+}
+.item4 .item4-con .item .title span {
+  font-weight: 500;
+  font-size: 14px;
+}
+.item4 .item4-con .item .text {
+  font-size: 14px;
+  color: rgba(255,255,255,0.6);
+}
+
+.item5 {
+  padding: 14px;
+  height: 100%;
+}
+.item5 .title {
+  height: 30px;
+  color: #69C0FF;
+  border: 1px solid #40A9FF;
+  border-radius: 5px;
+  display: flex;
+  align-items: center;
+  justify-content: end;
+  padding: 0 6px;
+}
+
+
+
+
+.left .content .content-con {
+  margin-right: 10px;
+}
+.left .content .content-left, .left .content .content-right, .left .content .content-con {
+  background-color: rgb(18 81 128 / 22%);
+  flex: 1;
+}
+
+
+.right .title {
+  position: relative;
+  text-align: center;
+  height: 50px;
+  line-height: 50px;
+}
+.right .title .text {
+  font-size: 20px;
+  font-weight: 600;
+  color: #05fbfe;
+  text-shadow: 0px 2px 10px rgba(10, 30, 52, 0.48);
+  background: linear-gradient(0deg, #ffffff 0%, #63dcff 0%, #e0f3ff 100%);
+  -webkit-background-clip: text;
+  -webkit-text-fill-color: transparent;
+  position: relative;
+}
+.right .title .text::before {
+  position: absolute;
+  content: ' ';
+  top: 10px;
+  left: -40px;
+  width: 30px;
+  height: 10px;
+  background: url('../images/title-left.png') no-repeat;
+}
+.right .title .text::after {
+  position: absolute;
+  content: ' ';
+  top: 10px;
+  right: -40px;
+  width: 30px;
+  height: 10px;
+  background: url('../images/title-right.png') no-repeat;
+}
+.right .content {
+  height: calc(100% - 60px);
+  padding: 0 17px 14px;
+  display: flex;
+}
+.right .content .content-left {
+  margin-right: 10px;
+}
+.right .content .content-left, .right .content .content-right {
+  display: flex;
+  flex: 1;
+}
+.right .content .content-top {
+  margin-bottom: 10px;
+}
+.right .content .content-top, .right .content .content-bot {
+  background-color: rgb(18 81 128 / 22%);
+  flex: 1;
+}
+.right .content .content-left .content-left-l {
+  background-color: rgb(18 81 128 / 22%);
+  flex: 1;
+  margin-right: 10px;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+.right .content .content-left .content-left-r {
+  flex: 2;
+  display: flex;
+  flex-direction: column;
+}
+.right .content .content-left .content-left-r .content-left-r-t {
+  margin-bottom: 10px;
+}
+.right .content .content-left .content-left-r .content-left-r-t, .right .content .content-left .content-left-r .content-left-r-b{
+  background-color: rgb(18 81 128 / 22%);
+  flex: 1;
+}
+.right .content .content-right .content-right-l {
+  margin-right: 10px;
+}
+.right .content .content-right .content-right-l, .right .content .content-right .content-right-r{
+  background-color: rgb(18 81 128 / 22%);
+  flex: 1;
+}
+
+.tip-window {
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+  position: absolute;
+  right: 15px;
+  top: 10px;
+  height: 30px;
+  padding: 0 10px;
+  color: #69c0ff;
+  background-color: rgba(64, 169, 255, 0.12);
+  border: 2px solid #40a9ff;
+  border-radius: 5px;
+  border-top-right-radius: 10px;
+  cursor: pointer;
+  box-sizing: border-box;
+}

Деякі файли не було показано, через те що забагато файлів було змінено