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