Browse Source

曲线图代码调整

Rmengdi 11 months ago
parent
commit
2dd11475b6
1 changed files with 40 additions and 58 deletions
  1. 40 58
      meas_web/src/views/meas/envData/index.vue

+ 40 - 58
meas_web/src/views/meas/envData/index.vue

@@ -239,10 +239,10 @@
               <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" />
               </el-form-item>
               </el-form-item>
-              <el-form-item label="辐射亮度" prop="radiance1">
-                <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="radiationForm.radiance1" />
+              <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>
-              <el-form-item label="辐射亮度" prop="radiance2">
+              <el-form-item label="辐射亮度8~14μm" label-width="130px" prop="radiance2">
                 <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>
@@ -294,12 +294,12 @@
                 v-on:fileView="fileView2" />
                 v-on:fileView="fileView2" />
             </el-form-item>
             </el-form-item>
             <el-form-item label="辐射照度" prop="radIllumination">
             <el-form-item label="辐射照度" prop="radIllumination">
-              <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="TIForm.radIllumination" />
+              <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="TIForm.radIllumination" :isShowViev="true" v-on:fileView="fileView"/>
             </el-form-item>
             </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" />
+              <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="TIForm.radTemp" :isShowViev="true" v-on:fileView="fileView"/>
             </el-form-item>
             </el-form-item>
             <el-col :span="7"></el-col>
             <el-col :span="7"></el-col>
             <el-col :span="7"></el-col>
             <el-col :span="7"></el-col>
@@ -315,10 +315,10 @@
               <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="TransmittanceForm.rawData" />
               <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="TransmittanceForm.rawData" />
             </el-form-item>
             </el-form-item>
             <el-form-item label="透过率曲线3~5μm" label-width="130px" prop="curve1">
             <el-form-item label="透过率曲线3~5μm" label-width="130px" prop="curve1">
-              <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="TransmittanceForm.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>
             <el-form-item label="透过率曲线8~14μm" label-width="135px" prop="curve2">
             <el-form-item label="透过率曲线8~14μm" label-width="135px" prop="curve2">
-              <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="TransmittanceForm.curve2" />
+              <file-upload :fileSize="0" :limit="1" :fileType="['txt']" v-model="TransmittanceForm.curve2" :isShowViev="true" v-on:fileView="fileView"/>
             </el-form-item>
             </el-form-item>
           </el-row>
           </el-row>
         </el-form>
         </el-form>
@@ -841,30 +841,38 @@ export default {
     handleLineChart(data) {
     handleLineChart(data) {
       this.chartType = "line";
       this.chartType = "line";
       const data1 = data[0].replace(/\s+/g, " ").split(" ");
       const data1 = data[0].replace(/\s+/g, " ").split(" ");
-      const customName=data1.reduce((acc, label) => {
-        acc[label + 'Data'] = []; // 初始化数组
-        return acc;
-      }, {});
-      console.log("customName",customName);
-      // console.log("data1",data1);
-      // const data1 = ['wavelenth(μm)','R','Cd'];
-      let wavelenthData = [],
-        RData = [],
-        CdData = [];
-      // if(data1.includes('wavelenth(μm)')){
-      //   wavelenthData
-      // }
+      const customName= data1.map(label => ({ [label + 'Data']: [] }))
+      let yAxis=[],series=[]
       for (let i = 1; i < data.length; i++) {
       for (let i = 1; i < data.length; i++) {
         let row = data[i].split("\t");
         let row = data[i].split("\t");
-        let index=0
-        for (let key in customName){
-          customName[key].push(parseFloat(row[index++]))
-        }
-        // wavelenthData.push(parseFloat(row[0]));
-        // RData.push(parseFloat(row[1]));
-        // CdData.push(parseFloat(row[2]));
+        customName.forEach((item,index)=>{
+          for (let key in item){
+            item[key].push(parseFloat(row[index]))
+          }
+        })
       }
       }
       console.log("customName",customName);
       console.log("customName",customName);
+      // delete data1[Object.keys(data1)[0]]
+      customName.forEach((item,index)=>{
+        if(index===0) return
+        else{
+          yAxis.push({
+            type: "value",
+            name: data1[index],
+            position: index===1?'left':'right',
+            alignTicks: true,
+            axisLine: {
+              show: true,
+            },
+          })
+          series.push({
+              name: data1[index],
+              type: "line",
+              data: item[Object.keys(item)[0]],
+            },)
+          }
+      })
+      console.log("11",Object.values(customName[0])[0]);
       const chartData = {
       const chartData = {
         tooltip: {
         tooltip: {
           trigger: "axis",
           trigger: "axis",
@@ -875,45 +883,19 @@ export default {
         xAxis: [
         xAxis: [
           {
           {
             type: "category",
             type: "category",
+            name:data1[0],
             axisTick: {
             axisTick: {
               alignWithLabel: true,
               alignWithLabel: true,
             },
             },
-            data: customName[Object.keys(customName)[0]] ,
-          },
-        ],
-        yAxis: [
-          {
-            type: "value",
-            name: "Cd",
-            position: "right",
-            alignTicks: true,
-            axisLine: {
-              show: true,
-            },
-          },
-          {
-            type: "value",
-            name: "R",
-            position: "left",
-            alignTicks: true,
             axisLine: {
             axisLine: {
               show: true,
               show: true,
             },
             },
+            
+            data: Object.values(customName[0])[0] ,
           },
           },
         ],
         ],
-        series: [
-          {
-            name: "R",
-            type: "line",
-            data: RData,
-          },
-          {
-            name: "Cd",
-            type: "line",
-            yAxisIndex: 1,
-            data: CdData,
-          },
-        ],
+        yAxis: yAxis,
+        series: series,
       };
       };
       this.chartData=JSON.parse(JSON.stringify(chartData))
       this.chartData=JSON.parse(JSON.stringify(chartData))
     },
     },