Vertragslisten: Karteninhaber + Mobilfunknetz + Kuendigung (rot)
Beide Vertragslisten (Kundenakte-Baum + Hauptmenue /contracts) zeigen bei Mobilfunkvertraegen mit Rufnummer jetzt zusaetzlich Karteninhaber (SimCard.cardUser der angezeigten SIM, nur wenn gesetzt) und Netz (mobileNetwork -> Telekom/Vodafone/Telefonica (o2)) inline. Vertraege mit Kuendigungsbestaetigung (cancellationConfirmationDate) bekommen eine eigene Zeile in roter, fetter Schrift. Backend: getContractTreeForCustomer + getAllContracts selektieren nun mobileNetwork + cardUser (Tree zusaetzlich cancellationConfirmationDate). Shared-Helper getContractTypeInfo um cardUser/network + mobileNetworkLabel erweitert. Beide Listen rendern ueber den Tree-Endpoint. Verifiziert: tsc + vite build gruen, Tree-Service liefert die Felder, Helper-Mapping getestet (Vodafone/Telekom/o2, leerer Karteninhaber ausgelassen). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -105,7 +105,8 @@ export async function getAllContracts(filters: ContractFilters) {
|
||||
mobileDetails: {
|
||||
select: {
|
||||
phoneNumber: true,
|
||||
simCards: { select: { phoneNumber: true, isMain: true } },
|
||||
mobileNetwork: true,
|
||||
simCards: { select: { phoneNumber: true, isMain: true, cardUser: true } },
|
||||
},
|
||||
},
|
||||
// 2026-07-04: für Vertragsauswahl-Labels brauchen wir überall
|
||||
@@ -1223,6 +1224,7 @@ export interface ContractTreeNode {
|
||||
status: ContractStatus;
|
||||
startDate: Date | null;
|
||||
endDate: Date | null;
|
||||
cancellationConfirmationDate: Date | null;
|
||||
providerName: string | null;
|
||||
tariffName: string | null;
|
||||
previousContractId: number | null;
|
||||
@@ -1233,7 +1235,8 @@ export interface ContractTreeNode {
|
||||
address?: { street: string; houseNumber: string; postalCode: string; city: string } | null;
|
||||
mobileDetails?: {
|
||||
phoneNumber: string | null;
|
||||
simCards: { phoneNumber: string | null; isMain: boolean }[];
|
||||
mobileNetwork: string | null;
|
||||
simCards: { phoneNumber: string | null; isMain: boolean; cardUser: string | null }[];
|
||||
} | null;
|
||||
carInsuranceDetails?: { licensePlate: string | null } | null;
|
||||
};
|
||||
@@ -1268,6 +1271,7 @@ export async function getContractTreeForCustomer(
|
||||
status: true,
|
||||
startDate: true,
|
||||
endDate: true,
|
||||
cancellationConfirmationDate: true,
|
||||
providerName: true,
|
||||
tariffName: true,
|
||||
previousContractId: true,
|
||||
@@ -1279,7 +1283,8 @@ export async function getContractTreeForCustomer(
|
||||
mobileDetails: {
|
||||
select: {
|
||||
phoneNumber: true,
|
||||
simCards: { select: { phoneNumber: true, isMain: true } },
|
||||
mobileNetwork: true,
|
||||
simCards: { select: { phoneNumber: true, isMain: true, cardUser: true } },
|
||||
},
|
||||
},
|
||||
carInsuranceDetails: { select: { licensePlate: true } },
|
||||
|
||||
Reference in New Issue
Block a user