|
@@ -36,19 +36,22 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item>
|
|
|
- <div style="width: 200px;"></div>
|
|
|
+ <el-form-item label="地点" prop="location">
|
|
|
+ <el-input v-model="formData.location" placeholder="请输入地点" />
|
|
|
</el-form-item>
|
|
|
+ <!--<el-form-item>
|
|
|
+ <div style="width: 200px;"></div>
|
|
|
+ </el-form-item>-->
|
|
|
<el-form-item>
|
|
|
<div style="width: 200px;"></div>
|
|
|
</el-form-item>
|
|
|
</el-row>
|
|
|
</el-form>
|
|
|
<!-- <el-form ref="formData" :disabled="checkShow" :model="formData" :rules="formRules" size="mini" label-width="80px">
|
|
|
-
|
|
|
+
|
|
|
</el-form> -->
|
|
|
<div class="box">
|
|
|
- <span class="title">环境参数</span>
|
|
|
+ <span></span>
|
|
|
<el-form :disabled="checkShow" :rules="formRules" @submit-form="submitForm" :inline-message="true" :form="form"
|
|
|
@cancel="cancel" ref="formRef" :model="formData" size="mini" label-width="80px"
|
|
|
:validate-on-rule-change="false">
|
|
@@ -63,6 +66,15 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="涡轮后温度" prop="turbinePostTemp" label-width="90px">
|
|
|
+ <file-upload :isCheck="isCheck" :fileSize="0" :limit="1" :fileType="['txt']"
|
|
|
+ v-model="formData.turbinePostTemp" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <div style="width: 200px;"></div>
|
|
|
+ </el-form-item>
|
|
|
+ </el-row>
|
|
|
+ <el-row type="flex" justify="space-around">
|
|
|
<el-form-item label="角度" prop="angle">
|
|
|
<el-select filterable v-model="formData.angle" placeholder="请输入角度">
|
|
|
<el-option v-for="item in angleOptions" :key="item" :label="item" :value="item">
|
|
@@ -73,12 +85,6 @@
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="涡轮后温度" prop="turbinePostTemp" label-width="90px">
|
|
|
- <file-upload :isCheck="isCheck" :fileSize="0" :limit="1" :fileType="['txt']"
|
|
|
- v-model="formData.turbinePostTemp" />
|
|
|
- </el-form-item>
|
|
|
- </el-row>
|
|
|
- <el-row type="flex" justify="space-around">
|
|
|
<el-form-item label="测试距离" prop="testDistance">
|
|
|
<el-input v-model="formData.testDistance" placeholder="请输入测试距离"><template
|
|
|
slot="append">m</template></el-input>
|
|
@@ -88,10 +94,12 @@
|
|
|
format="yyyy-MM-dd HH:mm" placeholder="请选择时间">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="地点" prop="location">
|
|
|
+ <!-- <el-form-item label="地点" prop="location">
|
|
|
<el-input v-model="formData.location" placeholder="请输入地点" />
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item> -->
|
|
|
</el-row>
|
|
|
+ <div class="box" style="margin-bottom: 15px">
|
|
|
+ <span class="title">环境参数</span>
|
|
|
<el-row type="flex" justify="space-around">
|
|
|
<el-form-item label="大气压" prop="atmosPress">
|
|
|
<el-input v-model="formData.atmosPress" placeholder="请输入大气压"><template
|
|
@@ -112,12 +120,21 @@
|
|
|
<el-input v-model="formData.concentration" placeholder="请输入浓度"><template
|
|
|
slot="append">mol</template></el-input>
|
|
|
</el-form-item>
|
|
|
+ <!-- lhp_start -->
|
|
|
+ <el-form-item label="能见度" prop="visibility">
|
|
|
+ <el-input v-model="formData.visibility" placeholder="请输入浓度"><template
|
|
|
+ slot="append">km</template></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <!-- lhp_end -->
|
|
|
+ </el-row>
|
|
|
+ <el-row type="flex" justify="space-around" v-if="addBtn">
|
|
|
<el-form-item>
|
|
|
<div style="width: 200px;">
|
|
|
- <el-button v-if="addBtn" type="primary" size="mini" @click="envDataSave">保 存</el-button>
|
|
|
+ <el-button type="primary" size="mini" @click="envDataSave">保 存</el-button>
|
|
|
</div>
|
|
|
</el-form-item>
|
|
|
</el-row>
|
|
|
+ </div>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
<div class="box" v-if="radiationData && Object.keys(radiationData).length > 0">
|
|
@@ -138,7 +155,87 @@
|
|
|
slot="append">x</template></el-input>
|
|
|
</el-form-item>
|
|
|
</el-row>
|
|
|
- <el-row type="flex" justify="space-around">
|
|
|
+
|
|
|
+ <!-- lhp_start -->
|
|
|
+ <div class="box" style="margin-bottom: 15px">
|
|
|
+ <span class="title">辐射亮度标定</span>
|
|
|
+ <el-form ref="radiationRef" :disabled="checkShow || addBtn" size="mini" :rules="radiationRules"
|
|
|
+ :validate-on-rule-change="false" :model="radiationData" label-width="80px">
|
|
|
+ <el-row type="flex" justify="space-around">
|
|
|
+ <el-form-item label="标定温度" prop="calTempEk">
|
|
|
+ <file-upload :isCheck="isCheck" :fileSize="0" :limit="5" :fileType="['lgm']"
|
|
|
+ v-model="radiationData.calTempEk" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="标定曲线" prop="calCurve">
|
|
|
+ <file-upload :isCheck="isCheck" :fileSize="0" :limit="5" :fileType="['txt']" :isShowViev="true"
|
|
|
+ v-model="radiationData.calCurve" v-on:fileView="fileView" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <div class="box" style="margin-bottom: 15px">
|
|
|
+ <span class="title">原始数据</span>
|
|
|
+ <el-form ref="radiationRef" :disabled="checkShow || addBtn" size="mini" :rules="radiationRules"
|
|
|
+ :validate-on-rule-change="false" :model="radiationData" label-width="80px">
|
|
|
+ <el-row type="flex" justify="space-around">
|
|
|
+ <el-form-item label="目标">
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="3~5μm" prop="rawTarget1">
|
|
|
+ <file-upload :isCheck="isCheck" :fileSize="0" :limit="10" :fileType="['lgm']"
|
|
|
+ v-model="radiationData.rawTarget1" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="8~14μm" prop="rawTarget2">
|
|
|
+ <file-upload :isCheck="isCheck" :fileSize="0" :limit="10" :fileType="['lgm']"
|
|
|
+ v-model="radiationData.rawTarget2" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-row>
|
|
|
+ <el-row type="flex" justify="space-around">
|
|
|
+ <el-form-item label="背景">
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="3~5μm" prop="rawBackground1">
|
|
|
+ <file-upload :isCheck="isCheck" :fileSize="0" :limit="10" :fileType="['lgm']"
|
|
|
+ v-model="radiationData.rawBackground1" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="8~14μm" prop="rawBackground2">
|
|
|
+ <file-upload :isCheck="isCheck" :fileSize="0" :limit="10" :fileType="['lgm']"
|
|
|
+ v-model="radiationData.rawBackground2" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <div class="box" style="margin-bottom: 15px">
|
|
|
+ <span class="title">处理后数据</span>
|
|
|
+ <el-form ref="radiationRef" :disabled="checkShow || addBtn" size="mini" :rules="radiationRules"
|
|
|
+ :validate-on-rule-change="false" :model="radiationData" label-width="80px">
|
|
|
+ <el-row type="flex" justify="space-around">
|
|
|
+ <el-form-item label="目标">
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="3~5μm" prop="tackleTarget1">
|
|
|
+ <file-upload :isCheck="isCheck" :fileSize="0" :limit="1" :fileType="['txt']" :isShowViev="true"
|
|
|
+ v-model="radiationData.tackleTarget1" v-on:fileView="fileView"/>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="8~14μm" prop="tackleTarget2">
|
|
|
+ <file-upload :isCheck="isCheck" :fileSize="0" :limit="1" :fileType="['txt']" :isShowViev="true"
|
|
|
+ v-model="radiationData.tackleTarget2" v-on:fileView="fileView" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-row>
|
|
|
+ <el-row type="flex" justify="space-around">
|
|
|
+ <el-form-item label="背景">
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="3~5μm" prop="tackleBackground1">
|
|
|
+ <file-upload :isCheck="isCheck" :fileSize="0" :limit="1" :fileType="['txt']"
|
|
|
+ v-model="radiationData.tackleBackground1" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="8~14μm" prop="tackleBackground2">
|
|
|
+ <file-upload :isCheck="isCheck" :fileSize="0" :limit="1" :fileType="['txt']"
|
|
|
+ v-model="radiationData.tackleBackground2" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <!-- lhp_end -->
|
|
|
+
|
|
|
+ <!-- <el-row type="flex" justify="space-around">
|
|
|
<el-form-item label="背景数据" prop="backgroundData">
|
|
|
<file-upload :isCheck="isCheck" :fileSize="0" :limit="1" :fileType="['lgm']"
|
|
|
v-model="radiationData.backgroundData" />
|
|
@@ -174,9 +271,9 @@
|
|
|
<i style="font-size: 1.5rem;margin-top: 10px;" class="el-icon-circle-plus-outline" @click="addCalTemp"
|
|
|
v-if="!(checkShow || addBtn)"></i>
|
|
|
</el-form-item>
|
|
|
- </el-row>
|
|
|
+ </el-row> -->
|
|
|
</el-form>
|
|
|
- <div class="box" style="margin-bottom: 15px">
|
|
|
+ <!-- <div class="box" style="margin-bottom: 15px">
|
|
|
<span class="title">目标数据</span>
|
|
|
<el-form ref="radiationRef" :disabled="checkShow || addBtn" size="mini" :rules="radiationRules"
|
|
|
:validate-on-rule-change="false" :model="radiationData" label-width="80px">
|
|
@@ -195,7 +292,7 @@
|
|
|
</el-form-item>
|
|
|
</el-row>
|
|
|
</el-form>
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
</div>
|
|
|
<div class="box" v-if="TIData && Object.keys(TIData).length > 0">
|
|
|
<span class="title">热像仪测量数据</span>
|
|
@@ -222,26 +319,58 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="积分时间" prop="integrationTime">
|
|
|
<el-input v-model.number="TIData.integrationTime" placeholder="请输入积分时间"><template
|
|
|
- slot="append">s</template></el-input>
|
|
|
+ slot="append">ms</template></el-input>
|
|
|
</el-form-item>
|
|
|
</el-row>
|
|
|
- <el-row type="flex" justify="space-around">
|
|
|
+
|
|
|
+ <el-row style="margin-left: 2%;" class="calTempTabel" type="flex">
|
|
|
<el-form-item label="温度标定" prop="tempCal">
|
|
|
- <file-upload :isCheck="isCheck" :fileSize="0" :limit="1" :fileType="['txt']" v-model="TIData.tempCal" />
|
|
|
+ <el-table :data="tempCalData" size="mini" border style="width: 600px">
|
|
|
+ <el-table-column prop="temp" label="温度" width="100px" align="center">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="tempCalFile" label="文件" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-link @click="$download.resource(scope.row.tempCalFile,false)" :underline="false">
|
|
|
+ <span class="el-icon-document"> {{ getFileName(scope.row.tempCalFile) }} </span>
|
|
|
+ </el-link>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" width="100px" align="center" class-name="small-padding fixed-width">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button size="mini" type="text" icon="el-icon-delete" @click="delTempCal(scope.row)">删除</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="" label-width="10px">
|
|
|
+ <i style="font-size: 1.5rem;margin-top: 10px;" class="el-icon-circle-plus-outline" @click="addTempCal"
|
|
|
+ v-if="!(checkShow || addBtn)"></i>
|
|
|
+ </el-form-item>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-row type="flex" justify="space-around">
|
|
|
+ <!-- <el-form-item label="温度标定" prop="tempCal">
|
|
|
+ <file-upload :isCheck="isCheck" :fileSize="0" :limit="1" :fileType="['txt']" v-model="TIData.tempCal" />
|
|
|
+ </el-form-item> -->
|
|
|
<el-form-item label="辐射亮度" prop="radiance">
|
|
|
- <file-upload :isCheck="isCheck" :fileSize="0" :limit="1" :fileType="['txt']" v-model="TIData.radiance"
|
|
|
- :isShowViev="true" v-on:fileView="fileView2" />
|
|
|
+ <file-upload :isCheck="isCheck" :fileSize="0" :limit="1" :fileType="['zip']" v-model="TIData.radiance"
|
|
|
+ :isShowViev="true" v-on:fileView="fileViewZipL" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="辐射照度" prop="radIllumination">
|
|
|
- <file-upload :isCheck="isCheck" :fileSize="0" :limit="1" :fileType="['txt']"
|
|
|
- v-model="TIData.radIllumination" :isShowViev="true" v-on:fileView="fileView" />
|
|
|
+ <file-upload :isCheck="isCheck" :fileSize="0" :limit="1" :fileType="['zip']"
|
|
|
+ v-model="TIData.radIllumination"
|
|
|
+ :isShowViev="true"
|
|
|
+ v-on:fileView="fileViewZipZ" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="辐射温度" prop="radTemp">
|
|
|
+ <file-upload :isCheck="isCheck" :fileSize="0" :limit="1" :fileType="['zip']" v-model="TIData.radTemp"
|
|
|
+ :isShowViev="true" v-on:fileView="fileViewZipW" />
|
|
|
</el-form-item>
|
|
|
</el-row>
|
|
|
- <el-row type="flex" justify="space-around">
|
|
|
+ <!-- <el-row type="flex" justify="space-around">
|
|
|
<el-form-item label="辐射温度" prop="radTemp">
|
|
|
- <file-upload :isCheck="isCheck" :fileSize="0" :limit="1" :fileType="['txt']" v-model="TIData.radTemp"
|
|
|
- :isShowViev="true" v-on:fileView="fileView" />
|
|
|
+ <file-upload :isCheck="isCheck" :fileSize="0" :limit="1" :fileType="['zip']" v-model="TIData.radTemp"
|
|
|
+ :isShowViev="true" v-on:fileView="fileViewZipW" />
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
<div style="width: 200px;"></div>
|
|
@@ -249,7 +378,7 @@
|
|
|
<el-form-item>
|
|
|
<div style="width: 200px;"></div>
|
|
|
</el-form-item>
|
|
|
- </el-row>
|
|
|
+ </el-row> -->
|
|
|
</el-form>
|
|
|
</div>
|
|
|
<div class="box" v-if="TransmittanceData">
|
|
@@ -258,7 +387,7 @@
|
|
|
:validate-on-rule-change="false">
|
|
|
<el-row type="flex" justify="space-around">
|
|
|
<el-form-item label="原始数据" prop="rawData">
|
|
|
- <file-upload :fileSize="0" :limit="1" :isCheck="isCheck" :fileType="['txt']"
|
|
|
+ <file-upload :fileSize="0" :limit="1" :isCheck="isCheck" :fileType="['xls', 'xlsx']"
|
|
|
v-model="TransmittanceData.rawData" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="透过率曲线3~5μm" label-width="130px" prop="curve1">
|
|
@@ -319,6 +448,24 @@
|
|
|
<el-button @click="cancelCalTemp">取 消</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
+
|
|
|
+ <el-dialog :close-on-click-modal="false" title="增加标定温度" :visible.sync="addTempCalVisible" width="500px"
|
|
|
+ append-to-body>
|
|
|
+ <el-form ref="tempCalFormRef" :model="tempCalForm" label-width="60px">
|
|
|
+ <el-form-item label="温度" prop="temp">
|
|
|
+ <el-input type="number" v-model.number="tempCalForm.temp" placeholder="请输入温度(只能输入数字)" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="文件" prop="tempCalFile">
|
|
|
+ <file-upload :fileSize="0" :limit="1" :isCheck="isCheck" :fileType="['txt']"
|
|
|
+ v-model="tempCalForm.tempCalFile" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button type="primary" @click="submitTempCal">确 定</el-button>
|
|
|
+ <el-button @click="cancelTempCal">取 消</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
<el-dialog :close-on-click-modal="false" title="增加发动机型号" :visible.sync="addDialogVisible" width="400px"
|
|
|
append-to-body>
|
|
|
<el-form ref="addEngineFormRef" :model="addEngineForm" :disabled="isCheck" :rules="rules" label-width="100px">
|
|
@@ -383,8 +530,9 @@
|
|
|
<el-button @click="addAngleVisible = false">取 消</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
- <el-dialog :close-on-click-modal="false" title="数据可视化" :visible.sync="fileVisible" width="70%" append-to-body>
|
|
|
- <ECharts class="chartShow" :chartData="chartData" :width="chartType === 'heatmap' ? '400px' :'100%'" />
|
|
|
+ <el-dialog :close-on-click-modal="false" :destroy-on-close="true" title="数据可视化" :visible.sync="fileVisible" width="80%" append-to-body :before-close="handleClose">
|
|
|
+ <ECharts v-if="EChartsScroll" class="chartShow" :chartData="chartData" :width="chartType === 'heatmap' ? 'calc(60vh)' :'100%'" @get-value="getChildValue" />
|
|
|
+ <TxtECharts v-if="!EChartsScroll" class="chartShow" :chartData="chartData" :width="chartType === 'heatmap'? 'calc(70vh)' :'100%'" @get-value="getChildValue" />
|
|
|
</el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -393,11 +541,12 @@
|
|
|
import { listEngineModel, addEngineModel } from "@/api/meas/engineModel";
|
|
|
import { angleOption, addAngle } from "@/api/meas/angle";
|
|
|
import { statusOption, addStatus } from "@/api/meas/status";
|
|
|
-import { listMeasBatch, addMeasBatch } from "@/api/meas/measBatch";
|
|
|
+import { listMeasBatch, addMeasBatch, getZipInfo } from "@/api/meas/measBatch";
|
|
|
import ECharts from "@/views/meas/envData/ECharts.vue";
|
|
|
+import TxtECharts from "@/views/meas/envData/TxtECharts.vue";
|
|
|
export default {
|
|
|
name: "dialogContent",
|
|
|
- components: { ECharts },
|
|
|
+ components: { ECharts, TxtECharts },
|
|
|
props: {
|
|
|
form: {
|
|
|
type: Object,
|
|
@@ -438,6 +587,8 @@ export default {
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+ // 是否有滚动效果
|
|
|
+ EChartsScroll: false,
|
|
|
baseUrl: process.env.VUE_APP_BASE_API,
|
|
|
// 热像仪测试
|
|
|
lensFViewOptions: [],
|
|
@@ -512,6 +663,13 @@ export default {
|
|
|
trigger: "blur",
|
|
|
},
|
|
|
],
|
|
|
+ visibility: [
|
|
|
+ {
|
|
|
+ pattern: /^(0(\.\d{1,2})?|[1-9]\d{0,2}(\.\d{0,2})?|1000(\.00?)?)$/,
|
|
|
+ message: "请输入0.00-1000.00之间的数字,最多可保留两位小数",
|
|
|
+ trigger: "blur",
|
|
|
+ },
|
|
|
+ ],
|
|
|
},
|
|
|
radiationRules: {
|
|
|
model: [
|
|
@@ -571,10 +729,16 @@ export default {
|
|
|
temp: null,
|
|
|
calTempFile: null,
|
|
|
},
|
|
|
+ addTempCalVisible: false,
|
|
|
+ tempCalData: [],
|
|
|
+ tempCalForm: {
|
|
|
+ temp: null,
|
|
|
+ tempCalFile: null,
|
|
|
+ },
|
|
|
changeFlag: [],
|
|
|
chartType: "",
|
|
|
fileVisible: false,
|
|
|
- chartData: {},
|
|
|
+ chartData: [],
|
|
|
addMeasBatchForm: {
|
|
|
engineId: null,
|
|
|
measurementBatch: null,
|
|
@@ -599,6 +763,8 @@ export default {
|
|
|
addMeasVisible: false,
|
|
|
addStatusVisible: false,
|
|
|
addAngleVisible: false,
|
|
|
+ childValue: null,
|
|
|
+ percentNum: 0,
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
@@ -666,6 +832,11 @@ export default {
|
|
|
},
|
|
|
},
|
|
|
methods: {
|
|
|
+ getChildValue(value) {
|
|
|
+ this.childValue = value;
|
|
|
+ console.log(this.childValue)
|
|
|
+ // this.dialogVisible = false;
|
|
|
+ },
|
|
|
getFileName(name) {
|
|
|
if (name.lastIndexOf("/") > -1) {
|
|
|
const newName = name.slice(name.lastIndexOf("/") + 1)
|
|
@@ -781,6 +952,16 @@ export default {
|
|
|
this.calTempData = []
|
|
|
}
|
|
|
},
|
|
|
+ handleCloseBeforeTI() {
|
|
|
+ this.tempCalData = []
|
|
|
+ },
|
|
|
+ getTempCalData(val) {
|
|
|
+ if (val) {
|
|
|
+ this.tempCalData = JSON.parse(val)
|
|
|
+ } else {
|
|
|
+ this.tempCalData = []
|
|
|
+ }
|
|
|
+ },
|
|
|
onClickBtn(type) {
|
|
|
if (type === "engine") this.addDialogVisible = true;
|
|
|
else if (type === "measBatch") {
|
|
@@ -850,6 +1031,31 @@ export default {
|
|
|
return item !== row
|
|
|
});
|
|
|
},
|
|
|
+ addTempCal() {
|
|
|
+ this.resetTempCalForm()
|
|
|
+ this.addTempCalVisible = true
|
|
|
+ },
|
|
|
+ submitTempCal() {
|
|
|
+ console.log("this.tempCalData", this.tempCalData);
|
|
|
+ this.tempCalData.push(this.tempCalForm)
|
|
|
+ this.addTempCalVisible = false
|
|
|
+ this.resetTempCalForm()
|
|
|
+ },
|
|
|
+ cancelTempCal() {
|
|
|
+ this.addTempCalVisible = false
|
|
|
+ this.resetTempCalForm()
|
|
|
+ },
|
|
|
+ resetTempCalForm() {
|
|
|
+ this.tempCalForm = {
|
|
|
+ temp: null,
|
|
|
+ tempCalFile: null,
|
|
|
+ }
|
|
|
+ },
|
|
|
+ delTempCal(row) {
|
|
|
+ this.tempCalData = this.tempCalData.filter(item => {
|
|
|
+ return item !== row
|
|
|
+ });
|
|
|
+ },
|
|
|
// 环境参数保存
|
|
|
envDataSave() {
|
|
|
this.validateAll()
|
|
@@ -879,6 +1085,10 @@ export default {
|
|
|
this.radiationForm.calTemp = this.calTempData.length > 0 ? JSON.stringify(this.calTempData) : null;
|
|
|
this.calTempData = []
|
|
|
}
|
|
|
+ if (this.TIData) {
|
|
|
+ this.TIData.tempCal = this.tempCalData.length > 0 ? JSON.stringify(this.tempCalData) : null;
|
|
|
+ this.tempCalData = []
|
|
|
+ }
|
|
|
this.$emit('submit-form');
|
|
|
})
|
|
|
.catch((err) => {
|
|
@@ -910,33 +1120,82 @@ export default {
|
|
|
cancel() {
|
|
|
this.$emit('cancel')
|
|
|
},
|
|
|
+ handleClose(){
|
|
|
+ this.chartData = [];
|
|
|
+ clearInterval(this.childValue);
|
|
|
+ this.fileVisible = false;
|
|
|
+ },
|
|
|
// 查看文件可视化
|
|
|
fileView(url1) {
|
|
|
+ this.EChartsScroll = false;
|
|
|
const url = `${process.env.VUE_APP_BASE_API}${url1}`;
|
|
|
this.fetchLogFile(url)
|
|
|
.then((text) => {
|
|
|
this.fileShowData = text.split("\r\n");
|
|
|
this.handleLineChart(this.fileShowData);
|
|
|
- this.fileVisible = true;
|
|
|
})
|
|
|
.catch((error) => {
|
|
|
console.error("Failed to fetch the log file:", error);
|
|
|
- this.$modal.msgSuccess("文件读取错误");
|
|
|
+ this.$modal.msgError("文件读取错误");
|
|
|
});
|
|
|
},
|
|
|
- fileView2(url1) {
|
|
|
- const url = `${process.env.VUE_APP_BASE_API}${url1}`;
|
|
|
+ // 单独热力图
|
|
|
+ fileViewTxt(fileUrl) {
|
|
|
+ this.EChartsScroll = false;
|
|
|
+ const url = `${process.env.VUE_APP_BASE_API}${fileUrl}`;
|
|
|
this.fetchLogFile(url)
|
|
|
.then((text) => {
|
|
|
- this.fileShowData = text.split("\r\n");
|
|
|
- this.handleHeatmapChart(this.fileShowData);
|
|
|
+ this.chartData = this.handleHeatmapChart(text.split("\r\n"));
|
|
|
this.fileVisible = true;
|
|
|
})
|
|
|
.catch((error) => {
|
|
|
console.error("Failed to fetch the log file:", error);
|
|
|
- this.$modal.msgSuccess("文件读取错误");
|
|
|
+ this.$modal.msgError("文件读取错误");
|
|
|
});
|
|
|
},
|
|
|
+ // 辐射亮度
|
|
|
+ fileViewZipL(fileUrl) {
|
|
|
+ this.fileViewZip(fileUrl, '辐射亮度');
|
|
|
+ },
|
|
|
+ // 辐射照度
|
|
|
+ fileViewZipZ(fileUrl) {
|
|
|
+ this.fileViewZip(fileUrl, '辐射照度');
|
|
|
+ },
|
|
|
+ // 辐射温度
|
|
|
+ fileViewZipW(fileUrl) {
|
|
|
+ this.fileViewZip(fileUrl, '辐射温度');
|
|
|
+ },
|
|
|
+ // 动态热力图
|
|
|
+ async fileViewZip(fileUrl, name) {
|
|
|
+ this.EChartsScroll = true;
|
|
|
+ const loading = this.$loading({
|
|
|
+ lock: true,
|
|
|
+ text: '文件读取中',
|
|
|
+ spinner: 'el-icon-loading',
|
|
|
+ background: 'rgba(0, 0, 0, 0.7)'
|
|
|
+ });
|
|
|
+ const response = await getZipInfo({ zipUrl: fileUrl });
|
|
|
+ const chartData = [];
|
|
|
+ response?.forEach((item) => {
|
|
|
+ const url = `${process.env.VUE_APP_BASE_API}${item}`;
|
|
|
+ this.fetchLogFile(url)
|
|
|
+ .then((text) => {
|
|
|
+ const textInfo = this.handleHeatmapChart(text.split("\r\n"), name);
|
|
|
+ chartData.push(textInfo);
|
|
|
+ this.percentNum = Math.floor((chartData.length / response.length) * 100);
|
|
|
+ loading.setText('文件读取'+this.percentNum+"%");
|
|
|
+ if(chartData.length === response.length) {
|
|
|
+ loading.close();
|
|
|
+ this.chartData = JSON.parse(JSON.stringify(chartData));
|
|
|
+ this.fileVisible = true;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch((error) => {
|
|
|
+ console.error("Failed to fetch the log file:", error);
|
|
|
+ this.$modal.msgSuccess("文件读取错误");
|
|
|
+ });
|
|
|
+ })
|
|
|
+ },
|
|
|
// 读取文件内容
|
|
|
async fetchLogFile(url) {
|
|
|
try {
|
|
@@ -1008,8 +1267,10 @@ export default {
|
|
|
series: series,
|
|
|
};
|
|
|
this.chartData = JSON.parse(JSON.stringify(chartData))
|
|
|
+ this.fileVisible = true;
|
|
|
},
|
|
|
- handleHeatmapChart(data) {
|
|
|
+ // 热力图
|
|
|
+ handleHeatmapChart(data, name) {
|
|
|
this.chartType = "heatmap";
|
|
|
let dataSet = [],
|
|
|
xData = [],
|
|
@@ -1054,7 +1315,7 @@ export default {
|
|
|
},
|
|
|
series: [
|
|
|
{
|
|
|
- name: "辐射亮度",
|
|
|
+ name: name,
|
|
|
type: "heatmap",
|
|
|
data: dataSet,
|
|
|
emphasis: {
|
|
@@ -1068,7 +1329,7 @@ export default {
|
|
|
},
|
|
|
],
|
|
|
};
|
|
|
- this.chartData = JSON.parse(JSON.stringify(chartData))
|
|
|
+ return JSON.parse(JSON.stringify(chartData))
|
|
|
},
|
|
|
},
|
|
|
};
|