agent and tpe save done

This commit is contained in:
OnlyPapy98
2026-01-06 14:07:09 +01:00
parent 95095016d2
commit 0ae7fa316e
33 changed files with 1910 additions and 525 deletions

View File

@@ -159,7 +159,7 @@
<!-- Agent Assignment Modal -->
<app-modal
[open]="assignModalOpen()"
[title]="'Assigner le TPE ' + (assigningTpe()?.imei || '')"
[title]="'Assigner le TPE ' + (assigningTpe()?.numeroSerie || '')"
(close)="closeAssignModal()"
size="md"
>

View File

@@ -26,6 +26,7 @@ import { ZardSelectItemComponent } from '@shared/components/select/select-item.c
import { ZardFormModule } from '@shared/components/form/form.module';
import { forkJoin, Subject } from 'rxjs';
import { debounceTime, distinctUntilChanged, switchMap } from 'rxjs/operators';
import { toast } from 'ngx-sonner';
@Component({
standalone: true,
@@ -105,11 +106,12 @@ export class TpePage implements OnInit {
key: 'assigne',
label: 'Assigné à',
cell: (d) => {
if (!d.assigne || !d.agent) {
if (!d.agentConnecteId) {
return '<span class="text-muted-foreground text-sm">Non assigné</span>';
}
const agent = d.agent;
const code = agent.code
// a rectifier apres avec les données des agents!
const agent = {} as any;
const code = agent?.code
? `<span class="inline-flex items-center px-2 py-1 rounded bg-primary/10 text-primary text-xs font-medium">${agent.code}</span>`
: '';
const name =
@@ -135,15 +137,8 @@ export class TpePage implements OnInit {
];
allStatuses: TpeStatus[] = [
'VALIDE',
'INVALIDE',
'EN_PANNE',
'BLOQUE',
'DISPONIBLE',
'AFFECTE',
'EN_MAINTENANCE',
'HORS_SERVICE',
'VOLE',
'ACTIF',
'HORS_SERVICE'
];
constructor(private api: TpeService, private agentService: AgentService) {
@@ -326,7 +321,7 @@ export class TpePage implements OnInit {
}
onUpdateStatut(row: TpeDevice, newStatut: TpeStatus) {
if (!confirm(`Changer le statut de ${row.imei} vers ${this.formatStatut(newStatut)} ?`)) return;
if (!confirm(`Changer le statut de ${row.numeroSerie} vers ${this.formatStatut(newStatut)} ?`)) return;
this.api.updateStatut(row.id, newStatut).subscribe({
next: () => {
this.fetch({
@@ -342,7 +337,7 @@ export class TpePage implements OnInit {
}
onLiberer(row: TpeDevice) {
if (!confirm(`Libérer le TPE ${row.imei} ?`)) return;
if (!confirm(`Libérer le TPE ${row.numeroSerie} ?`)) return;
this.api.liberer(row.id).subscribe({
next: () => {
this.fetch({
@@ -440,6 +435,7 @@ export class TpePage implements OnInit {
: this.api.create(payload as Omit<TpeDevice, 'id'>);
req$.subscribe({
next: (result) => {
toast.success('Tpe créé avec succès!')
// For update, check if result is valid (update can return undefined on error)
if (current?.id && !result) {
console.error('Update failed - result is undefined');
@@ -472,7 +468,7 @@ export class TpePage implements OnInit {
}
remove(row: TpeDevice) {
if (!confirm(`Supprimer l\'équipement IMEI ${row.imei} ?`)) return;
if (!confirm(`Supprimer l\'équipement IMEI ${row.numeroSerie} ?`)) return;
this.api.delete(row.id).subscribe(() => {
this.fetch({
page: this.page(),