From 3e788004c97034f6d7d52ffdbffacf60e94c48f7 Mon Sep 17 00:00:00 2001
From: cshenfu <men883234@gmail.com>
Date: 星期五, 10 三月 2023 15:27:29 +0800
Subject: [PATCH] 读取文件

---
 read_com/js/function.js |  320 +++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 286 insertions(+), 34 deletions(-)

diff --git a/read_com/js/function.js b/read_com/js/function.js
index b5e6819..3fdca19 100644
--- a/read_com/js/function.js
+++ b/read_com/js/function.js
@@ -24,17 +24,140 @@
 sum_region6_2 = 0,
 sum_region7_2 = 0,
 sum_region8_2 = 0,
-sum_region9_2 = 0  //姣忎釜鍖哄煙鐨勬�诲��
+sum_region9_2 = 0,  //姣忎釜鍖哄煙鐨勬�诲��
+sum_9_region = [[],[],[],[],[],[],[],[],[]],
+sum_9_region2 = [[],[],[],[],[],[],[],[],[]],
+persens_arr = [],
+persens_arr2 = []
 var region_length = [] 
 var region_length2 = [] //闉嬪灚鍒嗗尯鐨勪釜鏁�
 var left_port = "/dev/tty.usbserial-14110"
 var right_port = "/dev/tty.usbserial-14130"//宸﹀彸鑴氬搴旂殑涓插彛鍙�
+var read_file = true
 var heatmapInstance = h337.create({
     container: document.querySelector('.left_map')
   });
 var heatmapInstance2 = h337.create({
 container: document.querySelector('.right_map')
 });
+
+// var dom = document.getElementById('chart-container');
+// var myChart = echarts.init(dom, 'dark', {
+//   renderer: 'canvas',
+//   useDirtyRect: false
+// });
+// myChart.setOption(
+//     // (option = {
+//     //   visualMap: {
+//     //     show: false,
+//     //     min: 0,
+//     //     max: 3000,
+//     //     inRange: {
+//     //       color: [
+//     //         '#313695',
+//     //         '#4575b4',
+//     //         '#74add1',
+//     //         '#abd9e9',
+//     //         '#e0f3f8',
+//     //         '#ffffbf',
+//     //         '#fee090',
+//     //         '#fdae61',
+//     //         '#f46d43',
+//     //         '#d73027',
+//     //         '#a50026'
+//     //       ]
+//     //     }
+//     //   },
+//     //   xAxis3D: {
+//     //     type: 'value'
+//     //   },
+//     //   yAxis3D: {
+//     //     type: 'value'
+//     //   },
+//     //   zAxis3D: {
+//     //     type: 'value',
+//     //     max: 3000,
+//     //     min: 0
+//     //   },
+//     //   grid3D: {
+//     //     axisLine: {
+//     //       lineStyle: { color: '#fff' }
+//     //     },
+//     //     axisPointer: {
+//     //       lineStyle: { color: '#fff' }
+//     //     },
+//     //     viewControl: {
+//     //       // autoRotate: true
+//     //     },
+//     //     light: {
+//     //       main: {
+//     //         shadow: true,
+//     //         quality: 'ultra',
+//     //         intensity: 1.5
+//     //       }
+//     //     }
+//     //   },
+//     //   series: [
+//     //     {
+//     //       type: 'bar3D',
+//     //       data: new_3d_data,
+//     //       shading: 'lambert',
+//     //       label: {
+//     //         formatter: function (param) {
+//     //           return param.value[2].toFixed(1);
+//     //         }
+//     //       }
+//     //     }
+//     //   ]
+//     // })
+//     (option = {
+//         tooltip: {},
+//         backgroundColor: '#fff',
+//         visualMap: {
+//             show: false,
+//             dimension: 2,
+//             min: -1,
+//             max: 1,
+//             inRange: {
+//                 color: ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf', '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026']
+//             }
+//         },
+//         xAxis3D: {
+//             type: 'value'
+//         },
+//         yAxis3D: {
+//             type: 'value'
+//         },
+//         zAxis3D: {
+//             type: 'value',
+//         max: 3000,
+//         min: 0
+//         },
+//         grid3D: {
+//             viewControl: {
+//                 // projection: 'orthographic'
+//             }
+//         },
+//         series: [{
+//             type: 'surface',
+//             wireframe: {
+//                 // show: false
+//             },
+//             equation: {
+                
+//                 z: function (x, y) {
+//                     if (Math.abs(x) < 0.1 && Math.abs(y) < 0.1) {
+//                         return '-';
+//                     }
+//                     return x*x*(1/y);
+//                 }
+//             }
+//         }]
+//     }
+//     )
+//   );
+
+
 
 
 
@@ -122,6 +245,23 @@
     }
 }
 
+// 涓�缁存暟缁勮浆澶氱淮
+function fun(fromArr,mountOfEachLine) {
+    // let newArr = [];
+    // let len = fromArr.length;
+    // let lineNum =  len % mountOfEachLine == 0 ? len / mountOfEachLine : Math.ceil(len / mountOfEachLine);
+    // for (let i = 0; i < lineNum; i++) {
+    //     let tempElement = fromArr.slice(i*mountOfEachLine,(i+1)*mountOfEachLine);
+    //     newArr.push(tempElement);
+    // }
+    // return newArr;
+    var arr2 = [];
+     let len = fromArr.length;
+     for (let i = 0, j = 0; i < len; i += mountOfEachLine, j++) {
+       arr2[j] = fromArr.splice(0, mountOfEachLine);
+     }
+     return arr2;
+}
 
 //灏忔暟杞寲鐧惧垎姣�
 function toPercent(point){
@@ -136,8 +276,13 @@
     let str = ``;
     //澧炲姞\t涓轰簡涓嶈琛ㄦ牸鏄剧ず绉戝璁℃暟娉曟垨鑰呭叾浠栨牸寮�
     for(let i = 0 ; i < data.length ; i++ ){
-          str+=`${data[i].data.join(',') + '\t'},`;     
-          str+='\n';
+        if(i == data.length-1){
+            str+=`${data[i].data.join(',')}`;
+        }else{
+            str+=`${data[i].data.join(',') + '\t'},`;     
+            str+='\n';
+        }
+          
     }
     //encodeURIComponent瑙e喅涓枃涔辩爜
     let uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeURIComponent(str);
@@ -390,6 +535,10 @@
             console.log("娓呯┖浜�")
             arr_arr = []
             arr_arr2 = [] //娓呴櫎涓婁竴娆℃暟鎹�
+            sum_9_region = [[],[],[],[],[],[],[],[],[]]
+            sum_9_region2 = [[],[],[],[],[],[],[],[],[]]
+            persens_arr = []
+            persens_arr2 = []
         }
         clear = true
         clearInterval(timer)
@@ -400,13 +549,13 @@
 
             if(data1.serialport == right_port){
                 let data = data1.data
-                let data_end = data1.data.flat()
+                let data_end = data1.data.flat(Infinity)
             for(let i=0;i<data_map.data.length;i++){
-                data_map.data[i].value = data_end[i]
-                data_map.data[i].radius = data_end[i]<10?0:30
+                data_map2.data[i].value = data_end[i]
+                data_map2.data[i].radius = data_end[i]<10?0:50
             }
           
-              heatmapInstance2.setData(data_map);
+              heatmapInstance2.setData(data_map2);
                 arr_arr.push(data1)
                 for(let i=0;i<data.length;i++){
                     for(let x=0;x<data[i].length;x++){
@@ -436,6 +585,15 @@
                         }
                         if(i==data.length-1&&x==data[i].length-1){
                             sum_99 = sum_region1+sum_region2+sum_region3+sum_region4+sum_region5+sum_region6+sum_region7+sum_region8+sum_region9
+                            sum_9_region[0].push(sum_region1)
+                            sum_9_region[1].push(sum_region2)
+                            sum_9_region[2].push(sum_region3)
+                            sum_9_region[3].push(sum_region4)
+                            sum_9_region[4].push(sum_region5)
+                            sum_9_region[5].push(sum_region6)
+                            sum_9_region[6].push(sum_region7)
+                            sum_9_region[7].push(sum_region8)
+                            sum_9_region[8].push(sum_region9)
                             $('.dataRight .region1 .ave').text((sum_region1/region_length[0]).toFixed(5));
                             $('.dataRight .region1 .pr').text(toPercent((sum_region1/sum_99).toFixed(5)));
                             $('.dataRight .region2 .ave').text((sum_region2/region_length[1]).toFixed(5));
@@ -474,14 +632,13 @@
                             addData(lineChart, 7, 'time3',(sum_region8/region_length[7]).toFixed(5))
                             addData(lineChart, 8, 'time3',(sum_region9/region_length[8]).toFixed(5))
                             
-                            
                         }
                     }
                 }
                 sum_99 = 0;sum_region1 = 0;sum_region2 = 0;sum_region3 = 0;sum_region4 = 0;sum_region5 = 0;sum_region6 = 0;sum_region7 = 0;sum_region8 = 0;sum_region9 = 0
             }else if(data1.serialport == left_port){
                 let data = data1.data
-                let data_end = data1.data.flat()
+                let data_end = data1.data.flat(Infinity)
                 for(let i=0;i<data_map.data.length;i++){
                     data_map.data[i].value = data_end[i]
                     data_map.data[i].radius = data_end[i]<10?0:50
@@ -553,6 +710,15 @@
                             addData(lineChart2, 6, 'time3',(sum_region7_2/region_length2[6]).toFixed(5))
                             addData(lineChart2, 7, 'time3',(sum_region8_2/region_length2[7]).toFixed(5))
                             addData(lineChart2, 8, 'time3',(sum_region9_2/region_length2[8]).toFixed(5))
+                            sum_9_region2[0].push(sum_region1_2)
+                            sum_9_region2[1].push(sum_region2_2)
+                            sum_9_region2[2].push(sum_region3_2)
+                            sum_9_region2[3].push(sum_region4_2)
+                            sum_9_region2[4].push(sum_region5_2)
+                            sum_9_region2[5].push(sum_region6_2)
+                            sum_9_region2[6].push(sum_region7_2)
+                            sum_9_region2[7].push(sum_region8_2)
+                            sum_9_region2[8].push(sum_region9_2)
                         }
                     }
                 }
@@ -565,17 +731,27 @@
     //缁撴潫鎸夐挳
     $('.end').click(function(){
         // var socket = io('http://127.0.0.1:3001');
-        console.log(arr_arr,arr_arr2)
-        clear = false
-        socket.destroy();
-        // socket.disconnect(true)
-        // socket.close(false) //鍏抽棴socket涓嶅啀鎺ユ敹浼犲洖鐨勬暟鎹�
-        clearInterval(timer)
-        $('.start').attr('disabled',false)
-        $('.last').attr('disabled',false)
-        $('.next').attr('disabled',false)
-        $('.back').attr('disabled',false) //寮�鍚洖鏀惧姛鑳�
-        $('.download').attr('disabled',false)
+        // console.log(sum_9_region,sum_9_region2)
+        if(arr_arr.length == 0&&arr_arr2.length == 0){
+            alert("鏆傛棤鏁版嵁")
+            $('.start').attr('disabled',false)
+        }else{
+            for(let i=0;i<sum_9_region.length;i++){
+                let data_end_region = eval(sum_9_region[i].join('+'))
+                persens_arr.push(data_end_region)
+            }
+            clear = false
+            socket.destroy();
+            // socket.disconnect(true)
+            // socket.close(false) //鍏抽棴socket涓嶅啀鎺ユ敹浼犲洖鐨勬暟鎹�
+            clearInterval(timer)
+            $('.start').attr('disabled',false)
+            $('.last').attr('disabled',false)
+            $('.next').attr('disabled',false)
+            $('.back').attr('disabled',false) //寮�鍚洖鏀惧姛鑳�
+            $('.download').attr('disabled',false)
+        }
+       
     })
 
     //鍥炴斁鍔熻兘
@@ -585,18 +761,41 @@
         }else{
             clear = false
         timer = setInterval(function(){
+            
+              let data_end_left = arr_arr2[step2]?.data.flat(Infinity)
+              let data_end_right = arr_arr[step]?.data.flat(Infinity)
+            
             if(arr_arr.length!=0&&arr_arr2.length!=0){
                 step == arr_arr.length-1?arr_arr.length-1:step++
                 step2 == arr_arr2.length-1?arr_arr2.length-1:step2++
+                for(let i=0;i<data_map.data?.length;i++){
+                    data_map.data[i].value = data_end_left[i]
+                    data_map.data[i].radius = data_end_left[i]<10?0:50
+                }
+                for(let i=0;i<data_map2.data?.length;i++){
+                    data_map2.data[i].value = parseInt(data_end_right[i])
+                    data_map2.data[i].radius = parseInt(data_end_right[i])<10?0:50
+                }
+                heatmapInstance.setData(data_map);
+                heatmapInstance2.setData(data_map2);
             }else if(arr_arr.length == 0&&arr_arr2.length!=0){
                 step = 0
                 step2 == arr_arr2.length-1?arr_arr2.length-1:step2++
+                for(let i=0;i<data_map.data?.length;i++){
+                    data_map.data[i].value = data_end_left[i]
+                    data_map.data[i].radius = data_end_left[i]<10?0:50
+                }
+                heatmapInstance.setData(data_map);
             }else if(arr_arr2.length == 0&&arr_arr.length!=0){
                 step2 = 0
                 step == arr_arr.length-1?arr_arr.length-1:step++
+                for(let i=0;i<data_map2.data?.length;i++){
+                    data_map2.data[i].value = data_end_right[i]
+                    data_map2.data[i].radius = data_end_right[i]<10?0:50
+                    heatmapInstance2.setData(data_map2);
+                }
             }
-            
-            
+
             for(let i=0;i<arr_arr[step]?.data.length;i++){
                     for(let x=0;x<arr_arr[step].data[i].length;x++){
                         let id_end = trueID(i)
@@ -730,7 +929,8 @@
                     }
                 }
         }
-        console.log(step,step2,arr_arr.length-1,arr_arr2.length-1)
+        heatmapInstance.setData(data_map);
+        heatmapInstance2.setData(data_map2);
         if(arr_arr.length!=0&&arr_arr2.length!=0){
             if(step == arr_arr.length-1&&step2 == arr_arr2.length-1){
                 clearInterval(timer)
@@ -751,9 +951,8 @@
             }
         }
         
-        
-            sum_99 = 0;sum_region1 = 0;sum_region2 = 0;sum_region3 = 0;sum_region4 = 0;sum_region5 = 0;sum_region6 = 0;sum_region7 = 0;sum_region8 = 0;sum_region9 = 0
-            sum_99_2 = 0;sum_region1_2 = 0;sum_region2_2 = 0;sum_region3_2 = 0;sum_region4_2 = 0;sum_region5_2 = 0;sum_region6_2 = 0;sum_region7_2 = 0;sum_region8_2 = 0;sum_region9_2 = 0
+        sum_99 = 0;sum_region1 = 0;sum_region2 = 0;sum_region3 = 0;sum_region4 = 0;sum_region5 = 0;sum_region6 = 0;sum_region7 = 0;sum_region8 = 0;sum_region9 = 0
+        sum_99_2 = 0;sum_region1_2 = 0;sum_region2_2 = 0;sum_region3_2 = 0;sum_region4_2 = 0;sum_region5_2 = 0;sum_region6_2 = 0;sum_region7_2 = 0;sum_region8_2 = 0;sum_region9_2 = 0
             
         },40)
         }
@@ -768,6 +967,32 @@
         clear = false
         step ==0?0:step--
         step2 ==0?0:step2--
+        let data_end_left = arr_arr2[step2]?.data.flat(Infinity)
+        let data_end_right = arr_arr[step]?.data.flat(Infinity)
+        if(arr_arr.length!=0&&arr_arr2.length!=0){
+            for(let i=0;i<data_map.data?.length;i++){
+                data_map.data[i].value = data_end_left[i]
+                data_map.data[i].radius = data_end_left[i]<10?0:50
+            }
+            for(let i=0;i<data_map2.data?.length;i++){
+                data_map2.data[i].value = data_end_right[i]
+                data_map2.data[i].radius = data_end_right[i]<10?0:50
+            }
+            heatmapInstance.setData(data_map);
+            heatmapInstance2.setData(data_map2);
+        }else if(arr_arr.length == 0&&arr_arr2.length!=0){
+            for(let i=0;i<data_map.data?.length;i++){
+                data_map.data[i].value = data_end_left[i]
+                data_map.data[i].radius = data_end_left[i]<10?0:50
+            }
+            heatmapInstance.setData(data_map);
+        }else if(arr_arr2.length == 0&&arr_arr.length!=0){
+            for(let i=0;i<data_map2.data?.length;i++){
+                data_map2.data[i].value = data_end_right[i]
+                data_map2.data[i].radius = data_end_right[i]<10?0:50
+                heatmapInstance2.setData(data_map2);
+            }
+        }
         for(let i=0;i<arr_arr[step]?.data.length;i++){
             for(let x=0;x<arr_arr[step].data[i].length;x++){
                 let id_end = trueID(i)
@@ -903,7 +1128,6 @@
                 }
             }
         }
-        console.log(step,step2,arr_arr.length-1,arr_arr2.length-1)
         sum_99 = 0;sum_region1 = 0;sum_region2 = 0;sum_region3 = 0;sum_region4 = 0;sum_region5 = 0;sum_region6 = 0;sum_region7 = 0;sum_region8 = 0;sum_region9 = 0
         sum_99_2 = 0;sum_region1_2 = 0;sum_region2_2 = 0;sum_region3_2 = 0;sum_region4_2 = 0;sum_region5_2 = 0;sum_region6_2 = 0;sum_region7_2 = 0;sum_region8_2 = 0;sum_region9_2 = 0
         
@@ -915,15 +1139,37 @@
     $('.next').click(function(){
         clearInterval(timer)
         clear = false
+        let data_end_left = arr_arr2[step2]?.data.flat(Infinity)
+        let data_end_right = arr_arr[step]?.data.flat(Infinity)
         if(arr_arr.length!=0&&arr_arr2.length!=0){
             step == arr_arr.length-1?arr_arr.length-1:step++
             step2 == arr_arr2.length-1?arr_arr2.length-1:step2++
+            for(let i=0;i<data_map.data?.length;i++){
+                data_map.data[i].value = data_end_left[i]
+                data_map.data[i].radius = data_end_left[i]<10?0:50
+            }
+            for(let i=0;i<data_map2.data?.length;i++){
+                data_map2.data[i].value = data_end_right[i]
+                data_map2.data[i].radius = data_end_right[i]<10?0:50
+            }
+            heatmapInstance.setData(data_map);
+            heatmapInstance2.setData(data_map2);
         }else if(arr_arr.length == 0&&arr_arr2.length!=0){
             step = 0
             step2 == arr_arr2.length-1?arr_arr2.length-1:step2++
+            for(let i=0;i<data_map.data?.length;i++){
+                data_map.data[i].value = data_end_left[i]
+                data_map.data[i].radius = data_end_left[i]<10?0:50
+            }
+            heatmapInstance.setData(data_map);
         }else if(arr_arr2.length == 0&&arr_arr.length!=0){
             step2 = 0
             step == arr_arr.length-1?arr_arr.length-1:step++
+            for(let i=0;i<data_map2.data?.length;i++){
+                data_map2.data[i].value = data_end_right[i]
+                data_map2.data[i].radius = data_end_right[i]<10?0:50
+                heatmapInstance2.setData(data_map2);
+            }
         }
         for(let i=0;i<arr_arr[step]?.data.length;i++){
             for(let x=0;x<arr_arr[step].data[i].length;x++){
@@ -1059,7 +1305,6 @@
                 }
             }
         }
-        console.log(step,step2,arr_arr.length-1,arr_arr2.length-1)
         sum_99 = 0;sum_region1 = 0;sum_region2 = 0;sum_region3 = 0;sum_region4 = 0;sum_region5 = 0;sum_region6 = 0;sum_region7 = 0;sum_region8 = 0;sum_region9 = 0
         sum_99_2 = 0;sum_region1_2 = 0;sum_region2_2 = 0;sum_region3_2 = 0;sum_region4_2 = 0;sum_region5_2 = 0;sum_region6_2 = 0;sum_region7_2 = 0;sum_region8_2 = 0;sum_region9_2 = 0
         
@@ -1068,7 +1313,6 @@
 
     //涓嬭浇鏂囦欢
     $('.download').click(function(){
-        console.log(arr_arr,arr_arr2)
         let time = getNowTime()
         if(arr_arr.length == 0&&arr_arr2.length>0){
             tableToExcel(arr_arr2,`宸﹁剼${time}.csv`)
@@ -1085,6 +1329,8 @@
 
     //缁檌nput鏍囩缁戝畾change浜嬩欢锛屼竴涓婁紶閫変腑鐨�.xls鏂囦欢灏变細瑙﹀彂璇ュ嚱鏁�
     $('#excel-file').change(function(e) {
+        read_file = false
+        arr_arr = []
         var files = e.target.files;
         var fileReader = new FileReader();
             fileReader.onload = function(ev) {
@@ -1095,7 +1341,7 @@
                         }) // 浠ヤ簩杩涘埗娴佹柟寮忚鍙栧緱鍒版暣浠絜xcel琛ㄦ牸瀵硅薄
                     var persons = []; // 瀛樺偍鑾峰彇鍒扮殑鏁版嵁
                 } catch (e) {
-                    console.log('鏂囦欢绫诲瀷涓嶆纭�');
+                    console.log('鏂囦欢绫诲瀷涓嶆纭�',e);
                     return;
                 }
         
@@ -1105,15 +1351,21 @@
                 for (var sheet in workbook.Sheets) {
                     if (workbook.Sheets.hasOwnProperty(sheet)) {
                         fromTo = workbook.Sheets[sheet]['!ref'];//璇诲彇鐨勫叏閮ㄦ暟鎹� A1:AN203
-                        console.log(fromTo);
                         persons = persons.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet], {header:1,defval:''}));//鍚堝苟鏁版嵁
-                        break; // 濡傛灉鍙彇绗竴寮犺〃锛屽氨鍙栨秷娉ㄩ噴杩欒
+                        // break; // 濡傛灉鍙彇绗竴寮犺〃锛屽氨鍙栨秷娉ㄩ噴杩欒
                     }
                 }
                 //鍦ㄦ帶鍒跺彴鎵撳嵃鍑烘潵琛ㄦ牸涓殑鏁版嵁
-                console.log(persons);
+                for(let i=0;i<persons.length;i++){
+                    persons[i].length = 112
+                    let data_ee = fun(persons[i],28)
+                    arr_arr.push({"data":data_ee})
+                }
+                $('.last').attr('disabled',false)
+                $('.next').attr('disabled',false)
+                $('.back').attr('disabled',false) //寮�鍚洖鏀惧姛鑳�
+                $('.download').attr('disabled',true)
                 text=persons;//璁粌鏁版嵁闆唗ext
-                // console.log(persons)
         };
         // 浠ヤ簩杩涘埗鏂瑰紡鎵撳紑鏂囦欢
         fileReader.readAsBinaryString(files[0]);

--
Gitblit v1.9.1