feat(back-end and front-end): back-office

This commit is contained in:
2026-02-27 15:07:32 +01:00
parent 65e1ee3be6
commit 949770a741
38 changed files with 2558 additions and 345 deletions

View File

@@ -0,0 +1,43 @@
<section class="section-card">
<header class="section-header">
<div>
<h2>Stock filamenti</h2>
<p>Monitoraggio quantità disponibili per variante.</p>
</div>
<button type="button" (click)="loadStock()" [disabled]="loading">Aggiorna</button>
</header>
<p class="error" *ngIf="errorMessage">{{ errorMessage }}</p>
<div class="table-wrap" *ngIf="!loading; else loadingTpl">
<table>
<thead>
<tr>
<th>Materiale</th>
<th>Variante</th>
<th>Colore</th>
<th>Spool</th>
<th>Kg totali</th>
<th>Stato</th>
</tr>
</thead>
<tbody>
<tr *ngFor="let row of rows">
<td>{{ row.materialCode }}</td>
<td>{{ row.variantDisplayName }}</td>
<td>{{ row.colorName }}</td>
<td>{{ row.stockSpools | number:'1.0-3' }}</td>
<td>{{ row.stockKg | number:'1.0-3' }} kg</td>
<td>
<span class="badge low" *ngIf="isLowStock(row)">Basso</span>
<span class="badge ok" *ngIf="!isLowStock(row)">OK</span>
</td>
</tr>
</tbody>
</table>
</div>
</section>
<ng-template #loadingTpl>
<p>Caricamento stock...</p>
</ng-template>