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