| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- 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 += '<th>学号' + '</th>';
- for (obj in dataTd) {
- td += "<th><span class='span'>" + i + '</span>-' + obj + '-<span class="colour">' + score[isPc][i - 1] + '</span></th>';
- i++;
- }
- td += '<th>总得分' + '</th>';
- td += '<th class="time-th">创建时间' + '</th>';
- 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 += '<tr class="tr-after">';
- html += '<td>' + item.number + '</td>';
- let key = 1;
- if (dataTd) {
- for (obj in dataTd) {
- let colorSuccess = 'red'
- if (item.stepScroe[obj] == score[isPc][key - 1]) {
- colorSuccess = 'colour';
- }
- html += '<td class="' + colorSuccess + '">' + item.stepScroe[obj] + '</td>';
- key++;
- }
- }
- html += '<td class="score">' + item.score + '_' + '<span class="font-size11">(' + textChange(item.isExam) + ')</span> </td>';
- html += '<td class="time">' + item.time.slice(0, 17) + '</td>';
- html += '</tr>'; // 添加分隔线
- });
- 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;
- }
|