|
@@ -0,0 +1,713 @@
|
|
|
|
+<template>
|
|
|
|
+ <div class="box">
|
|
|
|
+ <div class="searchBar">
|
|
|
|
+ <el-form :inline="true" :model="formInline" class="demo-form-inline">
|
|
|
|
+ <el-row :gutter="1">
|
|
|
|
+ <el-form-item label="风场">
|
|
|
|
+ <el-select v-model="value" 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-date-picker
|
|
|
|
+ v-model="value2"
|
|
|
|
+ type="year"
|
|
|
|
+ placeholder="选择年"
|
|
|
|
+ value-format="yyyy">
|
|
|
|
+ </el-date-picker>
|
|
|
|
+ </el-form-item>
|
|
|
|
+
|
|
|
|
+ <el-form-item label="月份">
|
|
|
|
+ <el-date-picker
|
|
|
|
+ v-model="value3"
|
|
|
|
+ type="month"
|
|
|
|
+ placeholder="选择月"
|
|
|
|
+ value-format="MM"
|
|
|
|
+ >
|
|
|
|
+ </el-date-picker>
|
|
|
|
+ </el-form-item>
|
|
|
|
+
|
|
|
|
+ <el-form-item label="值际周期">
|
|
|
|
+ <el-select v-model="value4" placeholder="请选择">
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in options2"
|
|
|
|
+ :key="item.label"
|
|
|
|
+ :label="item.label"
|
|
|
|
+ :value="item.value"
|
|
|
|
+ >
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </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="queryApDataMx"
|
|
|
|
+ >风场对标</el-button
|
|
|
|
+ >
|
|
|
|
+ </el-form-item>
|
|
|
|
+
|
|
|
|
+ <el-form-item >
|
|
|
|
+ <el-button type="primary" @click="queryApDataMx"
|
|
|
|
+ >风机对标</el-button
|
|
|
|
+ >
|
|
|
|
+ </el-form-item>
|
|
|
|
+
|
|
|
|
+ <el-form-item>
|
|
|
|
+ <el-button type="primary" @click="clearAll">清空</el-button>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-row>
|
|
|
|
+ </el-form>
|
|
|
|
+ <el-table
|
|
|
|
+ :data="getTableDataAll"
|
|
|
|
+ :row-style="{ height: '10px' }"
|
|
|
|
+ :cell-style="{ textAlign: 'center',padding:'1px' }"
|
|
|
|
+ :header-cell-style="headStyle"
|
|
|
|
+ @selection-change="handleSelectionChange"
|
|
|
|
+ @sort-change="changeTableSort"
|
|
|
|
+ style="font-size: 10px;">
|
|
|
|
+ <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="95">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="ordernum"
|
|
|
|
+ label="综合排名"
|
|
|
|
+ width="70">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="scadafdlnum"
|
|
|
|
+ label="发电量排名"
|
|
|
|
+ width="70">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="scadafdl"
|
|
|
|
+ label="发电量"
|
|
|
|
+ width="65">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="gzssnum"
|
|
|
|
+ label="故障损失电量排名"
|
|
|
|
+ width="70">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="gzss"
|
|
|
|
+ label="故障损失电量"
|
|
|
|
+ width="70">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="jxsslnum"
|
|
|
|
+ label="检修损失电量排名"
|
|
|
|
+ width="70">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="jxssl"
|
|
|
|
+ label="检修损失电量"
|
|
|
|
+ width="70">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="xnsslnum"
|
|
|
|
+ label="性能损失电量排名"
|
|
|
|
+ width="70">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="xnssl"
|
|
|
|
+ label="性能损失电量"
|
|
|
|
+ width="70">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="xdssnum"
|
|
|
|
+ label="限电损失电量排名"
|
|
|
|
+ width="70">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="xdss"
|
|
|
|
+ label="限电损失电量"
|
|
|
|
+ width="70">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="slssnum"
|
|
|
|
+ label="受累损失电量排名"
|
|
|
|
+ width="70">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="slss"
|
|
|
|
+ label="受累损失电量"
|
|
|
|
+ width="70">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="fnlyl"
|
|
|
|
+ label="风能利用率(%)"
|
|
|
|
+ width="70">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="gzsslnum"
|
|
|
|
+ label="故障损失率排名"
|
|
|
|
+ width="70">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="gzssl"
|
|
|
|
+ label="故障损失率(%)"
|
|
|
|
+ width="70">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="jxsslnum"
|
|
|
|
+ label="检修损失率排名"
|
|
|
|
+ width="70">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="jxssl"
|
|
|
|
+ label="检修损失率(%)"
|
|
|
|
+ width="70">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="qflnum"
|
|
|
|
+ label="弃风率排名"
|
|
|
|
+ width="70">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="qfl"
|
|
|
|
+ label="弃风率(%)"
|
|
|
|
+ width="70">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="xnsslnum"
|
|
|
|
+ label="性能损失率排名"
|
|
|
|
+ width="70">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="xnssl"
|
|
|
|
+ label="性能损失率(%)"
|
|
|
|
+ width="70">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="slsslnum"
|
|
|
|
+ label="受累损失率排名"
|
|
|
|
+ width="70">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="slssl"
|
|
|
|
+ label="受累损失率(%)"
|
|
|
|
+ width="70">
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column
|
|
|
|
+ prop="address"
|
|
|
|
+ label="操作"
|
|
|
|
+ width="70">
|
|
|
|
+ <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>
|
|
|
|
+ </div>
|
|
|
|
+</template>
|
|
|
|
+<script>
|
|
|
|
+
|
|
|
|
+export default {
|
|
|
|
+ data(){
|
|
|
|
+ return{
|
|
|
|
+ formInline: {
|
|
|
|
+ windfarm: "",
|
|
|
|
+ project: "",
|
|
|
|
+ line: "",
|
|
|
|
+ },
|
|
|
|
+ options: [{
|
|
|
|
+ value: 'MHS_FDC',
|
|
|
|
+ label: '麻黄山风电场'
|
|
|
|
+ }, {
|
|
|
|
+ value: 'NSS_FDC',
|
|
|
|
+ label: '牛首山风电场'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ value: 'SBQ_FDC',
|
|
|
|
+ label: '石板泉风电场'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ value: 'QS_FDC',
|
|
|
|
+ label: '青山风电场'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ value: 'XS_FDC',
|
|
|
|
+ label: '香山风电场'
|
|
|
|
+ }],
|
|
|
|
+ value:"",
|
|
|
|
+ value2:"",
|
|
|
|
+ value3:"",
|
|
|
|
+ value4:"",
|
|
|
|
+ ortInOrder:[],
|
|
|
|
+ sortInOrderTop:[],
|
|
|
|
+ sortInOrde2:[],
|
|
|
|
+ getTableData:[],
|
|
|
|
+ fdcName1:'',
|
|
|
|
+ fdcName2:'',
|
|
|
|
+ dialogTableVisible:false,
|
|
|
|
+ year:"",
|
|
|
|
+ month:"",
|
|
|
|
+ cid:[],
|
|
|
|
+ wpId:[],
|
|
|
|
+ options2: [
|
|
|
|
+ {
|
|
|
|
+ value: '1',
|
|
|
|
+ label: '一值'
|
|
|
|
+ }, {
|
|
|
|
+ value: '2',
|
|
|
|
+ label: '二值'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ value: '3',
|
|
|
|
+ label: '三值'
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ ],
|
|
|
|
+ classification: [{
|
|
|
|
+ id:'qf',
|
|
|
|
+ label: '弃风率'
|
|
|
|
+ }, {
|
|
|
|
+ id:'gz',
|
|
|
|
+ label: '故障损失率'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ id:'jx',
|
|
|
|
+ label: '检修损失率'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ id:'xn',
|
|
|
|
+ label: '性能损失率'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ id:'sl',
|
|
|
|
+ label: '受累损失率'
|
|
|
|
+ }],
|
|
|
|
+ multipleSelection:[],
|
|
|
|
+ getTableDataAll:[],
|
|
|
|
+ pagesize:10,
|
|
|
|
+ currentPage2: 1,
|
|
|
|
+ doesExist:'no',
|
|
|
|
+ tableData: [{
|
|
|
|
+ date: '2016-05-02',
|
|
|
|
+ name: '王小虎',
|
|
|
|
+ address: '上海市普陀区金沙江路 1518 弄'
|
|
|
|
+ }, {
|
|
|
|
+ date: '2016-05-04',
|
|
|
|
+ name: '王小虎',
|
|
|
|
+ address: '上海市普陀区金沙江路 1517 弄'
|
|
|
|
+ }, {
|
|
|
|
+ date: '2016-05-01',
|
|
|
|
+ name: '王小虎',
|
|
|
|
+ address: '上海市普陀区金沙江路 1519 弄'
|
|
|
|
+ }, {
|
|
|
|
+ date: '2016-05-03',
|
|
|
|
+ name: '王小虎',
|
|
|
|
+ address: '上海市普陀区金沙江路 1516 弄'
|
|
|
|
+ }]
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ created(){
|
|
|
|
+ this.InterValueDatainitial();
|
|
|
|
+ },
|
|
|
|
+ methods:{
|
|
|
|
+ headStyle() {
|
|
|
|
+ return "text-align:center"
|
|
|
|
+ },
|
|
|
|
+ queryApData() {
|
|
|
|
+ this.InterValueData();
|
|
|
|
+ },
|
|
|
|
+ queryApDataMx() {
|
|
|
|
+ this.dialogTableVisible = true;
|
|
|
|
+ this.$nextTick(function() {
|
|
|
|
+ this.drawPie('leiDaTu')
|
|
|
|
+ })
|
|
|
|
+ this.$nextTick(function() {
|
|
|
|
+ this.drawPie2('leiDaTu2')
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ handleEdit(a,b){
|
|
|
|
+ this.cid = [];
|
|
|
|
+ this.wpId = [];
|
|
|
|
+ if(this.multipleSelection.length == 2){
|
|
|
|
+ for(let i=0;i<this.multipleSelection.length;i++){
|
|
|
|
+ this.cid.push(this.multipleSelection[i].cid)
|
|
|
|
+ this.wpId.push(this.multipleSelection[i].wpId)
|
|
|
|
+ }
|
|
|
|
+ this.$router.push({
|
|
|
|
+ path:'/interValueLineTable',
|
|
|
|
+ query:{
|
|
|
|
+ cid:this.cid,
|
|
|
|
+ wpId:this.wpId
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ else{
|
|
|
|
+ console.log(b)
|
|
|
|
+ this.$router.push({
|
|
|
|
+ path:'/interValueLineTable',
|
|
|
|
+ query:{
|
|
|
|
+ cid:b.cid,
|
|
|
|
+ wpId:b.wpId
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ 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});
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ },
|
|
|
|
+ changeTableSort(column){
|
|
|
|
+ this.orderByColumn = column.prop;
|
|
|
|
+ if(column.order == "descending"){
|
|
|
|
+ this.isAsc = 'desc';
|
|
|
|
+ }else if(column.order == "ascending"){
|
|
|
|
+ this.isAsc = "asc";
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ InterValueDatainitial(){
|
|
|
|
+ let that = this;
|
|
|
|
+ this.$http.get('/powercompare/windfarmAjax').then((res) => {
|
|
|
|
+ that.options = res.data.data;
|
|
|
|
+ })
|
|
|
|
+ var valueData1 = new URLSearchParams();
|
|
|
|
+ valueData1.append('wpId','MHS_FDC');
|
|
|
|
+ valueData1.append('year',"2021");
|
|
|
|
+ valueData1.append('month',"1");
|
|
|
|
+ valueData1.append('zjs',"1")
|
|
|
|
+ this.$http.post('/contrast/addBenchmarkZj',valueData1).then((res) => {
|
|
|
|
+ that.tableData = res.data.data;
|
|
|
|
+ for(let i=0;i<that.tableData.length;i++){
|
|
|
|
+ that.getTableDataAll.push(that.tableData[i])
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ var valueData2 = new URLSearchParams();
|
|
|
|
+ valueData2.append('wpId','NSS_FDC');
|
|
|
|
+ valueData2.append('year',"2021");
|
|
|
|
+ valueData2.append('month',"1");
|
|
|
|
+ valueData2.append('zjs',"1")
|
|
|
|
+ this.$http.post('/contrast/addBenchmarkZj',valueData2).then((res) => {
|
|
|
|
+ that.tableData = res.data.data;
|
|
|
|
+ for(let i=0;i<that.tableData.length;i++){
|
|
|
|
+ that.getTableDataAll.push(that.tableData[i])
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ var valueData3 = new URLSearchParams();
|
|
|
|
+ valueData3.append('wpId','SBQ_FDC');
|
|
|
|
+ valueData3.append('year',"2021");
|
|
|
|
+ valueData3.append('month',"1");
|
|
|
|
+ valueData3.append('zjs',"1")
|
|
|
|
+ this.$http.post('/contrast/addBenchmarkZj',valueData3).then((res) => {
|
|
|
|
+ that.tableData = res.data.data;
|
|
|
|
+ for(let i=0;i<that.tableData.length;i++){
|
|
|
|
+ that.getTableDataAll.push(that.tableData[i])
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ var valueData4 = new URLSearchParams();
|
|
|
|
+ valueData4.append('wpId','QS_FDC');
|
|
|
|
+ valueData4.append('year',"2021");
|
|
|
|
+ valueData4.append('month',"1");
|
|
|
|
+ valueData4.append('zjs',"1")
|
|
|
|
+ this.$http.post('/contrast/addBenchmarkZj',valueData4).then((res) => {
|
|
|
|
+ that.tableData = res.data.data;
|
|
|
|
+ for(let i=0;i<that.tableData.length;i++){
|
|
|
|
+ that.getTableDataAll.push(that.tableData[i])
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ var valueData5 = new URLSearchParams();
|
|
|
|
+ valueData5.append('wpId','XS_FDC');
|
|
|
|
+ valueData5.append('year',"2021");
|
|
|
|
+ valueData5.append('month',"1");
|
|
|
|
+ valueData5.append('zjs',"1")
|
|
|
|
+ this.$http.post('/contrast/addBenchmarkZj',valueData5).then((res) => {
|
|
|
|
+ that.tableData = res.data.data;
|
|
|
|
+ for(let i=0;i<that.tableData.length;i++){
|
|
|
|
+ that.getTableDataAll.push(that.tableData[i])
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ InterValueData(){
|
|
|
|
+ let that = this;
|
|
|
|
+ this.doesExist = 'no';
|
|
|
|
+ var valueData = new URLSearchParams();
|
|
|
|
+ valueData.append('wpId',this.value);
|
|
|
|
+ valueData.append('year',this.value2);
|
|
|
|
+ valueData.append('month',this.value3);
|
|
|
|
+ valueData.append('zjs',this.value4)
|
|
|
|
+ this.$http.post('/contrast/addBenchmarkZj',valueData).then((res) => {
|
|
|
|
+ that.tableData = res.data.data;
|
|
|
|
+ // console.log(that.getTableDataAll)
|
|
|
|
+ console.log(that.tableData)
|
|
|
|
+ for(let i=0;i<that.getTableDataAll.length;i++){
|
|
|
|
+ for(let j=0;j<that.tableData.length;j++){
|
|
|
|
+ if(that.getTableDataAll[i].wpId == that.tableData[j].wpId && that.getTableDataAll[i].zjName == that.tableData[j].zjName){
|
|
|
|
+ that.doesExist = 'yes';
|
|
|
|
+ this.$message.error("此值在表中已存在");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(that.doesExist == 'no'){
|
|
|
|
+ for(let i=0;i<that.tableData.length;i++){
|
|
|
|
+ that.getTableDataAll.push(that.tableData[i])
|
|
|
|
+ }
|
|
|
|
+ this.$message.error("添加成功");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ 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);
|
|
|
|
+
|
|
|
|
+ },
|
|
|
|
+ clearAll(){
|
|
|
|
+ this.getTableDataAll = [];
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+</script>
|
|
|
|
+<style lang="scss" scoped>
|
|
|
|
+ .box{
|
|
|
|
+ width: 100%;
|
|
|
|
+ display: flex;
|
|
|
|
+ justify-content: space-around;
|
|
|
|
+ align-items: center;
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ }
|
|
|
|
+ .searchBar{
|
|
|
|
+ margin-top: 1%;
|
|
|
|
+ }
|
|
|
|
+ #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;
|
|
|
|
+ }
|
|
|
|
+</style>
|