From 35f1909ca0b152a63d4fb6d8202d2e25909cc239 Mon Sep 17 00:00:00 2001 From: sanchezvem Date: Thu, 11 Dec 2025 17:19:48 +0100 Subject: [PATCH] update delivery note form --- .../deliverery-note-form.ts | 16 +++++++ .../deliverery-note-table.html | 7 +++ .../deliverery-note-table.ts | 48 ++++++++++++++++++- 3 files changed, 70 insertions(+), 1 deletion(-) 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 67e5e35..648db49 100644 --- a/src/app/components/deliverery-note-form/deliverery-note-form.ts +++ b/src/app/components/deliverery-note-form/deliverery-note-form.ts @@ -55,4 +55,20 @@ export class DelivereryNoteForm implements OnInit { filter(input: string, option: any) { return option.nzLabel.toLowerCase().includes(input.toLowerCase()); } + + deliveryNote= input(); + constructor() { + effect(() => { + if (this.deliveryNote()) { + this.deliveryNoteForm.patchValue({ + trackingNumber: this.deliveryNote().trackingNumber, + expeditionDate: this.deliveryNote().expeditionDate, + realDeliveryDate: this.deliveryNote().expeditionDate, + estimatedDate: this.deliveryNote().expeditionDate, + deliverer: this.deliveryNote().delivererId + }); + } + }); + } + } 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 1c164ca..c16ebd3 100644 --- a/src/app/components/deliverery-note-table/deliverery-note-table.html +++ b/src/app/components/deliverery-note-table/deliverery-note-table.html @@ -50,6 +50,8 @@
+ + @@ -60,3 +62,8 @@ + diff --git a/src/app/components/deliverery-note-table/deliverery-note-table.ts b/src/app/components/deliverery-note-table/deliverery-note-table.ts index d5b093d..b86fc39 100644 --- a/src/app/components/deliverery-note-table/deliverery-note-table.ts +++ b/src/app/components/deliverery-note-table/deliverery-note-table.ts @@ -108,7 +108,6 @@ export class DelivereryNoteTable implements OnInit { ); this.fileService.downloadBlob(pdf) } catch (e) { - console.error(e); this.notificationService.error( 'Erreur', 'Impossible de générer un PDF' @@ -116,4 +115,51 @@ export class DelivereryNoteTable implements OnInit { } this.deliveryNotesLoading.set(false) } + + selectedDeliveryNote: GetDeliveryNoteDto | null = null; + openEditModal(deliveryNote: GetDeliveryNoteDto) { + this.selectedDeliveryNote = { ...deliveryNote }; + this.modal().showModal(); + } + + async onModalOk(id: number, updateDelivereryNoteComponent: DelivereryNoteForm, modal: ModalNav) { + if (!this.selectedDeliveryNote) return; + + await this.edit(id, updateDelivereryNoteComponent); + updateDelivereryNoteComponent.deliveryNoteForm.reset(); + modal.isVisible = false; + await this.fetchDeliveryNotes(); + } + + onModalCancel(modal: ModalNav) { + modal.isVisible = false; + } + + async edit(id: number, updateDelivereryNoteComponent: DelivereryNoteForm) { + if (updateDelivereryNoteComponent.deliveryNoteForm.invalid) { + this.notificationService.error( + 'Erreur', + 'Erreur d\'écriture dans le formulaire' + ) + return; + } + + try { + + const deliveryNotes = updateDelivereryNoteComponent.deliveryNoteForm.getRawValue(); + await firstValueFrom(this.deliveryNotesService.updateDeliveryNoteEndpoint(id, deliveryNotes)) + + this.notificationService.success( + 'Success', + 'Bon de livraison modifié' + ) + } catch (e) { + console.error(e); + this.notificationService.error( + 'Erreur', + 'Erreur lors de la modification' + ) + } + + } }