Преглед изворни кода

选择框可搜索、标定温度表格bug、下载文件

Rmengdi пре 9 месеци
родитељ
комит
66f751d187

+ 0 - 1
meas_web/src/components/FileUpload/index.vue

@@ -213,7 +213,6 @@ export default {
     },
     // 可视化
     handleView(index){
-      console.log("index",index);
       this.$emit("fileView", index);
     }
   }

+ 67 - 46
meas_web/src/views/meas/components/dialogContent.vue

@@ -1,10 +1,10 @@
 <template>
   <div>
-    <el-form ref="headFormRef" :rules="headFormRules" :model="formData" size="mini"  :disabled="checkShow || !addBtn"
+    <el-form ref="headFormRef" :rules="headFormRules" :model="formData" size="mini" :disabled="checkShow || !addBtn"
       label-width="80px">
       <el-row type="flex" justify="space-around">
         <el-form-item label="发动机型号" prop="engineModel" label-width="95px">
-          <el-select v-model="formData.engineModel" placeholder="请选择发动机型号" @change="changeEngine">
+          <el-select filterable v-model="formData.engineModel" placeholder="请选择发动机型号" @change="changeEngine">
             <el-option v-for="item in engineOptions" :key="item.id" :label="item.model" :value="item.id">
             </el-option>
             <el-option :value="undefined" style="cursor: pointer">
@@ -28,7 +28,7 @@
       </el-row>
       <el-row type="flex" justify="space-around">
         <el-form-item label="测量批次" prop="measurementBatchId">
-          <el-select v-model="formData.measurementBatchId" placeholder="请选择测量批次">
+          <el-select filterable v-model="formData.measurementBatchId" placeholder="请选择测量批次">
             <el-option v-for="item in batchOption" :key="item.id" :label="item.measurementBatch" :value="item.id">
             </el-option>
             <el-option :value="undefined" disabled style="cursor: pointer">
@@ -49,11 +49,12 @@
     </el-form> -->
     <div class="box">
       <span class="title">环境参数</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">
+      <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">
         <el-row type="flex" justify="space-around">
           <el-form-item label="发动机状态" label-width="95px" prop="engineStatus">
-            <el-select v-model="formData.engineStatus" placeholder="请选择发动机状态">
+            <el-select filterable v-model="formData.engineStatus" placeholder="请选择发动机状态">
               <el-option v-for="item in engineStatusOptions" :key="item" :label="item" :value="item">
               </el-option>
               <el-option :value="undefined" disabled style="cursor: pointer">
@@ -63,7 +64,7 @@
             </el-select>
           </el-form-item>
           <el-form-item label="角度" prop="angle">
-            <el-select v-model="formData.angle" placeholder="请输入角度">
+            <el-select filterable v-model="formData.angle" placeholder="请输入角度">
               <el-option v-for="item in angleOptions" :key="item" :label="item" :value="item">
               </el-option>
               <el-option :value="undefined" disabled style="cursor: pointer">
@@ -147,8 +148,8 @@
               v-model="radiationData.calCurve" v-on:fileView="fileView" />
           </el-form-item>
           <el-form-item>
-          <div style="width: 200px;"></div>
-        </el-form-item>
+            <div style="width: 200px;"></div>
+          </el-form-item>
         </el-row>
         <el-row style="margin-left: 2%;" class="calTempTabel" type="flex">
           <el-form-item label="标定温度" prop="calTemp">
@@ -156,6 +157,11 @@
               <el-table-column prop="temp" label="温度" width="100px" align="center">
               </el-table-column>
               <el-table-column prop="calTempFile" label="文件" align="center">
+                <template slot-scope="scope">
+                  <el-link @click="$download.resource(scope.row.calTempFile,false)"  :underline="false">
+                    <span class="el-icon-document"> {{ getFileName(scope.row.calTempFile) }} </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">
@@ -238,11 +244,11 @@
               :isShowViev="true" v-on:fileView="fileView" />
           </el-form-item>
           <el-form-item>
-          <div style="width: 200px;"></div>
-        </el-form-item>
+            <div style="width: 200px;"></div>
+          </el-form-item>
           <el-form-item>
-          <div style="width: 200px;"></div>
-        </el-form-item>
+            <div style="width: 200px;"></div>
+          </el-form-item>
         </el-row>
       </el-form>
     </div>
@@ -266,30 +272,33 @@
         </el-row>
       </el-form>
     </div>
-    <el-row type="flex" justify="space-around"  v-if="resultData && Object.keys(resultData).length > 0">
-        <el-button size="mini" type="success" style="margin-top: 20px">计算数据</el-button>
-      </el-row>
+    <el-row type="flex" justify="space-around" v-if="resultData && Object.keys(resultData).length > 0">
+      <el-button size="mini" type="success" style="margin-top: 20px">计算数据</el-button>
+    </el-row>
     <div class="box" v-if="resultData && Object.keys(resultData).length > 0">
-        <span class="title">计算结果</span>
-        <el-form ref="resultRef"  :disabled="checkShow" :model="resultData" :inline-message="true" size="mini" label-width="150px" :rules="resultRules">
-          <el-row type="flex" justify="space-around">
-            <el-form-item label="光谱辐射强度3~5μm" prop="specIrr1">
-              <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="resultData.specIrr1" :isCheck="isCheck" :isShowViev="true" v-on:fileView="fileView"/>
-            </el-form-item>
-            <el-form-item label="光谱辐射强度8~14μm" prop="specIrr2">
-              <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="resultData.specIrr2" :isCheck="isCheck" :isShowViev="true" v-on:fileView="fileView"/>
-            </el-form-item>
-          </el-row>
-          <el-row type="flex" justify="space-around">
-            <el-form-item label="波段辐射强度3~5μm" prop="specBandIrr1">
-              <el-input v-model="resultData.specBandIrr1" placeholder="请输入波段辐射强度3~5μm" />
-            </el-form-item>
-            <el-form-item label="波段辐射强度8~14μm" prop="specBandIrr2">
-              <el-input v-model="resultData.specBandIrr2" placeholder="请输入波段辐射强度8~14μm" />
-            </el-form-item>
-          </el-row>
-        </el-form>
-      </div>
+      <span class="title">计算结果</span>
+      <el-form ref="resultRef" :disabled="checkShow" :model="resultData" :inline-message="true" size="mini"
+        label-width="150px" :rules="resultRules">
+        <el-row type="flex" justify="space-around">
+          <el-form-item label="光谱辐射强度3~5μm" prop="specIrr1">
+            <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="resultData.specIrr1" :isCheck="isCheck"
+              :isShowViev="true" v-on:fileView="fileView" />
+          </el-form-item>
+          <el-form-item label="光谱辐射强度8~14μm" prop="specIrr2">
+            <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="resultData.specIrr2" :isCheck="isCheck"
+              :isShowViev="true" v-on:fileView="fileView" />
+          </el-form-item>
+        </el-row>
+        <el-row type="flex" justify="space-around">
+          <el-form-item label="波段辐射强度3~5μm" prop="specBandIrr1">
+            <el-input v-model="resultData.specBandIrr1" placeholder="请输入波段辐射强度3~5μm" />
+          </el-form-item>
+          <el-form-item label="波段辐射强度8~14μm" prop="specBandIrr2">
+            <el-input v-model="resultData.specBandIrr2" placeholder="请输入波段辐射强度8~14μm" />
+          </el-form-item>
+        </el-row>
+      </el-form>
+    </div>
     <div v-if="footShow" slot="footer" class="footerBtn">
       <el-button type="primary" @click="submitForm">确 定</el-button>
       <el-button @click="cancel" style="margin-left: 40px;">取 消</el-button>
@@ -331,7 +340,7 @@
     <el-dialog :close-on-click-modal="false" title="增加测量批次" :visible.sync="addMeasVisible" width="400px" append-to-body>
       <el-form ref="addMeasBatchformRef" :model="addMeasBatchForm" :rules="rules" label-width="90px">
         <el-form-item label="发动机型号" prop="engineId">
-          <el-select v-model="addMeasBatchForm.engineId" placeholder="请选择发动机型号" @change="engineChange">
+          <el-select filterable v-model="addMeasBatchForm.engineId" placeholder="请选择发动机型号" @change="engineChange">
             <el-option v-for="item in engineOptions" :key="item.id" :label="item.model" :value="item.id">
               <span style="float: left">{{ item.id }}</span>
               <span style="float: right; color: #8492a6; font-size: 13px">{{ item.model }}</span>
@@ -531,7 +540,7 @@ export default {
           { type: 'number', min: 1, max: 100, message: '请输入1-100之间的数字', trigger: 'blur' }
         ]
       },
-      resultRules:{
+      resultRules: {
         specBandIrr1: [
           {
             pattern: /^(0(\.\d{1,2})?|[1-9]\d{0,2}(\.\d{1,2})?|1000(\.00?)?)$/,
@@ -590,7 +599,6 @@ export default {
       addMeasVisible: false,
       addStatusVisible: false,
       addAngleVisible: false,
-
     };
   },
   created() {
@@ -613,11 +621,6 @@ export default {
     radiationForm: {
       handler(newVal) {
         this.radiationData = newVal;
-        if (newVal && newVal.calTemp) {
-          this.calTempData = JSON.parse(newVal.calTemp)
-        } else {
-          this.calTempData = []
-        }
       },
       immediate: true,
       deep: true
@@ -676,6 +679,13 @@ export default {
         return "";
       }
     },
+    // downloadFile(url){
+    //   const name=this.getFileName(url)
+    //   // this.download(
+    //   //   "meas/calTempFile/export",
+    //   //   `${name}_${new Date().getTime()}`
+    //   // );
+    // },
     addEngine() {
       this.loading = true;
       addEngineModel(this.addEngineForm).then((response) => {
@@ -761,6 +771,16 @@ export default {
         this.loading = false;
       });
     },
+    handleCloseBefore() {
+      this.calTempData = []
+    },
+    getcalTempData(val) {
+      if (val) {
+        this.calTempData = JSON.parse(val)
+      } else {
+        this.calTempData = []
+      }
+    },
     onClickBtn(type) {
       if (type === "engine") this.addDialogVisible = true;
       else if (type === "measBatch") {
@@ -856,7 +876,6 @@ export default {
       this.validateAll()
         .then(() => {
           if (this.radiationForm) {
-            console.log("this.calTempData.length", this.calTempData.length);
             this.radiationForm.calTemp = this.calTempData.length > 0 ? JSON.stringify(this.calTempData) : null;
             this.calTempData = []
           }
@@ -1107,6 +1126,7 @@ export default {
   transform: translateX(40%);
   margin-top: 20px;
 }
+
 ::v-deep .el-form-item .el-select {
   width: 200px;
 }
@@ -1118,7 +1138,8 @@ export default {
 ::v-deep .el-form-item .upload-file {
   width: 200px;
 }
-::v-deep .ele-upload-list__item-content-action{
+
+::v-deep .ele-upload-list__item-content-action {
   width: 60px;
 }
 </style>

+ 9 - 17
meas_web/src/views/meas/envData/index.vue

@@ -67,8 +67,8 @@
       @pagination="getList" />
 
     <!-- 添加或修改测量环境数据对话框 -->
-    <el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" width="70%" append-to-body>
-      <dialogContent ref="dialogContent" :form="form" :TIForm="TIForm" :TransmittanceForm="TransmittanceForm"
+    <el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" width="70%" append-to-body :before-close="handleClose">
+      <dialogContent ref="dialogContentRef" :form="form" :TIForm="TIForm" :TransmittanceForm="TransmittanceForm"
         :envSaveBtn="true" :radiationForm="radiationForm" :isCheck="isCheck" :addFlag="addFlag" :footShow="footShow" @env-data-save="envDataSave"
         @submit-form="submitForm" @cancel="cancel" />
     </el-dialog>
@@ -84,35 +84,23 @@ import {
   addEnvData,
   updateEnvData,
 } from "@/api/meas/envData";
-import {
-  listEngineModel,
-  addEngineModel,
-  getEngineModelByEnvData,
-  getEngineModel,
-  updateEngineModel,
-} from "@/api/meas/engineModel";
-import { listMeasBatch, addMeasBatch } from "@/api/meas/measBatch";
 import {
   addRadiation,
-  getRadiation,
   getRadiationByEnvData,
   updateRadiation,
-  listRadiation,
 } from "@/api/meas/radiation";
 import {
   addThermalImagerTesDdata,
-  listThermalImagerTesDdata,
   updateThermalImagerTesDdata,
   getTIDataByEnvData
 } from "@/api/meas/thermalImagerTesDdata";
 import {
   addTransmissionRate,
-  listTransmissionRate,
   updateTransmissionRate,
   getTRateByEnvData
 } from "@/api/meas/transmissionRate";
-import { angleOption, addAngle } from "@/api/meas/angle";
-import { statusOption, addStatus } from "@/api/meas/status";
+import { angleOption } from "@/api/meas/angle";
+import { statusOption } from "@/api/meas/status";
 
 import dialogContent from "@/views/meas/components/dialogContent";
 
@@ -210,6 +198,10 @@ export default {
       this.open = false;
       this.reset();
     },
+    handleClose(){
+      this.$refs.dialogContentRef.handleCloseBefore()
+      this.cancel()
+    },
     // 保存环境参数
     envDataSave() {
       if (this.form.id != null) {
@@ -356,6 +348,7 @@ export default {
       const id = row.id;
       getRadiationByEnvData(id).then((response) => {
         if (response.data) {
+          this.$refs.dialogContentRef.getcalTempData(response.data.calTemp)
           this.radiationForm = response.data;
         } else {
           this.radiationReset()
@@ -380,7 +373,6 @@ export default {
       });
       getEnvData(row.id).then((response) => {
         if (response.data) {
-          console.log("response.data",response.data);
           this.form = response.data;
           this.open = true;
           this.title = this.isCheck ? '查看测量环境数据' : "修改测量环境数据";

+ 8 - 3
meas_web/src/views/meas/radiation/index.vue

@@ -65,8 +65,8 @@
       @pagination="getList" />
 
     <!-- 添加或修改光谱辐射对话框 -->
-    <el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" width="70%" append-to-body>
-      <dialogContent ref="radiationContent" :radiationForm="radiationForm" @submit-form="submitForm" :form="form" @cancel="cancel"
+    <el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" width="70%" append-to-body :before-close="handleClose">
+      <dialogContent ref="radiationContentRef" :radiationForm="radiationForm" @submit-form="submitForm" :form="form" @cancel="cancel"
         :isCheck="isCheck" />
     </el-dialog>
   </div>
@@ -155,6 +155,10 @@ export default {
       this.open = false;
       this.reset();
     },
+    handleClose(){
+      this.$refs.radiationContentRef?.handleCloseBefore()
+      this.cancel()
+    },
     // 表单重置
     reset() {
       this.radiationForm = {
@@ -214,6 +218,7 @@ export default {
       getRadiationByEnvData(id).then(response => {
         this.radiationForm = response.data;
         this.open = true;
+        this.$refs.radiationContentRef?.getcalTempData(response.data.calTemp)
         this.title = this.isCheck ? '查看光谱辐射数据' : "修改光谱辐射数据";
       });
     },
@@ -267,7 +272,7 @@ export default {
         this.$modal.msgSuccess("删除成功");
       }).catch(() => { });
     },
-    /** 导出按钮操作 */
+     /** 导出按钮操作 */
     handleExport() {
       this.download('meas/radiation/export', {
         ...this.queryParams