feat(persoenliche-ausruestung): add quantity field and article-grouped replacement flow in order dialog

This commit is contained in:
Matthias Hochmeister
2026-04-24 12:36:28 +02:00
parent 9410441ce2
commit 4ec719ad0a
15 changed files with 263 additions and 96 deletions

View File

@@ -181,6 +181,7 @@ function PersoenlicheAusruestungPage() {
<tr>
<th>Bezeichnung</th>
<th>Kategorie</th>
<th>Menge</th>
{canSeeAll && <th>Benutzer</th>}
<th>Zustand</th>
</tr>
@@ -188,7 +189,7 @@ function PersoenlicheAusruestungPage() {
<tbody>
{isLoading ? (
<tr>
<td colSpan={canSeeAll ? 4 : 3}>
<td colSpan={canSeeAll ? 5 : 4}>
<Typography color="text.secondary" sx={{ py: 4, textAlign: 'center' }}>
Lade Daten
</Typography>
@@ -196,7 +197,7 @@ function PersoenlicheAusruestungPage() {
</tr>
) : filtered.length === 0 ? (
<tr>
<td colSpan={canSeeAll ? 4 : 3}>
<td colSpan={canSeeAll ? 5 : 4}>
<Box sx={{ display: 'flex', flexDirection: 'column', alignItems: 'center', py: 6 }}>
<CheckroomIcon sx={{ fontSize: 48, color: 'text.disabled', mb: 1 }} />
<Typography color="text.secondary">
@@ -236,6 +237,9 @@ function PersoenlicheAusruestungPage() {
? `${item.artikel_kategorie_parent_name} > ${item.artikel_kategorie_name}`
: item.artikel_kategorie_name ?? item.kategorie ?? '—'}</Typography>
</td>
<td>
{item.menge > 1 && <Chip label={`${item.menge}x`} size="small" variant="outlined" />}
</td>
{canSeeAll && (
<td>
<Typography variant="body2">