4 Commits
test ... Jens

Author SHA1 Message Date
Jens Cornelsen
87c09e1cf0 Kühlungszuschlag repariert 2025-04-11 10:28:16 +02:00
Jens Cornelsen
4978743b32 Style Dashboard 2025-04-10 21:20:57 +02:00
Jens Cornelsen
856c194a02 Dashboard Mockup 2025-04-10 00:18:13 +02:00
Jens Cornelsen
afc561b701 Auto stash before rebase of "main" onto "origin/main" 2025-04-08 13:05:09 +02:00
9 changed files with 40964 additions and 255 deletions

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 10 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

View File

@@ -5,7 +5,6 @@ export const createCaller = createCallerFactory({
"klimafaktoren": await import("../src/pages/api/klimafaktoren.ts"),
"postleitzahlen": await import("../src/pages/api/postleitzahlen.ts"),
"unterlage": await import("../src/pages/api/unterlage.ts"),
"aufnahme": await import("../src/pages/api/aufnahme/index.ts"),
"admin/ausstellen": await import("../src/pages/api/admin/ausstellen.ts"),
"admin/bestellbestaetigung": await import("../src/pages/api/admin/bestellbestaetigung.ts"),
"admin/erinnern": await import("../src/pages/api/admin/erinnern.ts"),
@@ -13,11 +12,11 @@ export const createCaller = createCallerFactory({
"admin/post-ausstellen": await import("../src/pages/api/admin/post-ausstellen.ts"),
"admin/registriernummer": await import("../src/pages/api/admin/registriernummer.ts"),
"admin/stornieren": await import("../src/pages/api/admin/stornieren.ts"),
"aufnahme": await import("../src/pages/api/aufnahme/index.ts"),
"ausweise": await import("../src/pages/api/ausweise/index.ts"),
"auth/access-token": await import("../src/pages/api/auth/access-token.ts"),
"auth/passwort-vergessen": await import("../src/pages/api/auth/passwort-vergessen.ts"),
"auth/refresh-token": await import("../src/pages/api/auth/refresh-token.ts"),
"ausweise": await import("../src/pages/api/ausweise/index.ts"),
"aufnahme": await import("../src/pages/api/aufnahme/index.ts"),
"bedarfsausweis-gewerbe/[id]": await import("../src/pages/api/bedarfsausweis-gewerbe/[id].ts"),
"bedarfsausweis-gewerbe": await import("../src/pages/api/bedarfsausweis-gewerbe/index.ts"),
"bedarfsausweis-wohnen/[id]": await import("../src/pages/api/bedarfsausweis-wohnen/[id].ts"),
@@ -36,8 +35,6 @@ export const createCaller = createCallerFactory({
"user/self": await import("../src/pages/api/user/self.ts"),
"verbrauchsausweis-gewerbe/[id]": await import("../src/pages/api/verbrauchsausweis-gewerbe/[id].ts"),
"verbrauchsausweis-gewerbe": await import("../src/pages/api/verbrauchsausweis-gewerbe/index.ts"),
"verbrauchsausweis-wohnen/[id]": await import("../src/pages/api/verbrauchsausweis-wohnen/[id].ts"),
"verbrauchsausweis-wohnen": await import("../src/pages/api/verbrauchsausweis-wohnen/index.ts"),
"webhooks/mollie": await import("../src/pages/api/webhooks/mollie.ts"),
"verbrauchsausweis-wohnen/[id]": await import("../src/pages/api/verbrauchsausweis-wohnen/[id].ts"),
"verbrauchsausweis-wohnen": await import("../src/pages/api/verbrauchsausweis-wohnen/index.ts"),

View File

@@ -161,7 +161,64 @@
}
</script>
<div class="relative bg-base-200 border border-base-300 rounded-lg p-4 mr-4">
<div class="relative bg-base-200 border border-base-300 rounded-lg p-4">
<div class="max-w-screen-xl mx-auto py-6 px-4 bg-white shadow">
<!-- Obere Zeile: Titel -->
<div class="border-b flex flex-row pb-2">
<div class="text-xl font-bold">
Verbrauchsausweis Wohnen mit Beratung (Post, Same Day)
</div>
<div class="bg-red-600 ml-auto px-2 py-0.5 text-sm font-semibold rounded-lg text-white">Gespeichert</div>
</div>
<!-- Navigation (1/3) -->
<div class="border-b pt-4 mb-4 flex justify-between items-center">
<button class="bg-gray-300 text-gray-700 px-2 py-1 rounded hover:bg-gray-400">
&laquo;
</button>
<p class="text-gray-700 font-medium">
Ausweis 1/3
</p>
<button class="bg-gray-300 text-gray-700 px-2 py-1 rounded hover:bg-gray-400">
&raquo;
</button>
</div>
<!-- Erster Block: Drei Spalten -->
<div class="grid grid-cols-1 md:grid-cols-3 gap-4 mb-4">
<!-- Linke Spalte: Bild + ID -->
<div class="flex-shrink-0 bg-gray-100 flex flex-col items-center border text-2xl rounded-b-lg pb-2 max-w-[220px]">
<img
src="../../images/placeholder.png"
alt="Gebäudevorschau"
class="rounded-t-lg mb-2"
/>
<div class="grid grid-cols-1 md:grid-cols-2 gap-2 bg-white">
<!-- PDF-Icon / Ausweis -->
<div class="m-1">
<img
src="../../images/dashboard/AusweisKreuz.svg"
alt="PDF Symbol für Verbrauchsausweis"
class="h-auto w-auto p-2 border border-black rounded-lg"
/>
<span class="text-xs font-medium ml-2">Verbrauchsausweis</span>
</div>
<!-- PDF-Icon / Datenblatt -->
<div class="m-1">
<img
src="../../images/dashboard/DatenblattKreuz.svg"
alt="PDF Symbol für Datenblatt"
class="h-auto w-auto p-2 border border-black rounded-lg"
/>
<span class="text-xs font-medium ml-2">Datenblatt</span>
</div>
</div>
<div class="p-4">Ausweis ID: <b>BWWICR32</b></div>
</div>
<div class="relative bg-base-200 border border-base-300 rounded-lg p-4">
{#if ausweis.storniert}
<div
class="absolute top-0 left-0 w-full h-full bg-[rgba(0,0,0,0.7)] z-[5] rounded-lg select-none"
@@ -417,6 +474,57 @@
</div>
</div>
<div class="flex-shrink-0 bg-gray-100 flex flex-col border text-xl rounded-lg p-4">
<p><b>Ausweisdaten</b><br>Anlass: Vermietung/Verkauf<br>
Gebäudetyp: Mehrfamilienhaus<br>
Anzahl Wohneinheiten: 3<br>
Keller beheizt / DG beheizt<br>
Gebäudeteil: gesamt<br>
<br>
<b>Heizverbräuche (kWh, kg)</b><br>vom 03.2022 - 03.2025<br>
Erdgas 13600, 14600, 15000<br>Brennholz 400, 500, 600<br>
Warmwasser enthalten, 20%<br>
Alternative Energieversorgung: Warmwasser, Heizung, Lüftung, Kühlung<br>
Leerstand 20%, Fensterlüftung, Kühlung<br><br>
<b>Sanierungszustand:</b><br>Zentralheizung, Warmwasserrohre gedämmt, Brennwertkessel, Photovoltaik, Dreifachverglasung, alle Fenster dicht, Dachgeschoß gedämmt, Außenwand gedämmt</p>
</div>
</div>
<!-- Zweiter Block: Ansprechpartner und Ausweisdaten in zwei Spalten -->
<div class="flex flex-row md:flex-row gap-4 mb-4">
<p class="text-lg text-gray-700 mb-1">
<strong>Besteller:</strong> Norma Müller
</p>
<p class="text-lg text-gray-700">
<strong>Telefon:</strong> 0700 / 123456
</p>
<p class="text-lg text-gray-700">
<strong>E-Mail:</strong> norma.mueller@web.de
</p>
<p class="text-lg text-gray-700">
<strong>Erstelldatum:</strong> 22.03.2025
</p>
</div>
<!-- Fußzeile: Navigation (1/3) -->
<div class="border-t pt-4 flex justify-between items-center">
<button class="bg-gray-300 text-gray-700 px-2 py-1 rounded hover:bg-gray-400">
&laquo;
</button>
<p class="text-gray-700 font-medium">
Ausweis 1/3
</p>
<button class="bg-gray-300 text-gray-700 px-2 py-1 rounded hover:bg-gray-400">
&raquo;
</button>
</div>
</div>
</div>
<dialog bind:this={hilfeModal} class="modal">
<div class="modal-box">
<h3 class="font-bold text-xl mb-4">Hilfe Anfordern</h3>

View File

@@ -148,7 +148,7 @@ export async function endEnergieVerbrauchVerbrauchsausweis_2016(
energieVerbrauchHeizung_2 * durchschnittsKlimafaktor;
let kuehlungsZuschlag = 0;
if (aufnahme.kuehlung) {
if (aufnahme.kuehlung === "1") {
kuehlungsZuschlag = 6 * 3 * energetischeNutzflaeche;
}

View File

@@ -499,7 +499,7 @@ export async function pdfVerbrauchsausweisWohnen(ausweis: VerbrauchsausweisWohne
}
}
if (aufnahme.kuehlung) {
if (aufnahme.kuehlung === "1") {
/**
* Kühlungszuschlag - Pauschale Erhöhung um 6kWh/m²
* Primärenergiefaktor Strom

View File

@@ -26,7 +26,7 @@
<hr>
<div class="relative mb-6">
<div class="relative mb-6 hidden">
<button class="button flex flex-row rounded-lg gap-2 bg-secondary text-white text-center" on:click={toggleDropdown}>
Ausweis erstellen +
</button>
@@ -47,7 +47,7 @@
{#if aufnahme.bilder.length > 0}
<Carousel perPage={3}>
{#each aufnahme.bilder as bild, i (i)}
<img src="/bilder/{bild.id}.jpg" alt={bild.kategorie} class="max-h-[25vh] h-full w-full object-contain">
<img src="/bilder/{bild.id}.jpg" alt={bild.kategorie} class="max-h-[15vh] h-full w-full object-contain">
{/each}
<span slot="left-control" class="p-2.5 bg-opacity-50 bg-white block rounded-full"><ChevronLeft size={24}></ChevronLeft></span>
<span slot="right-control" class="p-2.5 bg-opacity-50 bg-white block rounded-full"><ChevronRight size={24}></ChevronRight></span>
@@ -74,7 +74,7 @@
}
</style>
<div class="my-4 grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3">
<div class="my-4 grid grid-cols-1 md:grid-cols-1 lg:grid-cols-1">
{#each aufnahme.verbrauchsausweise_wohnen as ausweis}
<DashboardAusweis {benutzer} {ausweis} {aufnahme} {objekt} rechnung={ausweis.rechnung}></DashboardAusweis>
{/each}

View File

@@ -230,3 +230,7 @@
</li>
</ul>
</div>