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

@@ -428,9 +428,9 @@ messages.sender.unknown=Exp\u00e9diteur inconnu
# Add Job
addjob.title=Cr\u00e9er une nouvelle mission
addjob.customer.label=Client
addjob.customer.placeholder=S\u00e9lectionner un client
addjob.customer.unnamed=Client sans nom
addjob.customer.label=Donneur d'ordre
addjob.customer.placeholder=S\u00e9lectionner le donneur d'ordre
addjob.customer.unnamed=Donneur d'ordre sans nom
addjob.button.clearfields=Vider les champs
addjob.button.submit=Cr\u00e9er la mission
addjob.address.salutation=Civilit\u00e9
@@ -439,6 +439,10 @@ addjob.salutation.mr=Monsieur
addjob.salutation.ms=Madame
addjob.salutation.other=Autre
addjob.address.company.placeholder=Saisir l'entreprise
addjob.address.pickup.label=Adresse d'enl\u00e8vement
addjob.address.pickup.placeholder=S\u00e9lectionner ou saisir l'adresse d'enl\u00e8vement
addjob.address.delivery.label=Adresse de livraison
addjob.address.delivery.placeholder=S\u00e9lectionner ou saisir l'adresse de livraison
addjob.address.street.placeholder=Saisir la rue
addjob.address.housenumber=Num\u00e9ro
addjob.address.addition.placeholder=Compl\u00e9ment d'adresse
@@ -459,6 +463,8 @@ addjob.station.max.reached=Nombre maximum de 25 stations de livraison atteint
addjob.station.unused=Non utilis\u00e9e
addjob.appointment.delivery.info=Les dates de livraison sont d\u00e9finies directement dans les stations de livraison.
addjob.tab.addresses=Donneur d'ordre & adresses
addjob.tab.pickup.address=Donneur d'ordre & adresse d'enl\u00e8vement
addjob.tab.delivery.address=Adresse de livraison
addjob.tab.appointments=Rendez-vous & traitement
addjob.tab.cargo=Fret
addjob.tab.tasks=T\u00e2ches
@@ -620,6 +626,9 @@ jobsummary.dialog.manualcomplete.reason.required=Veuillez saisir un motif
jobsummary.dialog.manualcomplete.cancel=Annuler
jobsummary.dialog.manualcomplete.confirm=Accepter
jobsummary.history.manualcomplete.reason=Termin\u00e9 manuellement
jobmanualcomplete.route.hours=Heures
jobmanualcomplete.route.minutes=Minutes
jobmanualcomplete.route.manual.hint=Aucune donn\u00e9e d'itin\u00e9raire disponible \u2013 veuillez saisir la distance et la dur\u00e9e manuellement.
# Jobs
jobs.title=Missions