|
@@ -49,17 +49,11 @@
|
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
|
<el-table-column label="测量批次" align="center" prop="measurementBatch" />
|
|
|
<el-table-column label="发动机型号" align="center" prop="model" />
|
|
|
- <el-table-column label="发动机状态" align="center" prop="engineStatus" >
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-tag>{{ scope.row.engineStatus }}</el-tag>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="发动机角度" align="center" prop="angle" >
|
|
|
- </el-table-column>
|
|
|
+ <el-table-column label="发动机状态" align="center" prop="engineStatus" />
|
|
|
+ <el-table-column label="发动机角度" align="center" prop="angle" />
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button size="mini" type="text" icon="el-icon-view"
|
|
|
- v-hasPermi="['meas:envData:edit']">查看</el-button>
|
|
|
+ <el-button size="mini" type="text" icon="el-icon-view" @click="checkView(scope.row)" v-hasPermi="['meas:envData:edit']">查看</el-button>
|
|
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
|
|
v-hasPermi="['meas:envData:edit']">修改</el-button>
|
|
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
|
@@ -72,223 +66,9 @@
|
|
|
@pagination="getList" />
|
|
|
|
|
|
<!-- 添加或修改测量环境数据对话框 -->
|
|
|
- <el-dialog :title="title" :visible.sync="open" width="70%" append-to-body>
|
|
|
- <el-form ref="form" :model="engineForm" :rules="rules" size="mini" label-width="80px">
|
|
|
- <el-row type="flex" justify="space-around">
|
|
|
- <el-form-item label="发动机型号" prop="model" label-width="90px">
|
|
|
- <el-select v-model="engineForm.model" placeholder="请选择发动机型号">
|
|
|
- <el-option v-for="item in engineModelList" :key="item.id" :label="item.model" :value="item.id">
|
|
|
- </el-option>
|
|
|
- <el-option :value="undefined" disabled style="cursor: pointer">
|
|
|
- <el-button type="text" @click="onClickBtn('engine')"><i class="el-icon-plus"></i> 增加发动机型号</el-button>
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="几何模型" prop="geometryFiles">
|
|
|
- <file-upload :fileSize="0" :limit="1" :fileType="['x_t', 'str']" v-model="engineForm.geometryFiles" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="" prop="geometryImage">
|
|
|
- <image-upload :fileSize="0" :limit="1" :fileType="['jpg']" v-model="engineForm.geometryImage"
|
|
|
- :isPicCard="false" />
|
|
|
- </el-form-item>
|
|
|
- </el-row>
|
|
|
- </el-form>
|
|
|
- <el-form ref="form" :model="form" :rules="rules" size="mini" label-width="80px">
|
|
|
- <el-form-item label="测量批次" prop="measurementBatch" style="margin-left: 5%">
|
|
|
- <el-select v-model="form.measurementBatchId" placeholder="请选择测量批次">
|
|
|
- <el-option v-for="item in measureBatchOptions" :key="item.id" :label="item.measurementBatch"
|
|
|
- :value="item.id">
|
|
|
- <span style="float: left">{{ item.id }}</span>
|
|
|
- <span style="float: right; color: #8492a6; font-size: 13px">{{
|
|
|
- item.measurementBatch
|
|
|
- }}</span>
|
|
|
- </el-option>
|
|
|
- <el-option :value="undefined" disabled style="cursor: pointer">
|
|
|
- <el-button type="text" @click="onClickBtn('measBatch')"><i class="el-icon-plus"></i> 增加测量批次</el-button>
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <div class="box">
|
|
|
- <span class="title">环境参数</span>
|
|
|
- <el-form ref="form" :model="form" size="mini" :rules="rules" label-width="80px">
|
|
|
- <el-row type="flex" justify="space-around">
|
|
|
- <el-form-item label="发动机状态" label-width="100px" prop="engineStatus">
|
|
|
- <el-select v-model="form.engineStatus" placeholder="请选择发动机状态">
|
|
|
- <el-option v-for="item in engineStatusOptions" :key="item.value" :label="item.label"
|
|
|
- :value="item.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="角度" prop="angle">
|
|
|
- <el-select v-model="form.angle" placeholder="请输入角度">
|
|
|
- <el-option v-for="item in angleOptions" :key="item.value" :label="item.label" :value="item.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="涡轮后温度" prop="turbinePostTemp" label-width="90px">
|
|
|
- <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="form.turbinePostTemp" />
|
|
|
- </el-form-item>
|
|
|
- </el-row>
|
|
|
- <el-row type="flex" justify="space-around">
|
|
|
- <el-form-item label="测试距离" prop="testDistance">
|
|
|
- <el-input v-model="form.testDistance" placeholder="请输入测试距离" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="时间" prop="time">
|
|
|
- <el-date-picker clearable v-model="form.time" type="datetime" value-format="yyyy-MM-dd HH:mm"
|
|
|
- format="yyyy-MM-dd HH:mm" placeholder="请选择时间">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="地点" prop="location">
|
|
|
- <el-input v-model="form.location" placeholder="请输入地点" />
|
|
|
- </el-form-item>
|
|
|
- </el-row>
|
|
|
- <el-row type="flex" justify="space-around">
|
|
|
- <el-form-item label="大气压" prop="atmosPress">
|
|
|
- <el-input v-model="form.atmosPress" placeholder="请输入大气压(单位:pa)" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="温度" prop="temperature">
|
|
|
- <el-input v-model="form.temperature" placeholder="请输入温度(单位:K)" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="风速" prop="windSpeed">
|
|
|
- <el-input v-model="form.windSpeed" placeholder="请输入风速(单位:m/s)" />
|
|
|
- </el-form-item>
|
|
|
- </el-row>
|
|
|
- <el-row type="flex" justify="space-around">
|
|
|
- <el-form-item label="湿度" prop="humidity">
|
|
|
- <el-input v-model="form.humidity" placeholder="请输入湿度(单位:%)" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="CO₂浓度" prop="concentration">
|
|
|
- <el-input v-model="form.concentration" placeholder="请输入浓度(单位:mol)" />
|
|
|
- </el-form-item>
|
|
|
- <el-col :span="7">
|
|
|
- <el-button type="primary" size="mini" @click="envDataSave">保 存</el-button>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </el-form>
|
|
|
- </div>
|
|
|
- <div class="box">
|
|
|
- <span class="title">光谱辐射计测量数据</span>
|
|
|
- <el-form ref="radiationForm" size="mini" :model="radiationForm" :rules="rules" :disabled="disabled"
|
|
|
- label-width="80px">
|
|
|
- <el-row type="flex" justify="space-around">
|
|
|
- <el-form-item label="型号" prop="model">
|
|
|
- <el-input v-model="radiationForm.model" placeholder="请输入型号" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="镜头视场角" prop="lensFView" label-width="90px">
|
|
|
- <el-input v-model="radiationForm.lensFView" placeholder="请输入镜头视场角(单位:mrad)" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="增益" prop="gain">
|
|
|
- <el-input v-model.number="radiationForm.gain" placeholder="请输入增益(单位:x)" />
|
|
|
- </el-form-item>
|
|
|
- </el-row>
|
|
|
- <el-row type="flex" justify="space-around">
|
|
|
- <el-form-item label="背景数据" prop="backgroundData">
|
|
|
- <file-upload :fileSize="0" :limit="1" :fileType="['lgm']" v-model="radiationForm.backgroundData" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="标定温度" prop="calTemp">
|
|
|
- <el-input v-model="radiationForm.calTemp" placeholder="请输入标定温度" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="标定曲线" prop="calCurve">
|
|
|
- <file-upload :fileSize="0" :limit="5" :fileType="['txt']" :isShowViev="true"
|
|
|
- v-model="radiationForm.calCurve" v-on:fileView="fileView" />
|
|
|
- </el-form-item>
|
|
|
- </el-row>
|
|
|
- </el-form>
|
|
|
- <div class="box" style="margin-bottom: 15px">
|
|
|
- <span class="title">目标数据</span>
|
|
|
- <el-form ref="radiationForm" size="mini" :model="radiationForm" :disabled="disabled" :rules="rules"
|
|
|
- label-width="80px">
|
|
|
- <el-row type="flex" justify="space-around">
|
|
|
- <el-form-item label="原始数据" prop="rawData">
|
|
|
- <file-upload :fileSize="0" :limit="5" :fileType="['txt']" v-model="radiationForm.rawData" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="辐射亮度3~5μm" label-width="130px" prop="radiance1">
|
|
|
- <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="radiationForm.radiance1" :isShowViev="true" v-on:fileView="fileView" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="辐射亮度8~14μm" label-width="130px" prop="radiance2">
|
|
|
- <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="radiationForm.radiance2" />
|
|
|
- </el-form-item>
|
|
|
- </el-row>
|
|
|
- </el-form>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="box">
|
|
|
- <span class="title">热像仪测量数据</span>
|
|
|
- <el-form ref="TIForm" :model="TIForm" size="mini" :rules="rules" :disabled="disabled" label-width="80px">
|
|
|
- <el-row type="flex" justify="space-around">
|
|
|
- <el-form-item label="型号" prop="model">
|
|
|
- <el-input v-model="TIForm.model" placeholder="请输入型号" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="镜头视场角" label-width="90px" prop="lensFView">
|
|
|
- <el-select v-model="TIForm.lensFView" placeholder="请选择镜头视场角">
|
|
|
- <el-option v-for="item in lensFViewOptions" :key="item.value" :label="item.label" :value="item.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="滤镜编号" prop="filterNo">
|
|
|
- <el-select v-model="TIForm.filterNo" placeholder="请选择滤镜编号">
|
|
|
- <el-option v-for="item in filterNoOptions" :key="item.value" :label="item.label" :value="item.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-row>
|
|
|
- <el-row type="flex" justify="space-around">
|
|
|
- <el-form-item label="帧率" prop="fps">
|
|
|
- <el-select v-model="TIForm.fps" placeholder="请选择帧率">
|
|
|
- <el-option v-for="item in fpsOptions" :key="item.value" :label="item.label" :value="item.value">
|
|
|
- </el-option>
|
|
|
- </el-select> </el-form-item><el-form-item label="波段" prop="spectralBand">
|
|
|
- <el-select v-model="TIForm.spectralBand" placeholder="请选择波段">
|
|
|
- <el-option v-for="item in spectralBandOptions" :key="item.value" :label="item.label"
|
|
|
- :value="item.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="积分时间" prop="integrationTime">
|
|
|
- <el-input v-model.number="TIForm.integrationTime" placeholder="请输入积分时间(单位:s)" />
|
|
|
- </el-form-item>
|
|
|
- </el-row>
|
|
|
- <el-row type="flex" justify="space-around">
|
|
|
- <el-form-item label="温度标定" prop="tempCal">
|
|
|
- <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="TIForm.tempCal" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="辐射亮度" prop="radiance">
|
|
|
- <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="TIForm.radiance" :isShowViev="true"
|
|
|
- v-on:fileView="fileView2" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="辐射照度" prop="radIllumination">
|
|
|
- <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="TIForm.radIllumination" :isShowViev="true" v-on:fileView="fileView"/>
|
|
|
- </el-form-item>
|
|
|
- </el-row>
|
|
|
- <el-row type="flex" justify="space-around">
|
|
|
- <el-form-item label="辐射温度" prop="radTemp">
|
|
|
- <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="TIForm.radTemp" :isShowViev="true" v-on:fileView="fileView"/>
|
|
|
- </el-form-item>
|
|
|
- <el-col :span="7"></el-col>
|
|
|
- <el-col :span="7"></el-col>
|
|
|
- </el-row>
|
|
|
- </el-form>
|
|
|
- </div>
|
|
|
- <div class="box">
|
|
|
- <span class="title">透过率数据</span>
|
|
|
- <el-form ref="TransmittanceForm" :model="TransmittanceForm" :rules="rules" :disabled="disabled"
|
|
|
- label-width="80px">
|
|
|
- <el-row type="flex" justify="space-around">
|
|
|
- <el-form-item label="原始数据" prop="rawData">
|
|
|
- <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="TransmittanceForm.rawData" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="透过率曲线3~5μm" label-width="130px" prop="curve1">
|
|
|
- <file-upload :fileSize="0" :limit="1" :fileType="['txt']" :isShowViev="true" v-on:fileView="fileView" v-model="TransmittanceForm.curve1" />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="透过率曲线8~14μm" label-width="135px" prop="curve2">
|
|
|
- <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="TransmittanceForm.curve2" :isShowViev="true" v-on:fileView="fileView"/>
|
|
|
- </el-form-item>
|
|
|
- </el-row>
|
|
|
- </el-form>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div slot="footer" class="dialog-footer">
|
|
|
+ <el-dialog :title="title" :visible.sync="open" width="70%" append-to-body>
|
|
|
+ <dialogContent ref="dialogContent" :form="form" :TIForm="TIForm" :TransmittanceForm="TransmittanceForm" :envSaveBtn="true" :radiationForm="radiationForm" :isCheck="isCheck" @env-data-save="envDataSave"/>
|
|
|
+ <div v-if="!isCheck" slot="footer" class="dialog-footer">
|
|
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
|
|
<el-button @click="cancel">取 消</el-button>
|
|
|
</div>
|
|
@@ -367,10 +147,11 @@ import {
|
|
|
import { angleOption } from "@/api/meas/angle";
|
|
|
import { statusOption,getStatus } from "@/api/meas/status";
|
|
|
import ECharts from "./ECharts.vue";
|
|
|
+import dialogContent from "@/views/meas/components/dialogContent";
|
|
|
|
|
|
export default {
|
|
|
name: "EnvData",
|
|
|
- components: { ECharts},
|
|
|
+ components: { ECharts,dialogContent},
|
|
|
data() {
|
|
|
return {
|
|
|
// 遮罩层
|
|
@@ -411,75 +192,13 @@ export default {
|
|
|
humidity: null,
|
|
|
concentration: null,
|
|
|
},
|
|
|
+ rules:{},
|
|
|
+ isCheck:false,
|
|
|
// 表单参数
|
|
|
form: {},
|
|
|
radiationForm: {},
|
|
|
TIForm: {},
|
|
|
TransmittanceForm: {},
|
|
|
- engineForm: {},
|
|
|
- // 表单校验和验证
|
|
|
- rules: {
|
|
|
- measurementBatchId: [
|
|
|
- { required: true, message: "测量批次id不能为空", trigger: "blur" },
|
|
|
- ],
|
|
|
- engineStatus: [
|
|
|
- { required: true, message: "发动机状态不能为空", trigger: "change" },
|
|
|
- ],
|
|
|
- angle: [{ required: true, message: "角度不能为空", trigger: "change" }],
|
|
|
- testDistance: [
|
|
|
- {
|
|
|
- pattern: /^(0(\.\d{1,2})?|[1-9]\d{0,2}(\.\d{1,2})?|1000(\.00?)?)$/,
|
|
|
- message: "请输入0.00-1000.00之间的数字,最多可保留两位小数",
|
|
|
- trigger: "blur",
|
|
|
- },
|
|
|
- ],
|
|
|
- time: [{ required: true, message: "时间不能为空", trigger: "change" }],
|
|
|
- location: [
|
|
|
- { required: true, message: "地点不能为空", trigger: "blur" },
|
|
|
- {
|
|
|
- min: 0,
|
|
|
- max: 50,
|
|
|
- message: "长度在 0 到 50 个字符",
|
|
|
- trigger: "blur",
|
|
|
- },
|
|
|
- ],
|
|
|
- atmosPress: [
|
|
|
- {
|
|
|
- pattern:
|
|
|
- /^(0(\.\d{1,2})?|[1-9]\d{0,2}(\.\d{1,2})?|1[0-4]\d{2}(\.\d{1,2})?|1500(\.00?)?)$/,
|
|
|
- message: "请输入0.00-1500.00pa之间的数字,最多可保留两位小数",
|
|
|
- trigger: "blur",
|
|
|
- },
|
|
|
- ],
|
|
|
- temperature: [
|
|
|
- {
|
|
|
- pattern: /^(230|2[3-9]\d|30\d|31\d|320)(\.\d{2})?$/,
|
|
|
- message: "请输入230.00-320.00K之间的数字,最多可保留两位小数",
|
|
|
- trigger: "blur",
|
|
|
- },
|
|
|
- ],
|
|
|
- windSpeed: [
|
|
|
- {
|
|
|
- pattern: /^(0(\.\d{1,2})?|[1-9]\d{0,2}(\.\d{1,2})?|1000(\.00?)?)$/,
|
|
|
- message: "请输入0.00-1000.00m/s之间的数字,最多可保留两位小数",
|
|
|
- trigger: "blur",
|
|
|
- },
|
|
|
- ],
|
|
|
- humidity: [
|
|
|
- {
|
|
|
- pattern: /(^(\d|[1-9]\d)(\.\d{1,2})?$)|(^100$)/,
|
|
|
- message: "请输入0.00-100.00%之间的数字,最多可保留两位小数",
|
|
|
- trigger: "blur",
|
|
|
- },
|
|
|
- ],
|
|
|
- concentration: [
|
|
|
- {
|
|
|
- pattern: /^(0(\.\d{1,2})?|[1-9]\d{0,2}(\.\d{1,2})?|1000(\.00?)?)$/,
|
|
|
- message: "请输入0.00-1000.00mol之间的数字,最多可保留两位小数",
|
|
|
- trigger: "blur",
|
|
|
- },
|
|
|
- ],
|
|
|
- },
|
|
|
// 发动机状态
|
|
|
engineStatusOptions: [],
|
|
|
// 发动机角度
|
|
@@ -559,9 +278,9 @@ export default {
|
|
|
this.reset();
|
|
|
},
|
|
|
// 保存环境参数
|
|
|
- envDataSave() {
|
|
|
+ envDataSave(val) {
|
|
|
// 保存环境参数,返回一个环境数据ID
|
|
|
- this.$refs["form"].validate((valid) => {
|
|
|
+ val.validate((valid) => {
|
|
|
console.log("11", valid, this.form);
|
|
|
if (valid) {
|
|
|
if (this.form.id != null) {
|
|
@@ -629,11 +348,6 @@ export default {
|
|
|
updateBy: null,
|
|
|
updateTime: null,
|
|
|
};
|
|
|
- this.engineForm = {
|
|
|
- model: null,
|
|
|
- geometryFiles: null,
|
|
|
- geometryImage: null,
|
|
|
- };
|
|
|
this.radiationForm = {
|
|
|
model: null,
|
|
|
lensFView: null,
|
|
@@ -663,7 +377,6 @@ export default {
|
|
|
curve2: null,
|
|
|
};
|
|
|
this.resetForm("form");
|
|
|
- this.resetForm("engineForm");
|
|
|
this.resetForm("radiationForm");
|
|
|
this.resetForm("TIForm");
|
|
|
this.resetForm("TransmittanceForm");
|
|
@@ -690,22 +403,27 @@ export default {
|
|
|
this.open = true;
|
|
|
this.title = "添加测量环境数据";
|
|
|
},
|
|
|
+ checkView(row){
|
|
|
+ this.handleUpdate(row)
|
|
|
+ this.isCheck=true
|
|
|
+ },
|
|
|
/** 修改按钮操作 */
|
|
|
handleUpdate(row) {
|
|
|
this.reset();
|
|
|
- const id = row.id || this.ids;
|
|
|
- // getEngineModelByEnvData(id).then((response) => {
|
|
|
- // this.engineForm = response.data
|
|
|
- // });
|
|
|
+ this.isCheck=false
|
|
|
+ const id = row.measurementBatchId;
|
|
|
getRadiationByEnvData(id).then((response) => {
|
|
|
this.radiationForm = response.data;
|
|
|
+ console.log("this.radiationForm",this.radiationForm);
|
|
|
});
|
|
|
getTIDataByEnvData(id).then((response) => {
|
|
|
this.TIForm = response.data;
|
|
|
+ console.log("this.TIForm",this.TIForm);
|
|
|
+ });
|
|
|
+ getTRateByEnvData(id).then((response) => {
|
|
|
+ this.TransmittanceForm = response.data;
|
|
|
+ console.log("this.TransmittanceForm",this.TransmittanceForm);
|
|
|
});
|
|
|
- // getTRateByEnvData(id).then((response) => {
|
|
|
- // this.TransmittanceForm = response.data;
|
|
|
- // });
|
|
|
getEnvData(id).then((response) => {
|
|
|
this.form = response.data;
|
|
|
this.open = true;
|