|
@@ -1,95 +1,87 @@
|
|
<template>
|
|
<template>
|
|
<div class="powerLinefitting">
|
|
<div class="powerLinefitting">
|
|
- <div class="powerLinefitting_topAll">
|
|
|
|
- <div class="powerLinefitting_top">
|
|
|
|
- <el-select
|
|
|
|
- size="mini"
|
|
|
|
- v-model="tabEvent"
|
|
|
|
- placeholder="请选择"
|
|
|
|
- @change="changeBtn"
|
|
|
|
- >
|
|
|
|
- <el-option
|
|
|
|
- v-for="item in tabOptions"
|
|
|
|
- :key="item.id"
|
|
|
|
- :label="item.name"
|
|
|
|
- :value="item.id"
|
|
|
|
- >
|
|
|
|
- </el-option>
|
|
|
|
- </el-select>
|
|
|
|
- <el-select
|
|
|
|
- size="mini"
|
|
|
|
- v-model="companyVal"
|
|
|
|
- placeholder="请选择"
|
|
|
|
- @change="changeCompan"
|
|
|
|
- >
|
|
|
|
- <el-option
|
|
|
|
- v-for="item in companyOptions"
|
|
|
|
- :key="item.id"
|
|
|
|
- :label="item.aname"
|
|
|
|
- :value="item.id"
|
|
|
|
- >
|
|
|
|
- </el-option>
|
|
|
|
- </el-select>
|
|
|
|
-
|
|
|
|
- <el-select
|
|
|
|
- size="mini"
|
|
|
|
- v-model="stationVal"
|
|
|
|
- placeholder="请选择"
|
|
|
|
- clearable
|
|
|
|
- @change="changeStation"
|
|
|
|
- >
|
|
|
|
- <el-option
|
|
|
|
- v-for="item in stationOptions"
|
|
|
|
- :key="item.id"
|
|
|
|
- :label="item.aname"
|
|
|
|
- :value="item.id"
|
|
|
|
|
|
+ <div class="powerLinefitting_top">
|
|
|
|
+ <div class="form-wrapper">
|
|
|
|
+ <div class="select-wrapper">
|
|
|
|
+ <el-select
|
|
|
|
+ size="mini"
|
|
|
|
+ v-model="tabEvent"
|
|
|
|
+ placeholder="请选择"
|
|
|
|
+ @change="changeBtn"
|
|
>
|
|
>
|
|
- </el-option>
|
|
|
|
- </el-select>
|
|
|
|
-
|
|
|
|
- <el-select size="mini" v-model="windVal" placeholder="请选择" clearable>
|
|
|
|
- <el-option
|
|
|
|
- v-for="item in windsOptions"
|
|
|
|
- :key="item.id"
|
|
|
|
- :label="item.aname"
|
|
|
|
- :value="item.nemCode"
|
|
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in tabOptions"
|
|
|
|
+ :key="item.id"
|
|
|
|
+ :label="item.name"
|
|
|
|
+ :value="item.id"
|
|
|
|
+ >
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ <el-select
|
|
|
|
+ size="mini"
|
|
|
|
+ v-model="companyVal"
|
|
|
|
+ placeholder="请选择"
|
|
|
|
+ @change="changeCompan"
|
|
>
|
|
>
|
|
- </el-option>
|
|
|
|
- </el-select>
|
|
|
|
- <div class="but">
|
|
|
|
- <el-button round size="mini" class="buttons" @click="seachData"
|
|
|
|
- >拟合</el-button
|
|
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in companyOptions"
|
|
|
|
+ :key="item.id"
|
|
|
|
+ :label="item.aname"
|
|
|
|
+ :value="item.id"
|
|
|
|
+ >
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ <el-select
|
|
|
|
+ size="mini"
|
|
|
|
+ v-model="stationVal"
|
|
|
|
+ placeholder="请选择"
|
|
|
|
+ clearable
|
|
|
|
+ @change="changeStation"
|
|
>
|
|
>
|
|
- <el-button round size="mini" class="buttons" @click="downXlsxFn"
|
|
|
|
- >导出</el-button
|
|
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in stationOptions"
|
|
|
|
+ :key="item.id"
|
|
|
|
+ :label="item.aname"
|
|
|
|
+ :value="item.id"
|
|
|
|
+ >
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ <el-select
|
|
|
|
+ size="mini"
|
|
|
|
+ v-model="windVal"
|
|
|
|
+ placeholder="请选择"
|
|
|
|
+ clearable
|
|
>
|
|
>
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in windsOptions"
|
|
|
|
+ :key="item.id"
|
|
|
|
+ :label="item.aname"
|
|
|
|
+ :value="item.nemCode"
|
|
|
|
+ >
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <!-- <div class="selections">
|
|
|
|
- <div
|
|
|
|
- class="selections_btn"
|
|
|
|
- @click="tabSelect(0)"
|
|
|
|
- :class="{ active: tabIndex == 0 }"
|
|
|
|
- >
|
|
|
|
- 日
|
|
|
|
- </div>
|
|
|
|
- <div
|
|
|
|
- class="selections_btn"
|
|
|
|
- @click="tabSelect(1)"
|
|
|
|
- :class="{ active: tabIndex == 1 }"
|
|
|
|
|
|
+ <div class="but">
|
|
|
|
+ <el-button round size="mini" class="buttons search" @click="seachData"
|
|
|
|
+ >拟合</el-button
|
|
>
|
|
>
|
|
- 月
|
|
|
|
- </div>
|
|
|
|
- <div
|
|
|
|
- class="selections_btn"
|
|
|
|
- @click="tabSelect(2)"
|
|
|
|
- :class="{ active: tabIndex == 2 }"
|
|
|
|
|
|
+ <el-button
|
|
|
|
+ round
|
|
|
|
+ size="mini"
|
|
|
|
+ class="buttons download"
|
|
|
|
+ @click="downXlsxFn"
|
|
|
|
+ >导出</el-button
|
|
>
|
|
>
|
|
- 年
|
|
|
|
- </div>
|
|
|
|
- </div> -->
|
|
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
- <div style="background: rgba(0, 0, 0, 0.4)">
|
|
|
|
|
|
+
|
|
|
|
+ <div
|
|
|
|
+ style="
|
|
|
|
+ background: rgba(0, 0, 0, 0.4);
|
|
|
|
+ height: calc(100% - 50px - 300px - 20px);
|
|
|
|
+ "
|
|
|
|
+ >
|
|
<div class="powerLinefitting_title clearfix">
|
|
<div class="powerLinefitting_title clearfix">
|
|
<div class="leftContent floatLeft"><span>功率曲线拟合</span></div>
|
|
<div class="leftContent floatLeft"><span>功率曲线拟合</span></div>
|
|
<div class="rightContent floatRight"></div>
|
|
<div class="rightContent floatRight"></div>
|
|
@@ -100,7 +92,7 @@
|
|
:data="powerLinefittingData"
|
|
:data="powerLinefittingData"
|
|
stripe
|
|
stripe
|
|
size="mini"
|
|
size="mini"
|
|
- height="48vh"
|
|
|
|
|
|
+ height="100%"
|
|
ref="fitting_table"
|
|
ref="fitting_table"
|
|
style="width: 100%"
|
|
style="width: 100%"
|
|
>
|
|
>
|
|
@@ -128,20 +120,11 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
-import {
|
|
|
|
- getApicompanyslist,
|
|
|
|
- getApiwpByCplistlist,
|
|
|
|
- getApiequipmentList,
|
|
|
|
- getApiPerformancecurvefitting,
|
|
|
|
-} from "@/api/monthlyPerformanceAnalysis";
|
|
|
|
|
|
+import { getApiPerformancecurvefitting } from "@/api/monthlyPerformanceAnalysis";
|
|
import {
|
|
import {
|
|
GetOrganization,
|
|
GetOrganization,
|
|
GetStationByCompany,
|
|
GetStationByCompany,
|
|
GetwtByWp,
|
|
GetwtByWp,
|
|
- GetProjectList,
|
|
|
|
- GetLineList,
|
|
|
|
- GetSquareList,
|
|
|
|
- GeWtList,
|
|
|
|
} from "@/api/headerNav.js";
|
|
} from "@/api/headerNav.js";
|
|
import * as echarts from "echarts";
|
|
import * as echarts from "echarts";
|
|
import partten from "@/helper/partten.js";
|
|
import partten from "@/helper/partten.js";
|
|
@@ -176,13 +159,6 @@ export default {
|
|
created() {
|
|
created() {
|
|
this.getCompanyData();
|
|
this.getCompanyData();
|
|
},
|
|
},
|
|
- watch: {
|
|
|
|
- tabEvent() {
|
|
|
|
- this.$router.push({
|
|
|
|
- path: "/economicsOperation/powerCurve/powerLinefitting",
|
|
|
|
- });
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
methods: {
|
|
methods: {
|
|
// 切换tab
|
|
// 切换tab
|
|
tabSelect(index) {
|
|
tabSelect(index) {
|
|
@@ -191,7 +167,7 @@ export default {
|
|
},
|
|
},
|
|
changeBtn() {
|
|
changeBtn() {
|
|
this.$router.push({
|
|
this.$router.push({
|
|
- path: "/economicsOperation/powerCurve/powerLinefittingFd",
|
|
|
|
|
|
+ path: "/economicsOperation/powerCurve/powerLinefitting",
|
|
});
|
|
});
|
|
},
|
|
},
|
|
// 获取公司列表
|
|
// 获取公司列表
|
|
@@ -251,7 +227,7 @@ export default {
|
|
companys: this.companyVal,
|
|
companys: this.companyVal,
|
|
};
|
|
};
|
|
const datas = await getApiPerformancecurvefitting(params);
|
|
const datas = await getApiPerformancecurvefitting(params);
|
|
- console.log("time111===>", new Date().getTime());
|
|
|
|
|
|
+
|
|
this.changeEchartsData(datas.data.chanrt);
|
|
this.changeEchartsData(datas.data.chanrt);
|
|
datas.data.list.forEach((item) => {
|
|
datas.data.list.forEach((item) => {
|
|
item.speed = item.speed.toFixed(2);
|
|
item.speed = item.speed.toFixed(2);
|
|
@@ -336,7 +312,7 @@ export default {
|
|
right: 15,
|
|
right: 15,
|
|
bottom: 24,
|
|
bottom: 24,
|
|
},
|
|
},
|
|
- xAxis: [
|
|
|
|
|
|
+ xAxis: [
|
|
{
|
|
{
|
|
type: "category",
|
|
type: "category",
|
|
boundaryGap: false,
|
|
boundaryGap: false,
|
|
@@ -375,11 +351,9 @@ export default {
|
|
let myChart = echarts.init(dom);
|
|
let myChart = echarts.init(dom);
|
|
myChart.clear();
|
|
myChart.clear();
|
|
myChart.setOption(option);
|
|
myChart.setOption(option);
|
|
- console.log(222222, new Date().getTime());
|
|
|
|
window.addEventListener("resize", function () {
|
|
window.addEventListener("resize", function () {
|
|
myChart.resize();
|
|
myChart.resize();
|
|
});
|
|
});
|
|
- console.log("time222===>", new Date().getTime());
|
|
|
|
},
|
|
},
|
|
//转换时间
|
|
//转换时间
|
|
getchangeTime(date) {
|
|
getchangeTime(date) {
|
|
@@ -405,118 +379,62 @@ export default {
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|
|
|
|
|
|
-<style lang="less">
|
|
|
|
|
|
+<style lang="less" scoped>
|
|
.powerLinefitting {
|
|
.powerLinefitting {
|
|
padding: 0 23px;
|
|
padding: 0 23px;
|
|
- .powerLinefitting_topAll {
|
|
|
|
|
|
+ height: 100%;
|
|
|
|
+ .powerLinefitting_top ::v-deep {
|
|
display: flex;
|
|
display: flex;
|
|
- justify-content: space-between;
|
|
|
|
- .powerLinefitting_top {
|
|
|
|
|
|
+ flex-direction: row;
|
|
|
|
+ align-items: center;
|
|
|
|
+ margin-top: 10px;
|
|
|
|
+ margin-bottom: 10px;
|
|
|
|
+ padding-left: 10px;
|
|
|
|
+ .form-wrapper {
|
|
display: flex;
|
|
display: flex;
|
|
- flex-direction: row;
|
|
|
|
align-items: center;
|
|
align-items: center;
|
|
- margin-top: 10px;
|
|
|
|
- margin-bottom: 10px;
|
|
|
|
- .station {
|
|
|
|
|
|
+ .select-wrapper {
|
|
display: flex;
|
|
display: flex;
|
|
- flex-direction: row;
|
|
|
|
align-items: center;
|
|
align-items: center;
|
|
- font-size: 14px;
|
|
|
|
- font-family: Microsoft YaHei;
|
|
|
|
- font-weight: 400;
|
|
|
|
- color: #b3b3b3;
|
|
|
|
- margin-right: 10px;
|
|
|
|
- margin-left: 10px;
|
|
|
|
- }
|
|
|
|
- .search-input {
|
|
|
|
- margin-left: 10px;
|
|
|
|
- .el-input__inner {
|
|
|
|
- width: 175px;
|
|
|
|
- }
|
|
|
|
- .el-input__suffix {
|
|
|
|
- right: -50px;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- .tabCut {
|
|
|
|
- display: inline-block;
|
|
|
|
- margin: 0 10px;
|
|
|
|
-
|
|
|
|
- div {
|
|
|
|
- display: inline-block;
|
|
|
|
- width: 60px;
|
|
|
|
- height: 27px;
|
|
|
|
- border: 1px solid #354460;
|
|
|
|
- text-align: center;
|
|
|
|
- line-height: 25px;
|
|
|
|
- cursor: pointer;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- div:nth-child(1) {
|
|
|
|
- border-radius: 13px 0px 0px 13px;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- div:nth-child(2) {
|
|
|
|
- border-radius: 0px 13px 13px 0px;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- .active {
|
|
|
|
- background-color: #0c3378;
|
|
|
|
- color: #fff;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- .but {
|
|
|
|
- display: flex;
|
|
|
|
- flex-direction: row;
|
|
|
|
- align-content: center;
|
|
|
|
- margin-left: 20px;
|
|
|
|
- .buttons:nth-child(1) {
|
|
|
|
- background: rgba(0, 70, 199, 0.6);
|
|
|
|
- border: 1px solid #1f51ae;
|
|
|
|
- border-radius: 13px;
|
|
|
|
- color: #fff;
|
|
|
|
- &:hover {
|
|
|
|
- background: rgba(14, 90, 229, 0.9);
|
|
|
|
- border-radius: 13px;
|
|
|
|
- color: #fff;
|
|
|
|
|
|
+ .el-select {
|
|
|
|
+ width: 155px;
|
|
|
|
+ .el-input .el-input__inner {
|
|
|
|
+ width: 150px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- .buttons:nth-child(2) {
|
|
|
|
- background: rgba(67, 81, 107, 0.3);
|
|
|
|
- border: 1px solid #3b4c6c;
|
|
|
|
- border-radius: 13px;
|
|
|
|
- font-size: 14px;
|
|
|
|
- color: #b3b3b3;
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- .selections {
|
|
|
|
|
|
+ .but {
|
|
display: flex;
|
|
display: flex;
|
|
- margin-top: 10px;
|
|
|
|
- position: relative;
|
|
|
|
- right: 120px;
|
|
|
|
- .selections_btn {
|
|
|
|
- flex: 0 0 55px;
|
|
|
|
- text-align: center;
|
|
|
|
- height: 33px;
|
|
|
|
- line-height: 33px;
|
|
|
|
- margin-right: 8px;
|
|
|
|
|
|
+ flex-direction: row;
|
|
|
|
+ align-content: center;
|
|
|
|
+ }
|
|
|
|
+ .el-button + .el-button {
|
|
|
|
+ margin-left: 0;
|
|
|
|
+ }
|
|
|
|
+ .buttons {
|
|
|
|
+ background: rgba(0, 70, 199, 0.6);
|
|
|
|
+ border: 1px solid #1f51ae;
|
|
|
|
+ border-radius: 13px;
|
|
|
|
+ font-size: 14px;
|
|
|
|
+ margin-right: 10px;
|
|
|
|
+
|
|
|
|
+ &.search {
|
|
color: #fff;
|
|
color: #fff;
|
|
- font-size: 1.296vh;
|
|
|
|
- background: fade(#606769, 20);
|
|
|
|
- border: 1px solid fade(#606769, 20);
|
|
|
|
- border-radius: 20px;
|
|
|
|
- &:hover,
|
|
|
|
- &.active {
|
|
|
|
- background: fade(#0046c7, 80);
|
|
|
|
- border: 1px solid #0046c7;
|
|
|
|
- color: #b9b9b9;
|
|
|
|
- cursor: pointer;
|
|
|
|
|
|
+ &:hover {
|
|
|
|
+ background: rgba(14, 90, 229, 0.9);
|
|
|
|
+ border-radius: 13px;
|
|
|
|
+ color: #fff;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ &.download {
|
|
|
|
+ background: rgba(67, 81, 107, 0.3);
|
|
|
|
+ border: 1px solid #3b4c6c;
|
|
|
|
+ color: #b3b3b3;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
.powerLinefitting_title {
|
|
.powerLinefitting_title {
|
|
padding-left: 10px;
|
|
padding-left: 10px;
|
|
.leftContent {
|
|
.leftContent {
|
|
@@ -560,6 +478,7 @@ export default {
|
|
.powerLinefitting_Table {
|
|
.powerLinefitting_Table {
|
|
margin: 0 5px 5px 5px;
|
|
margin: 0 5px 5px 5px;
|
|
padding-bottom: 10px;
|
|
padding-bottom: 10px;
|
|
|
|
+ height: calc(100% - 46px);
|
|
.el-table--mini {
|
|
.el-table--mini {
|
|
margin: 5px;
|
|
margin: 5px;
|
|
.el-table__header-wrapper {
|
|
.el-table__header-wrapper {
|
|
@@ -595,7 +514,7 @@ export default {
|
|
width: 100%;
|
|
width: 100%;
|
|
background: rgba(0, 0, 0, 0.45);
|
|
background: rgba(0, 0, 0, 0.45);
|
|
position: relative;
|
|
position: relative;
|
|
- height: 39px;
|
|
|
|
|
|
+ height: 300px;
|
|
// border-bottom: 1px solid rgba(153, 153, 153, 0.5);
|
|
// border-bottom: 1px solid rgba(153, 153, 153, 0.5);
|
|
font-size: 16px;
|
|
font-size: 16px;
|
|
font-family: Microsoft YaHei;
|
|
font-family: Microsoft YaHei;
|
|
@@ -639,32 +558,8 @@ export default {
|
|
}
|
|
}
|
|
.fittingEchartSty {
|
|
.fittingEchartSty {
|
|
width: 100%;
|
|
width: 100%;
|
|
- height: 280px;
|
|
|
|
- background: rgba(0, 0, 0, 0.45);
|
|
|
|
|
|
+ height: calc(100% - 39px);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- .el-overlay {
|
|
|
|
- .el-overlay-dialog {
|
|
|
|
- overflow-y: hidden !important;
|
|
|
|
- .powerLinefittinghistoryModel {
|
|
|
|
- margin-top: 0 !important;
|
|
|
|
- .el-dialog__body {
|
|
|
|
- padding-top: 10px;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- .contrastModal {
|
|
|
|
- .el-dialog__body {
|
|
|
|
- padding-top: 10px;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- .el-picker__popper .el-date-range-picker__header .el-picker-panel__icon-btn {
|
|
|
|
- color: #fff;
|
|
|
|
- }
|
|
|
|
- .el-picker__popper .el-date-table .in-range div {
|
|
|
|
- background: #43516b;
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
</style>
|
|
</style>
|