v1.34: Eigenobjekt-Kennzeichen, Belegzuordnung nutzt Mietobjekt-Adresse; Ticket-Delete Fix
This commit is contained in:
+34
-1
@@ -73,6 +73,7 @@ function HausDialog({ haus }: { haus?: Building }) {
|
||||
haus?.grundstuecksflaeche != null ? String(haus.grundstuecksflaeche).replace('.', ',') : '',
|
||||
)
|
||||
const [heizungsart, setHeizungsart] = useState(haus?.heizungsart ?? '')
|
||||
const [eigenobjekt, setEigenobjekt] = useState(haus?.eigenobjekt ?? false)
|
||||
const [sende, setSende] = useState(false)
|
||||
const [fehler, setFehler] = useState<string | null>(null)
|
||||
|
||||
@@ -97,6 +98,7 @@ function HausDialog({ haus }: { haus?: Building }) {
|
||||
wohnflaeche: zahl(wohnflaeche),
|
||||
grundstuecksflaeche: grundstuecksflaeche.trim() ? zahl(grundstuecksflaeche) : null,
|
||||
heizungsart,
|
||||
eigenobjekt,
|
||||
}
|
||||
const err = bearbeiten ? await updateHaus(haus!.name, payload) : await addHaus(payload)
|
||||
setSende(false)
|
||||
@@ -157,6 +159,25 @@ function HausDialog({ haus }: { haus?: Building }) {
|
||||
<Feld id="h-wohnfl" label="Wohnfläche gesamt (m²)" inputMode="decimal" placeholder="z. B. 980" value={wohnflaeche} onChange={(e) => setWohnflaeche(e.target.value)} />
|
||||
<Feld id="h-grundfl" label="Grundstücksfläche (m²)" hint="Optional" inputMode="decimal" placeholder="z. B. 1.250" value={grundstuecksflaeche} onChange={(e) => setGrundstuecksflaeche(e.target.value)} />
|
||||
</Abschnitt>
|
||||
<Abschnitt titel="Zuordnung Belege">
|
||||
<label className="flex cursor-pointer items-start gap-2.5 text-sm">
|
||||
<input
|
||||
id="h-eigenobjekt"
|
||||
type="checkbox"
|
||||
checked={eigenobjekt}
|
||||
onChange={(e) => setEigenobjekt(e.target.checked)}
|
||||
className="mt-0.5 h-4 w-4 rounded border-slate-300 accent-teal-600"
|
||||
/>
|
||||
<span>
|
||||
<span className="font-medium text-slate-800 dark:text-slate-100">Eigenobjekt / Rechnungsempfänger</span>
|
||||
<span className="block text-xs text-slate-500 dark:text-slate-400">
|
||||
Diese Adresse steht auf eingehenden Rechnungen als Empfänger (z. B. die eigene Verwaltungsadresse).
|
||||
Eigenobjekte werden bei der automatischen Beleg-Zuordnung übersprungen – die Zuordnung erfolgt dann
|
||||
über die Adresse bzw. Stromzählernummer des Mietobjekts.
|
||||
</span>
|
||||
</span>
|
||||
</label>
|
||||
</Abschnitt>
|
||||
{fehler && (
|
||||
<div className="rounded-lg bg-red-50 px-3 py-2 text-sm text-red-700 dark:bg-red-950 dark:text-red-300" role="alert">
|
||||
{fehler}
|
||||
@@ -530,6 +551,11 @@ export default function Bestand() {
|
||||
· Grundstück {h.grundstuecksflaeche.toLocaleString('de-DE')} m²
|
||||
</span>
|
||||
)}
|
||||
{h.eigenobjekt && (
|
||||
<Badge variant="secondary" className="bg-sky-100 text-sky-800 dark:bg-sky-950 dark:text-sky-300">
|
||||
Eigenobjekt
|
||||
</Badge>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -635,7 +661,14 @@ export default function Bestand() {
|
||||
<td className="px-3 py-2.5 text-slate-400">
|
||||
{aufgeklappt ? <ChevronDown className="h-4 w-4" /> : <ChevronRight className="h-4 w-4" />}
|
||||
</td>
|
||||
<td className="px-3 py-2.5 font-medium text-slate-800 dark:text-slate-100">{h.adresse}</td>
|
||||
<td className="px-3 py-2.5 font-medium text-slate-800 dark:text-slate-100">
|
||||
{h.adresse}
|
||||
{h.eigenobjekt && (
|
||||
<Badge variant="secondary" className="ml-2 bg-sky-100 text-sky-800 dark:bg-sky-950 dark:text-sky-300">
|
||||
Eigenobjekt
|
||||
</Badge>
|
||||
)}
|
||||
</td>
|
||||
<td className="hidden px-3 py-2.5 text-slate-500 dark:text-slate-400 md:table-cell">{h.lage || '–'}</td>
|
||||
<td className="hidden px-3 py-2.5 text-slate-500 dark:text-slate-400 sm:table-cell">{h.baujahr}</td>
|
||||
<td className="hidden px-3 py-2.5 text-slate-500 dark:text-slate-400 lg:table-cell">{h.stockwerke}</td>
|
||||
|
||||
@@ -142,6 +142,9 @@ export interface Building {
|
||||
grundstuecksflaeche: number | null // in m², optional
|
||||
/** Heizungsart des Hauses (Dropdown, '' = nicht angegeben) */
|
||||
heizungsart: string
|
||||
/** Eigenobjekt (z. B. Rechnungsempfänger-Adresse der Verwaltung) –
|
||||
* wird von der automatischen Beleg-Zuordnung ausgeschlossen */
|
||||
eigenobjekt: boolean
|
||||
}
|
||||
|
||||
/** Formular-Daten für Neuanlage/Bearbeitung (Name/Adresse entfallen). */
|
||||
|
||||
Reference in New Issue
Block a user