first name last name
This commit is contained in:
parent
e0ba11b0e9
commit
32449be531
12
index.html
12
index.html
|
@ -26,18 +26,18 @@
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!-- Dodaj wiersze dla wszystkich kryteriów -->
|
||||
<!-- Wiersze dla wszystkich kryteriów -->
|
||||
<tr>
|
||||
<td>Frekwencja 95-100%</td>
|
||||
<td><input type="number" id="frekwencja-punkty" value="30" onchange="calculateStats()"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Brak godzin nieusprawiedliwionych</td>
|
||||
<td><input type="number" id="brak-godzin-punkty" value="20" onchange="calculateStats()"></td>
|
||||
<td><input type="number" id="brak_godzin-punkty" value="20" onchange="calculateStats()"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Minimum 85% frekwencja</td>
|
||||
<td><input type="number" id="min-85-punkty" value="20" onchange="calculateStats()"></td>
|
||||
<td><input type="number" id="min_85-punkty" value="20" onchange="calculateStats()"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Etap szkolny</td>
|
||||
|
@ -147,9 +147,9 @@
|
|||
</div>
|
||||
|
||||
<footer style="margin: 20px">
|
||||
B. Hrynowiecki </br>
|
||||
K. Michalak </br>
|
||||
F. Kowalski </br>
|
||||
B. Hrynowiecki <br>
|
||||
K. Michalak <br>
|
||||
F. Kowalski <br>
|
||||
Led and Authored by M. Pabiszczak
|
||||
</footer>
|
||||
|
||||
|
|
32
js/script.js
32
js/script.js
|
@ -117,8 +117,6 @@ async function loadStudents(classFilePath) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Funkcja do wczytania pliku criteria.json
|
||||
async function loadCriteria() {
|
||||
const criteriaFilePath = '/data/criteria.json';
|
||||
|
@ -188,7 +186,7 @@ function changeDay(direction) {
|
|||
// Funkcja do ładowania danych dnia
|
||||
function loadDayData() {
|
||||
studentsData.forEach(student => {
|
||||
const studentId = student.name.replace(/ /g, '-');
|
||||
const studentId = `${student.first_name}-${student.last_name}`.replace(/ /g, '-');
|
||||
const behavior = student.behavior[`day${currentDay}`] || {};
|
||||
|
||||
// Pobierz kryteria dla aktualnej kategorii
|
||||
|
@ -207,7 +205,13 @@ function loadDayData() {
|
|||
// Funkcja do zapisywania danych dnia
|
||||
function saveDayData() {
|
||||
studentsData.forEach(student => {
|
||||
const studentId = student.name.replace(/ /g, '-');
|
||||
const studentId = `${student.first_name}-${student.last_name}`.replace(/ /g, '-');
|
||||
|
||||
// Upewnij się, że 'behavior' jest zdefiniowany
|
||||
if (!student.behavior) {
|
||||
student.behavior = {};
|
||||
}
|
||||
|
||||
let behavior = student.behavior[`day${currentDay}`] || {};
|
||||
|
||||
const categoryColumns = categories[currentCategory];
|
||||
|
@ -228,8 +232,8 @@ function calculateStats() {
|
|||
// Pobieranie punktów z zakładki "Ustal punkty"
|
||||
const points = {
|
||||
frekwencja: parseInt(document.getElementById('frekwencja-punkty').value) || 0,
|
||||
brak_godzin: parseInt(document.getElementById('brak-godzin-punkty').value) || 0,
|
||||
min_85: parseInt(document.getElementById('min-85-punkty').value) || 0,
|
||||
brak_godzin: parseInt(document.getElementById('brak_godzin-punkty').value) || 0,
|
||||
min_85: parseInt(document.getElementById('min_85-punkty').value) || 0,
|
||||
etap_szkolny: parseInt(document.getElementById('etap_szkolny-punkty').value) || 5,
|
||||
etap_rejonowy: parseInt(document.getElementById('etap_rejonowy-punkty').value) || 10,
|
||||
etap_wojewodzki: parseInt(document.getElementById('etap_wojewodzki-punkty').value) || 15,
|
||||
|
@ -265,7 +269,7 @@ function calculateStats() {
|
|||
totalPoints += dayPoints;
|
||||
});
|
||||
|
||||
stats += `${student.name}: ${totalPoints} punktów (${getGrade(totalPoints)})\n`;
|
||||
stats += `${student.first_name} ${student.last_name}: ${totalPoints} punktów (${getGrade(totalPoints)})\n`;
|
||||
});
|
||||
|
||||
document.getElementById('stats-output').innerText = stats;
|
||||
|
@ -312,21 +316,25 @@ function generateTable(category) {
|
|||
|
||||
// Komórka z imieniem i nazwiskiem
|
||||
const tdName = document.createElement('td');
|
||||
tdName.textContent = student.name;
|
||||
tdName.textContent = `${student.first_name} ${student.last_name}`;
|
||||
row.appendChild(tdName);
|
||||
|
||||
// Upewnij się, że 'behavior' jest zdefiniowany
|
||||
if (!student.behavior) {
|
||||
student.behavior = {};
|
||||
}
|
||||
|
||||
// Komórki z checkboxami dla kryteriów
|
||||
categoryColumns.forEach(column => {
|
||||
const td = document.createElement('td');
|
||||
const checkbox = document.createElement('input');
|
||||
checkbox.type = 'checkbox';
|
||||
checkbox.id = `${column.id}-${student.name.replace(/ /g, '-')}`;
|
||||
const studentId = `${student.first_name}-${student.last_name}`.replace(/ /g, '-');
|
||||
checkbox.id = `${column.id}-${studentId}`;
|
||||
checkbox.onchange = calculateStats;
|
||||
|
||||
// Ustawienie stanu checkboxa na podstawie zapisanych danych
|
||||
if (student.behavior[`day${currentDay}`] && student.behavior[`day${currentDay}`][column.id]) {
|
||||
checkbox.checked = student.behavior[`day${currentDay}`][column.id];
|
||||
}
|
||||
checkbox.checked = student.behavior[`day${currentDay}`]?.[column.id] || false;
|
||||
|
||||
td.appendChild(checkbox);
|
||||
row.appendChild(td);
|
||||
|
|
Loading…
Reference in New Issue