소스 검색

新增json数据

sunzehao 2 달 전
부모
커밋
bd6e4e3ec5

+ 346 - 0
src/views/economicsOperation/benchmarkingManagement/performanceBenchmarking/dataJson.json

@@ -0,0 +1,346 @@
+{
+    "code": 0,
+    "data": {
+        "success": true,
+        "code": 200,
+        "message": "成功",
+        "count": null,
+        "data": {
+            "total": 13,
+            "pageSize": 10,
+            "resultList": [
+                {
+                    "id": "SXJ_KGDL_XWT_FDC_STA",
+                    "name": "13风电场",
+                    "ordernum": 1.0,
+                    "date": null,
+                    "zhpm": 10,
+                    "fdlpm": 10,
+                    "fdl": 61.09,
+                    "llfdl": 172.47,
+                    "gzssdlpm": 10,
+                    "gzssdl": 107.97,
+                    "jxssdlpm": 2,
+                    "jxssdl": 0.0,
+                    "xnssdlpm": 4,
+                    "xnssdl": 3.41,
+                    "xdssdlpm": 2,
+                    "xdssdl": 0.0,
+                    "slssdlpm": 9,
+                    "slssdl": 0.0,
+                    "fnlylpm": 10,
+                    "fnlyl": 35.42,
+                    "gzsslpm": 10,
+                    "gzssl": 62.6,
+                    "jxsslpm": 2,
+                    "jxssl": 0.0,
+                    "qflpm": 2,
+                    "qfl": 0.0,
+                    "xnsslpm": 9,
+                    "xnssl": 1.98,
+                    "zssdl": 111.38,
+                    "slssl": 0.0,
+                    "slsslpm": 9
+                },
+                {
+                    "id": "SXJ_KGDL_YF_FDC_STA",
+                    "name": "06风电场",
+                    "ordernum": 3.0,
+                    "date": null,
+                    "zhpm": 2,
+                    "fdlpm": 2,
+                    "fdl": 1065.82,
+                    "llfdl": 1089.16,
+                    "gzssdlpm": 2,
+                    "gzssdl": 0.0,
+                    "jxssdlpm": 9,
+                    "jxssdl": 14.62,
+                    "xnssdlpm": 8,
+                    "xnssdl": 8.71,
+                    "xdssdlpm": 8,
+                    "xdssdl": 0.0,
+                    "slssdlpm": 6,
+                    "slssdl": 0.0,
+                    "fnlylpm": 6,
+                    "fnlyl": 97.86,
+                    "gzsslpm": 2,
+                    "gzssl": 0.0,
+                    "jxsslpm": 8,
+                    "jxssl": 1.34,
+                    "qflpm": 8,
+                    "qfl": 0.0,
+                    "xnsslpm": 6,
+                    "xnssl": 0.8,
+                    "zssdl": 23.33,
+                    "slssl": 0.0,
+                    "slsslpm": 6
+                },
+                {
+                    "id": "SXJ_KGDL_BHB3_FDC_STA",
+                    "name": "04风电场",
+                    "ordernum": 4.0,
+                    "date": null,
+                    "zhpm": 3,
+                    "fdlpm": 3,
+                    "fdl": 861.29,
+                    "llfdl": 878.1,
+                    "gzssdlpm": 9,
+                    "gzssdl": 11.6,
+                    "jxssdlpm": 1,
+                    "jxssdl": 0.0,
+                    "xnssdlpm": 7,
+                    "xnssdl": 5.21,
+                    "xdssdlpm": 1,
+                    "xdssdl": 0.0,
+                    "slssdlpm": 4,
+                    "slssdl": 0.0,
+                    "fnlylpm": 5,
+                    "fnlyl": 98.09,
+                    "gzsslpm": 9,
+                    "gzssl": 1.32,
+                    "jxsslpm": 1,
+                    "jxssl": 0.0,
+                    "qflpm": 1,
+                    "qfl": 0.0,
+                    "xnsslpm": 4,
+                    "xnssl": 0.59,
+                    "zssdl": 16.81,
+                    "slssl": 0.0,
+                    "slsslpm": 4
+                },
+                {
+                    "id": "SXJ_KGDL_PDL_FDC_STA",
+                    "name": "11风电场",
+                    "ordernum": 5.0,
+                    "date": null,
+                    "zhpm": 7,
+                    "fdlpm": 7,
+                    "fdl": 440.64,
+                    "llfdl": 461.38,
+                    "gzssdlpm": 8,
+                    "gzssdl": 1.78,
+                    "jxssdlpm": 7,
+                    "jxssdl": 4.63,
+                    "xnssdlpm": 9,
+                    "xnssdl": 14.34,
+                    "xdssdlpm": 7,
+                    "xdssdl": 0.0,
+                    "slssdlpm": 10,
+                    "slssdl": 0.0,
+                    "fnlylpm": 9,
+                    "fnlyl": 95.5,
+                    "gzsslpm": 7,
+                    "gzssl": 0.39,
+                    "jxsslpm": 7,
+                    "jxssl": 1.0,
+                    "qflpm": 7,
+                    "qfl": 0.0,
+                    "xnsslpm": 10,
+                    "xnssl": 3.11,
+                    "zssdl": 20.75,
+                    "slssl": 0.0,
+                    "slsslpm": 10
+                },
+                {
+                    "id": "SXJ_KGDL_GJY_FDC_STA",
+                    "name": "02风电场",
+                    "ordernum": 8.0,
+                    "date": null,
+                    "zhpm": 1,
+                    "fdlpm": 1,
+                    "fdl": 2613.97,
+                    "llfdl": 2642.33,
+                    "gzssdlpm": 6,
+                    "gzssdl": 0.23,
+                    "jxssdlpm": 6,
+                    "jxssdl": 2.01,
+                    "xnssdlpm": 10,
+                    "xnssdl": 26.12,
+                    "xdssdlpm": 4,
+                    "xdssdl": 0.0,
+                    "slssdlpm": 7,
+                    "slssdl": 0.0,
+                    "fnlylpm": 3,
+                    "fnlyl": 98.93,
+                    "gzsslpm": 6,
+                    "gzssl": 0.01,
+                    "jxsslpm": 4,
+                    "jxssl": 0.08,
+                    "qflpm": 4,
+                    "qfl": 0.0,
+                    "xnsslpm": 7,
+                    "xnssl": 0.99,
+                    "zssdl": 28.36,
+                    "slssl": 0.0,
+                    "slsslpm": 7
+                },
+                {
+                    "id": "SXJ_KGDL_PTZ_FDC_STA",
+                    "name": "09风电场",
+                    "ordernum": 9.0,
+                    "date": null,
+                    "zhpm": 4,
+                    "fdlpm": 4,
+                    "fdl": 692.91,
+                    "llfdl": 718.73,
+                    "gzssdlpm": 4,
+                    "gzssdl": 0.0,
+                    "jxssdlpm": 10,
+                    "jxssdl": 21.47,
+                    "xnssdlpm": 6,
+                    "xnssdl": 4.35,
+                    "xdssdlpm": 10,
+                    "xdssdl": 0.0,
+                    "slssdlpm": 5,
+                    "slssdl": 0.0,
+                    "fnlylpm": 8,
+                    "fnlyl": 96.41,
+                    "gzsslpm": 4,
+                    "gzssl": 0.0,
+                    "jxsslpm": 10,
+                    "jxssl": 2.99,
+                    "qflpm": 10,
+                    "qfl": 0.0,
+                    "xnsslpm": 5,
+                    "xnssl": 0.61,
+                    "zssdl": 25.82,
+                    "slssl": 0.0,
+                    "slsslpm": 5
+                },
+                {
+                    "id": "SXJ_KGDL_HSM_FDC_STA",
+                    "name": "05风电场",
+                    "ordernum": 10.0,
+                    "date": null,
+                    "zhpm": 8,
+                    "fdlpm": 8,
+                    "fdl": 338.02,
+                    "llfdl": 349.81,
+                    "gzssdlpm": 3,
+                    "gzssdl": 0.0,
+                    "jxssdlpm": 8,
+                    "jxssdl": 8.25,
+                    "xnssdlpm": 5,
+                    "xnssdl": 3.54,
+                    "xdssdlpm": 9,
+                    "xdssdl": 0.0,
+                    "slssdlpm": 8,
+                    "slssdl": 0.0,
+                    "fnlylpm": 7,
+                    "fnlyl": 96.63,
+                    "gzsslpm": 3,
+                    "gzssl": 0.0,
+                    "jxsslpm": 9,
+                    "jxssl": 2.36,
+                    "qflpm": 9,
+                    "qfl": 0.0,
+                    "xnsslpm": 8,
+                    "xnssl": 1.01,
+                    "zssdl": 11.79,
+                    "slssl": 0.0,
+                    "slsslpm": 8
+                },
+                {
+                    "id": "SXJ_KGDL_ZK_FDC_STA",
+                    "name": "07风电场",
+                    "ordernum": 11.0,
+                    "date": null,
+                    "zhpm": 5,
+                    "fdlpm": 5,
+                    "fdl": 584.07,
+                    "llfdl": 585.34,
+                    "gzssdlpm": 1,
+                    "gzssdl": 0.0,
+                    "jxssdlpm": 4,
+                    "jxssdl": 0.57,
+                    "xnssdlpm": 3,
+                    "xnssdl": 0.7,
+                    "xdssdlpm": 5,
+                    "xdssdl": 0.0,
+                    "slssdlpm": 2,
+                    "slssdl": 0.0,
+                    "fnlylpm": 2,
+                    "fnlyl": 99.78,
+                    "gzsslpm": 1,
+                    "gzssl": 0.0,
+                    "jxsslpm": 5,
+                    "jxssl": 0.1,
+                    "qflpm": 5,
+                    "qfl": 0.0,
+                    "xnsslpm": 2,
+                    "xnssl": 0.12,
+                    "zssdl": 1.27,
+                    "slssl": 0.0,
+                    "slsslpm": 2
+                },
+                {
+                    "id": "SXJ_KGDL_YTY_FDC_STA",
+                    "name": "08风电场",
+                    "ordernum": 12.0,
+                    "date": null,
+                    "zhpm": 9,
+                    "fdlpm": 9,
+                    "fdl": 192.61,
+                    "llfdl": 195.47,
+                    "gzssdlpm": 7,
+                    "gzssdl": 0.84,
+                    "jxssdlpm": 5,
+                    "jxssdl": 1.34,
+                    "xnssdlpm": 2,
+                    "xnssdl": 0.69,
+                    "xdssdlpm": 6,
+                    "xdssdl": 0.0,
+                    "slssdlpm": 3,
+                    "slssdl": 0.0,
+                    "fnlylpm": 4,
+                    "fnlyl": 98.54,
+                    "gzsslpm": 8,
+                    "gzssl": 0.43,
+                    "jxsslpm": 6,
+                    "jxssl": 0.69,
+                    "qflpm": 6,
+                    "qfl": 0.0,
+                    "xnsslpm": 3,
+                    "xnssl": 0.35,
+                    "zssdl": 2.87,
+                    "slssl": 0.0,
+                    "slsslpm": 3
+                },
+                {
+                    "id": "SXJ_KGDL_YLZ_FDC_STA",
+                    "name": "10风电场",
+                    "ordernum": 13.0,
+                    "date": null,
+                    "zhpm": 6,
+                    "fdlpm": 6,
+                    "fdl": 499.79,
+                    "llfdl": 500.3,
+                    "gzssdlpm": 5,
+                    "gzssdl": 0.05,
+                    "jxssdlpm": 3,
+                    "jxssdl": 0.14,
+                    "xnssdlpm": 1,
+                    "xnssdl": 0.31,
+                    "xdssdlpm": 3,
+                    "xdssdl": 0.0,
+                    "slssdlpm": 1,
+                    "slssdl": 0.0,
+                    "fnlylpm": 1,
+                    "fnlyl": 99.9,
+                    "gzsslpm": 5,
+                    "gzssl": 0.01,
+                    "jxsslpm": 3,
+                    "jxssl": 0.03,
+                    "qflpm": 3,
+                    "qfl": 0.0,
+                    "xnsslpm": 1,
+                    "xnssl": 0.06,
+                    "zssdl": 0.5,
+                    "slssl": 0.0,
+                    "slsslpm": 1
+                }
+            ],
+            "pageNum": 1
+        }
+    }
+}

+ 963 - 0
src/views/economicsOperation/benchmarkingManagement/performanceBenchmarking/index.vue

@@ -0,0 +1,963 @@
+<template>
+  <div class="parcel-box">
+    <div class="form-wrapper">
+      <el-select
+        size="mini"
+        :disabled="displayDetail"
+        v-model="company"
+        placeholder="请选择"
+        @change="handleCompanyChange(company)"
+      >
+        <el-option
+          v-for="item in companyOptions"
+          :key="item.id"
+          :label="item.aname"
+          :value="item.id"
+        >
+        </el-option>
+      </el-select>
+      <div class="tabCut">
+        <div
+          @click="tabClick(val.id)"
+          :class="[
+            tabIndex === val.id ? 'active' : '',
+            displayDetail ? 'disabled' : '',
+          ]"
+          v-for="val in tabOptions"
+          :key="val.id"
+        >
+          <span>{{ val.name }}</span>
+        </div>
+      </div>
+      <div class="station">
+        场站:
+        <el-select
+          size="mini"
+          :disabled="displayDetail"
+          v-model="stationObj"
+          multiple
+          collapse-tags
+          placeholder="请选择"
+          @change="handleStationChange(stationObj)"
+          clearable
+        >
+          <el-option
+            v-for="item in stationList"
+            :key="item.id"
+            :label="item.name"
+            :value="item.id"
+          >
+          </el-option>
+        </el-select>
+      </div>
+      <div class="station">
+        开始日期
+        <div class="search-input">
+          <el-date-picker
+            v-model="starTime"
+            :disabled="displayDetail"
+            type="date"
+            size="mini"
+            value-format="YYYY-MM-DD"
+            placeholder="选择日期"
+            popper-class="date-select"
+          >
+          </el-date-picker>
+        </div>
+      </div>
+      <div class="station">
+        结束日期
+        <div class="search-input">
+          <el-date-picker
+            v-model="endTime"
+            :disabled="displayDetail"
+            type="date"
+            size="mini"
+            value-format="YYYY-MM-DD"
+            placeholder="选择日期"
+            popper-class="date-select"
+          >
+          </el-date-picker>
+        </div>
+      </div>
+      <div class="but">
+        <el-button
+          round
+          size="mini"
+          :disabled="displayDetail"
+          class="buttons"
+          @click="gerCjdb"
+          >搜 索</el-button
+        >
+        <el-button
+          round
+          size="mini"
+          class="buttons"
+          @click="dbfx"
+          :disabled="
+            chooseList.length <= 5 && chooseList.length > 1 ? false : true
+          "
+          >对标分析</el-button
+        >
+        <el-button
+          round
+          size="mini"
+          class="buttons"
+          @click="goBack"
+          v-if="displayDetail"
+          >返回</el-button
+        >
+        <!-- <el-button round size="mini" class="buttons">导出</el-button> -->
+      </div>
+    </div>
+    <div class="bodys" v-if="!displayDetail">
+      <div class="line">
+        <div class="leftContent" :data-type="$store.state.moreSty"><span>性能对标</span></div>
+      </div>
+      <div class="economicTable" v-if="!displayDetail">
+        <el-table
+          :data="tableData"
+          ref="multipleTable"
+          size="mini"
+          height="calc(100% - 39px)"
+          :cell-style="{ padding: '6px' }"
+          :row-style="{ height: '0' }"
+          stripe
+          @selection-change="handleCurrentChange"
+        >
+          <el-table-column type="selection" width="60" align="center">
+          </el-table-column>
+          <el-table-column
+            show-overflow-tooltip
+            align="center"
+            prop="name"
+            label="名称"
+            sortable
+          >
+            <template v-slot="scope">
+              <span
+                @click="goDetail(scope.row)"
+                style="cursor: pointer;"
+                :style="$store.state.moreSty === 'greenSty' ? 'color: #05bb4c' : 'color: #67b9ff'"
+                >{{ scope.row.name }}</span
+              >
+            </template>
+          </el-table-column>
+          <el-table-column
+            header-align="center"
+            :align="item.align ? item.align : 'center'"
+            v-for="item in tabIndex == -1 ? tableHeader : tableHeaderG"
+            :key="item.code"
+            :prop="item.code"
+            :label="item.name"
+            :width="item.name.length == 4 ? 55 : 68"
+            show-overflow-tooltip
+            sortable
+          />
+        </el-table>
+        <div class="pagination-class">
+          <el-pagination
+            @current-change="handlePageChange"
+            :current-page="page.currentPage"
+            :page-size="page.pagesize"
+            layout="total, prev, pager, next, jumper"
+            :total="page.total"
+          >
+          </el-pagination>
+        </div>
+      </div>
+    </div>
+    <div v-if="!displayDetail" class="echarts">
+      <div class="pie-echarts">
+        <div class="chart-name">
+          <div class="point point-left bottom"></div>
+          <div class="point point-right bottom"></div>
+          损失电量分析
+        </div>
+        <PieChart
+          :lossPower="lossPower"
+          width="100%"
+          height="calc(100% - 39px)"
+          :showLable="false"
+        ></PieChart>
+      </div>
+      <div class="bar-echarts">
+        <div class="chart-name">
+          <div class="point point-left bottom"></div>
+          <div class="point point-right bottom"></div>
+          五项损失
+        </div>
+        <BarCharts
+          :list="barList"
+          width="100%"
+          height="calc(100% - 39px)"
+          :showLegend="true"
+          :xdate="false"
+          :colorIndex="true"
+        ></BarCharts>
+      </div>
+    </div>
+    <div v-if="displayDetail" style="height: calc(100% - 48px - 35px)">
+      <el-table
+        :data="detailTable"
+        ref="multipleTable"
+        size="mini"
+        height="100%"
+        :cell-style="{ padding: '6px' }"
+        :row-style="{ height: '4' }"
+        stripe
+        @selection-change="handleCurrentChange"
+      >
+        <el-table-column type="selection" width="60" align="center">
+        </el-table-column>
+        <el-table-column
+          align="center"
+          prop="name"
+          label="风机名称"
+          show-overflow-tooltip
+          sortable
+        >
+        </el-table-column>
+        <el-table-column
+          v-for="item in tabIndex == -1
+            ? tableHeaderDetail
+            : tableHeaderGDetail"
+          :key="item.code"
+          :prop="item.code"
+          :label="item.name"
+          :width="item.name.length == 4 ? 58 : 88"
+          show-overflow-tooltip
+          header-align="center"
+          :align="item.align ? item.align : 'center'"
+          sortable
+        />
+      </el-table>
+      <div class="pagination-class">
+        <el-pagination
+          @current-change="handlePageDChange"
+          :current-page="pageD.currentPage"
+          :page-size="pageD.pagesize"
+          @size-change="handleSizeDChange"
+          :page-sizes="[19, 50, 100, 500]"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="pageD.total"
+        >
+        </el-pagination>
+      </div>
+    </div>
+    <el-dialog
+      class="dialogs"
+      width="90%"
+      top="40px"
+      v-model="dialogVisible"
+      :show-close="true"
+    >
+      <template #title>
+        <div class="dialog-title">
+          <div class="title">对标排名分析</div>
+        </div>
+      </template>
+      <div class="dialog-body">
+        <img class="dialog-img" src="@assets/imgs/dialog.png" />
+        <dayinfo
+          :radarValue="radarValue"
+          :title="[windNum, windNum2, windNum3, windNum4, windNum5]"
+          :windNum="windNum"
+          :windNum2="windNum2"
+          :windNum3="windNum3"
+          :windNum4="windNum4"
+          :windNum5="windNum5"
+          :tabs="tabs"
+          :analyisDialog="analyisDialog"
+        />
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import dayjs from "dayjs";
+import {
+  tableHeader,
+  tableHeaderG,
+  tableHeaderDetail,
+  tableHeaderGDetail,
+} from "@/utills//constant.js";
+import { companys } from "@/api/curveAnalyse";
+import { getStation, cjdb, details } from "@/api/performance";
+import PieChart from "../../homePage/components/pieChart.vue";
+import BarCharts from "../../homePage/components/barCharts.vue";
+import dayinfo from "../compontent/dayinfo.vue";
+import dataJson from "./dataJson.json"
+export default {
+  name: "intervalBenchmarking", //场际对标
+  components: {
+    PieChart,
+    BarCharts,
+    dayinfo,
+  },
+  data() {
+    return {
+      tableHeader,
+      tableHeaderG,
+      tableHeaderDetail,
+      tableHeaderGDetail,
+      page: {
+        pagesize: 10,
+        currentPage: 1,
+        total: 0,
+      },
+      pageD: {
+        pagesize: 19,
+        currentPage: 1,
+        total: 0,
+      },
+      company: "",
+      companyOptions: [],
+      stationObj: [],
+      stationList: [],
+      starTime: "",
+      endTime: "",
+      tabIndex: -1,
+      tabOptions: [
+        { id: -1, name: "风电" },
+        { id: -2, name: "光伏" },
+      ],
+      tableData: [],
+      detailTable: [],
+      chooseList: [],
+      lossPower: [],
+      barList: [],
+      displayDetail: false,
+      dialogVisible: false,
+      radarValue: [],
+      windNum: "",
+      windNum2: "",
+      windNum3: "",
+      windNum4: "",
+      windNum5: "",
+      tabs: [],
+      analyisDialog: [],
+      screenHeight: window.innerHeight,
+      echartsHeight: "55vh",
+      detailRow: {},
+    };
+  },
+  created() {
+    let date = new Date();
+    date.setDate(1);
+    let month = parseInt(date.getMonth() + 1);
+    let day = date.getDate();
+    if (month < 10) {
+      month = "0" + month;
+    }
+    if (day < 10) {
+      day = "0" + day;
+    }
+    this.starTime = date.getFullYear() + "-" + month + "-" + day;
+    this.endTime = dayjs(new Date().getTime()).format("YYYY-MM-DD");
+    this.initialization();
+  },
+  mounted() {
+    if (this.screenHeight > 1100) {
+      this.echartsHeight = "58vh";
+    } else {
+      this.echartsHeight = "55vh";
+    }
+    window.onresize = () => {
+      return (() => {
+        window.screenHeight = window.innerHeight;
+        this.screenHeight = window.screenHeight;
+      })();
+    };
+  },
+  methods: {
+    handlePageChange(val) {
+      this.page.currentPage = val;
+      this.gerCjdb();
+    },
+    handlePageDChange(val) {
+      this.pageD.currentPage = val;
+      this.goDetail();
+    },
+    handleSizeDChange(val) {
+      this.pageD.currentPage = 1;
+      this.pageD.pagesize = val;
+      this.goDetail();
+    },
+    tabClick(val) {
+      this.tabIndex = val;
+      if (val == -2) {
+        this.company = "SXJ_KGDL_GFFD_ZGS";
+        this.getStation(this.company);
+        this.stationObj = [];
+        this.gerCjdb();
+      } else {
+        this.company = this.companyOptions[0].id;
+        this.getStation(this.company);
+        this.stationObj = [];
+        this.gerCjdb();
+      }
+
+      //   this.initialization()
+    },
+    initialization() {
+        this.dataChange(dataJson.data)
+      companys().then(({ data: res }) => {
+        if (res.data) {
+          this.company = res.data[0].id;
+          this.companyOptions = res.data;
+          this.getStation(res.data[0].id);
+        }
+      });
+    },
+    getStation(companyids) {
+      getStation({
+        companyids: companyids,
+        type: this.tabIndex,
+      }).then(({ data: res }) => {
+        if (res.data.length) {
+          this.stationList = res.data;
+        } else {
+          this.stationList = [];
+        }
+        this.gerCjdb();
+      });
+    },
+    gerCjdb() {
+      cjdb({
+        companys: this.company,
+        type: this.tabIndex,
+        beginDate: this.starTime,
+        endDate: this.endTime,
+        wpids: this.stationObj.join(","),
+        pageSize: this.page.pagesize,
+        pageNum: this.page.currentPage,
+        target: "",
+        sort: "",
+      }).then(({ data: res }) => {
+        this.dataChange(res)
+        
+      });
+    },
+    dataChange(res) {
+        if (res.data) {
+          let barList = [
+            {
+              name: "故障损失电量",
+              children: [],
+              date: [],
+            },
+            {
+              name: "检修损失电量",
+              children: [],
+            },
+            {
+              name: "性能损失电量",
+              children: [],
+            },
+            {
+              name: "限电损失电量",
+              children: [],
+            },
+            {
+              name: "受累损失电量",
+              children: [],
+            },
+          ];
+          this.tableData = res.data.resultList;
+          this.page.total = res.data.total;
+          let lossPower = [];
+          res.data.resultList.forEach((item) => {
+            let obj = {
+              name: item.name,
+              value: item.zssdl,
+            };
+            lossPower.push(obj);
+            barList[0].date.push(item.name);
+            barList[0].children.push(item.gzssdl);
+            barList[1].children.push(item.jxssdl);
+            barList[2].children.push(item.xnssdl);
+            barList[3].children.push(item.xdssdl);
+            barList[4].children.push(item.slssdl);
+          });
+          this.lossPower = lossPower;
+          this.barList = barList;
+        }
+    },
+    handleStationChange(val) {
+      this.stationObj = val;
+      this.gerCjdb();
+    },
+    handleCompanyChange(val) {
+      this.company = val;
+      this.getStation(val);
+    },
+    handleCurrentChange(val) {
+      if (val.length > 5) {
+        let del_row = val.shift();
+        this.$refs.multipleTable.toggleRowSelection(del_row, false);
+      }
+      let arr = [];
+      val.forEach((item, index) => {
+        if (index < 5) {
+          arr.push(item);
+        }
+      });
+      this.chooseList = arr;
+    },
+    goDetail(row) {
+      if (!this.displayDetail) {
+        this.displayDetail = true;
+        this.detailRow = row;
+      }
+
+      details({
+        id: this.detailRow.id,
+        beginDate: this.starTime,
+        endDate: this.endTime,
+        pageSize: this.pageD.pagesize,
+        pageNum: this.pageD.currentPage,
+        target: "",
+        sort: "",
+      }).then(({ data: res }) => {
+        if (res.data) {
+          this.detailTable = res.data.resultList;
+          this.pageD.total = res.data.total;
+        }
+      });
+    },
+    goBack() {
+      this.displayDetail = false;
+    },
+    dbfx() {
+      if (this.chooseList.length <= 5) {
+        this.dialogVisible = true;
+        this.AjaxDbfx();
+      }
+    },
+    AjaxDbfx() {
+      var data = this.chooseList;
+      this.windNum = data[0]?.date || data[0]?.name;
+      this.windNum2 = data[1]?.date || data[1]?.name;
+      this.windNum3 = data[2]?.date || data[2]?.name;
+      this.windNum4 = data[3]?.date || data[3]?.name;
+      this.windNum5 = data[4]?.date || data[4]?.name;
+      let tabs = [
+        {
+          name: "发电量",
+          code: "fdl",
+        },
+        {
+          name: "故障损失电量",
+          code: "gzssdl",
+        },
+        {
+          name: "检修损失电量",
+          code: "jxssdl",
+        },
+        {
+          name: "性能未达标损失电量",
+          code: "xnssdl",
+        },
+        {
+          name: "受累损失电量",
+          code: "slssdl",
+        },
+        {
+          name: "风能利用率",
+          code: "fnlyl",
+        },
+        {
+          name: "故障损失率",
+          code: "gzssl",
+        },
+        {
+          name: "检修损失率",
+          code: "jxssl",
+        },
+        {
+          name: "弃风率",
+          code: "qfl",
+        },
+        {
+          name: "性能损失率",
+          code: "xnssl",
+        },
+        {
+          name: "受累损失率",
+          code: "slssl",
+        },
+      ];
+      tabs = tabs.map((item) => {
+        if (item.code == "fnlyl") {
+          if (this.tabIndex == -1) {
+            item.name = "风能利用率";
+          } else {
+            item.name = "光能利用率";
+          }
+        }
+        if (item.code == "qfl") {
+          if (this.tabIndex == -1) {
+            item.name = "弃风率";
+          } else {
+            item.name = "弃光率";
+          }
+        }
+        return item;
+      });
+
+      tabs.forEach((val) => {
+        data.forEach((item, index) => {
+          val["windData" + (index + 1)] = item[val.code];
+        });
+      });
+      this.tabs = tabs;
+      let radarValue = [];
+      data.forEach((item, index) => {
+        let data = {
+          indicator: [
+            "风能利用率排名",
+            "故障损失率排名",
+            "检修损失率排名",
+            "弃风率排名",
+            "性能损失率排名",
+            "受累损失率排名",
+          ],
+          data: [
+            {
+              value: [
+                item.fnlylpm,
+                item.gzsslpm,
+                item.jxsslpm,
+                item.qflpm,
+                item.xnsslpm,
+                item.slsslpm,
+              ],
+              name: item.name,
+            },
+          ],
+        };
+        if (this.tabIndex == -1) {
+          data.indicator = [
+            "风能利用率排名",
+            "故障损失率排名",
+            "检修损失率排名",
+            "弃风率排名",
+            "性能损失率排名",
+            "受累损失率排名",
+          ];
+        } else {
+          data.indicator = [
+            "光能利用率排名",
+            "故障损失率排名",
+            "检修损失率排名",
+            "弃光率排名",
+            "性能损失率排名",
+            "受累损失率排名",
+          ];
+        }
+        radarValue.push(data);
+      });
+      this.radarValue = radarValue;
+      var analyis = [],
+        gzssdl = [],
+        jxssdl = [],
+        xnssdl = [],
+        xdssdl = [],
+        slssdl = [];
+      data.forEach((item, index) => {
+        gzssdl.push({
+          text: item.name,
+          value: item.gzssdl,
+        });
+        jxssdl.push({
+          text: item.name,
+          value: item.jxssdl,
+        });
+        xnssdl.push({
+          text: item.name,
+          value: item.xnssdl,
+        });
+        xdssdl.push({
+          text: item.name,
+          value: item.xdssdl,
+        });
+        slssdl.push({
+          text: item.name,
+          value: item.slssdl,
+        });
+      });
+      analyis.push(
+        {
+          title: "故障损失电量",
+          yAxisIndex: 0,
+          value: gzssdl,
+        },
+        {
+          title: "检修损失电量",
+          yAxisIndex: 0,
+          value: jxssdl,
+        },
+        {
+          title: "性能损失电量",
+          yAxisIndex: 0,
+          value: xnssdl,
+        },
+        {
+          title: "限电损失电量",
+          yAxisIndex: 0,
+          value: xdssdl,
+        },
+        {
+          title: "受累损失电量",
+          yAxisIndex: 0,
+          value: slssdl,
+        }
+      );
+      this.analyisDialog = analyis;
+    },
+  },
+  watch: {
+    screenHeight(val) {
+      this.screenHeight = val;
+      if (val > 1100) {
+        this.echartsHeight = "58vh";
+      } else {
+        this.echartsHeight = "55vh";
+      }
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.pagination-class {
+  text-align: right;
+  margin-top: 5px;
+}
+.parcel-box {
+  height: 100%;
+  width: 100%;
+  padding: 0 30px;
+  padding-bottom: 14px;
+}
+
+.form-wrapper {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  margin-top: 10px;
+  margin-bottom: 10px;
+
+  .tabCut {
+    display: inline-block;
+    margin: 0 10px;
+
+    div {
+      display: inline-block;
+      width: 60px;
+      height: 27px;
+      border: 1px solid #274934;
+      text-align: center;
+      line-height: 25px;
+      cursor: pointer;
+    }
+
+    div:nth-child(1) {
+      border-radius: 13px 0px 0px 13px;
+      border-right-width: 0;
+    }
+
+    div:nth-child(2) {
+      border-radius: 0px 13px 13px 0px;
+    }
+
+    .active {
+      background-color: rgba(5, 187, 76, 0.9);
+      color: #fff;
+    }
+    .disabled {
+      cursor: not-allowed;
+      pointer-events: none;
+    }
+  }
+
+  .tabCut1 {
+    display: inline-block;
+    margin: 0 10px;
+
+    div {
+      display: inline-block;
+      width: 60px;
+      height: 27px;
+      border: 1px solid #274934;
+      text-align: center;
+      line-height: 25px;
+      cursor: pointer;
+    }
+
+    div:nth-child(1) {
+      border-radius: 13px 0px 0px 13px;
+    }
+
+    div:nth-child(3) {
+      border-radius: 0px 13px 13px 0px;
+    }
+
+    .active {
+      background-color: rgba(5, 187, 76, 0.9);
+      color: #fff;
+    }
+  }
+
+  .station {
+    display: flex;
+    flex-direction: row;
+    align-items: center;
+    font-size: 14px;
+    font-family: Microsoft YaHei;
+    font-weight: 400;
+    color: #b3b3b3;
+    margin-right: 10px;
+  }
+
+  .search-input {
+    margin-left: 10px;
+  }
+
+  .but {
+    display: flex;
+    flex-direction: row;
+    align-content: center;
+    margin-left: 20px;
+  }
+
+  .buttons {
+    background-color: rgba(5, 187, 76, 0.2);
+    border: 1px solid #3b6c53;
+    color: #b3b3b3;
+    font-size: 14px;
+
+    &:hover {
+      background-color: rgba(5, 187, 76, 0.5);
+      color: #ffffff;
+    }
+  }
+}
+.bodys {
+  width: 100%;
+  height: calc(100% - 350px - 43px - 20px);
+  background-color: rgba(0, 0, 0, 0.45);
+  border-radius: 5px;
+}
+.economicTable {
+  width: 100%;
+  height: calc(100% - 36px);
+}
+.line {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: space-between;
+  width: 100%;
+
+.leftContent[data-type~="greenSty"] {
+            background: url("~@/assets/imgs/title_left_bg1.png") no-repeat;
+        }
+        .leftContent[data-type~="blueSty"] {
+            background: url("~@/assets/imgs/title_left_bg.png") no-repeat;
+        }
+  .leftContent {
+    width: 242px;
+    height: 41px;
+    display: flex;
+    align-items: center;
+
+    span {
+      font-size: 16px;
+      font-family: Microsoft YaHei;
+      font-weight: 400;
+      color: #05bb4c;
+      margin-left: 25px;
+    }
+  }
+
+  .rightContent {
+    width: 212px;
+    height: 28px;
+    margin-top: 13px;
+    background: url("../../../../assets/imgs/title_right_bg.png");
+  }
+}
+
+.echarts {
+  width: 100%;
+  height: 350px;
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+
+  .chart-name {
+    display: flex;
+    align-items: center;
+    padding-left: 20px;
+    position: relative;
+    height: 39px;
+    width: 98%;
+    margin-left: 1%;
+    border-bottom: 1px solid rgba(153, 153, 153, 0.5);
+    font-size: 16px;
+    font-family: Microsoft YaHei;
+    font-weight: 400;
+    color: #ffffff;
+  }
+
+  .pie-echarts {
+    width: 30%;
+    height: 100%;
+    background: rgba(0, 0, 0, 0.45);
+    border-radius: 5px;
+  }
+
+  .bar-echarts {
+    width: 69%;
+    margin-left: 1%;
+    height: 100%;
+    background: rgba(0, 0, 0, 0.45);
+    border-radius: 5px;
+  }
+}
+
+.point {
+  width: 6px;
+  height: 1px;
+  background-color: #ffffff;
+  position: absolute;
+
+  &.point-left {
+    left: 0;
+  }
+  &.point-right {
+    right: 0;
+  }
+
+  &.top {
+    top: -1px;
+  }
+
+  &.bottom {
+    bottom: -1px;
+  }
+}
+
+/*去除表头全选框*/
+::v-deep .el-table__header-wrapper .el-checkbox {
+  display: none;
+}
+::v-deep .el-table__body-wrapper .el-checkbox {
+  .el-checkbox__input {
+    display: block;
+  }
+}
+</style>

+ 89 - 0
src/views/economicsOperation/benchmarkingManagement/singleMachineBenchmarking/dataJson.json

@@ -0,0 +1,89 @@
+{
+    "data": [
+        { "title": "日发电量", "code": "rfdl", "A01": "213" },
+        { "title": "月发电量", "code": "yfdl" },
+        { "title": "年发电量", "code": "nfdl" },
+        { "title": "日应发电量", "code": "ryfdl" },
+        { "title": "月应发电量", "code": "yyfdl" },
+        { "title": "年应发电量", "code": "nyfdl" },
+        { "title": "日平均功率", "code": "rpjgl" },
+        { "title": "月平均功率", "code": "ypjgl" },
+        { "title": "年平均功率", "code": "npjgl" },
+        { "title": "日平均风速", "code": "rpjfs" },
+        { "title": "月平均风速", "code": "ypjfs" },
+        { "title": "年平均风速", "code": "npjfs" },
+        { "title": "日运行小时", "code": "ryxxs" },
+        { "title": "月运行小时", "code": "yyxxs" },
+        { "title": "年运行小时", "code": "nyxxs" },
+        { "title": "日待机小时", "code": "rdjxs" },
+        { "title": "月待机小时", "code": "ydjxs" },
+        { "title": "年待机小时", "code": "ndjxs" },
+        { "title": "日故障小时", "code": "rgzxs" },
+        { "title": "月故障小时", "code": "ygzxs" },
+        { "title": "年故障小时", "code": "ngzxs" },
+        { "title": "日检修小时", "code": "rjxxs" },
+        { "title": "月检修小时", "code": "yjxxs" },
+        { "title": "年检修小时", "code": "njxxs" },
+        { "title": "日中断小时", "code": "rzdxs" },
+        { "title": "月中断小时", "code": "yzdxs" },
+        { "title": "年中断小时", "code": "nzdxs" },
+        { "title": "日有效风时", "code": "ryxfs" },
+        { "title": "月有效风时", "code": "yyxfs" },
+        { "title": "年有效风时", "code": "nyxfs" },
+        { "title": "日损失电量", "code": "rssdl" },
+        { "title": "月损失电量", "code": "yssdl" },
+        { "title": "年损失电量", "code": "nssdl" },
+        { "title": "日报警次数", "code": "rbjcs" },
+        { "title": "月报警次数", "code": "ybjcs" },
+        { "title": "年报警次数", "code": "nbjcs" },
+        { "title": "日停机次数", "code": "rtjcs" },
+        { "title": "月停机次数", "code": "ytjcs" },
+        { "title": "年停机数", "code": "ntjcs" },
+        { "title": "日不饱和数", "code": "rbbhcs" },
+        { "title": "月不饱和数", "code": "ybbhcs" },
+        { "title": "年不饱和数", "code": "nbbhcs" },
+        { "title": "日可利用率", "code": "rsbklyl" },
+        { "title": "月可利用率", "code": "ysbklyl" },
+        { "title": "年可利用率", "code": "nsbklyl" },
+        { "title": "日平均温度", "code": "rpjwd" },
+        { "title": "月平均温度", "code": "ypjwd" },
+        { "title": "年平均温度", "code": "npjwd" },
+        { "title": "日平均湿度", "code": "rpjsd" },
+        { "title": "月平均湿度", "code": "ypjsd" },
+        { "title": "年平均湿度", "code": "npjsd" },
+        { "title": "日平均压强", "code": "rpjyq" },
+        { "title": "月平均压强", "code": "ypjyq" },
+        { "title": "年平均压强", "code": "npjyq" },
+        { "title": "日拟合优度", "code": "rnhyd" },
+        { "title": "月拟合优度", "code": "ynhyd" },
+        { "title": "年拟合优度", "code": "nnhyd" },
+        { "title": "日实际/保证", "code": "rsjbz" },
+        { "title": "月实际/保证", "code": "ysjbz" },
+        { "title": "年实际/保正", "code": "nsjbz" },
+        { "title": "风资源", "code": "fzy" }
+    ],
+    "data1": [
+        { "title": "风电机", "code": "fdj", "A01": "213", "A02": "24", "A03": "789" },
+        { "title": "发电量", "code": "fdl", "A01": "213", "A02": "24", "A03": "789" },
+        { "title": "应发电量", "code": "yfdl", "A01": "213", "A02": "24", "A03": "789" },
+        { "title": "平均功率", "code": "pjgl", "A01": "213", "A02": "24", "A03": "789" },
+        { "title": "平均风速", "code": "pjfs", "A01": "213", "A02": "24", "A03": "789" },
+        { "title": "运行小时", "code": "yxxs", "A01": "213", "A02": "24", "A03": "789" },
+        { "title": "待机小时", "code": "djxs", "A01": "213", "A02": "24", "A03": "789" },
+        { "title": "故障小时", "code": "gzxs", "A01": "213", "A02": "24", "A03": "789" },
+        { "title": "维护小时", "code": "whxs", "A01": "213", "A02": "24", "A03": "789" },
+        { "title": "中断小时", "code": "zdxs", "A01": "213", "A02": "24", "A03": "789" },
+        { "title": "有效风时", "code": "yxfs", "A01": "213", "A02": "24", "A03": "789" },
+        { "title": "损失电量", "code": "ssdl", "A01": "213", "A02": "24", "A03": "789" },
+        { "title": "报警次数", "code": "bjcs", "A01": "213", "A02": "24", "A03": "789" },
+        { "title": "停机次数", "code": "tjcs", "A01": "213", "A02": "24", "A03": "789" },
+        { "title": "不饱和次数", "code": "bbhcs", "A01": "213", "A02": "24", "A03": "789" },
+        { "title": "设备可利用率", "code": "sbklyl", "A01": "213", "A02": "24", "A03": "789" },
+        { "title": "平均温度", "code": "pjwd", "A01": "213", "A02": "24", "A03": "789" },
+        { "title": "平均湿度", "code": "pjsd", "A01": "213", "A02": "24", "A03": "789" },
+        { "title": "平均压强", "code": "pjyq", "A01": "213", "A02": "24", "A03": "789" },
+        { "title": "拟合优度", "code": "nhyd", "A01": "213", "A02": "24", "A03": "789" },
+        { "title": "实际/保证", "code": "sjbz", "A01": "213", "A02": "24", "A03": "789" },
+        { "title": "风资源", "code": "fzy", "A01": "213", "A02": "24", "A03": "789" }
+    ]
+}