|
@@ -1,21 +1,21 @@
|
|
|
<!--
|
|
|
* @Author: your name
|
|
|
* @Date: 2024-05-29 09:13:51
|
|
|
- * @LastEditTime: 2024-06-12 17:15:00
|
|
|
+ * @LastEditTime: 2024-06-14 11:53:42
|
|
|
* @LastEditors: bogon
|
|
|
* @Description: In User Settings Edit
|
|
|
* @FilePath: /performance-test/src/views/performance/components/analysisEvent.vue
|
|
|
-->
|
|
|
<template>
|
|
|
<div>
|
|
|
- <el-form ref="form" :model="form" label-width="120px">
|
|
|
+ <el-form ref="form" :model="form" label-position="right">
|
|
|
<el-row type="flex" justify="end">
|
|
|
<el-col :span="5">
|
|
|
<el-form-item class="searchFrom">
|
|
|
<el-button type="primary" @click="onSubmit" size="small"
|
|
|
>分析</el-button
|
|
|
>
|
|
|
- <el-button size="small">重置</el-button>
|
|
|
+ <el-button size="small" @click="resetForm">重置</el-button>
|
|
|
<i @click="drawer = true" class="el-icon-setting"></i>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -95,11 +95,12 @@
|
|
|
v-if="checkedCities.find((item) => item === '滤除月份')"
|
|
|
>
|
|
|
<el-date-picker
|
|
|
+ value-format="timestamp"
|
|
|
width="200"
|
|
|
size="small"
|
|
|
- type="dates"
|
|
|
+ type="months"
|
|
|
v-model="form.excludingMonths"
|
|
|
- placeholder="选择一个或多个日期"
|
|
|
+ placeholder="选择一个或多个月"
|
|
|
>
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
@@ -110,6 +111,7 @@
|
|
|
v-if="checkedCities.find((item) => item === '分析时间')"
|
|
|
>
|
|
|
<el-date-picker
|
|
|
+ value-format="timestamp"
|
|
|
size="small"
|
|
|
v-model="picker"
|
|
|
type="daterange"
|
|
@@ -215,7 +217,7 @@
|
|
|
v-if="checkedCities.find((item) => item === '图像设置')"
|
|
|
>
|
|
|
<el-row :gutter="5">
|
|
|
- <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
|
|
|
+ <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
<el-form-item label="直驱发电机转速轴系">
|
|
|
<div class="demo-input-suffix">
|
|
|
<el-input
|
|
@@ -242,7 +244,7 @@
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
|
|
|
+ <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
<el-form-item label="非直驱发电机转速轴系设置">
|
|
|
<div class="demo-input-suffix">
|
|
|
<el-input
|
|
@@ -269,7 +271,7 @@
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
|
|
|
+ <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
<el-form-item label="直驱发电机转矩轴系">
|
|
|
<div class="demo-input-suffix">
|
|
|
<el-input
|
|
@@ -296,7 +298,7 @@
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
|
|
|
+ <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
<el-form-item label="非直驱发电机转矩轴系">
|
|
|
<div class="demo-input-suffix">
|
|
|
<el-input
|
|
@@ -323,7 +325,7 @@
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
|
|
|
+ <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
<el-form-item label="风能利用系数">
|
|
|
<div class="demo-input-suffix">
|
|
|
<el-input
|
|
@@ -350,7 +352,7 @@
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
|
|
|
+ <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
<el-form-item label="叶尖转速比">
|
|
|
<div class="demo-input-suffix">
|
|
|
<el-input
|
|
@@ -377,7 +379,7 @@
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
|
|
|
+ <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
<el-form-item label="有功功率">
|
|
|
<div class="demo-input-suffix">
|
|
|
<el-input
|
|
@@ -404,7 +406,7 @@
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :xs="24" :sm="24" :md="12" :lg="8" :xl="6">
|
|
|
+ <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
|
|
<el-form-item label="桨距角">
|
|
|
<div class="demo-input-suffix">
|
|
|
<el-input
|
|
@@ -441,24 +443,37 @@
|
|
|
><div class="left">
|
|
|
<div>
|
|
|
<span>机组编号:</span>
|
|
|
- <el-select v-model="value" placeholder="请选择" size="small">
|
|
|
+ <el-select
|
|
|
+ v-model="engineCode"
|
|
|
+ placeholder="请选择机组编号"
|
|
|
+ size="small"
|
|
|
+ clearable
|
|
|
+ @change="handleEngineCode"
|
|
|
+ >
|
|
|
<el-option
|
|
|
- v-for="item in options"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value"
|
|
|
- >
|
|
|
- </el-option>
|
|
|
+ v-for="item in windEngineGroupList"
|
|
|
+ :key="item"
|
|
|
+ :label="item"
|
|
|
+ :value="item"
|
|
|
+ ></el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
- <div>1.额定功率(Rated Power):指发电机组在标准工况下</div>
|
|
|
- <div>2.发电机类型(Generator Type):</div>
|
|
|
- <div>3.经度(Longitude):</div>
|
|
|
- <div>4.维度(Dimensionality):</div>
|
|
|
- <div>5.海拔高度(Altitude):</div>
|
|
|
- <div>6.并网时间(Grid connection time):</div>
|
|
|
- <div>7.是否标杆(Benchmarking or not):</div>
|
|
|
- <div>8.地理位置(Location):不同地理位置的气候条件</div>
|
|
|
+ <div>1.额定容量:{{ windDetail.ratedCapacity }}</div>
|
|
|
+ <!-- <div>2.发电机类型(Generator Type):{{}}</div> -->
|
|
|
+ <div>2.风机编号:{{ windDetail.engineCode }}</div>
|
|
|
+ <div>3.经度(Longitude):{{ windDetail.longitude }}</div>
|
|
|
+ <div>4.维度(Dimensionality):{{ windDetail.latitude }}</div>
|
|
|
+ <div>5.海拔高度(Altitude):{{ windDetail.elevationHeight }}</div>
|
|
|
+ <div>6.风机名称:{{ windDetail.engineName }}</div>
|
|
|
+ <div>
|
|
|
+ 7.是否标杆(Benchmarking or not):{{ windDetail.sightcing }}
|
|
|
+ </div>
|
|
|
+ <div>8.风场编号:{{ windDetail.fieldCode }}</div>
|
|
|
+ <div>9.轮毂高度:{{ windDetail.hubHeight }}</div>
|
|
|
+ <div>10.机型编号:{{ windDetail.millTypeCode }}</div>
|
|
|
+ <div>11.切入风速:{{ windDetail.ratedCutInWindspeed }}</div>
|
|
|
+ <div>12.切出风速:{{ windDetail.ratedCutOutWindspeed }}</div>
|
|
|
+ <!-- <div>8.地理位置(Location):不同地理位置的气候条件{{}}</div>
|
|
|
<div>
|
|
|
9.供应商信息(Manufacturer
|
|
|
Information):制造商的信誉、技术水平和售后
|
|
@@ -466,7 +481,7 @@
|
|
|
<div>
|
|
|
10.维护需求(Maintenance Requirements):风力发电机组需要定期
|
|
|
</div>
|
|
|
- <div>11.预期寿命(Expected Lifetime):风力发电机组的设计寿命</div>
|
|
|
+ <div>11.预期寿命(Expected Lifetime):风力发电机组的设计寿命</div> -->
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
@@ -551,15 +566,17 @@
|
|
|
</template>
|
|
|
<script>
|
|
|
import { analysisEditQuery, analysis } from "@/api/performance";
|
|
|
+import { getWindEngineGroup } from "@/api/ledger";
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
+ engineCode: null, //台账机组编号
|
|
|
picker: [],
|
|
|
form: {
|
|
|
configAnalysis: null, //分析类型
|
|
|
powerFarmID: null, //风场编号//通过路由获取的默认传递的
|
|
|
dataBatchNum: null, //批次号
|
|
|
- scada: "minute", //scada数类型
|
|
|
+ scada: null, //scada数类型
|
|
|
turbines: [], //机组编号
|
|
|
beginTime: null, //开始时间
|
|
|
endTime: null, //结束时间
|
|
@@ -593,23 +610,10 @@ export default {
|
|
|
direction: "rtl",
|
|
|
value: "",
|
|
|
options: [],
|
|
|
- editableTabsValue: "2",
|
|
|
- editableTabs: [
|
|
|
- {
|
|
|
- title: "Tab 1",
|
|
|
- name: "1",
|
|
|
- content: "Tab 1 content",
|
|
|
- },
|
|
|
- {
|
|
|
- title: "Tab 2",
|
|
|
- name: "2",
|
|
|
- content: "Tab 2 content",
|
|
|
- },
|
|
|
- ],
|
|
|
- formData: { content: "<p>Hello, Tinymce!</p>" },
|
|
|
tabIndex: 2,
|
|
|
analysisTypeList: [],
|
|
|
windEngineGroupList: [],
|
|
|
+ windDetail: {},
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
@@ -617,10 +621,33 @@ export default {
|
|
|
this.getWindCodeList();
|
|
|
},
|
|
|
methods: {
|
|
|
+ handleEngineCode(e) {
|
|
|
+ console.log(e);
|
|
|
+ this.engineCode = e;
|
|
|
+ this.getWindEngList();
|
|
|
+ },
|
|
|
+ async getWindEngList() {
|
|
|
+ try {
|
|
|
+ const res = await getWindEngineGroup({
|
|
|
+ engineCode: this.engineCode,
|
|
|
+ });
|
|
|
+ this.windDetail = res.data;
|
|
|
+ } catch (error) {
|
|
|
+ console.error(error);
|
|
|
+ }
|
|
|
+ },
|
|
|
async getAnalysis() {
|
|
|
+ console.log(this.form.excludingMonths, "过滤月份");
|
|
|
+ console.log(this.picker, "分析时间");
|
|
|
try {
|
|
|
await analysis({
|
|
|
...this.form,
|
|
|
+ beginTime: this.picker[0], //开始时间
|
|
|
+ endTime: this.picker[1], //结束时间
|
|
|
+ });
|
|
|
+ this.$message({
|
|
|
+ type: "success",
|
|
|
+ message: "已分析请前往分析详情中查看结果",
|
|
|
});
|
|
|
} catch (error) {
|
|
|
console.error(error);
|
|
@@ -633,11 +660,11 @@ export default {
|
|
|
});
|
|
|
this.form.powerFarmID = this.$route.query.fieldEngineCode;
|
|
|
this.form.dataBatchNum = this.$route.query.batchCode;
|
|
|
- this.form.scada = "minute";
|
|
|
- this.form.configAnalysis = [response.data.analysisTypeList[0].typeCode];
|
|
|
this.analysisTypeList = response.data.analysisTypeList;
|
|
|
this.windEngineGroupList = response.data.windEngineGroupList;
|
|
|
- this.getAnalysis();
|
|
|
+ this.engineCode = response.data.windEngineGroupList[0];
|
|
|
+ //获取台账机组编号
|
|
|
+ this.getWindEngList();
|
|
|
} catch (error) {
|
|
|
console.error(error);
|
|
|
this.$router.go(-1);
|
|
@@ -667,47 +694,41 @@ export default {
|
|
|
})
|
|
|
.catch((_) => {});
|
|
|
},
|
|
|
- // 鼠标单击的事件
|
|
|
- onClick(e, editor) {
|
|
|
- console.log("Element clicked");
|
|
|
- console.log(e);
|
|
|
- console.log(editor);
|
|
|
- },
|
|
|
+
|
|
|
onSubmit() {
|
|
|
+ this.getAnalysis();
|
|
|
console.log("submit!");
|
|
|
},
|
|
|
+ resetForm() {
|
|
|
+ this.picker = [];
|
|
|
+ this.form = {
|
|
|
+ configAnalysis: null, //分析类型
|
|
|
+ powerFarmID: this.$route.query.fieldEngineCode, //风场编号//通过路由获取的默认传递的
|
|
|
+ dataBatchNum: this.$route.query.batchCode, //批次号
|
|
|
+ scada: null, //scada数类型
|
|
|
+ turbines: [], //机组编号
|
|
|
+ beginTime: null, //开始时间
|
|
|
+ endTime: null, //结束时间
|
|
|
+ excludingMonths: null, //过滤月份
|
|
|
+ valueWindSpeed: [], //风速值最大最小 数组第一值为min 第二个 max
|
|
|
+ valuePitchAngle: [], //桨距角最大最小
|
|
|
+ valueActivePower: [], //有功功率
|
|
|
+ valueGeneratorSpeed: [], //发电机转速
|
|
|
+ //图像
|
|
|
+ dGeneratorSpeed: [], //直驱发电机转速轴系 第一个值为步长 第二个min 第三个 max
|
|
|
+ iGeneratorSpeed: [], //非直驱发电机转速轴系设置
|
|
|
+ dGeneratorTorque: [], //直驱发电机转矩轴系
|
|
|
+ iGeneratorTorque: [], //非直驱发电机转矩轴系
|
|
|
+ cp: [], //风能利用系数轴系
|
|
|
+ tsr: [], //叶尖速比轴系
|
|
|
+ pitchAngle: [], //桨距角轴系
|
|
|
+ activePower: [], //有功功率轴系
|
|
|
+ };
|
|
|
+ },
|
|
|
// 清空内容
|
|
|
clear() {
|
|
|
this.$refs.editor.clear();
|
|
|
},
|
|
|
- handleTabsEdit(targetName, action) {
|
|
|
- if (action === "add") {
|
|
|
- let newTabName = ++this.tabIndex + "";
|
|
|
- this.editableTabs.push({
|
|
|
- title: "New Tab",
|
|
|
- name: newTabName,
|
|
|
- content: "New Tab content",
|
|
|
- });
|
|
|
- this.editableTabsValue = newTabName;
|
|
|
- }
|
|
|
- if (action === "remove") {
|
|
|
- let tabs = this.editableTabs;
|
|
|
- let activeName = this.editableTabsValue;
|
|
|
- if (activeName === targetName) {
|
|
|
- tabs.forEach((tab, index) => {
|
|
|
- if (tab.name === targetName) {
|
|
|
- let nextTab = tabs[index + 1] || tabs[index - 1];
|
|
|
- if (nextTab) {
|
|
|
- activeName = nextTab.name;
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- this.editableTabsValue = activeName;
|
|
|
- this.editableTabs = tabs.filter((tab) => tab.name !== targetName);
|
|
|
- }
|
|
|
- },
|
|
|
},
|
|
|
};
|
|
|
</script>
|