|
@@ -1,6 +1,6 @@
|
|
|
<template>
|
|
|
<div class="znzhfx">
|
|
|
- <el-scrollbar height="1022px">
|
|
|
+ <el-scrollbar height="910px">
|
|
|
<el-row :gutter="20" class="table-panel">
|
|
|
<el-col :span="24">
|
|
|
<div class="back">
|
|
@@ -60,7 +60,11 @@
|
|
|
</div>
|
|
|
<div class="mg-b-16">
|
|
|
<panel :title="'损失电量分析'" :showLine="true">
|
|
|
- <multiple-bar-line-chart :height="'21.296vh'" :barData="bar1Data" />
|
|
|
+ <multiple-bar-line-chart
|
|
|
+ :height="'21.296vh'"
|
|
|
+ :barData="bar1Data"
|
|
|
+ :lineData="lineData"
|
|
|
+ />
|
|
|
</panel>
|
|
|
</div>
|
|
|
<div class="mg-b-16">
|
|
@@ -69,8 +73,8 @@
|
|
|
</panel>
|
|
|
</div>
|
|
|
<div class="mg-b-16">
|
|
|
- <panel :title="'损失电量分析'" :showLine="true" :list="list">
|
|
|
- <double-line-chart :height="'21.296vh'" />
|
|
|
+ <panel :title="'损失电量分析'" :showLine="true" >
|
|
|
+ <double-line-chart :height="'21.296vh'" :list="list" />
|
|
|
</panel>
|
|
|
</div>
|
|
|
</el-scrollbar>
|
|
@@ -95,32 +99,32 @@ export default {
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
- wtId:'',
|
|
|
- year:'',
|
|
|
- month:'',
|
|
|
- tableVal:'',
|
|
|
- tabrow:{
|
|
|
- "fdl":'实际发电量(万千瓦时)',
|
|
|
- "fs":'平均风速(m/s)',
|
|
|
- "gzss":'故障损失电量(万千瓦时)',
|
|
|
- "jxss":'计划检修损失电量(万千瓦时)',
|
|
|
- "xdss":'调度限电损失电量(万千瓦时)',
|
|
|
- "xnss":'性能未达标损失电量(万千瓦时)',
|
|
|
- "slss":'受累损失电量(万千瓦时)',
|
|
|
- "llfdl":'理论发电量(万千瓦时)',
|
|
|
- "gzxs":'故障停运时间(小时)',
|
|
|
- "jxxs":'检修停运时间(小时)',
|
|
|
- "tjxs":'待机时间(小时)',
|
|
|
- "zdxs":'通讯中断时间(小时)',
|
|
|
- "yxxs":'并网时间(小时)',
|
|
|
- "lyxs":'设备利用小时(小时)',
|
|
|
- "sbklyl":'设备利用率(%)',
|
|
|
- "dxklyxs":'等效可用系数(%)',
|
|
|
- "xfqr":'小风切入风速(m/s)',
|
|
|
- "glyzxxs":'功率特性一致性系数(%)',
|
|
|
- "yxfss":'有效风时数(小时)',
|
|
|
- "xfqrhgl":'小风切入合格率(%)',
|
|
|
- "jfpl":'静风频率(%)',
|
|
|
+ wtId: "",
|
|
|
+ year: "",
|
|
|
+ month: "",
|
|
|
+ tableVal: "",
|
|
|
+ tabrow: {
|
|
|
+ fdl: "实际发电量(万千瓦时)",
|
|
|
+ fs: "平均风速(m/s)",
|
|
|
+ gzss: "故障损失电量(万千瓦时)",
|
|
|
+ jxss: "计划检修损失电量(万千瓦时)",
|
|
|
+ xdss: "调度限电损失电量(万千瓦时)",
|
|
|
+ xnss: "性能未达标损失电量(万千瓦时)",
|
|
|
+ slss: "受累损失电量(万千瓦时)",
|
|
|
+ llfdl: "理论发电量(万千瓦时)",
|
|
|
+ gzxs: "故障停运时间(小时)",
|
|
|
+ jxxs: "检修停运时间(小时)",
|
|
|
+ tjxs: "待机时间(小时)",
|
|
|
+ zdxs: "通讯中断时间(小时)",
|
|
|
+ yxxs: "并网时间(小时)",
|
|
|
+ lyxs: "设备利用小时(小时)",
|
|
|
+ sbklyl: "设备利用率(%)",
|
|
|
+ dxklyxs: "等效可用系数(%)",
|
|
|
+ xfqr: "小风切入风速(m/s)",
|
|
|
+ glyzxxs: "功率特性一致性系数(%)",
|
|
|
+ yxfss: "有效风时数(小时)",
|
|
|
+ xfqrhgl: "小风切入合格率(%)",
|
|
|
+ jfpl: "静风频率(%)",
|
|
|
},
|
|
|
tableData2: {
|
|
|
column: [
|
|
@@ -163,6 +167,41 @@ export default {
|
|
|
bar1Data: [
|
|
|
{
|
|
|
title: "日发电量",
|
|
|
+ yAxisIndex: 0,
|
|
|
+ value: [
|
|
|
+ {
|
|
|
+ text: "05-01",
|
|
|
+ value: 1,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: "05-01",
|
|
|
+ value: 2,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: "05-01",
|
|
|
+ value: 1,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: "05-01",
|
|
|
+ value: 3,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: "05-01",
|
|
|
+ value: 3,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: "05-01",
|
|
|
+ value: 3,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ text: "05-01",
|
|
|
+ value: 3,
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ title: "风速",
|
|
|
+ yAxisIndex: 0,
|
|
|
value: [
|
|
|
{
|
|
|
text: "05-01",
|
|
@@ -195,6 +234,11 @@ export default {
|
|
|
],
|
|
|
},
|
|
|
],
|
|
|
+ lineData: {
|
|
|
+ name: "风速",
|
|
|
+ unit: "km",
|
|
|
+ data: [200, 800, 400, 500, 800, 700, 800, 900, 200],
|
|
|
+ },
|
|
|
bar2data: {
|
|
|
area: [
|
|
|
"05-01",
|
|
@@ -318,135 +362,152 @@ export default {
|
|
|
this.wtId = this.$route.params.wtId;
|
|
|
this.year = this.$route.params.year;
|
|
|
this.month = this.$route.params.month;
|
|
|
- this.search()
|
|
|
- this.searchChart()
|
|
|
+ this.search();
|
|
|
+ this.searchChart();
|
|
|
},
|
|
|
- filters:{
|
|
|
- tabrowfil(val){
|
|
|
- return this.tabrow[val]
|
|
|
- }
|
|
|
+ filters: {
|
|
|
+ tabrowfil(val) {
|
|
|
+ return this.tabrow[val];
|
|
|
+ },
|
|
|
},
|
|
|
- methods:{
|
|
|
+ methods: {
|
|
|
async search() {
|
|
|
const { data } = await this.API.requestData({
|
|
|
subUrl: "/singleanalysis/singleanalysisSub",
|
|
|
- method:'POST',
|
|
|
- data:{
|
|
|
- wtId : this.wtId,
|
|
|
- year : this.year,
|
|
|
- month : this.month,
|
|
|
- }
|
|
|
+ method: "POST",
|
|
|
+ data: {
|
|
|
+ wtId: this.wtId,
|
|
|
+ year: this.year,
|
|
|
+ month: this.month,
|
|
|
+ },
|
|
|
});
|
|
|
console.warn(data.data);
|
|
|
- const res = data.data
|
|
|
- this.tableVal = data.data
|
|
|
+ const res = data.data;
|
|
|
+ this.tableVal = data.data;
|
|
|
console.warn(this.tableVal);
|
|
|
- let arr=[];
|
|
|
- let keyarr = Object.keys(res.byzb)
|
|
|
+ let arr = [];
|
|
|
+ let keyarr = Object.keys(res.byzb);
|
|
|
console.warn(keyarr);
|
|
|
- let jarr = Object.keys(res)
|
|
|
- for(let k of keyarr){
|
|
|
- let obj={
|
|
|
- 'name' : k,
|
|
|
- 'byzb' : null,
|
|
|
- 'hbzb' : null,
|
|
|
- 'hqzb' : null,
|
|
|
- 'tbzb' : null,
|
|
|
- 'tqzb' : null,
|
|
|
- }
|
|
|
- for(let i in res){
|
|
|
- for(let j of jarr){
|
|
|
- if(i == j){
|
|
|
- obj[j] = res[i][k]
|
|
|
- }
|
|
|
+ let jarr = Object.keys(res);
|
|
|
+ for (let k of keyarr) {
|
|
|
+ let obj = {
|
|
|
+ name: k,
|
|
|
+ byzb: null,
|
|
|
+ hbzb: null,
|
|
|
+ hqzb: null,
|
|
|
+ tbzb: null,
|
|
|
+ tqzb: null,
|
|
|
+ };
|
|
|
+ for (let i in res) {
|
|
|
+ for (let j of jarr) {
|
|
|
+ if (i == j) {
|
|
|
+ obj[j] = res[i][k];
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- arr.push(obj)
|
|
|
+ arr.push(obj);
|
|
|
}
|
|
|
- arr= arr.filter((e)=>{
|
|
|
- return e.name != 'id' && e.name != 'windturbineid' && e.name != 'windturbineName'
|
|
|
- && e.name != 'windPowerStationId' && e.name != 'windPowerStationName'
|
|
|
- && e.name != 'recorddate' && e.name != 'swdl'&& e.name != 'gwdl'
|
|
|
- && e.name != 'rlxs' && e.name != 'fjrl'
|
|
|
- })
|
|
|
- arr.forEach(e=>{
|
|
|
- e.name = this.tabrow[e.name]
|
|
|
- })
|
|
|
- this.tableData2.data = arr
|
|
|
+ arr = arr.filter((e) => {
|
|
|
+ return (
|
|
|
+ e.name != "id" &&
|
|
|
+ e.name != "windturbineid" &&
|
|
|
+ e.name != "windturbineName" &&
|
|
|
+ e.name != "windPowerStationId" &&
|
|
|
+ e.name != "windPowerStationName" &&
|
|
|
+ e.name != "recorddate" &&
|
|
|
+ e.name != "swdl" &&
|
|
|
+ e.name != "gwdl" &&
|
|
|
+ e.name != "rlxs" &&
|
|
|
+ e.name != "fjrl"
|
|
|
+ );
|
|
|
+ });
|
|
|
+ arr.forEach((e) => {
|
|
|
+ e.name = this.tabrow[e.name];
|
|
|
+ });
|
|
|
+ this.tableData2.data = arr;
|
|
|
console.warn(arr);
|
|
|
},
|
|
|
- async searchChart() {
|
|
|
+ async searchChart() {
|
|
|
const { data } = await this.API.requestData({
|
|
|
subUrl: "/singleanalysis/singleanalysisChart",
|
|
|
- method:'POST',
|
|
|
- data:{
|
|
|
- wtId : this.wtId,
|
|
|
- year : this.year,
|
|
|
- month : this.month,
|
|
|
- }
|
|
|
+ method: "POST",
|
|
|
+ data: {
|
|
|
+ wtId: this.wtId,
|
|
|
+ year: this.year,
|
|
|
+ month: this.month,
|
|
|
+ },
|
|
|
});
|
|
|
console.warn(data.data);
|
|
|
- const res = data.data
|
|
|
- let arrff=[];
|
|
|
- res.ff.forEach(e => {
|
|
|
- let obj={
|
|
|
- text: new Date(e.recorddate ).formatDate("MM-dd"),
|
|
|
- value:e.fdl,
|
|
|
- }
|
|
|
- arrff.push(obj)
|
|
|
+ const res = data.data;
|
|
|
+ let arrfffdl = [];
|
|
|
+ let arrfffs = [];
|
|
|
+ res.ff.forEach((e) => {
|
|
|
+ let obj = {
|
|
|
+ text: new Date(e.recorddate).formatDate("MM-dd"),
|
|
|
+ value: e.fdl,
|
|
|
+ };
|
|
|
+ let obj1 = {
|
|
|
+ text: new Date(e.recorddate).formatDate("MM-dd"),
|
|
|
+ value: e.fs,
|
|
|
+ };
|
|
|
+ arrfffdl.push(obj);
|
|
|
+ arrfffs.push(obj1);
|
|
|
});
|
|
|
- this.bar1Data[0].value = arrff
|
|
|
+ this.bar1Data[0].value = arrfffdl;
|
|
|
+ this.lineData.data = arrfffs;
|
|
|
////
|
|
|
- let arrjdjf=[];
|
|
|
- let arrjddj=[];
|
|
|
- res.jd.forEach(e => {
|
|
|
- let obj={
|
|
|
- text: new Date(e.recorddate ).formatDate("MM-dd"),
|
|
|
- value:e.jfpl,
|
|
|
- }
|
|
|
- let obj1={
|
|
|
- text: new Date(e.recorddate ).formatDate("MM-dd"),
|
|
|
- value:e.tjxs,
|
|
|
- }
|
|
|
- arrjdjf.push(obj)
|
|
|
- arrjddj.push(obj1)
|
|
|
+ let arrjdjf = [];
|
|
|
+ let arrjddj = [];
|
|
|
+ res.jd.forEach((e) => {
|
|
|
+ let obj = {
|
|
|
+ text: new Date(e.recorddate).formatDate("MM-dd"),
|
|
|
+ value: e.jfpl,
|
|
|
+ };
|
|
|
+ let obj1 = {
|
|
|
+ text: new Date(e.recorddate).formatDate("MM-dd"),
|
|
|
+ value: e.tjxs,
|
|
|
+ };
|
|
|
+ arrjdjf.push(obj);
|
|
|
+ arrjddj.push(obj1);
|
|
|
});
|
|
|
- let obj={
|
|
|
+ let obj = {
|
|
|
title: "静风时长(小时)",
|
|
|
smooth: false,
|
|
|
- value:arrjdjf
|
|
|
- }
|
|
|
- let obj1={
|
|
|
+ value: arrjdjf,
|
|
|
+ };
|
|
|
+ let obj1 = {
|
|
|
title: "待机时长(小时)",
|
|
|
smooth: false,
|
|
|
- value:arrjddj
|
|
|
- }
|
|
|
- this.list =[]
|
|
|
- this.list.push(obj)
|
|
|
- this.list.push(obj1)
|
|
|
+ value: arrjddj,
|
|
|
+ };
|
|
|
+ this.list = [];
|
|
|
+ this.list.push(obj);
|
|
|
+ this.list.push(obj1);
|
|
|
console.warn(this.list);
|
|
|
/////
|
|
|
- let arrwsarea=[];
|
|
|
- let arrwslegend=["限电损失电量",
|
|
|
- "性能未达标损失电量",
|
|
|
- "检修损失电量",
|
|
|
- "故障损失电量",
|
|
|
- "受累损失电量" ];
|
|
|
- let arrwsdata=[];
|
|
|
- res.ws.forEach(e => {
|
|
|
- let arr=[]
|
|
|
- for(let k of ['xdss','xnss','jxss','gzss','slss']){
|
|
|
- arr.push(e[k])
|
|
|
+ let arrwsarea = [];
|
|
|
+ let arrwslegend = [
|
|
|
+ "限电损失电量",
|
|
|
+ "性能未达标损失电量",
|
|
|
+ "检修损失电量",
|
|
|
+ "故障损失电量",
|
|
|
+ "受累损失电量",
|
|
|
+ ];
|
|
|
+ let arrwsdata = [];
|
|
|
+ res.ws.forEach((e) => {
|
|
|
+ let arr = [];
|
|
|
+ for (let k of ["xdss", "xnss", "jxss", "gzss", "slss"]) {
|
|
|
+ arr.push(e[k]);
|
|
|
}
|
|
|
- arrwsdata.push(arr)
|
|
|
- arrwsarea.push(new Date(e.recorddate ).formatDate("MM-dd"))
|
|
|
+ arrwsdata.push(arr);
|
|
|
+ arrwsarea.push(new Date(e.recorddate).formatDate("MM-dd"));
|
|
|
});
|
|
|
- this.bar2data.area = arrwsarea
|
|
|
- this.bar2data.legend = arrwslegend
|
|
|
- this.bar2data.data = arrwsdata
|
|
|
+ this.bar2data.area = arrwsarea;
|
|
|
+ this.bar2data.legend = arrwslegend;
|
|
|
+ this.bar2data.data = arrwsdata;
|
|
|
console.warn(this.bar2data);
|
|
|
},
|
|
|
- }
|
|
|
+ },
|
|
|
};
|
|
|
</script>
|
|
|
|