Parcourir la source

4-28 项目对标

zhaomiao il y a 3 ans
Parent
commit
8199c0f709
43 fichiers modifiés avec 1166 ajouts et 675 suppressions
  1. 0 0
      src/assets/css/normRanking/goodnessfitRank.scss
  2. 0 0
      src/assets/css/normRanking/grossgenerationRank.scss
  3. 0 0
      src/assets/css/normRanking/percentageLossrRank.scss
  4. 23 147
      src/assets/js/benchmarkingSys/innationBenchmarkParticulars.js
  5. 16 176
      src/assets/js/benchmarkingSys/internationalBenchmark.js
  6. 5 0
      src/assets/js/benchmarkingSys/newPerformanceList.js
  7. 5 0
      src/assets/js/benchmarkingSys/performanceList.js
  8. 26 42
      src/assets/js/benchmarkingSys/projectBenchmark.js
  9. 26 18
      src/assets/js/benchmarkingSys/projectBenchmarkParticulars.js
  10. 81 207
      src/assets/js/benchmarkingSys/propertBenchmark.js
  11. 5 0
      src/assets/js/benchmarkingSys/propertBenchmarkParticulars.js
  12. 5 0
      src/assets/js/benchmarkingSys/singleTransverseBenchmark.js
  13. 10 3
      src/assets/js/benchmarkingSys/yardBenchmark.js
  14. 5 0
      src/assets/js/benchmarkingSys/yardBenchmarkParticulars.js
  15. 143 0
      src/assets/js/normRanking/goodnessfitRank.js
  16. 132 0
      src/assets/js/normRanking/grossgenerationRank.js
  17. 119 0
      src/assets/js/normRanking/percentageLossrRank.js
  18. 5 0
      src/assets/js/singlePerformanceAnalysis/individualHistoryinformation.js
  19. 5 0
      src/assets/js/singlePerformanceAnalysis/individualPandectinformation.js
  20. 5 0
      src/assets/js/singlePerformanceAnalysis/individualPandectinformationdetails.js
  21. 5 0
      src/assets/js/singlePerformanceAnalysis/powerChart.js
  22. 5 0
      src/assets/js/singlePerformanceAnalysis/powerandWindspeedChart.js
  23. 12 12
      src/router/zm.js
  24. 8 3
      src/tools/echartsToolzm.js
  25. 1 0
      src/views/benchmarkingSys/innationBenchmarkParticulars.vue
  26. 28 23
      src/views/benchmarkingSys/internationalBenchmark.vue
  27. 2 0
      src/views/benchmarkingSys/newPerformanceList.vue
  28. 2 0
      src/views/benchmarkingSys/performanceList.vue
  29. 3 2
      src/views/benchmarkingSys/projectBenchmark.vue
  30. 15 21
      src/views/benchmarkingSys/projectBenchmarkParticulars.vue
  31. 11 20
      src/views/benchmarkingSys/propertBenchmark.vue
  32. 1 0
      src/views/benchmarkingSys/propertBenchmarkParticulars.vue
  33. 3 0
      src/views/benchmarkingSys/singleTransverseBenchmark.vue
  34. 2 0
      src/views/benchmarkingSys/yardBenchmark.vue
  35. 1 0
      src/views/benchmarkingSys/yardBenchmarkParticulars.vue
  36. 151 0
      src/views/normRanking/goodnessfitRank.vue
  37. 153 0
      src/views/normRanking/grossgenerationRank.vue
  38. 137 0
      src/views/normRanking/percentageLossrRank.vue
  39. 2 0
      src/views/singlePerformanceAnalysis/individualHistoryinformation.vue
  40. 1 0
      src/views/singlePerformanceAnalysis/individualPandectinformation.vue
  41. 3 1
      src/views/singlePerformanceAnalysis/individualPandectinformationdetails.vue
  42. 2 0
      src/views/singlePerformanceAnalysis/powerChart.vue
  43. 2 0
      src/views/singlePerformanceAnalysis/powerandWindspeedChart.vue

+ 0 - 0
src/assets/css/normRanking/goodnessfitRank.scss


+ 0 - 0
src/assets/css/normRanking/grossgenerationRank.scss


+ 0 - 0
src/assets/css/normRanking/percentageLossrRank.scss


+ 23 - 147
src/assets/js/benchmarkingSys/innationBenchmarkParticulars.js

@@ -2,6 +2,11 @@ import * as echarts from "echarts";
 export default {
     data(){
         return{
+          pickerOptions: {
+            disabledDate(time) {
+              return time.getTime() > Date.now();
+            },
+            },
             tb2:false,
             formInline: {
                 windfarm: "",
@@ -39,6 +44,8 @@ export default {
             fdcND2:[],
             loading:true,
             loading2:true,
+            wp_n_1: {},
+            wp_n_2: {},
         }
     },
     filters: {
@@ -49,10 +56,12 @@ export default {
     /**
      * 获取跳转数据
      */
-    created(){
+     activated(){
+        this.timedate = [];
         this.value = this.$route.query.wpId;
-        this.timedate[0] = this.$route.query.beginDate;
-        this.timedate[1] = this.$route.query.endDate;
+        // this.timedate[0] = this.$route.query.beginDate;
+        // this.timedate[1] = this.$route.query.endDate;
+        this.timedate.push(this.$route.query.beginDate,this.$route.query.endDate);
         this.YardTableData();
     },
     methods:{
@@ -97,11 +106,15 @@ export default {
                this.$message.error("请选两个风场!");
                return;
            }
+           this.wp_n_1 = {};
+           this.wp_n_2 = {};
           if(this.multipleSelection.length==2){
+              this.wp_n_1 = this.multipleSelection[0];
+              this.wp_n_2 = this.multipleSelection[1];
               this.fdcName1 = this.multipleSelection[0].wtName;
               this.fdcName2 = this.multipleSelection[1].wtName;
-              this.fdcND1 = this.multipleSelection[0].wtName+""+this.BASE.getBzDate(new Date(this.multipleSelection[0].recordDate),0);
-              this.fdcND2 = this.multipleSelection[1].wtName+""+this.BASE.getBzDate(new Date(this.multipleSelection[1].recordDate),0);
+              this.fdcND1 = this.multipleSelection[0].wtName;
+              this.fdcND2 = this.multipleSelection[1].wtName;
               this.fdcND.push(this.fdcND1,this.fdcND2);
               this.sortInOrder.push(this.multipleSelection[0].fnlyl,this.multipleSelection[0].xqjsl,
               this.multipleSelection[0].ztzhjsl,this.multipleSelection[0].fwjsl,this.multipleSelection[0].slssl,
@@ -111,11 +124,6 @@ export default {
               this.multipleSelection[1].ztzhjsl,this.multipleSelection[1].fwjsl,this.multipleSelection[1].slssl,
               this.multipleSelection[1].xnssl,this.multipleSelection[1].qfl,this.multipleSelection[1].jxssl,
               this.multipleSelection[1].gzssl);
-              for(let i=0;i<this.multipleSelection.length;i++){
-              this.sortInOrde2.push({product:this.multipleSelection[i].wtName+" "+this.BASE.getBzDate(this.multipleSelection[i].recordDate,0),'限电损失电量单位:万KWh':this.multipleSelection[i].xdss,
-                    '故障损失电量单位:万KWh':this.multipleSelection[i].gzss,'检修损失电量单位:万KWh':this.multipleSelection[i].jxssl,
-                    '性能损失电量单位:万KWh':this.multipleSelection[i].xnssl,'受累损失电量单位:万KWh':this.multipleSelection[i].slss});
-              }
               this.getTableData.push({index:'发电量',data1:this.multipleSelection[0].scadafdl,data2:this.multipleSelection[1].scadafdl});
               this.getTableData.push({index:'故障损失电量',data1:this.multipleSelection[0].gzss,data2:this.multipleSelection[1].gzss});
               this.getTableData.push({index:'检修损失电量',data1:this.multipleSelection[0].jxssl,data2:this.multipleSelection[1].jxssl});
@@ -133,11 +141,10 @@ export default {
               
               this.dialogTableVisible = true;
                 this.$nextTick(function() {
-                    this.ECZM.leida_tc("leiDaTu5" , this.getChartDataValue,this.BASE.getBzDate(new Date(this.wp_n_1.recordDate),0),this.getChartDataValue2,this.BASE.getBzDate(new Date(this.wp_n_2.recordDate),0));
-       
-                })
-                this.$nextTick(function() {
-                    this.drawPie2('leiDaTu6')
+                    this.ECZM.leida_tc("leiDaTu5" , this.sortInOrder,this.fdcND1,this.sortInOrderTop,this.fdcND2);
+                    this.ECZM.bar_tc("leiDaTu6" , this.wp_n_1 , this.wp_n_2 ,this.wp_n_1.wtId , this.wp_n_2.wtId);
+     
+                    //this.drawPie2('leiDaTu6')
                 })
             } 
                 
@@ -220,143 +227,12 @@ export default {
         filter_date(cellValue) {
             let date = new Date(cellValue.recordDate);
             return this.BASE.getBzDate(date,0);
-    },
-        drawPie() {
-
-            let charts = echarts.getInstanceByDom(document.getElementById("leiDaTu5")); //有的话就获取已有echarts实例的DOM节点。
-            if (charts == null) { // 如果不存在,就进行初始化。
-                charts = echarts.init(document.getElementById("leiDaTu5"));
-            }
-            let option = {
-              title: {
-            // text: '对标排名分析',
-            left: 'center'
         },
-        tooltip: {},
-        // legend: {
-        //     data: ['预算分配(Allocated Budget)', '实际开销(Actual Spending)'],
-        //     left: 'right'
-        // },
-        radar: {
-            // shape: 'circle',
-            name: {
-                textStyle: {
-                    color: '#fff',
-                    backgroundColor: '#999',
-                    borderRadius: 3,
-                    padding: [3, 5]
-                }
-            },
-            indicator: [
-                { name: '风能利用率', max: 150},
-                { name: '消缺及时率', max: 150},
-                { name: '状态转换率', max: 150},
-                { name: '复位及时率', max: 150},
-                { name: '受累损失率', max: 150},
-                { name: '性能损失率', max: 150},
-                { name: '弃风率', max: 150},
-                { name: '检修损失率', max: 150},
-                { name: '故障损失率', max: 150},
-            ]
-        },
-        series: [{
-            name: '预算 vs 开销(Budget vs spending)',
-            type: 'radar',
-            // areaStyle: {normal: {}},
-            data: [
-                {
-                    value: this.sortInOrder,
-                    name:this.fdcName1,
-                },
-                {
-                    value: this.sortInOrderTop,
-                    name: this.fdcName2,
-                }
-            ]
-        }]
-            }
-            charts.setOption(option, true);
-            
-          },
-        drawPie2() {
-            let charts2 = echarts.getInstanceByDom(document.getElementById("leiDaTu6")); //有的话就获取已有echarts实例的DOM节点。
-            if (charts2 == null) { // 如果不存在,就进行初始化。
-                charts2 = echarts.init(document.getElementById("leiDaTu6"),'light');
-            }
-            let option2 = {
-              legend: {
-                  orient: 'vertical',
-                  left: 'right'
-              },
-              tooltip: {},
-              dataset: {
-                  dimensions: ['product', '限电损失电量单位:万KWh', '故障损失电量单位:万KWh', '检修损失电量单位:万KWh', '性能损失电量单位:万KWh', '受累损失电量单位:万KWh'],
-                  source: this.sortInOrde2
-              },
-              xAxis: {type: 'category',date:this.fdcND,axisPointer: {
-                type: 'shadow'
-            }},
-              yAxis: {type: 'category'},
-              series: [
-                  {
-                        // barGap:'100%',/*多个并排柱子设置柱子之间的间距*/
-                        type: 'bar',
-                        barWidth : 30,
-                        itemStyle:{
-                            normal:{
-                                color:'#D201D8'
-                            }
-                        }
-                    },
-                    {
-                        
-                        type: 'bar',
-                        barWidth : 30,
-                        itemStyle:{
-                            normal:{
-                                color:'#FD0100'
-                            }
-                        }
-                    },
-                    {
-                        
-                        type: 'bar',
-                        barWidth : 30,
-                        itemStyle:{
-                            normal:{
-                                color:'#FF7B16'
-                            }
-                        }
-                    },
-                    {
-                        
-                        type: 'bar',
-                        barWidth : 30,
-                        itemStyle:{
-                            normal:{
-                                color:'#8085E9'
-                            }
-                        }
-                    },
-                    {
-                        type: 'bar',
-                        barWidth : 30,
-                        itemStyle:{
-                            normal:{
-                                color:'#A6A6A6'
-                            }
-                        }
-                    },
-              ]
-                  }
-                  charts2.setOption(option2, true);
-            
-          },
           /**
            * 返回按钮
            */
         goReturn(){
-            this.$router.push('/benchmark_International')
+            this.$router.push('/internationalBenchmark')
           },
           }
 

+ 16 - 176
src/assets/js/benchmarkingSys/internationalBenchmark.js

@@ -3,6 +3,11 @@ import * as echarts from "echarts";
 export default {
   data() {
     return {
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > Date.now();
+        },
+        },
       timedate: [],
       isAsc: "asc",
       beginDate: "",
@@ -30,7 +35,9 @@ export default {
       lineDataOption: [],
       getChartDataValue: [],
       getChartDataValue2: [],
-      getChartData:[]
+      getChartData:[],
+      wp_n_1: {},
+      wp_n_2: {},
     };
   },
   components: {
@@ -74,26 +81,7 @@ export default {
     handleEdit(a, b) {
       this.wpId = [];
       this.lineDataOption = [];
-      if (this.multipleSelection.length == 2) {
-        for (let i = 0; i < this.multipleSelection.length; i++) {
-          this.wpId.push(this.multipleSelection[i].wpId);
-          this.wpName.push(this.multipleSelection[i].wpName);
-          this.lineDataOption.push({
-            id: this.multipleSelection[i].wpId,
-            name: this.multipleSelection[i].wpName,
-          });
-        }
-        this.$router.push({
-          path: "/innationBenchmarkParticulars",
-          query: {
-            wpId: this.wpId,
-            beginDate: this.beginDate,
-            endDate: this.endDate,
-            wpName: this.wpName,
-            select: this.lineDataOption,
-          },
-        });
-      } else {
+     
         this.lineDataOption.push({ id: b.wpId, name: b.wpName });
         this.$router.push({
           path: "/innationBenchmarkParticulars",
@@ -105,7 +93,6 @@ export default {
             select: this.lineDataOption,
           },
         });
-      }
     },
     /**
      * 对标分析
@@ -113,24 +100,25 @@ export default {
     queryApDataMx() {
       this.dialogTableVisible = true;
       this.$nextTick(function () {
-        this.ECZM.leida_tc("leiDaTu" , this.sortInOrder,this.fdcName1,this.sortInOrderTop,this.fdcName2);
         
-
-      });
-      this.$nextTick(function () {
-        this.drawPie2("leiDaTu2");
+        this.ECZM.leida_tc("leiDaTu" , this.sortInOrder,this.fdcName1,this.sortInOrderTop,this.fdcName2);
+        this.ECZM.bar_tc("leiDaTu2" , this.wp_n_1 , this.wp_n_2 , this.wp_n_1.wpId , this.wp_n_2.wpId);
       });
     },
     /**
      * 数据格式转换
      */
     handleSelectionChange(val) {
+      this.wp_n_1 = "";
+      this.wp_n_2 = "";
       this.sortInOrder = [];
       this.sortInOrderTop = [];
       this.getTableData = [];
       this.sortInOrde2 = [];
       this.multipleSelection = val;
       if (this.multipleSelection.length == 2) {
+        this.wp_n_1 = this.multipleSelection[0];
+        this.wp_n_2 = this.multipleSelection[1];
         this.fdcName1 = this.multipleSelection[0].wpName;
         this.fdcName2 = this.multipleSelection[1].wpName;
         this.sortInOrder.push(
@@ -155,16 +143,6 @@ export default {
           this.multipleSelection[1].jxssl,
           this.multipleSelection[1].gzssl
         );
-        for (let i = 0; i < this.multipleSelection.length; i++) {
-          this.sortInOrde2.push({
-            product: this.multipleSelection[i].wpName,
-            "限电损失电量单位:万KWh": this.multipleSelection[i].xdss,
-            "故障损失电量单位:万KWh": this.multipleSelection[i].gzss,
-            "检修损失电量单位:万KWh": this.multipleSelection[i].jxssl,
-            "性能损失电量单位:万KWh": this.multipleSelection[i].xnssl,
-            "受累损失电量单位:万KWh": this.multipleSelection[i].slss,
-          });
-        }
         this.getTableData.push({
           index: "发电量",
           data1: this.multipleSelection[0].fdl,
@@ -260,7 +238,7 @@ export default {
     /**
      * 查询场际对标列表信息
      */
-    Inquire_tableDate() {
+    Inquire_tableDate() { 
       var newData = new Date();
        this.timedate[0] = this.BASE.getBzDate(newData.getTime(),-1);
        this.timedate[1] = this.BASE.getBzDate(newData.getTime(),0);
@@ -297,144 +275,6 @@ export default {
           this.$message.error('获取数据失败');
         });
     },
-    drawPie() {
-      var charts;
-      if (charts != null && charts != "" && charts != undefined) {
-        charts.dispose();
-      }
-      charts = echarts.init(document.getElementById("leiDaTu"));
-      let option = {
-        title: {
-          // text: '对标排名分析',
-          left: "center",
-        },
-        tooltip: {},
-        // legend: {
-        //     data: ['预算分配(Allocated Budget)', '实际开销(Actual Spending)'],
-        //     left: 'right'
-        // },
-        radar: {
-          // shape: 'circle',
-          name: {
-            textStyle: {
-              color: "#fff",
-              backgroundColor: "#999",
-              borderRadius: 3,
-              padding: [3, 5],
-            },
-          },
-          indicator: [
-            { name: "风能利用率", max: 150 },
-            { name: "消缺及时率", max: 150 },
-            { name: "状态转换率", max: 150 },
-            { name: "复位及时率", max: 150 },
-            { name: "受累损失率", max: 150 },
-            { name: "性能损失率", max: 150 },
-            { name: "弃风率", max: 150 },
-            { name: "检修损失率", max: 150 },
-            { name: "故障损失率", max: 150 },
-          ],
-        },
-        series: [
-          {
-            name: "预算 vs 开销(Budget vs spending)",
-            type: "radar",
-            // areaStyle: {normal: {}},
-            data: [
-              {
-                value: this.sortInOrder,
-                name: this.fdcName1,
-              },
-              {
-                value: this.sortInOrderTop,
-                name: this.fdcName2,
-              },
-            ],
-          },
-        ],
-      };
-      charts.clear();
-      charts.setOption(option);
-    },
-    drawPie2() {
-      var charts2;
-      if (charts2 != null && charts2 != "" && charts2 != undefined) {
-        charts2.dispose();
-      }
-      charts2 = echarts.init(document.getElementById("leiDaTu2"));
-      let option2 = {
-        legend: {
-          orient: "vertical",
-          left: "right",
-        },
-        tooltip: {},
-        dataset: {
-          dimensions: [
-            "product",
-            "限电损失电量单位:万KWh",
-            "故障损失电量单位:万KWh",
-            "检修损失电量单位:万KWh",
-            "性能损失电量单位:万KWh",
-            "受累损失电量单位:万KWh",
-          ],
-          source: this.sortInOrde2,
-        },
-        xAxis: { type: "category" },
-        yAxis: {},
-        // Declare several bar series, each will be mapped
-        // to a column of dataset.source by default.
-        series: [
-          {
-            // barGap:'100%',/*多个并排柱子设置柱子之间的间距*/
-            type: "bar",
-            barWidth: 30,
-            itemStyle: {
-              normal: {
-                color: "#D201D8",
-              },
-            },
-          },
-          {
-            type: "bar",
-            barWidth: 30,
-            itemStyle: {
-              normal: {
-                color: "#FD0100",
-              },
-            },
-          },
-          {
-            type: "bar",
-            barWidth: 30,
-            itemStyle: {
-              normal: {
-                color: "#FF7B16",
-              },
-            },
-          },
-          {
-            type: "bar",
-            barWidth: 30,
-            itemStyle: {
-              normal: {
-                color: "#8085E9",
-              },
-            },
-          },
-          {
-            type: "bar",
-            barWidth: 30,
-            itemStyle: {
-              normal: {
-                color: "#A6A6A6",
-              },
-            },
-          },
-        ],
-      };
-      charts2.clear();
-      charts2.setOption(option2);
-    },
     toExcel() {},
     getPackageData(gridData) {
       for (let i = 0; i < gridData.length; i++) {

+ 5 - 0
src/assets/js/benchmarkingSys/newPerformanceList.js

@@ -3,6 +3,11 @@ import * as echarts from "echarts";
 export default {
   data() {
     return {
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > Date.now();
+        },
+        },
       len:10,
       fc:"",
       pj:"",

+ 5 - 0
src/assets/js/benchmarkingSys/performanceList.js

@@ -4,6 +4,11 @@ import * as echarts from "echarts";
 export default {
   data() {
     return {
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > Date.now();
+        },
+        },
       len:10,
       fc:"",
       pj:"",

+ 26 - 42
src/assets/js/benchmarkingSys/projectBenchmark.js

@@ -2,6 +2,11 @@ import * as echarts from "echarts";
 export default {
   data() {
     return {
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > Date.now();
+        },
+        },
       formInline: {
         windfarm: "",
         project: "",
@@ -67,7 +72,9 @@ export default {
       lineDataOption: [],
       getChartDataValue: [],
       getChartDataValue2: [],
-      getChartData:[]
+      getChartData:[],
+      wp_n_1: {},
+      wp_n_2: {},
     };
   },
   components: {
@@ -133,31 +140,7 @@ export default {
     handleEdit(a, b) {
       this.pjId = [];
       this.lineDataOption = [];
-      if (this.multipleSelection.length == 2) {
-        for (let i = 0; i < this.multipleSelection.length; i++) {
-          this.pjId.push(this.multipleSelection[i].pjId);
-          this.pjName.push(this.multipleSelection[i].pjName);
-          this.wtId.push(this.multipleSelection[i].wtId);
-          this.wtName.push(this.multipleSelection[i].wtName);
-          this.lineDataOption.push({
-            id: this.multipleSelection[i].pjId,
-            name: this.multipleSelection[i].pjName,
-          });
-        }
-        this.$router.push({
-          path: "/projectBenchmarkParticulars",
-          query: {
-            date:b,
-            pjId: this.pjId,
-            beginDate: this.beginDate,
-            endDate: this.endDate,
-            pjName: this.pjName,
-            wtId:this.wtId,
-            wtName:this.wtName,
-            select: this.lineDataOption,
-          },
-        });
-      } else {
+      
         this.lineDataOption.push({ id: b.pjId, name: b.pjName });
         this.$router.push({
           path: "/projectBenchmarkParticulars",
@@ -171,7 +154,6 @@ export default {
             wtName:b.wpName,
           },
         });
-      }
     },
     /**
      * 查询检查
@@ -219,23 +201,25 @@ export default {
       this.dialogTableVisible = true;
       this.$nextTick(function () {
         this.ECZM.leida_tc("leiDaTu" , this.sortInOrder,this.pjName1,this.sortInOrderTop,this.pjName2);
-        
-        //this.drawPie("leiDaTu");
-      });
-      this.$nextTick(function () {
-        this.drawPie2("leiDaTu2");
+        this.ECZM.bar_tc("leiDaTu2" , this.wp_n_1 , this.wp_n_2 , this.wp_n_1.wpId , this.wp_n_2.wpId);
       });
     },
     /**
      * 改变数据格式
      */
     handleSelectionChange(val) {
+      this.wp_n_1 = {};
+      this.wp_n_2 = {};
+      this.pjName1="";
+      this.pjName2="";
       this.sortInOrder = [];
       this.sortInOrderTop = [];
       this.getTableData = [];
       this.sortInOrde2 = [];
       this.multipleSelection = val;
       if (this.multipleSelection.length == 2) {
+        this.wp_n_1 = this.multipleSelection[0];
+        this.wp_n_2 = this.multipleSelection[1];
         this.pjName1 = this.multipleSelection[0].pjName;
         this.pjName2 = this.multipleSelection[1].pjName;
         this.sortInOrder.push(
@@ -260,16 +244,16 @@ export default {
           this.multipleSelection[1].jxssl,
           this.multipleSelection[1].gzssl
         );
-        for (let i = 0; i < this.multipleSelection.length; i++) {
-          this.sortInOrde2.push({
-            product: this.multipleSelection[i].pjName,
-            "限电损失电量单位:万KWh": this.multipleSelection[i].xdss,
-            "故障损失电量单位:万KWh": this.multipleSelection[i].gzss,
-            "检修损失电量单位:万KWh": this.multipleSelection[i].jxssl,
-            "性能损失电量单位:万KWh": this.multipleSelection[i].xnssl,
-            "受累损失电量单位:万KWh": this.multipleSelection[i].slss,
-          });
-        }
+        // for (let i = 0; i < this.multipleSelection.length; i++) {
+        //   this.sortInOrde2.push({
+        //     product: this.multipleSelection[i].pjName,
+        //     "限电损失电量单位:万KWh": this.multipleSelection[i].xdss,
+        //     "故障损失电量单位:万KWh": this.multipleSelection[i].gzss,
+        //     "检修损失电量单位:万KWh": this.multipleSelection[i].jxssl,
+        //     "性能损失电量单位:万KWh": this.multipleSelection[i].xnssl,
+        //     "受累损失电量单位:万KWh": this.multipleSelection[i].slss,
+        //   });
+        // }
         this.getTableData.push({
           index: "发电量",
           data1: this.multipleSelection[0].fdl,

+ 26 - 18
src/assets/js/benchmarkingSys/projectBenchmarkParticulars.js

@@ -2,6 +2,11 @@ import * as echarts from "echarts";
 export default {
   data() {
     return {
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > Date.now();
+        },
+        },
       tb2: false,
       options: [],
       loading:true,
@@ -46,6 +51,8 @@ export default {
         name: "",
         id: "",
       },
+      wp_n_1: {},
+      wp_n_2: {},
     };
   },
   filters: {
@@ -54,8 +61,8 @@ export default {
     },
   },
   created() {
-    this.timedate[0] = this.$route.query.beginDate;
-    this.timedate[1] = this.$route.query.endDate;
+    this.timedate = [];
+    this.timedate.push(this.$route.query.beginDate,this.$route.query.endDate);
     this.fc = this.$route.query.wtId;
     this.pj = this.$route.query.pjId;
     this.query_wpid();
@@ -113,8 +120,12 @@ export default {
      * 数据格式转换
      */
     queryApDataMx() {
-      this.dialogTableVisible = true;
+       this.dialogTableVisible = true;
+       this.wp_n_1 = {};
+       this.wp_n_2 = {};
         this.multipleSelection = this.multipleSelection1.concat(this.multipleSelection2);
+        this.wp_n_1 = this.multipleSelection[0];
+        this.wp_n_2 = this.multipleSelection[1];
         this.pjName1 = this.multipleSelection[0].pjName;
         this.pjName2 = this.multipleSelection[1].pjName;
         this.fdcND1 =
@@ -148,16 +159,16 @@ export default {
           this.multipleSelection[1].jxssl,
           this.multipleSelection[1].gzssl
         );
-        for (let i = 0; i < this.multipleSelection.length; i++) {
-          this.sortInOrde2.push({
-            product: this.multipleSelection[i].pjName,
-            "限电损失电量单位:万KWh": this.multipleSelection[i].xdss,
-            "故障损失电量单位:万KWh": this.multipleSelection[i].gzss,
-            "检修损失电量单位:万KWh": this.multipleSelection[i].jxssl,
-            "性能损失电量单位:万KWh": this.multipleSelection[i].xnssl,
-            "受累损失电量单位:万KWh": this.multipleSelection[i].slss,
-          });
-        }
+        // for (let i = 0; i < this.multipleSelection.length; i++) {
+        //   this.sortInOrde2.push({
+        //     product: this.multipleSelection[i].pjName,
+        //     "限电损失电量单位:万KWh": this.multipleSelection[i].xdss,
+        //     "故障损失电量单位:万KWh": this.multipleSelection[i].gzss,
+        //     "检修损失电量单位:万KWh": this.multipleSelection[i].jxssl,
+        //     "性能损失电量单位:万KWh": this.multipleSelection[i].xnssl,
+        //     "受累损失电量单位:万KWh": this.multipleSelection[i].slss,
+        //   });
+        // }
         this.getTableData.push({
           index: "发电量",
           data1: this.multipleSelection[0].scadafdl,
@@ -231,10 +242,7 @@ export default {
       
       this.$nextTick(function () {
         this.ECZM.leida_tc("leiDaTu3" , this.sortInOrder,this.pjName1,this.sortInOrderTop,this.pjName2);
-        //this.drawPie("");
-      });
-      this.$nextTick(function () {
-        this.drawPie2("leiDaTu4");
+        this.ECZM.bar_tc("leiDaTu4" , this.wp_n_1 , this.wp_n_2 ,this.wp_n_1.wpId , this.wp_n_2.wpId);
       });
     },
     filter_fdl(cellValue) {
@@ -492,7 +500,7 @@ export default {
      * 返回按钮
      */
     goReturn() {
-      this.$router.push("/benchmark_project");
+      this.$router.push("/projectBenchmark");
     },
     toExcel() {},
   },

+ 81 - 207
src/assets/js/benchmarkingSys/propertBenchmark.js

@@ -3,6 +3,11 @@ import * as echarts from "echarts";
 export default {
   data() {
     return {
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > Date.now();
+        },
+        },
       formInline: {
         windfarm: "",
         project: "",
@@ -21,6 +26,8 @@ export default {
       sortInOrderTop2: [],
       fdcName1: "",
       fdcName2: "",
+      wp_n_1: {},
+      wp_n_2: {},
       currentPage2: 1,
       pagesize: 10,
       classification: [
@@ -77,6 +84,7 @@ export default {
       getChartDataValue: [],
       getChartDataValue2: [],
       chartsAName2: "",
+      selectrowdate: {},
     };
   },
 //   components: {
@@ -103,7 +111,7 @@ export default {
      * 检查是否选择两个项目
      */
     querycheck(){
-      if(this.multipleSelection.length == 2){
+      if(this.selectrowdate.length == 2){
         this.queryApDataMx();
       }else{
         this.$message({
@@ -176,130 +184,134 @@ export default {
      */
     queryApDataMx() {
       this.dialogTableVisible = true;
+      this.check_wpid();
       this.$nextTick(function () {
-        this.ECZM.leida_tc("leiDaTu" , this.sortInOrder,this.fdcName1,this.sortInOrderTop,this.fdcName2);
-        //this.drawPie("leiDaTu");
-        //this.drawPie2("leiDaTu2");
-        this.ECZM.bar_tc_2("leiDaTu2",this.sortInOrde2);
+      this.ECZM.bar_tc("leiDaTu8" , this.wp_n_1 , this.wp_n_2 , this.wp_n_1.wpId , this.wp_n_2.wpId);
+      this.ECZM.leida_tc("leiDatu6" , this.sortInOrder,this.fdcName1,this.sortInOrderTop,this.fdcName2);
       });
     },
+    handleSelectionChange(val) {
+      this.selectrowdate = val;
+    },
     /**
      * 数据转换
      */
-    handleSelectionChange(val) {
+     check_wpid() {
+      this.wp_n_1 = {};
+      this.wp_n_2 = {};
       this.sortInOrder = [];
       this.sortInOrderTop = [];
       this.getTableData = [];
       this.sortInOrde2 = [];
-      this.multipleSelection = val;
-      if (this.multipleSelection.length == 2) {
-        this.fdcName1 = this.multipleSelection[0].wpName;
-        this.fdcName2 = this.multipleSelection[1].wpName;
+      this.fdcName1 = "";
+      this.fdcName2 = "";
+     
+        this.wp_n_1 = this.selectrowdate[0];
+        this.wp_n_2 = this.selectrowdate[1];
+        this.fdcName1 = this.selectrowdate[0].wpName;
+        this.fdcName2 = this.selectrowdate[1].wpName;
         this.sortInOrder.push(
-          this.multipleSelection[0].fnlyl,
-          this.multipleSelection[0].xqjsl,
-          this.multipleSelection[0].ztzhjsl,
-          this.multipleSelection[0].fwjsl,
-          this.multipleSelection[0].slssl,
-          this.multipleSelection[0].xnssl,
-          this.multipleSelection[0].qfl,
-          this.multipleSelection[0].jxssl,
-          this.multipleSelection[0].gzssl
+          this.selectrowdate[0].fnlyl,
+          this.selectrowdate[0].xqjsl,
+          this.selectrowdate[0].ztzhjsl,
+          this.selectrowdate[0].fwjsl,
+          this.selectrowdate[0].slssl,
+          this.selectrowdate[0].xnssl,
+          this.selectrowdate[0].qfl,
+          this.selectrowdate[0].jxssl,
+          this.selectrowdate[0].gzssl
         );
         this.sortInOrderTop.push(
-          this.multipleSelection[1].fnlyl,
-          this.multipleSelection[1].xqjsl,
-          this.multipleSelection[1].ztzhjsl,
-          this.multipleSelection[1].fwjsl,
-          this.multipleSelection[1].slssl,
-          this.multipleSelection[1].xnssl,
-          this.multipleSelection[1].qfl,
-          this.multipleSelection[1].jxssl,
-          this.multipleSelection[1].gzssl
+          this.selectrowdate[1].fnlyl,
+          this.selectrowdate[1].xqjsl,
+          this.selectrowdate[1].ztzhjsl,
+          this.selectrowdate[1].fwjsl,
+          this.selectrowdate[1].slssl,
+          this.selectrowdate[1].xnssl,
+          this.selectrowdate[1].qfl,
+          this.selectrowdate[1].jxssl,
+          this.selectrowdate[1].gzssl
         );
-        for (let i = 0; i < this.multipleSelection.length; i++) {
-          this.sortInOrde2.push({
-            product: this.multipleSelection[i].wpName,
-            "限电损失电量单位:万KWh": this.multipleSelection[i].xdss,
-            "故障损失电量单位:万KWh": this.multipleSelection[i].gzss,
-            "检修损失电量单位:万KWh": this.multipleSelection[i].jxssl,
-            "性能损失电量单位:万KWh": this.multipleSelection[i].xnssl,
-            "受累损失电量单位:万KWh": this.multipleSelection[i].slss,
-          });
-        }
+        // for (let i = 0; i < this.multipleSelection.length; i++) {
+        //   this.sortInOrde2.push({
+        //     product: this.multipleSelection[i].wpName,
+        //     "限电损失电量单位:万KWh": this.multipleSelection[i].xdss,
+        //     "故障损失电量单位:万KWh": this.multipleSelection[i].gzss,
+        //     "检修损失电量单位:万KWh": this.multipleSelection[i].jxssl,
+        //     "性能损失电量单位:万KWh": this.multipleSelection[i].xnssl,
+        //     "受累损失电量单位:万KWh": this.multipleSelection[i].slss,
+        //   });
+        // }
         this.getTableData.push({
           index: "发电量",
-          data1: this.multipleSelection[0].fdl,
-          data2: this.multipleSelection[1].fdl,
+          data1: this.selectrowdate[0].fdl,
+          data2: this.selectrowdate[1].fdl,
         });
         this.getTableData.push({
           index: "故障损失电量",
-          data1: this.multipleSelection[0].gzss,
-          data2: this.multipleSelection[1].gzss,
+          data1: this.selectrowdate[0].gzss,
+          data2: this.selectrowdate[1].gzss,
         });
         this.getTableData.push({
           index: "检修损失电量",
-          data1: this.multipleSelection[0].jxssl,
-          data2: this.multipleSelection[1].jxssl,
+          data1: this.selectrowdate[0].jxssl,
+          data2: this.selectrowdate[1].jxssl,
         });
         this.getTableData.push({
           index: "性能未达标损失电量",
-          data1: this.multipleSelection[0].xnsslfraction,
-          data2: this.multipleSelection[1].xnsslfraction,
+          data1: this.selectrowdate[0].xnsslfraction,
+          data2: this.selectrowdate[1].xnsslfraction,
         });
         this.getTableData.push({
           index: "受累损失电量",
-          data1: this.multipleSelection[0].slss,
-          data2: this.multipleSelection[1].slss,
+          data1: this.selectrowdate[0].slss,
+          data2: this.selectrowdate[1].slss,
         });
         this.getTableData.push({
           index: "风能利用率",
-          data1: this.multipleSelection[0].fnlyl,
-          data2: this.multipleSelection[1].fnlyl,
+          data1: this.selectrowdate[0].fnlyl,
+          data2: this.selectrowdate[1].fnlyl,
         });
         this.getTableData.push({
           index: "故障损失率",
-          data1: this.multipleSelection[0].gzssl,
-          data2: this.multipleSelection[1].gzssl,
+          data1: this.selectrowdate[0].gzssl,
+          data2: this.selectrowdate[1].gzssl,
         });
         this.getTableData.push({
           index: "检修损失率",
-          data1: this.multipleSelection[0].jxssl,
-          data2: this.multipleSelection[1].jxssl,
+          data1: this.selectrowdate[0].jxssl,
+          data2: this.selectrowdate[1].jxssl,
         });
         this.getTableData.push({
           index: "弃风率",
-          data1: this.multipleSelection[0].qfl,
-          data2: this.multipleSelection[1].qfl,
+          data1: this.selectrowdate[0].qfl,
+          data2: this.selectrowdate[1].qfl,
         });
         this.getTableData.push({
           index: "性能损失率",
-          data1: this.multipleSelection[0].xnssl,
-          data2: this.multipleSelection[1].xnssl,
+          data1: this.selectrowdate[0].xnssl,
+          data2: this.selectrowdate[1].xnssl,
         });
         this.getTableData.push({
           index: "受累损失率",
-          data1: this.multipleSelection[0].slssl,
-          data2: this.multipleSelection[1].slssl,
+          data1: this.selectrowdate[0].slssl,
+          data2: this.selectrowdate[1].slssl,
         });
         this.getTableData.push({
           index: "复位及时率",
-          data1: this.multipleSelection[0].fwjsl,
-          data2: this.multipleSelection[1].fwjsl,
+          data1: this.selectrowdate[0].fwjsl,
+          data2: this.selectrowdate[1].fwjsl,
         });
         this.getTableData.push({
           index: "消缺及时率",
-          data1: this.multipleSelection[0].xqjsl,
-          data2: this.multipleSelection[1].xqjsl,
+          data1: this.selectrowdate[0].xqjsl,
+          data2: this.selectrowdate[1].xqjsl,
         });
         this.getTableData.push({
           index: "状态转换率",
-          data1: this.multipleSelection[0].ztzhjsl,
-          data2: this.multipleSelection[1].ztzhjsl,
+          data1: this.selectrowdate[0].ztzhjsl,
+          data2: this.selectrowdate[1].ztzhjsl,
         });
-      }
-    },
-    handleCurrentChange(val) {
     },
     handleSizeChange(val) {
       this.pagesize = val;
@@ -350,144 +362,6 @@ export default {
           this.$message.error('获取数据失败');
         });
     },
-    drawPie() {
-      var charts;
-      if (charts != null && charts != "" && charts != undefined) {
-        charts.dispose();
-      }
-      charts = this.$echarts.init(document.getElementById("leiDaTu"));
-      let option = {
-        title: {
-          // text: '对标排名分析',
-          left: "center",
-        },
-        tooltip: {},
-        // legend: {
-        //     data: ['预算分配(Allocated Budget)', '实际开销(Actual Spending)'],
-        //     left: 'right'
-        // },
-        radar: {
-          // shape: 'circle',
-          name: {
-            textStyle: {
-              color: "#fff",
-              backgroundColor: "#999",
-              borderRadius: 3,
-              padding: [3, 5],
-            },
-          },
-          indicator: [
-            { name: "风能利用率", max: 150 },
-            { name: "消缺及时率", max: 150 },
-            { name: "状态转换率", max: 150 },
-            { name: "复位及时率", max: 150 },
-            { name: "受累损失率", max: 150 },
-            { name: "性能损失率", max: 150 },
-            { name: "弃风率", max: 150 },
-            { name: "检修损失率", max: 150 },
-            { name: "故障损失率", max: 150 },
-          ],
-        },
-        series: [
-          {
-            name: "预算 vs 开销(Budget vs spending)",
-            type: "radar",
-            // areaStyle: {normal: {}},
-            data: [
-              {
-                value: this.sortInOrder,
-                name: this.fdcName1,
-              },
-              {
-                value: this.sortInOrderTop,
-                name: this.fdcName2,
-              },
-            ],
-          },
-        ],
-      };
-      charts.clear();
-      charts.setOption(option);
-    },
-    drawPie2() {
-      var charts2;
-      if (charts2 != null && charts2 != "" && charts2 != undefined) {
-        charts2.dispose();
-      }
-      charts2 = this.$echarts.init(document.getElementById("leiDaTu2"));
-      let option2 = {
-        legend: {
-          orient: "vertical",
-          left: "right",
-        },
-        tooltip: {},
-        dataset: {
-          dimensions: [
-            "product",
-            "限电损失电量单位:万KWh",
-            "故障损失电量单位:万KWh",
-            "检修损失电量单位:万KWh",
-            "性能损失电量单位:万KWh",
-            "受累损失电量单位:万KWh",
-          ],
-          source: this.sortInOrde2,
-        },
-        xAxis: { type: "category" },
-        yAxis: {},
-        // Declare several bar series, each will be mapped
-        // to a column of dataset.source by default.
-        series: [
-          {
-            // barGap:'100%',/*多个并排柱子设置柱子之间的间距*/
-            type: "bar",
-            barWidth: 30,
-            itemStyle: {
-              normal: {
-                color: "#D201D8",
-              },
-            },
-          },
-          {
-            type: "bar",
-            barWidth: 30,
-            itemStyle: {
-              normal: {
-                color: "#FD0100",
-              },
-            },
-          },
-          {
-            type: "bar",
-            barWidth: 30,
-            itemStyle: {
-              normal: {
-                color: "#FF7B16",
-              },
-            },
-          },
-          {
-            type: "bar",
-            barWidth: 30,
-            itemStyle: {
-              normal: {
-                color: "#8085E9",
-              },
-            },
-          },
-          {
-            type: "bar",
-            barWidth: 30,
-            itemStyle: {
-              normal: {
-                color: "#A6A6A6",
-              },
-            },
-          },
-        ],
-      };
-      charts2.clear();
-      charts2.setOption(option2);
-    },
     getPackageData(gridData, value2) {
       for (let i = 0; i < gridData.length; i++) {
         this.getChartDataValue.push({

+ 5 - 0
src/assets/js/benchmarkingSys/propertBenchmarkParticulars.js

@@ -2,6 +2,11 @@ import * as echarts from "echarts";
 export default {
   data() {
     return {
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > Date.now();
+        },
+        },
       tb2: false,
       loading:true,
       loading2:true,

+ 5 - 0
src/assets/js/benchmarkingSys/singleTransverseBenchmark.js

@@ -2,6 +2,11 @@ import * as echarts from "echarts";
 export default {
   data() {
     return {
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > Date.now();
+        },
+        },
       fj: ["MG01_01"],
       fc: "MHS_FDC",
       leida_list: [],

+ 10 - 3
src/assets/js/benchmarkingSys/yardBenchmark.js

@@ -2,6 +2,7 @@ import * as echarts from "echarts";
 export default {
   data() {
     return {
+     
       FClist: {
         name: "",
         id: "",
@@ -32,9 +33,15 @@ export default {
       getChartDataValue: [],
       getChartDataValue2: [],
       getTableData: [],
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > Date.now();
+        },
+        },
     };
   },
   methods: {
+    
     /**
      * 控制弹出
      */
@@ -54,8 +61,8 @@ export default {
      *  风场检查
      */
     check_wpid() {
-      this.wp_n_1 = "";
-      this.wp_n_2 = "";
+      this.wp_n_1 = {};
+      this.wp_n_2 = {};
       this.fdcName1 = "";
       this.fdcName2 = "";
       this.getChartDataValue = [];
@@ -186,7 +193,7 @@ export default {
     },
     /**
      * 
-     * 弹出提示信息
+     * 弹出提示信 
      */
     alert_jg() {
       this.$message({

+ 5 - 0
src/assets/js/benchmarkingSys/yardBenchmarkParticulars.js

@@ -2,6 +2,11 @@ import * as echarts from "echarts";
 export default {
   data() {
     return {
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > Date.now();
+        },
+        },
       loading:true,
       options: [],
 

+ 143 - 0
src/assets/js/normRanking/goodnessfitRank.js

@@ -0,0 +1,143 @@
+import * as echarts from "echarts";
+export default {
+  data() {
+    return {
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > Date.now();
+        },
+        },
+      FClist: {
+        name: "",
+        id: "",
+      },
+      loading:true,
+      tableData: [],
+      dialogTableVisible: false,
+      beginDate: "2021-01-01",
+      endDate: "2021-01-01",
+      fc: "MHS_FDC",
+      selectrowdate: {},
+      histogram_Date: [],
+      histogram_sers: [],
+      h_Date:[],
+    };
+  },
+  methods: {
+    /**
+     * 查询风场
+     */
+    query_fc() {
+       var newData = new Date();
+       this.beginDate = this.BASE.getBzDate(newData.getTime(),-1);
+       this.endDate = this.BASE.getBzDate(newData.getTime(),0);
+       this.API.get("powercompare/windfarmAjax?").then((res) => {
+       this.FClist = res.data;
+      }).catch(e=>e);
+    },
+    /**
+     * 获取数据
+     */
+    query_table() {
+      this.API
+        .get(
+          "leaderboard/fittingtoplist?wpIps=" +
+            this.fc +
+            "&pageNum=" +
+            1 +
+            "&pageSize=" +
+            10 +
+            "&orderByColumn=" +
+            "" +
+            "&isAsc=" +
+            "asc" +
+            "&beginDate=" +
+            this.beginDate +
+            "&endDate=" +
+            this.endDate
+        )
+        .then((res) => {
+          this.tableData = res.data;
+          this.loading=false;
+        }).catch(e=>e);;
+    },
+    headStyle() {
+      return "text-align:center";
+    },
+    /**
+     * 矩阵选中 获取行数据
+     */
+    changeFun(val) {
+      let wt = [];
+      this.histogram_Date = {};
+      this.histogram_sers = [];
+      for (let i = 0; i < Object.keys(val).length; i++) {
+        wt.push(val[i].windturbine);
+      }
+          this.API
+        .get(
+          "leaderboard/fittingtopchart?wtIds=" +
+            wt +
+            "&beginDate=" +
+            this.beginDate +
+            "&endDate=" +
+            this.endDate
+        )
+        .then((res) => {
+          this.histogram_Date = [];
+          this.h_Date = [];
+          this.h_Date = res.data;
+          this.histogram_sers = res.data.sers;
+        }).catch(e=>e);;
+      
+    },
+    // toExcel() {
+    //   let that = this;
+    //   excelHelper.exportExcel("tableData", "拟合优度排行榜", ".xls", true);
+    // },
+    /**
+     * 转换格式
+     */
+    filter_bdate(cellValue) {
+      let date = new Date(cellValue.beginDate);
+
+      return this.BASE.getBzDate(date,0);
+    },
+    filter_edate(cellValue) {
+      let date = new Date(cellValue.endDate);
+
+      return this.BASE.getBzDate(date,0);
+    },
+    filter_generatingCapacity(cellValue) {
+      return parseFloat(cellValue.power).toFixed(2);
+    },
+    filter_power(cellValue) {
+      return parseFloat(cellValue.power).toFixed(2);
+    },
+    /**
+     * 改变数据格式,调取曲线图
+     */
+    curveCreation() {
+      let that = this;
+      let design = [];
+      for (let j = 0; j < Object.keys(this.histogram_sers).length; j++) {
+        let name1 = that.histogram_sers[j];
+        design = that.h_Date[name1];
+        that.histogram_Date.push({
+          type: "line",
+          name: name1,
+          stack: "总量",
+          data: design,
+        });
+      }
+      this.dialogTableVisible = true;
+      this.$nextTick(function () {
+        this.ECZM.zzt_cdbqd('histogram' , this.histogram_sers , this.histogram_Date);
+      });
+    },
+  },
+  mounted() {
+    this.query_fc();
+    this.query_table();
+  },
+};

+ 132 - 0
src/assets/js/normRanking/grossgenerationRank.js

@@ -0,0 +1,132 @@
+import * as echarts from "echarts";
+export default {
+  data() {
+    return {
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > Date.now();
+        },
+        },
+      list:[],
+      FClist: [],
+      GFlist: [
+        
+      ],
+      loading:true,
+      QBlist: [
+       
+      ],
+      lxlist: [
+        {
+          name: "全部",
+          id: "qb",
+        },
+        {
+          name: "风场",
+          id: "fc",
+        },
+        {
+          name: "光伏",
+          id: "gf",
+        },
+      ],
+      tableData: [],
+      beginDate: "2021-01-01",
+      endDate: "2021-01-01",
+      lx: "qb",
+      fc: "",
+      selectrowdate: {},
+    };
+  },
+  methods: {
+    check_lx() {
+      this.fc = "";
+      if (this.lx == "fc") {
+        this.list={};
+        this.list = this.FClist;
+      } else if (this.lx == "gf") {
+        this.list = {};
+        this.list = this.GFlist;
+      } else if (this.lx == "qb") {
+        this.list = {};
+        this.list = this.QBlist;
+      }
+    },
+    query_fc() {
+       var newData = new Date();
+       this.beginDate = this.BASE.getBzDate(newData.getTime(),-1);
+       this.endDate = this.BASE.getBzDate(newData.getTime(),0);
+      let that = this;
+      let fjj="";
+      this.API.get("powercompare/windfarmAllAjax?").then((res) => {
+        this.QBlist = res.data;
+
+        for (let i = 0; i < Object.keys(this.QBlist).length; i++) {
+          fjj = "";
+          fjj = this.QBlist[i].id;
+          if (fjj.endsWith("FDC")) {
+            that.FClist.push(this.QBlist[i]);
+          } else {
+            that.GFlist.push(this.QBlist[i]);
+          }
+        }
+        this.list = this.QBlist;
+     });
+    },
+    query_table() {
+      this.loading=true;
+      this.tableData=[];
+      this.API
+        .get(
+          "leaderboard/totalPowerCapacityTopList?wpIps=" +
+            this.fc +
+            "&pageNum=" +
+            1 +
+            "&pageSize=" +
+            10 +
+            "&orderByColumn=" +
+            "" +
+            "&isAsc=" +
+            "asc" +
+            "&beginDate=" +
+            this.beginDate +
+            "&endDate=" +
+            this.endDate
+        )
+        .then((res) => {
+          this.tableData = res.data;
+          this.loading=false;
+        });
+    },
+    // toExcel() {
+    //   let that = this;
+    //   excelHelper.exportExcel("tableData", "总发电量排行", ".xls", true);
+    // },
+    headStyle() {
+      return "text-align:center";
+    },
+    changeFun(val) {
+      this.selectrowdate = val;
+    },
+    filter_bdate(cellValue) {
+      let date = new Date(cellValue.beginDate);
+
+      return this.BASE.getBzDate(date);
+    },
+    filter_edate(cellValue) {
+      let date = new Date(cellValue.endDate);
+
+      return this.BASE.getBzDate(date);
+    },
+    filter_power(cellValue) {
+      return parseFloat(cellValue.power).toFixed(2);
+    },
+    filter_speed(cellValue) {
+      return parseFloat(cellValue.speed).toFixed(2);
+    },
+  },
+  mounted() {
+    this.query_fc();
+    this.query_table();
+  },
+};

+ 119 - 0
src/assets/js/normRanking/percentageLossrRank.js

@@ -0,0 +1,119 @@
+export default {
+  data() {
+    return {
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > Date.now();
+        },
+        },
+      FClist: [
+      ],
+      pjlist: [
+      ],
+      lxlist: [
+      ],
+      fjlist: [
+      ],
+      fc1list: [
+      ],
+      lxlist: [
+        {
+          name: "风场",
+          id: "0",
+        },
+        {
+          name: "项目",
+          id: "1",
+        },
+        {
+          name: "线路",
+          id: "2",
+        },
+        {
+          name: "风机",
+          id: "3",
+        },
+      ],
+      tableData: [],
+      beginDate: "2021-01-01",
+      endDate: "2021-01-03",
+      lx: "0",
+      fc: "",
+      selectrowdate: {},
+    };
+  },
+  methods: {
+    query_gb(){
+      this.fc = "";
+      if (this.lx == "0") {
+        this.FClist={};
+        this.FClist = this.fc1list;
+      } else if (this.lx == "1") {
+        this.FClist = {};
+        this.FClist = this.pjlist;
+      } else if (this.lx == "2") {
+        this.FClist = {};
+        this.FClist = this.xllist;
+      }else if (this.lx == "3") {
+        this.FClist = {};
+        this.FClist = this.fjlist;
+      }
+    },
+    query_fc() {
+      this.API.get("powercompare/windfarmAjax?").then((res) => {
+        this.fc1list = res.data;
+        this.FClist = res.data;
+      });
+       this.API.get("powercompare/projectAllAjax?").then((res) => {
+        this.pjlist = res.data;
+      });
+       this.API.get("powercompare/lineAllAjax?").then((res) => {
+        this.xllist = res.data;
+      });
+       this.API.get("powercompare/windturbineAllAjax?").then((res) => {
+        this.fjlist = res.data;
+      });
+    },
+    query_table() {
+
+      this.API
+        .get(
+          "leaderboard/lossList?wpId=" +
+            this.fc +
+            "&pageNum=" +
+            1 +
+            "&pageSize=" +
+            10 +
+            "&orderByColumn=" +
+            "" +
+            "&isAsc=" +
+            "asc" +
+            "&beginDate=" +
+            this.beginDate +
+            "&endDate=" +
+            this.endDate +
+            "&type=" +
+            this.lx
+        )
+        .then((res) => {
+          this.tableData = res.data;
+        });
+    },
+    // toExcel() {
+    //   excelHelper.exportExcel("tableData", "损失率排行", ".xls", true);
+    // },
+    headStyle() {
+      return "text-align:center";
+    },
+    changeFun(val) {
+      this.selectrowdate = val;
+    },
+  },
+  mounted() {
+    var newData = new Date();
+    this.beginDate = this.BASE.getBzDate(newData.getTime(),-1);
+    this.endDate = this.BASE.getBzDate(newData.getTime(),0);
+    this.query_fc();
+    this.query_table();
+  },
+};

+ 5 - 0
src/assets/js/singlePerformanceAnalysis/individualHistoryinformation.js

@@ -2,6 +2,11 @@
 export default {
   data() {
     return {
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > Date.now();
+        },
+        },
         wpIdslist: {
         name:"",
         id:"",

+ 5 - 0
src/assets/js/singlePerformanceAnalysis/individualPandectinformation.js

@@ -2,6 +2,11 @@ import * as echarts from "echarts";
 export default {
   data() {
     return {
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > Date.now();
+        },
+        },
       tableData: [],
       date_1: "",
       currentPage2: 1,

+ 5 - 0
src/assets/js/singlePerformanceAnalysis/individualPandectinformationdetails.js

@@ -3,6 +3,11 @@ import * as echarts from "echarts";
 export default {
   data() {
     return {
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > Date.now();
+        },
+        },
       loading: true,
       activeName: "no_1",
       b: [],

+ 5 - 0
src/assets/js/singlePerformanceAnalysis/powerChart.js

@@ -2,6 +2,11 @@ import * as echarts from "echarts";
 export default {
   data() {
     return {
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > Date.now();
+        },
+        },
       wpIdslist: {
         name: "",
         id: "",

+ 5 - 0
src/assets/js/singlePerformanceAnalysis/powerandWindspeedChart.js

@@ -3,6 +3,11 @@ import * as echarts from "echarts";
 export default {
   data() {
     return {
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() > Date.now();
+        },
+        },
       wpIdslist: {
         name: "",
         id: "",

+ 12 - 12
src/router/zm.js

@@ -67,16 +67,16 @@ export default [
     path:'/powerChart',
     component: r => require.ensure([], () => r(require('@views/singlePerformanceAnalysis/powerChart')), 'benchmarkingSys')
   },
-  // { // 拟合优度排行
-  //   path:'/goodnessfitRank',
-  //   component: r => require.ensure([], () => r(require('@views/normRanking/goodnessfitRank')), 'benchmarkingSys')
-  // },
-  // { // 总发电量排行
-  //   path:'/grossgenerationRank',
-  //   component: r => require.ensure([], () => r(require('@views/normRanking/grossgenerationRank')), 'benchmarkingSys')
-  // },
-  // { // 损失率排行
-  //   path:'/percentageLossrRank',
-  //   component: r => require.ensure([], () => r(require('@views/normRanking/percentageLossrRank')), 'benchmarkingSys')
-  // }
+  { // 拟合优度排行
+    path:'/goodnessfitRank',
+    component: r => require.ensure([], () => r(require('@views/normRanking/goodnessfitRank')), 'benchmarkingSys')
+  },
+  { // 总发电量排行
+    path:'/grossgenerationRank',
+    component: r => require.ensure([], () => r(require('@views/normRanking/grossgenerationRank')), 'benchmarkingSys')
+  },
+  { // 损失率排行
+    path:'/percentageLossrRank',
+    component: r => require.ensure([], () => r(require('@views/normRanking/percentageLossrRank')), 'benchmarkingSys')
+  }
 ]

+ 8 - 3
src/tools/echartsToolzm.js

@@ -121,7 +121,12 @@ export function leida_tc(id , value1 , name1 , value2 , name2) {
     message.error("没有找到报表数据,请检查!");
     return;
   }
-  var myChart = EC.init(document.getElementById(id));
+  var myChart;
+  if( document.getElementById(id)!= null){
+    myChart = EC.init(document.getElementById(id));
+    
+  }
+  
   var option;
 
       option = {
@@ -186,8 +191,8 @@ export function leida_tc(id , value1 , name1 , value2 , name2) {
           },
         ],
       };
-      
-  myChart.setOption(option, true);
+      myChart.setOption(option, true);
+  
 }
 /**
  * 

+ 1 - 0
src/views/benchmarkingSys/innationBenchmarkParticulars.vue

@@ -33,6 +33,7 @@
                 range-separator="至"
                 start-placeholder="开始日期"
                 end-placeholder="结束日期"
+                :picker-options="pickerOptions">
               >
               </el-date-picker>
             </el-form-item>

+ 28 - 23
src/views/benchmarkingSys/internationalBenchmark.vue

@@ -16,13 +16,14 @@
           </el-form-item>
 
           <el-form-item label="选择时间:">
-            <el-date-picker
+            <el-date-picker 
               v-model="timedate"
               value-format="yyyy-MM-dd"
               type="daterange"
               range-separator="至"
               start-placeholder="开始日期"
               end-placeholder="结束日期"
+              :picker-options="pickerOptions">
             >
             </el-date-picker>
           </el-form-item>
@@ -231,7 +232,6 @@
       </el-table>
 
       <el-dialog
-        class="el-dialog_body"
         width="60%"
         title="对标信息分析"
         :visible.sync="dialogTableVisible"
@@ -239,27 +239,32 @@
         append-to-body
       >
         <div class="margin">
-          <div class="dialogLeftData">
-            <div id="leiDaTu" class="echart"></div>
-            <div id="leiDaTu2" class="echart"></div>
-          </div>
-          <div class="dialogRightData">
-            <el-table
-              :data="getTableData"
-              height="618"
-              :row-style="{ height: '10px' }"
-              border
-              :header-cell-style="headStyle"
-              :cell-style="{ textAlign: 'center', padding: '7px' }"
-              style="width: 100%; font-size: 10px"
-            >
-              <el-table-column prop="index" label="指标"> </el-table-column>
-              <el-table-column prop="data1" :label="fdcName1">
-              </el-table-column>
-              <el-table-column prop="data2" :label="fdcName2">
-              </el-table-column>
-            </el-table>
-          </div>
+
+          <el-row>
+                  <el-col :span="12">
+								
+                  <el-row>
+									<div id="leiDaTu" class="echart" style="width: 100%; height: 280px"></div></el-row>
+                  <el-row>
+                  <div id="leiDaTu2" class="echart" style="width: 100%; height: 280px"></div></el-row>
+								
+                </el-col>
+                <el-col :span="12">
+								
+									<el-table :data="getTableData" height="618"
+									:row-style="{ height: '10px' }"
+									border :header-cell-style="headStyle" :cell-style="{ textAlign: 'center',padding:'7px' }" 
+									 style="width: 100%;font-size: 10px;">
+											<el-table-column prop="index" label="指标">
+											</el-table-column>
+											<el-table-column prop="data1" :label=fdcName1>
+											</el-table-column>
+											<el-table-column prop="data2" :label=fdcName2>
+											</el-table-column>
+									</el-table>
+								
+                </el-col>
+                </el-row>
         </div>
       </el-dialog>
       <!-- <div style="text-align: center;">

+ 2 - 0
src/views/benchmarkingSys/newPerformanceList.vue

@@ -58,6 +58,7 @@
                 value-format="yyyy-MM-dd"
                 type="date"
                 placeholder="选择日期"
+                :picker-options="pickerOptions">
               >
               </el-date-picker>
             </el-form-item>
@@ -68,6 +69,7 @@
                 value-format="yyyy-MM-dd"
                 type="date"
                 placeholder="选择日期"
+                :picker-options="pickerOptions">
               >
               </el-date-picker>
             </el-form-item>

+ 2 - 0
src/views/benchmarkingSys/performanceList.vue

@@ -46,6 +46,7 @@
                 value-format="yyyy-MM-dd"
                 type="date"
                 placeholder="选择日期"
+                :picker-options="pickerOptions">
               >
               </el-date-picker>
             </el-form-item>
@@ -56,6 +57,7 @@
                 value-format="yyyy-MM-dd"
                 type="date"
                 placeholder="选择日期"
+                :picker-options="pickerOptions">
               >
               </el-date-picker>
             </el-form-item>

+ 3 - 2
src/views/benchmarkingSys/projectBenchmark.vue

@@ -35,6 +35,7 @@
               range-separator="至"
               start-placeholder="开始日期"
               end-placeholder="结束日期"
+              :picker-options="pickerOptions">
             >
             </el-date-picker>
           </el-form-item>
@@ -258,9 +259,9 @@
             <el-col :span="12">
           
             <el-row>
-            <div id="leiDaTu" class="echart" style="width: 100%; height: 300px"></div></el-row>
+            <div id="leiDaTu" class="echart" style="width: 100%; height: 280px"></div></el-row>
             <el-row>
-            <div id="leiDaTu2" class="echart" style="width: 100%; height: 300px"></div></el-row>
+            <div id="leiDaTu2" class="echart" style="width: 100%; height: 280px"></div></el-row>
           
           </el-col>
           <el-col :span="12">

+ 15 - 21
src/views/benchmarkingSys/projectBenchmarkParticulars.vue

@@ -90,6 +90,7 @@
               range-separator="至"
               start-placeholder="开始日期"
               end-placeholder="结束日期"
+              :picker-options="pickerOptions">
             >
             </el-date-picker>
           </el-form-item>
@@ -565,34 +566,27 @@
         </el-table>
       </el-card>
       <el-dialog
-        class="el-dialog_body"
-        width="60%"
+        width="65%"
         title="对标信息分析"
         :visible.sync="dialogTableVisible"
         :modal-append-to-body="false"
         append-to-body
       >
-        <div class="margin">
-          <div class="dialogLeftData">
-            <div id="leiDaTu3" class="echart"></div>
-            <div id="leiDaTu4" class="echart"></div>
-          </div>
-          <div class="dialogRightData">
-            <el-table
-              :data="getTableData"
-              height="618"
-              :row-style="{ height: '10px' }"
-              border
-              :header-cell-style="headStyle"
-              :cell-style="{ textAlign: 'center', padding: '7px' }"
-              style="width: 100%; font-size: 10px"
-            >
+       <el-row>
+          <el-col :span="12">
+            <div id="leiDaTu3" style="width: 600px; height: 300px"></div>
+            <div id="leiDaTu4" style="width: 600px; height: 300px"></div>
+          </el-col>
+          <el-col :span="12">
+            <el-table :data="getTableData">
               <el-table-column prop="index" label="指标"> </el-table-column>
-              <el-table-column prop="data1" :label="pjName1"> </el-table-column>
-              <el-table-column prop="data2" :label="pjName2"> </el-table-column>
+              <el-table-column prop="data1" :label="pjName1">
+              </el-table-column>
+              <el-table-column prop="data2" :label="pjName2">
+              </el-table-column>
             </el-table>
-          </div>
-        </div>
+          </el-col>
+        </el-row>
       </el-dialog>
     </div>
   </div>

+ 11 - 20
src/views/benchmarkingSys/propertBenchmark.vue

@@ -55,6 +55,7 @@
               range-separator="至"
               start-placeholder="开始日期"
               end-placeholder="结束日期"
+              :picker-options="pickerOptions">
             >
             </el-date-picker>
           </el-form-item>
@@ -342,36 +343,26 @@
         </el-table-column>
       </el-table>
       <el-dialog
-        class="el-dialog_body"
-        width="60%"
+        width="65%"
         title="对标信息分析"
         :visible.sync="dialogTableVisible"
         :modal-append-to-body="false"
-        append-to-body
       >
-        <div class="margin">
-          <div class="dialogLeftData">
-            <div id="leiDaTu" class="echart"></div>
-            <div id="leiDaTu2" class="echart"></div>
-          </div>
-          <div class="dialogRightData">
-            <el-table
-              :data="getTableData"
-              height="618"
-              :row-style="{ height: '10px' }"
-              border
-              :header-cell-style="headStyle"
-              :cell-style="{ textAlign: 'center', padding: '7px' }"
-              style="width: 100%; font-size: 10px"
-            >
+        <el-row>
+          <el-col :span="12">
+            <div id="leiDatu6" style="width: 600px; height: 350px"></div>
+            <div id="leiDaTu8" style="width: 600px; height: 350px"></div>
+          </el-col>
+          <el-col :span="12">
+            <el-table :data="getTableData">
               <el-table-column prop="index" label="指标"> </el-table-column>
               <el-table-column prop="data1" :label="fdcName1">
               </el-table-column>
               <el-table-column prop="data2" :label="fdcName2">
               </el-table-column>
             </el-table>
-          </div>
-        </div>
+          </el-col>
+        </el-row>
       </el-dialog>
       <!-- <div style="text-align: center;">
 					<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="currentPage2"

+ 1 - 0
src/views/benchmarkingSys/propertBenchmarkParticulars.vue

@@ -80,6 +80,7 @@
               range-separator="至"
               start-placeholder="开始日期"
               end-placeholder="结束日期"
+              :picker-options="pickerOptions">
             >
             </el-date-picker>
           </el-form-item>

+ 3 - 0
src/views/benchmarkingSys/singleTransverseBenchmark.vue

@@ -53,6 +53,7 @@
                     value-format="yyyy-MM-dd"
                     type="date"
                     placeholder="选择日期"
+                    :picker-options="pickerOptions">
                   >
                   </el-date-picker>
                 </el-form-item>
@@ -207,6 +208,7 @@
                     value-format="yyyy-MM-dd"
                     type="date"
                     placeholder="选择日期"
+                    :picker-options="pickerOptions">
                   >
                   </el-date-picker>
                 </el-form-item>
@@ -361,6 +363,7 @@
                     value-format="yyyy-MM-dd"
                     type="date"
                     placeholder="选择日期"
+                    :picker-options="pickerOptions">
                   >
                   </el-date-picker>
                 </el-form-item>

+ 2 - 0
src/views/benchmarkingSys/yardBenchmark.vue

@@ -27,6 +27,7 @@
                 type="date"
                 value-format="yyyy-MM-dd"
                 placeholder="选择日期"
+                :picker-options="pickerOptions">
               >
               </el-date-picker>
             </el-form-item>
@@ -37,6 +38,7 @@
                 v-model="endDate"
                 type="date"
                 placeholder="选择日期"
+                :picker-options="pickerOptions">
               >
               </el-date-picker>
             </el-form-item>

+ 1 - 0
src/views/benchmarkingSys/yardBenchmarkParticulars.vue

@@ -27,6 +27,7 @@
               range-separator="至"
               start-placeholder="开始日期"
               end-placeholder="结束日期"
+              :picker-options="pickerOptions">
             >
             </el-date-picker>
           </el-form-item>

+ 151 - 0
src/views/normRanking/goodnessfitRank.vue

@@ -0,0 +1,151 @@
+<template>
+  <el-container>
+    <el-header>
+      <el-card style="margin-top: -10px">
+        <el-row :gutter="1">
+          <el-form :inline="true" class="demo-form-inline">
+            <el-form-item label="风场">
+              <el-select v-model="fc" clearable placeholder="请选择">
+                <el-option
+                  v-for="item in FClist"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+
+            <el-form-item label="开始时间">
+              <el-date-picker
+                v-model="beginDate"
+                type="date"
+                value-format="yyyy-MM-dd"
+                placeholder="选择日期"
+                :picker-options="pickerOptions">
+              >
+              </el-date-picker>
+            </el-form-item>
+
+            <el-form-item label="结束时间">
+              <el-date-picker
+                v-model="endDate"
+                type="date"
+                value-format="yyyy-MM-dd"
+                placeholder="选择日期"
+                :picker-options="pickerOptions">
+              >
+              </el-date-picker>
+            </el-form-item>
+
+            <el-form-item>
+              <el-button type="primary" @click="query_table" :plain="true"
+                >查询</el-button
+              >
+            </el-form-item>
+
+            <el-form-item>
+              <el-button type="primary" :plain="true">导出</el-button>
+            </el-form-item>
+
+            <el-form-item>
+              <el-button type="primary" @click="curveCreation" :plain="true"
+                >生成曲线</el-button
+              >
+            </el-form-item>
+          </el-form>
+        </el-row>
+      </el-card>
+    </el-header>
+
+    <el-main>
+      <el-card style=" height: 759px">
+        <el-table
+          v-loading="loading"
+          :data="tableData"
+          id="tableData"
+          style="width: 100%"
+          :cell-style="{ textAlign: 'center' }"
+          :header-cell-style="headStyle"
+          max-height="739px"
+          @selection-change="changeFun"
+        >
+          >
+          <el-table-column label="拟合优度排行榜">
+            <el-table-column type="index" width="80"> </el-table-column>
+            <el-table-column
+              type="selection"
+              class="selection"
+              @selection-change="changeFun"
+              width="60"
+            >
+            </el-table-column>
+            <el-table-column sortable prop="windfarm" label="风场" width="300">
+            </el-table-column>
+            <el-table-column
+              sortable
+              prop="windturbine"
+              label="风机"
+              width="300"
+            >
+            </el-table-column>
+            <el-table-column
+              sortable
+              prop="beginDate"
+              :formatter="filter_bdate"
+              value-format="yyyy-MM-dd"
+              label="起始时间"
+              width="300"
+            >
+            </el-table-column>
+            <el-table-column
+              sortable
+              prop="engDate"
+              :formatter="filter_edate"
+              value-format="yyyy-MM-dd"
+              label="截至日期"
+              width="220"
+            >
+            </el-table-column>
+            <el-table-column
+              :formatter="filter_power"
+              sortable
+              prop="speed"
+              label="平均风速"
+              width="295"
+            >
+            </el-table-column>
+            <el-table-column
+              sortable
+              prop="power"
+              :formatter="filter_generatingCapacity"
+              label="拟合优度"
+              width="295"
+            >
+            </el-table-column>
+          </el-table-column>
+        </el-table>
+      </el-card>
+      <el-dialog
+        title="对标信息分析"
+        :visible.sync="dialogTableVisible"
+        :modal-append-to-body="false"
+        width="65%"
+      >
+        <el-row>
+          <div id="histogram" style="width: 100%; height: 500px"></div>
+        </el-row>
+      </el-dialog>
+    </el-main>
+  </el-container>
+</template>
+
+
+<script>
+  import goodnessfitRank from "@assets/js/normRanking/goodnessfitRank";
+  export default goodnessfitRank;
+</script>
+
+<style lang="scss" scoped>
+ @import "@assets/css/normRanking/goodnessfitRank.scss";
+</style>

+ 153 - 0
src/views/normRanking/grossgenerationRank.vue

@@ -0,0 +1,153 @@
+<template>
+  <el-container>
+    <el-header>
+      <el-card style="margin-top: -10px">
+        <el-row :gutter="1">
+          <el-form :inline="true" class="demo-form-inline">
+            <el-form-item label="类型">
+              <el-select
+                v-model="lx"
+                @change="check_lx"
+                clearable
+                placeholder="请选择"
+              >
+                <el-option
+                  v-for="item in lxlist"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+
+            <el-form-item label="风场">
+              <el-select v-model="fc" clearable placeholder="请选择">
+                <el-option
+                  v-for="item in list"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+
+            <el-form-item label="开始时间">
+              <el-date-picker
+                v-model="beginDate"
+                value-format="yyyy-MM-dd"
+                type="date"
+                placeholder="选择日期"
+                :picker-options="pickerOptions">
+              >
+              </el-date-picker>
+            </el-form-item>
+
+            <el-form-item label="结束时间">
+              <el-date-picker
+                v-model="endDate"
+                value-format="yyyy-MM-dd"
+                type="date"
+                placeholder="选择日期"
+                :picker-options="pickerOptions">
+              >
+              </el-date-picker>
+            </el-form-item>
+
+            <el-form-item>
+              <el-button type="primary" @click="query_table" :plain="true"
+                >查询</el-button
+              >
+            </el-form-item>
+
+            <el-form-item>
+              <el-button type="primary" :plain="true"
+                >导出</el-button
+              >
+            </el-form-item>
+          </el-form>
+        </el-row>
+      </el-card>
+    </el-header>
+
+    <el-main>
+      <el-card style=" height: 759px">
+        <el-table
+          v-loading="loading"
+          id="tableData"
+          :data="tableData"
+          style="width: 100%"
+          :cell-style="{ textAlign: 'center' }"
+          :header-cell-style="headStyle"
+          max-height="739px"
+          @selection-change="changeFun"
+        >
+          >
+          <el-table-column label="总发电量排行榜">
+            <el-table-column type="index" width="80"> </el-table-column>
+            <el-table-column
+              type="selection"
+              class="selection"
+              @selection-change="changeFun"
+              width="60"
+            >
+            </el-table-column>
+            <el-table-column sortable prop="windfarm" label="风场" width="310">
+            </el-table-column>
+            <el-table-column
+              sortable
+              prop="windturbine"
+              label="风机"
+              width="310"
+            >
+            </el-table-column>
+            <el-table-column
+              sortable
+              prop="beginDate"
+              :formatter="filter_bdate"
+              value-format="yyyy-MM-dd"
+              label="起始时间"
+              width="310"
+            >
+            </el-table-column>
+            <el-table-column
+              sortable
+              prop="endDate"
+              :formatter="filter_edate"
+              value-format="yyyy-MM-dd"
+              label="截至日期"
+              width="210"
+            >
+            </el-table-column>
+            <el-table-column
+              sortable
+              prop="speed"
+              :formatter="filter_speed"
+              label="平均风速"
+              width="290"
+            >
+            </el-table-column>
+            <el-table-column
+              sortable
+              prop="power"
+              :formatter="filter_power"
+              label="发电量"
+              width="280"
+            >
+            </el-table-column>
+          </el-table-column>
+        </el-table>
+      </el-card>
+    </el-main>
+  </el-container>
+</template>
+
+<script>
+  import grossgenerationRank from "@assets/js/normRanking/grossgenerationRank";
+  export default grossgenerationRank;
+</script>
+
+<style lang="scss" scoped>
+ @import "@assets/css/normRanking/grossgenerationRank.scss";
+</style>

+ 137 - 0
src/views/normRanking/percentageLossrRank.vue

@@ -0,0 +1,137 @@
+<template>
+  <el-container>
+    <el-header>
+      <el-card style="margin-top: -10px">
+        <el-row :gutter="1">
+          <el-form :inline="true" class="demo-form-inline">
+            <el-form-item label="类型">
+              <el-select
+                v-model="lx"
+                @change="query_gb"
+                clearable
+                placeholder="请选择"
+              >
+                <el-option
+                  v-for="item in lxlist"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+
+            <el-form-item label="风场">
+              <el-select
+                v-model="fc"
+                clearable
+                placeholder="请选择"
+                @change="query_table"
+              >
+                <el-option
+                  v-for="item in FClist"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.id"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+
+            <el-form-item label="开始时间">
+              <el-date-picker
+                v-model="beginDate"
+                value-format="yyyy-MM-dd"
+                type="date"
+                placeholder="选择日期"
+                :picker-options="pickerOptions">
+              >
+              </el-date-picker>
+            </el-form-item>
+
+            <el-form-item label="结束时间">
+              <el-date-picker
+                v-model="endDate"
+                value-format="yyyy-MM-dd"
+                type="date"
+                placeholder="选择日期"
+                :picker-options="pickerOptions">
+              >
+              </el-date-picker>
+            </el-form-item>
+
+            <el-form-item>
+              <el-button type="primary" @click="query_table" :plain="true"
+                >查询</el-button
+              >
+            </el-form-item>
+
+            <el-form-item>
+              <el-button type="primary" :plain="true">导出</el-button>
+            </el-form-item>
+          </el-form>
+        </el-row>
+      </el-card>
+    </el-header>
+
+    <el-main>
+      <el-card style="height: 759px">
+        <el-table
+          :data="tableData"
+          id="tableData"
+          style="width: 100%"
+          :cell-style="{ textAlign: 'center' }"
+          :header-cell-style="headStyle"
+          max-height="739px"
+          @selection-change="changeFun"
+        >
+          >
+          <el-table-column label="损失率排行榜">
+            <el-table-column type="index" width="80"> </el-table-column>
+            <el-table-column
+              type="selection"
+              class="selection"
+              @selection-change="changeFun"
+              width="130"
+            >
+            </el-table-column>
+            <el-table-column sortable prop="windturbineid" label="名称" width="330">
+            </el-table-column>
+            <el-table-column
+              sortable
+              prop="daynhgzssdl2"
+              label="非计划检修损失率(%)"
+              width="330"
+            >
+            </el-table-column>
+            <el-table-column
+              sortable
+              prop="daynhwhssdl2"
+              label="计划检修损失率(%)"
+              width="330"
+            >
+            </el-table-column>
+            <el-table-column sortable prop="daynhxdssdl2" label="弃风率(%)" width="330">
+            </el-table-column>
+            <el-table-column
+              sortable
+              prop="dayspeed"
+              label="受累损失率(%)"
+              width="339"
+            >
+            </el-table-column>
+          </el-table-column>
+        </el-table>
+      </el-card>
+    </el-main>
+  </el-container>
+</template>
+
+<script>
+  import percentageLossrRank from "@assets/js/normRanking/percentageLossrRank";
+  export default percentageLossrRank;
+</script>
+
+<style lang="scss" scoped>
+ @import "@assets/css/normRanking/percentageLossrRank.scss";
+</style>

+ 2 - 0
src/views/singlePerformanceAnalysis/individualHistoryinformation.vue

@@ -20,6 +20,7 @@
                 value-format="yyyy-MM-dd"
                 type="date"
                 placeholder="日期"
+                :picker-options="pickerOptions">
               >
               </el-date-picker>
             </el-form-item>
@@ -30,6 +31,7 @@
                 value-format="yyyy-MM-dd"
                 type="date"
                 placeholder="选择日期"
+                :picker-options="pickerOptions">
               >
               </el-date-picker>
             </el-form-item>

+ 1 - 0
src/views/singlePerformanceAnalysis/individualPandectinformation.vue

@@ -21,6 +21,7 @@
                 value-format="yyyy-MM-dd"
                 type="date"
                 placeholder="选择日期"
+                :picker-options="pickerOptions">
               >
               </el-date-picker>
             </el-form-item>

+ 3 - 1
src/views/singlePerformanceAnalysis/individualPandectinformationdetails.vue

@@ -39,6 +39,7 @@
                 value-format="yyyy-MM-dd"
                 type="date"
                 placeholder="选择日期"
+                :picker-options="pickerOptions">
               >
               </el-date-picker>
             </el-form-item>
@@ -250,6 +251,7 @@
               value-format="yyyy-MM-dd"
               type="date"
               placeholder="选择日期"
+              :picker-options="pickerOptions">
             >
             </el-date-picker>
           </el-form-item>
@@ -942,7 +944,7 @@
           </el-col> </el-row
       ></el-tab-pane>
     </el-tabs>
-    <el-dialog title="点击信息详情" :visible.sync="dialogVisible" width="39%">
+    <el-dialog title="点击信息详情" :modal-append-to-body="false" :visible.sync="dialogVisible" width="39%">
       <el-table :data="biaogeDate" border style="width: 100%">
         <el-table-column prop="ks" label="开始时间" width="160">
         </el-table-column>

+ 2 - 0
src/views/singlePerformanceAnalysis/powerChart.vue

@@ -37,6 +37,7 @@
                 type="year"
                 value-format="yyyy"
                 placeholder="选择年"
+                :picker-options="pickerOptions">
               >
               </el-date-picker>
             </el-form-item>
@@ -46,6 +47,7 @@
                 type="month"
                 value-format="M"
                 placeholder="选择月"
+                :picker-options="pickerOptions">
               >
               </el-date-picker>
             </el-form-item>

+ 2 - 0
src/views/singlePerformanceAnalysis/powerandWindspeedChart.vue

@@ -41,6 +41,7 @@
             type="year"
             value-format="yyyy"
             placeholder="选择年"
+            :picker-options="pickerOptions">
           >
           </el-date-picker>
         </el-form-item>
@@ -50,6 +51,7 @@
             type="month"
             value-format="M"
             placeholder="选择月"
+            :picker-options="pickerOptions">
           >
           </el-date-picker>
         </el-form-item>