Browse Source

4-22 项目对标

zhaomiao 4 years ago
parent
commit
ed146d8907

+ 44 - 0
src/assets/css/benchmarkingSys/propertBenchmark.scss

@@ -0,0 +1,44 @@
+.box {
+    width: 100%;
+    display: flex;
+    justify-content: space-around;
+    align-items: center;
+    overflow: hidden;
+  }
+  .searchBar {
+    margin-top: 1%;
+  }
+  .pieChart {
+    margin-top: 2%;
+  }
+  .histogramChart {
+    margin-bottom: 10%;
+  }
+  #leiDaTu {
+    margin-left: 5%;
+    height: 300px;
+    width: 100%;
+    float: left;
+  }
+  #leiDaTu2 {
+    margin: 15%;
+    height: 300px;
+    width: 450px;
+    float: left;
+  }
+  .margin {
+    width: 100%;
+    height: 618px;
+  }
+  .dialogLeftData {
+    width: 50%;
+    height: 650px;
+    text-align: center;
+    float: left;
+  }
+  .dialogRightData {
+    width: 50%;
+    height: 650px;
+    text-align: center;
+    float: left;
+  }

+ 37 - 0
src/assets/css/benchmarkingSys/propertBenchmarkParticulars.scss

@@ -0,0 +1,37 @@
+.box {
+    width: 100%;
+    justify-content: space-around;
+    align-items: center;
+    overflow: hidden;
+  }
+  .searchBar {
+    margin-top: 1%;
+  }
+  #leiDaTu3 {
+    margin-left: 5%;
+    height: 300px;
+    width: 100%;
+    float: left;
+  }
+  #leiDaTu4 {
+    margin: 15%;
+    height: 300px;
+    width: 450px;
+    float: left;
+  }
+  .margin {
+    width: 100%;
+    height: 618px;
+  }
+  .dialogLeftData {
+    width: 50%;
+    height: 650px;
+    text-align: center;
+    float: left;
+  }
+  .dialogRightData {
+    width: 50%;
+    height: 650px;
+    text-align: center;
+    float: left;
+  }

+ 0 - 0
src/assets/css/benchmarkingSys/singleTransverseBenchmark.scss


+ 32 - 1
src/assets/js/benchmarkingSys/newPerformanceList.js

@@ -66,24 +66,36 @@ export default {
   methods: {
     onSubmit() {
     },
+    /**
+     * 查询项目,线路,风场
+     */
     query_wpid() {
       this.API.get("powercompare/windfarmAjax?").then((res) => {
         this.wpIdslist = res.data;
-      });
+      }).catch(error =>{
+        this.$message.error('获取数据失败');
+      });;
     },
     query_xml(){
       this.pj = "";
       this.xl = "";
       this.API.get("powercompare/projectAjax?wpIds=" + this.fc).then((res) => {
         this.projectlist = res.data;
+      }).catch(error =>{
+        this.$message.error('获取数据失败');
       });
     },
     query_xl(){
       this.xl = "";
       this.API.get("powercompare/lineAjax?pjIds=" + this.pj).then((res) => {
         this.linelist = res.data;
+      }).catch(error =>{
+        this.$message.error('获取数据失败');
       });
     },
+    /**
+     * 数据格式转换
+     */
     filter_llfdl(cellValue){
              return parseFloat(cellValue.llfdl).toFixed(2);
     },
@@ -132,6 +144,9 @@ export default {
     filter_fnlyl(cellValue){
              return parseFloat(cellValue.fnlyl).toFixed(2);
     },
+    /**
+     * 当前卡片状态
+     */
     handleClick(tab) {
       if (tab.name === "first") {
         this.tableid = "fc";
@@ -147,6 +162,9 @@ export default {
     deleteRow(index, rows) {
       rows.splice(index, 1);
     },
+    /**
+     * 数据格式转换
+     */
     resetdata(){
       Object.assign(
         this.$data.powerAjaxDetailAll,
@@ -164,6 +182,9 @@ export default {
       Object.assign(this.$data.styleObject_xl, this.$options.data().styleObject_xl);
       Object.assign(this.$data.queryAll_table_lyl, this.$options.data().queryAll_table_lyl);
     },
+    /**
+     * 查询风场、项目、线路列表数据结果
+     */
     query() {
       this.resetdata();
       this.styleObject_fc.height = '460px';
@@ -214,6 +235,8 @@ export default {
             this.autoHeight = 1200;
             that.drawhistogram_xl(this.powerAjaxDetailAll,queryAll_table_lyl);
           }
+        }).catch(error =>{
+          this.$message.error('获取数据失败');
         });
       //表格数据获取
       this.API
@@ -235,8 +258,14 @@ export default {
           } else if (this.tableid === "xl") {
             that.xl_date = queryAll_table;
           }
+        }).catch(error =>{
+          this.$message.error('获取数据失败');
         });
     },
+    /**
+     * 
+     *查询风场、项目、线路列表数据结果*
+     */
      queryPowerAll() {
       this.judge = false;
       this.autoHeight = 600;
@@ -322,6 +351,8 @@ export default {
             this.tableHeight_fc = this.autoHeight_fc-20;
             this.tableHeight_pj = this.autoHeight_pj-20;
             this.tableHeight_xl = this.autoHeight_xl-20;
+          }).catch(error =>{
+            this.$message.error('获取数据失败');
           });
       }
     },

+ 40 - 30
src/assets/js/benchmarkingSys/performanceList.js

@@ -62,28 +62,46 @@ export default {
       
       },
     onSubmit() {},
+    /**
+     * 获取风场
+     */
     query_wpid() {
        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.wpIdslist = res.data;
+      }).catch(error =>{
+        this.$message.error('获取数据失败');
       });
     },
+    /**
+     * 获取项目
+     */
     query_xml(){
       this.pj = "";
       this.xl = "";
       this.API.get("powercompare/projectAjax?wpIds=" + this.fc).then((res) => {
         this.projectlist = res.data;
         
+      }).catch(error =>{
+        this.$message.error('获取数据失败');
       });
     },
+    /**
+     * 获取线路
+     */
     query_xl(){
       this.xl = "";
       this.API.get("powercompare/lineAjax?pjIds=" + this.pj).then((res) => {
         this.linelist = res.data;
+      }).catch(error =>{
+        this.$message.error('获取数据失败');
       });
     },
+    /**
+     * 获取当前卡片状态
+     */
     handleClick(tab) {
       Object.assign(this.$data.autoHeight_fc, this.$options.data().autoHeight_fc);
       Object.assign(this.$data.styleObject_fc, this.$options.data().styleObject_fc);
@@ -106,6 +124,9 @@ export default {
     deleteRow(index, rows) {
       rows.splice(index, 1);
     },
+    /**
+     * 查询风场、项目、线路列表数据结果
+     */
     query() {
       Object.assign(this.$data.autoHeight_fc, this.$options.data().autoHeight_fc);
       Object.assign(this.$data.styleObject_fc, this.$options.data().styleObject_fc);
@@ -177,8 +198,14 @@ export default {
             that.xl_date = queryAll_table;
             that.drawhistogram_xl(this.linechar_data,queryAll_table_lyl);
           }
+        }).catch(error =>{
+          this.$message.error('获取数据失败');
         });
     },
+    /**
+     * 
+     * 询风场、项目、线路列表数据结果
+     */
     queryPowerAll() {
       Object.assign(this.$data.autoHeight_fc, this.$options.data().autoHeight_fc);
       Object.assign(this.$data.styleObject_fc, this.$options.data().styleObject_fc);
@@ -205,36 +232,6 @@ export default {
       ) {
         that.query();
       } else {
-        // this.$http
-        //   .get(
-        //     "powercompare/queryPower?wpIds=" +
-        //       this.fc +
-        //       "&pjIds=" +
-        //       this.pj +
-        //       "&lineIds=" +
-        //       this.xl +
-        //       "&beginDate=" +
-        //       this.beginDate +
-        //       "&endDate=" +
-        //       this.endDate
-        //   )
-          // .then((res) => {
-          //   let that = this;
-            // let queryAll = res.data.data;
-            // this.len = Object.keys(queryAll.names).length;
-            // if(this.len <= 10){that.autoHeight_fc = 575; that.styleObject_fc.height = '700px' }
-            // else if(this.len > 10 && this.len <=20){that.autoHeight_fc = 775; that.styleObject_fc.height = '800px';that.autoHeight_pj = 775; that.styleObject_pj.height = '800px';that.autoHeight_xl = 775; that.styleObject_xl.height = '800px' }
-            // else if(this.len > 20 && this.len <=30){that.autoHeight_fc = 975; that.styleObject_fc.height = '1000px';that.autoHeight_pj = 975; that.styleObject_pj.height = '1000px';that.autoHeight_xl = 975; that.styleObject_xl.height = '1000px' }
-            // else if(this.len > 30 && this.len <=40){that.autoHeight_fc = 1175; that.styleObject_fc.height = '1200px';that.autoHeight_pj = 1175; that.styleObject_pj.height = '1200px';that.autoHeight_xl = 1175; that.styleObject_xl.height = '1200px' }
-            // else if(this.len > 40 && this.len <=50){that.autoHeight_fc = 1375; that.styleObject_fc.height = '1400px';that.autoHeight_pj = 1375; that.styleObject_pj.height = '1400px';that.autoHeight_xl = 1375; that.styleObject_xl.height = '1400px' }
-            // else if(this.len > 50 && this.len <=60){that.autoHeight_fc = 1575; that.styleObject_fc.height = '1600px';that.autoHeight_pj = 1575; that.styleObject_pj.height = '1600px';that.autoHeight_xl = 1575; that.styleObject_xl.height = '1600px' }
-            // else if(this.len > 60 && this.len <=70){that.autoHeight_fc = 1775; that.styleObject_fc.height = '1800px';that.autoHeight_pj = 1775; that.styleObject_pj.height = '1800px';that.autoHeight_xl = 1775; that.styleObject_xl.height = '1800px' }
-            // else if(this.len > 70 && this.len <=80){that.autoHeight_fc = 1975; that.styleObject_fc.height = '2000px';that.autoHeight_pj = 1975; that.styleObject_pj.height = '2000px';that.autoHeight_xl = 1975; that.styleObject_xl.height = '2000px' }
-            // else{that.autoHeight_fc = 2175; that.styleObject_fc.height = '2200px';that.autoHeight_pj = 2175; that.styleObject_pj.height = '2200px';that.autoHeight_xl = 2175; that.styleObject_xl.height = '2200px' }
-            //  this.tableHeight_fc = this.autoHeight_fc - 20; 
-            //  this.tableHeight_pj = this.autoHeight_pj - 20; 
-            //  this.tableHeight_xl = this.autoHeight_xl - 20; 
-          //});
         this.API
           .get(
             "powercompare/powerAjax?wpIds=" +
@@ -305,9 +302,15 @@ export default {
             that.xl_date = queryAll_table;
             that.drawhistogram_xl(this.linechar_data,queryAll_table_lyl);
           }
+          }).catch(error =>{
+            this.$message.error('获取数据失败');
           });
       }
     },
+    /**
+     * 
+     * 查询检查
+     */
     checkwindfarm() {
       if (this.fc == "") {
         this.$message.error("请选择风场!");
@@ -330,6 +333,9 @@ export default {
         return;
       }
     },
+    /**
+     * 详情跳转
+     */
     queryApDataMx() {
       this.$router.push({ path: "/newPerformanceList" ,
       query: {
@@ -337,6 +343,10 @@ export default {
             endDate : this.endDate
           },});
     },
+
+    /**
+     * 格式转换
+     */
     filter_total(cellValue) {
       return parseFloat(cellValue.total).toFixed(2);
     },

+ 48 - 62
src/assets/js/benchmarkingSys/projectBenchmark.js

@@ -60,6 +60,8 @@ export default {
       value: "",
       pjId: [],
       pjName: [],
+      wtName:[],
+      wtId:[],
       orderByColumn: "",
       dialogTableVisible: false,
       lineDataOption: [],
@@ -78,17 +80,25 @@ export default {
     changeFun(val) {
       this.selectrowdate = val;
     },
+    /**
+     * 日期格式化
+     */
     filter_date(cellValue) {
       let date = new Date(cellValue.recordDate);
 
       return this.BASE.getBzDate(date,0);
     },
+    /**
+     * 查询项目
+     */
     query_xml(){
       this.pj = "";
       this.xl = "";
       this.API.get("powercompare/projectAjax?wpIds=" + this.fc).then((res) => {
         this.projectlist = res.data;
         
+      }).catch(error =>{
+        this.$message.error('获取数据失败');
       });
     },
     headStyle() {
@@ -100,6 +110,9 @@ export default {
     deleteRow(index, rows) {
       rows.splice(index, 1);
     },
+    /**
+     * 查询风场
+     */
     query_wpid() {
       var newData = new Date();
        this.timedate[0] = this.BASE.getBzDate(newData.getTime(),-1);
@@ -107,11 +120,16 @@ export default {
       this.API.get("powercompare/windfarmAjax?").then((res) => {
         this.wpIdslist = res.data;
         
+      }).catch(error =>{
+        this.$message.error('获取数据失败');
       });
     },
     queryApData() {
       this.FiveLossInformation();
     },
+    /**
+     * 获取表格数据
+     */
     handleEdit(a, b) {
       this.pjId = [];
       this.lineDataOption = [];
@@ -155,15 +173,24 @@ export default {
         });
       }
     },
+    /**
+     * 查询检查
+     */
     checkwindfarm() {
       if (this.formInline.windfarm == "") {
         this.$message.error("请选择风场!");
         return;
       }
     },
+    /**
+     * 格式化
+     */
     filter_fdl(cellValue){
              return parseFloat(cellValue.fdl).toFixed(2);
     },
+    /**
+     * 查询检查
+     */
     checkproject() {
       if (this.formInline.project == "") {
         this.$message.error("请选择项目!");
@@ -185,15 +212,23 @@ export default {
         return
       }
     },
+    /**
+     * 控制弹出层
+     */
     queryApDataMx() {
       this.dialogTableVisible = true;
       this.$nextTick(function () {
-        this.drawPie("leiDaTu");
+        this.ECZM.leida_tc("leiDaTu" , this.sortInOrder,this.pjName1,this.sortInOrderTop,this.pjName2);
+        
+        //this.drawPie("leiDaTu");
       });
       this.$nextTick(function () {
         this.drawPie2("leiDaTu2");
       });
     },
+    /**
+     * 改变数据格式
+     */
     handleSelectionChange(val) {
       this.sortInOrder = [];
       this.sortInOrderTop = [];
@@ -309,6 +344,9 @@ export default {
     },
     handleCurrentChange(val) {
     },
+    /**
+     * 分页功能
+     */
     handleSizeChange(val) {
       this.pagesize = val;
     },
@@ -321,10 +359,15 @@ export default {
       }
       this.FiveLossInformation();
     },
+    /**
+     * 获取数据
+     */
     FiveLossInformation() {
       let that = this;
       this.API.get("/powercompare/windfarmAjax").then((res) => {
         that.options = res.data;
+      }).catch(error =>{
+        this.$message.error('获取数据失败');
       });
       if (this.timedate == "") {
         this.timedate[0] = "2021-01-01";
@@ -347,67 +390,10 @@ export default {
           that.loading=false;
           that.getPackageData(that.gridData);
           that.getPackageData2(that.gridData);
+        }).catch(error =>{
+          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.pjName1,
-              },
-              {
-                value: this.sortInOrderTop,
-                name: this.pjName2,
-              },
-            ],
-          },
-        ],
-      };
-      charts.clear();
-      charts.setOption(option);
-    },
     drawPie2() {
       var charts2;
       if (charts2 != null && charts2 != "" && charts2 != undefined) {
@@ -575,7 +561,7 @@ export default {
             }
             this.getChartDataImport2();
         },
-        getChartDataImport2(){
+    getChartDataImport2(){
             var charts =echarts.init(document.getElementById("chartHistogram"));
             let option = {
             title: {
@@ -651,7 +637,7 @@ export default {
         };
         charts.setOption(option);
         },
-        mounted() {
+    mounted() {
             this.query_wpid();
     },
   },

+ 34 - 2
src/assets/js/benchmarkingSys/projectBenchmarkParticulars.js

@@ -63,6 +63,9 @@ export default {
     this.YardTableData();
   },
   methods: {
+    /**
+     * 查询项目对标列表信息
+     */
     queryApData() {
       this.YardTableData();
       if (this.fc2 != null || this.fc2 != undefined) {
@@ -86,9 +89,15 @@ export default {
         this.API.post("/contrast/benchmarkPjList", guilty).then((res) => {
           this.fdcLineData2 = res.data;
           this.loading2=false;
+        }).catch(error =>{
+          this.$message.error('获取数据失败');
         });
       }
     },
+    /**
+     * 
+     * 查询检查
+     */
     querycheck(){
       if(this.multipleSelection1.length + this.multipleSelection2.length ==2){
         this.queryApDataMx();
@@ -100,6 +109,9 @@ export default {
         return
       }
     },
+    /**
+     * 数据格式转换
+     */
     queryApDataMx() {
       this.dialogTableVisible = true;
         this.multipleSelection = this.multipleSelection1.concat(this.multipleSelection2);
@@ -218,7 +230,8 @@ export default {
         });
       
       this.$nextTick(function () {
-        this.drawPie("leiDaTu3");
+        this.ECZM.leida_tc("leiDaTu3" , this.sortInOrder,this.pjName1,this.sortInOrderTop,this.pjName2);
+        //this.drawPie("");
       });
       this.$nextTick(function () {
         this.drawPie2("leiDaTu4");
@@ -227,9 +240,14 @@ export default {
     filter_fdl(cellValue) {
       return parseFloat(cellValue.scadafdl).toFixed(2);
     },
+    /**
+     * 查询项目对标列表信息
+     */
     YardTableData() {
       this.API.get("/powercompare/windfarmAjax").then((res) => {
         this.options = res.data;
+      }).catch(error =>{
+        this.$message.error('获取数据失败');
       });
       this.wpId = this.$route.query.wpId;
       this.pjId = this.$route.query.pjId;
@@ -260,8 +278,13 @@ export default {
       this.API.post("/contrast/benchmarkPjList", guilty).then((res) => {
         this.fdcLineData = res.data;
         this.loading=false;
+      }).catch(error =>{
+        this.$message.error('获取数据失败');
       });
     },
+    /**
+     * 查询项目
+     */
     query_xml() {
       this.pj = "";
       this.xl = "";
@@ -269,6 +292,8 @@ export default {
         .get("powercompare/projectAjax?wpIds=" + this.fc)
         .then((res) => {
           this.projectlist = res.data;
+        }).catch(error =>{
+          this.$message.error('获取数据失败');
         });
     },
     query_xml2() {
@@ -278,12 +303,16 @@ export default {
         .get("powercompare/projectAjax?wpIds=" + this.fc2)
         .then((res) => {
           this.projectlist2 = res.data;
+        }).catch(error =>{
+          this.$message.error('获取数据失败');
         });
     },
     query_wpid() {
       this.API.get("powercompare/windfarmAjax?").then((res) => {
         this.wpIdslist = res.data;
-      });
+      }).catch(error =>{
+        this.$message.error('获取数据失败');
+      });;
     },
     headStyle() {
       return "text-align:left";
@@ -459,6 +488,9 @@ export default {
       charts2.clear();
       charts2.setOption(option2);
     },
+    /**
+     * 返回按钮
+     */
     goReturn() {
       this.$router.push("/benchmark_project");
     },

+ 600 - 0
src/assets/js/benchmarkingSys/propertBenchmark.js

@@ -0,0 +1,600 @@
+import * as echarts from "echarts";
+//import FiveLossRatesHistogramChart from "../../views/benchMarking/FiveLossRatesHistogramChart.vue";
+export default {
+  data() {
+    return {
+      formInline: {
+        windfarm: "",
+        project: "",
+        line: "",
+      },
+      timedate: [],
+      isAsc: "asc",
+      beginDate: "",
+      endDate: "",
+      gridData: [],
+      multipleSelection: [],
+      sortInOrder: [],
+      sortInOrderTop: [],
+      sortInOrde2: [],
+      getTableData: [],
+      sortInOrderTop2: [],
+      fdcName1: "",
+      fdcName2: "",
+      currentPage2: 1,
+      pagesize: 10,
+      classification: [
+        {
+          id: "qf",
+          label: "弃风率",
+        },
+        {
+          id: "gz",
+          label: "故障损失率",
+        },
+        {
+          id: "jx",
+          label: "检修损失率",
+        },
+        {
+          id: "xn",
+          label: "性能损失率",
+        },
+        {
+          id: "sl",
+          label: "受累损失率",
+        },
+      ],
+      options: [
+        {
+          value: "MHS_FDC",
+          label: "麻黄山风电场",
+        },
+        {
+          value: "NSS_FDC",
+          label: "牛首山风电场",
+        },
+        {
+          value: "SBQ_FDC",
+          label: "石板泉风电场",
+        },
+        {
+          value: "QS_FDC",
+          label: "青山风电场",
+        },
+        {
+          value: "XS_FDC",
+          label: "香山风电场",
+        },
+      ],
+      value: "",
+      value2: "gz",
+      wpId: [],
+      wpName: [],
+      orderByColumn: "",
+      dialogTableVisible: false,
+      lineDataOption: [],
+      getChartDataValue: [],
+      getChartDataValue2: [],
+      chartsAName2: "",
+    };
+  },
+//   components: {
+//     FiveLossRatesHistogramChart: FiveLossRatesHistogramChart,
+//   },
+  created() {
+    this.FiveLossInformation();
+  },
+  methods: {
+    headStyle() {
+      return "text-align:center";
+    },
+    onSubmit() {
+    },
+    handleClick() {},
+    deleteRow(index, rows) {
+      rows.splice(index, 1);
+    },
+    queryApData() {
+      this.FiveLossInformation();
+    },
+    /**
+     * 
+     * 检查是否选择两个项目
+     */
+    querycheck(){
+      if(this.multipleSelection.length == 2){
+        this.queryApDataMx();
+      }else{
+        this.$message({
+          message:"请选择两个项目!",
+          type:'error'
+        });
+        return
+      }
+    },
+    /**
+     * 获取表格数据
+     */
+    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: "/propertBenchmarkParticulars",
+          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: "/propertBenchmarkParticulars",
+          query: {
+            wpId: b.wpId,
+            beginDate: this.beginDate,
+            endDate: this.endDate,
+            wpName: b.wpName,
+            select: this.lineDataOption,
+          },
+        });
+      }
+    },
+    /**
+     * 查询检查
+     */
+    checkwindfarm() {
+      if (this.formInline.windfarm == "") {
+        this.$message.error("请选择风场!");
+        return;
+      }
+    },
+    checkproject() {
+      if (this.formInline.project == "") {
+        this.$message.error("请选择项目!");
+        return;
+      }
+      if (new Date(this.timedate) == null) {
+        this.$message.error("请选择时间");
+        return;
+      }
+    },
+    /**
+     * 弹出控制
+     */
+    queryApDataMx() {
+      this.dialogTableVisible = true;
+      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);
+      });
+    },
+    /**
+     * 数据转换
+     */
+    handleSelectionChange(val) {
+      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.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.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
+        );
+        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,
+        });
+        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,
+        });
+        this.getTableData.push({
+          index: "性能未达标损失电量",
+          data1: this.multipleSelection[0].xnsslfraction,
+          data2: this.multipleSelection[1].xnsslfraction,
+        });
+        this.getTableData.push({
+          index: "受累损失电量",
+          data1: this.multipleSelection[0].slss,
+          data2: this.multipleSelection[1].slss,
+        });
+        this.getTableData.push({
+          index: "风能利用率",
+          data1: this.multipleSelection[0].fnlyl,
+          data2: this.multipleSelection[1].fnlyl,
+        });
+        this.getTableData.push({
+          index: "故障损失率",
+          data1: this.multipleSelection[0].gzssl,
+          data2: this.multipleSelection[1].gzssl,
+        });
+        this.getTableData.push({
+          index: "检修损失率",
+          data1: this.multipleSelection[0].jxssl,
+          data2: this.multipleSelection[1].jxssl,
+        });
+        this.getTableData.push({
+          index: "弃风率",
+          data1: this.multipleSelection[0].qfl,
+          data2: this.multipleSelection[1].qfl,
+        });
+        this.getTableData.push({
+          index: "性能损失率",
+          data1: this.multipleSelection[0].xnssl,
+          data2: this.multipleSelection[1].xnssl,
+        });
+        this.getTableData.push({
+          index: "受累损失率",
+          data1: this.multipleSelection[0].slssl,
+          data2: this.multipleSelection[1].slssl,
+        });
+        this.getTableData.push({
+          index: "复位及时率",
+          data1: this.multipleSelection[0].fwjsl,
+          data2: this.multipleSelection[1].fwjsl,
+        });
+        this.getTableData.push({
+          index: "消缺及时率",
+          data1: this.multipleSelection[0].xqjsl,
+          data2: this.multipleSelection[1].xqjsl,
+        });
+        this.getTableData.push({
+          index: "状态转换率",
+          data1: this.multipleSelection[0].ztzhjsl,
+          data2: this.multipleSelection[1].ztzhjsl,
+        });
+      }
+    },
+    handleCurrentChange(val) {
+    },
+    handleSizeChange(val) {
+      this.pagesize = val;
+    },
+    changeTableSort(column) {
+      this.orderByColumn = column.prop;
+      if (column.order == "descending") {
+        this.isAsc = "desc";
+      } else if (column.order == "ascending") {
+        this.isAsc = "asc";
+      }
+      this.FiveLossInformation();
+    },
+    /**
+     * 查询风机列表信息
+     */
+    FiveLossInformation() {
+      var newData = new Date();
+       this.timedate[0] = this.BASE.getBzDate(newData.getTime(),-1);
+       this.timedate[1] = this.BASE.getBzDate(newData.getTime(),0);
+      let that = this;
+      this.API.get("/powercompare/windfarmAjax").then((res) => {
+        that.options = res.data;
+      }).catch(error =>{
+        this.$message.error('获取数据失败');
+      });
+      if (this.timedate == "") {
+        this.beginDate = this.timedate[0];
+        this.endDate = this.timedate[1];
+      } else {
+        this.beginDate = this.timedate[0];
+        this.endDate = this.timedate[1];
+      }
+      var fiveLossData = new URLSearchParams();
+      fiveLossData.append("pageNum", this.currentPage2);
+      fiveLossData.append("pageSize", this.pagesize);
+      fiveLossData.append("orderByColumn", this.orderByColumn);
+      fiveLossData.append("isAsc", this.isAsc);
+      fiveLossData.append("wpId", this.value);
+      fiveLossData.append("beginDate", this.beginDate);
+      fiveLossData.append("endDate", this.endDate);
+      this.API
+        .post("/contrast/benchmarkLossList", fiveLossData)
+        .then((res) => {
+          that.gridData = res.data;
+          that.getPackageData(that.gridData, that.value2);
+        }).catch(error =>{
+          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({
+          value: gridData[i].fdl,
+          name: gridData[i].wpName,
+        });
+        if (value2 == "gz") {
+          this.chartsAName2 = "故障损失占比";
+          this.getChartDataValue2.push({
+            value: gridData[i].gzss,
+            name: gridData[i].wpName,
+          });
+        } else if (value2 == "xn") {
+          this.chartsAName2 = "性能损失占比";
+          this.getChartDataValue2.push({
+            value: gridData[i].qfss,
+            name: gridData[i].wpName,
+          });
+        } else if (value2 == "qf") {
+          this.chartsAName2 = "弃风率占比";
+          this.getChartDataValue2.push({
+            value: gridData[i].qfl,
+            name: gridData[i].wpName,
+          });
+        } else if (value2 == "jx") {
+          this.chartsAName2 = "检修损失占比";
+          this.getChartDataValue2.push({
+            value: gridData[i].whss,
+            name: gridData[i].wpName,
+          });
+        } else if (value2 == "sl") {
+          this.chartsAName2 = "受累损失占比";
+          this.getChartDataValue2.push({
+            value: gridData[i].slss,
+            name: gridData[i].wpName,
+          });
+        }
+      }
+      this.getChartDataImport();
+      this.getChartDataValue = [];
+      this.getChartDataValue2 = [];
+    },
+    /**
+     * 判断当前分类
+     */
+    getChartDataImport() {
+      var charts = echarts.init(document.getElementById("chartPie"));
+      let option = {
+        title: {
+          text: "发电量占比",
+          left: "center",
+        },
+        color: ["#90ED7D", "#F7A35C", "#7CB5EC", "#434348", "#8085E9"],
+        tooltip: {
+          trigger: "item",
+        },
+        legend: {
+          orient: "vertical",
+          left: "left",
+        },
+        series: [
+          {
+            type: "pie",
+            radius: "50%",
+            data: this.getChartDataValue,
+            emphasis: {
+              itemStyle: {
+                shadowBlur: 10,
+                shadowOffsetX: 0,
+                shadowColor: "rgba(0, 0, 0, 0.5)",
+              },
+            },
+          },
+        ],
+      };
+      charts.setOption(option);
+
+      var charts2 = echarts.init(document.getElementById("chartPieRight"));
+      let option2 = {
+        title: {
+          text: this.chartsAName2,
+          left: "center",
+        },
+        color: ["#90ED7D", "#F7A35C", "#7CB5EC", "#434348", "#8085E9"],
+        tooltip: {
+          trigger: "item",
+        },
+        legend: {
+          orient: "vertical",
+          left: "left",
+        },
+        series: [
+          {
+            type: "pie",
+            radius: "50%",
+            data: this.getChartDataValue2,
+            emphasis: {
+              itemStyle: {
+                shadowBlur: 10,
+                shadowOffsetX: 0,
+                shadowColor: "rgba(0, 0, 0, 0.5)",
+              },
+            },
+          },
+        ],
+      };
+      charts2.setOption(option2);
+    },
+  },
+};

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

@@ -0,0 +1,452 @@
+import * as echarts from "echarts";
+export default {
+  data() {
+    return {
+      tb2: false,
+      loading:true,
+      loading2:true,
+      tableData: [],
+      options: [],
+      fc: "",
+      fc2: "",
+      pj: "",
+      pj2: "",
+      timedate: [],
+      multipleSelection: [],
+      multipleSelection1: [],
+      multipleSelection2: [],
+      orderByColumn: "",
+      isAsc: "asc",
+      fdcLineData: [],
+      fdcLineData2: [],
+      currentPage2: 1,
+      pagesize: 10,
+      wpId: "",
+      pjId: "",
+      beginDate: "",
+      endDate: "",
+      dialogTableVisible: false,
+      sortInOrder: [],
+      sortInOrderTop: [],
+      pjName1: "",
+      pjName2: "",
+      sortInOrde2: [],
+      getTableData: [],
+      fdcND: [],
+      fdcND1: "",
+      fdcND2: "",
+      wpIdslist: {
+        name: "",
+        id: "",
+      },
+      projectlist: {
+        name: "",
+        id: "",
+      },
+      projectlist2: {
+        name: "",
+        id: "",
+      },
+    };
+  },
+  filters: {
+    rounding(fc) {
+      return fc.toFixed(2);
+    },
+  },
+  created() {
+    this.timedate[0] = this.$route.query.beginDate;
+    this.timedate[1] = this.$route.query.endDate;
+    this.fc = this.$route.query.wpId;
+    this.query_xml();
+    this.query_wpid();
+    this.YardTableData();
+  },
+  methods: {
+    /**
+     * 查询风机列表信息
+     */
+    queryApData() {
+      this.YardTableData();
+      if (this.fc2 != null || this.fc2 != undefined) {
+        this.tb2 = true;
+        if (this.timedate == "") {
+          this.beginDate = this.$route.query.beginDate;
+          this.endDate = this.$route.query.endDate;
+        } else {
+          this.beginDate = this.timedate[0];
+          this.endDate = this.timedate[1];
+        }
+        var guilty = new URLSearchParams();
+        guilty.append("pageNum", this.currentPage2);
+        guilty.append("pageSize", this.pagesize);
+        guilty.append("orderByColumn", this.orderByColumn);
+        guilty.append("isAsc", this.isAsc);
+        guilty.append("wpId", this.fc2);
+        guilty.append("wtId", this.pj2);
+        guilty.append("beginDate", this.beginDate);
+        guilty.append("endDate", this.endDate);
+        this.API.post("/contrast/benchmarkWtList", guilty).then((res) => {
+          this.fdcLineData2 = res.data;
+          this.loading2 = false;
+        }).catch(error =>{
+          this.$message.error('获取数据失败');
+        });
+      }
+    },
+    /**
+     * 查询检查
+     */
+    querycheck(){
+      if(this.multipleSelection1.length + this.multipleSelection2.length ==2){
+        this.queryApDataMx();
+      }else{
+        this.$message({
+          message:"请选择两个项目!",
+          type:'error'
+        });
+        return
+      }
+    },
+    /**
+     * 判断是否选择两项  改变数据格式
+     */
+    queryApDataMx() {
+      this.dialogTableVisible = true;
+      if (
+        this.multipleSelection1.length + this.multipleSelection2.length ==
+        2
+      ) {
+        this.multipleSelection = this.multipleSelection1.concat(
+          this.multipleSelection2
+        );
+      } else {
+        this.$message.error("请选两个风场!");
+        return;
+      }
+      if (this.multipleSelection.length == 2) {
+        this.pjName1 = this.multipleSelection[0].wtName;
+        this.pjName2 = 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.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,
+          this.multipleSelection[0].xnssl,
+          this.multipleSelection[0].qfl,
+          this.multipleSelection[0].jxssl,
+          this.multipleSelection[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
+        );
+        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,
+        });
+        this.getTableData.push({
+          index: "性能未达标损失电量",
+          data1: this.multipleSelection[0].xnsslfraction,
+          data2: this.multipleSelection[1].xnsslfraction,
+        });
+        this.getTableData.push({
+          index: "受累损失电量",
+          data1: this.multipleSelection[0].slss,
+          data2: this.multipleSelection[1].slss,
+        });
+        this.getTableData.push({
+          index: "风能利用率",
+          data1: this.multipleSelection[0].fnlyl,
+          data2: this.multipleSelection[1].fnlyl,
+        });
+        this.getTableData.push({
+          index: "故障损失率",
+          data1: this.multipleSelection[0].gzssl,
+          data2: this.multipleSelection[1].gzssl,
+        });
+        this.getTableData.push({
+          index: "检修损失率",
+          data1: this.multipleSelection[0].jxssl,
+          data2: this.multipleSelection[1].jxssl,
+        });
+        this.getTableData.push({
+          index: "弃风率",
+          data1: this.multipleSelection[0].qfl,
+          data2: this.multipleSelection[1].qfl,
+        });
+        this.getTableData.push({
+          index: "性能损失率",
+          data1: this.multipleSelection[0].xnssl,
+          data2: this.multipleSelection[1].xnssl,
+        });
+        this.getTableData.push({
+          index: "受累损失率",
+          data1: this.multipleSelection[0].slssl,
+          data2: this.multipleSelection[1].slssl,
+        });
+        this.getTableData.push({
+          index: "复位及时率",
+          data1: this.multipleSelection[0].fwjsl,
+          data2: this.multipleSelection[1].fwjsl,
+        });
+        this.getTableData.push({
+          index: "消缺及时率",
+          data1: this.multipleSelection[0].xqjsl,
+          data2: this.multipleSelection[1].xqjsl,
+        });
+        this.getTableData.push({
+          index: "状态转换率",
+          data1: this.multipleSelection[0].ztzhjsl,
+          data2: this.multipleSelection[1].ztzhjsl,
+        });
+      }
+      this.$nextTick(function () {
+        this.ECZM.leida_tc("leiDaTu3" , this.sortInOrder,this.pjName1,this.sortInOrderTop,this.pjName2);
+        this.ECZM.bar_tc_2("leiDaTu4",this.sortInOrde2);
+      });
+    },
+    /**
+     * 保留两位小数
+     */
+    filter_fdl(cellValue) {
+      return parseFloat(cellValue.scadafdl).toFixed(2);
+    },
+    /**
+     * 查询风机列表信息
+     */
+    YardTableData() {
+      this.API.get("/powercompare/windfarmAjax").then((res) => {
+        this.options = res.data;
+      }).catch(error =>{
+        this.$message.error('获取数据失败');
+      });
+      this.wpId = this.$route.query.wpId;
+      if (this.timedate == "") {
+        this.beginDate = this.$route.query.beginDate;
+        this.endDate = this.$route.query.endDate;
+      } else {
+        this.beginDate = this.timedate[0];
+        this.endDate = this.timedate[1];
+      }
+      var guilty = new URLSearchParams();
+      guilty.append("pageNum", this.currentPage2);
+      guilty.append("pageSize", this.pagesize);
+      guilty.append("orderByColumn", this.orderByColumn);
+      guilty.append("isAsc", this.isAsc);
+      if (this.fc == "") {
+        guilty.append("wpId", this.wpId);
+      } else {
+        guilty.append("wpId", this.fc);
+      }
+      if (this.pj == "") {
+        guilty.append("wtId", this.pjId);
+      } else {
+        guilty.append("wtId", this.pj);
+      }
+      guilty.append("beginDate", this.beginDate);
+      guilty.append("endDate", this.endDate);
+      this.API.post("/contrast/benchmarkWtList", guilty).then((res) => {
+        this.fdcLineData = res.data;
+        this.loading = false;
+      }).catch(error =>{
+        this.$message.error('获取数据失败');
+      });
+    },
+    /**
+     * 获取项目
+     */
+    query_xml() {
+      this.pj = "";
+      this.xl = "";
+      this.pj2 = "";
+      this.xl2 = "";
+      this.API
+        .get("powercompare/windturbineAjax?wpId=" + this.fc)
+        .then((res) => {
+          this.projectlist = res.data;
+        }).catch(error =>{
+          this.$message.error('获取数据失败');
+        });
+    },
+    query_xml2() {
+      this.pj = "";
+      this.xl = "";
+      this.API
+        .get("powercompare/windturbineAjax?wpId=" + this.fc2)
+        .then((res) => {
+          this.projectlist2 = res.data;
+        });
+    },
+    /**
+     * 查询风场
+     */
+    query_wpid() {
+      this.API.get("powercompare/windfarmAjax?").then((res) => {
+        this.wpIdslist = res.data;
+      }).catch(error =>{
+        this.$message.error('获取数据失败');
+      });
+    },
+    headStyle() {
+      return "text-align:left";
+    },
+    handleSelectionChange(val) {
+      this.sortInOrder = [];
+      this.sortInOrderTop = [];
+      this.getTableData = [];
+      this.sortInOrde2 = [];
+      this.multipleSelection1 = [];
+      this.multipleSelection1 = val;
+    },
+    handleSelectionChange2(val) {
+      this.sortInOrder = [];
+      this.sortInOrderTop = [];
+      this.getTableData = [];
+      this.sortInOrde2 = [];
+      this.multipleSelection2 = [];
+      this.multipleSelection2 = val;
+    },
+    changeTableSort(column) {
+      this.orderByColumn = column.prop;
+      if (column.order == "descending") {
+        this.isAsc = "desc";
+      } else if (column.order == "ascending") {
+        this.isAsc = "asc";
+      }
+      this.YardTableData();
+    },
+    filter_date(cellValue) {
+      let date = new Date(cellValue.recordDate);
+      return this.BASE.getBzDate(date,0);
+    },
+    drawPie2() {
+      var charts2;
+      if (charts2 != null && charts2 != "" && charts2 != undefined) {
+        charts2.dispose();
+      }
+      charts2 = this.$echarts.init(document.getElementById("leiDaTu4"));
+      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.clear();
+      charts2.setOption(option2);
+    },
+    /**
+     * 返回
+     */
+    goReturn() {
+      this.$router.push("/benchmark_property");
+    },
+    toExcel() {},
+  },
+};

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

@@ -0,0 +1,645 @@
+import * as echarts from "echarts";
+export default {
+  data() {
+    return {
+      fj: ["MG01_01"],
+      fc: "MHS_FDC",
+      leida_list: [],
+      Date1: "",
+      leida_list_0: [],
+      leida_list_1: [],
+      leida_list_2: [],
+      leida_list_3: [],
+      leida_list_4: [],
+      tableData: [],
+      tableData_y: [],
+      tableData_n: [],
+      wpIdslist: {
+        name: "",
+        id: "",
+      },
+      jfpl: "",
+      jfpl0: "",
+      jfpl1: "",
+      jfpl2: "",
+      jfpl3: "",
+      jfpl4: "",
+      wtIdslist: {
+        name: "",
+        id: "",
+        key: "",
+      },
+      activeName: "first",
+      compareDayList: {},
+      lineDate: {
+        speed: [],
+        value1: [],
+        value2: [],
+        value3: [],
+        value4: [],
+        value5: [],
+      },
+      lineDate_y: {
+        speed: [],
+        value1: [],
+        value2: [],
+        value3: [],
+        value4: [],
+        value5: [],
+      },
+      lineDate_n: {
+        speed: [],
+        value1: [],
+        value2: [],
+        value3: [],
+        value4: [],
+        value5: [],
+      },
+    };
+  },
+
+  created() {
+    this.Date1 = this.BASE.getBzDate(new Date().getTime(),-1);
+    this.query_wpid();
+  },
+  methods: {
+    clear() {
+      this.fj = [];
+    },
+    /**
+     * 初始化数据 调用查询检查
+     */
+    handleClick() {
+      this.tableData = [];
+      this.tableData_n = [];
+      this.tableData_y = [];
+      this.query_check();
+    },
+    /**
+     * 获取风场
+     */
+    query_wpid() {
+      this.API.get("powercompare/windfarmAjax?").then((res) => {
+        this.wpIdslist = res.data;
+      }).catch(error =>{
+        this.$message.error('获取数据失败');
+      });
+    },
+    /**
+     * 清空
+     */
+    query1() {
+      this.clear();
+      this.query();
+    },
+    /**
+     * 查询风场
+     */
+    query() {
+      let that = this;
+      this.API
+        .get("powercompare/windturbineAjax?wpId=" + that.fc)
+        .then((res) => {
+          this.wtIdslist = res.data;
+        }).catch(error =>{
+          this.$message.error('获取数据失败');
+        });
+    },
+    /**
+     * 查询检查
+     */
+    query_check() {
+      if (
+        this.fc == null ||
+        this.fc == undefined ||
+        this.fc == "" ||
+        this.fj == null ||
+        this.fj == undefined ||
+        this.fj == ""
+      ) {
+        Object.assign(this.$data.lineDate, this.$options.data().lineDate);
+        Object.assign(this.$data.lineDate_y, this.$options.data().lineDate_y);
+        Object.assign(this.$data.lineDate_n, this.$options.data().lineDate_n);
+        this.$message({
+          showClose: true,
+          message: "请选着风机或风场",
+          type: "error",
+        });
+      } else {
+        if (this.activeName == "first") {
+          Object.assign(this.$data.tableData, this.$options.data().tableData);
+          Object.assign(this.$data.lineDate, this.$options.data().lineDate);
+          this.query_line();
+        } else if (this.activeName == "second") {
+          Object.assign(
+            this.$data.tableData_y,
+            this.$options.data().tableData_y
+          );
+          Object.assign(this.$data.lineDate_y, this.$options.data().lineDate_y);
+          this.query_line_y();
+        } else if (this.activeName == "thired") {
+          Object.assign(
+            this.$data.tableData_n,
+            this.$options.data().tableData_n
+          );
+          Object.assign(this.$data.lineDate_n, this.$options.data().lineDate_n);
+          this.query_line_n();
+        }
+      }
+    },
+    /**
+     * 获取年 曲线数据
+     */
+    query_line_n() {
+      let that = this;
+      this.API
+        .get(
+          "compare/compareYearChat?windturbineid=" +
+            this.fj +
+            "&date=" +
+            this.Date1
+        )
+        .then((res) => {
+          let Date = res.data;
+          for (let i = 0; i < Date.length; i++) {
+            that.lineDate_n.speed[i] = Date[i].speed;
+            that.lineDate_n.value1[i] = Date[i].value1;
+            that.lineDate_n.value2[i] = Date[i].value2;
+            that.lineDate_n.value3[i] = Date[i].value3;
+            that.lineDate_n.value4[i] = Date[i].value4;
+            that.lineDate_n.value5[i] = Date[i].value5;
+          }
+          this.query_daycompare_n();
+        }).catch(error =>{
+          this.$message.error('获取数据失败');
+        });
+    },
+    /**
+     * 获取年雷达图数据 表格
+     */
+    query_daycompare_n() {
+      this.API
+        .get(
+          "compare/compareYearList?windturbineid=" +
+            this.fj +
+            "&date=" +
+            this.Date1
+        )
+        .then((res) => {
+          this.tableData_n = res.data;
+        }).catch(error =>{
+          this.$message.error('获取数据失败');
+        });
+
+      this.API
+        .get("compare/fzyYear?windturbineid=" + this.fj + "&date=" + this.Date1)
+        .then((res) => {
+          let that = this;
+          Object.assign(
+            this.$data.leida_list_0,
+            this.$options.data().leida_list_0
+          );
+          Object.assign(
+            this.$data.leida_list_1,
+            this.$options.data().leida_list_1
+          );
+          Object.assign(
+            this.$data.leida_list_2,
+            this.$options.data().leida_list_2
+          );
+          Object.assign(
+            this.$data.leida_list_3,
+            this.$options.data().leida_list_3
+          );
+          Object.assign(
+            this.$data.leida_list_4,
+            this.$options.data().leida_list_4
+          );
+          let len = Object.keys(res.data).length;
+          let lenfj = this.fj.length;
+          if (len == 2) {
+            this.jfpl0 = res.data.jfpl0;
+            let value_list_0 = res.data.data0;
+            for (let i = 1; i < value_list_0.length; i++) {
+              that.leida_list_0.push(value_list_0[i].data1);
+            }
+          } else if (len == 4) {
+            this.jfpl0 = res.data.jfpl0;
+            this.jfpl1 = res.data.jfpl1;
+            let value_list_0 = res.data.data0;
+            let value_list_1 = res.data.data1;
+            for (let i = 1; i < value_list_0.length; i++) {
+              that.leida_list_0.push(value_list_0[i].data1);
+            }
+            for (let i = 1; i < value_list_1.length; i++) {
+              that.leida_list_1.push(value_list_1[i].data1);
+            }
+          } else if (len == 6) {
+            this.jfpl0 = res.data.jfpl0;
+            this.jfpl1 = res.data.jfpl1;
+            this.jfpl2 = res.data.jfpl2;
+            let value_list_0 = res.data.data0;
+            let value_list_1 = res.data.data1;
+            let value_list_2 = res.data.data2;
+            for (let i = 1; i < value_list_0.length; i++) {
+              that.leida_list_0.push(value_list_0[i].data1);
+            }
+            for (let i = 1; i < value_list_1.length; i++) {
+              that.leida_list_1.push(value_list_1[i].data1);
+            }
+            for (let i = 1; i < value_list_2.length; i++) {
+              that.leida_list_2.push(value_list_2[i].data1);
+            }
+          } else if (len == 8) {
+            this.jfpl0 = res.data.jfpl0;
+            this.jfpl1 = res.data.jfpl1;
+            this.jfpl2 = res.data.jfpl2;
+            this.jfpl3 = res.data.jfpl3;
+            let value_list_0 = res.data.data0;
+            let value_list_1 = res.data.data1;
+            let value_list_2 = res.data.data2;
+            let value_list_3 = res.data.data3;
+            for (let i = 1; i < value_list_0.length; i++) {
+              that.leida_list_0.push(value_list_0[i].data1);
+            }
+            for (let i = 1; i < value_list_1.length; i++) {
+              that.leida_list_1.push(value_list_1[i].data1);
+            }
+            for (let i = 1; i < value_list_2.length; i++) {
+              that.leida_list_2.push(value_list_2[i].data1);
+            }
+            for (let i = 1; i < value_list_3.length; i++) {
+              that.leida_list_3.push(value_list_3[i].data1);
+            }
+          } else if (len == 10) {
+            this.jfpl0 = res.data.jfpl0;
+            this.jfpl1 = res.data.jfpl1;
+            this.jfpl2 = res.data.jfpl2;
+            this.jfpl3 = res.data.jfpl3;
+            this.jfpl4 = res.data.jfpl4;
+            for (let i = 1; i < Object.keys(res.data.data0).length; i++) {
+              that.leida_list_0.push(res.data.data0[i].data1);
+              that.leida_list_1.push(res.data.data1[i].data1);
+              that.leida_list_2.push(res.data.data2[i].data1);
+              that.leida_list_3.push(res.data.data3[i].data1);
+              that.leida_list_4.push(res.data.data4[i].data1);
+            }
+          }
+          if (this.fj.length == 1) {
+            this.ECZM.leida_djbhd("fzy1",this.leida_list_0,this.jfpl0); 
+          } else if (this.fj.length == 2) {
+            this.ECZM.leida_djbhd("fzy1",this.leida_list_0,this.jfpl0); 
+            this.ECZM.leida_djbhd("fzy2",this.leida_list_1,this.jfpl1); 
+          } else if (this.fj.length == 3) {
+            this.ECZM.leida_djbhd("fzy1",this.leida_list_0,this.jfpl0); 
+            this.ECZM.leida_djbhd("fzy2",this.leida_list_1,this.jfpl1); 
+            this.ECZM.leida_djbhd("fzy3",this.leida_list_2,this.jfpl2);
+          } else if (this.fj.length == 4) {
+            this.ECZM.leida_djbhd("fzy1",this.leida_list_0,this.jfpl0); 
+            this.ECZM.leida_djbhd("fzy2",this.leida_list_1,this.jfpl1); 
+            this.ECZM.leida_djbhd("fzy3",this.leida_list_2,this.jfpl2); 
+            this.ECZM.leida_djbhd("fzy4",this.leida_list_3,this.jfpl3);
+          } else if (this.fj.length == 5) {
+            this.ECZM.leida_djbhd("fzy1",this.leida_list_0,this.jfpl0); 
+            this.ECZM.leida_djbhd("fzy2",this.leida_list_1,this.jfpl1); 
+            this.ECZM.leida_djbhd("fzy3",this.leida_list_2,this.jfpl2); 
+            this.ECZM.leida_djbhd("fzy4",this.leida_list_3,this.jfpl3); 
+            this.ECZM.leida_djbhd("fzy5",this.leida_list_4,this.jfpl4); 
+          }
+          this.ECZM.bar_djbhd("linechar_n",this.fj,this.lineDate);
+        }).catch(error =>{
+          this.$message.error('获取数据失败');
+        });
+    },
+    /**
+     * 获取月曲线数据
+     */
+    query_line_y() {
+      let that = this;
+      this.API
+        .get(
+          "compare/compareMonthChat?windturbineid=" +
+            this.fj +
+            "&date=" +
+            this.Date1
+        )
+        .then((res) => {
+          let Date = res.data;
+          for (let i = 0; i < Date.length; i++) {
+            that.lineDate_y.speed[i] = Date[i].speed;
+            that.lineDate_y.value1[i] = Date[i].value1;
+            that.lineDate_y.value2[i] = Date[i].value2;
+            that.lineDate_y.value3[i] = Date[i].value3;
+            that.lineDate_y.value4[i] = Date[i].value4;
+            that.lineDate_y.value5[i] = Date[i].value5;
+          }
+          this.query_daycompare_y();
+        }).catch(error =>{
+          this.$message.error('获取数据失败');
+        });
+    },
+    /**
+     * 获取月雷达图数据 表格
+     */
+    query_daycompare_y() {
+      this.API
+        .get(
+          "compare/compareMonthList?windturbineid=" +
+            this.fj +
+            "&date=" +
+            this.Date1
+        )
+        .then((res) => {
+          this.tableData_y = res.data;
+        }).catch(error =>{
+          this.$message.error('获取数据失败');
+        });
+      this.API
+        .get(
+          "compare/fzyMonth?windturbineid=" + this.fj + "&date=" + this.Date1
+        )
+        .then((res) => {
+          let that = this;
+          Object.assign(
+            this.$data.leida_list_0,
+            this.$options.data().leida_list_0
+          );
+          Object.assign(
+            this.$data.leida_list_1,
+            this.$options.data().leida_list_1
+          );
+          Object.assign(
+            this.$data.leida_list_2,
+            this.$options.data().leida_list_2
+          );
+          Object.assign(
+            this.$data.leida_list_3,
+            this.$options.data().leida_list_3
+          );
+          Object.assign(
+            this.$data.leida_list_4,
+            this.$options.data().leida_list_4
+          );
+
+          if (Object.keys(res.data).length == 2) {
+            this.jfpl0 = res.data.jfpl0;
+            let value_list_0 = res.data.data0;
+            for (let i = 1; i < value_list_0.length; i++) {
+              that.leida_list_0.push(value_list_0[i].data1);
+            }
+          } else if (Object.keys(res.data).length == 4) {
+            this.jfpl0 = res.data.jfpl0;
+            this.jfpl1 = res.data.jfpl1;
+            let value_list_0 = res.data.data0;
+            let value_list_1 = res.data.data1;
+            for (let i = 1; i < value_list_0.length; i++) {
+              that.leida_list_0.push(value_list_0[i].data1);
+            }
+            for (let i = 1; i < value_list_1.length; i++) {
+              that.leida_list_1.push(value_list_1[i].data1);
+            }
+          } else if (Object.keys(res.data).length == 6) {
+            this.jfpl0 = res.data.jfpl0;
+            this.jfpl1 = res.data.jfpl1;
+            this.jfpl2 = res.data.jfpl2;
+            let value_list_0 = res.data.data0;
+            let value_list_1 = res.data.data1;
+            let value_list_2 = res.data.data2;
+            for (let i = 1; i < value_list_0.length; i++) {
+              that.leida_list_0.push(value_list_0[i].data1);
+            }
+            for (let i = 1; i < value_list_1.length; i++) {
+              that.leida_list_1.push(value_list_1[i].data1);
+            }
+            for (let i = 1; i < value_list_2.length; i++) {
+              that.leida_list_2.push(value_list_2[i].data1);
+            }
+          } else if (Object.keys(res.data).length == 8) {
+            this.jfpl0 = res.data.jfpl0;
+            this.jfpl1 = res.data.jfpl1;
+            this.jfpl2 = res.data.jfpl2;
+            this.jfpl3 = res.data.jfpl3;
+            let value_list_0 = res.data.data0;
+            let value_list_1 = res.data.data1;
+            let value_list_2 = res.data.data2;
+            let value_list_3 = res.data.data3;
+            for (let i = 1; i < value_list_0.length; i++) {
+              that.leida_list_0.push(value_list_0[i].data1);
+            }
+            for (let i = 1; i < value_list_1.length; i++) {
+              that.leida_list_1.push(value_list_1[i].data1);
+            }
+            for (let i = 1; i < value_list_2.length; i++) {
+              that.leida_list_2.push(value_list_2[i].data1);
+            }
+            for (let i = 1; i < value_list_3.length; i++) {
+              that.leida_list_3.push(value_list_3[i].data1);
+            }
+          } else if (Object.keys(res.data).length == 10) {
+            this.jfpl0 = res.data.jfpl0;
+            this.jfpl1 = res.data.jfpl1;
+            this.jfpl2 = res.data.jfpl2;
+            this.jfpl3 = res.data.jfpl3;
+            this.jfpl4 = res.data.jfpl4;
+            for (let i = 1; i < Object.keys(res.data.data0).length; i++) {
+              that.leida_list_0.push(res.data.data0[i].data1);
+              that.leida_list_1.push(res.data.data1[i].data1);
+              that.leida_list_2.push(res.data.data2[i].data1);
+              that.leida_list_3.push(res.data.data3[i].data1);
+              that.leida_list_4.push(res.data.data4[i].data1);
+            }
+          }
+          if (this.fj.length == 1) {
+            this.ECZM.leida_djbhd("fzy1",this.leida_list_0,this.jfpl0); 
+          } else if (this.fj.length == 2) {
+            this.ECZM.leida_djbhd("fzy1",this.leida_list_0,this.jfpl0); 
+            this.ECZM.leida_djbhd("fzy2",this.leida_list_1,this.jfpl1); 
+          } else if (this.fj.length == 3) {
+            this.ECZM.leida_djbhd("fzy1",this.leida_list_0,this.jfpl0); 
+            this.ECZM.leida_djbhd("fzy2",this.leida_list_1,this.jfpl1); 
+            this.ECZM.leida_djbhd("fzy3",this.leida_list_2,this.jfpl2);
+          } else if (this.fj.length == 4) {
+            this.ECZM.leida_djbhd("fzy1",this.leida_list_0,this.jfpl0); 
+            this.ECZM.leida_djbhd("fzy2",this.leida_list_1,this.jfpl1); 
+            this.ECZM.leida_djbhd("fzy3",this.leida_list_2,this.jfpl2); 
+            this.ECZM.leida_djbhd("fzy4",this.leida_list_3,this.jfpl3);
+          } else if (this.fj.length == 5) {
+            this.ECZM.leida_djbhd("fzy1",this.leida_list_0,this.jfpl0); 
+            this.ECZM.leida_djbhd("fzy2",this.leida_list_1,this.jfpl1); 
+            this.ECZM.leida_djbhd("fzy3",this.leida_list_2,this.jfpl2); 
+            this.ECZM.leida_djbhd("fzy4",this.leida_list_3,this.jfpl3); 
+            this.ECZM.leida_djbhd("fzy5",this.leida_list_4,this.jfpl4); 
+          }
+          this.ECZM.bar_djbhd("linechar_y",this.fj,this.lineDate);
+        }).catch(error =>{
+          this.$message.error('获取数据失败');
+        });
+    },
+    /**
+     * 获取日曲线数据
+     */
+    query_line() {
+      let that = this;
+      this.API
+        .get(
+          "compare/compareDayChat?windturbineid=" +
+            this.fj +
+            "&date=" +
+            this.Date1
+        )
+        .then((res) => {
+          let Date = res.data;
+          for (let i = 0; i < Date.length; i++) {
+            that.lineDate.speed[i] = Date[i].speed;
+            that.lineDate.value1[i] = Date[i].value1;
+            that.lineDate.value2[i] = Date[i].value2;
+            that.lineDate.value3[i] = Date[i].value3;
+            that.lineDate.value4[i] = Date[i].value4;
+            that.lineDate.value5[i] = Date[i].value5;
+          }
+          this.query_daycompare();
+        }).catch(error =>{
+          this.$message.error('获取数据失败');
+        });
+    },
+    /**
+     * 获取日雷达图数据 表格
+     */
+    query_daycompare() {
+      Object.assign(this.$data.tableData, this.$options.data().tableData);
+      this.API
+        .get(
+          "compare/compareDayList?windturbineid=" +
+            this.fj +
+            "&date=" +
+            this.Date1
+        )
+        .then((res) => {
+          this.tableData = res.data;
+        });
+      this.API
+        .get("compare/fzyDay?windturbineid=" + this.fj + "&date=" + this.Date1)
+        .then((res) => {
+          let that = this;
+          Object.assign(
+            this.$data.leida_list_0,
+            this.$options.data().leida_list_0
+          );
+          Object.assign(
+            this.$data.leida_list_1,
+            this.$options.data().leida_list_1
+          );
+          Object.assign(
+            this.$data.leida_list_2,
+            this.$options.data().leida_list_2
+          );
+          Object.assign(
+            this.$data.leida_list_3,
+            this.$options.data().leida_list_3
+          );
+          Object.assign(
+            this.$data.leida_list_4,
+            this.$options.data().leida_list_4
+          );
+
+          if (Object.keys(res.data).length == 2) {
+            this.jfpl0 = res.data.jfpl0;
+            let value_list_0 = res.data.data0;
+            for (let i = 1; i < value_list_0.length; i++) {
+              that.leida_list_0.push(value_list_0[i].data1);
+            }
+          } else if (Object.keys(res.data).length == 4) {
+            this.jfpl0 = res.data.jfpl0;
+            this.jfpl1 = res.data.jfpl1;
+            let value_list_0 = res.data.data0;
+            let value_list_1 = res.data.data1;
+            for (let i = 1; i < value_list_0.length; i++) {
+              that.leida_list_0.push(value_list_0[i].data1);
+            }
+            for (let i = 1; i < value_list_1.length; i++) {
+              that.leida_list_1.push(value_list_1[i].data1);
+            }
+          } else if (Object.keys(res.data).length == 6) {
+            this.jfpl0 = res.data.jfpl0;
+            this.jfpl1 = res.data.jfpl1;
+            this.jfpl2 = res.data.jfpl2;
+            let value_list_0 = res.data.data0;
+            let value_list_1 = res.data.data1;
+            let value_list_2 = res.data.data2;
+            for (let i = 1; i < value_list_0.length; i++) {
+              that.leida_list_0.push(value_list_0[i].data1);
+            }
+            for (let i = 1; i < value_list_1.length; i++) {
+              that.leida_list_1.push(value_list_1[i].data1);
+            }
+            for (let i = 1; i < value_list_2.length; i++) {
+              that.leida_list_2.push(value_list_2[i].data1);
+            }
+          } else if (Object.keys(res.data).length == 8) {
+            this.jfpl0 = res.data.jfpl0;
+            this.jfpl1 = res.data.jfpl1;
+            this.jfpl2 = res.data.jfpl2;
+            this.jfpl3 = res.data.jfpl3;
+            let value_list_0 = res.data.data0;
+            let value_list_1 = res.data.data1;
+            let value_list_2 = res.data.data2;
+            let value_list_3 = res.data.data3;
+            for (let i = 1; i < value_list_0.length; i++) {
+              that.leida_list_0.push(value_list_0[i].data1);
+            }
+            for (let i = 1; i < value_list_1.length; i++) {
+              that.leida_list_1.push(value_list_1[i].data1);
+            }
+            for (let i = 1; i < value_list_2.length; i++) {
+              that.leida_list_2.push(value_list_2[i].data1);
+            }
+            for (let i = 1; i < value_list_3.length; i++) {
+              that.leida_list_3.push(value_list_3[i].data1);
+            }
+          } else if (Object.keys(res.data).length == 10) {
+            this.jfpl0 = res.data.jfpl0;
+            this.jfpl1 = res.data.jfpl1;
+            this.jfpl2 = res.data.jfpl2;
+            this.jfpl3 = res.data.jfpl3;
+            this.jfpl4 = res.data.jfpl4;
+            for (let i = 1; i < Object.keys(res.data.data0).length; i++) {
+              that.leida_list_0.push(res.data.data0[i].data1);
+              that.leida_list_1.push(res.data.data1[i].data1);
+              that.leida_list_2.push(res.data.data2[i].data1);
+              that.leida_list_3.push(res.data.data3[i].data1);
+              that.leida_list_4.push(res.data.data4[i].data1);
+            }
+          }
+          if (this.fj.length == 1) {
+            this.ECZM.leida_djbhd("fzy1",this.leida_list_0,this.jfpl0); 
+          } else if (this.fj.length == 2) {
+            this.ECZM.leida_djbhd("fzy1",this.leida_list_0,this.jfpl0); 
+            this.ECZM.leida_djbhd("fzy2",this.leida_list_1,this.jfpl1); 
+          } else if (this.fj.length == 3) {
+            this.ECZM.leida_djbhd("fzy1",this.leida_list_0,this.jfpl0); 
+            this.ECZM.leida_djbhd("fzy2",this.leida_list_1,this.jfpl1); 
+            this.ECZM.leida_djbhd("fzy3",this.leida_list_2,this.jfpl2);
+          } else if (this.fj.length == 4) {
+            this.ECZM.leida_djbhd("fzy1",this.leida_list_0,this.jfpl0); 
+            this.ECZM.leida_djbhd("fzy2",this.leida_list_1,this.jfpl1); 
+            this.ECZM.leida_djbhd("fzy3",this.leida_list_2,this.jfpl2); 
+            this.ECZM.leida_djbhd("fzy4",this.leida_list_3,this.jfpl3);
+          } else if (this.fj.length == 5) {
+            this.ECZM.leida_djbhd("fzy1",this.leida_list_0,this.jfpl0); 
+            this.ECZM.leida_djbhd("fzy2",this.leida_list_1,this.jfpl1); 
+            this.ECZM.leida_djbhd("fzy3",this.leida_list_2,this.jfpl2); 
+            this.ECZM.leida_djbhd("fzy4",this.leida_list_3,this.jfpl3); 
+            this.ECZM.leida_djbhd("fzy5",this.leida_list_4,this.jfpl4); 
+          }
+        this.ECZM.bar_djbhd("linechar",this.fj,this.lineDate);
+        }).catch(error =>{
+          this.$message.error('获取数据失败');
+        });
+    },
+  },
+  mounted() {
+    this.ECZM.bar_djbhd("linechar",this.fj,this.lineDate);
+    this.query();
+    this.query_check();
+  },
+};

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

@@ -470,7 +470,7 @@
                   <div id="leiDaTu6" class="echart" style="width: 100%; height: 300px"></div></el-row>
 								</div>
                 </el-col>
-                <el-col span="12">
+                <el-col :span="12">
 								<div class="dialogRightData">
 									<el-table :data="getTableData" height="618"
 									:row-style="{ height: '10px' }"

+ 411 - 0
src/views/benchmarkingSys/propertBenchmark.vue

@@ -0,0 +1,411 @@
+<template>
+  <div class="box">
+    <div class="searchBar">
+      <el-form :inline="true" :model="formInline" class="demo-form-inline" style="margin-left:33px">
+        <el-row :gutter="1">
+          <el-form-item label="风场">
+            <el-select v-model="value" multiple placeholder="请选择">
+              <el-option
+                v-for="item in options"
+                :key="item.name"
+                :label="item.name"
+                :value="item.id"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="分类">
+            <el-select
+              v-model="value2"
+              @change="queryApData()"
+              placeholder="请选择"
+            >
+              <el-option
+                v-for="item in classification"
+                :key="item.label"
+                :label="item.label"
+                :value="item.id"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <!-- <el-form-item label="项目">
+              <el-input
+                v-model="formInline.project"
+                id="project"
+                placeholder="项目"
+                @focus="checkwindfarm"
+              ></el-input>
+            </el-form-item>
+
+            <el-form-item label="线路">
+              <el-input
+                v-model="formInline.line"
+                id="line"
+                placeholder="线路"
+                @focus="checkproject"
+              ></el-input>
+            </el-form-item> -->
+
+          <el-form-item label="选择时间:">
+            <el-date-picker
+              v-model="timedate"
+              value-format="yyyy-MM-dd"
+              type="daterange"
+              range-separator="至"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+            >
+            </el-date-picker>
+          </el-form-item>
+
+          <el-form-item>
+            <el-button type="primary" @click="queryApData" :plain="true"
+              >查询</el-button
+            >
+          </el-form-item>
+
+          <el-form-item>
+            <el-button type="primary" @click="querycheck"
+              >对标分析</el-button
+            >
+          </el-form-item>
+        </el-row>
+      </el-form>
+      <el-table
+        :data="gridData"
+        :row-style="{ height: '10px' }"
+        :cell-style="{ textAlign: 'center'}"
+        :header-cell-style="headStyle"
+        @selection-change="handleSelectionChange"
+        @sort-change="changeTableSort"
+        v-if="value2 == 'xn'"
+      >
+        <el-table-column label="损失率对标列表">
+          <el-table-column type="index" width="30"> </el-table-column>
+          <el-table-column type="selection" width="45"> </el-table-column>
+          <el-table-column prop="wpName" label="风机" width="300">
+          </el-table-column>
+          <el-table-column
+            :sortable="'custom'"
+            prop="qfssnum"
+            label="性能损失电量排名"
+            width="300"
+          >
+          </el-table-column>
+          <el-table-column
+            :sortable="'custom'"
+            prop="qfss"
+            label="性能损失电量"
+            width="300"
+          >
+          </el-table-column>
+          <el-table-column
+            :sortable="'custom'"
+            prop="xnsslnum"
+            label="性能损失率排名"
+            width="300"
+          >
+          </el-table-column>
+          <el-table-column
+            :sortable="'custom'"
+            prop="xnssl"
+            label="性能损失率(%)"
+            width="300"
+          >
+          </el-table-column>
+          <el-table-column prop="address" label="操作" width="300">
+            <template slot-scope="scope">
+              <el-button
+                size="mini"
+                @click="handleEdit(scope.$index, scope.row)"
+                >详情</el-button
+              >
+            </template>
+          </el-table-column>
+        </el-table-column>
+      </el-table>
+      <el-table
+        :data="gridData"
+        :row-style="{ height: '10px' }"
+        :cell-style="{ textAlign: 'center'}"
+        :header-cell-style="headStyle"
+        @selection-change="handleSelectionChange"
+        @sort-change="changeTableSort"
+        v-if="value2 == 'qf'"
+        style="margin-bottom:21px"
+      >
+        <el-table-column label="损失率对标列表">
+          <el-table-column type="index" width="30"> </el-table-column>
+          <el-table-column type="selection" width="45"> </el-table-column>
+          <el-table-column prop="wpName" label="风机" width="300">
+          </el-table-column>
+          <el-table-column
+            :sortable="'custom'"
+            prop="qfl"
+            label="弃风率"
+            width="300"
+          >
+          </el-table-column>
+          <el-table-column
+            :sortable="'custom'"
+            prop="qflnum"
+            label="弃风率排名"
+            width="300"
+          >
+          </el-table-column>
+          <el-table-column
+            :sortable="'custom'"
+            prop="xdssnum"
+            label="限电损失电量排名"
+            width="300"
+          >
+          </el-table-column>
+          <el-table-column
+            :sortable="'custom'"
+            prop="xdss"
+            label="限电损失电量"
+            width="300"
+          >
+          </el-table-column>
+          <el-table-column prop="address" label="操作" width="300">
+            <template slot-scope="scope">
+              <el-button
+                size="mini"
+                @click="handleEdit(scope.$index, scope.row)"
+                >详情</el-button
+              >
+            </template>
+          </el-table-column>
+        </el-table-column>
+      </el-table>
+      <el-table
+        :data="gridData"
+        :row-style="{ height: '10px' }"
+        :cell-style="{ textAlign: 'center' }"
+        :header-cell-style="headStyle"
+        @selection-change="handleSelectionChange"
+        @sort-change="changeTableSort"
+        v-if="value2 == 'gz'"
+        style="margin-bottom:21px"
+      >
+        <el-table-column label="损失率对标列表">
+          <el-table-column type="index" width="30"> </el-table-column>
+          <el-table-column type="selection" width="45"> </el-table-column>
+          <el-table-column prop="wpName" label="风机" width="300">
+          </el-table-column>
+          <el-table-column
+            :sortable="'custom'"
+            prop="gzssnum"
+            label="故障损失电量排名"
+            width="300"
+          >
+          </el-table-column>
+          <el-table-column
+            :sortable="'custom'"
+            prop="gzss"
+            label="故障损失电量"
+            width="300"
+          >
+          </el-table-column>
+          <el-table-column
+            :sortable="'custom'"
+            prop="gzsslnum"
+            label="故障损失率排名"
+            width="300"
+          >
+          </el-table-column>
+          <el-table-column
+            :sortable="'custom'"
+            prop="gzssl"
+            label="故障损失率(%)"
+            width="300"
+          >
+          </el-table-column>
+          <el-table-column prop="address" label="操作" width="300">
+            <template slot-scope="scope">
+              <el-button
+                size="mini"
+                @click="handleEdit(scope.$index, scope.row)"
+                >详情</el-button
+              >
+            </template>
+          </el-table-column>
+        </el-table-column>
+      </el-table>
+      <el-table
+        :data="gridData"
+        :row-style="{ height: '10px' }"
+        :cell-style="{ textAlign: 'center' }"
+        :header-cell-style="headStyle"
+        @selection-change="handleSelectionChange"
+        @sort-change="changeTableSort"
+        v-if="value2 == 'jx'"
+        style="margin-bottom:21px"
+      >
+        <el-table-column label="损失率对标列表">
+          <el-table-column type="index" width="30"> </el-table-column>
+          <el-table-column type="selection" width="45"> </el-table-column>
+          <el-table-column prop="wpName" label="风机" width="300">
+          </el-table-column>
+          <el-table-column
+            :sortable="'custom'"
+            prop="whssnum"
+            label="检修损失电量排名"
+            width="300"
+          >
+          </el-table-column>
+          <el-table-column
+            :sortable="'custom'"
+            prop="whss"
+            label="检修损失电量"
+            width="300"
+          >
+          </el-table-column>
+          <el-table-column
+            :sortable="'custom'"
+            prop="jxsslnum"
+            label="检修损失率排名"
+            width="300"
+          >
+          </el-table-column>
+          <el-table-column
+            :sortable="'custom'"
+            prop="jxssl"
+            label="检修损失率(%)"
+            width="300"
+          >
+          </el-table-column>
+          <el-table-column prop="address" label="操作" width="300">
+            <template slot-scope="scope">
+              <el-button
+                size="mini"
+                @click="handleEdit(scope.$index, scope.row)"
+                >详情</el-button
+              >
+            </template>
+          </el-table-column>
+        </el-table-column>
+      </el-table>
+      <el-table
+        :data="gridData"
+        :row-style="{ height: '10px' }"
+        :cell-style="{ textAlign: 'center'}"
+        :header-cell-style="headStyle"
+        @selection-change="handleSelectionChange"
+        @sort-change="changeTableSort"
+        v-if="value2 == 'sl'"
+        style="margin-bottom:21px"
+      >
+        <el-table-column label="损失率对标列表">
+          <el-table-column type="index" width="30"> </el-table-column>
+          <el-table-column type="selection" width="45"> </el-table-column>
+          <el-table-column prop="wpName" label="风机" width="300">
+          </el-table-column>
+          <el-table-column
+            :sortable="'custom'"
+            prop="slssnum"
+            label="受累损失电量排名"
+            width="300"
+          >
+          </el-table-column>
+          <el-table-column
+            :sortable="'custom'"
+            prop="slss"
+            label="受累损失电量"
+            width="300"
+          >
+          </el-table-column>
+          <el-table-column
+            :sortable="'custom'"
+            prop="slsslnum"
+            label="受累损失率排名"
+            width="300"
+          >
+          </el-table-column>
+          <el-table-column
+            :sortable="'custom'"
+            prop="fwjsl"
+            label="受累损失率(%)"
+            width="300"
+          >
+          </el-table-column>
+          <el-table-column prop="address" label="操作" width="300">
+            <template slot-scope="scope">
+              <el-button
+                size="mini"
+                @click="handleEdit(scope.$index, scope.row)"
+                >详情</el-button
+              >
+            </template>
+          </el-table-column>
+        </el-table-column>
+      </el-table>
+      <el-dialog
+        class="el-dialog_body"
+        width="60%"
+        title="对标信息分析"
+        :visible.sync="dialogTableVisible"
+        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>
+        </div>
+      </el-dialog>
+      <!-- <div style="text-align: center;">
+					<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="currentPage2"
+					 :page-sizes="[10, 50, 100, 1000]"
+					 :page-size="pagesize" layout="sizes, prev, pager, next" :total="1000">
+					</el-pagination>
+				</div> -->
+      <el-row>
+        <el-col :span="12"
+          ><div
+            id="chartPie"
+            style="width: 800px; height: 400px; margin: auto"
+          ></div>
+        </el-col>
+        <el-col :span="12">
+          <div
+            id="chartPieRight"
+            style="width: 800px; height: 400px; margin: auto"
+          ></div
+        ></el-col>
+      </el-row>
+      <!-- <div class="histogramChart">
+        <FiveLossRatesHistogramChart
+          ref="FiveLossRatesHistogramChart"
+        ></FiveLossRatesHistogramChart>
+      </div> -->
+    </div>
+  </div>
+</template>
+
+<script>
+import propertBenchmark from "@assets/js/benchmarkingSys/propertBenchmark";
+export default propertBenchmark;
+</script>
+
+<style lang="scss" scoped>
+ @import "@assets/css/benchmarkingSys/propertBenchmark.scss";
+</style>

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

@@ -0,0 +1,587 @@
+<template>
+  <div class="box">
+    <div class="searchBar">
+      <el-form :inline="true" class="demo-form-inline" style="margin-left:1%">
+        <el-row :gutter="1">
+          <el-form-item label="风场一">
+            <el-select
+              v-model="fc"
+              clearable
+              placeholder="请选择"
+              @change="query_xml()"
+            >
+              <el-option
+                v-for="item in wpIdslist"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+
+          <el-form-item label="风机一">
+            <el-select v-model="pj" multiple clearable placeholder="请选择">
+              <el-option
+                v-for="item in projectlist"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+
+          <!-- <el-form-item label="风场二">
+              <el-select v-model="value2" multiple placeholder="请选择">
+              <el-option
+                v-for="item in options"
+                :key="item.name"
+                :label="item.name"
+                :value="item.id">
+              </el-option>
+            </el-select>
+            </el-form-item> -->
+
+          <el-form-item label="风场二">
+            <el-select
+              v-model="fc2"
+              clearable
+              placeholder="请选择"
+              @change="query_xml2()"
+            >
+              <el-option
+                v-for="item in wpIdslist"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+
+          <el-form-item label="风机二">
+            <el-select v-model="pj2" multiple clearable placeholder="请选择">
+              <el-option
+                v-for="item in projectlist2"
+                :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="timedate"
+              value-format="yyyy-MM-dd"
+              type="daterange"
+              range-separator="至"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+            >
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item>
+            <el-button type="primary" @click="queryApData" :plain="true"
+              >查询</el-button
+            >
+          </el-form-item>
+          <el-form-item>
+            <el-button type="primary" @click="querycheck"
+              >对标分析</el-button
+            >
+          </el-form-item>
+          <el-form-item>
+            <el-button type="primary" @click="goReturn">返回</el-button>
+          </el-form-item>
+        </el-row>
+      </el-form>
+      <el-card>
+        <el-table
+          v-loading="loading"
+          :data="fdcLineData"
+          :row-style="{ height: '10px' }"
+          :cell-style="{ textAlign: 'center'}"
+          :header-cell-style="headStyle"
+          @selection-change="handleSelectionChange"
+          @sort-change="changeTableSort"
+          style="widht: 100%"
+          max-height="399px"
+        >
+          <el-table-column label="场际对标列表一">
+            <el-table-column fixed type="index" width="45"> </el-table-column>
+            <el-table-column type="selection" width="45"> </el-table-column>
+            <el-table-column prop="wtName" label="风机名称" width="110">
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="ordernum"
+              label="排名"
+              width="80"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="scadafdlnum"
+              label="发电量排名"
+              width="130"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="scadafdl"
+              :formatter="filter_fdl"
+              label="发电量"
+              width="120"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="gzssnum"
+              label="故障排名"
+              width="110"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="gzss"
+              label="故障损失"
+              width="110"
+            >
+              <template slot-scope="scope">
+                <span>{{ scope.row.gzss | rounding }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="whssnum"
+              label="检修排名"
+              width="110"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="whss"
+              label="检修损失"
+              width="110"
+            >
+              <template slot-scope="scope">
+                <span>{{ scope.row.whss | rounding }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="qfssnum"
+              label="性能排名"
+              width="110"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="qfss"
+              label="性能损失"
+              width="110"
+            >
+              <template slot-scope="scope">
+                <span>{{ scope.row.qfss | rounding }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="xdssnum"
+              label="限电排名"
+              width="110"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="xdss"
+              label="限电损失"
+              width="110"
+            >
+              <template slot-scope="scope">
+                <span>{{ scope.row.xdss | rounding }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="slssnum"
+              label="受累排名"
+              width="110"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="slss"
+              label="受累损失"
+              width="110"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="fnlyl"
+              label="风能利用率"
+              width="130"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="gzsslnum"
+              label="故障损失率排名"
+              width="150"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="gzssl"
+              label="故障损失率"
+              width="130"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="jxsslnum"
+              label="检修损失率排名"
+              width="150"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="jxssl"
+              label="检修损失率"
+              width="130"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="qflnum"
+              label="弃风率排名"
+              width="130"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="qfl"
+              label="弃风率"
+              width="110"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="xnsslnum"
+              label="性能损失率排名"
+              width="150"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="xnssl"
+              label="性能损失率"
+              width="130"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="slsslnum"
+              label="受累损失率排名"
+              width="150"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="slssl"
+              label="受累损失率"
+              width="130"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="fwjsl"
+              label="复位及时率"
+              width="130"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="xqjsl"
+              label="消缺及时率"
+              width="130"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="ztzhjsl"
+              label="状态转换率"
+              width="130"
+            >
+            </el-table-column>
+          </el-table-column>
+        </el-table>
+      </el-card>
+
+      <el-card>
+        <el-table
+          v-loading="loading2"
+          :data="fdcLineData2"
+          :row-style="{ height: '10px' }"
+          :cell-style="{ textAlign: 'center'}"
+          :header-cell-style="headStyle"
+          @selection-change="handleSelectionChange2"
+          @sort-change="changeTableSort"
+          style="widht: 100%"
+          max-height="399px"
+          v-if="tb2"
+        >
+          <el-table-column label="场际对标列表二">
+            <el-table-column fixed type="index" width="45"> </el-table-column>
+            <el-table-column type="selection" width="45"> </el-table-column>
+            <el-table-column prop="wtName" label="风机名称" width="110">
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="ordernum"
+              label="排名"
+              width="80"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="scadafdlnum"
+              label="发电量排名"
+              width="130"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="scadafdl"
+              :formatter="filter_fdl"
+              label="发电量"
+              width="120"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="gzssnum"
+              label="故障排名"
+              width="110"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="gzss"
+              label="故障损失"
+              width="110"
+            >
+              <template slot-scope="scope">
+                <span>{{ scope.row.gzss | rounding }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="whssnum"
+              label="检修排名"
+              width="110"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="whss"
+              label="检修损失"
+              width="110"
+            >
+              <template slot-scope="scope">
+                <span>{{ scope.row.whss | rounding }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="qfssnum"
+              label="性能排名"
+              width="110"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="qfss"
+              label="性能损失"
+              width="110"
+            >
+              <template slot-scope="scope">
+                <span>{{ scope.row.qfss | rounding }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="xdssnum"
+              label="限电排名"
+              width="110"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="xdss"
+              label="限电损失"
+              width="110"
+            >
+              <template slot-scope="scope">
+                <span>{{ scope.row.xdss | rounding }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="slssnum"
+              label="受累排名"
+              width="110"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="slss"
+              label="受累损失"
+              width="110"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="fnlyl"
+              label="风能利用率"
+              width="130"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="gzsslnum"
+              label="故障损失率排名"
+              width="150"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="gzssl"
+              label="故障损失率"
+              width="130"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="jxsslnum"
+              label="检修损失率排名"
+              width="150"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="jxssl"
+              label="检修损失率"
+              width="130"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="qflnum"
+              label="弃风率排名"
+              width="130"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="qfl"
+              label="弃风率"
+              width="110"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="xnsslnum"
+              label="性能损失率排名"
+              width="150"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="xnssl"
+              label="性能损失率"
+              width="130"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="slsslnum"
+              label="受累损失率排名"
+              width="150"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="slssl"
+              label="受累损失率"
+              width="130"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="fwjsl"
+              label="复位及时率"
+              width="130"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="xqjsl"
+              label="消缺及时率"
+              width="130"
+            >
+            </el-table-column>
+            <el-table-column
+              :sortable="'custom'"
+              prop="ztzhjsl"
+              label="状态转换率"
+              width="130"
+            >
+            </el-table-column>
+          </el-table-column>
+        </el-table>
+      </el-card>
+      <el-dialog
+        class="el-dialog_body"
+        width="60%"
+        title="对标信息分析"
+        :visible.sync="dialogTableVisible"
+        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-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>
+          </div>
+        </div>
+      </el-dialog>
+    </div>
+  </div>
+</template>
+
+<script>
+import propertBenchmarkParticulars from "@assets/js/benchmarkingSys/propertBenchmarkParticulars";
+export default propertBenchmarkParticulars;
+</script>
+
+<style lang="scss" scoped>
+ @import "@assets/css/benchmarkingSys/propertBenchmarkParticulars.scss";
+</style>

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

@@ -0,0 +1,483 @@
+<template>
+  <el-container>
+    <el-main>
+      <el-tabs
+        type="border-card"
+        style="height: 100%; width: 99.8%"
+        v-model="activeName"
+        @tab-click="handleClick"
+      >
+        <el-tab-pane label="日风机对比" name="first" id="ri">
+          <el-row>
+            <el-card shadow="always">
+              <el-form :inline="true" class="demo-form-inline">
+                <el-form-item label="风场">
+                  <el-select
+                    v-model="fc"
+                    clearable
+                    placeholder="请选择"
+                    @change="query1()"
+                  >
+                    <el-option
+                      v-for="item in wpIdslist"
+                      :key="item.id"
+                      :label="item.name"
+                      :value="item.id"
+                    >
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+
+                <el-form-item label="风机">
+                  <el-select
+                    v-model="fj"
+                    collapse-tags
+                    multiple
+                    clearable
+                    placeholder="请选择"
+                    :multiple-limit="5"
+                  >
+                    <el-option
+                      v-for="item in wtIdslist"
+                      :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="Date1"
+                    value-format="yyyy-MM-dd"
+                    type="date"
+                    placeholder="选择日期"
+                  >
+                  </el-date-picker>
+                </el-form-item>
+
+                <el-form-item>
+                  <el-button type="primary" :plain="true" @click="query_check"
+                    >查询</el-button
+                  >
+                </el-form-item>
+                <el-form-item>
+                  <el-button type="primary" :plain="true" @click="clear"
+                    >清空</el-button
+                  >
+                </el-form-item>
+              </el-form>
+            </el-card>
+
+            <el-table
+              :data="tableData"
+              :row-style="{ height: '1px' }"
+              border
+              style="width: 100%"
+            >
+              <el-table-column label="单机日信息对比">
+                <el-table-column prop="name" label="项目" width="220">
+                </el-table-column>
+                <el-table-column
+                  prop="value1"
+                  label=""
+                  width="330"
+                  align="center"
+                >
+                  <template slot-scope="scope">
+                    <div v-if="scope.row.name == '风资源'">
+                      <p v-html="scope.row.value1"></p>
+                    </div>
+                    <div v-else>
+                      <p v-text="scope.row.value1"></p>
+                    </div>
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  prop="value1"
+                  label=""
+                  width="330"
+                  align="center"
+                >
+                  <template slot-scope="scope">
+                    <div v-if="scope.row.name == '风资源'">
+                      <p v-html="scope.row.value2"></p>
+                    </div>
+                    <div v-else>
+                      <p v-text="scope.row.value2"></p>
+                    </div>
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  prop="value1"
+                  label=""
+                  width="330"
+                  align="center"
+                >
+                  <template slot-scope="scope">
+                    <div v-if="scope.row.name == '风资源'">
+                      <p v-html="scope.row.value3"></p>
+                    </div>
+                    <div v-else>
+                      <p v-text="scope.row.value3"></p>
+                    </div>
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  prop="value1"
+                  label=""
+                  width="330"
+                  align="center"
+                >
+                  <template slot-scope="scope">
+                    <div v-if="scope.row.name == '风资源'">
+                      <p v-html="scope.row.value4"></p>
+                    </div>
+                    <div v-else>
+                      <p v-text="scope.row.value4"></p>
+                    </div>
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  prop="value1"
+                  label=""
+                  width="330"
+                  align="center"
+                >
+                  <template slot-scope="scope">
+                    <div v-if="scope.row.name == '风资源'">
+                      <p v-html="scope.row.value5"></p>
+                    </div>
+                    <div v-else>
+                      <p v-text="scope.row.value5"></p>
+                    </div>
+                  </template>
+                </el-table-column>
+              </el-table-column>
+            </el-table>
+          </el-row>
+          <el-row>
+            <div id="linechar" style="width: 1900px; height: 350px"></div>
+          </el-row>
+        </el-tab-pane>
+        <el-tab-pane label="月风机对比" name="second" id="yue">
+          <el-row>
+            <el-card shadow="always">
+              <el-form :inline="true" class="demo-form-inline">
+                <el-form-item label="风场">
+                  <el-select
+                    v-model="fc"
+                    clearable
+                    placeholder="请选择"
+                    @change="query1()"
+                  >
+                    <el-option
+                      v-for="item in wpIdslist"
+                      :key="item.id"
+                      :label="item.name"
+                      :value="item.id"
+                    >
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+
+                <el-form-item label="风机">
+                  <el-select
+                    v-model="fj"
+                    collapse-tags
+                    multiple
+                    clearable
+                    placeholder="请选择"
+                    :multiple-limit="5"
+                  >
+                    <el-option
+                      v-for="item in wtIdslist"
+                      :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="Date1"
+                    value-format="yyyy-MM-dd"
+                    type="date"
+                    placeholder="选择日期"
+                  >
+                  </el-date-picker>
+                </el-form-item>
+
+                <el-form-item>
+                  <el-button type="primary" :plain="true" @click="query_check"
+                    >查询</el-button
+                  >
+                </el-form-item>
+                <el-form-item>
+                  <el-button type="primary" :plain="true" @click="clear"
+                    >清空</el-button
+                  >
+                </el-form-item>
+              </el-form>
+            </el-card>
+
+            <el-table
+              :data="tableData_y"
+              :row-style="{ height: '1px' }"
+              border
+              style="width: 100%"
+            >
+              <el-table-column label="单机月信息对比">
+                <el-table-column prop="name" label="项目" width="220">
+                </el-table-column>
+                <el-table-column
+                  prop="value1"
+                  label=""
+                  width="330"
+                  align="center"
+                >
+                  <template slot-scope="scope">
+                    <div v-if="scope.row.name == '风资源'">
+                      <p v-html="scope.row.value1"></p>
+                    </div>
+                    <div v-else>
+                      <p v-text="scope.row.value1"></p>
+                    </div>
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  prop="value1"
+                  label=""
+                  width="330"
+                  align="center"
+                >
+                  <template slot-scope="scope">
+                    <div v-if="scope.row.name == '风资源'">
+                      <p v-html="scope.row.value2"></p>
+                    </div>
+                    <div v-else>
+                      <p v-text="scope.row.value2"></p>
+                    </div>
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  prop="value1"
+                  label=""
+                  width="330"
+                  align="center"
+                >
+                  <template slot-scope="scope">
+                    <div v-if="scope.row.name == '风资源'">
+                      <p v-html="scope.row.value3"></p>
+                    </div>
+                    <div v-else>
+                      <p v-text="scope.row.value3"></p>
+                    </div>
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  prop="value1"
+                  label=""
+                  width="330"
+                  align="center"
+                >
+                  <template slot-scope="scope">
+                    <div v-if="scope.row.name == '风资源'">
+                      <p v-html="scope.row.value4"></p>
+                    </div>
+                    <div v-else>
+                      <p v-text="scope.row.value4"></p>
+                    </div>
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  prop="value1"
+                  label=""
+                  width="330"
+                  align="center"
+                >
+                  <template slot-scope="scope">
+                    <div v-if="scope.row.name == '风资源'">
+                      <p v-html="scope.row.value5"></p>
+                    </div>
+                    <div v-else>
+                      <p v-text="scope.row.value5"></p>
+                    </div>
+                  </template>
+                </el-table-column>
+              </el-table-column>
+            </el-table>
+          </el-row>
+          <el-row>
+            <div id="linechar_y" style="width: 1900px; height: 350px"></div>
+          </el-row>
+        </el-tab-pane>
+        <el-tab-pane label="年风机对比" name="thired" id="nian">
+          <el-row>
+            <el-card shadow="always">
+              <el-form :inline="true" class="demo-form-inline">
+                <el-form-item label="风场">
+                  <el-select
+                    v-model="fc"
+                    clearable
+                    placeholder="请选择"
+                    @change="query1()"
+                  >
+                    <el-option
+                      v-for="item in wpIdslist"
+                      :key="item.id"
+                      :label="item.name"
+                      :value="item.id"
+                    >
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+
+                <el-form-item label="风机">
+                  <el-select
+                    v-model="fj"
+                    multiple
+                    collapse-tags
+                    clearable
+                    placeholder="请选择"
+                    :multiple-limit="5"
+                  >
+                    <el-option
+                      v-for="item in wtIdslist"
+                      :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="Date1"
+                    value-format="yyyy-MM-dd"
+                    type="date"
+                    placeholder="选择日期"
+                  >
+                  </el-date-picker>
+                </el-form-item>
+
+                <el-form-item>
+                  <el-button type="primary" :plain="true" @click="query_check"
+                    >查询</el-button
+                  >
+                </el-form-item>
+                <el-form-item>
+                  <el-button type="primary" :plain="true" @click="clear"
+                    >清空</el-button
+                  >
+                </el-form-item>
+              </el-form>
+            </el-card>
+
+            <el-table
+              :data="tableData_n"
+              :row-style="{ height: '1px' }"
+              border
+              style="width: 100%"
+            >
+              <el-table-column label="单机月信息对比">
+                <el-table-column prop="name" label="项目" width="220">
+                </el-table-column>
+                <el-table-column
+                  prop="value1"
+                  label=""
+                  width="330"
+                  align="center"
+                >
+                  <template slot-scope="scope">
+                    <div v-if="scope.row.name == '风资源'">
+                      <p v-html="scope.row.value1"></p>
+                    </div>
+                    <div v-else>
+                      <p v-text="scope.row.value1"></p>
+                    </div>
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  prop="value1"
+                  label=""
+                  width="330"
+                  align="center"
+                >
+                  <template slot-scope="scope">
+                    <div v-if="scope.row.name == '风资源'">
+                      <p v-html="scope.row.value2"></p>
+                    </div>
+                    <div v-else>
+                      <p v-text="scope.row.value2"></p>
+                    </div>
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  prop="value1"
+                  label=""
+                  width="330"
+                  align="center"
+                >
+                  <template slot-scope="scope">
+                    <div v-if="scope.row.name == '风资源'">
+                      <p v-html="scope.row.value3"></p>
+                    </div>
+                    <div v-else>
+                      <p v-text="scope.row.value3"></p>
+                    </div>
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  prop="value1"
+                  label=""
+                  width="330"
+                  align="center"
+                >
+                  <template slot-scope="scope">
+                    <div v-if="scope.row.name == '风资源'">
+                      <p v-html="scope.row.value4"></p>
+                    </div>
+                    <div v-else>
+                      <p v-text="scope.row.value4"></p>
+                    </div>
+                  </template>
+                </el-table-column>
+                <el-table-column
+                  prop="value1"
+                  label=""
+                  width="330"
+                  align="center"
+                >
+                  <template slot-scope="scope">
+                    <div v-if="scope.row.name == '风资源'">
+                      <p v-html="scope.row.value5"></p>
+                    </div>
+                    <div v-else>
+                      <p v-text="scope.row.value5"></p>
+                    </div>
+                  </template>
+                </el-table-column>
+              </el-table-column>
+            </el-table>
+          </el-row>
+          <el-row>
+            <div id="linechar_n" style="width: 1900px; height: 350px"></div>
+          </el-row>
+        </el-tab-pane>
+      </el-tabs>
+    </el-main>
+  </el-container>
+</template>
+<script>
+import singleTransverseBenchmark from "@assets/js/benchmarkingSys/singleTransverseBenchmark";
+export default singleTransverseBenchmark;
+</script>
+
+<style lang="scss" scoped>
+ @import "@assets/css/benchmarkingSys/singleTransverseBenchmark.scss";
+</style>