|
@@ -5,13 +5,15 @@
|
|
|
<span>时间:</span>
|
|
|
<el-date-picker
|
|
|
v-model="dataTime"
|
|
|
- type="month"
|
|
|
- placeholder="选择月">
|
|
|
+ type="daterange"
|
|
|
+ range-separator="至"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期">
|
|
|
</el-date-picker>
|
|
|
</div>
|
|
|
<div class="conditionTwo">
|
|
|
<span>测风塔:</span>
|
|
|
- <el-select v-model="cftId" placeholder="请选择" @change="changeCft">
|
|
|
+ <el-select v-model="cftId" placeholder="请选择" @change="changeCft(cftId)">
|
|
|
<el-option
|
|
|
v-for="item in startDateAndEndDate"
|
|
|
:key="item.value"
|
|
@@ -23,7 +25,7 @@
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<div class="conditionThree">
|
|
|
- <span>层高:</span>
|
|
|
+ <span>层高(高):</span>
|
|
|
<el-select v-model="height" placeholder="请选择">
|
|
|
<el-option
|
|
|
v-for="item in options"
|
|
@@ -33,6 +35,17 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</div>
|
|
|
+ <div class="conditionThree">
|
|
|
+ <span>层高(低):</span>
|
|
|
+ <el-select v-model="heightMin" placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="item in optionsMin"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
<el-button :loading="btuLoading" class="seachBtu" type="primary" plain icon="el-icon-search" size="small"
|
|
|
@click="getWindShear">搜索
|
|
|
</el-button>
|
|
@@ -42,18 +55,17 @@
|
|
|
<div id="shearChart"/>
|
|
|
</div>
|
|
|
<span style="font-weight: bold;font-size: 18px;">综合风切变数据</span>
|
|
|
+ <div>
|
|
|
+ <span>
|
|
|
+ 平均风切变: {{ avgShear }}
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
<el-table v-loading="tableLoading"
|
|
|
:data="tableData.slice((page.currentPage-1)*page.pageSize,page.currentPage*page.pageSize)" border
|
|
|
height="330px">
|
|
|
<el-table-column prop="time" label="时间" align="center"></el-table-column>
|
|
|
<el-table-column prop="windShear" label="风切变" align="center"></el-table-column>
|
|
|
</el-table>
|
|
|
- <el-descriptions class="margin-top" :column="2" size="small" border v-loading="tableLoading">
|
|
|
- <el-descriptions-item>
|
|
|
- <template slot="label">平均风切变</template>
|
|
|
- {{ avgShear }}
|
|
|
- </el-descriptions-item>
|
|
|
- </el-descriptions>
|
|
|
<div class="block">
|
|
|
<el-pagination
|
|
|
@size-change="handleSizeChange"
|
|
@@ -72,7 +84,11 @@
|
|
|
|
|
|
<script>
|
|
|
import {listAllInfo, listEquipmentIdAndDataTime} from "@/api/biz/dataQuery/windTowerStatusInfo";
|
|
|
-import {getWindShear, getWindShearByEqidAndAverageAndTime} from "@/api/biz/dataQuery/RealTimeDisplay";
|
|
|
+import {
|
|
|
+ getWindShear,
|
|
|
+ getWindShearByEqidAndAverageAndTime,
|
|
|
+ startTimeAndEndTime
|
|
|
+} from "@/api/biz/dataQuery/RealTimeDisplay";
|
|
|
import defaultOption from "@/api/biz/dataQuery/defaultOption";
|
|
|
|
|
|
export default {
|
|
@@ -86,9 +102,11 @@ export default {
|
|
|
startDateAndEndDate: [],
|
|
|
tableData: [],
|
|
|
height: 50,
|
|
|
+ heightMin: 10,
|
|
|
options: [],
|
|
|
+ optionsMin: [],
|
|
|
allOptions: [],
|
|
|
- dataTime: '',
|
|
|
+ dataTime: [new Date(new Date().toLocaleDateString()).getTime() - 168 * 60 * 60 * 1000, new Date(new Date().toLocaleDateString()).getTime() - 1],
|
|
|
avgShear: '',
|
|
|
page: {
|
|
|
total: 0, // 总页数
|
|
@@ -105,16 +123,17 @@ export default {
|
|
|
},
|
|
|
mounted() {
|
|
|
this.allOptions = defaultOption.allHeightOptions
|
|
|
- this.Stime()
|
|
|
+ this.getTimeFrame()
|
|
|
},
|
|
|
methods: {
|
|
|
async getWindShear() {
|
|
|
this.btuLoading = true
|
|
|
var param = {
|
|
|
- startTime: new Date(this.dataTime).getTime(),
|
|
|
- endTime: this.getLastDay(),
|
|
|
+ startTime: new Date(this.dataTime[0]).getTime(),
|
|
|
+ endTime: new Date(this.dataTime[1]).getTime(),
|
|
|
equipmentId: this.cftId,
|
|
|
- height: this.height
|
|
|
+ height: this.height,
|
|
|
+ heightMin:this.heightMin
|
|
|
}
|
|
|
if (!this.shearChart) {
|
|
|
this.shearChart = this.$echarts.init(document.getElementById('shearChart'))
|
|
@@ -146,7 +165,8 @@ export default {
|
|
|
getShearTable() {
|
|
|
this.tableLoading = true
|
|
|
var params = {
|
|
|
- time: new Date(this.dataTime).getTime(),
|
|
|
+ startTime: new Date(this.dataTime[0]).getTime(),
|
|
|
+ endTime:new Date(this.dataTime[1]).getTime(),
|
|
|
eqId: this.cftId,
|
|
|
height: this.height
|
|
|
}
|
|
@@ -258,43 +278,49 @@ export default {
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
- Stime() {
|
|
|
- var year = new Date(new Date().toLocaleDateString()).getFullYear()
|
|
|
- var month = new Date(new Date().toLocaleDateString()).getMonth()
|
|
|
- var data = year + '/' + month
|
|
|
- this.dataTime = data
|
|
|
- this.getlistEquipmentIdAndDataTime()
|
|
|
- //开始时间 new Date(this.dataTime).getTime()
|
|
|
- },
|
|
|
- getLastDay() { //当前月最后一天
|
|
|
- var y = new Date(this.dataTime).getFullYear(); //获取年份
|
|
|
- var m = new Date(this.dataTime).getMonth() + 1; //获取月份
|
|
|
- var d = new Date(y, m, 0).getDate(); //获取当月最后一日
|
|
|
- m = m < 10 ? '0' + m : m; //月份补 0
|
|
|
- d = d < 10 ? '0' + d : d; //日数补 0
|
|
|
- var endtime = y + '/' + m + '/' + d
|
|
|
- return new Date(endtime).getTime() + 24 * 60 * 60 * 1000 - 1
|
|
|
+ getTimeFrame() {
|
|
|
+ startTimeAndEndTime().then(res => {
|
|
|
+ this.defaultTimeData = res.data
|
|
|
+ this.getlistEquipmentIdAndDataTime()
|
|
|
+ }).catch(err => {
|
|
|
+ this.getlistEquipmentIdAndDataTime()
|
|
|
+ this.$message.error('获取时间范围异常')
|
|
|
+ console.log('获取时间范围异常:' + err)
|
|
|
+ })
|
|
|
},
|
|
|
-
|
|
|
/*获取所有的测风塔*/
|
|
|
getlistEquipmentIdAndDataTime() {
|
|
|
listEquipmentIdAndDataTime().then(res => {
|
|
|
this.startDateAndEndDate = res.data
|
|
|
this.cftId = res.data[0].value
|
|
|
this.changeHeight(res.data[0])
|
|
|
- this.getWindShear()
|
|
|
+ this.changeCft(this.cftId)
|
|
|
+
|
|
|
})
|
|
|
},
|
|
|
/*切换测风塔找到它对应的层高*/
|
|
|
- changeCft() {
|
|
|
+ changeCft(cftId) {
|
|
|
let data = this.startDateAndEndDate.find(w => w.value == this.cftId)
|
|
|
+ this.getDataTime(this.cftId)
|
|
|
this.changeHeight(data)
|
|
|
+ this.getWindShear()
|
|
|
+ },
|
|
|
+ getDataTime(cftId) {
|
|
|
+ this.dataTime = [new Date(new Date().toLocaleDateString()).getTime() - 168 * 60 * 60 * 1000, new Date(new Date().toLocaleDateString()).getTime()]
|
|
|
+ if (cftId != null || cftId != undefined) {
|
|
|
+ if (this.defaultTimeData.length > 0) {
|
|
|
+ let filterData = this.defaultTimeData.find(w => w.equipmentId == cftId)
|
|
|
+ if (JSON.stringify(filterData) != '{}') {
|
|
|
+ this.dataTime = [filterData.startTime, filterData.endTime]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
},
|
|
|
/*切换测风塔时改变层高option*/
|
|
|
changeHeight(data) {
|
|
|
if (data.heights != null) {
|
|
|
var option = []
|
|
|
- let str = data.heights.split(',')
|
|
|
+ let str = data.wdHeights.split(',')
|
|
|
this.height = str[0]
|
|
|
for (let i = 0; i < str.length; i++) {
|
|
|
let filter = this.allOptions.find(w => w.value == str[i])
|
|
@@ -304,6 +330,7 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
this.options = option
|
|
|
+ this.optionsMin = option
|
|
|
} else {
|
|
|
this.height = "50"
|
|
|
this.options = this.allOptions
|