From 4dd1d7e81d25255e7379a84eec4d422067d1948d Mon Sep 17 00:00:00 2001 From: sanchezvem Date: Tue, 26 May 2026 14:57:36 +0100 Subject: [PATCH] Fixed error with estimateDeliveryDate in form to update the raw --- .../deliverery-note-form.html | 3 +-- .../deliverery-note-form.ts | 11 +++----- .../deliverery-note-table.html | 10 +++++++ .../deliverery-note-table.ts | 27 ++++++------------- src/app/services/api/README.md | 6 ++--- 5 files changed, 26 insertions(+), 31 deletions(-) diff --git a/src/app/components/deliverery-note-form/deliverery-note-form.html b/src/app/components/deliverery-note-form/deliverery-note-form.html index f398eea..770423f 100644 --- a/src/app/components/deliverery-note-form/deliverery-note-form.html +++ b/src/app/components/deliverery-note-form/deliverery-note-form.html @@ -5,8 +5,7 @@ - + @for (deliverer of deliverers(); track deliverer.id) { } diff --git a/src/app/components/deliverery-note-form/deliverery-note-form.ts b/src/app/components/deliverery-note-form/deliverery-note-form.ts index 6cff67f..266a789 100644 --- a/src/app/components/deliverery-note-form/deliverery-note-form.ts +++ b/src/app/components/deliverery-note-form/deliverery-note-form.ts @@ -31,14 +31,17 @@ export class DelivereryNoteForm implements OnInit { trackingNumber: new FormControl(null), delivererId: new FormControl(null, [Validators.required]), expeditionDate: new FormControl(null, [Validators.required]), - estimatedDate: new FormControl(null), + estimatedDate: new FormControl(null, [Validators.required]), realDeliveryDate: new FormControl(null) }) private deliverersService = inject(DeliverersService); private notificationService = inject(NzNotificationService); + deliverers = signal([]); + deliveryNote = input(); + async fetchDeliverers() { try { const deliverers = await firstValueFrom(this.deliverersService.getAllDelivererEndpoint()); @@ -52,12 +55,6 @@ export class DelivereryNoteForm implements OnInit { await this.fetchDeliverers(); } - filter(input: string, option: any) { - return option.nzLabel.toLowerCase().includes(input.toLowerCase()); - } - - deliveryNote = input(); - constructor() { effect(() => { if (this.deliveryNote()) { diff --git a/src/app/components/deliverery-note-table/deliverery-note-table.html b/src/app/components/deliverery-note-table/deliverery-note-table.html index bf0788a..daca5a9 100644 --- a/src/app/components/deliverery-note-table/deliverery-note-table.html +++ b/src/app/components/deliverery-note-table/deliverery-note-table.html @@ -9,6 +9,7 @@ Date d'expédition Date de livraison estimée Date de livraison réelle + Statut Action @@ -20,6 +21,15 @@ {{ deliveryNote.expeditionDate | date: 'dd/MM/yyyy' }} {{ deliveryNote.estimateDeliveryDate | date: 'dd/MM/yyyy' }} {{ deliveryNote.realDeliveryDate | date: 'dd/MM/yyyy' }} + + @if (deliveryNote.estimateDeliveryDate >= date && deliveryNote.realDeliveryDate == null) { +

En cours

+ } @else if (deliveryNote.realDeliveryDate == null) { +

En retard

+ } @else { +

Terminée

+ } +
(false); modal = viewChild.required('modalNav'); + date: string = ""; + async ngOnInit() { await this.fetchDeliveryNotes(); + this.date = new Date().toISOString().split('T')[0]; } async fetchDeliveryNotes() { @@ -123,34 +126,20 @@ export class DelivereryNoteTable implements OnInit { try { const raw = updateDelivereryNoteComponent.deliveryNoteForm.getRawValue(); - // convertit proprement les dates (string OU Date) - const toIso = (val: any) => { - if (!val) return null; + const toIso = (val: any) => + val ? new Date(val).toISOString().substring(0, 10) : null; - // si c’est déjà un string ISO "yyyy-MM-dd", on renvoie tel quel - if (typeof val === 'string' && /^\d{4}-\d{2}-\d{2}/.test(val)) { - return val.substring(0, 10); - } - - // sinon on reconstruit une Date - const d = new Date(val); - if (isNaN(d.getTime())) return null; - - return d.toISOString().substring(0, 10); // yyyy-MM-dd - }; - - const deliveryNoteDto = { + const deliveryNoteDto: UpdateDeliveryNoteDto = { trackingNumber: raw.trackingNumber, delivererId: raw.delivererId, expeditionDate: toIso(raw.expeditionDate), - estimatedDate: toIso(raw.estimatedDate), + estimateDeliveryDate: toIso(raw.estimatedDate), realDeliveryDate: toIso(raw.realDeliveryDate) }; await firstValueFrom(this.deliveryNotesService.updateDeliveryNoteEndpoint(id, deliveryNoteDto)); this.notificationService.success('Success', 'Bon de livraison modifié'); } catch (e) { - console.error(e); this.notificationService.error('Erreur', 'Erreur lors de la modification'); } } diff --git a/src/app/services/api/README.md b/src/app/services/api/README.md index 29f22fe..4d71313 100644 --- a/src/app/services/api/README.md +++ b/src/app/services/api/README.md @@ -59,9 +59,9 @@ In your Angular project: ```typescript -import { ApplicationConfig } from '@angular/core'; -import { provideHttpClient } from '@angular/common/http'; -import { provideApi } from ''; +import {ApplicationConfig} from '@angular/core'; +import {provideHttpClient} from '@angular/common/http'; +import {provideApi} from ''; export const appConfig: ApplicationConfig = { providers: [