|
@@ -6,35 +6,37 @@
|
|
|
<div class="item" @click="tabSelect(1)" :class="{ active: tabIndex == 1 }">风机日详细信息</div>
|
|
|
<div class="item" @click="tabSelect(2)" :class="{ active: tabIndex == 2 }">风场玫瑰图</div>
|
|
|
<div class="item" @click="tabSelect(3)" :class="{ active: tabIndex == 3 }">风机玫瑰图</div>
|
|
|
- <div class="item" @click="tabSelect(3)" :class="{ active: tabIndex == 4 }">风机切入切出分析</div>
|
|
|
+ <div class="item" @click="tabSelect(4)" :class="{ active: tabIndex == 4 }">风机切入切出分析</div>
|
|
|
</div>
|
|
|
<div class="query mg-b-16">
|
|
|
<div class="query-items">
|
|
|
<div class="query-item">
|
|
|
<div class="lable">风场:</div>
|
|
|
<div class="search-input">
|
|
|
- <el-select v-model="value1" clearable placeholder="请选择" popper-class="select">
|
|
|
- <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option>
|
|
|
+ <el-select v-model="wpId" clearable placeholder="请选择" popper-class="select" @change="getWtArray">
|
|
|
+ <el-option v-for="item in wpArray" :key="item.id" :value="item.id" :label="item.name" />
|
|
|
</el-select>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="query-item">
|
|
|
<div class="lable">风机:</div>
|
|
|
<div class="search-input">
|
|
|
- <el-select v-model="value2" multiple placeholder="请选择" popper-class="select">
|
|
|
- <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option>
|
|
|
+ <el-select v-model="wtId" clearable placeholder="请选择" popper-class="select">
|
|
|
+ <el-option v-for="item in wtArray" :key="item.id" :value="item.id" :label="item.name" />
|
|
|
</el-select>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="query-item">
|
|
|
<div class="lable">日期:</div>
|
|
|
<div class="search-input">
|
|
|
- <el-date-picker v-model="value4" type="date" placeholder="选择日期" popper-class="date-select"> </el-date-picker>
|
|
|
+ <el-date-picker v-model="recorddate" type="date" value-format="YYYY-MM-DD" placeholder="选择日期"
|
|
|
+ popper-class="date-select">
|
|
|
+ </el-date-picker>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="query-actions">
|
|
|
- <button class="btn green">搜索</button>
|
|
|
+ <button class="btn green" @click="search">搜索</button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -42,20 +44,21 @@
|
|
|
<!-- tab1 -->
|
|
|
<div v-if="tabIndex == 0" class="tab-1">
|
|
|
<panel :title="'损失电量分析'" class="mg-b-16">
|
|
|
- <area-bar-chart :height="'23.1481vh'" />
|
|
|
+ <area-bar-chart :height="'23.1481vh'" :bardata="{ legend: [] }" :lineData="lostChartData" :units="lostChartUnit"
|
|
|
+ :areaData="LostChartBgColorData" :showLegend="true" />
|
|
|
</panel>
|
|
|
<panel :title="'电量'" class="mg-b-16">
|
|
|
- <multiple-bar-line-chart :height="'16.6667vh'" />
|
|
|
+ <multiple-bar-line-chart :height="'16.6667vh'" :barData="powerChartData" :lineData="powerChartLineData" :units="['(kWh)']" :showLegend="true" />
|
|
|
</panel>
|
|
|
<div class="table-info">
|
|
|
<panel class="table-panel" :title="'当日报警记录'" :showLine="false">
|
|
|
- <Table :data="tableData" :canScroll="true" :height="'32.5vh'" />
|
|
|
+ <Table :data="warnTableData" :canScroll="true" :height="'32.5vh'" />
|
|
|
</panel>
|
|
|
- <panel class="table-panel" :title="'当日报警记录'" :showLine="false">
|
|
|
- <Table :data="tableData" :canScroll="true" :height="'32.5vh'" />
|
|
|
+ <panel class="table-panel" :title="'当日故障记录'" :showLine="false">
|
|
|
+ <Table :data="stopTableData" :canScroll="true" :height="'32.5vh'" />
|
|
|
</panel>
|
|
|
- <panel class="table-panel" :title="'当日报警记录'" :showLine="false">
|
|
|
- <Table :data="tableData" :canScroll="true" :height="'32.5vh'" />
|
|
|
+ <panel class="table-panel" :title="'当日限电记录'" :showLine="false">
|
|
|
+ <Table :data="xdTableData" :canScroll="true" :height="'32.5vh'" />
|
|
|
</panel>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -65,13 +68,89 @@
|
|
|
<el-row>
|
|
|
<el-col :span="15">
|
|
|
<panel :title="'功率曲线'" class="mg-b-16">
|
|
|
- <marker-line-chart :height="'28vh'" />
|
|
|
+ <marker-line-chart :height="'28vh'" :list="powerLineChartData" :showLegend="true" />
|
|
|
</panel>
|
|
|
<panel :title="'日发电量信息'" class="mg-b-16 outline" :showLine="false">
|
|
|
<div class="power-info">
|
|
|
- <div class="info-item" v-for="index in 20" :key="index">
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">发电量:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c1}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">理论发电量:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c4}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">平均功率:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c7}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">平均风速:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c10}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">拟合优度:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c55}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">运行小时:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c13}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">停机小时:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c16}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">故障小时:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c19}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">维护小时:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c22}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">中断小时:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c25}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">有效风时数:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c28}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">损失电量:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c31}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">报警次数:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c34}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">停机次数:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c37}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">不饱和次数:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c40}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
<div class="text">设备可利用率:</div>
|
|
|
- <div class="value green">115.01</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c43}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">实际/保证偏差率:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c58}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">平均温度:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c46}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">平均湿度:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c49}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">平均压强:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c52}}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</panel>
|
|
@@ -79,19 +158,79 @@
|
|
|
<div class="month-info-left">
|
|
|
<panel :title="'月发电量信息'" class="mg-b-16 outline" :showLine="false">
|
|
|
<div class="power-info month-3">
|
|
|
- <div class="info-item" v-for="index in 15" :key="index">
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">月发电量:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c2}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">月理论发电量:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c5}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">月平均功率:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c8}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">月平均风速:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c11}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">月拟合优度:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c56}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">月运行小时:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c14}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">月停机小时:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c17}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">月故障小时:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c20}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">月维护小时:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c23}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">月中断小时:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c26}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">月有效风时数:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c29}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">月报警次数:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c35}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">月停机次数:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c38}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
<div class="text">月实际/保证:</div>
|
|
|
- <div class="value green">115.01</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c59}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">设备可利用率:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c44}}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</panel>
|
|
|
</div>
|
|
|
<div class="month-info-right">
|
|
|
- <panel :title="'月发电量信息'" class="mg-b-16 outline" :showLine="false">
|
|
|
+ <panel :title="'年发电量信息'" class="mg-b-16 outline" :showLine="false">
|
|
|
<div class="power-info month-2">
|
|
|
- <div class="info-item" v-for="index in 2" :key="index">
|
|
|
- <div class="text">月实际/保证:</div>
|
|
|
- <div class="value green">115.01</div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">年发电量:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c3}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="info-item">
|
|
|
+ <div class="text">年拟合优度:</div>
|
|
|
+ <div class="value green">{{dayPowerInfo.c57}}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</panel>
|
|
@@ -99,9 +238,9 @@
|
|
|
<div class="wind-info">
|
|
|
<div class="legend mg-r-16">
|
|
|
<span class="dot"></span>
|
|
|
- <span>静风频率为2</span>
|
|
|
+ <span>{{jfplStr}}</span>
|
|
|
</div>
|
|
|
- <direction-radar-chart :width="'60%'" :height="'180px'" />
|
|
|
+ <direction-radar-chart :width="'60%'" :height="'152px'" :value="windResourcesData" :showLegend="true" />
|
|
|
</div>
|
|
|
</panel>
|
|
|
</div>
|
|
@@ -109,13 +248,13 @@
|
|
|
</el-col>
|
|
|
<el-col :span="9">
|
|
|
<panel class="table-panel outline mg-b-16" :title="'当日报警记录'" :showLine="false">
|
|
|
- <Table :data="tableData" :canScroll="true" :height="'23vh'" />
|
|
|
+ <Table :data="warnTableData" :canScroll="true" :height="'23vh'" />
|
|
|
</panel>
|
|
|
- <panel class="table-panel outline mg-b-16" :title="'当日报警记录'" :showLine="false">
|
|
|
- <Table :data="tableData" :canScroll="true" :height="'23vh'" />
|
|
|
+ <panel class="table-panel outline mg-b-16" :title="'当日故障记录'" :showLine="false">
|
|
|
+ <Table :data="stopTableData" :canScroll="true" :height="'23vh'" />
|
|
|
</panel>
|
|
|
- <panel class="table-panel outline" :title="'当日报警记录'" :showLine="false">
|
|
|
- <Table :data="tableData" :canScroll="true" :height="'23vh'" />
|
|
|
+ <panel class="table-panel outline" :title="'当月报警排行'" :showLine="false">
|
|
|
+ <Table :data="monthWarnRecordData" :canScroll="true" :height="'23vh'" />
|
|
|
</panel>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -129,31 +268,31 @@
|
|
|
<div class="wind-info">
|
|
|
<div class="legend mg-r-16">
|
|
|
<span class="dot"></span>
|
|
|
- <span>静风频率为2</span>
|
|
|
+ <span>{{rzdfsStr}}</span>
|
|
|
</div>
|
|
|
- <direction-radar-chart :width="'100%'" :height="'350px'" />
|
|
|
+ <direction-radar-chart :width="'100%'" :height="'350px'" :value="rzdfsData" />
|
|
|
</div>
|
|
|
</panel>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <panel :title="'日最大风速'" class="radar-panel" :icon="'svg-wind-site'">
|
|
|
+ <panel :title="'月最大风速'" class="radar-panel" :icon="'svg-wind-site'">
|
|
|
<div class="wind-info">
|
|
|
<div class="legend mg-r-16">
|
|
|
<span class="dot"></span>
|
|
|
- <span>静风频率为2</span>
|
|
|
+ <span>{{yzdfsStr}}</span>
|
|
|
</div>
|
|
|
- <direction-radar-chart :width="'100%'" :height="'350px'" />
|
|
|
+ <direction-radar-chart :width="'100%'" :height="'350px'" :value="yzdfsData" />
|
|
|
</div>
|
|
|
</panel>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <panel :title="'日最大风速'" class="radar-panel" :icon="'svg-wind-site'">
|
|
|
+ <panel :title="'年最大风速'" class="radar-panel" :icon="'svg-wind-site'">
|
|
|
<div class="wind-info">
|
|
|
<div class="legend mg-r-16">
|
|
|
<span class="dot"></span>
|
|
|
- <span>静风频率为2</span>
|
|
|
+ <span>{{nzdfsStr}}</span>
|
|
|
</div>
|
|
|
- <direction-radar-chart :width="'100%'" :height="'350px'" />
|
|
|
+ <direction-radar-chart :width="'100%'" :height="'350px'" :value="nzdfsData" />
|
|
|
</div>
|
|
|
</panel>
|
|
|
</el-col>
|
|
@@ -240,15 +379,15 @@ import AreaBarChart from "../../components/chart/combination/area-bar-chart.vue"
|
|
|
import MultipleBarLineChart from "../../components/chart/combination/multiple-bar-line-chart.vue";
|
|
|
import MarkerLineChart from "../../components/chart/line/marker-line-chart.vue";
|
|
|
import DualPieChart from "../../components/chart/pie/dual-pie-chart.vue";
|
|
|
-import DirectionRadarChart from "../../components/chart/radar/direction-radar-chart.vue";
|
|
|
+import DirectionRadarChart from "@com/chart/radar/radar-chart.vue";
|
|
|
import panel from "../../components/coms/panel/panel.vue";
|
|
|
import Table from "../../components/coms/table/table.vue";
|
|
|
export default {
|
|
|
components: { panel, AreaBarChart, MultipleBarLineChart, Table, MarkerLineChart, DirectionRadarChart, DualPieChart },
|
|
|
- setup() {},
|
|
|
- data() {
|
|
|
+ setup () { },
|
|
|
+ data () {
|
|
|
return {
|
|
|
- tabIndex: 0,
|
|
|
+ tabIndex: 1,
|
|
|
tableData: {
|
|
|
column: [
|
|
|
{
|
|
@@ -270,36 +409,177 @@ export default {
|
|
|
is_light: false,
|
|
|
},
|
|
|
],
|
|
|
- data: [
|
|
|
+ data: []
|
|
|
+ },
|
|
|
+
|
|
|
+ wpArray: [],
|
|
|
+ wpId: "",
|
|
|
+ wtArray: [],
|
|
|
+ wtId: "",
|
|
|
+
|
|
|
+ recorddate: new Date((new Date().getTime() - 3600 * 1000 * 24)).formatDate("yyyy-MM-dd"),
|
|
|
+
|
|
|
+ lostChartData: [],
|
|
|
+ lostChartUnit: [],
|
|
|
+ LostChartBgColorData: [],
|
|
|
+
|
|
|
+ powerChartData: [{
|
|
|
+ title: "",
|
|
|
+ yAxisIndex: 0,
|
|
|
+ value: []
|
|
|
+ }],
|
|
|
+
|
|
|
+ powerChartLineData: {
|
|
|
+ name: "",
|
|
|
+ unit: "",
|
|
|
+ data: []
|
|
|
+ },
|
|
|
+
|
|
|
+ warnTableData: {
|
|
|
+ column: [
|
|
|
+ {
|
|
|
+ name: "风机",
|
|
|
+ field: "windturbineid",
|
|
|
+ is_num: false,
|
|
|
+ is_light: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "描述",
|
|
|
+ field: "warnDesc",
|
|
|
+ is_num: false,
|
|
|
+ is_light: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "报警时间",
|
|
|
+ field: "warningtime",
|
|
|
+ is_num: false,
|
|
|
+ is_light: false,
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ data: []
|
|
|
+ },
|
|
|
+
|
|
|
+ stopTableData: {
|
|
|
+ column: [
|
|
|
+ {
|
|
|
+ name: "风机",
|
|
|
+ field: "windTurbineId",
|
|
|
+ is_num: false,
|
|
|
+ is_light: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "停机时间",
|
|
|
+ field: "stopTime",
|
|
|
+ is_num: false,
|
|
|
+ is_light: false,
|
|
|
+ },
|
|
|
{
|
|
|
- name: "MG01-01",
|
|
|
- desc: "描述描述描述描述描述描述描述描述描述描述",
|
|
|
- date: "2020-01-01",
|
|
|
+ name: "恢复时间",
|
|
|
+ field: "starttime",
|
|
|
+ is_num: false,
|
|
|
+ is_light: false,
|
|
|
},
|
|
|
],
|
|
|
+ data: []
|
|
|
},
|
|
|
- options: [
|
|
|
- {
|
|
|
- value: "选项1",
|
|
|
- label: "黄金糕",
|
|
|
- },
|
|
|
- {
|
|
|
- value: "选项2",
|
|
|
- label: "双皮奶",
|
|
|
- },
|
|
|
- {
|
|
|
- value: "选项3",
|
|
|
- label: "蚵仔煎",
|
|
|
- },
|
|
|
- {
|
|
|
- value: "选项4",
|
|
|
- label: "龙须面",
|
|
|
- },
|
|
|
- {
|
|
|
- value: "选项5",
|
|
|
- label: "北京烤鸭",
|
|
|
- },
|
|
|
- ],
|
|
|
+
|
|
|
+ xdTableData: {
|
|
|
+ column: [
|
|
|
+ {
|
|
|
+ name: "风机",
|
|
|
+ field: "windturbineid",
|
|
|
+ is_num: false,
|
|
|
+ is_light: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "停机时间",
|
|
|
+ field: "stoptime",
|
|
|
+ is_num: false,
|
|
|
+ is_light: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "恢复时间",
|
|
|
+ field: "starttime",
|
|
|
+ is_num: false,
|
|
|
+ is_light: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "损失电量",
|
|
|
+ field: "losspower",
|
|
|
+ is_num: false,
|
|
|
+ is_light: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "限电时长",
|
|
|
+ field: "stophours",
|
|
|
+ is_num: false,
|
|
|
+ is_light: false,
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ data: []
|
|
|
+ },
|
|
|
+
|
|
|
+ powerLineChartData: [{
|
|
|
+ title: "",
|
|
|
+ value:[]
|
|
|
+ }],
|
|
|
+
|
|
|
+ dayPowerInfo:{},
|
|
|
+
|
|
|
+ monthWarnRecordData: {
|
|
|
+ column: [
|
|
|
+ {
|
|
|
+ name: "名字",
|
|
|
+ field: "name",
|
|
|
+ is_num: false,
|
|
|
+ is_light: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: "次数",
|
|
|
+ field: "frequency",
|
|
|
+ is_num: true,
|
|
|
+ is_light: false,
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ data: []
|
|
|
+ },
|
|
|
+
|
|
|
+ jfplStr:"",
|
|
|
+ windResourcesData: {
|
|
|
+ indicator: ["N0", "N1", "N2", "N3", "N4", "N5"],
|
|
|
+ data: [{
|
|
|
+ value: [44200, 14200, 20000, 35000, 50000, 38000],
|
|
|
+ name: ""
|
|
|
+ }]
|
|
|
+ },
|
|
|
+
|
|
|
+ rzdfsStr:"",
|
|
|
+ rzdfsData: {
|
|
|
+ indicator: ["N0", "N1", "N2", "N3", "N4", "N5"],
|
|
|
+ data: [{
|
|
|
+ value: [44200, 14200, 20000, 35000, 50000, 38000],
|
|
|
+ name: ""
|
|
|
+ }]
|
|
|
+ },
|
|
|
+
|
|
|
+ yzdfsStr:"",
|
|
|
+ yzdfsData: {
|
|
|
+ indicator: ["N0", "N1", "N2", "N3", "N4", "N5"],
|
|
|
+ data: [{
|
|
|
+ value: [44200, 14200, 20000, 35000, 50000, 38000],
|
|
|
+ name: ""
|
|
|
+ }]
|
|
|
+ },
|
|
|
+
|
|
|
+ nzdfsStr:"",
|
|
|
+ nzdfsData: {
|
|
|
+ indicator: ["N0", "N1", "N2", "N3", "N4", "N5"],
|
|
|
+ data: [{
|
|
|
+ value: [44200, 14200, 20000, 35000, 50000, 38000],
|
|
|
+ name: ""
|
|
|
+ }]
|
|
|
+ },
|
|
|
+
|
|
|
value1: [],
|
|
|
value2: [],
|
|
|
value3: [],
|
|
@@ -308,15 +588,381 @@ export default {
|
|
|
};
|
|
|
},
|
|
|
methods: {
|
|
|
- tabSelect(state) {
|
|
|
- this.tabIndex = state;
|
|
|
+ // 获取风场
|
|
|
+ getWpArray () {
|
|
|
+ let that = this;
|
|
|
+ that.API.requestData({
|
|
|
+ method: "GET",
|
|
|
+ subUrl: "powercompare/windfarmAjax",
|
|
|
+ success (res) {
|
|
|
+ that.wpArray = res.data;
|
|
|
+ that.wpId = res.data[0].id;
|
|
|
+ that.getWtArray(that.wpId, true);
|
|
|
+ }
|
|
|
+ });
|
|
|
},
|
|
|
- },
|
|
|
- created() {
|
|
|
- for (let i = 1; i < 50; i++) {
|
|
|
- this.tableData.data.push(JSON.parse(JSON.stringify(this.tableData.data[0])));
|
|
|
+
|
|
|
+ // 获取风机
|
|
|
+ getWtArray (wpId, keepRequest) {
|
|
|
+ let that = this;
|
|
|
+ if (wpId) {
|
|
|
+ that.API.requestData({
|
|
|
+ method: "GET",
|
|
|
+ subUrl: "powercompare/windturbineAjax",
|
|
|
+ data: {
|
|
|
+ wpId
|
|
|
+ },
|
|
|
+ success (res) {
|
|
|
+ that.wtArray = res.data;
|
|
|
+ that.wtId = res.data[0].id;
|
|
|
+ if (keepRequest) {
|
|
|
+ that.search();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ that.wtArray = [];
|
|
|
+ that.wtId = "";
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ // tab1 - 获取损失电量分析图表数据
|
|
|
+ getLostChartData () {
|
|
|
+ let that = this;
|
|
|
+ that.API.requestData({
|
|
|
+ method: "POST",
|
|
|
+ subUrl: "goodness/findWtRealPowerChar",
|
|
|
+ data: {
|
|
|
+ wtId: that.wtId,
|
|
|
+ recorddate: that.recorddate
|
|
|
+ },
|
|
|
+ success (res) {
|
|
|
+ const keyArray = ["value1", "value2", "value3", "value4"];
|
|
|
+
|
|
|
+ let lostChartData = [[], [], [], []];
|
|
|
+ const lostChartUnit = ["实发功率", "保证功率", "风速", "状态"];
|
|
|
+
|
|
|
+
|
|
|
+ keyArray.forEach((key, keyIndex) => {
|
|
|
+ res.data.forEach(ele => {
|
|
|
+ lostChartData[keyIndex].push(ele[key]);
|
|
|
+ });
|
|
|
+ });
|
|
|
+ that.lostChartData = lostChartData;
|
|
|
+ that.lostChartUnit = lostChartUnit;
|
|
|
+ that.getLostChartBgColorData();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // tab1 - 获取损失电量分析图表背景颜色
|
|
|
+ getLostChartBgColorData () {
|
|
|
+ let that = this;
|
|
|
+ that.API.requestData({
|
|
|
+ method: "POST",
|
|
|
+ subUrl: "goodness/getplotBands",
|
|
|
+ data: {
|
|
|
+ wtId: that.wtId,
|
|
|
+ recorddate: that.recorddate
|
|
|
+ },
|
|
|
+ success (res) {
|
|
|
+ let LostChartBgColorData = [];
|
|
|
+ res.data.forEach((pEle, pIndex) => {
|
|
|
+ LostChartBgColorData.push({
|
|
|
+ name: pEle[0].name,
|
|
|
+ start: (pIndex ? LostChartBgColorData[pIndex - 1].end : 0),
|
|
|
+ end: (pIndex ? LostChartBgColorData[pIndex - 1].end : 0) + ((new Date(pEle[0].time2).getTime() / 1000) - (new Date(pEle[0].time1).getTime() / 1000)),
|
|
|
+ color: pEle[0].itemStyle.color
|
|
|
+ });
|
|
|
+ });
|
|
|
+ that.LostChartBgColorData = LostChartBgColorData;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // tab1 - 获取电量图表数据
|
|
|
+ getPowerChartData () {
|
|
|
+ let that = this;
|
|
|
+ that.API.requestData({
|
|
|
+ method: "POST",
|
|
|
+ subUrl: "goodness/findRealPowerCharBy24",
|
|
|
+ data: {
|
|
|
+ wtId: that.wtId,
|
|
|
+ recorddate: that.recorddate
|
|
|
+ },
|
|
|
+ success (res) {
|
|
|
+ const keyArray = ["value1", "value2", "value3", "value4", "value5"];
|
|
|
+
|
|
|
+ let powerChartData = [{
|
|
|
+ title: "scada发电量",
|
|
|
+ yAxisIndex: 0,
|
|
|
+ value: []
|
|
|
+ }, {
|
|
|
+ title: "维护损失",
|
|
|
+ yAxisIndex: 0,
|
|
|
+ value: []
|
|
|
+ }, {
|
|
|
+ title: "故障损失",
|
|
|
+ yAxisIndex: 0,
|
|
|
+ value: []
|
|
|
+ }, {
|
|
|
+ title: "限电损失",
|
|
|
+ yAxisIndex: 0,
|
|
|
+ value: []
|
|
|
+ }, {
|
|
|
+ title: "欠发损失",
|
|
|
+ yAxisIndex: 0,
|
|
|
+ value: []
|
|
|
+ }];
|
|
|
+
|
|
|
+ let powerChartLineData = {
|
|
|
+ name: "风速",
|
|
|
+ unit: "(m/s)",
|
|
|
+ data: []
|
|
|
+ }
|
|
|
+
|
|
|
+ keyArray.forEach((keyEle, keyIndex) => {
|
|
|
+ res.data.forEach(ele => {
|
|
|
+ powerChartData[keyIndex].value.push({
|
|
|
+ text: new Date(ele.time).formatDate("hh:mm"),
|
|
|
+ value: ele[keyEle]
|
|
|
+ });
|
|
|
+ powerChartLineData.data.push(ele.value6);
|
|
|
+ });
|
|
|
+ });
|
|
|
+ that.powerChartData = powerChartData;
|
|
|
+ that.powerChartLineData = powerChartLineData;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // tab1 - 获取当日报警数据
|
|
|
+ getWarnData () {
|
|
|
+ let that = this;
|
|
|
+ that.API.requestData({
|
|
|
+ method: "POST",
|
|
|
+ subUrl: "goodness/bjjllist",
|
|
|
+ data: {
|
|
|
+ wtId: that.wtId,
|
|
|
+ recorddate: that.recorddate
|
|
|
+ },
|
|
|
+ success (res) {
|
|
|
+ res.data.list.forEach(ele => {
|
|
|
+ ele.warningtime = new Date(ele.warningtime).formatDate("yyyy-MM-dd hh:mm:ss")
|
|
|
+ });
|
|
|
+ that.warnTableData.data = res.data.list;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // tab1 - 获取当日故障数据
|
|
|
+ getStopData () {
|
|
|
+ let that = this;
|
|
|
+ that.API.requestData({
|
|
|
+ method: "POST",
|
|
|
+ subUrl: "goodness/gzjllist",
|
|
|
+ data: {
|
|
|
+ wtId: that.wtId,
|
|
|
+ recorddate: that.recorddate
|
|
|
+ },
|
|
|
+ success (res) {
|
|
|
+ res.data.list.forEach(ele => {
|
|
|
+ ele.stopTime = new Date(ele.stopTime).formatDate("yyyy-MM-dd hh:mm:ss");
|
|
|
+ ele.starttime = (ele.starttime ? new Date(ele.starttime).formatDate("yyyy-MM-dd hh:mm:ss") : "");
|
|
|
+ });
|
|
|
+ that.stopTableData.data = res.data.list;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // tab1 - 获取当日限电数据
|
|
|
+ getXdData () {
|
|
|
+ let that = this;
|
|
|
+ that.API.requestData({
|
|
|
+ method: "POST",
|
|
|
+ subUrl: "goodness/xdjllist",
|
|
|
+ data: {
|
|
|
+ wtId: that.wtId,
|
|
|
+ recorddate: that.recorddate
|
|
|
+ },
|
|
|
+ success (res) {
|
|
|
+ res.data.list.forEach(ele => {
|
|
|
+ ele.stopTime = new Date(ele.stopTime).formatDate("yyyy-MM-dd hh:mm:ss");
|
|
|
+ ele.starttime = (ele.starttime ? new Date(ele.starttime).formatDate("yyyy-MM-dd hh:mm:ss") : "");
|
|
|
+
|
|
|
+ });
|
|
|
+ that.xdTableData.data = res.data.list;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ tabSelect (index) {
|
|
|
+ this.tabIndex = index;
|
|
|
+ this.search();
|
|
|
+ },
|
|
|
+
|
|
|
+ // tab2 - 获取日发电量信息
|
|
|
+ getDayPowerInfo () {
|
|
|
+ let that = this;
|
|
|
+ that.API.requestData({
|
|
|
+ method: "POST",
|
|
|
+ subUrl: "goodness/wadAjax",
|
|
|
+ data: {
|
|
|
+ wtId: that.wtId,
|
|
|
+ recorddate: that.recorddate
|
|
|
+ },
|
|
|
+ success (res) {
|
|
|
+ that.dayPowerInfo = res.data;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // tab2 - 获取当月报警排行
|
|
|
+ getMonthWarnRecord () {
|
|
|
+ let that = this;
|
|
|
+ that.API.requestData({
|
|
|
+ method: "POST",
|
|
|
+ subUrl: "goodness/bjphlist",
|
|
|
+ data: {
|
|
|
+ wtId: that.wtId,
|
|
|
+ recorddate: that.recorddate
|
|
|
+ },
|
|
|
+ success (res) {
|
|
|
+ that.monthWarnRecordData.data = res.data;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // tab2 - 获取当月报警排行
|
|
|
+ getPowerLineChartData () {
|
|
|
+ let that = this;
|
|
|
+ that.API.requestData({
|
|
|
+ method: "POST",
|
|
|
+ subUrl: "goodness/glchat",
|
|
|
+ data: {
|
|
|
+ wtId: that.wtId,
|
|
|
+ recorddate: that.recorddate
|
|
|
+ },
|
|
|
+ success (res) {
|
|
|
+ const keyArray = ["value1", "value2", "value3"];
|
|
|
+
|
|
|
+ let powerLineChartData = [{
|
|
|
+ title: "实际拟合功率",
|
|
|
+ value:[]
|
|
|
+ },{
|
|
|
+ title: "最优拟合功率",
|
|
|
+ value:[]
|
|
|
+ },{
|
|
|
+ title: "保证功率",
|
|
|
+ value:[]
|
|
|
+ }];
|
|
|
+
|
|
|
+ keyArray.forEach((keyEle,keyIndex) =>{
|
|
|
+ res.data.forEach((ele,index)=>{
|
|
|
+ powerLineChartData[keyIndex].value.push({
|
|
|
+ text: (index + 1),
|
|
|
+ value: ele[keyEle]
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ that.powerLineChartData = powerLineChartData;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // tab2 - 获取当月报警排行
|
|
|
+ getWindResources () {
|
|
|
+ let that = this;
|
|
|
+ that.API.requestData({
|
|
|
+ method: "POST",
|
|
|
+ subUrl: "goodness/fjfzy",
|
|
|
+ data: {
|
|
|
+ wtId: that.wtId,
|
|
|
+ recorddate: that.recorddate
|
|
|
+ },
|
|
|
+ success (res) {
|
|
|
+ that.jfplStr=res.data.jfpl || "";
|
|
|
+
|
|
|
+ let windResourcesData = {
|
|
|
+ indicator: [],
|
|
|
+ data: [{
|
|
|
+ name: "",
|
|
|
+ value: []
|
|
|
+ }]
|
|
|
+ };
|
|
|
+
|
|
|
+ res.data.data.forEach((ele) => {
|
|
|
+ windResourcesData.indicator.push(ele.name);
|
|
|
+ windResourcesData.data[0].value.push(ele.data1);
|
|
|
+ });
|
|
|
+
|
|
|
+ that.windResourcesData = windResourcesData;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // tab3 - 获取玫瑰图
|
|
|
+ getMgt (subUrl, dataKey) {
|
|
|
+ let that = this;
|
|
|
+ that.API.requestData({
|
|
|
+ method: "POST",
|
|
|
+ subUrl,
|
|
|
+ data: {
|
|
|
+ wpId: that.wpId,
|
|
|
+ recorddate: that.recorddate
|
|
|
+ },
|
|
|
+ success (res) {
|
|
|
+ that[dataKey + "Str"] = res.data.jfpl || "";
|
|
|
+
|
|
|
+ let mgtData = {
|
|
|
+ indicator: [],
|
|
|
+ data: [{
|
|
|
+ name: "",
|
|
|
+ value: []
|
|
|
+ }]
|
|
|
+ };
|
|
|
+
|
|
|
+ if(res.data.data){
|
|
|
+ res.data.data.forEach((ele) => {
|
|
|
+ mgtData.indicator.push(ele.name);
|
|
|
+ mgtData.data[0].value.push(ele.data1);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ that[dataKey + "Data"] = mgtData;
|
|
|
+
|
|
|
+ console.log(dataKey,mgtData)
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+ // 搜索
|
|
|
+ search () {
|
|
|
+ if (this.tabIndex === 0) {
|
|
|
+ this.getLostChartData();
|
|
|
+ this.getPowerChartData();
|
|
|
+ this.getWarnData();
|
|
|
+ this.getStopData();
|
|
|
+ this.getXdData();
|
|
|
+ } else if (this.tabIndex === 1) {
|
|
|
+ this.getWarnData();
|
|
|
+ this.getStopData();
|
|
|
+ this.getDayPowerInfo();
|
|
|
+ this.getMonthWarnRecord();
|
|
|
+ this.getPowerLineChartData();
|
|
|
+ this.getWindResources();
|
|
|
+ } else if (this.tabIndex === 2) {
|
|
|
+ this.getMgt("goodness/wprzdfs", "rzdfs");
|
|
|
+ this.getMgt("goodness/wpyzdfs", "yzdfs");
|
|
|
+ this.getMgt("goodness/wpnzdfs", "nzdfs");
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
+ created () {
|
|
|
+ this.getWpArray();
|
|
|
+ },
|
|
|
};
|
|
|
</script>
|
|
|
|