first name last name

This commit is contained in:
konradm 2024-10-17 14:24:08 +02:00
parent e0ba11b0e9
commit 32449be531
2 changed files with 26 additions and 18 deletions

View File

@ -26,18 +26,18 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<!-- Dodaj wiersze dla wszystkich kryteriów --> <!-- Wiersze dla wszystkich kryteriów -->
<tr> <tr>
<td>Frekwencja 95-100%</td> <td>Frekwencja 95-100%</td>
<td><input type="number" id="frekwencja-punkty" value="30" onchange="calculateStats()"></td> <td><input type="number" id="frekwencja-punkty" value="30" onchange="calculateStats()"></td>
</tr> </tr>
<tr> <tr>
<td>Brak godzin nieusprawiedliwionych</td> <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>
<tr> <tr>
<td>Minimum 85% frekwencja</td> <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>
<tr> <tr>
<td>Etap szkolny</td> <td>Etap szkolny</td>
@ -147,9 +147,9 @@
</div> </div>
<footer style="margin: 20px"> <footer style="margin: 20px">
B. Hrynowiecki </br> B. Hrynowiecki <br>
K. Michalak </br> K. Michalak <br>
F. Kowalski </br> F. Kowalski <br>
Led and Authored by M. Pabiszczak Led and Authored by M. Pabiszczak
</footer> </footer>

View File

@ -117,8 +117,6 @@ async function loadStudents(classFilePath) {
} }
} }
// Funkcja do wczytania pliku criteria.json // Funkcja do wczytania pliku criteria.json
async function loadCriteria() { async function loadCriteria() {
const criteriaFilePath = '/data/criteria.json'; const criteriaFilePath = '/data/criteria.json';
@ -188,7 +186,7 @@ function changeDay(direction) {
// Funkcja do ładowania danych dnia // Funkcja do ładowania danych dnia
function loadDayData() { function loadDayData() {
studentsData.forEach(student => { 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}`] || {}; const behavior = student.behavior[`day${currentDay}`] || {};
// Pobierz kryteria dla aktualnej kategorii // Pobierz kryteria dla aktualnej kategorii
@ -207,7 +205,13 @@ function loadDayData() {
// Funkcja do zapisywania danych dnia // Funkcja do zapisywania danych dnia
function saveDayData() { function saveDayData() {
studentsData.forEach(student => { 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}`] || {}; let behavior = student.behavior[`day${currentDay}`] || {};
const categoryColumns = categories[currentCategory]; const categoryColumns = categories[currentCategory];
@ -228,8 +232,8 @@ function calculateStats() {
// Pobieranie punktów z zakładki "Ustal punkty" // Pobieranie punktów z zakładki "Ustal punkty"
const points = { const points = {
frekwencja: parseInt(document.getElementById('frekwencja-punkty').value) || 0, frekwencja: parseInt(document.getElementById('frekwencja-punkty').value) || 0,
brak_godzin: parseInt(document.getElementById('brak-godzin-punkty').value) || 0, brak_godzin: parseInt(document.getElementById('brak_godzin-punkty').value) || 0,
min_85: parseInt(document.getElementById('min-85-punkty').value) || 0, min_85: parseInt(document.getElementById('min_85-punkty').value) || 0,
etap_szkolny: parseInt(document.getElementById('etap_szkolny-punkty').value) || 5, etap_szkolny: parseInt(document.getElementById('etap_szkolny-punkty').value) || 5,
etap_rejonowy: parseInt(document.getElementById('etap_rejonowy-punkty').value) || 10, etap_rejonowy: parseInt(document.getElementById('etap_rejonowy-punkty').value) || 10,
etap_wojewodzki: parseInt(document.getElementById('etap_wojewodzki-punkty').value) || 15, etap_wojewodzki: parseInt(document.getElementById('etap_wojewodzki-punkty').value) || 15,
@ -265,7 +269,7 @@ function calculateStats() {
totalPoints += dayPoints; 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; document.getElementById('stats-output').innerText = stats;
@ -312,21 +316,25 @@ function generateTable(category) {
// Komórka z imieniem i nazwiskiem // Komórka z imieniem i nazwiskiem
const tdName = document.createElement('td'); const tdName = document.createElement('td');
tdName.textContent = student.name; tdName.textContent = `${student.first_name} ${student.last_name}`;
row.appendChild(tdName); row.appendChild(tdName);
// Upewnij się, że 'behavior' jest zdefiniowany
if (!student.behavior) {
student.behavior = {};
}
// Komórki z checkboxami dla kryteriów // Komórki z checkboxami dla kryteriów
categoryColumns.forEach(column => { categoryColumns.forEach(column => {
const td = document.createElement('td'); const td = document.createElement('td');
const checkbox = document.createElement('input'); const checkbox = document.createElement('input');
checkbox.type = 'checkbox'; 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; checkbox.onchange = calculateStats;
// Ustawienie stanu checkboxa na podstawie zapisanych danych // 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] || false;
checkbox.checked = student.behavior[`day${currentDay}`][column.id];
}
td.appendChild(checkbox); td.appendChild(checkbox);
row.appendChild(td); row.appendChild(td);