Pārlūkot izejas kodu

风切变页面

hxf 1 gadu atpakaļ
vecāks
revīzija
826e5045f1
1 mainītis faili ar 64 papildinājumiem un 37 dzēšanām
  1. 64 37
      neim-ui/src/views/windResources/windShear/index.vue

+ 64 - 37
neim-ui/src/views/windResources/windShear/index.vue

@@ -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