Diverse anpassungen
This commit is contained in:
@@ -914,26 +914,25 @@ function handleOvertimeChange(dateStr, overtimeHours) {
|
||||
const fullDayHours = getFullDayHours();
|
||||
const overtimeValue = parseFloat(overtimeHours) || 0;
|
||||
|
||||
// Entferne "Überstunden" aus Activity-Feldern falls vorhanden
|
||||
// (Überstunden werden nur im PDF angezeigt, nicht als Tätigkeit)
|
||||
for (let i = 1; i <= 5; i++) {
|
||||
const descInput = document.querySelector(`input[data-date="${dateStr}"][data-field="activity${i}_desc"]`);
|
||||
const hoursInput = document.querySelector(`input[data-date="${dateStr}"][data-field="activity${i}_hours"]`);
|
||||
|
||||
if (descInput && descInput.value && descInput.value.trim().toLowerCase() === 'überstunden') {
|
||||
descInput.value = '';
|
||||
saveEntry(descInput);
|
||||
if (hoursInput) {
|
||||
hoursInput.value = '';
|
||||
saveEntry(hoursInput);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Prüfe ob ganzer Tag Überstunden
|
||||
if (overtimeValue > 0 && Math.abs(overtimeValue - fullDayHours) < 0.01) {
|
||||
// Ganzer Tag Überstunden
|
||||
// Setze Activity1 auf "Überstunden" mit 0 Stunden
|
||||
const activity1DescInput = document.querySelector(`input[data-date="${dateStr}"][data-field="activity1_desc"]`);
|
||||
const activity1HoursInput = document.querySelector(`input[data-date="${dateStr}"][data-field="activity1_hours"]`);
|
||||
|
||||
if (activity1DescInput) {
|
||||
activity1DescInput.value = 'Überstunden';
|
||||
// Trigger saveEntry für dieses Feld
|
||||
saveEntry(activity1DescInput);
|
||||
}
|
||||
|
||||
if (activity1HoursInput) {
|
||||
activity1HoursInput.value = '0';
|
||||
// Trigger saveEntry für dieses Feld
|
||||
saveEntry(activity1HoursInput);
|
||||
}
|
||||
|
||||
// Leere Start- und End-Zeit
|
||||
// Ganzer Tag Überstunden - leere Start- und End-Zeit
|
||||
const startInput = document.querySelector(`input[data-date="${dateStr}"][data-field="start_time"]`);
|
||||
const endInput = document.querySelector(`input[data-date="${dateStr}"][data-field="end_time"]`);
|
||||
|
||||
@@ -946,41 +945,9 @@ function handleOvertimeChange(dateStr, overtimeHours) {
|
||||
endInput.value = '';
|
||||
saveEntry(endInput);
|
||||
}
|
||||
|
||||
} else if (overtimeValue > 0 && overtimeValue < fullDayHours) {
|
||||
// Weniger als ganzer Tag - füge "Überstunden" als Tätigkeit hinzu
|
||||
// Finde erste freie Activity-Spalte oder prüfe ob bereits vorhanden
|
||||
let foundOvertime = false;
|
||||
let firstEmptySlot = null;
|
||||
|
||||
for (let i = 1; i <= 5; i++) {
|
||||
const descInput = document.querySelector(`input[data-date="${dateStr}"][data-field="activity${i}_desc"]`);
|
||||
const hoursInput = document.querySelector(`input[data-date="${dateStr}"][data-field="activity${i}_hours"]`);
|
||||
|
||||
if (descInput && descInput.value && descInput.value.trim().toLowerCase() === 'überstunden') {
|
||||
foundOvertime = true;
|
||||
break; // Bereits vorhanden
|
||||
}
|
||||
|
||||
if (!firstEmptySlot && descInput && (!descInput.value || descInput.value.trim() === '')) {
|
||||
firstEmptySlot = i;
|
||||
}
|
||||
}
|
||||
|
||||
// Wenn nicht gefunden und freier Slot vorhanden, füge hinzu
|
||||
if (!foundOvertime && firstEmptySlot) {
|
||||
const descInput = document.querySelector(`input[data-date="${dateStr}"][data-field="activity${firstEmptySlot}_desc"]`);
|
||||
const hoursInput = document.querySelector(`input[data-date="${dateStr}"][data-field="activity${firstEmptySlot}_hours"]`);
|
||||
|
||||
if (descInput) {
|
||||
descInput.value = 'Überstunden';
|
||||
saveEntry(descInput);
|
||||
}
|
||||
|
||||
// Stunden bleiben unverändert (werden vom User eingegeben oder bleiben leer)
|
||||
// total_hours bleibt auch unverändert
|
||||
}
|
||||
}
|
||||
// Bei weniger als ganzer Tag oder keine Überstunden: keine weiteren Aktionen
|
||||
// Überstunden werden nur im PDF als Information angezeigt
|
||||
}
|
||||
|
||||
// Berechnet die gesetzlich erforderliche Mindestpause basierend auf der Arbeitszeit
|
||||
|
||||
Reference in New Issue
Block a user