浏览代码

数据处理、数据回放

Rmengdi 1 年之前
父节点
当前提交
d261b11302

+ 347 - 224
PHM-web/src/views/manage/preHandleResult/index.vue

@@ -1,13 +1,12 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="名称" prop="name">
-        <el-input
-          v-model="queryParams.name"
-          placeholder="请输入名称"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+      <el-form-item label="机号" prop="aircraftNumber">
+        <el-input v-model="queryParams.aircraftNumber" placeholder="请输入机号" clearable
+          @keyup.enter.native="handleQuery" />
+      </el-form-item>
+      <el-form-item label="架次号" prop="sortieNumber">
+        <el-input v-model="queryParams.sortieNumber" placeholder="请输入架次号" clearable @keyup.enter.native="handleQuery" />
       </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@@ -15,131 +14,140 @@
       </el-form-item>
     </el-form>
 
-    <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          size="mini"
-          @click="handleAdd"
-          v-hasPermi="['manage:preHandleResult:add']"
-        >选择预处理数据</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="success"
-          size="mini"
-          :disabled="single"
-          @click="handleUpdate"
-          v-hasPermi="['manage:performanceMonitorModel:edit']"
-        >处理数据</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="warning"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          @click="handleExport"
-          v-hasPermi="['manage:preHandleResult:export']"
-        >导出</el-button>
-      </el-col>
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-    </el-row>
-
-    <el-table v-loading="loading" border :data="preHandleResultList" @selection-change="handleSelectionChange">
+    <el-table v-loading="loading" border :data="sortieList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="源数据文件名称" align="center" prop="sourceName" />
-      <el-table-column label="处理后文件名称" align="center" prop="name" />
-      <el-table-column label="处理方式" align="center" prop="type" />
-      <el-table-column label="备注" align="center" prop="remark"/>
-      <el-table-column label="处理后结果列表" align="center" />
+      <el-table-column label="机号" align="center" prop="aircraftNumber" />
+      <el-table-column label="架次号" align="center" prop="sortieNumber" />
+      <el-table-column label="开始时间" align="center" width="180">
+        <template slot-scope="scope">
+          <span>{{
+            parseTime(scope.row.startTime, "{y}-{m}-{d} {h}:{i}:{s}")
+          }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="结束时间" align="center" width="180">
+        <template slot-scope="scope">
+          <span>{{
+            parseTime(scope.row.endTime, "{y}-{m}-{d} {h}:{i}:{s}")
+          }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="飞行时长" align="center" prop="duration" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button type="text" size="mini" @click="handle(scope.row)"
+            v-hasPermi="['manage:preHandleResult:edit']">数据处理</el-button>
+        </template>
+      </el-table-column>
     </el-table>
+    <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+      @pagination="getList" />
 
-    <pagination
-      v-show="total>0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"
-    />
-
-    <!-- 添加或修改数据预处理结果对话框 -->
-    <el-dialog :title="title" :visible.sync="open" :close-on-click-modal="false" width="500px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
-        <el-form-item label="文件名" prop="name">
-          <el-select v-model="form.name" placeholder="请选择要处理的数据" style="width:100%">
-            <el-option
-              v-for="item in sourceDataList"
-              :key="item.name"
-              :label="item.name"
-              :value="item.name">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="预处理模式" prop="name">
-          <el-select v-model="form.type" placeholder="请选择要执行的模式" style="width:100%">
-            <el-option
-              v-for="item in handleList"
-              :key="item.name"
-              :label="item.name"
-              :value="item.name">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="备注" prop="remark">
-          <el-input v-model="form.remark" placeholder="请输入备注" />
-        </el-form-item>
-      </el-form>
+    <el-dialog :title="title" :visible.sync="open" :close-on-click-modal="false" width="800px" append-to-body>
+      <div style="max-height: 380px; overflow-y: auto; overflow-x: hidden;">
+        <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+          <el-form-item label="诊断类型">
+            <el-checkbox-group v-model="checkList" :min="1">
+              <el-checkbox label="1">异常值剔除</el-checkbox>
+              <el-checkbox label="2">缺失值处理</el-checkbox>
+            </el-checkbox-group>
+          </el-form-item>
+          <el-row :gutter="20">
+            <el-col :span="10">
+              <el-form-item label="机号" prop="aircraftNumber">
+                <el-input v-model="form.aircraftNumber" placeholder="请输入机号" disabled />
+              </el-form-item>
+            </el-col>
+            <el-col :span="10">
+              <el-form-item label="架次号" prop="sortieNumber">
+                <el-input v-model="form.sortieNumber" placeholder="请输入架次号" disabled />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-form-item label="架次数据:" class="clearMargin" />
+          <el-form-item>
+            <el-table :data="sortieParameterAllList" style="margin-left:-30px" highlight-current-row
+              @current-change="handleSortieData" max-height="250">
+              <el-table-column prop="sortieNo" label="架次号" align="center" />
+              <el-table-column prop="batchNo" label="批次号" align="center" />
+              <el-table-column prop="type" label="数据类型" align="center">
+                <template slot-scope="scope">
+                  <dict-tag :options="dict.type.data_type" :value="scope.row.type" />
+                </template>
+              </el-table-column>
+            </el-table>
+          </el-form-item>
+          <el-form-item label="模型选择">
+            <!-- <el-input v-model="form.sortieNumber" placeholder="请输入架次号" disabled/> -->
+            <el-select v-model="selectModelVal" placeholder="请选择模型" @change="modelSelectHandel">
+              <el-option v-for="item in modelOptions" :key="item.id" :label="item.name" :value="item">
+              </el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="参数选择" v-if="!(selectModelVal==='')">
+            <el-transfer v-model="selectSortieParams" :props="{ key: 'value', label: 'desc' }" :data="parameterList"
+              filterable filter-placeholder="请输入参数名称" :titles="['所有参数', '展示参数']">
+            </el-transfer>
+          </el-form-item>
+        </el-form>
+      </div>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm" :loading="butLoading">{{butText}}</el-button>
+        <el-button type="primary" @click="submitForm" :disabled="selectModelVal===''">确 定</el-button>
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
-    <!-- 手动处理数据的弹框 -->
-    <el-dialog :title="title" :visible.sync="handOpen" :close-on-click-modal="false" :fullscreen="true" append-to-body>
-      <el-input
-        type="textarea"
-        :rows="12"
-        placeholder="请输入内容"
-        v-model="textarea">
-      </el-input>
-      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
-        <el-form-item label="备注" prop="remark">
-          <el-input v-model="form.remark" placeholder="请输入备注" />
-        </el-form-item>
-      </el-form>
+
+    <!-- 进度条 -->
+    <el-dialog :title="title" :visible.sync="dialogProgress" class="progress" width="800" :close-on-click-modal="false"
+      append-to-body>
+      <el-progress :text-inside="true" :stroke-width="24" :percentage="percentageVal" status="success"></el-progress>
+    </el-dialog>
+    <el-dialog :title="title" :visible.sync="dialogResult" width="800" :close-on-click-modal="false" append-to-body>
+      结果
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm">确 定</el-button>
-        <el-button @click="handOpen = !handOpen">取 消</el-button>
+        <el-button type="primary" @click="cancel">完成</el-button>
+        <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
   </div>
 </template>
 
 <script>
-import { listPreHandleResult, getPreHandleResult, delPreHandleResult, addPreHandleResult, updatePreHandleResult } from "@/api/manage/preHandleResult";
-import { listAnalyzeResult } from "@/api/manage/analyzeResult";
+import {
+  listPreHandleResult,
+  getPreHandleResult,
+  delPreHandleResult,
+  addPreHandleResult,
+  updatePreHandleResult,
+} from '@/api/manage/preHandleResult'
+import { listAnalyzeResult } from '@/api/manage/analyzeResult'
+import { listSortie, getSortie, getSortieParams } from '@/api/manage/sortie'
+import {
+  beginModel,
+  listSortieParameterAll,
+  modelList,
+  modelListAll,
+} from '@/api/manage/data'
 
 export default {
-  name: "PreHandleResult",
+  name: 'PreHandleResult',
+  dicts: ['data_type'],
   data() {
     return {
       // 按钮加载
       butLoading: false,
-      // 按钮显示文本
-      butText: "开始分析",
       // 需要预处理的源数据列表
-      sourceDataList:[],
+      sourceDataList: [],
       // 当前选择的数据
       currentSelection: [],
       textarea: '0101010101010111010',
       handleList: [
-        {name: '异常值剔除', value: 1},
-        {name: '缺失值补全', value: 2}
+        { name: '异常值剔除', value: 1 },
+        { name: '缺失值补全', value: 2 },
       ],
       handleList2: [
-        {name: '手动处理', value: 1},
-        {name: '调用异常模型', value: 2}
+        { name: '手动处理', value: 1 },
+        { name: '调用异常模型', value: 2 },
       ],
       // 遮罩层
       loading: true,
@@ -153,164 +161,279 @@ export default {
       showSearch: true,
       // 总条数
       total: 0,
-      // 数据预处理结果表格数据
-      preHandleResultList: [],
       // 弹出层标题
-      title: "",
+      title: '',
       // 是否显示弹出层
       open: false,
-      // 是否显示弹出层
-      handOpen: false,
       // 查询参数
       queryParams: {
         pageNum: 1,
         pageSize: 10,
-
+        aircraftNumber: null,
+        sortieNumber: null,
       },
+      sortieList: [],
       // 表单参数
       form: {},
-      // 表单校验
-      rules: {
-      }
-    };
+      rules: {},
+      checkList: ['1', '2'],
+      // 进度条是否显示弹出框
+      dialogProgress: false,
+      percentageVal: 50,
+      timer: null,
+      // 结果弹出框
+      dialogResult: false,
+      modelOptions: [],
+      selectModelVal: '',
+      sortieParameterAllList: [],
+      selectedSortieDataType: '',
+      modelListAll: [],
+      parameterList: [],
+      selectSortieParams: [],
+      modelId: null,
+      batchNo: '',
+      showFlag: '',
+      faultPredictionResult: [],
+    }
   },
   created() {
-    this.getList();
-    this.getSourceDataList();
+    this.getList()
   },
-  methods: {
-    getSourceDataList() {
-      // listAnalyzeResult(this.queryParams).then(response => {
-      //   this.sourceDataList = response.rows;
-      // });
-      this.sourceDataList = JSON.parse(localStorage.getItem("data-analyze")) || [];
+  watch: {
+    checkList: {
+      handler(newValue, oldValue) {
+        if (newValue.length === 0) {
+          this.FABtnText = '完成'
+        }
+      },
+      deep: true,
     },
-    /** 查询数据预处理结果列表 */
+  },
+  methods: {
+    /** 查询架次信息列表 */
     getList() {
-      this.loading = true;
-      // listPreHandleResult(this.queryParams).then(response => {
-      //   this.preHandleResultList = response.rows;
-      //   this.total = response.total;
-      //   this.loading = false;
-      // });
-      this.preHandleResultList = JSON.parse(localStorage.getItem("pro-data-analyze")) || [];
-      console.log(this.preHandleResultLists);
-      this.total = this.preHandleResultList?.length || 0;
-      this.loading = false;
+      this.loading = true
+      listSortie(this.queryParams).then(response => {
+        this.sortieList = response.rows
+        this.total = response.total
+        this.loading = false
+      })
     },
     // 取消按钮
     cancel() {
-      this.open = false;
-      this.reset();
+      this.open = false
+      this.reset()
+      ;(this.checkList = ['1', '2']), (this.selectedSortieDataType = '')
+      this.batchNo = ''
+    },
+    cancelSelectModel() {
+      this.dialogSelectModel = false
+      this.cancel()
+      this.selectModelVal = ''
+      this.parameterList = []
+      this.selectSortieParams = []
     },
     // 表单重置
     reset() {
       this.form = {
-        name: null,
-        type: null,
-        remark: null
-      };
-      this.resetForm("form");
+        id: null,
+        aircraftNumber: null,
+        sortieNumber: null,
+      }
+      this.resetForm('form')
     },
     /** 搜索按钮操作 */
     handleQuery() {
-      this.queryParams.pageNum = 1;
-      this.getList();
+      this.queryParams.pageNum = 1
+      this.getList()
     },
     /** 重置按钮操作 */
     resetQuery() {
-      this.resetForm("queryForm");
-      this.handleQuery();
+      this.resetForm('queryForm')
+      this.handleQuery()
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
       this.ids = selection.map(item => item.id)
-      this.single = selection.length!==1
+      this.single = selection.length !== 1
       this.multiple = !selection.length
       this.currentSelection = selection
     },
-    /** 新增按钮操作 */
-    handleAdd() {
-      this.handleList = this.handleList
-      this.reset();
-      this.open = true;
-      this.title = "数据处理";
+    handle(row) {
+      console.log('故障诊断', row)
+      this.reset()
+      const id = row.id
+      getSortie(id).then(response => {
+        this.form = response.data
+        this.open = true
+        this.title = '故障诊断信息'
+      })
+      listSortieParameterAll({ sortieNo: row.sortieNumber }).then(response => {
+        this.sortieParameterAllList = response.data
+        this.loading = false
+      })
     },
-    /** 修改按钮操作 */
-    handleUpdate() {
-      console.log(this.currentSelection[0]);
-      this.form.name = this.currentSelection[0].sourceName;
-      this.form.remark = null;
-      this.form.type = null;
-      this.handleList = this.handleList2
-      // this.form = this.currentSelection[0] || {}
-      // getPreHandleResult(id).then(response => {
-      //   this.form = response.data;
-      this.open = true;
-      this.title = "处理数据";
-      // });
+    handleSortieData(value) {
+      console.log('value', value)
+      this.selectSortieId = value.id
+      this.selectedSortieDataType = value.type
+      this.batchNo = value.batchNo
     },
-    /** 提交按钮 */
     submitForm() {
-      if (this.form.type == '手动处理') {
-        this.handOpen = true
-        this.open = false;
-        return
+      if (this.selectedSortieDataType === '') {
+        this.$message.error(`请选择架次数据`)
+      } else {
+        this.checkList = this.checkList.map(str => parseInt(str, 10))
+        this.open = false
+        this.dialogSelectModel = true
+        if (this.checkList[0] === 1) {
+          this.title = '请选择异常值剔除模型'
+          // this.FABtnText = '完成'
+        } else {
+          this.title = '请选择缺失值补全模型'
+        }
+        const data = {
+          pageNum: 1,
+          pageSize: 10,
+          type: this.checkList[0],
+        }
+        modelListAll(data).then(response => {
+          this.modelOptions = response.data
+          this.loading = false
+        })
       }
-      this.butLoading = true;
-      this.butText = "分析中...";
-      setTimeout(() => {
-        // 服务获取文件
-        let dataObj = {
-          name: `处理后数据_${new Date().getTime()}.xlsx`,
-          sourceName: this.form.name,
-          type: this.form.type,
-          remark: this.form.remark,
-        };
-        let data = JSON.parse(localStorage.getItem("pro-data-analyze")) || [];
-        data.push(dataObj);
-        localStorage.setItem("pro-data-analyze", JSON.stringify(data));
-        this.getList();
-        // 保存指定路径
-        this.butLoading = false;
-        this.butText = "开始解析";
-        this.$modal.msgSuccess("解析成功");
-        this.open = false;
-      }, 1000);
-      // this.$refs["form"].validate(valid => {
-      //   if (valid) {
-      //     if (this.form.id != null) {
-      //       updatePreHandleResult(this.form).then(response => {
-      //         this.$modal.msgSuccess("修改成功");
-      //         this.open = false;
-      //         this.getList();
-      //       });
-      //     } else {
-      //       addPreHandleResult(this.form).then(response => {
-      //         this.$modal.msgSuccess("新增成功");
-      //         this.open = false;
-      //         this.getList();
-      //       });
-      //     }
-      //   }
-      // });
     },
-    /** 删除按钮操作 */
-    handleDelete(row) {
-      const ids = row.id || this.ids;
-      this.$modal.confirm('是否确认删除数据预处理结果编号为"' + ids + '"的数据项?').then(function() {
-        return delPreHandleResult(ids);
-      }).then(() => {
-        this.getList();
-        this.$modal.msgSuccess("删除成功");
-      }).catch(() => {});
+    modelSelectHandel(val) {
+      this.parameterList = []
+      this.selectSortieParams = []
+      this.selectModelVal = val.name
+      this.selectSortieParams = JSON.parse(val.dataParams)
+      this.modelId = val.id
+      getSortieParams(this.selectSortieId).then(response => {
+        response.data.forEach(item => {
+          this.parameterList.push({
+            value: item,
+            desc: item,
+          })
+        })
+      })
     },
-    /** 导出按钮操作 */
-    handleExport() {
-      this.download('manage/preHandleResult/export', {
-        ...this.queryParams
-      }, `preHandleResult_${new Date().getTime()}.xlsx`)
-    }
-  }
-};
+    back() {
+      this.dialogSelectModel = false
+      this.open = true
+      this.title = '故障诊断信息'
+      this.selectModelVal = ''
+      this.parameterList = []
+      this.selectSortieParams = []
+    },
+    begin() {
+      this.dialogResult = false
+      this.checkList = this.checkList.map(str => parseInt(str, 10))
+      if (this.checkList[0] === 3) {
+        this.falseAlarmBegin()
+      } else if (this.checkList[0] === 4) {
+        this.groundDiagnosisBegin()
+      } else {
+        this.deepIsolationBegin()
+      }
+    },
+    delAbnormalBegin() {
+      this.dialogSelectModel = false
+      this.title = '异常值剔除模型执行中'
+      this.dialogProgress = true
+      const data = {
+        modelId: this.modelId,
+        sortieNo: this.form.sortieNumber,
+        batchNo: this.batchNo,
+        dataType: this.checkList[0],
+        dataId: this.selectSortieId,
+        dataParams: this.selectSortieParams,
+      }
+      console.log('data', data)
+      if (!this.timer) {
+        this.timer = setInterval(() => {
+          this.percentageVal += 1
+          if (this.percentageVal == 98) {
+            clearInterval(this.timer)
+            this.timer = null
+            beginModel(data).then(response => {
+              if (response.code === 200) {
+                this.$message.success('执行成功')
+                this.groundDiagnosisResultText = response.data
+                this.percentageVal = 50
+                this.dialogProgress = false
+                this.dialogResult = true
+                this.title = '异常值剔除结果'
+                this.showFlag = this.checkList[0]
+                this.selectModelVal = ''
+                this.checkList.shift()
+              } else {
+                this.$message.error(response.msg)
+              }
+            })
+          }
+        }, 50)
+      }
+    },
+    missValCompletion() {
+      this.dialogSelectModel = false
+      this.title = '缺失值补全模型执行中'
+      this.dialogProgress = true
+      const data = {
+        modelId: this.modelId,
+        sortieNo: this.form.sortieNumber,
+        batchNo: this.batchNo,
+        dataType: this.checkList[0],
+        dataId: this.selectSortieId,
+        dataParams: this.selectSortieParams,
+      }
+      console.log('data', data)
+      if (!this.timer) {
+        this.timer = setInterval(() => {
+          this.percentageVal += 1
+          if (this.percentageVal == 98) {
+            clearInterval(this.timer)
+            this.timer = null
+            beginModel(data).then(response => {
+              if (response.code === 200) {
+                this.$message.success('执行成功')
+                this.groundDiagnosisResultText = response.data
+                this.percentageVal = 50
+                this.dialogProgress = false
+                this.dialogResult = true
+                this.title = '缺失值补全结果'
+                this.showFlag = this.checkList[0]
+                this.selectModelVal = ''
+                this.checkList.shift()
+              } else {
+                this.$message.error(response.msg)
+              }
+            })
+          }
+        }, 50)
+      }
+    },
+    next() {
+      if (this.FABtnText === '完成') {
+        this.dialogResult = false
+        this.cancelSelectModel()
+        this.FABtnText = '下一步'
+      } else {
+        this.submitForm()
+      }
+    },
+  },
+}
 </script>
+<style scoped>
+.progress {
+  top: 35%;
+}
+::v-deep .clearMargin {
+  margin-bottom: 0;
+}
+.back {
+  margin-left: -100px;
+  margin-top: -25px;
+}
+</style>

+ 37 - 3
PHM-web/src/views/manage/sortie/dataPlayBack.vue

@@ -16,6 +16,15 @@
       <el-button type="text" @click="listShow" class="listShowBtn">{{tableShow?'列表展示':'图表展示'}}</el-button>
       <el-button type="text" @click="reSelect" class="reSelect">重选参数</el-button>
       <el-button type="text" @click="layout" class="layout">布局设置</el-button>
+      <el-date-picker
+        v-model="timeValue"
+        type="datetimerange"
+        range-separator="至"
+        start-placeholder="开始日期"
+        end-placeholder="结束日期"
+        :picker-options="pickerOptions"
+        @change="updateChartByTimeRange">
+      </el-date-picker>
     </div>
     <div id="main" v-show="tableShow" ></div>
     <div class="tableShow" v-show="!tableShow" >
@@ -69,7 +78,9 @@ export default {
       tableData: [],
       option: {},
       times: [],
-      showParamsKey:[]
+      showParamsKey:[],
+      timeValue: '',
+      pickerOptions:null
     }
   },
   created() {
@@ -104,10 +115,17 @@ export default {
           smooth: true,
           data: this.parameterData.map(item => parseFloat(item[name])),
         }))
+      this.timeValue=[this.times[0],this.times[this.times.length-1]]
+      this.pickerOptions={
+        disabledDate: time => {
+          // 在这里动态设置最小和最大时间范围
+          return time.getTime() < new Date(this.times[0]).getTime() || time.getTime() > new Date(this.times[this.times.length-1]).getTime();
+        }
+      }
     },
     creatECharts() {
       var chartDom = document.getElementById('main')
-      var myChart = echarts.init(chartDom)
+      this.myChart = echarts.init(chartDom)
 
       this.option = {
         // title: {
@@ -145,12 +163,28 @@ export default {
         series: this.series,
       }
 
-      this.option && myChart.setOption(this.option)
+      this.option && this.myChart.setOption(this.option)
     },
     // 列表展示
     listShow() {
       this.tableShow = !this.tableShow
     },
+    updateChartByTimeRange() {
+      const [startTime, endTime] = this.timeValue.map(date => date.getTime());
+      const xAxisData = this.times.filter(
+        time => new Date(time).getTime() >= startTime && new Date(time).getTime() <= endTime
+      )
+      this.option.xAxis.data = xAxisData;
+      this.option.series.forEach(serie => {
+        serie.data = this.parameterData.filter(item => {
+          const timestamp = new Date(item['时间']).getTime();
+          return timestamp >= startTime && timestamp <= endTime;
+        }).map(item => parseFloat(item[serie.name]));
+      });
+
+      // 重新渲染图表
+      this.myChart.setOption(this.option);
+    },
     indexMethod(index) {
       return index * 2
     },

+ 2 - 0
PHM-web/src/views/manage/sortie/selectParameters.vue

@@ -18,6 +18,7 @@
     </div>
     <!-- 数据回放弹出框 -->
     <el-dialog
+      v-loading="loading"
       :visible.sync="dialogVisible"
       :fullscreen="true"
       class="thisDialog"
@@ -62,6 +63,7 @@ export default {
   },
   methods: {
     getParams(){
+      this.loading = true
       this.sortieNumber=this.$route.params.sortieNumber
       getSortieDataName(this.sortieNumber).then(response => {
         console.log("response.data",response.data);