Bankkarte-/Ausweis-Details in Vertrag + neues Feld Kartennummer

Schema: BankCard.cardNumber (String?, optional) + Migration
20260813100000_bank_card_number (ADD COLUMN IF NOT EXISTS), auf Dev
angewandt + prisma generate; Prod via migrate deploy. Eingabefeld
"Kartennummer" im Bankkarten-Modal (Kundenakte).

Vertragsansicht (ContractDetail) und Vertrag bearbeiten (ContractForm)
zeigen jetzt bei Bankkarte zusaetzlich BIC/Bank/Kartennummer/Ablaufdatum
und bei Ausweis Behoerde/Ausstellung/Ablaufdatum sowie Geburtsort +
Geburtsdatum des Kunden - jeweils mit Copy-Button und nur wenn gesetzt.
Im Form je Select in eigenem div gewrappt (Grid-Alignment).

Verifiziert: tsc + vite build gruen, cardNumber Round-Trip (update->read),
Contract-Include liefert alle Felder inkl. customer.birthDate/birthPlace.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-08-13 15:00:29 +02:00
co-authored by Claude Opus 4.8
parent f3668b8a5a
commit 0d42bd89e8
9 changed files with 124 additions and 3 deletions
+16
View File
@@ -97,6 +97,22 @@ isolierte Instanz (keine Multi-Tenancy im Code), Provisioning + Abrechnung
## ✅ Erledigt
- [x] **🪪 Bankkarte-/Ausweis-Details in Vertrag (Ansicht + Bearbeiten) + Kartennummer** (2026-08-13)
- **Schema:** neues Feld `BankCard.cardNumber` (String?, optional). Migration
`20260813100000_bank_card_number` (`ADD COLUMN IF NOT EXISTS`), auf Dev
angewandt + `prisma generate`. Prod zieht via `migrate deploy` im Entrypoint.
Eingabefeld „Kartennummer" im Bankkarten-Modal (Kundenakte) ergänzt.
- **Vertragsansicht (ContractDetail)** Karten „Bankkarte"/„Ausweis" zeigen
zusätzlich (jeweils mit Copy-Button, nur wenn gesetzt):
- Bankkarte: BIC, Bank, Kartennummer, Ablaufdatum
- Ausweis: Behörde, Ausstellung, Ablaufdatum + **Geburtsort/Geburtsdatum
vom Kunden**
- **Vertrag bearbeiten (ContractForm)** unter den Bankkarte-/Ausweis-
Dropdowns dieselben Detailfelder der aktuell gewählten Karte/Ausweis
(Copy-Buttons). Selects dafür je in eigenem `<div>` gewrappt (Grid-Alignment).
- Datenquelle war bereits vorhanden: `getContractById` (bankCard/identityDocument/
customer) + `getCustomerById` (bankCards/identityDocuments) liefern alle Felder.
- [x] **📄 PDF-Viewer-Modal für Bankkarte-/Ausweis-Dokument** (2026-08-13)
- Neue wiederverwendbare Komponente `PdfViewerModal` (Modal + `<iframe>` auf
`viewUrl(documentPath)`, inkl. „In neuem Tab" + „Herunterladen"). Nutzt den