@@ -9,22 +9,20 @@
|
|||||||
import { auditHeizungGebaeudeBaujahr } from "../Verbrauchsausweis/audits/HeizungGebaeudeBaujahr.js";
|
import { auditHeizungGebaeudeBaujahr } from "../Verbrauchsausweis/audits/HeizungGebaeudeBaujahr.js";
|
||||||
import { addNotification, deleteNotification } from "@ibcornelsen/ui";
|
import { addNotification, deleteNotification } from "@ibcornelsen/ui";
|
||||||
import TagInput from "../TagInput.svelte";
|
import TagInput from "../TagInput.svelte";
|
||||||
import type {
|
|
||||||
BedarfsausweisWohnen,
|
|
||||||
VerbrauchsausweisGewerbe,
|
|
||||||
} from "@ibcornelsen/database/client";
|
|
||||||
import { Enums } from "@ibcornelsen/database/client";
|
import { Enums } from "@ibcornelsen/database/client";
|
||||||
import {
|
import {
|
||||||
|
BedarfsausweisWohnenClient,
|
||||||
GebaeudeAufnahmeClient,
|
GebaeudeAufnahmeClient,
|
||||||
GebaeudeClient,
|
GebaeudeClient,
|
||||||
|
VerbrauchsausweisGewerbeClient,
|
||||||
VerbrauchsausweisWohnenClient,
|
VerbrauchsausweisWohnenClient,
|
||||||
} from "./types.js";
|
} from "./types.js";
|
||||||
|
|
||||||
export let gebaeude: GebaeudeClient;
|
export let gebaeude: GebaeudeClient;
|
||||||
export let ausweis:
|
export let ausweis:
|
||||||
| VerbrauchsausweisWohnenClient
|
| VerbrauchsausweisWohnenClient
|
||||||
| VerbrauchsausweisGewerbe
|
| VerbrauchsausweisGewerbeClient
|
||||||
| BedarfsausweisWohnen;
|
| BedarfsausweisWohnenClient;
|
||||||
export let gebaeude_aufnahme_allgemein: GebaeudeAufnahmeClient;
|
export let gebaeude_aufnahme_allgemein: GebaeudeAufnahmeClient;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|||||||
@@ -4,36 +4,25 @@ export let spaeterWeitermachen;
|
|||||||
export let automatischAusfüllen;
|
export let automatischAusfüllen;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<!-- Später weitermachen / Hilfe anfordern -->
|
<!-- Später weitermachen / Hilfe anfordern -->
|
||||||
|
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="w-full mt-5 grid gap-x-4 gap-y-2 px-4
|
class="w-full mt-5 grid gap-x-4 gap-y-2 px-4
|
||||||
grid-cols-1
|
grid-cols-1
|
||||||
xs:grid-cols-2
|
xs:grid-cols-2
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
|
|
||||||
<div class="md:justify-self-start">
|
<div class="md:justify-self-start">
|
||||||
<button
|
<button class="button" type="button" on:click={spaeterWeitermachen}
|
||||||
class="button"
|
>Später Weitermachen
|
||||||
type="button"
|
</button>
|
||||||
on:click={spaeterWeitermachen}>Später Weitermachen
|
|
||||||
</button
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="md:justify-self-end"><Hilfe />
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="md:justify-self-end"><Hilfe /></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mt-2 px-4">
|
<div class="mt-2 px-4">
|
||||||
<button
|
<button class="button" on:click={automatischAusfüllen} type="button"
|
||||||
class="button"
|
>Automatisch Ausfüllen
|
||||||
on:click={automatischAusfüllen}
|
</button>
|
||||||
type="button">Automatisch Ausfüllen
|
|
||||||
</button
|
|
||||||
>
|
|
||||||
</div>
|
</div>
|
||||||
@@ -14,6 +14,7 @@
|
|||||||
GebaeudeClient,
|
GebaeudeClient,
|
||||||
VerbrauchsausweisWohnenClient,
|
VerbrauchsausweisWohnenClient,
|
||||||
} from "./types.js";
|
} from "./types.js";
|
||||||
|
import { addNotification } from "#components/Notifications/shared.js";
|
||||||
|
|
||||||
export let gebaeude: GebaeudeClient;
|
export let gebaeude: GebaeudeClient;
|
||||||
export let gebaeude_aufnahme_allgemein: GebaeudeAufnahmeClient;
|
export let gebaeude_aufnahme_allgemein: GebaeudeAufnahmeClient;
|
||||||
@@ -81,6 +82,22 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$: {
|
||||||
|
console.log(month, year);
|
||||||
|
|
||||||
|
if ((availableDates.filter(date => date.month === month && date.year === year).length === 0) && typeof month === "number" && typeof year === "number") {
|
||||||
|
addNotification({
|
||||||
|
message: "Monat nicht verfügbar.",
|
||||||
|
subtext: "Der ausgewählte Monat ist in diesem Jahr nicht verfügbar, bitte wählen sie einen neuen Start Monat.",
|
||||||
|
dismissable: true,
|
||||||
|
type: "warning",
|
||||||
|
timeout: 0,
|
||||||
|
uid: "monat_nicht_verfuegbar",
|
||||||
|
selector: "select[name='energieverbrauch_zeitraum_monat']"
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$: abweichung = auditVerbrauchAbweichung(ausweis, gebaeude);
|
$: abweichung = auditVerbrauchAbweichung(ausweis, gebaeude);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -147,7 +164,6 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
bind:value={month}
|
bind:value={month}
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
<option disabled>Monat</option>
|
|
||||||
{#if year !== null}
|
{#if year !== null}
|
||||||
{#each availableDates.filter((date) => date.year == year) as date}
|
{#each availableDates.filter((date) => date.year == year) as date}
|
||||||
<option value={date.month}
|
<option value={date.month}
|
||||||
@@ -182,7 +198,6 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
|
|||||||
bind:value={year}
|
bind:value={year}
|
||||||
required
|
required
|
||||||
>
|
>
|
||||||
<option disabled>Jahr</option>
|
|
||||||
{#each Array.from(availableDates.reduce((a, c) => {
|
{#each Array.from(availableDates.reduce((a, c) => {
|
||||||
a.add(c.year);
|
a.add(c.year);
|
||||||
return a;
|
return a;
|
||||||
|
|||||||
@@ -109,7 +109,7 @@
|
|||||||
{#if Object.keys($notifications).length > 0}
|
{#if Object.keys($notifications).length > 0}
|
||||||
<span class="indicator-item badge badge-accent text-xs">{Object.keys($notifications).length}</span>
|
<span class="indicator-item badge badge-accent text-xs">{Object.keys($notifications).length}</span>
|
||||||
{/if}
|
{/if}
|
||||||
<button tabindex="0" class="btn btn-square btn-ghost hover:bg-base-200">
|
<button tabindex="0" class="button btn-square btn-ghost hover:bg-base-200">
|
||||||
<Bell size={24} />
|
<Bell size={24} />
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -119,7 +119,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<a href="/dashboard/einstellungen"
|
<a href="/dashboard/einstellungen"
|
||||||
class="btn btn-square btn-ghost hover:bg-base-200"
|
class="button btn-square btn-ghost hover:bg-base-200"
|
||||||
>
|
>
|
||||||
<Gear size={24} />
|
<Gear size={24} />
|
||||||
</a>
|
</a>
|
||||||
@@ -129,7 +129,7 @@
|
|||||||
<a
|
<a
|
||||||
href="/dashboard/einstellungen"
|
href="/dashboard/einstellungen"
|
||||||
use:ripple={rippleOptions}
|
use:ripple={rippleOptions}
|
||||||
class="btn btn-ghost no-animation focus:shadow-none justify-start py-4 h-auto hover:bg-base-200 px-8 rounded-none w-full flex flex-row gap-4"
|
class="button btn-ghost no-animation focus:shadow-none justify-start py-4 h-auto hover:bg-base-200 px-8 rounded-none w-full flex flex-row gap-4"
|
||||||
>
|
>
|
||||||
<div class="avatar">
|
<div class="avatar">
|
||||||
<div class="w-12 rounded-full">
|
<div class="w-12 rounded-full">
|
||||||
@@ -173,9 +173,9 @@
|
|||||||
font-family: Poppins !important;
|
font-family: Poppins !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button-tab {
|
/* .button-tab {
|
||||||
@apply btn btn-primary btn-ghost rounded-none px-8 justify-start outline-0 gap-4 items-center text-base font-normal text-base-content no-animation;
|
@apply btn btn-primary btn-ghost rounded-none px-8 justify-start outline-0 gap-4 items-center text-base font-normal text-base-content no-animation;
|
||||||
}
|
} */
|
||||||
|
|
||||||
.button-tab:hover {
|
.button-tab:hover {
|
||||||
@apply bg-base-200 outline-0;
|
@apply bg-base-200 outline-0;
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
<script lang="ts"></script>
|
||||||
|
|
||||||
<div class="fixed right-8 bottom-8 max-w-[400px] flex flex-col gap-4 z-50">
|
<div class="fixed right-8 bottom-8 max-w-[400px] flex flex-col gap-4 z-50">
|
||||||
<slot></slot>
|
<slot></slot>
|
||||||
</div>
|
</div>
|
||||||
@@ -20,6 +20,7 @@ export interface Notification {
|
|||||||
type: "error" | "success" | "info" | "warning";
|
type: "error" | "success" | "info" | "warning";
|
||||||
onUserDismiss: () => any;
|
onUserDismiss: () => any;
|
||||||
uid?: string;
|
uid?: string;
|
||||||
|
selector?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function updateNotification(uid: string, updater: Partial<Notification>) {
|
export function updateNotification(uid: string, updater: Partial<Notification>) {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
import HeaderLogin from "#header/headerLogin.svelte";
|
import HeaderLogin from "#header/HeaderLogin.svelte";
|
||||||
---
|
---
|
||||||
|
|
||||||
<header id="header">
|
<header id="header">
|
||||||
@@ -58,7 +58,7 @@ lg:px-0 lg:gap-x-4">
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="w-full justify-self-center">
|
<div class="w-full justify-self-center">
|
||||||
<HeaderLogin />
|
<HeaderLogin client:load />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,15 +1,12 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
|
|
||||||
import { loginClient } from "#lib/login";
|
import { loginClient } from "#lib/login";
|
||||||
import CrossCircled from "radix-svelte-icons/src/lib/icons/CrossCircled.svelte";
|
import { CrossCircled } from "radix-svelte-icons";
|
||||||
import { fade } from "svelte/transition";
|
import { fade } from "svelte/transition";
|
||||||
|
|
||||||
let email: string;
|
let email: string;
|
||||||
let passwort: string;
|
let passwort: string;
|
||||||
|
|
||||||
async function login(e: SubmitEvent) {
|
async function login(e: SubmitEvent) {
|
||||||
console.log(e);
|
|
||||||
|
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
const response = await loginClient(email, passwort);
|
const response = await loginClient(email, passwort);
|
||||||
|
|
||||||
@@ -23,8 +20,10 @@
|
|||||||
let errorHidden = true;
|
let errorHidden = true;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div id="card-login" class="rounded-none lg:rounded-lg lg:card lg:box bg-black/10 md:bg-black/5 lg:ring-2 border-t-2 lg:border-none border-gray-500/50 ring-gray-500/50 xs:px-2 md:px-4 py-2" >
|
<div
|
||||||
|
id="card-login"
|
||||||
|
class="rounded-none lg:rounded-lg lg:card lg:box bg-black/10 md:bg-black/5 lg:ring-2 border-t-2 lg:border-none border-gray-500/50 ring-gray-500/50 xs:px-2 md:px-4 py-2"
|
||||||
|
>
|
||||||
<form on:submit={login}>
|
<form on:submit={login}>
|
||||||
<div class="grid grid-cols-[1fr] xs:grid-cols-[2fr_2fr_1fr] gap-2">
|
<div class="grid grid-cols-[1fr] xs:grid-cols-[2fr_2fr_1fr] gap-2">
|
||||||
<input
|
<input
|
||||||
@@ -49,39 +48,41 @@
|
|||||||
required
|
required
|
||||||
/>
|
/>
|
||||||
{#if !errorHidden}
|
{#if !errorHidden}
|
||||||
<div role="alert" class="alert alert-error" in:fade out:fade={{delay: 400}}>
|
<div
|
||||||
|
role="alert"
|
||||||
|
class="alert alert-error"
|
||||||
|
in:fade
|
||||||
|
out:fade={{ delay: 400 }}
|
||||||
|
>
|
||||||
<CrossCircled size={24} />
|
<CrossCircled size={24} />
|
||||||
<span class="font-semibold">Das hat leider nicht geklappt, haben sie ihr Passwort und ihre Email Adresse richtig eingegeben?</span>
|
<span class="font-semibold"
|
||||||
|
>Das hat leider nicht geklappt, haben sie ihr Passwort
|
||||||
|
und ihre Email Adresse richtig eingegeben?</span
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
<button class="button self-center" type="submit">login</button>
|
<button class="button self-center" type="submit">login</button>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div
|
||||||
|
id="passwort-vergessen"
|
||||||
<div id="passwort-vergessen" class="grid grid-cols-1 lg:grid-cols-[3fr_2fr] gap-2">
|
class="grid grid-cols-1 lg:grid-cols-[3fr_2fr] gap-2"
|
||||||
|
>
|
||||||
|
|
||||||
<div class="w-full text-left self-center">
|
<div class="w-full text-left self-center">
|
||||||
<a
|
<a
|
||||||
class="justify-self-start text-sm font-bold no-underline hover:text-primary"
|
class="justify-self-start text-sm font-bold no-underline hover:text-primary"
|
||||||
href="/auth/signup">Registrieren</a
|
href="/auth/signup">Registrieren</a
|
||||||
> /
|
>
|
||||||
|
/
|
||||||
<a
|
<a
|
||||||
class="justify-self-start text-sm font-bold no-underline hover:text-primary"
|
class="justify-self-start text-sm font-bold no-underline hover:text-primary"
|
||||||
href="/auth/passwort-vergessen">Passwort vergessen</a
|
href="/auth/passwort-vergessen">Passwort vergessen</a
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<style lang="postcss">
|
<style lang="postcss">
|
||||||
|
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
32
src/components/labels/Bereich.svelte
Normal file
32
src/components/labels/Bereich.svelte
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
<script lang="ts">
|
||||||
|
export let bereich: string;
|
||||||
|
export let title: string;
|
||||||
|
let open: boolean = true;
|
||||||
|
let collapse: HTMLDivElement;
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div class="bereichs-label">
|
||||||
|
<div>
|
||||||
|
<div
|
||||||
|
class="grid grid-cols-[max-content_1fr_40px] items-center justify-items-start gap-2"
|
||||||
|
>
|
||||||
|
<div class="formular-abschnitt1">{bereich}</div>
|
||||||
|
<div class="formular-abschnitt2">{title}</div>
|
||||||
|
<div
|
||||||
|
class="justify-self-center self-center cursor-pointer text-[2rem] ring-1 ring-secondary px-4 rounded-sm select-none"
|
||||||
|
on:click={() => {
|
||||||
|
open = !open
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{#if open}
|
||||||
|
-
|
||||||
|
{:else}
|
||||||
|
+
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="collapseBereich" bind:this={collapse} class:max-h-0={!open} class:overflow-hidden={!open} class:max-h-[1500px]={open} class:overflow-visible={open}>
|
||||||
|
<slot></slot>
|
||||||
|
</div>
|
||||||
@@ -1,46 +1,42 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
export let bereich: string;
|
export let bereich: string;
|
||||||
|
let label: HTMLDivElement;
|
||||||
|
let open: boolean = true;
|
||||||
|
|
||||||
|
function toggleBereich(event: MouseEvent) {
|
||||||
|
var collapse = label.nextElementSibling as HTMLDivElement;
|
||||||
|
|
||||||
function toggleBereich(event){
|
if (open) {
|
||||||
|
|
||||||
var x = event.target.parentNode.parentNode.parentNode;
|
|
||||||
var y = x.nextElementSibling;
|
|
||||||
var z = event.target.innerHTML;
|
|
||||||
|
|
||||||
if(z=='-'){
|
|
||||||
//y.classList.remove('hidden');
|
//y.classList.remove('hidden');
|
||||||
y.style.maxHeight = '0px';
|
collapse.style.maxHeight = "0px";
|
||||||
y.style.overflow = 'hidden';
|
collapse.style.overflow = "hidden";
|
||||||
event.target.innerHTML = "+";
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
//y.classList.add('hidden');
|
//y.classList.add('hidden');
|
||||||
y.style.maxHeight = '1500px';
|
collapse.style.maxHeight = "1500px";
|
||||||
y.style.overflow = 'visible';
|
collapse.style.overflow = "visible";
|
||||||
event.target.innerHTML = "-";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
open = !open;
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<div class="bereichs-label" bind:this={label}>
|
||||||
|
|
||||||
<div class="bereichs-label">
|
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<div class="grid grid-cols-[max-content_1fr_40px] items-center justify-items-start gap-2">
|
<div
|
||||||
|
class="grid grid-cols-[max-content_1fr_40px] items-center justify-items-start gap-2"
|
||||||
|
>
|
||||||
<div class="formular-abschnitt1">{bereich}</div>
|
<div class="formular-abschnitt1">{bereich}</div>
|
||||||
<div class="formular-abschnitt2"><slot></slot></div>
|
<div class="formular-abschnitt2"><slot></slot></div>
|
||||||
<div id="BereichToggle" class="justify-self-center self-center cursor-pointer text-[2rem] ring-1 ring-secondary px-4 rounded-sm" on:click={() => toggleBereich(event)}>-</div>
|
<div
|
||||||
|
class="justify-self-center self-center cursor-pointer text-[2rem] ring-1 ring-secondary px-4 rounded-sm select-none"
|
||||||
|
on:click={toggleBereich}
|
||||||
|
>
|
||||||
|
{#if open}
|
||||||
|
-
|
||||||
|
{:else}
|
||||||
|
+
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<style lang="postcss">
|
|
||||||
|
|
||||||
</style>
|
|
||||||
@@ -11,14 +11,23 @@
|
|||||||
import moment from "moment";
|
import moment from "moment";
|
||||||
import { BitChecker } from "src/lib/BitChecker.js";
|
import { BitChecker } from "src/lib/BitChecker.js";
|
||||||
import { Enums } from "@ibcornelsen/database/client";
|
import { Enums } from "@ibcornelsen/database/client";
|
||||||
import { BedarfsausweisWohnenClient, BenutzerClient, UploadedGebaeudeBild } from "#components/Ausweis/types.js";
|
import {
|
||||||
|
BedarfsausweisWohnenClient,
|
||||||
|
BenutzerClient,
|
||||||
|
UploadedGebaeudeBild,
|
||||||
|
} from "#components/Ausweis/types.js";
|
||||||
|
import Bereich from "#components/labels/Bereich.svelte";
|
||||||
|
import ButtonSpaeterHilfe from "#components/Ausweis/ButtonSpaeterHilfe.svelte";
|
||||||
|
|
||||||
export let ausweis: BedarfsausweisWohnenClient;
|
export let ausweis: BedarfsausweisWohnenClient;
|
||||||
export let user: BenutzerClient = {} as BenutzerClient;
|
export let user: BenutzerClient = {} as BenutzerClient;
|
||||||
|
|
||||||
let gebaeude_aufnahme_allgemein = ausweis.gebaeude_aufnahme_allgemein || {};
|
let gebaeude_aufnahme_allgemein = ausweis.gebaeude_aufnahme_allgemein || {};
|
||||||
let gebaeude = ausweis.gebaeude_aufnahme_allgemein?.gebaeude_stammdaten || {};
|
let gebaeude =
|
||||||
let images: (UploadedGebaeudeBild & { base64?: string })[] = ausweis.gebaeude_aufnahme_allgemein?.gebaeude_stammdaten?.gebaeude_bilder || [];
|
ausweis.gebaeude_aufnahme_allgemein?.gebaeude_stammdaten || {};
|
||||||
|
let images: (UploadedGebaeudeBild & { base64?: string })[] =
|
||||||
|
ausweis.gebaeude_aufnahme_allgemein?.gebaeude_stammdaten
|
||||||
|
?.gebaeude_bilder || [];
|
||||||
|
|
||||||
let daemmungsBreiten = [0, 0.02, 0.05, 0.08, 0.12, 0.16, 0.2, 0.3, 0.4];
|
let daemmungsBreiten = [0, 0.02, 0.05, 0.08, 0.12, 0.16, 0.2, 0.3, 0.4];
|
||||||
|
|
||||||
@@ -40,6 +49,29 @@
|
|||||||
"Fenster mit U-Wert 1": 1,
|
"Fenster mit U-Wert 1": 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
async function spaeterWeitermachen() {
|
||||||
|
// const result = await verbrauchsausweisWohnenSpeichern(
|
||||||
|
// ausweis,
|
||||||
|
// gebaeude,
|
||||||
|
// gebaeude_aufnahme_allgemein,
|
||||||
|
// images,
|
||||||
|
// user
|
||||||
|
// );
|
||||||
|
// if (result !== null) {
|
||||||
|
// // Falls der Nutzer zurück navigiert, sollte er wieder auf seinen Vorgang kommen.
|
||||||
|
// // Sonst müsste er alles neu eingeben...
|
||||||
|
// ausweis.uid = result.uid;
|
||||||
|
// gebaeude.uid = result.gebaeude_uid;
|
||||||
|
// gebaeude_aufnahme_allgemein.uid = result.gebaeude_aufnahme_uid;
|
||||||
|
// window.history.pushState(
|
||||||
|
// {},
|
||||||
|
// "",
|
||||||
|
// `${location.pathname}?uid=${result.uid}`
|
||||||
|
// );
|
||||||
|
// speichernOverlayHidden = false;
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
const arrayRange = (start: number, stop: number, step: number) =>
|
const arrayRange = (start: number, stop: number, step: number) =>
|
||||||
Array.from(
|
Array.from(
|
||||||
{ length: (stop - start) / step + 1 },
|
{ length: (stop - start) / step + 1 },
|
||||||
@@ -112,46 +144,42 @@
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="flex flex-row gap-8 items-center mb-8">
|
<div class="grid grid-cols-2 gap-x-8 px-4 items-center">
|
||||||
<div class="flex flex-col w-full">
|
<div class="w-full rounded-lg border-gray/35 border-0 relative px-4">
|
||||||
<h1>Bedarfsausweis erstellen - 75€</h1>
|
|
||||||
<Progressbar progress={0} />
|
<Progressbar progress={0} />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<PerformanceScore {ausweis} {gebaeude} {gebaeude_aufnahme_allgemein} />
|
<div class="w-full rounded-lg border-gray/35 border-2 relative px-4">
|
||||||
|
<PerformanceScore
|
||||||
|
bind:ausweis
|
||||||
|
bind:gebaeude_aufnahme_allgemein
|
||||||
|
bind:gebaeude
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<ButtonSpaeterHilfe {automatischAusfüllen} {spaeterWeitermachen} />
|
||||||
|
|
||||||
<form action="FORM/transfer/VA_1to2" enctype="multipart/form-data">
|
<form action="FORM/transfer/VA_1to2" enctype="multipart/form-data">
|
||||||
<fieldset
|
<div id="formular-box" class="formular-boxen ring-0">
|
||||||
class="bg-[rgba(252,234,187,0.2)] border-2 p-4 rounded-lg border-[#ffcc03]"
|
<Bereich bereich="A" title="Prüfung der Ausweisart">
|
||||||
>
|
<Ausweisart
|
||||||
<div class="flex flex-row justify-between">
|
bind:gebaeude
|
||||||
<a class="button" href="/speichern">Später Weitermachen</a>
|
bind:gebaeude_aufnahme_allgemein
|
||||||
<div class="flex gap-4">
|
bind:ausweis
|
||||||
<Hilfe />
|
/>
|
||||||
<button
|
</Bereich>
|
||||||
on:click={automatischAusfüllen}
|
|
||||||
type="button"
|
|
||||||
class="button">Automatisch Ausfüllen</button
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
<Label>A - Prüfung der Ausweisart</Label>
|
<Bereich
|
||||||
<Ausweisart bind:gebaeude
|
bereich="B"
|
||||||
bind:gebaeude_aufnahme_allgemein
|
title="Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Gebäudetyp und Gebäudeteil"
|
||||||
bind:ausweis />
|
|
||||||
<hr />
|
|
||||||
<Label
|
|
||||||
>B - Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Gebäudetyp
|
|
||||||
und Gebäudeteil</Label
|
|
||||||
>
|
>
|
||||||
<div class="GRB">
|
<div class="GRB">
|
||||||
<div>
|
<div>
|
||||||
<HelpLabel title="Straße, Hausnummer *"
|
<HelpLabel title="Straße, Hausnummer *"
|
||||||
>Bitte geben Sie hier die Straße und Hausnummer des Gebäudes
|
>Bitte geben Sie hier die Straße und Hausnummer des
|
||||||
ein.</HelpLabel
|
Gebäudes ein.</HelpLabel
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<input
|
<input
|
||||||
@@ -223,7 +251,9 @@
|
|||||||
<option value="Doppelhaushälfte">
|
<option value="Doppelhaushälfte">
|
||||||
Doppelhaushälfte</option
|
Doppelhaushälfte</option
|
||||||
>
|
>
|
||||||
<option value="Reihenendhaus"> Reihenendhaus</option>
|
<option value="Reihenendhaus">
|
||||||
|
Reihenendhaus</option
|
||||||
|
>
|
||||||
<option value="Reihenmittelhaus">
|
<option value="Reihenmittelhaus">
|
||||||
Reihenmittelhaus</option
|
Reihenmittelhaus</option
|
||||||
>
|
>
|
||||||
@@ -236,19 +266,21 @@
|
|||||||
<option value="Atrium-Bungalow">
|
<option value="Atrium-Bungalow">
|
||||||
Atrium-Bungalow</option
|
Atrium-Bungalow</option
|
||||||
>
|
>
|
||||||
<option value="Winkelbungalow"> Winkelbungalow</option>
|
<option value="Winkelbungalow">
|
||||||
|
Winkelbungalow</option
|
||||||
|
>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<HelpLabel title="Gebäudeteil *"
|
<HelpLabel title="Gebäudeteil *"
|
||||||
>Bitte geben Sie hier den Gebäudeteil ein. In den meisten
|
>Bitte geben Sie hier den Gebäudeteil ein. In den
|
||||||
Fällen handelt es sich um das Gesamtgebäude. Sollte es sich
|
meisten Fällen handelt es sich um das Gesamtgebäude.
|
||||||
allerdings um ein Gebäude mit mehr als 10% Gewerbeanteil
|
Sollte es sich allerdings um ein Gebäude mit mehr als
|
||||||
handeln, so sollten 2 Ausweise erstellt werden. In diesem
|
10% Gewerbeanteil handeln, so sollten 2 Ausweise
|
||||||
Fall wählen Sie Gebäudeteil 'Wohnen' bzw. Gebäudeteil
|
erstellt werden. In diesem Fall wählen Sie Gebäudeteil
|
||||||
'Gewerbe'.</HelpLabel
|
'Wohnen' bzw. Gebäudeteil 'Gewerbe'.</HelpLabel
|
||||||
>
|
>
|
||||||
<div>
|
<div>
|
||||||
<select
|
<select
|
||||||
@@ -257,12 +289,15 @@
|
|||||||
required
|
required
|
||||||
>
|
>
|
||||||
<option>Bitte auswählen</option>
|
<option>Bitte auswählen</option>
|
||||||
<option value="Gesamtgebäude"> Gesamtgebäude</option>
|
<option value="Gesamtgebäude">
|
||||||
|
Gesamtgebäude</option
|
||||||
|
>
|
||||||
<option value="Wohnen"> Wohnen</option>
|
<option value="Wohnen"> Wohnen</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</Bereich>
|
||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
<Label
|
<Label
|
||||||
@@ -874,9 +909,17 @@
|
|||||||
required
|
required
|
||||||
>
|
>
|
||||||
<option> Bitte auswählen</option>
|
<option> Bitte auswählen</option>
|
||||||
<option value={Enums.Heizungsstatus.NICHT_VORHANDEN}> nicht vorhanden</option>
|
<option
|
||||||
<option value={Enums.Heizungsstatus.UNBEHEIZT}> unbeheizt</option>
|
value={Enums.Heizungsstatus.NICHT_VORHANDEN}
|
||||||
<option value={Enums.Heizungsstatus.BEHEIZT}> beheizt</option>
|
>
|
||||||
|
nicht vorhanden</option
|
||||||
|
>
|
||||||
|
<option value={Enums.Heizungsstatus.UNBEHEIZT}>
|
||||||
|
unbeheizt</option
|
||||||
|
>
|
||||||
|
<option value={Enums.Heizungsstatus.BEHEIZT}>
|
||||||
|
beheizt</option
|
||||||
|
>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1304,10 +1347,15 @@
|
|||||||
>G - Bitte prüfen Sie hier die Angaben zum Sanierungszustand des
|
>G - Bitte prüfen Sie hier die Angaben zum Sanierungszustand des
|
||||||
Gebäudes</Label
|
Gebäudes</Label
|
||||||
>
|
>
|
||||||
<BilderZusatzsysteme {ausweis} {gebaeude} {gebaeude_aufnahme_allgemein} {images} />
|
<BilderZusatzsysteme
|
||||||
|
{ausweis}
|
||||||
|
{gebaeude}
|
||||||
|
{gebaeude_aufnahme_allgemein}
|
||||||
|
{images}
|
||||||
|
/>
|
||||||
<hr />
|
<hr />
|
||||||
<div class="flex flex-row justify-between">
|
<div class="flex flex-row justify-between">
|
||||||
<button class="button">Weiter</button>
|
<button class="button">Weiter</button>
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
@@ -98,7 +98,6 @@
|
|||||||
gebaeude
|
gebaeude
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
// TODO: Ticket mit Fehldermeldung abschicken.
|
|
||||||
}
|
}
|
||||||
|
|
||||||
addNotification({
|
addNotification({
|
||||||
|
|||||||
@@ -3,12 +3,11 @@
|
|||||||
import Progressbar from "#components/Ausweis/Progressbar.svelte";
|
import Progressbar from "#components/Ausweis/Progressbar.svelte";
|
||||||
import Hilfe from "#components/Ausweis/Hilfe.svelte";
|
import Hilfe from "#components/Ausweis/Hilfe.svelte";
|
||||||
|
|
||||||
import BereichLabel from "#labels/BereichLabel.svelte";
|
import Bereich from "#labels/Bereich.svelte";
|
||||||
//import HelpLabel from "#labels/HelpLabel.svelte";
|
//import HelpLabel from "#labels/HelpLabel.svelte";
|
||||||
//import Inputlabel from "#labels/InputLabel.svelte";
|
//import Inputlabel from "#labels/InputLabel.svelte";
|
||||||
//import Label from "#components/Label.svelte";
|
//import Label from "#components/Label.svelte";
|
||||||
|
|
||||||
|
|
||||||
import ButtonSpaeterHilfe from "#components/Ausweis/ButtonSpaeterHilfe.svelte";
|
import ButtonSpaeterHilfe from "#components/Ausweis/ButtonSpaeterHilfe.svelte";
|
||||||
import Ausweisart from "#components/Ausweis/Ausweisart.svelte";
|
import Ausweisart from "#components/Ausweis/Ausweisart.svelte";
|
||||||
import GebaeudeDaten from "#components/Ausweis/GebaeudeDaten.svelte";
|
import GebaeudeDaten from "#components/Ausweis/GebaeudeDaten.svelte";
|
||||||
@@ -29,6 +28,7 @@
|
|||||||
RawNotificationWrapper,
|
RawNotificationWrapper,
|
||||||
RawNotification,
|
RawNotification,
|
||||||
notifications,
|
notifications,
|
||||||
|
deleteNotification,
|
||||||
} from "#components/Notifications/index.js";
|
} from "#components/Notifications/index.js";
|
||||||
import { auditHeizungGebaeudeBaujahr } from "#components/Verbrauchsausweis/audits/HeizungGebaeudeBaujahr.js";
|
import { auditHeizungGebaeudeBaujahr } from "#components/Verbrauchsausweis/audits/HeizungGebaeudeBaujahr.js";
|
||||||
import { auditHeizungJuengerDreiJahre } from "#components/Verbrauchsausweis/audits/HeizungJuengerDreiJahre.js";
|
import { auditHeizungJuengerDreiJahre } from "#components/Verbrauchsausweis/audits/HeizungJuengerDreiJahre.js";
|
||||||
@@ -57,14 +57,13 @@
|
|||||||
import { verbrauchsausweisWohnenSpeichern } from "src/client/lib/verbrauchsausweisWohnenSpeichern.js";
|
import { verbrauchsausweisWohnenSpeichern } from "src/client/lib/verbrauchsausweisWohnenSpeichern.js";
|
||||||
import AusweisWeiter from "./AusweisWeiter.svelte";
|
import AusweisWeiter from "./AusweisWeiter.svelte";
|
||||||
import { Enums } from "@ibcornelsen/database/client";
|
import { Enums } from "@ibcornelsen/database/client";
|
||||||
|
import { OpenInNewWindow } from "radix-svelte-icons";
|
||||||
|
|
||||||
// TODO: Vom Server sollte ein volles Objekt kommen, dass alle Subobjekte enthält, weil es sonst zu Problemen führen kann
|
// TODO: Vom Server sollte ein volles Objekt kommen, dass alle Subobjekte enthält, weil es sonst zu Problemen führen kann
|
||||||
// wenn gebaeude_aufnahme_allgemein oder gebaeude_stammdaten nicht existiert...
|
// wenn gebaeude_aufnahme_allgemein oder gebaeude_stammdaten nicht existiert...
|
||||||
export let ausweis: VerbrauchsausweisWohnenClient;
|
export let ausweis: VerbrauchsausweisWohnenClient;
|
||||||
export let user: BenutzerClient = {} as BenutzerClient;
|
export let user: BenutzerClient = {} as BenutzerClient;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
let gebaeude_aufnahme_allgemein = ausweis.gebaeude_aufnahme_allgemein || {};
|
let gebaeude_aufnahme_allgemein = ausweis.gebaeude_aufnahme_allgemein || {};
|
||||||
let gebaeude =
|
let gebaeude =
|
||||||
ausweis.gebaeude_aufnahme_allgemein?.gebaeude_stammdaten || {};
|
ausweis.gebaeude_aufnahme_allgemein?.gebaeude_stammdaten || {};
|
||||||
@@ -101,11 +100,13 @@
|
|||||||
gebaeude_aufnahme_allgemein.baujahr_heizung = [1952];
|
gebaeude_aufnahme_allgemein.baujahr_heizung = [1952];
|
||||||
gebaeude_aufnahme_allgemein.saniert = true;
|
gebaeude_aufnahme_allgemein.saniert = true;
|
||||||
gebaeude_aufnahme_allgemein.einheiten = 1;
|
gebaeude_aufnahme_allgemein.einheiten = 1;
|
||||||
gebaeude_aufnahme_allgemein.gebaeudetyp = "Einfamilienhaus"
|
gebaeude_aufnahme_allgemein.gebaeudetyp = "Einfamilienhaus";
|
||||||
gebaeude_aufnahme_allgemein.keller = Enums.Heizungsstatus.NICHT_VORHANDEN
|
gebaeude_aufnahme_allgemein.keller =
|
||||||
gebaeude_aufnahme_allgemein.dachgeschoss = Enums.Heizungsstatus.NICHT_VORHANDEN
|
Enums.Heizungsstatus.NICHT_VORHANDEN;
|
||||||
gebaeude_aufnahme_allgemein.lueftung = "Fensterlüftung"
|
gebaeude_aufnahme_allgemein.dachgeschoss =
|
||||||
gebaeude_aufnahme_allgemein.kuehlung = "1"
|
Enums.Heizungsstatus.NICHT_VORHANDEN;
|
||||||
|
gebaeude_aufnahme_allgemein.lueftung = "Fensterlüftung";
|
||||||
|
gebaeude_aufnahme_allgemein.kuehlung = "1";
|
||||||
ausweis.ausstellgrund = "Vermietung";
|
ausweis.ausstellgrund = "Vermietung";
|
||||||
ausweis.verbrauch_1 = 15000;
|
ausweis.verbrauch_1 = 15000;
|
||||||
ausweis.verbrauch_2 = 14000;
|
ausweis.verbrauch_2 = 14000;
|
||||||
@@ -168,8 +169,6 @@
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Overlay bind:hidden={speichernOverlayHidden}>
|
<Overlay bind:hidden={speichernOverlayHidden}>
|
||||||
<div class="bg-white w-full max-w-screen-sm py-8 px-8">
|
<div class="bg-white w-full max-w-screen-sm py-8 px-8">
|
||||||
<AusweisGespeichertModule uid={ausweis.uid}></AusweisGespeichertModule>
|
<AusweisGespeichertModule uid={ausweis.uid}></AusweisGespeichertModule>
|
||||||
@@ -184,8 +183,6 @@
|
|||||||
|
|
||||||
<h1>Verbrauchsausweis erstellen - 45€</h1>
|
<h1>Verbrauchsausweis erstellen - 45€</h1>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="grid grid-cols-2 gap-x-8 px-4 items-center">
|
<div class="grid grid-cols-2 gap-x-8 px-4 items-center">
|
||||||
<div class="w-full rounded-lg border-gray/35 border-0 relative px-4">
|
<div class="w-full rounded-lg border-gray/35 border-0 relative px-4">
|
||||||
<Progressbar progress={0} />
|
<Progressbar progress={0} />
|
||||||
@@ -204,131 +201,110 @@
|
|||||||
|
|
||||||
<form on:submit={ausweisAbschicken} name="ausweis" data-test="ausweis">
|
<form on:submit={ausweisAbschicken} name="ausweis" data-test="ausweis">
|
||||||
<div id="formular-box" class="formular-boxen ring-0">
|
<div id="formular-box" class="formular-boxen ring-0">
|
||||||
|
|
||||||
<!-- A Prüfung der Ausweisart -->
|
<!-- A Prüfung der Ausweisart -->
|
||||||
|
|
||||||
<BereichLabel bereich="A">Prüfung der Ausweisart</BereichLabel>
|
<Bereich bereich="A" title="Prüfung der Ausweisart">
|
||||||
<div class="collapseBereich">
|
|
||||||
<Ausweisart
|
<Ausweisart
|
||||||
bind:gebaeude
|
bind:gebaeude
|
||||||
bind:gebaeude_aufnahme_allgemein
|
bind:gebaeude_aufnahme_allgemein
|
||||||
bind:ausweis
|
bind:ausweis
|
||||||
/>
|
/>
|
||||||
</div>
|
</Bereich>
|
||||||
|
|
||||||
<!-- B Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Keller und Dachgeschoss -->
|
<!-- B Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Keller und Dachgeschoss -->
|
||||||
|
|
||||||
<BereichLabel bereich="B"
|
<Bereich
|
||||||
>Eingabe der Gebäudeadresse -
|
bereich="B"
|
||||||
Angaben zu Wohnfläche, Keller und Dachgeschoss</BereichLabel
|
title="Eingabe der Gebäudeadresse - Angaben zu Wohnfläche, Keller und Dachgeschoss"
|
||||||
|
><GebaeudeDaten bind:gebaeude_aufnahme_allgemein /></Bereich
|
||||||
>
|
>
|
||||||
<div class="collapseBereich">
|
|
||||||
<GebaeudeDaten bind:gebaeude_aufnahme_allgemein />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- C Eingabe von 3 zusammenhängenden Verbrauchsjahren -->
|
<!-- C Eingabe von 3 zusammenhängenden Verbrauchsjahren -->
|
||||||
|
|
||||||
<BereichLabel bereich="C"
|
<Bereich
|
||||||
>Eingabe von 3 zusammenhängenden Verbrauchsjahren</BereichLabel
|
bereich="C"
|
||||||
>
|
title="Eingabe von 3 zusammenhängenden Verbrauchsjahren"
|
||||||
<div class="collapseBereich">
|
><Verbrauch
|
||||||
<Verbrauch
|
|
||||||
bind:gebaeude
|
bind:gebaeude
|
||||||
bind:gebaeude_aufnahme_allgemein
|
bind:gebaeude_aufnahme_allgemein
|
||||||
bind:ausweis
|
bind:ausweis
|
||||||
/>
|
/></Bereich
|
||||||
</div>
|
>
|
||||||
|
|
||||||
<!-- D Eingabe Warmwasseranteil und Verwendung von alternativen Energieversorgungssystemen -->
|
<!-- D Eingabe Warmwasseranteil und Verwendung von alternativen Energieversorgungssystemen -->
|
||||||
|
|
||||||
<BereichLabel bereich="D"
|
<Bereich
|
||||||
>Eingabe Warmwasseranteil
|
bereich="D"
|
||||||
und Verwendung von alternativen
|
title="Eingabe Warmwasseranteil und Verwendung von alternativen Energieversorgungssystemen"
|
||||||
Energieversorgungssystemen</BereichLabel
|
><Warmwasseranteil bind:ausweis /></Bereich
|
||||||
>
|
>
|
||||||
<div class="collapseBereich">
|
|
||||||
<Warmwasseranteil bind:ausweis />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- E Eingabe von Gebäudeteil, Lüftung, Kühlung und Leerstand -->
|
<!-- E Eingabe von Gebäudeteil, Lüftung, Kühlung und Leerstand -->
|
||||||
|
|
||||||
<BereichLabel bereich="E"
|
<Bereich
|
||||||
>Eingabe von Gebäudeteil,
|
bereich="E"
|
||||||
Lüftung, Kühlung und Leerstand</BereichLabel
|
title="Eingabe von Gebäudeteil, Lüftung, Kühlung und Leerstand"
|
||||||
|
><LueftungundLeerstand bind:gebaeude_aufnahme_allgemein /></Bereich
|
||||||
>
|
>
|
||||||
<div class="collapseBereich">
|
|
||||||
<LueftungundLeerstand bind:gebaeude_aufnahme_allgemein />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- F Angaben zur Heizungsanlage -->
|
<!-- F Angaben zur Heizungsanlage -->
|
||||||
|
|
||||||
<BereichLabel bereich="F"
|
<Bereich bereich="F" title="Angaben zur Heizunganlage"
|
||||||
>Angaben zur Heizunganlage</BereichLabel
|
><SanierungszustandHeizungsanlage
|
||||||
>
|
|
||||||
<div class="collapseBereich">
|
|
||||||
<SanierungszustandHeizungsanlage
|
|
||||||
bind:images
|
bind:images
|
||||||
bind:gebaeude
|
bind:gebaeude
|
||||||
bind:gebaeude_aufnahme_allgemein
|
bind:gebaeude_aufnahme_allgemein
|
||||||
bind:ausweis
|
bind:ausweis
|
||||||
/>
|
/></Bereich
|
||||||
</div>
|
>
|
||||||
|
|
||||||
<!-- G Angaben zur Fenster, Dachfenster und Türen -->
|
<!-- G Angaben zur Fenster, Dachfenster und Türen -->
|
||||||
|
|
||||||
<BereichLabel bereich="G"
|
<Bereich bereich="G" title="Angaben zu Fenster, Dachfenster und Türen"
|
||||||
>Angaben zu Fenster, Dachfenster und Türen</BereichLabel
|
><SanierungszustandFensterTueren
|
||||||
>
|
|
||||||
<div class="collapseBereich">
|
|
||||||
<SanierungszustandFensterTueren
|
|
||||||
bind:images
|
bind:images
|
||||||
bind:gebaeude
|
bind:gebaeude
|
||||||
bind:gebaeude_aufnahme_allgemein
|
bind:gebaeude_aufnahme_allgemein
|
||||||
bind:ausweis
|
bind:ausweis
|
||||||
/>
|
/></Bereich
|
||||||
</div>
|
>
|
||||||
|
|
||||||
<!-- H Angaben zur Wärmedammung -->
|
<!-- H Angaben zur Wärmedammung -->
|
||||||
|
|
||||||
<BereichLabel bereich="H"
|
<Bereich bereich="H" title="Angaben zur Wärmedämmung"
|
||||||
>Angaben zur Wärmedämmung</BereichLabel
|
><SanierungszustandWaermedammung
|
||||||
>
|
|
||||||
<div class="collapseBereich">
|
|
||||||
<SanierungszustandWaermedammung
|
|
||||||
bind:images
|
bind:images
|
||||||
bind:gebaeude
|
bind:gebaeude
|
||||||
bind:gebaeude_aufnahme_allgemein
|
bind:gebaeude_aufnahme_allgemein
|
||||||
bind:ausweis
|
bind:ausweis
|
||||||
/>
|
/></Bereich
|
||||||
</div>
|
>
|
||||||
|
|
||||||
<!-- I Gebäudebild und Energieausweis PDF Vorschau -->
|
<!-- I Gebäudebild und Energieausweis PDF Vorschau -->
|
||||||
|
|
||||||
<BereichLabel bereich="I"
|
<Bereich bereich="I" title="Gebäudebild und Energieausweis PDF Vorschau"
|
||||||
>Gebäudebild und Energieausweis PDF Vorschau</BereichLabel
|
><AusweisPreviewContainer
|
||||||
>
|
|
||||||
<div class="collapseBereich">
|
|
||||||
<AusweisPreviewContainer
|
|
||||||
bind:images
|
bind:images
|
||||||
bind:ausweis
|
bind:ausweis
|
||||||
bind:gebaeude />
|
bind:gebaeude
|
||||||
</div>
|
/></Bereich
|
||||||
|
>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
class="w-full px-4 mt-5 grid gap-x-4 gap-y-2
|
class="w-full px-4 mt-5 grid gap-x-4 gap-y-2
|
||||||
grid-cols-1
|
grid-cols-1
|
||||||
xs:grid-cols-2"
|
xs:grid-cols-2"
|
||||||
>
|
>
|
||||||
|
|
||||||
<div class="md:justify-self-start">
|
<div class="md:justify-self-start">
|
||||||
<AusweisWeiter bind:ausweis bind:images bind:user bind:gebaeude bind:gebaeude_aufnahme_allgemein></AusweisWeiter>
|
<AusweisWeiter
|
||||||
|
bind:ausweis
|
||||||
|
bind:images
|
||||||
|
bind:user
|
||||||
|
bind:gebaeude
|
||||||
|
bind:gebaeude_aufnahme_allgemein
|
||||||
|
></AusweisWeiter>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="md:justify-self-end"><Hilfe />
|
<div class="md:justify-self-end"><Hilfe /></div>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
@@ -336,6 +312,26 @@ xs:grid-cols-2"
|
|||||||
{#each Object.entries($notifications) as [uid, notification] (uid)}
|
{#each Object.entries($notifications) as [uid, notification] (uid)}
|
||||||
<RawNotification notification={{ ...notification, uid }}>
|
<RawNotification notification={{ ...notification, uid }}>
|
||||||
{@html notification.subtext}
|
{@html notification.subtext}
|
||||||
|
{#if notification.selector}
|
||||||
|
<button on:click={() => {
|
||||||
|
const element = document.querySelector(notification.selector);
|
||||||
|
|
||||||
|
element?.classList.add("bg-red-300")
|
||||||
|
|
||||||
|
element?.scrollIntoView({
|
||||||
|
behavior: "smooth",
|
||||||
|
block: "center",
|
||||||
|
inline: "center"
|
||||||
|
})
|
||||||
|
|
||||||
|
element.focus()
|
||||||
|
deleteNotification(notification.uid)
|
||||||
|
|
||||||
|
setTimeout(() => {
|
||||||
|
element?.classList.remove("bg-red-300")
|
||||||
|
}, 3000)
|
||||||
|
}} class="px-4 py-2 border rounded-lg mt-2 flex flex-row text-base gap-2 font-bold" title="Anzeigen"><OpenInNewWindow size={22}></OpenInNewWindow> Anzeigen</button>
|
||||||
|
{/if}
|
||||||
</RawNotification>
|
</RawNotification>
|
||||||
{/each}
|
{/each}
|
||||||
|
|
||||||
@@ -537,10 +533,12 @@ xs:grid-cols-2"
|
|||||||
>
|
>
|
||||||
Die Abweichung der Verbräuche zwischen Zeitraum {auditVerbrauchAbweichung(
|
Die Abweichung der Verbräuche zwischen Zeitraum {auditVerbrauchAbweichung(
|
||||||
ausweis,
|
ausweis,
|
||||||
gebaeude_aufnahme_allgemein,
|
gebaeude_aufnahme_allgemein
|
||||||
)[0]} und {auditVerbrauchAbweichung(ausweis, gebaeude_aufnahme_allgemein)[1]} beträgt mehr
|
)[0]} und {auditVerbrauchAbweichung(
|
||||||
als 30% und sie haben keinen Leerstand angegeben. Sind sie sich sicher,
|
ausweis,
|
||||||
dass das stimmt?
|
gebaeude_aufnahme_allgemein
|
||||||
|
)[1]} beträgt mehr als 30% und sie haben keinen Leerstand angegeben.
|
||||||
|
Sind sie sich sicher, dass das stimmt?
|
||||||
</RawNotification>
|
</RawNotification>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
|
|||||||
@@ -146,7 +146,7 @@ xs:grid-cols-2
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mt-2"><button class="button hidden" on:click={automatischAusfüllen} type="button" >Automatisch Ausfüllen</button></div>
|
<div class="mt-2"><button class="button" on:click={automatischAusfüllen} type="button" >Automatisch Ausfüllen</button></div>
|
||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
import AusweisLayout from "#layouts/AusweisLayout.astro";
|
import AusweisLayout from "#layouts/AusweisLayout.astro";
|
||||||
import BedarfsausweisContent from "#modules/BedarfsausweisWohnen/BedarfsausweisContent.svelte";
|
import BedarfsausweisWohnenModule from "#modules/BedarfsausweisWohnen/BedarfsausweisWohnenModule.svelte";
|
||||||
import { BedarfsausweisWohnenClient } from "#components/Ausweis/types";
|
import { BedarfsausweisWohnenClient } from "#components/Ausweis/types";
|
||||||
import { createCaller } from "#lib/caller";
|
import { createCaller } from "#lib/caller";
|
||||||
|
|
||||||
@@ -31,5 +31,5 @@ if (uid) {
|
|||||||
|
|
||||||
---
|
---
|
||||||
<AusweisLayout title="Bedarfsausweis erstellen | IBCornelsen">
|
<AusweisLayout title="Bedarfsausweis erstellen | IBCornelsen">
|
||||||
<BedarfsausweisContent client:load ausweis={ausweis}></BedarfsausweisContent>
|
<BedarfsausweisWohnenModule client:load ausweis={ausweis}></BedarfsausweisWohnenModule>
|
||||||
</AusweisLayout>
|
</AusweisLayout>
|
||||||
Reference in New Issue
Block a user