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) {
where['time'] = time.split("/");
}
const result = filterateSearch(backupData, where)
updateData(result, 2)
}
}
function filterateSearch(data, searchTerm) {
// const conditions = ['b','r'];
const conditions = searchTerm['id'];
const timeConditions = searchTerm['time'];
const filteredArr = data.filter(item => {
let newDataName = conditions.every(condition => item.number.includes(condition))
let newDataTime = timeConditions.some(condition => item.time.includes(condition));
if (conditions.length >0 && timeConditions.length >0) {
console.log(1)
return newDataName && newDataTime;
}
if (conditions.length >0 && timeConditions.length == 0) {
console.log(2)
return newDataName;
}
if (timeConditions.length >0 && conditions.length == 0) {
console.log(3)
return newDataTime;
}
});
return filteredArr;
}