feat: Kundenauswahl vereinheitlicht und Job manuell beenden mit Leistungs-/Routenerfassung

- Kunden-Repository liefert auch Legacy-Dokumente ohne internal-Flag ($ne: true)
- Auftraggeber- und Abholadress-Labels über neuen CustomerAddressLabelHelper, zeigen nur Firmenname bzw. Vor-/Nachname ohne Adresszusatz
- Pickup-Dialog: E-Mail ist kein Pflichtfeld mehr
- JobManualCompleteView erhält Route-/Leistungen-/Zusammenfassung-/Bemerkung-Block mit Vorbelegung aus dem Auftrag; bei fehlenden Routendaten manuelle Eingabe von Entfernung und Dauer, die in die Preisermittlung einfliessen

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-23 17:11:08 +02:00
parent 069b829294
commit 5ac629c23d
20 changed files with 987 additions and 277 deletions

View File

@@ -242,7 +242,7 @@ page.title.appuser.create=Neuen App-Nutzer anlegen
page.title.messages=Nachrichten
page.title.register=Bei VotianLT registrieren
page.title.customers=Kunden
page.title.customer.edit=Kunde bearbeiten
page.title.customer.edit=Adresse bearbeiten
page.title.verwaltung=Verwaltung
page.title.company.create=Neue Firma anlegen
page.title.imprint=Impressum
@@ -339,13 +339,13 @@ customers.column.street=Straße
customers.column.city=Ort
# Edit Customer
editcustomer.title=Kunde bearbeiten
editcustomer.notification.notfound=Kunde nicht gefunden
editcustomer.notification.invalid.id=Ungültige Kunden-ID
editcustomer.notification.saved=Kunde erfolgreich gespeichert
editcustomer.title=Adresse bearbeiten
editcustomer.notification.notfound=Adresse nicht gefunden
editcustomer.notification.invalid.id=Ungültige Adress-ID
editcustomer.notification.saved=Adresse erfolgreich gespeichert
editcustomer.notification.check=Bitte überprüfen Sie Ihre Eingaben
editcustomer.notification.deleted=Kunde erfolgreich gelöscht
editcustomer.dialog.delete.text=Möchten Sie diesen Kunden wirklich löschen?
editcustomer.notification.deleted=Adresse erfolgreich gelöscht
editcustomer.dialog.delete.text=Möchten Sie diese Adresse wirklich löschen?
editcustomer.dialog.delete.confirm=Löschen
# Add Customer
@@ -429,9 +429,9 @@ messages.sender.unknown=Unbekannter Absender
# Add Job
addjob.title=Neuen Auftrag anlegen
addjob.customer.label=Kunde
addjob.customer.placeholder=Kunde auswählen
addjob.customer.unnamed=Unbenannter Kunde
addjob.customer.label=Auftraggeber
addjob.customer.placeholder=Auftraggeber auswählen
addjob.customer.unnamed=Unbenannter Auftraggeber
addjob.button.clearfields=Felder leeren
addjob.button.submit=Auftrag anlegen
addjob.address.salutation=Anrede
@@ -440,6 +440,10 @@ addjob.salutation.mr=Herr
addjob.salutation.ms=Frau
addjob.salutation.other=Divers
addjob.address.company.placeholder=Firma eingeben
addjob.address.pickup.label=Abholadresse
addjob.address.pickup.placeholder=Abholadresse auswählen oder eingeben
addjob.address.delivery.label=Lieferadresse
addjob.address.delivery.placeholder=Lieferadresse auswählen oder eingeben
addjob.address.street.placeholder=Straße eingeben
addjob.address.housenumber=Hausnummer
addjob.address.addition.placeholder=Adresszusatz
@@ -460,6 +464,8 @@ addjob.station.max.reached=Maximale Anzahl von 25 Lieferstationen erreicht
addjob.station.unused=Nicht genutzt
addjob.appointment.delivery.info=Liefertermine werden direkt in den Lieferstationen festgelegt.
addjob.tab.addresses=Auftraggeber & Adressen
addjob.tab.pickup.address=Auftraggeber & Abholadresse
addjob.tab.delivery.address=Lieferadresse
addjob.tab.appointments=Termine & Verarbeitung
addjob.tab.cargo=Fracht
addjob.tab.tasks=Aufgaben
@@ -621,6 +627,9 @@ jobsummary.dialog.manualcomplete.reason.required=Bitte geben Sie eine Begründun
jobsummary.dialog.manualcomplete.cancel=Abbrechen
jobsummary.dialog.manualcomplete.confirm=Akzeptiert
jobsummary.history.manualcomplete.reason=Manuell beendet
jobmanualcomplete.route.hours=Stunden
jobmanualcomplete.route.minutes=Minuten
jobmanualcomplete.route.manual.hint=Keine Routendaten vorhanden bitte Entfernung und Dauer manuell erfassen.
# Jobs
jobs.title=Aufträge