Ver Fonte

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

unknown há 1 ano atrás
pai
commit
e35a1ddc70

+ 2 - 2
investment/investHome.html

@@ -95,7 +95,7 @@
               <div ref="echartR1" class="content"></div>
             </div>
           </dv-border-box-8>
-          <dv-border-box-8 :dur="12">
+          <dv-border-box-8 :dur="12" style="margin-bottom: 0;">
             <div class="my-panel">
               <div class="panel-title">
                 <span class="text">投资执行情况</span>
@@ -188,7 +188,7 @@
               </div>-->
             </div>
           </dv-border-box-8>
-          <dv-border-box-8 :dur="12">
+          <dv-border-box-8 :dur="12" style="margin-bottom: 0;">
             <div class="my-panel">
               <div class="panel-title">
                 <span class="text">重点项目监控</span>

+ 41 - 31
investment/investHome2.html

@@ -30,7 +30,7 @@
   <div id="app">
     <dv-full-screen-container>
       <header class="my-header">
-        <span>数智化投前管理驾驶舱</span>
+        <span>投资计划管理</span>
         <span class="right">{{time}}</span>
       </header>
       <div class="main">
@@ -43,35 +43,36 @@
             <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-title" style="color: #15FFA2;">54.02<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 class="item2-text">上年度经营利润</div>
                 </div>
                 <div class="item2">
-                  <div class="item2-title" style="color: #DD9CFF;">212.21<span>亿</span></div>
+                  <div class="item2-title" style="color: #DD9CFF;">91.54<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 class="item2-text">固定资产折旧</div>
                 </div>
                 <div class="item2">
-                  <div class="item2-title" style="color: #EBC805;">222.31<span>亿</span></div>
+                  <div class="item2-title" style="color: #EBC805;">28.81<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 class="item2-text">无形资产摊销</div>
                 </div>
                 <div class="item2">
-                  <div class="item2-title" style="color: #08E4FA;">523.32<span>亿</span></div>
+                  <div class="item2-title" style="color: #08E4FA;">111.1<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 class="item2-text">带息负债压降指标</div>
                 </div>
               </div>
-              <div class="content-right">
+              <div class="content-right" style="position:relative">
+                <div class="total">总额度<span style="font-size: 25px;">285.48亿</span></div>
                 <div ref="echartL2" style="width: 100%; height: 100%;"></div>
               </div>
             </div>
@@ -109,11 +110,11 @@
               <div class="content-left">
                 <div class="content-left-l">
                   <div class="item3">
-                    <div class="item3-title">954.52<span>亿</span></div>
+                    <div class="item3-title">1163.88<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 class="item4-text" style="color: rgba(255, 255, 255, 0.6);">
                       年度投资计划总额
                     </div>
                   </div>
@@ -121,30 +122,30 @@
                 <div class="content-left-r">
                   <div class="content-left-r-t">
                     <div class="item4">
-                      <div class="item4-title">列入省级项目重点项目</div>
+                      <div class="item4-title">固定资产类项目</div>
                       <div class="item4-con">
                         <div class="item">
-                          <div class="title">322.95<span>亿</span></div>
-                          <div class="text">投资金额</div>
+                          <div class="text" style="margin-top: 10px;">投资金额</div>
+                          <div class="title">644.83<span>亿</span></div>
                         </div>
                         <div class="item">
-                          <div class="title">73<span>个</span></div>
-                          <div class="text">项目数量</div>
+                          <div class="text" style="margin-top: 10px;">项目数量</div>
+                          <div class="title">372<span>个</span></div>
                         </div>
                       </div>
                     </div>
                   </div>
                   <div class="content-left-r-b">
                     <div class="item4">
-                      <div class="item4-title">国家或省政府决定的重大项目</div>
+                      <div class="item4-title">股权类项目</div>
                       <div class="item4-con">
                         <div class="item">
-                          <div class="title">208.15<span>亿</span></div>
-                          <div class="text">投资金额</div>
+                          <div class="text" style="margin-top: 10px;">投资金额</div>
+                          <div class="title">95.69<span>亿</span></div>
                         </div>
                         <div class="item">
-                          <div class="title">109<span>个</span></div>
-                          <div class="text">项目数量</div>
+                          <div class="text" style="margin-top: 10px;">项目数量</div>
+                          <div class="title">261<span>个</span></div>
                         </div>
                       </div>
                     </div>
@@ -163,7 +164,7 @@
           </dv-border-box-8>
           <dv-border-box-8 :dur="10" style="flex: 1;margin-bottom: 10px;">
             <div class="title">
-              <span class="text">企业后评价分析</span>
+              <span class="text">产业布局分析</span>
             </div>
             <div class="content">
               <div class="fourPie">
@@ -184,7 +185,7 @@
           </dv-border-box-8>
           <dv-border-box-8 :dur="10" style="flex: 1;">
             <div class="title">
-              <span class="text">投前项目阶段分析</span>
+              <span class="text">项目阶段分析</span>
               <!-- <span class="tip-window">省重点项目</span> -->
             </div>
             <div class="content">
@@ -198,13 +199,13 @@
           </dv-border-box-8>
         </div>
       </div>
-      <div class="tip" v-show="showTip2">
+      <div class="tipb" v-show="showTip2">
         <!-- <div class="tip"> -->
         <div class="tip-down" @click="showTip2 = false">×</div>
         <div class="tip1">晋能控股</div>
         <div class="tip2">
-          <div>
-            <div class="tip2-title">二 零 二 二 年 度</div>
+          <!-- <div>
+            <div class="tip2-title">2 0 2 2年 度</div>
             <div class="tip2-list">
               <div>
                 <span>合并报表净利润</span>
@@ -219,10 +220,10 @@
                 <span style="color:#4C96CB"><span style="font-size: 20px;font-weight: bold;">9.81</span>亿元</span>
               </div>
             </div>
-          </div>
-          <div class="pie" ref="echartR4" style="width: 100%; height: 100%;"></div>
+          </div> -->
+          <!-- <div class="pie" ref="echartR4" style="width: 100%; height: 100%;"></div> -->
           <div>
-            <div class="tip2-title">二 零 二 三 年 度</div>
+            <!-- <div class="tip2-title">2 0 2 3 年 度</div> -->
             <div class="tip2-list">
               <div>
                 <span>合并报表净利润</span>
@@ -238,9 +239,18 @@
               </div>
             </div>
           </div>
-          <div class="pie" ref="echartR5" style="width: 100%; height: 100%;"></div>
+          <div class="" style="position:relative;width: 100%;height: 100%;">
+            <div class="total">总额度<span style="font-size: 25px;">285.48亿</span></div>
+            <div ref="echartL2b" style="width: 100%; height: 100%;background-color: #04224c;"></div>
+          </div>
+          <!-- <div class="pie" ref="echartR5" style="width: 100%; height: 100%;"></div> -->
         </div>
       </div>
+      <div class="tip" v-show="showTip3">
+        <div class="tip-down" @click="showTip3 = false">×</div>
+        <div class="tip1">{{ echartTitle }}</div>
+        <div class="pie" ref="echartT1" style="width: 100%; height: 100%;"></div>
+      </div>
     </dv-full-screen-container>
   </div>
   <script src="./js/investHome2.js"></script>

+ 3 - 0
investment/js/data2.js

@@ -0,0 +1,3 @@
+let lbList = [
+  []
+]

+ 307 - 95
investment/js/investHome2.js

@@ -2,7 +2,10 @@ let app = new Vue({
   el: '#app',
   data () {
     return {
+      type: true, // 切换柱状图状态
       showTip2: false,
+      showTip3: false,
+      echartTitle: '',
       year: '2022',
       time: '',
       timer: '',
@@ -14,7 +17,7 @@ let app = new Vue({
       },
       storageRecordConfig: {
         // waitTime: '2000000',
-        header: ['企业集团', '项目名 ', '投资总额'],
+        header: ['企业集团', '项目名 ', '投资总额'],
         // headerBGC: '#05507b33',
         // oddRowBGC: '#05507b33',
         // evenRowBGC: '#05507b33',
@@ -25,15 +28,20 @@ let app = new Vue({
         rowNum: 4,
         align: ['center'],
         data: [
-          ['建设工程项目', '山西建投', "60.32亿"],
-          ['建设工程项目', '山西建投', "60.32亿"],
-          ['建设工程项目', '山西建投', "60.32亿"],
-          ['建设工程项目', '山西建投', "60.32亿"],
-          ['建设工程项目', '山西建投', "60.32亿"],
-          ['建设工程项目', '山西建投', "60.32亿"],
-          ['建设工程项目', '山西建投', "60.32亿"],
-          ['建设工程项目', '山西建投', "60.32亿"],
-          ['建设工程项目', '山西建投', "60.32亿"]
+          ['国际能源', '娄烦县120MW智慧光伏发电项目+10%储能', "67840.59 "],
+          ['国际能源', '平朔矿区150MW农光储氢一体化项目', "78403.10 "],
+          ['汾酒集团', '汾酒2030技改原酒产储能扩建项目(一期)', "910181.50 "],
+          ['大地控股', '山西大地控股忻州新店矿业有限公司投资建设年产800万吨精品砂石骨料项目', "86691.03 "],
+          ['潞安化工', '分布式光伏发电项目', "20055.81 "],
+          ['太重集团', '设立太重(大同)新能源产业投资公司', "3000.00 "],
+          ['大地控股', '山西大地宏翔环保科技有限公司电厂固废资源化综合利用建设项目', "36000.00 "],
+          ['大地控股', '山西大地海科环保科技有限公司电厂固废资源化综合利用建设项目', "31061.11 "],
+          ['汾酒集团', '保健酒园区新增原酒产能项目', "49836.77 "],
+          ['汾酒集团', '白玉酒厂改扩建项目', "49617.44 "],
+          ['华阳新材', '5GW高效光伏组件制造项目', "48224.63 "],
+          ['华新燃气', '吉县—延长输气管道项目(一期工程)', "35400.00 "],
+          ['太重集团', '建设液压挖掘机配套油缸项目', "26000.00 "],
+          ['华远陆港', '物产集团参股设立项目公司投资建设山西物产万科(太原)综合物流产业园项目', "66000.00 "]
         ],
       },
       companyList: [
@@ -99,6 +107,10 @@ let app = new Vue({
         swiper.autoplay.start();
       }
     })
+    setInterval(() => {
+      this.type = !this.type
+      this.initChartL3()
+    }, 2000)
   },
   methods: {
     convertData (data) {
@@ -606,7 +618,7 @@ let app = new Vue({
             },
           },
           splitLine: {
-            show: false,
+            show: true,
             lineStyle: {
               color: "#204561",
               width: 1,
@@ -627,7 +639,7 @@ let app = new Vue({
           {
             name: "2022年额度",
             type: "bar",
-            data: [1200, 680, 562, 268, 717, 843, 987, 126, 723, 569, 534, 753, 864, , 834, 764, 978, 843, 987, 126],
+            data: [283.42, 622.16, 251.91, 163.19, 46.44, 14.87, 0.00, 32.07, 9.06, 13.88, 143.16, 0.29, 33.75, 49.99, 7.38, 10.41, 0.00, 0.00],
             showBackground: false,
             backgroundStyle: {
               color: "#18416F",
@@ -638,11 +650,11 @@ let app = new Vue({
               color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
                 {
                   offset: 0,
-                  color: "#132543",
-                }, //柱图渐变色
+                  color: '#082550',
+                },
                 {
                   offset: 1,
-                  color: "#897DFF",
+                  color: '#69c0ff',
                 },
               ]),
             },
@@ -650,7 +662,7 @@ let app = new Vue({
           {
             name: "2023年额度",
             type: "bar",
-            data: [658, 1125, 658, 999, 643, 675, 743, 724, 733, 725, 652, 865, 749, 359, 241, 643, 675, 743],
+            data: [285.48, 627.03, 254.41, 164.08, 46.76, 14.93, 0.00, 32.45, 9.17, 14.01, 143.52, 0.27, 34.61, 51.45, 7.53, 10.52, 0.00, 0.00],
             showBackground: false,
             backgroundStyle: {
               color: "#18416F",
@@ -661,11 +673,12 @@ let app = new Vue({
               color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [
                 {
                   offset: 0,
-                  color: "#132543",
-                }, //柱图渐变色
+                  color: '#082550',
+                },
                 {
                   offset: 1,
-                  color: "#FED95B",
+                  color: '#957DFF',
+
                 },
               ]),
             },
@@ -694,23 +707,97 @@ let app = new Vue({
         if (param.name == '晋能控股') {
           that.showTip2 = true
           setTimeout(() => {
-            that.initChartR4()
-            that.initChartR5()
+            // that.initChartR4()
+            // that.initChartR5()
+            that.initChartL2b()
           })
         }
       })
       myChart.setOption(option);
     },
+    initChartL2b () {
+      let myChart = echarts.init(this.$refs['echartL2b'])
+      var value = 0.37;
+      var data = [value];
+      let option = {
+        backgroundColor: 'transparent',
+        title: [
+          {
+            // text: '总额度285.48亿',
+            // formatter: `<span>总额度</span>285.48亿`,
+            x: '37%',
+            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)
+    },
     initChartL2 () {
       let myChart = echarts.init(this.$refs['echartL2'])
-      var value = 0.45;
+      var value = 0.37;
       var data = [value];
       let option = {
         backgroundColor: 'transparent',
         title: [
           {
-            text: '450.12亿',
-            x: '33%',
+            // text: '总额度285.48亿',
+            // formatter: `<span>总额度</span>285.48亿`,
+            x: '37%',
             y: '80%',
             textStyle: {
               fontSize: 24,
@@ -774,7 +861,7 @@ let app = new Vue({
     },
     initChartL3 () {
       let myChart = echarts.init(this.$refs['echartL3'])
-      let option = {
+      option = {
         tooltip: {
           trigger: 'axis',
           formatter: '指标:' + '{c0}' + '<br/>' + '发展线:' + '{c1}' + '<br/>' + '生存线:' + '{c2}',  //+ '<br/>'+ '{a1}:{c1}' + '%',
@@ -854,7 +941,7 @@ let app = new Vue({
                 ]),
               },
             },
-            data: [10, 20, 30, 40, 50],
+            data: [70, 52, 33, 41, 52],
             // markLine: {
             //   symbol: ['none', 'none'],
             //   data: [
@@ -932,6 +1019,7 @@ let app = new Vue({
           },
         ],
       }
+
       myChart.setOption(option)
       // tools.loopShowTooltip(myChart, option, {
       //   nterval: 2000,
@@ -939,6 +1027,18 @@ let app = new Vue({
       // })
     },
     initChartL4 () {
+      let data = [
+        { value: [173.43, 129], name: '煤炭产业' },
+        { value: [23.10, 2], name: '火电产业' },
+        { value: [22.87, 8], name: '冶金产业' },
+        { value: [9.71, 5], name: '焦化产业' },
+        { value: [8.35, 6], name: '其他传统产业' }
+      ]
+      let count = 0
+      data.forEach(item => {
+        count += item.value[0]
+      })
+
       let myChart = echarts.init(this.$refs['echartL4'])
       let option = {
         title: {
@@ -952,13 +1052,14 @@ let app = new Vue({
         },
         tooltip: {
           trigger: 'item',
-          formatter: '{b}' + ':' + '{c}' + '<br/>' + '占比:' + '{d}%',
-          // position: ['30%', '87%'],
+          formatter: function (params) {
+              return params.name + ',' + (params.value[0] / count * 100).toFixed(2) + '%' + '</br >' + params.value[1] + '个' + ',' + params.value[0] + '亿'
+          }
         },
         color: ['#6682f5', '#8ba2ff', '#69c0ff', '#43ede3'],
         legend: {
           orient: 'horizontal',
-          show: true,
+          show: false,
           icon: 'circle',
           top: 'bottom',
           orient: 'vertical',
@@ -975,8 +1076,8 @@ let app = new Vue({
             name: '',
             type: 'pie',
             // radius: ['0%', '70%'],
-            radius: ['40%', '55%'],
-            center: ['45%', '55%'],
+            radius: ['50%', '65%'],
+            center: ['50%', '55%'],
             itemStyle: {
               normal: {
                 borderColor: 'rgba(1,31,64,0.7)',
@@ -989,12 +1090,7 @@ let app = new Vue({
             labelLine: {
               show: false,
             },
-            data: [
-              { value: 1048, name: '煤炭' },
-              { value: 735, name: '火电' },
-              { value: 580, name: '焦化' },
-              { value: 484, name: '风电' },
-            ],
+            data,
           },
         ],
       }
@@ -1003,12 +1099,35 @@ let app = new Vue({
         nterval: 2000,
         loopSeries: true,
       })
+      let that = this
+      myChart.on('click', function (param) {
+        console.log(param)
+        that.showTip3 = true
+        setTimeout(() => {
+          that.initChartT1(data, option)
+        })
+      })
     },
     initChartL5 () {
+      let data = [
+        { value: [29.26, 102], name: '新一代信息技术产业' },
+        { value: [59.11, 38], name: '高端装备制造产业' },
+        { value: [3.96, 5], name: '新材料产业' },
+        { value: [2.12, 7], name: '生物产业' },
+        { value: [0, 0], name: '新能源汽车产业' },
+        { value: [100.09, 79], name: '新能源产业' },
+        { value: [15.48, 32], name: '节能环保产业' },
+        { value: [0, 0], name: '数字创意产业' },
+        { value: [3.00, 3], name: '相关服务业' },
+      ]
+      let count = 0
+      data.forEach(item => {
+        count += item.value[0]
+      })
       let myChart = echarts.init(this.$refs['echartL5'])
       let option = {
         title: {
-          text: '传统产业',
+          text: '战略性新兴产业',
           x: 'center',
           y: '0%',
           textStyle: {
@@ -1018,12 +1137,13 @@ let app = new Vue({
         },
         tooltip: {
           trigger: 'item',
-          formatter: '{b}' + ':' + '{c}' + '<br/>' + '占比:' + '{d}%',
-          // position: ['30%', '87%'],
+          formatter: function (params) {
+              return params.name + ',' + (params.value[0] / count * 100).toFixed(2) + '%' + '</br >' + params.value[1] + '个' + ',' + params.value[0] + '亿'
+          }
         },
         color: ['#6682f5', '#8ba2ff', '#69c0ff', '#43ede3'],
         legend: {
-          show: true,
+          show: false,
           icon: 'circle',
           top: 'bottom',
           orient: 'vertical',
@@ -1040,8 +1160,8 @@ let app = new Vue({
             name: '',
             type: 'pie',
             // radius: ['0%', '70%'],
-            radius: ['40%', '55%'],
-            center: ['45%', '55%'],
+            radius: ['50%', '65%'],
+            center: ['50%', '55%'],
             itemStyle: {
               normal: {
                 borderColor: 'rgba(1,31,64,0.7)',
@@ -1054,12 +1174,7 @@ let app = new Vue({
             labelLine: {
               show: false,
             },
-            data: [
-              { value: 1048, name: '煤炭' },
-              { value: 735, name: '火电' },
-              { value: 580, name: '焦化' },
-              { value: 484, name: '风电' },
-            ],
+            data
           },
         ],
       }
@@ -1068,11 +1183,35 @@ let app = new Vue({
         nterval: 2000,
         loopSeries: true,
       })
-    }, initChartL6 () {
+      let that = this
+      myChart.on('click', function (param) {
+        console.log(param)
+        that.showTip3 = true
+        setTimeout(() => {
+          that.initChartT1(data, option)
+        })
+      })
+    },
+    initChartL6 () {
+      let data = [
+        { value: [25.82, 43], name: '化工产业' },
+        { value: [17.36, 21], name: '煤层气产业' },
+        { value: [0.04, 1], name: '文旅康养' },
+        { value: [1.51, 7], name: '体育产业' },
+        { value: [9.32, 5], name: '酿造' },
+        { value: [71.12, 129], name: '建筑房地产' },
+        { value: [9.11, 14], name: '农业' },
+        { value: [0, 0], name: '其他' },
+      ]
+      let count = 0
+      data.forEach(item => {
+        count += item.value[0]
+      })
+
       let myChart = echarts.init(this.$refs['echartL6'])
       let option = {
         title: {
-          text: '战略性新兴产业',
+          text: '特色优势产业',
           x: 'center',
           y: '0%',
           textStyle: {
@@ -1082,12 +1221,14 @@ let app = new Vue({
         },
         tooltip: {
           trigger: 'item',
-          formatter: '{b}' + ':' + '{c}' + '<br/>' + '占比:' + '{d}%',
+          formatter: function (params) {
+              return params.name + ',' + (params.value[0] / count * 100).toFixed(2) + '%' + '</br >' + params.value[1] + '个' + ',' + params.value[0] + '亿'
+          }
           // position: ['30%', '87%'],
         },
         color: ['#6682f5', '#8ba2ff', '#69c0ff', '#43ede3'],
         legend: {
-          show: true,
+          show: false,
           icon: 'circle',
           top: 'bottom',
           orient: 'vertical',
@@ -1104,8 +1245,8 @@ let app = new Vue({
             name: '',
             type: 'pie',
             // radius: ['0%', '70%'],
-            radius: ['40%', '55%'],
-            center: ['45%', '55%'],
+            radius: ['50%', '65%'],
+            center: ['50%', '55%'],
             itemStyle: {
               normal: {
                 borderColor: 'rgba(1,31,64,0.7)',
@@ -1118,12 +1259,7 @@ let app = new Vue({
             labelLine: {
               show: false,
             },
-            data: [
-              { value: 1048, name: '煤炭' },
-              { value: 735, name: '火电' },
-              { value: 580, name: '焦化' },
-              { value: 484, name: '风电' },
-            ],
+            data,
           },
         ],
       }
@@ -1132,11 +1268,32 @@ let app = new Vue({
         nterval: 2000,
         loopSeries: true,
       })
-    }, initChartL7 () {
+      let that = this
+      myChart.on('click', function (param) {
+        console.log(param)
+        that.showTip3 = true
+        setTimeout(() => {
+          that.initChartT1(data, option)
+        })
+      })
+    },
+    initChartL7 () {
+      let data = [
+        { value: [155.82, 51], name: '交通运输业' },
+        { value: [0, 0], name: '市政设施' },
+        { value: [8.47, 19], name: '煤气层管网' },
+        { value: [10.64, 24], name: '物流贸易' },
+        { value: [41.05, 46], name: '水务' },
+        { value: [2.14, 7], name: '其他' },
+      ]
+      let count = 0
+      data.forEach(item => {
+        count += item.value[0]
+      })
       let myChart = echarts.init(this.$refs['echartL7'])
       let option = {
         title: {
-          text: '基础产业',
+          text: '公共基础产业',
           x: 'center',
           y: '0%',
           textStyle: {
@@ -1146,12 +1303,13 @@ let app = new Vue({
         },
         tooltip: {
           trigger: 'item',
-          formatter: '{b}' + ':' + '{c}' + '<br/>' + '占比:' + '{d}%',
-          // position: ['30%', '87%'],
+          formatter: function (params) {
+              return params.name + ',' + (params.value[0] / count * 100).toFixed(2) + '%' + '</br >' + params.value[1] + '个' + ',' + params.value[0] + '亿'
+          }
         },
         color: ['#6682f5', '#8ba2ff', '#69c0ff', '#43ede3'],
         legend: {
-          show: true,
+          show: false,
           icon: 'circle',
           top: 'bottom',
           orient: 'vertical',
@@ -1168,8 +1326,8 @@ let app = new Vue({
             name: '',
             type: 'pie',
             // radius: ['0%', '70%'],
-            radius: ['40%', '55%'],
-            center: ['45%', '55%'],
+            radius: ['50%', '65%'],
+            center: ['50%', '55%'],
             itemStyle: {
               normal: {
                 borderColor: 'rgba(1,31,64,0.7)',
@@ -1182,12 +1340,7 @@ let app = new Vue({
             labelLine: {
               show: false,
             },
-            data: [
-              { value: 1048, name: '煤炭' },
-              { value: 735, name: '火电' },
-              { value: 580, name: '焦化' },
-              { value: 484, name: '风电' },
-            ],
+            data
           },
         ],
       }
@@ -1196,6 +1349,14 @@ let app = new Vue({
         nterval: 2000,
         loopSeries: true,
       })
+      let that = this
+      myChart.on('click', function (param) {
+        console.log(param)
+        that.showTip3 = true
+        setTimeout(() => {
+          that.initChartT1(data, option)
+        })
+      })
     },
     initChartR4 () {
       let myChart = echarts.init(this.$refs['echartR4'])
@@ -1355,10 +1516,19 @@ let app = new Vue({
       })
     },
     initChartR1 () {
+      let data = [
+        { value: [665.81, 549], name: '主业' },
+        { value: [65.17, 84], name: '辅业' },
+        { value: [423.36, 164], name: '技改' }
+      ]
+      let count = 0
+      data.forEach(item => {
+        count += item.value[0]
+      })
       let myChart = echarts.init(this.$refs['echartR1'])
       let option = {
         title: {
-          text: '产业类别分析',
+          text: '主辅业计划占比',
           x: 'center',
           y: '87%',
           textStyle: {
@@ -1368,8 +1538,11 @@ let app = new Vue({
         },
         tooltip: {
           trigger: 'item',
-          formatter: '{b}' + ':' + '{c}' + '<br/>' + '占比:' + '{d}%',
+          // formatter: '{b}' + ':' + '{c}' + '<br/>' + '占比:' + '{d}%',
           // position: ['-5%', '95%'],
+          formatter: function (params) {
+            return params.name + ',' + (params.value[0] / count * 100).toFixed(2) + '%' + '</br >' + params.value[1] + '个' + ',' + params.value[0] + '亿'
+          }
         },
         color: ['#6682f5', '#8ba2ff', '#69c0ff', '#43ede3'],
         legend: {
@@ -1403,11 +1576,7 @@ let app = new Vue({
             labelLine: {
               show: false,
             },
-            data: [
-              { value: 665.81, name: '主业' },
-              { value: 735, name: '辅业' },
-              { value: 735, name: '技改' }
-            ],
+            data,
           },
         ],
       }
@@ -1418,10 +1587,18 @@ let app = new Vue({
       })
     },
     initChartR2 () {
+      let data = [
+        { value: [340.77, 168], name: '特别监管类' },
+        { value: [390.22, 465], name: '备案类' }
+      ]
+      let count = 0
+      data.forEach(item => {
+        count += item.value[0]
+      })
       let myChart = echarts.init(this.$refs['echartR2'])
       let option = {
         title: {
-          text: '项目阶段分析',
+          text: '项目管理类型',
           x: 'center',
           y: '87%',
           textStyle: {
@@ -1431,7 +1608,9 @@ let app = new Vue({
         },
         tooltip: {
           trigger: 'item',
-          formatter: '{b}' + ':' + '{c}' + '<br/>' + '占比:' + '{d}%',
+          formatter: function (params) {
+            return params.name + ',' + (params.value[0] / count * 100).toFixed(2) + '%' + '</br >' + params.value[1] + '个' + ',' + params.value[0] + '亿'
+          }
           // position: ['-5%', '95%'],
         },
         color: ['#6682f5', '#8ba2ff', '#69c0ff', '#43ede3'],
@@ -1466,12 +1645,7 @@ let app = new Vue({
             labelLine: {
               show: false,
             },
-            data: [
-              { value: 1048, name: '煤炭' },
-              { value: 735, name: '火电' },
-              { value: 580, name: '焦化' },
-              { value: 484, name: '风电' },
-            ],
+            data,
           },
         ],
       }
@@ -1499,8 +1673,8 @@ let app = new Vue({
         },
         tooltip: {
           trigger: "axis",
-          formatter: function(params) {
-            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[0].data[3] + '亿元';
+          formatter: function (params) {
+            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[0].data[3] + '亿元';
             return tip
           },
           axisPointer: {
@@ -1515,7 +1689,7 @@ let app = new Vue({
         grid: {
           top: '22%',
           right: '5%',
-          left: '10%',
+          left: '15%',
           bottom: '15%',
         },
         yAxis: {
@@ -1543,7 +1717,7 @@ let app = new Vue({
           },
         },
         xAxis: {
-          data: ['项目储备', '项目立项','可研论证', '投资决策'],
+          data: ['项目储备', '项目立项', '可研论证', '投资决策'],
           axisLine: {
             show: true, //隐藏X轴轴线
             lineStyle: {
@@ -1645,8 +1819,8 @@ let app = new Vue({
         },
         tooltip: {
           trigger: "axis",
-          formatter: function(params) {
-            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[0].data[3] + '亿元';
+          formatter: function (params) {
+            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[0].data[3] + '亿元';
             return tip
           },
           axisPointer: {
@@ -1772,6 +1946,44 @@ let app = new Vue({
         nterval: 2000,
         loopSeries: true,
       })
+    },
+    initChartT1(list, info) {
+      let count = 0
+      console.log(list, info)
+      this.echartTitle = info.title.text
+      let data = list
+      data.forEach(item => {
+        count += item.value[0]
+      })
+      let option = JSON.parse(JSON.stringify(info))
+      option.series[0].center = ['50%', '50%']
+      option.series[0].radius = ['60%', '75%']
+      option.legend = {
+        show: true,
+        icon: 'circle',
+        top: 'bottom',
+        orient: 'vertical',
+        right: '3%',
+        textStyle: {
+          color: '#9DB9EB',
+          fontSize: 16
+        },
+        itemWidth: 10,
+        itemHeight: 10
+      },
+      option.title.text =  ''
+      option.tooltip = {
+        trigger: 'item',
+        formatter: function (params) {
+            return params.name + ',' + (params.value[0] / count * 100).toFixed(2) + '%' + '</br >' + params.value[1] + '个' + ',' + params.value[0] + '亿'
+        }
+      }
+      let myChart = echarts.init(this.$refs['echartT1'])
+      myChart.setOption(option)
+      tools.loopShowTooltip(myChart, option, {
+        nterval: 2000,
+        loopSeries: true,
+      })
     }
   },
 })

+ 42 - 7
investment/styles/investHome2.css

@@ -380,11 +380,15 @@ a {
   margin-bottom: 10px;
 }
 .right .content .content-top,
-.right .content .content-bot, .right .content .content-right {
+.right .content .content-bot {
   /* background-color: rgb(18 81 128 / 22%); */
   background-color: #05183c;
   flex: 1;
 }
+.right .content .content-right {
+  background-color: #05183c;
+  flex: 1;
+}
 .right .content .content-left .content-left-l {
   /* background-color: rgb(18 81 128 / 22%); */
   background-color: #05183c;
@@ -483,7 +487,7 @@ a {
   height: 100%;
 }
 .tip {
-  z-index: 999;
+  z-index: 9999999999;
   position: fixed;
   /* top: 35%;
   left: 32.5%; */
@@ -501,13 +505,14 @@ a {
 .tip1 {
   position: absolute;
   font-weight: bold;
-  width: 100px;
+  width: 150px;
   top: 17px;
   height: 30px;
   line-height: 30px;
   font-size: 20px;
   text-align: center;
-  left: calc(50% - 50px);
+  left: 50%;
+  transform: translate(-50%);
   background: linear-gradient(-3deg, #99eeff 0%, #99eeff 30%, #ffffff 91%);
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
@@ -517,16 +522,17 @@ a {
   height: 100%;
   display: grid;
   grid-template-columns: 60% 40%;
-  grid-template-rows: 1fr 1fr;
+  /* grid-template-rows: 1fr 1fr; */
   grid-gap: 10px;
 }
-.tip2 > div {
+/* .tip2 > div {
   width: 100%;
   height: 100%;
   display: grid;
   grid-template-columns: 10% 90%;
-}
+} */
 .tip2-list {
+  height: 100%;
   display: grid;
   grid-template-rows: repeat(3, minmax(0, 1fr));
   background-color: #04224c;
@@ -605,3 +611,32 @@ a {
   /* width: 100%; */
   overflow: hidden;
 }
+.text {
+  width: 100%;
+}
+.total {
+  text-align: center;
+  width: 200px;
+  height: 30px;
+  position: absolute;
+  left: calc(50% - 100px);
+  bottom: 5%;
+  font-weight: bold;
+  color: #2cb7e0;
+}
+.tipb {
+  z-index: 9999999999;
+  position: fixed;
+  /* top: 35%;
+  left: 32.5%; */
+  /* width: 35%;
+  height: 30%; */
+  width: 700px;
+  height: 45vh;
+  top: calc(50% - 20vh);
+  left: calc(50% - 350px);
+  background: url('../images/popup.png') no-repeat center;
+  background-color: #133b65;
+  background-size: 100% 100%;
+  padding: 100px 60px 50px;
+}