added getall and delete functions for deliverynote page
This commit is contained in:
@@ -1,6 +1,4 @@
|
||||
import { Component } from '@angular/core';
|
||||
import {DeliveryNoteInfo} from "../../interfaces/delivery-note.interface";
|
||||
import {ProductTable} from "../product-table/product-table";
|
||||
import {Component, inject, OnInit, signal} from '@angular/core';
|
||||
import {DatePipe} from "@angular/common";
|
||||
import {ModalButton} from "../modal-button/modal-button";
|
||||
import {ModalNav} from "../modal-nav/modal-nav";
|
||||
@@ -8,6 +6,9 @@ import {NzDividerComponent} from "ng-zorro-antd/divider";
|
||||
import {NzIconDirective} from "ng-zorro-antd/icon";
|
||||
import {NzTableComponent} from "ng-zorro-antd/table";
|
||||
import {DelivereryNoteForm} from "../deliverery-note-form/deliverery-note-form";
|
||||
import {DeliverynotesService, GetDeliveryNoteDto} from "../../services/api";
|
||||
import {NzNotificationService} from "ng-zorro-antd/notification";
|
||||
import {firstValueFrom} from "rxjs";
|
||||
|
||||
@Component({
|
||||
selector: 'app-deliverery-note-table',
|
||||
@@ -23,135 +24,48 @@ import {DelivereryNoteForm} from "../deliverery-note-form/deliverery-note-form";
|
||||
templateUrl: './deliverery-note-table.html',
|
||||
styleUrl: './deliverery-note-table.css',
|
||||
})
|
||||
export class DelivereryNoteTable {
|
||||
deliveryNotes: DeliveryNoteInfo[] = [
|
||||
{
|
||||
trackingNumber: 'DLV-1000',
|
||||
deliverer: 'Transporteur 1',
|
||||
estimateDeliveryDate: new Date('2025-11-20'),
|
||||
expeditionDate: new Date('2025-11-15'),
|
||||
realDeliveryDate: new Date('2025-11-19'),
|
||||
productDelivery: [
|
||||
{ product: ProductTable.listOfProducts[0], quantity: 5 },
|
||||
{ product: ProductTable.listOfProducts[1], quantity: 3 },
|
||||
{ product: ProductTable.listOfProducts[2], quantity: 7 },
|
||||
],
|
||||
},
|
||||
{
|
||||
trackingNumber: 'DLV-1001',
|
||||
deliverer: 'Transporteur 1',
|
||||
estimateDeliveryDate: new Date('2025-11-22'),
|
||||
expeditionDate: new Date('2025-11-16'),
|
||||
realDeliveryDate: new Date('2025-11-21'),
|
||||
productDelivery: [
|
||||
{ product: ProductTable.listOfProducts[3], quantity: 2 },
|
||||
{ product: ProductTable.listOfProducts[4], quantity: 4 },
|
||||
{ product: ProductTable.listOfProducts[5], quantity: 6 },
|
||||
],
|
||||
},
|
||||
{
|
||||
trackingNumber: 'DLV-1002',
|
||||
deliverer: 'Transporteur 2',
|
||||
estimateDeliveryDate: new Date('2025-11-23'),
|
||||
expeditionDate: new Date('2025-11-17'),
|
||||
realDeliveryDate: new Date('2025-11-22'),
|
||||
productDelivery: [
|
||||
{ product: ProductTable.listOfProducts[6], quantity: 3 },
|
||||
{ product: ProductTable.listOfProducts[7], quantity: 8 },
|
||||
{ product: ProductTable.listOfProducts[8], quantity: 5 },
|
||||
],
|
||||
},
|
||||
{
|
||||
trackingNumber: 'DLV-1003',
|
||||
deliverer: 'Transporteur 2',
|
||||
estimateDeliveryDate: new Date('2025-11-24'),
|
||||
expeditionDate: new Date('2025-11-18'),
|
||||
realDeliveryDate: new Date('2025-11-23'),
|
||||
productDelivery: [
|
||||
{ product: ProductTable.listOfProducts[9], quantity: 4 },
|
||||
{ product: ProductTable.listOfProducts[10], quantity: 6 },
|
||||
{ product: ProductTable.listOfProducts[11], quantity: 7 },
|
||||
],
|
||||
},
|
||||
{
|
||||
trackingNumber: 'DLV-1004',
|
||||
deliverer: 'Transporteur 3',
|
||||
estimateDeliveryDate: new Date('2025-11-25'),
|
||||
expeditionDate: new Date('2025-11-19'),
|
||||
realDeliveryDate: new Date('2025-11-24'),
|
||||
productDelivery: [
|
||||
{ product: ProductTable.listOfProducts[12], quantity: 2 },
|
||||
{ product: ProductTable.listOfProducts[13], quantity: 5 },
|
||||
{ product: ProductTable.listOfProducts[14], quantity: 6 },
|
||||
],
|
||||
},
|
||||
{
|
||||
trackingNumber: 'DLV-1005',
|
||||
deliverer: 'Transporteur 3',
|
||||
estimateDeliveryDate: new Date('2025-11-26'),
|
||||
expeditionDate: new Date('2025-11-20'),
|
||||
realDeliveryDate: new Date('2025-11-25'),
|
||||
productDelivery: [
|
||||
{ product: ProductTable.listOfProducts[15], quantity: 3 },
|
||||
{ product: ProductTable.listOfProducts[16], quantity: 7 },
|
||||
{ product: ProductTable.listOfProducts[17], quantity: 4 },
|
||||
],
|
||||
},
|
||||
{
|
||||
trackingNumber: 'DLV-1006',
|
||||
deliverer: 'Transporteur 4',
|
||||
estimateDeliveryDate: new Date('2025-11-27'),
|
||||
expeditionDate: new Date('2025-11-21'),
|
||||
realDeliveryDate: new Date('2025-11-26'),
|
||||
productDelivery: [
|
||||
{ product: ProductTable.listOfProducts[18], quantity: 5 },
|
||||
{ product: ProductTable.listOfProducts[19], quantity: 6 },
|
||||
{ product: ProductTable.listOfProducts[20], quantity: 7 },
|
||||
],
|
||||
},
|
||||
{
|
||||
trackingNumber: 'DLV-1007',
|
||||
deliverer: 'Transporteur 4',
|
||||
estimateDeliveryDate: new Date('2025-11-28'),
|
||||
expeditionDate: new Date('2025-11-22'),
|
||||
realDeliveryDate: new Date('2025-11-27'),
|
||||
productDelivery: [
|
||||
{ product: ProductTable.listOfProducts[21], quantity: 3 },
|
||||
{ product: ProductTable.listOfProducts[22], quantity: 5 },
|
||||
{ product: ProductTable.listOfProducts[23], quantity: 4 },
|
||||
],
|
||||
},
|
||||
{
|
||||
trackingNumber: 'DLV-1008',
|
||||
deliverer: 'Transporteur 5',
|
||||
estimateDeliveryDate: new Date('2025-11-29'),
|
||||
expeditionDate: new Date('2025-11-23'),
|
||||
realDeliveryDate: new Date('2025-11-28'),
|
||||
productDelivery: [
|
||||
{ product: ProductTable.listOfProducts[24], quantity: 6 },
|
||||
{ product: ProductTable.listOfProducts[25], quantity: 7 },
|
||||
{ product: ProductTable.listOfProducts[26], quantity: 3 },
|
||||
],
|
||||
},
|
||||
{
|
||||
trackingNumber: 'DLV-1009',
|
||||
deliverer: 'Transporteur 5',
|
||||
estimateDeliveryDate: new Date('2025-11-30'),
|
||||
expeditionDate: new Date('2025-11-24'),
|
||||
realDeliveryDate: new Date('2025-11-29'),
|
||||
productDelivery: [
|
||||
{ product: ProductTable.listOfProducts[27], quantity: 5 },
|
||||
{ product: ProductTable.listOfProducts[28], quantity: 4 },
|
||||
{ product: ProductTable.listOfProducts[29], quantity: 6 },
|
||||
],
|
||||
},
|
||||
];
|
||||
export class DelivereryNoteTable implements OnInit {
|
||||
private DeliveryNotesService = inject(DeliverynotesService);
|
||||
private notificationService = inject(NzNotificationService)
|
||||
deliveryNotes = signal<GetDeliveryNoteDto[]>([]);
|
||||
deliveryNotesLoading = signal<boolean>(false);
|
||||
|
||||
delete() {
|
||||
return
|
||||
async ngOnInit() {
|
||||
await this.fetchDeliveryNotes();
|
||||
}
|
||||
|
||||
export() {
|
||||
async fetchDeliveryNotes() {
|
||||
this.deliveryNotesLoading.set(true)
|
||||
|
||||
try {
|
||||
const deliveryNotes = await firstValueFrom(this.DeliveryNotesService.getAllDeliveryNoteEndpoint())
|
||||
this.deliveryNotes.set(deliveryNotes);
|
||||
} catch (e) {
|
||||
this.notificationService.error(
|
||||
'Erreur',
|
||||
'Erreur de communication avec l\'API'
|
||||
)
|
||||
}
|
||||
this.deliveryNotesLoading.set(false)
|
||||
}
|
||||
|
||||
async delete(deliveryNote:number) {
|
||||
try {
|
||||
await firstValueFrom(this.DeliveryNotesService.deleteDeliveryNoteEndpoint(deliveryNote));
|
||||
this.notificationService.success(
|
||||
'Success',
|
||||
'Suppression effectuée'
|
||||
)
|
||||
} catch (e) {
|
||||
this.notificationService.error(
|
||||
'Erreur',
|
||||
'Impossible de supprimer la ligne'
|
||||
)
|
||||
}
|
||||
await this.fetchDeliveryNotes();
|
||||
}
|
||||
|
||||
export(deliveryNote: number) {
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user