var achievement = '成绩表';
var backupData = [];
var dataTd = {};
function updateData(jsonData, type = 1) {
var dataContainer = document.getElementById('dataContainer');
var html = '';
var data = jsonData;
console.log('zhes' + type)
if (type == 1) {
backupData = data;
dataTd = data[0].stepScroe;
}
var td = '';
var i = 1;
let dataTdLength = Object.keys(dataTd).length;
let isPc = dataTdLength == 27 ? 'pc' : 'vr';
let score = {
"pc": [
0.2, 0.1, 0.5, 0.5, 1, 0, 0.1, 0.1, 0.1, 0.4, 0.4, 1, 0.1, 0.1, 0.1, 0.2, 0.1, 2.5, 0.5, 0.5, 0.4, 0.3, 0.3, 0.3, 0.1, 0.1, 0.4
],
"vr": [
0, 1, 5, 5, 5, 5, 1, 1, 1, 4, 4, 10, 6, 1, 1, 1, 1, 2, 1, 24, 5, 4, 5, 3, 1, 3
],
};
// console.log(score.vr.length)
// console.log(dataTd,Object.keys(dataTd),dataTdLeng)
if (dataTd) {
td += '
学号' + ' | ';
for (obj in dataTd) {
td += "" + i + '-' + obj + '-' + score[isPc][i - 1] + ' | ';
i++;
}
td += '总得分' + ' | ';
td += '创建时间' + ' | ';
var tdContainer = document.getElementById('th');
tdContainer.innerHTML = td;
}
// 根据您的JSON数据结构,循环遍历并构建HTML字符串
// 这里假设jsonData是一个包含多个对象的数组,每个对象有学号、姓名、分数和考试时间属性
// let dataTdArray = Object.keys(dataTd);
console.log(data, type, 55656)
data.forEach(function (item) {
html += '';
html += '| ' + item.number + ' | ';
let key = 1;
if (dataTd) {
for (obj in dataTd) {
let colorSuccess = 'red'
if (item.stepScroe[obj] == score[isPc][key - 1]) {
colorSuccess = 'colour';
}
html += '' + item.stepScroe[obj] + ' | ';
key++;
}
}
html += '' + item.score + '_' + '(' + textChange(item.isExam) + ') | ';
html += '' + item.time.slice(0, 17) + ' | ';
html += '
'; // 添加分隔线
});
dataContainer.innerHTML = html;
}
function textChange(state) {
let text = state ? '考试' : '练习';
return text;
}
function handleDragOver(e) {
e.preventDefault();
dropArea.classList.add('dragover');
}
function handleDragLeave(e) {
e.preventDefault();
dropArea.classList.remove('dragover');
}
function scanFiles(e) {
const files = e.dataTransfer.files; // 获取拖拽的文件列表
const fileInput = document.getElementById('fileUpload');
for (let i = 0; i < files.length; i++) {
const file = files[i];
// 将文件输出到文件输入框中
fileInput.files = files;
// 在这里可以进行其他操作,例如上传到服务器或进行其他处理
}
}
function handleDragOver(e) {
e.stopPropagation();
e.preventDefault();
}
function handleFileSelect(e) {
// fileInput.files = files;
// e.stopPropagation();
e.preventDefault();
let item = e.dataTransfer;
scanFiles(e);
var files = [];
[].forEach.call(e.dataTransfer.files, function (file) {
files.push(file);
}, false);
for (var f of files) {
var reader = new FileReader();
reader.readAsText(f);
//读取文件的内容
reader.onload = function () {
var jsonData = JSON.parse(this.result);
// console.log(jsonData,36)
updateData(jsonData);
// console.log(this.result, 9998)
};
}
}
function handSelect() {
let id = document.getElementById('id').value;
let time = document.getElementById('time').value;
if (id || time) {
let where = {
id:[],
time:[]
};
if (id) {
where['id'] = id.split("/");
}
if (time) {
time = time.split("一");
let time1 = time[0]+ " 00:00:00";
let time2 = time[1]+ " 23:59:59";
where['time1'] = new Date(time1).getTime()/1000;
where['time2'] = new Date(time2).getTime()/1000;
}
const result = filterateSearch(backupData, where)
console.log(77777,result)
if (result.length >= 1) {
console.log(8888888)
updateData(result, 2)
return;
}else ( alert('符合的数据为空,请更改数据搜索条件') )
return;
} else {
if (backupData.length >= 1) {
updateData(backupData)
return;
}
}
alert('符合的数据为空,请更改数据搜索条件');
}
function filterateSearch(data, searchTerm) {
const conditions = searchTerm['id'];
const time1 = searchTerm['time1']?searchTerm['time1']:'1674541121';
const time2 = searchTerm['time2']?searchTerm['time2']:"33231449921";
// 转换为 Date 对象
console.log(time1,time2,6633);
const filteredArr = data.filter(item => {
let hasNameCondition = conditions.every(condition => item.number.includes(condition))
const time = item.stamp;
let hasTimeCondition = time >= time1 && time <= time2;
return hasNameCondition && hasTimeCondition;
});
console.log(filteredArr);
return filteredArr;
}