Kundenakte → Zähler: Checkbox "Zähler ohne Verträge anzeigen"
Standardmäßig werden nur Zähler angezeigt, die mindestens einem Vertrag zugeordnet sind (entweder als Hauptzähler oder über die Folgezähler-Kette). Mit der neuen Checkbox lassen sich auch verwaiste Zähler ins Listing holen – nützlich beim Aufräumen. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1296,7 +1296,17 @@ function MetersTab({
|
|||||||
onSuccess: () => queryClient.invalidateQueries({ queryKey: ['customer', customerId] }),
|
onSuccess: () => queryClient.invalidateQueries({ queryKey: ['customer', customerId] }),
|
||||||
});
|
});
|
||||||
|
|
||||||
const filtered = showInactive ? meters : meters.filter((m) => m.isActive);
|
const [showWithoutContracts, setShowWithoutContracts] = useState(false);
|
||||||
|
|
||||||
|
// Liefert true, wenn der Zähler mindestens einem Vertrag zugeordnet ist
|
||||||
|
// (entweder als Hauptzähler oder über die Folgezähler-Kette).
|
||||||
|
const hasAnyContract = (m: Meter) =>
|
||||||
|
(m.energyDetails?.some((ed) => ed.contract) ?? false)
|
||||||
|
|| (m.contractMeters?.some((cm) => cm.energyContractDetails?.contract) ?? false);
|
||||||
|
|
||||||
|
const filtered = meters
|
||||||
|
.filter((m) => showInactive ? true : m.isActive)
|
||||||
|
.filter((m) => showWithoutContracts ? true : hasAnyContract(m));
|
||||||
|
|
||||||
// Sort readings by date (newest first)
|
// Sort readings by date (newest first)
|
||||||
const getSortedReadings = (readings: any[] | undefined) => {
|
const getSortedReadings = (readings: any[] | undefined) => {
|
||||||
@@ -1329,6 +1339,15 @@ function MetersTab({
|
|||||||
/>
|
/>
|
||||||
Inaktive anzeigen
|
Inaktive anzeigen
|
||||||
</label>
|
</label>
|
||||||
|
<label className="flex items-center gap-2 text-sm">
|
||||||
|
<input
|
||||||
|
type="checkbox"
|
||||||
|
checked={showWithoutContracts}
|
||||||
|
onChange={(e) => setShowWithoutContracts(e.target.checked)}
|
||||||
|
className="rounded"
|
||||||
|
/>
|
||||||
|
Zähler ohne Verträge anzeigen
|
||||||
|
</label>
|
||||||
</div>
|
</div>
|
||||||
{canEdit && !hasDeliveryAddress && (
|
{canEdit && !hasDeliveryAddress && (
|
||||||
<div className="mb-4 p-3 bg-yellow-50 border border-yellow-200 rounded-lg text-sm text-yellow-800">
|
<div className="mb-4 p-3 bg-yellow-50 border border-yellow-200 rounded-lg text-sm text-yellow-800">
|
||||||
|
|||||||
Reference in New Issue
Block a user