feat(objekt): letzte abgeschlossene Kontrolle je Objekt anzeigen
Bisher nirgends vermerkt/abrufbar, wann ein Objekt zuletzt komplett
kontrolliert wurde (nur roh in kontrolle.beendet_am ableitbar). Neues Feld
ObjektRead.letzte_kontrolle_am (jüngste Kontrolle mit status=abgeschlossen),
angezeigt in Objektliste und Admin-Objektsektion ("noch nie kontrolliert"
falls keine).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KC8HYvv6UkCVYheYiTw9DD
This commit is contained in:
@@ -191,3 +191,36 @@ Keine Commits in dieser Session.
|
||||
- frontend/src/pages/admin/ObjektSection.tsx | 29 ++++++++++++++++++++++++-----
|
||||
|
||||
---
|
||||
## 2026-09-05 10:40 – 10:47 (6m)
|
||||
**Beschreibung:** Claude Code Session
|
||||
**Projekt:** asb-material
|
||||
|
||||
### Commits
|
||||
Keine Commits in dieser Session.
|
||||
|
||||
### Geänderte Dateien
|
||||
- frontend/src/pages/LoginPage.tsx | 11 ++++++++++-
|
||||
|
||||
---
|
||||
## 2026-09-05 10:50 – 10:50 (0m)
|
||||
**Beschreibung:** Claude Code Session
|
||||
**Projekt:** frontend
|
||||
|
||||
### Commits
|
||||
Keine Commits in dieser Session.
|
||||
|
||||
### Geänderte Dateien
|
||||
- frontend/src/pages/LoginPage.tsx | 11 ++++++++++-
|
||||
|
||||
---
|
||||
## 2026-09-05 10:51 – 10:51 (0m)
|
||||
**Beschreibung:** Claude Code Session
|
||||
**Projekt:** frontend
|
||||
|
||||
### Commits
|
||||
Keine Commits in dieser Session.
|
||||
|
||||
### Geänderte Dateien
|
||||
- frontend/src/pages/LoginPage.tsx | 11 ++++++++++-
|
||||
|
||||
---
|
||||
|
||||
Generated
+6264
File diff suppressed because it is too large
Load Diff
@@ -7,6 +7,7 @@ export interface Objekt {
|
||||
standort_id: number;
|
||||
status: string;
|
||||
fahrzeug_id: number | null;
|
||||
letzte_kontrolle_am: string | null;
|
||||
}
|
||||
|
||||
export interface Objektposition {
|
||||
|
||||
@@ -76,6 +76,11 @@ export function ObjektListPage() {
|
||||
<span className="badge badge-neutral">{objekt.status}</span>
|
||||
</div>
|
||||
<div className="card-subtitle">{objekt.code}</div>
|
||||
<div className="text-muted" style={{ fontSize: "0.85rem" }}>
|
||||
{objekt.letzte_kontrolle_am
|
||||
? `Letzte Kontrolle: ${new Date(objekt.letzte_kontrolle_am).toLocaleDateString("de-DE")}`
|
||||
: "Noch nie kontrolliert"}
|
||||
</div>
|
||||
</Link>
|
||||
</li>
|
||||
))}
|
||||
|
||||
@@ -277,6 +277,13 @@ export function ObjektSection({
|
||||
{o.fahrzeug_id !== null && (
|
||||
<span className="text-muted"> – Fahrzeug: {objektName(o.fahrzeug_id)}</span>
|
||||
)}
|
||||
<span className="text-muted">
|
||||
{" "}
|
||||
–{" "}
|
||||
{o.letzte_kontrolle_am
|
||||
? `zuletzt kontrolliert ${new Date(o.letzte_kontrolle_am).toLocaleDateString("de-DE")}`
|
||||
: "noch nie kontrolliert"}
|
||||
</span>
|
||||
</span>
|
||||
<div className="row">
|
||||
<button
|
||||
|
||||
Reference in New Issue
Block a user