feat(planning): gestion des statuts automatiques, suppression de spectacles et améliorations d'affichage
- Statuts camions calculés automatiquement selon les shows assignés - Gestion manuelle limitée aux statuts "En panne" et "En maintenance" - Bouton pour supprimer un spectacle directement depuis la grille ou le panneau - Ajustement de la largeur dynamique des évènements et camions dans les créneaux - Nouveau style pour les badges de statut et indices visuels des actions - Indications sur les statuts automatiques dans le formulaire camion
This commit is contained in:
@@ -62,7 +62,6 @@
|
||||
<div class="day-date">{{ date.getDate() }}</div>
|
||||
</div>
|
||||
<div class="day-slots">
|
||||
<!-- Ligne "maintenant" sur la colonne du jour actuel -->
|
||||
@if (isToday(date)) {
|
||||
<div class="now-line" [style.top.px]="getNowTopPx()"></div>
|
||||
}
|
||||
@@ -71,16 +70,20 @@
|
||||
(click)="selectDay(date)">
|
||||
@for (show of getShowsForSlot(date, hour); track show.id) {
|
||||
<div class="show-event"
|
||||
[style.top.px]="show.date ? getEventTopPx(show.date) : 0">
|
||||
[style.top.px]="show.date ? getEventTopPx(show.date) : 0"
|
||||
[style.left]="'calc(' + (show.colIndex / show.colCount * 100) + '% + 3px)'"
|
||||
[style.right]="'calc(' + ((show.colCount - show.colIndex - 1) / show.colCount * 100) + '% + 3px)'">
|
||||
<span class="show-event-name">{{ show.name }}</span>
|
||||
<span class="show-event-time" *ngIf="show.date">{{ formatShowTime(show.date) }}</span>
|
||||
</div>
|
||||
}
|
||||
@for (truck of getTrucksForSlot(date, hour); track truck.id) {
|
||||
<div class="truck-event"
|
||||
[style.top.px]="truck.showId ? 0 : 0">
|
||||
[style.top.px]="truck.showId ? 0 : 0"
|
||||
[style.left]="'calc(' + (truck.colIndex / truck.colCount * 100) + '% + 3px)'"
|
||||
[style.right]="'calc(' + ((truck.colCount - truck.colIndex - 1) / truck.colCount * 100) + '% + 3px)'">
|
||||
<span class="truck-event-name">{{ truck.type || 'Camion' }}</span>
|
||||
<span class="truck-event-statut" *ngIf="truck.statut">{{ truck.statut }}</span>
|
||||
<span class="truck-event-statut">{{ getComputedTruckStatus(truck) }}</span>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
@@ -153,7 +156,10 @@
|
||||
<div class="show-card">
|
||||
<div class="show-card-header">
|
||||
<strong>{{ show.name }}</strong>
|
||||
<span class="show-time" *ngIf="show.date">{{ formatShowTime(show.date) }}</span>
|
||||
<div style="display:flex; align-items:center; gap:6px;">
|
||||
<span class="show-time" *ngIf="show.date">{{ formatShowTime(show.date) }}</span>
|
||||
<button class="show-delete-btn" (click)="deleteShow(show.id!)">×</button>
|
||||
</div>
|
||||
</div>
|
||||
<p *ngIf="show.place">{{ show.place }}</p>
|
||||
<p *ngIf="show.description">{{ show.description }}</p>
|
||||
@@ -161,6 +167,9 @@
|
||||
@for (truck of getTrucksForShow(show.id!); track truck.id) {
|
||||
<span class="truck-tag">
|
||||
{{ truck.type }}
|
||||
<span class="truck-tag-statut" [class]="'statut-' + getComputedTruckStatus(truck).toLowerCase().replace(' ', '-')">
|
||||
{{ getComputedTruckStatus(truck) }}
|
||||
</span>
|
||||
<button class="truck-edit" (click)="openEditTruckModal(truck)">✎</button>
|
||||
<button class="truck-remove" (click)="removeTruck(truck.id!)">×</button>
|
||||
</span>
|
||||
@@ -200,7 +209,9 @@
|
||||
<div class="show-card-header">
|
||||
<strong>{{ truck.type || 'Camion' }}</strong>
|
||||
<div style="display:flex; align-items:center; gap:6px;">
|
||||
<span class="truck-statut" *ngIf="truck.statut">{{ truck.statut }}</span>
|
||||
<span class="truck-statut" [class]="'statut-' + getComputedTruckStatus(truck).toLowerCase().replace(' ', '-')">
|
||||
{{ getComputedTruckStatus(truck) }}
|
||||
</span>
|
||||
<button class="truck-edit-card" (click)="openEditTruckModal(truck)">✎</button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -212,7 +223,6 @@
|
||||
}
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -331,16 +341,15 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Statut : uniquement En panne et En maintenance sont modifiables manuellement -->
|
||||
<div class="form-field">
|
||||
<label class="form-label">Statut</label>
|
||||
<label class="form-label">Statut manuel</label>
|
||||
<select class="form-input" [(ngModel)]="newTruck.status" name="truckStatus">
|
||||
<option value="">-- Choisir un statut --</option>
|
||||
<option value="Disponible">Disponible</option>
|
||||
<option value="Indisponible">Indisponible</option>
|
||||
<option value="">-- Automatique --</option>
|
||||
<option value="En panne">En panne</option>
|
||||
<option value="En maintenance">En maintenance</option>
|
||||
<option value="En déplacement">En déplacement</option>
|
||||
</select>
|
||||
<p class="form-hint">Les statuts Disponible, Indisponible et En déplacement sont calculés automatiquement selon le show assigné.</p>
|
||||
</div>
|
||||
|
||||
<div class="form-actions">
|
||||
@@ -355,4 +364,4 @@
|
||||
</div>
|
||||
</div>
|
||||
</ng-container>
|
||||
</nz-modal>
|
||||
</nz-modal>
|
||||
|
||||
Reference in New Issue
Block a user