Accordion-Logik und Panel-Index korrigiert, kombinierte Plus/Minus-Funktion, Tests aktualisiert
This commit is contained in:
@@ -92,7 +92,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="accordion-item">
|
||||
<button type="button" class="accordion-header header-wochentag" onclick="openAccordion(2)">
|
||||
<button type="button" class="accordion-header header-wochentag" onclick="openAccordion(1)">
|
||||
<span style="vertical-align:middle;display:inline-block;width:1.5em;">
|
||||
<!-- Kalender mit W -->
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="5" width="18" height="16" rx="4" fill="#fff" stroke="#2563eb" stroke-width="2"/><rect x="3" y="5" width="18" height="4" rx="2" fill="#2563eb"/><rect x="6" y="2" width="2" height="4" rx="1" fill="#2563eb"/><rect x="16" y="2" width="2" height="4" rx="1" fill="#2563eb"/><text x="12" y="17" text-anchor="middle" font-size="12" font-family="Segoe UI, Arial, sans-serif" fill="#2563eb" font-weight="bold">W</text></svg>
|
||||
@@ -115,101 +115,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="accordion-item">
|
||||
<button type="button" class="accordion-header header-plusminus-tage" onclick="openAccordion(3)">
|
||||
<span style="vertical-align:middle;display:inline-block;width:1.5em;">
|
||||
<!-- Kalender mit ± -->
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="5" width="18" height="16" rx="4" fill="#fff" stroke="#2563eb" stroke-width="2"/><rect x="3" y="5" width="18" height="4" rx="2" fill="#2563eb"/><rect x="6" y="2" width="2" height="4" rx="1" fill="#2563eb"/><rect x="16" y="2" width="2" height="4" rx="1" fill="#2563eb"/><text x="12" y="17" text-anchor="middle" font-size="16" font-family="Segoe UI, Arial, sans-serif" fill="#2563eb" font-weight="bold">±</text></svg>
|
||||
</span>
|
||||
Datum plus/minus X Tage
|
||||
</button>
|
||||
<div class="accordion-content">
|
||||
<form method="post">
|
||||
<label>Datum:<br>
|
||||
<span class="date-row">
|
||||
<input type="date" name="datum4" id="datum4">
|
||||
<button type="button" class="today-btn" onclick="setToday('datum4')">Heute</button>
|
||||
</span>
|
||||
</label>
|
||||
<label>Anzahl Tage:<br>
|
||||
<input type="number" name="tage4" id="tage4" style="width: 6em;">
|
||||
</label>
|
||||
<span class="date-calc-row">
|
||||
<label><input type="radio" name="richtung4" value="add" checked> addieren</label>
|
||||
<label><input type="radio" name="richtung4" value="sub"> subtrahieren</label>
|
||||
</span>
|
||||
<button name="action" value="datumsrechnung" type="submit">Berechnen</button>
|
||||
</form>
|
||||
{% if datumsrechnung is not none %}
|
||||
<div class="result">Datum <b>{{ format_date(request.form.get('datum4', '')) }}</b> {{ 'plus' if request.form.get('richtung4') == 'add' else 'minus' }} <b>{{ request.form.get('tage4', '') }}</b> Tage: {{ datumsrechnung }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="accordion-item">
|
||||
<button type="button" class="accordion-header header-plusminus-werktage" onclick="openAccordion(4)">
|
||||
<span style="vertical-align:middle;display:inline-block;width:1.5em;">
|
||||
<!-- Kalender mit ± und Mo-Fr -->
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="5" width="18" height="16" rx="4" fill="#fff" stroke="#2563eb" stroke-width="2"/><rect x="3" y="5" width="18" height="4" rx="2" fill="#2563eb"/><rect x="6" y="2" width="2" height="4" rx="1" fill="#2563eb"/><rect x="16" y="2" width="2" height="4" rx="1" fill="#2563eb"/><text x="12" y="14" text-anchor="middle" font-size="10" font-family="Segoe UI, Arial, sans-serif" fill="#2563eb" font-weight="bold">±</text><text x="12" y="20" text-anchor="middle" font-size="7" font-family="Segoe UI, Arial, sans-serif" fill="#2563eb" font-weight="bold">Mo-Fr</text></svg>
|
||||
</span>
|
||||
Datum plus/minus X Werktage
|
||||
</button>
|
||||
<div class="accordion-content">
|
||||
<form method="post">
|
||||
<label>Datum:<br>
|
||||
<span class="date-row">
|
||||
<input type="date" name="datum5" id="datum5">
|
||||
<button type="button" class="today-btn" onclick="setToday('datum5')">Heute</button>
|
||||
</span>
|
||||
</label>
|
||||
<label>Anzahl Werktage:<br>
|
||||
<input type="number" name="tage5" id="tage5" style="width: 6em;">
|
||||
</label>
|
||||
<span class="date-calc-row">
|
||||
<label><input type="radio" name="richtung5" value="add" checked> addieren</label>
|
||||
<label><input type="radio" name="richtung5" value="sub"> subtrahieren</label>
|
||||
</span>
|
||||
<button name="action" value="werktagsrechnung" type="submit">Berechnen</button>
|
||||
</form>
|
||||
{% if werktagsrechnung is not none %}
|
||||
<div class="result">Datum <b>{{ format_date(request.form.get('datum5', '')) }}</b> {{ 'plus' if request.form.get('richtung5') == 'add' else 'minus' }} <b>{{ request.form.get('tage5', '') }}</b> Werktage: {{ werktagsrechnung }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="accordion-item">
|
||||
<button type="button" class="accordion-header header-plusminus-wochenmonate" onclick="openAccordion(5)">
|
||||
<span style="vertical-align:middle;display:inline-block;width:1.5em;">
|
||||
<!-- Kalender mit ± und W/M -->
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="5" width="18" height="16" rx="4" fill="#fff" stroke="#2563eb" stroke-width="2"/><rect x="3" y="5" width="18" height="4" rx="2" fill="#2563eb"/><rect x="6" y="2" width="2" height="4" rx="1" fill="#2563eb"/><rect x="16" y="2" width="2" height="4" rx="1" fill="#2563eb"/><text x="12" y="14" text-anchor="middle" font-size="10" font-family="Segoe UI, Arial, sans-serif" fill="#2563eb" font-weight="bold">±</text><text x="12" y="20" text-anchor="middle" font-size="7" font-family="Segoe UI, Arial, sans-serif" fill="#2563eb" font-weight="bold">W/M</text></svg>
|
||||
</span>
|
||||
Datum plus/minus X Wochen/Monate
|
||||
</button>
|
||||
<div class="accordion-content">
|
||||
<form method="post">
|
||||
<label>Datum:<br>
|
||||
<span class="date-row">
|
||||
<input type="date" name="datum8" id="datum8">
|
||||
<button type="button" class="today-btn" onclick="setToday('datum8')">Heute</button>
|
||||
</span>
|
||||
</label>
|
||||
<label>Anzahl:<br>
|
||||
<input type="number" name="anzahl8" id="anzahl8" style="width: 6em;">
|
||||
</label>
|
||||
<span class="date-calc-row">
|
||||
<label><input type="radio" name="einheit8" value="wochen" checked> Wochen</label>
|
||||
<label><input type="radio" name="einheit8" value="monate"> Monate</label>
|
||||
</span>
|
||||
<span class="date-calc-row">
|
||||
<label><input type="radio" name="richtung8" value="add" checked> addieren</label>
|
||||
<label><input type="radio" name="richtung8" value="sub"> subtrahieren</label>
|
||||
</span>
|
||||
<button name="action" value="wochen_monate" type="submit">Berechnen</button>
|
||||
</form>
|
||||
{% if wochen_monate is not none %}
|
||||
<div class="result">Datum <b>{{ format_date(request.form.get('datum8', '')) }}</b> {{ 'plus' if request.form.get('richtung8') == 'add' else 'minus' }} <b>{{ request.form.get('anzahl8', '') }}</b> {{ 'Wochen' if request.form.get('einheit8') == 'wochen' else 'Monate' }}: {{ wochen_monate }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="accordion-item">
|
||||
<button type="button" class="accordion-header header-kw-datum" onclick="openAccordion(7)">
|
||||
<button type="button" class="accordion-header header-kw-datum" onclick="openAccordion(2)">
|
||||
<span style="vertical-align:middle;display:inline-block;width:1.5em;">
|
||||
<!-- Kalender mit # -->
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="5" width="18" height="16" rx="4" fill="#fff" stroke="#2563eb" stroke-width="2"/><rect x="3" y="5" width="18" height="4" rx="2" fill="#2563eb"/><rect x="6" y="2" width="2" height="4" rx="1" fill="#2563eb"/><rect x="16" y="2" width="2" height="4" rx="1" fill="#2563eb"/><text x="12" y="17" text-anchor="middle" font-size="13" font-family="Segoe UI, Arial, sans-serif" fill="#2563eb" font-weight="bold">#</text></svg>
|
||||
@@ -232,7 +138,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="accordion-item">
|
||||
<button type="button" class="accordion-header header-kw" onclick="openAccordion(6)">
|
||||
<button type="button" class="accordion-header header-kw" onclick="openAccordion(3)">
|
||||
<span style="vertical-align:middle;display:inline-block;width:1.5em;">
|
||||
<!-- Kalender mit Pfeil nach außen -->
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="5" width="18" height="16" rx="4" fill="#fff" stroke="#2563eb" stroke-width="2"/><rect x="3" y="5" width="18" height="4" rx="2" fill="#2563eb"/><rect x="6" y="2" width="2" height="4" rx="1" fill="#2563eb"/><rect x="16" y="2" width="2" height="4" rx="1" fill="#2563eb"/><path d="M7 17l5-5 5 5" stroke="#2563eb" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/><text x="12" y="12" text-anchor="middle" font-size="8" font-family="Segoe UI, Arial, sans-serif" fill="#2563eb" font-weight="bold">KW</text></svg>
|
||||
@@ -254,6 +160,46 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="accordion-item">
|
||||
<button type="button" class="accordion-header header-plusminus" onclick="openAccordion(4)">
|
||||
<span style="vertical-align:middle;display:inline-block;width:1.5em;">
|
||||
<!-- Kalender mit ± -->
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><rect x="3" y="5" width="18" height="16" rx="4" fill="#fff" stroke="#2563eb" stroke-width="2"/><rect x="3" y="5" width="18" height="4" rx="2" fill="#2563eb"/><rect x="6" y="2" width="2" height="4" rx="1" fill="#2563eb"/><rect x="16" y="2" width="2" height="4" rx="1" fill="#2563eb"/><text x="12" y="17" text-anchor="middle" font-size="16" font-family="Segoe UI, Arial, sans-serif" fill="#2563eb" font-weight="bold">±</text></svg>
|
||||
</span>
|
||||
Datum plus/minus X Tage/Wochen/Monate
|
||||
</button>
|
||||
<div class="accordion-content">
|
||||
<form method="post">
|
||||
<label>Datum:<br>
|
||||
<span class="date-row">
|
||||
<input type="date" name="datum_pm" id="datum_pm">
|
||||
<button type="button" class="today-btn" onclick="setToday('datum_pm')">Heute</button>
|
||||
</span>
|
||||
</label>
|
||||
<label>Anzahl:<br>
|
||||
<input type="number" name="anzahl_pm" id="anzahl_pm" style="width: 6em;">
|
||||
</label>
|
||||
<span class="date-calc-row">
|
||||
<label><input type="radio" name="richtung_pm" value="add" checked> addieren</label>
|
||||
<label><input type="radio" name="richtung_pm" value="sub"> subtrahieren</label>
|
||||
</span>
|
||||
<span class="date-calc-row">
|
||||
<label>Einheit:
|
||||
<select name="einheit_pm" id="einheit_pm">
|
||||
<option value="tage">Tage</option>
|
||||
<option value="wochen">Wochen</option>
|
||||
<option value="monate">Monate</option>
|
||||
</select>
|
||||
</label>
|
||||
<label style="margin-left:1em;"><input type="checkbox" name="werktage_pm" id="werktage_pm"> Nur Werktage</label>
|
||||
</span>
|
||||
<button name="action" value="plusminus" type="submit">Berechnen</button>
|
||||
</form>
|
||||
{% if plusminus_result is not none %}
|
||||
<div class="result">{{ plusminus_result }}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<footer style="text-align:center; margin-top:2em; color:#64748b; font-size:0.98em; padding-bottom:1.5em;">
|
||||
|
Reference in New Issue
Block a user