Browse Source

投资接口对接

zhbyyy 2 years ago
parent
commit
6f1ed8f98b
2 changed files with 103 additions and 57 deletions
  1. 12 12
      investmentPort/investHomeGroup.html
  2. 91 45
      investmentPort/js/investHomeGroup.js

+ 12 - 12
investmentPort/investHomeGroup.html

@@ -202,7 +202,7 @@
               <div class="boxs">
                 <div class="numberTitle">产业转型</div>
                 <div class="pointer numberContent"
-                  @click.stop="showChartLTipSingle('投资金额','center','keyIndicators','cyplanamount','','','','','transform',1)">
+                  @click.stop="showChartLTipSingle('投资金额','center','keyIndicators','cyplanamount','','','','','transform',1,2)">
                   <p>
                     <span class="name">投资金额</span>
                   </p>
@@ -212,7 +212,7 @@
                   </p>
                 </div>
                 <div class="pointer numberContent"
-                  @click.stop="showChartLTipSingle('项目数量','center','keyIndicators','cyplancount','','','','','transform',1)">
+                  @click.stop="showChartLTipSingle('项目数量','center','keyIndicators','cyplancount','','','','','transform',1,2)">
                   <p>
                     <span class="name">项目数量</span>
                   </p>
@@ -223,7 +223,7 @@
                 </div>
                 <div class="numberTitle">数字转型</div>
                 <div class="pointer numberContent"
-                  @click.stop="showChartLTipSingle('投资金额','center','keyIndicators','szplanamount','','','','','transform',0)">
+                  @click.stop="showChartLTipSingle('投资金额','center','keyIndicators','szplanamount','','','','','transform',0,2)">
                   <p>
                     <span class="name">投资金额</span>
                   </p>
@@ -233,7 +233,7 @@
                   </p>
                 </div>
                 <div class="pointer numberContent"
-                  @click.stop="showChartLTipSingle('项目数量','center','keyIndicators','szplancount','','','','','transform',0)">
+                  @click.stop="showChartLTipSingle('项目数量','center','keyIndicators','szplancount','','','','','transform',0,2)">
                   <p>
                     <span class="name">项目数量</span>
                   </p>
@@ -271,12 +271,12 @@
                 产业转型
               </div> -->
               <div class="flex b">
-                <div class="pointer" @click.stop="showChartLTipSingle('投资总额','center','keyIndicators','investamount','','','','','tab','')">
+                <div class="pointer" @click.stop="showChartLTipSingle('投资总额','center','keyIndicators','investamount','','','','','tab','',1)">
                   <p>投资总额</p>
                   <p style="color:#40A9FF"><span>{{numFormat(center1[0])}}</span><span style="font-size: 25px;">亿</span>
                   </p>
                 </div>
-                <div class="pointer" @click.stop="showChartLTipSingle('项目总数','center','keyIndicators','projectcount','','','','','tab','')">
+                <div class="pointer" @click.stop="showChartLTipSingle('项目总数','center','keyIndicators','projectcount','','','','','tab','',1)">
                   <p>项目总数</p>
                   <p style="color:#40A9FF"><span>{{center1[1]}}</span><span style="font-size: 25px;">个</span></p>
                 </div>
@@ -288,12 +288,12 @@
                 数字转型
               </div> -->
               <div class="flex b">
-                <div class="pointer" @click.stop="showChartLTipSingle('固定资产','center','keyIndicators','gdzcamount','','','','','tab','0')">
+                <div class="pointer" @click.stop="showChartLTipSingle('固定资产','center','keyIndicators','gdzcamount','','','','','tab','0',1)">
                   <p>固定资产</p>
                   <p style="color:#40A9FF"><span>{{numFormat(center1[2])}}</span><span style="font-size: 25px;">亿</span>
                   </p>
                 </div>
-                <div class="pointer" @click.stop="showChartLTipSingle('股权投资','center','keyIndicators','gqtzamount','','','','','tab','1')">
+                <div class="pointer" @click.stop="showChartLTipSingle('股权投资','center','keyIndicators','gqtzamount','','','','','tab','1',1)">
                   <p>股权投资</p>
                   <p style="color:#40A9FF"><span>{{center1[3]}}</span><span style="font-size: 25px;">个</span></p>
                 </div>
@@ -353,12 +353,12 @@
               产业转型
             </div> -->
             <div class="flex b">
-              <div class="pointer" @click.stop="showChartLTipSingle('投资总额','center','keyIndicators','investamount','','','','','tab','')">
+              <div class="pointer" @click.stop="showChartLTipSingle('投资总额','center','keyIndicators','investamount','','','','','tab','',1)">
                 <p>投资总额</p>
                 <p style="color:#40A9FF"><span>{{numFormat(center1[0])}}</span><span style="font-size: 25px;">亿</span>
                 </p>
               </div>
-              <div class="pointer" @click.stop="showChartLTipSingle('项目总数','center','keyIndicators','projectcount','','','','','tab','')">
+              <div class="pointer" @click.stop="showChartLTipSingle('项目总数','center','keyIndicators','projectcount','','','','','tab','',1)">
                 <p>项目总数</p>
                 <p style="color:#40A9FF"><span>{{center1[1]}}</span><span style="font-size: 25px;">个</span></p>
               </div>
@@ -370,12 +370,12 @@
               数字转型
             </div> -->
             <div class="flex b">
-              <div class="pointer" @click.stop="showChartLTipSingle('固定资产','center','keyIndicators','gdzcamount','','','','','tab','0')">
+              <div class="pointer" @click.stop="showChartLTipSingle('固定资产','center','keyIndicators','gdzcamount','','','','','tab','0',1)">
                 <p>固定资产</p>
                 <p style="color:#40A9FF"><span>{{numFormat(center1[2])}}</span><span style="font-size: 25px;">亿</span>
                 </p>
               </div>
-              <div class="pointer" @click.stop="showChartLTipSingle('股权投资','center','keyIndicators','gqtzamount','','','','','tab','1')">
+              <div class="pointer" @click.stop="showChartLTipSingle('股权投资','center','keyIndicators','gqtzamount','','','','','tab','1',1)">
                 <p>股权投资</p>
                 <p style="color:#40A9FF"><span>{{center1[3]}}</span><span style="font-size: 25px;">个</span></p>
               </div>

+ 91 - 45
investmentPort/js/investHomeGroup.js

@@ -67,6 +67,7 @@ let app = new Vue({
         oddRowBGC: "#061F42",
         evenRowBGC: "#0C284A",
       },
+      originalConfig6:[],
       config6: {
         rowNum: 15,
         waitTime: 1000,
@@ -204,12 +205,12 @@ let app = new Vue({
           this.commonCompanyAll = res.data
           commonCompany = res.data.map(item => item.simplename)
           // 左边
-          // this.getDate1()
-          // this.getDate2()
-          // this.getDate3()
-          // this.getDate4()
-          // this.getDate5()
-          // this.getDate6()
+          this.getDate1()
+          this.getDate2()
+          this.getDate3()
+          this.getDate4()
+          this.getDate5()
+          this.getDate6()
 
           // 右边
           // this.getDate7()
@@ -617,11 +618,16 @@ let app = new Vue({
           res.data.projectMonitoring.forEach((item, index) => {
             center8.push({ value: item.amount, name: item.name, office: item.group, typeno: item.typeno })
           })
+          // 中国地图
+          // center5 = []
+          // res.data.investmentMap.forEach((item, index) => {
+          //   center5.push({ name: item.address, value: item.amount, value2: item.value2 })
+          // })
           // 山西地图
-          center5 = []
-          res.data.investmentMap.forEach((item, index) => {
-            center5.push({ name: item.address, value: item.amount, value2: item.value2 })
-          })
+          // center5 = []
+          // res.data.investmentMap.forEach((item, index) => {
+          //   center5.push({ name: item.address, value: item.amount, value2: item.value2 })
+          // })
           // 项目状态
           proState.projectStatus1 = res.data.projectStatus.projectStatus1
           proState.projectStatus2 = res.data.projectStatus.projectStatus2
@@ -669,6 +675,7 @@ let app = new Vue({
         }
         post('/ierp/kapi/v2/mdnb/mdnb_xmkb/mdnb_manager_middle/getTwoLevelData', value).then(res => {
           that.config6.data = []
+          that.originalConfig6 = res.data
           res.data.forEach((item, index) => {
             that.config6.data[index] = []
             that.config6.data[index][0] = item.mdnb_project_name
@@ -683,7 +690,7 @@ let app = new Vue({
       });
     },
     // 左边穿透一级
-    leftPenetrateOne (mdnb_textfield11, mdnb_textfield13, mdnb_textfield16, mdnb_textfield23, typeNum, type, param) {
+    leftPenetrateOne (mdnb_textfield11, mdnb_textfield13, mdnb_textfield16, mdnb_textfield23, typeNum, type, param,paramCTwo) {
       return new Promise((resolve, err) => {
         let value = {
           access_token: this.access_token,
@@ -850,27 +857,56 @@ let app = new Vue({
               this.initChartLTip2('center', '', '', '', '', type, param, typeCTwo, paramCTwo)
               this.initChartLTip3('center', '', '', '', '', type, param, typeCTwo, paramCTwo)
             })
+          } else if (typeNum == 3) {
+            that.initProvinceChart()
           }
           resolve(1);
         })
       });
     },
     // 中间穿透二级
-    centerPenetrateTwo (type, param, orgNum) {
+    centerPenetrateTwo (type, param, orgNum, portType) {
       let that = this
       return new Promise((resolve, err) => {
         let value = {
           access_token: this.access_token,
-          mock: false,
+          mock: true,
           presetYear: 2023,
           type,
           param,
           orgNum
         }
-        get('/ierp/kapi/v2/mdnb/mdnb_xmkb/presetdata/MainPageMonthReportProject', value).then(res => {
-          console.log('看看二级穿透',res)
-          resolve(1);
-        })
+        if (portType == 1) {
+          get('/ierp/kapi/v2/mdnb/mdnb_xmkb/presetdata/MainPageMonthReportProject', value).then(res => {
+            console.log('看看二级穿透', res)
+            that.config6.data = []
+            that.originalConfig6 = res.data
+            res.data.forEach((item, index) => {
+              that.config6.data[index] = []
+              that.config6.data[index][0] = item.projectname
+              that.config6.data[index][2] = item.orgName
+              that.config6.data[index][5] = item.amount
+            })
+            that.config6 = { ...that.config6 }
+            that.projectListTipShow = true
+            resolve(1);
+          })
+        } else if (portType == 2) {
+          get('/ierp/kapi/v2/mdnb/mdnb/mdnb_pmba_ext/presetdata/MainPagePlanProject', value).then(res => {
+            console.log('看看二级穿透', res)
+            that.config6.data = []
+            that.originalConfig6 = res.data
+            res.data.forEach((item, index) => {
+              that.config6.data[index] = []
+              that.config6.data[index][0] = item.projectname
+              that.config6.data[index][2] = item.orgName
+              that.config6.data[index][5] = item.amount
+            })
+            that.config6 = { ...that.config6 }
+            that.projectListTipShow = true
+            resolve(1);
+          })
+        }
       });
     },
     yellowMouse (index) {
@@ -889,21 +925,29 @@ let app = new Vue({
         this.initChinaChart()
       });
     },
-    // 找编码
+    // 找公司编码
     findCode (code) {
       let a = this.commonCompanyAll.find((item, index) => {
         return item.simplename == code
       })
-      // return a.item.number.slice(0,4) == code
-      return a.number.slice(0, 4)
+      return a?a.number.slice(0, 4):''
+    },
+    // 找项目编码
+    findProjectCode(a,b){
+     let c =  this.originalConfig6.find(item=>{
+        return item.projectname == a &&  item.orgName == b
+      })
+      return c.projectno
     },
     // 去项目看板
     goLookBoard (e) {
+      console.log(e.row[0],e.row[2],'8888888888')
+      // this.findProjectCode(e.row[0],e.row[2])
       // 当前页面打开
       // window.location.href = `http://192.168.2.111:8080/ierp/accessTokenLogin.do?access_token=${this.access_token}&redirect=http://192.168.2.111:8080/ierp/index.html?formId=mdnb_threetoproject&prj=PL_ZZGY_0_2023_000036`
       // 新页面打开
       // window.open('http://192.168.2.111:8080/ierp/accessTokenLogin.do?access_token=${this.access_token}&redirect=http://192.168.2.111:8080/ierp/index.html?formId=mdnb_threetoproject&prj=PL_ZZGY_0_2023_000036')
-      this.boardUrl = `http://192.168.2.111:8080/ierp/accessTokenLogin.do?access_token=${this.access_token}&redirect=http://192.168.2.111:8080/ierp/index.html?formId=mdnb_threetoproject&prj=PL_ZZGY_0_2023_000036`
+      this.boardUrl = `http://192.168.2.111:8080/ierp/accessTokenLogin.do?access_token=${this.access_token}&redirect=http://192.168.2.111:8080/ierp/index.html?formId=mdnb_threetoproject&prj=${this.findProjectCode(e.row[0],e.row[2])}`
       this.boardTipShow = true
     },
     // 根据key分组
@@ -929,7 +973,7 @@ let app = new Vue({
       return myArr
     },
     // 两个柱状图的弹窗
-    showChartLTipDouble (e, location, mdnb_textfield11, mdnb_textfield13, mdnb_textfield16, mdnb_textfield23, type, param, typeCTwo, paramCTwo) {
+    showChartLTipDouble (e, location, mdnb_textfield11, mdnb_textfield13, mdnb_textfield16, mdnb_textfield23, type, param, typeCTwo, paramCTwo, portType) {
       this.titleName = e
       this.closeTap()
       this.echartDoubleTipShow = true
@@ -941,7 +985,7 @@ let app = new Vue({
           this.leftPenetrateOne(mdnb_textfield11, mdnb_textfield13, mdnb_textfield16, mdnb_textfield23, 2)
         }
         if (location == 'center') {
-          this.centerPenetrateOne(type, param, 2, typeCTwo, paramCTwo)
+          this.centerPenetrateOne(type, param, 2, typeCTwo, paramCTwo, portType)
         }
       } else {
         setTimeout(() => {
@@ -951,13 +995,13 @@ let app = new Vue({
       }
     },
     // 单个柱状图的弹窗
-    showChartLTipSingle (e, location, type, param, mdnb_textfield11, mdnb_textfield13, mdnb_textfield16, mdnb_textfield23, typeCTwo, paramCTwo) {
+    showChartLTipSingle (e, location, type, param, mdnb_textfield11, mdnb_textfield13, mdnb_textfield16, mdnb_textfield23, typeCTwo, paramCTwo, portType) {
       this.closeTap()
       this.titleName = e
       this.echartSingleTipShow = true
       if (this.versions) {
         if (location == 'center') {
-          this.centerPenetrateOne(type, param, 1, typeCTwo, paramCTwo)
+          this.centerPenetrateOne(type, param, 1, typeCTwo, paramCTwo, portType)
         }
         if (location == 'left') {
           this.leftPenetrateOne(mdnb_textfield11, mdnb_textfield13, mdnb_textfield16, mdnb_textfield23, 1, type, param)
@@ -1119,7 +1163,6 @@ let app = new Vue({
       })
       let that = this
       that.myChartTip1.on('click', function (param) {
-        console.log(param, '??????')
         if (that.versions) {
           if (location == 'right') {
             that.rightPenetrateTwo('', '', param.name)
@@ -3766,7 +3809,7 @@ let app = new Vue({
                     point: {
                       events: {
                         click: function (e) {
-                          that.showChartLTipDouble(e.point.name, 'center', '', '', '', '', 'distribution', e.point.options.typeno,industry,e.point.options.typeno)
+                          that.showChartLTipDouble(e.point.name, 'center', '', '', '', '', 'distribution', e.point.options.typeno, 'industry', e.point.options.typeno, 1)
                         }
                       }
                     },
@@ -3850,7 +3893,7 @@ let app = new Vue({
           point: {
             events: {
               click: function (e) { //点击事件
-                that.showChartLTipDouble(e.point.name, 'center', '', '', '', '', 'distribution', e.point.options.typeno,industry,e.point.options.typeno)
+                that.showChartLTipDouble(e.point.name, 'center', '', '', '', '', 'distribution', e.point.options.typeno, 'industry', e.point.options.typeno, 1)
               },
               mouseOver: function (e) { //鼠标移入停止轮播并且找到移入的当前数据设为选中
                 //console.log(e) 
@@ -3867,7 +3910,7 @@ let app = new Vue({
                     point: {
                       events: {
                         click: function (e) {
-                          that.showChartLTipDouble(e.point.name, 'center', '', '', '', '', 'distribution', e.point.options.typeno,industry,e.point.options.typeno)
+                          that.showChartLTipDouble(e.point.name, 'center', '', '', '', '', 'distribution', e.point.options.typeno, 'industry', e.point.options.typeno, 1)
                         }
                       }
                     },
@@ -3898,7 +3941,7 @@ let app = new Vue({
                       point: {
                         events: {
                           click: function (e) {
-                            that.showChartLTipDouble(e.point.name, 'center', '', '', '', '', 'distribution', e.point.options.typeno,industry,e.point.options.typeno)
+                            that.showChartLTipDouble(e.point.name, 'center', '', '', '', '', 'distribution', e.point.options.typeno, industry, e.point.options.typeno, 1)
                           }
                         }
                       },
@@ -4113,7 +4156,7 @@ let app = new Vue({
       }
       myChart.on('click', function (param) {
         that.projectListTipShow = true
-        that.centerPenetrateTwo()
+        that.centerPenetrateTwo('', '', that.findCode(param.name), param.seriesName == '计划投资' ? 2 : 1)
       })
       myChart.setOption(option)
       tools.loopShowTooltip(myChart, option, {
@@ -4474,7 +4517,11 @@ let app = new Vue({
             that.initChartC2()
             that.initChartC3()
             that.initChartC4()
-            that.initProvinceChart()
+            if (that.versions) {
+              that.centerPenetrateOne('investmentMap', params.name, 3, '', '')
+            } else {
+              that.initProvinceChart()
+            }
             that.initProjectList()
           })
         }
@@ -4608,15 +4655,15 @@ let app = new Vue({
       let that = this
       myChart.on('click', function (param) {
         if (param.name == '煤炭和煤电') {
-          that.showChartLTipSingle(param.name, 'center', 'keyIndicators', 'ceiamount','','','','','five','1')
+          that.showChartLTipSingle(param.name, 'center', 'keyIndicators', 'ceiamount', '', '', '', '', 'five', '1', 2)
         } else if (param.name == '煤电和新能源') {
-          that.showChartLTipSingle(param.name, 'center', 'keyIndicators', 'cpneiamount','','','','','five','2')
+          that.showChartLTipSingle(param.name, 'center', 'keyIndicators', 'cpneiamount', '', '', '', '', 'five', '2', 2)
         } else if (param.name == '煤炭和化工') {
-          that.showChartLTipSingle(param.name, 'center', 'keyIndicators', 'ccheiamount','','','','','five','3')
+          that.showChartLTipSingle(param.name, 'center', 'keyIndicators', 'ccheiamount', '', '', '', '', 'five', '3', 2)
         } else if (param.name == '煤炭和数字') {
-          that.showChartLTipSingle(param.name, 'center', 'keyIndicators', 'cdiamount','','','','','five','4')
+          that.showChartLTipSingle(param.name, 'center', 'keyIndicators', 'cdiamount', '', '', '', '', 'five', '4', 2)
         } else if (param.name == '煤炭和降碳') {
-          that.showChartLTipSingle(param.name, 'center', 'keyIndicators', 'cciamount','','','','','five','5')
+          that.showChartLTipSingle(param.name, 'center', 'keyIndicators', 'cciamount', '', '', '', '', 'five', '5', 2)
         }
       })
       myChart.setOption(option)
@@ -4679,8 +4726,7 @@ let app = new Vue({
                     point: {
                       events: {
                         click: function (e) {
-                          console.log(e, '?????????')
-                          that.showChartLTipDouble(e.point.name, 'center', '', '', '', '', 'keyIndicators', e.point.options.typeno,state,e.point.name=='新建'?'new':'renew')
+                          that.showChartLTipDouble(e.point.name, 'center', '', '', '', '', 'keyIndicators', e.point.options.typeno, 'state', e.point.name == '新建' ? 'new' : 'renew', 1)
                         }
                       }
                     },
@@ -4701,7 +4747,7 @@ let app = new Vue({
                       point: {
                         events: {
                           click: function (e) {
-                            that.showChartLTipDouble(e.point.name, 'center', '', '', '', '', 'keyIndicators', e.point.options.typeno,state,e.point.name=='新建'?'new':'renew')
+                            that.showChartLTipDouble(e.point.name, 'center', '', '', '', '', 'keyIndicators', e.point.options.typeno, 'state', e.point.name == '新建' ? 'new' : 'renew', 1)
                           }
                         }
                       },
@@ -4779,7 +4825,7 @@ let app = new Vue({
           point: {
             events: {
               click: function (e) { //点击事件
-                that.showChartLTipDouble(e.point.name, 'center', '', '', '', '', 'keyIndicators', e.point.options.typeno,state,e.point.name=='新建'?'new':'renew')
+                that.showChartLTipDouble(e.point.name, 'center', '', '', '', '', 'keyIndicators', e.point.options.typeno, 'state', e.point.name == '新建' ? 'new' : 'renew', 1)
               },
               mouseOver: function (e) { //鼠标移入停止轮播并且找到移入的当前数据设为选中
                 //console.log(e) 
@@ -4796,7 +4842,7 @@ let app = new Vue({
                     point: {
                       events: {
                         click: function (e) {
-                          that.showChartLTipDouble(e.point.name, 'center', '', '', '', '', 'keyIndicators', e.point.options.typeno,state,e.point.name=='新建'?'new':'renew')
+                          that.showChartLTipDouble(e.point.name, 'center', '', '', '', '', 'keyIndicators', e.point.options.typeno, 'state', e.point.name == '新建' ? 'new' : 'renew', 1)
                         }
                       }
                     },
@@ -4827,7 +4873,7 @@ let app = new Vue({
                       point: {
                         events: {
                           click: function (e) {
-                            that.showChartLTipDouble(e.point.name, 'center', '', '', '', '', 'keyIndicators', e.point.options.typeno,state,e.point.name=='新建'?'new':'renew')
+                            that.showChartLTipDouble(e.point.name, 'center', '', '', '', '', 'keyIndicators', e.point.options.typeno, 'state', e.point.name == '新建' ? 'new' : 'renew', 1)
                           }
                         }
                       },
@@ -4848,7 +4894,7 @@ let app = new Vue({
                         point: {
                           events: {
                             click: function (e) {
-                              that.showChartLTipDouble(e.point.name, 'center', '', '', '', '', 'keyIndicators', e.point.options.typeno,state,e.point.name=='新建'?'new':'renew')
+                              that.showChartLTipDouble(e.point.name, 'center', '', '', '', '', 'keyIndicators', e.point.options.typeno, 'state', e.point.name == '新建' ? 'new' : 'renew', 1)
                             }
                           }
                         },
@@ -4871,7 +4917,7 @@ let app = new Vue({
     initProjectList () {
       let dataList = []
       center8.map(item => {
-        if (this.version) {
+        if (this.versions) {
           dataList.push([item[0], item[1], item[2] + '亿'])
         } else {
           dataList.push([item.office, item.name, item.value + '亿'])