Browse Source

feat: 关联五个页面,实现统一新增修改、更改图片上传样式、下拉框自定义增加选项

Rmengdi 11 months ago
parent
commit
f60dc91c6c

+ 7 - 2
meas_web/src/components/ImageUpload/index.vue

@@ -3,7 +3,7 @@
     <el-upload
     <el-upload
       multiple
       multiple
       :action="uploadImgUrl"
       :action="uploadImgUrl"
-      list-type="picture-card"
+      :list-type="isPicCard?'picture-card':''"
       :on-success="handleUploadSuccess"
       :on-success="handleUploadSuccess"
       :before-upload="handleBeforeUpload"
       :before-upload="handleBeforeUpload"
       :limit="limit"
       :limit="limit"
@@ -67,7 +67,12 @@ export default {
     isShowTip: {
     isShowTip: {
       type: Boolean,
       type: Boolean,
       default: true
       default: true
-    }
+    },
+    // 是否显示图片框
+    isPicCard: {
+      type: Boolean,
+      default: true
+    },
   },
   },
   data() {
   data() {
     return {
     return {

+ 1 - 2
meas_web/src/views/meas/engineModel/index.vue

@@ -112,8 +112,7 @@
           <el-input v-model="form.model" placeholder="请输入发动机型号" />
           <el-input v-model="form.model" placeholder="请输入发动机型号" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="几何模型文件" prop="geometryFiles">
         <el-form-item label="几何模型文件" prop="geometryFiles">
-          <file-upload :fileSize="0" :limit="1" :fileType="['x_t']" v-model="form.geometryFiles"/>
-          <file-upload :fileSize="0" :limit="1" :fileType="['str']" v-model="form.geometryFiles"/>
+          <file-upload :fileSize="0" :limit="1" :fileType="['x_t','str']" v-model="form.geometryFiles"/>
         </el-form-item>
         </el-form-item>
         <el-form-item label="几何模型图片" prop="geometryImage">
         <el-form-item label="几何模型图片" prop="geometryImage">
           <image-upload  :fileSize="0" :limit="1" :fileType="['jpg']" v-model="form.geometryImage"/>
           <image-upload  :fileSize="0" :limit="1" :fileType="['jpg']" v-model="form.geometryImage"/>

+ 129 - 41
meas_web/src/views/meas/envData/index.vue

@@ -109,32 +109,52 @@
 
 
     <!-- 添加或修改测量环境数据对话框 -->
     <!-- 添加或修改测量环境数据对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="60%" append-to-body>
     <el-dialog :title="title" :visible.sync="open" width="60%" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="90px">
+      <el-form ref="form" :model="engineForm" :rules="rules" size="mini" label-width="90px">
         <el-row type="flex" justify="space-around">
         <el-row type="flex" justify="space-around">
-          <el-form-item label="测量批次id" prop="measurementBatchId">
-            <el-input v-model="form.measurementBatchId" placeholder="请输入测量批次id" />
+          <el-form-item label="发动机型号" prop="model">
+            <el-select ref="engineModel" allow-create default-first-option v-model="engineForm.model" filterable
+              placeholder="请选择发动机型号">
+              <el-option v-for="item in engineModelList" :key="item.id" :label="item.model" :value="item.id">
+              </el-option>
+            </el-select>
           </el-form-item>
           </el-form-item>
-          <el-form-item label="测量批次id" prop="measurementBatchId">
-            <el-input v-model="form.measurementBatchId" placeholder="请输入测量批次id" />
+          <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>
-          <el-form-item label="测量批次id" prop="measurementBatchId">
-            <el-input v-model="form.measurementBatchId" placeholder="请输入测量批次id" />
+          <el-form-item label="" prop="geometryImage">
+            <image-upload :fileSize="0" :limit="1" :fileType="['jpg']" v-model="engineForm.geometryImage"
+              :isPicCard="false" />
           </el-form-item>
           </el-form-item>
         </el-row>
         </el-row>
       </el-form>
       </el-form>
+      <el-form ref="form" :model="form" :rules="rules" size="mini" label-width="90px">
+        <el-form-item label="测量批次" prop="measurementBatch">
+          <el-select ref="measureBatch" allow-create default-first-option filterable v-model="form.measurementBatchId"
+            placeholder="请选择测量批次id">
+            <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-select>
+
+        </el-form-item>
+      </el-form>
       <div class="box">
       <div class="box">
         <span class="title">环境参数</span>
         <span class="title">环境参数</span>
         <el-form ref="form" :model="form" size="mini" :rules="rules" label-width="80px">
         <el-form ref="form" :model="form" size="mini" :rules="rules" label-width="80px">
           <el-row type="flex" justify="space-around">
           <el-row type="flex" justify="space-around">
             <el-form-item label="发动机状态" label-width="100px" prop="engineStatus">
             <el-form-item label="发动机状态" label-width="100px" prop="engineStatus">
-              <el-select v-model="form.engineStatus" placeholder="请选择发动机状态">
+              <el-select ref="engineStatus" allow-create default-first-option filterable v-model="form.engineStatus"
+                placeholder="请选择发动机状态">
                 <el-option v-for="item in engineStatusOptions" :key="item.value" :label="item.label"
                 <el-option v-for="item in engineStatusOptions" :key="item.value" :label="item.label"
                   :value="item.value">
                   :value="item.value">
                 </el-option>
                 </el-option>
               </el-select>
               </el-select>
             </el-form-item>
             </el-form-item>
             <el-form-item label="角度" prop="angle">
             <el-form-item label="角度" prop="angle">
-              <el-select v-model="form.angle" placeholder="请输入角度">
+              <el-select ref="angle" allow-create default-first-option filterable v-model="form.angle"
+                placeholder="请输入角度">
                 <el-option v-for="item in angleOptions" :key="item.value" :label="item.label" :value="item.value">
                 <el-option v-for="item in angleOptions" :key="item.value" :label="item.label" :value="item.value">
                 </el-option>
                 </el-option>
               </el-select>
               </el-select>
@@ -204,8 +224,10 @@
               <file-upload :fileSize="0" :limit="5" :fileType="['txt']" v-model="radiationForm.calCurve" />
               <file-upload :fileSize="0" :limit="5" :fileType="['txt']" v-model="radiationForm.calCurve" />
             </el-form-item>
             </el-form-item>
           </el-row>
           </el-row>
-          <div class="box" style="margin-bottom: 15px;">
-            <span class="title">目标数据</span>
+        </el-form>
+        <div class="box" style="margin-bottom: 15px;">
+          <span class="title">目标数据</span>
+          <el-form ref="radiationForm" size="mini" :model="radiationForm" :rules="rules" label-width="80px">
             <el-row type="flex" justify="space-around">
             <el-row type="flex" justify="space-around">
               <el-form-item label="原始数据" prop="rawData">
               <el-form-item label="原始数据" prop="rawData">
                 <file-upload :fileSize="0" :limit="5" :fileType="['txt']" v-model="radiationForm.rawData" />
                 <file-upload :fileSize="0" :limit="5" :fileType="['txt']" v-model="radiationForm.rawData" />
@@ -217,8 +239,8 @@
                 <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="radiationForm.radiance2" />
                 <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="radiationForm.radiance2" />
               </el-form-item>
               </el-form-item>
             </el-row>
             </el-row>
-          </div>
-        </el-form>
+          </el-form>
+        </div>
       </div>
       </div>
       <div class="box">
       <div class="box">
         <span class="title">热像仪测量数据</span>
         <span class="title">热像仪测量数据</span>
@@ -249,31 +271,32 @@
               </el-select>
               </el-select>
             </el-form-item><el-form-item label="波段" prop="spectralBand">
             </el-form-item><el-form-item label="波段" prop="spectralBand">
               <el-select v-model="TIForm.spectralBand" placeholder="请选择波段">
               <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 v-for="item in spectralBandOptions" :key="item.value" :label="item.label"
+                  :value="item.value">
                 </el-option>
                 </el-option>
               </el-select>
               </el-select>
             </el-form-item>
             </el-form-item>
             <el-form-item label="积分时间" prop="integrationTime">
             <el-form-item label="积分时间" prop="integrationTime">
-            <el-input v-model.number="TIForm.integrationTime" placeholder="请输入积分时间(单位:s)" />
-          </el-form-item>
+              <el-input v-model.number="TIForm.integrationTime" placeholder="请输入积分时间(单位:s)" />
+            </el-form-item>
           </el-row>
           </el-row>
           <el-row type="flex" justify="space-around">
           <el-row type="flex" justify="space-around">
             <el-form-item label="温度标定" prop="tempCal">
             <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" />
-          </el-form-item>
-          <el-form-item label="辐射照度" prop="radIllumination">
-            <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="TIForm.radIllumination" />
-          </el-form-item>
+              <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" />
+            </el-form-item>
+            <el-form-item label="辐射照度" prop="radIllumination">
+              <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="TIForm.radIllumination" />
+            </el-form-item>
           </el-row>
           </el-row>
           <el-row type="flex" justify="space-around">
           <el-row type="flex" justify="space-around">
             <el-form-item label="辐射温度" prop="radTemp">
             <el-form-item label="辐射温度" prop="radTemp">
-            <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="TIForm.radTemp" />
-          </el-form-item>
-          <el-col :span="7"></el-col>
-          <el-col :span="7"></el-col>
+              <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="TIForm.radTemp" />
+            </el-form-item>
+            <el-col :span="7"></el-col>
+            <el-col :span="7"></el-col>
           </el-row>
           </el-row>
         </el-form>
         </el-form>
       </div>
       </div>
@@ -281,20 +304,19 @@
         <span class="title">透过率数据</span>
         <span class="title">透过率数据</span>
         <el-form ref="TransmittanceForm" :model="TransmittanceForm" :rules="rules" label-width="80px">
         <el-form ref="TransmittanceForm" :model="TransmittanceForm" :rules="rules" label-width="80px">
           <el-row type="flex" justify="space-around">
           <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']"  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"/>
-        </el-form-item>
-        </el-row>
-      </el-form>
-        
+            <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']" 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" />
+            </el-form-item>
+          </el-row>
+        </el-form>
       </div>
       </div>
-      
+
       <div slot="footer" class="dialog-footer">
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
         <el-button type="primary" @click="submitForm">确 定</el-button>
         <el-button @click="cancel">取 消</el-button>
         <el-button @click="cancel">取 消</el-button>
@@ -311,6 +333,11 @@ import {
   addEnvData,
   addEnvData,
   updateEnvData,
   updateEnvData,
 } from "@/api/meas/envData";
 } from "@/api/meas/envData";
+import { listEngineModel, addEngineModel, getEngineModel, updateEngineModel } from "@/api/meas/engineModel";
+import { listMeasBatch } from "@/api/meas/measBatch";
+import { addRadiation, getRadiation, updateRadiation,listRadiation  } from "@/api/meas/radiation";
+import { addThermalImagerTesDdata, listThermalImagerTesDdata, updateThermalImagerTesDdata } from "@/api/meas/thermalImagerTesDdata";
+import { addTransmissionRate, listTransmissionRate, updateTransmissionRate } from "@/api/meas/transmissionRate";
 
 
 export default {
 export default {
   name: "EnvData",
   name: "EnvData",
@@ -351,11 +378,16 @@ export default {
         humidity: null,
         humidity: null,
         concentration: null,
         concentration: null,
       },
       },
+      // engineQueryParams:{
+      //   pageNum: 1,
+      //   pageSize: 10,
+      // },
       // 表单参数
       // 表单参数
       form: {},
       form: {},
       radiationForm: {},
       radiationForm: {},
       TIForm: {},
       TIForm: {},
       TransmittanceForm: {},
       TransmittanceForm: {},
+      engineForm: {},
       // 表单校验和验证
       // 表单校验和验证
       rules: {
       rules: {
         measurementBatchId: [
         measurementBatchId: [
@@ -437,10 +469,13 @@ export default {
       filterNoOptions: [],
       filterNoOptions: [],
       fpsOptions: [],
       fpsOptions: [],
       spectralBandOptions: [],
       spectralBandOptions: [],
+      measureBatchOptions: [],
+      engineModelList: []
     };
     };
   },
   },
   created() {
   created() {
     this.getList();
     this.getList();
+    this.getFormData()
   },
   },
   methods: {
   methods: {
     /** 查询测量环境数据列表 */
     /** 查询测量环境数据列表 */
@@ -452,6 +487,15 @@ export default {
         this.loading = false;
         this.loading = false;
       });
       });
     },
     },
+    getFormData() {
+      const data = {}
+      listEngineModel(data).then(response => {
+        this.engineModelList = response.rows
+      });
+      listMeasBatch(data).then(response => {
+        this.measureBatchOptions = response.rows;
+      });
+    },
     // 取消按钮
     // 取消按钮
     cancel() {
     cancel() {
       this.open = false;
       this.open = false;
@@ -505,7 +549,25 @@ export default {
     /** 修改按钮操作 */
     /** 修改按钮操作 */
     handleUpdate(row) {
     handleUpdate(row) {
       this.reset();
       this.reset();
+      const measId = {
+        measurementBatchId:row.measurementBatchId
+      }
+      console.log("measId",measId);
       const id = row.id || this.ids;
       const id = row.id || this.ids;
+      // 通过measId来查找,不具有唯一性吧。一个测量批次可以绑定多个光谱辐射数据吧。。。。
+      listEngineModel(measId).then(response => {
+        console.log("getEngineModelRes",response);
+        this.engineForm = response.rows[0];
+      });
+      listRadiation(measId).then(response => {
+        this.radiationForm = response.rows[0];
+      });
+      listThermalImagerTesDdata(measId).then(response => {
+        this.TIForm = response.rows[0];
+      });
+      listTransmissionRate(measId).then(response => {
+        this.TransmittanceForm = response.rows[0];
+      });
       getEnvData(id).then((response) => {
       getEnvData(id).then((response) => {
         this.form = response.data;
         this.form = response.data;
         this.open = true;
         this.open = true;
@@ -514,15 +576,26 @@ export default {
     },
     },
     /** 提交按钮 */
     /** 提交按钮 */
     submitForm() {
     submitForm() {
+      // 新增加的自定义选项
+      this.addCustomOptions()
+      this.TIForm['measurementBatchId'] = this.form.measurementBatchId
+      this.TransmittanceForm['measurementBatchId'] = this.form.measurementBatchId
+      this.radiationForm['measurementBatchId'] = this.form.measurementBatchId
       this.$refs["form"].validate((valid) => {
       this.$refs["form"].validate((valid) => {
         if (valid) {
         if (valid) {
           if (this.form.id != null) {
           if (this.form.id != null) {
+            updateRadiation(this.radiationForm).then((response) => { });
+            updateThermalImagerTesDdata(this.TIForm).then((response) => { });
+            updateTransmissionRate(this.TransmittanceForm).then((response) => { });
             updateEnvData(this.form).then((response) => {
             updateEnvData(this.form).then((response) => {
               this.$modal.msgSuccess("修改成功");
               this.$modal.msgSuccess("修改成功");
               this.open = false;
               this.open = false;
               this.getList();
               this.getList();
             });
             });
           } else {
           } else {
+            addRadiation(this.radiationForm).then((response) => { });
+            addThermalImagerTesDdata(this.TIForm).then((response) => { });
+            addTransmissionRate(this.TransmittanceForm).then((response) => { });
             addEnvData(this.form).then((response) => {
             addEnvData(this.form).then((response) => {
               this.$modal.msgSuccess("新增成功");
               this.$modal.msgSuccess("新增成功");
               this.open = false;
               this.open = false;
@@ -532,6 +605,21 @@ export default {
         }
         }
       });
       });
     },
     },
+    addCustomOptions() {
+      if (this.$refs.engineModel.createdLabel) {
+        addEngineModel(this.engineForm).then(response => {
+          console.log("response", response);
+          this.open = false;
+        });
+      }
+      // if(this.$refs.measureBatch.createdLabel){
+      //   const addData={
+
+      // }
+      // 增加测量批次,需要有发动机型号的ID,如果新添加的自定义型号,此时还没有发动机型号ID
+      // 测量批次绑定的有一个发动机型号ID,所以选择的时候用不用关联
+      // 发动机状态、角度是否分别写入数据库
+    },
     /** 删除按钮操作 */
     /** 删除按钮操作 */
     handleDelete(row) {
     handleDelete(row) {
       const ids = row.id || this.ids;
       const ids = row.id || this.ids;

+ 15 - 2
meas_web/src/views/meas/measBatch/index.vue

@@ -107,7 +107,14 @@
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-form-item label="发动机型号ID" label-width="110px" prop="engineId">
         <el-form-item label="发动机型号ID" label-width="110px" prop="engineId">
-          <el-input v-model.number="form.engineId" placeholder="请输入发动机型号ID" />
+          <!-- <el-input v-model.number="form.engineId" placeholder="请输入发动机型号ID" /> -->
+          <el-select v-model="form.engineId" placeholder="请选择测量批次id">
+            <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>
+            </el-option>
+          </el-select>
         </el-form-item>
         </el-form-item>
         <el-form-item label="测量批次" prop="measurementBatch">
         <el-form-item label="测量批次" prop="measurementBatch">
           <el-input v-model="form.measurementBatch" placeholder="请输入测量批次(测量年月日+发动机型号)" />
           <el-input v-model="form.measurementBatch" placeholder="请输入测量批次(测量年月日+发动机型号)" />
@@ -123,6 +130,7 @@
 
 
 <script>
 <script>
 import { listMeasBatch, getMeasBatch, delMeasBatch, addMeasBatch, updateMeasBatch } from "@/api/meas/measBatch";
 import { listMeasBatch, getMeasBatch, delMeasBatch, addMeasBatch, updateMeasBatch } from "@/api/meas/measBatch";
+import { listEngineModel } from "@/api/meas/engineModel";
 
 
 export default {
 export default {
   name: "MeasBatch",
   name: "MeasBatch",
@@ -163,7 +171,8 @@ export default {
         measurementBatch: [
         measurementBatch: [
           { required: true, message: "测量批次不能为空", trigger: "blur" }
           { required: true, message: "测量批次不能为空", trigger: "blur" }
         ],
         ],
-      }
+      },
+      engineOptions:[]
     };
     };
   },
   },
   created() {
   created() {
@@ -173,6 +182,10 @@ export default {
     /** 查询测量批次列表 */
     /** 查询测量批次列表 */
     getList() {
     getList() {
       this.loading = true;
       this.loading = true;
+      const data = {}
+      listEngineModel(data).then(response => {
+        this.engineOptions = response.rows;
+      });
       listMeasBatch(this.queryParams).then(response => {
       listMeasBatch(this.queryParams).then(response => {
         this.measBatchList = response.rows;
         this.measBatchList = response.rows;
         this.total = response.total;
         this.total = response.total;

+ 51 - 104
meas_web/src/views/meas/radiation/index.vue

@@ -1,45 +1,21 @@
 <template>
 <template>
   <div class="app-container">
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="测量批次id" label-width="90px"prop="measurementBatchId">
-        <el-input
-          v-model="queryParams.measurementBatchId"
-          placeholder="请输入测量批次id"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+      <el-form-item label="测量批次id" label-width="90px" prop="measurementBatchId">
+        <el-input v-model="queryParams.measurementBatchId" placeholder="请输入测量批次id" clearable
+          @keyup.enter.native="handleQuery" />
       </el-form-item>
       </el-form-item>
       <el-form-item label="型号" prop="model">
       <el-form-item label="型号" prop="model">
-        <el-input
-          v-model="queryParams.model"
-          placeholder="请输入型号"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-input v-model="queryParams.model" placeholder="请输入型号" clearable @keyup.enter.native="handleQuery" />
       </el-form-item>
       </el-form-item>
       <el-form-item label-width="90px" label="镜头视场角" prop="lensFView">
       <el-form-item label-width="90px" label="镜头视场角" prop="lensFView">
-        <el-input
-          v-model="queryParams.lensFView"
-          placeholder="请输入镜头视场角"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-input v-model="queryParams.lensFView" placeholder="请输入镜头视场角" clearable @keyup.enter.native="handleQuery" />
       </el-form-item>
       </el-form-item>
       <el-form-item label="增益" prop="gain">
       <el-form-item label="增益" prop="gain">
-        <el-input
-          v-model="queryParams.gain"
-          placeholder="请输入增益"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-input v-model="queryParams.gain" placeholder="请输入增益" clearable @keyup.enter.native="handleQuery" />
       </el-form-item>
       </el-form-item>
       <el-form-item label="标定温度" prop="calTemp">
       <el-form-item label="标定温度" prop="calTemp">
-        <el-input
-          v-model="queryParams.calTemp"
-          placeholder="请输入标定温度"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
+        <el-input v-model="queryParams.calTemp" placeholder="请输入标定温度" clearable @keyup.enter.native="handleQuery" />
       </el-form-item>
       </el-form-item>
       <el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@@ -49,46 +25,20 @@
 
 
     <el-row :gutter="10" class="mb8">
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
       <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAdd"
-          v-hasPermi="['meas:radiation:add']"
-        >新增</el-button>
+        <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
+          v-hasPermi="['meas:radiation:add']">新增</el-button>
       </el-col>
       </el-col>
       <el-col :span="1.5">
       <el-col :span="1.5">
-        <el-button
-          type="success"
-          plain
-          icon="el-icon-edit"
-          size="mini"
-          :disabled="single"
-          @click="handleUpdate"
-          v-hasPermi="['meas:radiation:edit']"
-        >修改</el-button>
+        <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
+          v-hasPermi="['meas:radiation:edit']">修改</el-button>
       </el-col>
       </el-col>
       <el-col :span="1.5">
       <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-          v-hasPermi="['meas:radiation:remove']"
-        >删除</el-button>
+        <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
+          v-hasPermi="['meas:radiation:remove']">删除</el-button>
       </el-col>
       </el-col>
       <el-col :span="1.5">
       <el-col :span="1.5">
-        <el-button
-          type="warning"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          @click="handleExport"
-          v-hasPermi="['meas:radiation:export']"
-        >导出</el-button>
+        <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
+          v-hasPermi="['meas:radiation:export']">导出</el-button>
       </el-col>
       </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
     </el-row>
@@ -111,40 +61,31 @@
         <template slot-scope="scope">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span>
           <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span>
         </template>
         </template>
-      </el-table-column> -->
+</el-table-column> -->
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
         <template slot-scope="scope">
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
-            @click="handleUpdate(scope.row)"
-            v-hasPermi="['meas:radiation:edit']"
-          >修改</el-button>
-          <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-            v-hasPermi="['meas:radiation:remove']"
-          >删除</el-button>
+          <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
+            v-hasPermi="['meas:radiation:edit']">修改</el-button>
+          <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
+            v-hasPermi="['meas:radiation:remove']">删除</el-button>
         </template>
         </template>
       </el-table-column>
       </el-table-column>
     </el-table>
     </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" width="500px" append-to-body>
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-form-item label="测量批次id" label-width="100px" prop="measurementBatchId">
         <el-form-item label="测量批次id" label-width="100px" prop="measurementBatchId">
-          <el-input v-model.number="form.measurementBatchId" placeholder="请输入测量批次id" />
+          <el-select v-model="form.measurementBatchId" placeholder="请选择测量批次id">
+            <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-select>
         </el-form-item>
         </el-form-item>
         <el-form-item label="型号" prop="model">
         <el-form-item label="型号" prop="model">
           <el-input v-model="form.model" placeholder="请输入型号" />
           <el-input v-model="form.model" placeholder="请输入型号" />
@@ -156,22 +97,22 @@
           <el-input v-model.number="form.gain" placeholder="请输入增益(单位:x)" />
           <el-input v-model.number="form.gain" placeholder="请输入增益(单位:x)" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="背景数据" prop="backgroundData">
         <el-form-item label="背景数据" prop="backgroundData">
-          <file-upload :fileSize="0" :limit="1" :fileType="['lgm']" v-model="form.backgroundData"/>
+          <file-upload :fileSize="0" :limit="1" :fileType="['lgm']" v-model="form.backgroundData" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="标定温度" prop="calTemp">
         <el-form-item label="标定温度" prop="calTemp">
           <el-input v-model="form.calTemp" placeholder="请输入标定温度" />
           <el-input v-model="form.calTemp" placeholder="请输入标定温度" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="标定曲线" prop="calCurve">
         <el-form-item label="标定曲线" prop="calCurve">
-          <file-upload :fileSize="0" :limit="5" :fileType="['txt']" v-model="form.calCurve"/>
+          <file-upload :fileSize="0" :limit="5" :fileType="['txt']" v-model="form.calCurve" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="原始数据" prop="rawData">
         <el-form-item label="原始数据" prop="rawData">
-          <file-upload :fileSize="0" :limit="5" :fileType="['txt']" v-model="form.rawData"/>
+          <file-upload :fileSize="0" :limit="5" :fileType="['txt']" v-model="form.rawData" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="辐射亮度" prop="radiance1">
         <el-form-item label="辐射亮度" prop="radiance1">
-          <file-upload :fileSize="0" :limit="1" :fileType="['txt']"  v-model="form.radiance1"/>
+          <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="form.radiance1" />
         </el-form-item>
         </el-form-item>
         <el-form-item label="辐射亮度" prop="radiance2">
         <el-form-item label="辐射亮度" prop="radiance2">
-          <file-upload :fileSize="0" :limit="1" :fileType="['txt']"  v-model="form.radiance2"/>
+          <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="form.radiance2" />
         </el-form-item>
         </el-form-item>
       </el-form>
       </el-form>
       <div slot="footer" class="dialog-footer">
       <div slot="footer" class="dialog-footer">
@@ -184,6 +125,7 @@
 
 
 <script>
 <script>
 import { listRadiation, getRadiation, delRadiation, addRadiation, updateRadiation } from "@/api/meas/radiation";
 import { listRadiation, getRadiation, delRadiation, addRadiation, updateRadiation } from "@/api/meas/radiation";
+import { listMeasBatch } from "@/api/meas/measBatch";
 
 
 export default {
 export default {
   name: "Radiation",
   name: "Radiation",
@@ -227,22 +169,23 @@ export default {
       // 表单校验
       // 表单校验
       rules: {
       rules: {
         measurementBatchId: [
         measurementBatchId: [
-          { required: true, message: "测量批次id不能为空"},
-          {type: 'number', message: '测量批次id必须为数字',trigger: 'blur'}
+          { required: true, message: "测量批次id不能为空" },
+          { type: 'number', message: '测量批次id必须为数字', trigger: 'blur' }
         ],
         ],
         model: [
         model: [
           { required: true, message: "型号不能为空", trigger: "blur" },
           { required: true, message: "型号不能为空", trigger: "blur" },
           { min: 0, max: 50, message: '长度在 0 到 50 个字符', trigger: 'blur' }
           { min: 0, max: 50, message: '长度在 0 到 50 个字符', trigger: 'blur' }
         ],
         ],
         lensFView: [
         lensFView: [
-          {required: true, message: "镜头视场角不能为空"},
-          { required: true,  pattern: /^(0(\.\d{1,2})?|([1-8]\d|90)(\.\d{1,2})?)$/, message: '请输入0.00-90.00mard之间的数字,最多可保留两位小数',trigger: 'blur'}
+          { required: true, message: "镜头视场角不能为空" },
+          { required: true, pattern: /^(0|[1-8]?[0-9]|90)(\.\d{1,2})?$/, message: '请输入0.00-90.00mard之间的数字,最多可保留两位小数', trigger: 'blur' }
         ],
         ],
         gain: [
         gain: [
-          { required: true, message: '增益不能为空'},
-          { type: 'number',min:1,max:10, message: '请输入1-10x之间的数字',trigger: 'blur'}
+          { required: true, message: '增益不能为空' },
+          { type: 'number', min: 1, max: 10, message: '请输入1-10x之间的数字', trigger: 'blur' }
         ],
         ],
-      }
+      },
+      measureBatchOptions: []
     };
     };
   },
   },
   created() {
   created() {
@@ -257,6 +200,10 @@ export default {
         this.total = response.total;
         this.total = response.total;
         this.loading = false;
         this.loading = false;
       });
       });
+      const data = {}
+      listMeasBatch(data).then(response => {
+        this.measureBatchOptions = response.rows;
+      });
     },
     },
     // 取消按钮
     // 取消按钮
     cancel() {
     cancel() {
@@ -297,7 +244,7 @@ export default {
     // 多选框选中数据
     // 多选框选中数据
     handleSelectionChange(selection) {
     handleSelectionChange(selection) {
       this.ids = selection.map(item => item.id)
       this.ids = selection.map(item => item.id)
-      this.single = selection.length!==1
+      this.single = selection.length !== 1
       this.multiple = !selection.length
       this.multiple = !selection.length
     },
     },
     /** 新增按钮操作 */
     /** 新增按钮操作 */
@@ -339,12 +286,12 @@ export default {
     /** 删除按钮操作 */
     /** 删除按钮操作 */
     handleDelete(row) {
     handleDelete(row) {
       const ids = row.id || this.ids;
       const ids = row.id || this.ids;
-      this.$modal.confirm('是否确认删除光谱辐射编号为"' + ids + '"的数据项?').then(function() {
+      this.$modal.confirm('是否确认删除光谱辐射编号为"' + ids + '"的数据项?').then(function () {
         return delRadiation(ids);
         return delRadiation(ids);
       }).then(() => {
       }).then(() => {
         this.getList();
         this.getList();
         this.$modal.msgSuccess("删除成功");
         this.$modal.msgSuccess("删除成功");
-      }).catch(() => {});
+      }).catch(() => { });
     },
     },
     /** 导出按钮操作 */
     /** 导出按钮操作 */
     handleExport() {
     handleExport() {

+ 14 - 2
meas_web/src/views/meas/thermalImagerTesDdata/index.vue

@@ -129,7 +129,13 @@
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-form-item label="测量批次id" prop="measurementBatchId">
         <el-form-item label="测量批次id" prop="measurementBatchId">
-          <el-input v-model.number="form.measurementBatchId" placeholder="请输入测量批次id" />
+          <el-select v-model="form.measurementBatchId" placeholder="请选择测量批次id">
+            <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-select>
         </el-form-item>
         </el-form-item>
         <el-form-item label="型号" prop="model">
         <el-form-item label="型号" prop="model">
           <el-input v-model="form.model" placeholder="请输入型号" />
           <el-input v-model="form.model" placeholder="请输入型号" />
@@ -160,6 +166,7 @@
 
 
 <script>
 <script>
 import { listThermalImagerTesDdata, getThermalImagerTesDdata, delThermalImagerTesDdata, addThermalImagerTesDdata, updateThermalImagerTesDdata } from "@/api/meas/thermalImagerTesDdata";
 import { listThermalImagerTesDdata, getThermalImagerTesDdata, delThermalImagerTesDdata, addThermalImagerTesDdata, updateThermalImagerTesDdata } from "@/api/meas/thermalImagerTesDdata";
+import { listMeasBatch } from "@/api/meas/measBatch";
 
 
 export default {
 export default {
   name: "ThermalImagerTesDdata",
   name: "ThermalImagerTesDdata",
@@ -217,7 +224,8 @@ export default {
         integrationTime:[
         integrationTime:[
           { type: 'number',min:1,max:100, message: '请输入1-100s之间的数字',trigger: 'blur'}
           { type: 'number',min:1,max:100, message: '请输入1-100s之间的数字',trigger: 'blur'}
         ]
         ]
-      }
+      },
+      measureBatchOptions: []
     };
     };
   },
   },
   created() {
   created() {
@@ -227,6 +235,10 @@ export default {
     /** 查询热像仪测试数据列表 */
     /** 查询热像仪测试数据列表 */
     getList() {
     getList() {
       this.loading = true;
       this.loading = true;
+      const data = {}
+      listMeasBatch(data).then(response => {
+        this.measureBatchOptions = response.rows;
+      });
       listThermalImagerTesDdata(this.queryParams).then(response => {
       listThermalImagerTesDdata(this.queryParams).then(response => {
         this.thermalImagerTesDdataList = response.rows;
         this.thermalImagerTesDdataList = response.rows;
         this.total = response.total;
         this.total = response.total;

+ 14 - 2
meas_web/src/views/meas/transmissionRate/index.vue

@@ -106,7 +106,13 @@
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="90px">
       <el-form ref="form" :model="form" :rules="rules" label-width="90px">
         <el-form-item label="测量批次id" prop="measurementBatchId">
         <el-form-item label="测量批次id" prop="measurementBatchId">
-          <el-input v-model.number="form.measurementBatchId" placeholder="请输入测量批次id" />
+          <el-select v-model="form.measurementBatchId" placeholder="请选择测量批次id">
+            <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-select>
         </el-form-item>
         </el-form-item>
         <el-form-item label="原始数据" prop="rawData">
         <el-form-item label="原始数据" prop="rawData">
           <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="form.rawData"/>
           <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="form.rawData"/>
@@ -128,6 +134,7 @@
 
 
 <script>
 <script>
 import { listTransmissionRate, getTransmissionRate, delTransmissionRate, addTransmissionRate, updateTransmissionRate } from "@/api/meas/transmissionRate";
 import { listTransmissionRate, getTransmissionRate, delTransmissionRate, addTransmissionRate, updateTransmissionRate } from "@/api/meas/transmissionRate";
+import { listMeasBatch } from "@/api/meas/measBatch";
 
 
 export default {
 export default {
   name: "TransmissionRate",
   name: "TransmissionRate",
@@ -168,7 +175,8 @@ export default {
           { required: true, message: "测量批次id不能为空"},
           { required: true, message: "测量批次id不能为空"},
           {type: 'number', message: '测量批次id必须为数字',trigger: 'blur'}
           {type: 'number', message: '测量批次id必须为数字',trigger: 'blur'}
         ],
         ],
-      }
+      },
+      measureBatchOptions: []
     };
     };
   },
   },
   created() {
   created() {
@@ -178,6 +186,10 @@ export default {
     /** 查询透过率列表 */
     /** 查询透过率列表 */
     getList() {
     getList() {
       this.loading = true;
       this.loading = true;
+      const data = {}
+      listMeasBatch(data).then(response => {
+        this.measureBatchOptions = response.rows;
+      });
       listTransmissionRate(this.queryParams).then(response => {
       listTransmissionRate(this.queryParams).then(response => {
         this.transmissionRateList = response.rows;
         this.transmissionRateList = response.rows;
         this.total = response.total;
         this.total = response.total;