123 lines
3.8 KiB
HTML
123 lines
3.8 KiB
HTML
<!doctype html>
|
|
<html lang="de">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>qPlanner Arbeitszeit-Auswertung</title>
|
|
<link rel="stylesheet" href="style.css">
|
|
</head>
|
|
<body>
|
|
<main class="app">
|
|
<section class="hero">
|
|
<div>
|
|
<p class="eyebrow">qPlanner CSV-Auswertung</p>
|
|
<h1>Arbeitszeit-Saldo berechnen</h1>
|
|
<p class="intro">CSV-Datei hochladen, Netto-Arbeitszeiten auslesen und Plus-/Minusstunden berechnen. Samstage, Sonntage und gesetzliche Feiertage im gewählten Bundesland werden mit 0:00 Stunden Sollzeit bewertet.</p>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="settings" aria-label="Einstellungen">
|
|
<label>
|
|
Sollzeit pro Arbeitstag Montag bis Freitag
|
|
<input id="targetTime" type="time" value="08:00" step="60">
|
|
</label>
|
|
<label>
|
|
Bundesland / Feiertagsregel
|
|
<select id="federalState">
|
|
<option value="NW">Nordrhein-Westfalen</option>
|
|
<option value="BY">Bayern</option>
|
|
<option value="BY_MARIA">Bayern inkl. Mariä Himmelfahrt</option>
|
|
<option value="NI">Niedersachsen</option>
|
|
<option value="HH">Hamburg</option>
|
|
</select>
|
|
</label>
|
|
</section>
|
|
|
|
<section id="dropZone" class="drop-zone">
|
|
<input id="csvFile" type="file" accept=".csv,text/csv">
|
|
<div class="drop-content">
|
|
<strong>CSV-Datei hier ablegen</strong>
|
|
<span>oder Datei auswählen</span>
|
|
</div>
|
|
</section>
|
|
|
|
<section id="errorBox" class="error hidden"></section>
|
|
|
|
<p id="formatHint" class="format-hint"></p>
|
|
|
|
<section id="summary" class="summary hidden" aria-live="polite">
|
|
<article class="card">
|
|
<span>Arbeitstage</span>
|
|
<strong id="totalDays">0</strong>
|
|
</article>
|
|
<article class="card">
|
|
<span>Arbeitszeit gesamt</span>
|
|
<strong id="totalWork">0:00</strong>
|
|
</article>
|
|
<article class="card">
|
|
<span>Sollzeit gesamt</span>
|
|
<strong id="totalTarget">0:00</strong>
|
|
</article>
|
|
<article class="card saldo-card">
|
|
<span>Saldo gesamt</span>
|
|
<strong id="totalSaldo">±0:00</strong>
|
|
</article>
|
|
</section>
|
|
|
|
<section id="results" class="results hidden">
|
|
<div class="table-header">
|
|
<h2>Monatsübersicht</h2>
|
|
<button id="exportCsv" type="button">Ergebnis als CSV exportieren</button>
|
|
</div>
|
|
<div class="table-wrap">
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Monat</th>
|
|
<th>Arbeitstage</th>
|
|
<th>Feiertage</th>
|
|
<th>Arbeitszeit</th>
|
|
<th>Sollzeit</th>
|
|
<th>Saldo</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="monthTable"></tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<details class="details">
|
|
<summary>Tagesdetails anzeigen</summary>
|
|
<div class="table-wrap">
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Datum</th>
|
|
<th>Wochentag</th>
|
|
<th>Beginn</th>
|
|
<th>Ende</th>
|
|
<th>Arbeitszeit</th>
|
|
<th>Sollzeit</th>
|
|
<th>Saldo</th>
|
|
<th>Feiertag</th>
|
|
<th>Ruhepause</th>
|
|
<th>Warnungen</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="dayTable"></tbody>
|
|
</table>
|
|
</div>
|
|
</details>
|
|
</section>
|
|
</main>
|
|
|
|
|
|
<footer class="app-footer" aria-label="Projektinformationen">
|
|
<span id="appVersion">v0.41.1</span>
|
|
<span aria-hidden="true">•</span>
|
|
<a href="https://git.mike-lindner.net/mike/qplanner-arbeitszeit-auswertung" target="_blank" rel="noopener noreferrer">Repository</a>
|
|
</footer>
|
|
|
|
<script src="app.js"></script>
|
|
</body>
|
|
</html>
|