Compare commits

..

No commits in common. "fdd0ab163d31fe0f53aaef4dfb46bb9a05b53432" and "9e5b531ae539eb786118600956dd32aac37efbc7" have entirely different histories.

View file

@ -38,17 +38,6 @@ Mobile Progressive Web App für die Baustellen-Doku — Foto-Upload, Sprachnotiz
- ✅ Bericht finalisieren → PDF-Vorschau - ✅ Bericht finalisieren → PDF-Vorschau
- ✅ PDF-Download - ✅ PDF-Download
**Lieferungen + Kundenunterschrift**
- ✅ Lieferungen-Liste pro Auftrag mit Status + Signed-Badge
- ✅ Lieferschein-PDF inline (PDF.js, alle Seiten)
- ✅ Vollbild-Querformat-Unterschrift mit HiDPI-Canvas, transparent (kein Hintergrund)
- ✅ Trimmt Canvas automatisch auf bemalte Fläche
- ✅ Name des Unterzeichners aus Kundendaten vorausgefüllt
- ✅ GPS-Koordinaten (optional, timeout 3s)
- ✅ Unterschrift wird via ODT-Hook in das Lieferschein-PDF gestempelt
- ✅ Expedition wird nach Unterschrift automatisch validiert + geschlossen
- ✅ Signed-PDF direkt nach Bestätigung als Vorschau
**Materialliste** **Materialliste**
- ✅ Material pro Auftrag erfassen (Label, Menge, Einheit, Notiz) - ✅ Material pro Auftrag erfassen (Label, Menge, Einheit, Notiz)
- ✅ Material löschen - ✅ Material löschen
@ -125,12 +114,6 @@ Die App spricht die Bericht-API unter `/custom/bericht/api/`:
- `POST /materials.php?element_type=X&element_id=Y` — Material hinzufügen - `POST /materials.php?element_type=X&element_id=Y` — Material hinzufügen
- `POST /materials.php?id=X&delete=1` — Material löschen - `POST /materials.php?id=X&delete=1` — Material löschen
**Lieferungen**
- `GET /shipments.php?order_id=X` — Lieferungen zu einem Auftrag
- `GET /shipments.php?id=X` — Lieferung-Detail (inkl. bericht_id falls Unterschrift vorhanden)
- `GET /shipments.php?id=X&action=pdf[&variant=auto|signed|unsigned]` — Lieferschein-PDF
- `POST /shipments.php?id=X&action=confirm` — Kunden-Unterschrift einstempeln (FormData mit signature_png, signer_name, gps_lat, gps_lon, signed_at). Backend setzt signed_status=1 und schließt die Expedition
**Medien** **Medien**
- `GET /photo.php?relpath=X&jwt=Y` — Foto abrufen (mit Thumbnail: `&size=thumb`) - `GET /photo.php?relpath=X&jwt=Y` — Foto abrufen (mit Thumbnail: `&size=thumb`)
- `POST /delete_photo.php` — Foto löschen - `POST /delete_photo.php` — Foto löschen