update UMBE

This commit is contained in:
Robert Jagtiani
2024-12-17 05:31:46 +01:00
parent f8e902fb0a
commit b17044851e
6 changed files with 250 additions and 253 deletions

View File

@@ -3,9 +3,6 @@
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 ZipSearch from "#components/PlzSuche.svelte";
import { Enums } from "@ibcornelsen/database/client"
export let gebaeude_aufnahme_allgemein: GebaeudeAufnahmeClient; export let gebaeude_aufnahme_allgemein: GebaeudeAufnahmeClient;
</script> </script>

View File

@@ -1,6 +1,9 @@
<script lang="ts"> <script lang="ts">
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 Verbrauchslabel from "#labels/VerbrauchsLabel.svelte";
import VerbrauchsHelpLabel from "#labels/VerbrauchsHelpLabel.svelte";
import Label from "../Label.svelte"; import Label from "../Label.svelte";
import moment from "moment"; import moment from "moment";
@@ -82,10 +85,10 @@ sm:grid-cols-2 sm:gap-x-6 sm:gap-y-8
xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8 xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
"> ">
<!-- Heizquellen --> <!-- primäre Heizquellen -->
<div class="input-standard order-1 md:order-1 xl:order-1"> <div class="input-standard order-1 md:order-1 xl:order-1">
<Inputlabel title="Auswahl der Heizquellen"></Inputlabel> <Inputlabel title="Heizquellen"></Inputlabel>
<div class="input-checkboxen"> <div class="input-checkboxen">
@@ -100,8 +103,9 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
<label for="primaere_heizquelle" >primäre Heizquelle</label> <label for="primaere_heizquelle" >primäre Heizquelle</label>
</div> </div>
<div class="grid grid-cols-[40px_max-content] items-center justify-items-start"> <div class="grid grid-cols-[40px_max-content] items-center justify-items-start">
{#if !ausweis.zusaetzliche_heizquelle}
<input <input
type="checkbox" type="checkbox"
class="checkbox" class="checkbox"
@@ -109,6 +113,7 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
bind:checked={ausweis.zusaetzliche_heizquelle} bind:checked={ausweis.zusaetzliche_heizquelle}
/> />
<label for="zusaetzliche_heizquelle" class="cursor-pointer" on:click={() => labelClick(event)}>zusätzliche Heizquelle</label> <label for="zusaetzliche_heizquelle" class="cursor-pointer" on:click={() => labelClick(event)}>zusätzliche Heizquelle</label>
{/if}
</div> </div>
</div> </div>
@@ -121,11 +126,73 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
</div> </div>
<!-- Zeitraum 1 -->
<div class="grid grid-cols-2 gap-x-4 order-2 md:order-2 xl:order-2">
<div class="input-standard">
<Inputlabel title="Start-Monat *"></Inputlabel>
<select
name="energieverbrauch_zeitraum_monat"
class="rounded-tr-none rounded-br-none w-full m-0"
bind:value={month}
required
>
<option disabled>Monat</option>
{#if year !== null}
{#each availableDates.filter(date => date.year == year) as date}
<option value={date.month}>{monthNames[date.month]}</option>
{/each}
{:else}
{#each Array.from(availableDates.reduce((a,c) => {
a.add(c.month);
return a;
}, new Set())) as month}
<option value={month}>{monthNames[month]}</option>
{/each}
{/if}
</select>
<div class="help-label">
<HelpLabel>
TEXT FEHLT
</HelpLabel>
</div>
</div>
<div class="input-standard">
<Inputlabel title="Start-Jahr *"></Inputlabel>
<select
name="energieverbrauch_zeitraum_jahr"
class="rounded-tl-none rounded-bl-none w-full m-0"
bind:value={year}
required
>
<option disabled>Jahr</option>
{#each Array.from(availableDates.reduce((a,c) => {
a.add(c.year);
return a;
}, new Set())) as year}
<option value={year}>{year}</option>
{/each}
</select>
<div class="help-label">
<HelpLabel>
TEXT FEHLT
</HelpLabel>
</div>
</div>
</div>
<!-- primäre Brennstoff und Einheiten * --> <!-- primäre Brennstoff und Einheiten * -->
<div class="grid grid-cols-2 gap-x-4 order-2 md:order-2 xl:order-2"> <div class="grid grid-cols-2 gap-x-4 order-3 md:order-3 xl:order-3">
<div class="input-standard"> <div class="input-standard">
<Inputlabel title="primär Brennstoff *"></Inputlabel> <Inputlabel title="primär Brennstoff *"></Inputlabel>
@@ -177,6 +244,7 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
<select <select
class="rounded-s-none" class="rounded-s-none"
name="einheit_1" name="einheit_1"
disabled={!gebaeude_aufnahme_allgemein.brennstoff_1}
required required
bind:value={ausweis.einheit_1} bind:value={ausweis.einheit_1}
> >
@@ -198,9 +266,109 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
</div> </div>
<!-- zusätzlicher Brennstoff und Einheiten * --> <!-- Verbrauch 1 -->
<div class="grid grid-cols-2 gap-x-4 order-3 md:order-3 xl:order-3"> <div class="input-standard order-4 md:order-4 xl:order-4">
<Verbrauchslabel bind:ausweis addYear=1></Verbrauchslabel>
<input
name="verbrauch_1"
type="number"
class:linked={abweichung.indexOf(1) > -1}
bind:value={ausweis.verbrauch_1}
required
/>
<div class="VerbrauchsEinheit">{#if !ausweis.einheit_1}{:else}{ausweis.einheit_1}{/if}</div>
<div class="help-label">
<HelpLabel>
<VerbrauchsHelpLabel bind:ausweis bind:gebaeude_aufnahme_allgemein addYear=1 heizquelle=1></VerbrauchsHelpLabel>
</HelpLabel>
</div>
</div>
<!-- Verbrauch 2 -->
<div class="input-standard order-5 md:order-5 xl:order-5">
<Verbrauchslabel bind:ausweis addYear=2></Verbrauchslabel>
<input
name="verbrauch_2"
type="number"
class:linked={abweichung.indexOf(2) > -1}
bind:value={ausweis.verbrauch_2}
required
/>
<div class="VerbrauchsEinheit">{#if !ausweis.einheit_1}{:else}{ausweis.einheit_1}{/if}</div>
<div class="help-label">
<HelpLabel>
<VerbrauchsHelpLabel bind:ausweis bind:gebaeude_aufnahme_allgemein addYear=2 heizquelle=1></VerbrauchsHelpLabel>
</HelpLabel>
</div>
</div>
<!-- Verbrauch 3 -->
<div class="input-standard order-6 md:order-6 xl:order-6">
<Verbrauchslabel bind:ausweis addYear=3></Verbrauchslabel>
<input
name="verbrauch_3"
type="number"
class:linked={abweichung.indexOf(3) > -1}
bind:value={ausweis.verbrauch_3}
required
/>
<div class="VerbrauchsEinheit">{#if !ausweis.einheit_1}{:else}{ausweis.einheit_1}{/if}</div>
<div class="help-label">
<HelpLabel>
<VerbrauchsHelpLabel bind:ausweis bind:gebaeude_aufnahme_allgemein addYear=3 heizquelle=1></VerbrauchsHelpLabel>
</HelpLabel>
</div>
</div>
{#if ausweis.zusaetzliche_heizquelle}
<div class="col-span-3 order-7 md:order-7 xl:order-7 h-[4px] bg-white mt-[-10px]"></div>
<!-- zusätzliche Heizquelle -->
<div class="input-standard order-7 md:order-7 xl:order-7">
<Inputlabel title="zusätzliche Heizquelle"></Inputlabel>
<div class="input-checkboxen">
<div class="grid grid-cols-[40px_max-content] items-center justify-items-start">
<input
type="checkbox"
class="checkbox"
name="zusaetzliche_heizquelle"
bind:checked={ausweis.zusaetzliche_heizquelle}
/>
<label for="zusaetzliche_heizquelle" class="cursor-pointer" on:click={() => labelClick(event)}>zusätzliche Heizquelle</label>
</div>
</div>
<div class="help-label">
<HelpLabel>
TEXT FEHLT
</HelpLabel>
</div>
</div>
<div class="input-standard order-8 md:order-8 xl:order-8">
</div>
<!-- zusätzlicher Brennstoff und Einheiten * -->
<div class="grid grid-cols-2 gap-x-4 order-9 md:order-9 xl:order-9">
<div class="input-standard"> <div class="input-standard">
<Inputlabel title="zusätzlicher Brennstoff *"></Inputlabel> <Inputlabel title="zusätzlicher Brennstoff *"></Inputlabel>
@@ -209,7 +377,6 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
class="rounded-e-none" class="rounded-e-none"
name="brennstoff_2" name="brennstoff_2"
bind:value={gebaeude_aufnahme_allgemein.brennstoff_2} bind:value={gebaeude_aufnahme_allgemein.brennstoff_2}
disabled={!ausweis.zusaetzliche_heizquelle}
required required
> >
@@ -276,262 +443,42 @@ xl:grid-cols-3 xl:gap-x-8 xl:gap-y-8
</div> </div>
<!-- Zeitraum 1 -->
<div class="grid grid-cols-3 gap-x-4 order-4 md:order-4 xl:order-4">
<div class="input-standard">
<Inputlabel title="von: Monat *"></Inputlabel>
<select
name="energieverbrauch_zeitraum_monat"
class="rounded-tr-none rounded-br-none w-full m-0"
bind:value={month}
required
>
<option disabled>Monat</option>
{#if year !== null}
{#each availableDates.filter(date => date.year == year) as date}
<option value={date.month}>{monthNames[date.month]}</option>
{/each}
{:else}
{#each Array.from(availableDates.reduce((a,c) => {
a.add(c.month);
return a;
}, new Set())) as month}
<option value={month}>{monthNames[month]}</option>
{/each}
{/if}
</select>
<div class="help-label">
<HelpLabel>
TEXT FEHLT
</HelpLabel>
</div>
</div>
<div class="input-standard">
<Inputlabel title="Jahr *"></Inputlabel>
<select
name="energieverbrauch_zeitraum_jahr"
class="rounded-tl-none rounded-bl-none w-full m-0"
bind:value={year}
required
>
<option disabled>Jahr</option>
{#each Array.from(availableDates.reduce((a,c) => {
a.add(c.year);
return a;
}, new Set())) as year}
<option value={year}>{year}</option>
{/each}
</select>
<div class="help-label">
<HelpLabel>
TEXT FEHLT
</HelpLabel>
</div>
</div>
<div class="input-standard">
<Inputlabel title="bis:"></Inputlabel>
<input
value={moment(ausweis.startdatum)
.add("1", "year")
.format("MM.Y")}
readonly
/>
<div class="help-label">
<HelpLabel>
TEXT FEHLT
</HelpLabel>
</div>
</div>
</div>
<!-- Verbrauch 1 -->
<div class="input-standard order-5 md:order-5 xl:order-5">
<Inputlabel title="Verbrauch *"></Inputlabel>
<input
name="verbrauch_1"
type="number"
class:linked={abweichung.indexOf(1) > -1}
bind:value={ausweis.verbrauch_1}
required
/>
<div class="help-label">
<HelpLabel>
TEXT FEHLT
</HelpLabel>
</div>
</div>
<!-- Verbrauch 4 --> <!-- Verbrauch 4 -->
<div class="input-standard order-6 md:order-6 xl:order-6"> <div class="input-standard order-10 md:order-10 xl:order-10">
<Inputlabel title="Verbrauch *"></Inputlabel> <Verbrauchslabel bind:ausweis addYear=1></Verbrauchslabel>
<input <input
name="verbrauch_4" name="verbrauch_4"
type="number" type="number"
bind:value={ausweis.verbrauch_4} bind:value={ausweis.verbrauch_4}
class:linked={abweichung.indexOf(4) > -1} class:linked={abweichung.indexOf(4) > -1}
disabled={!ausweis.zusaetzliche_heizquelle}
/> />
<div class="VerbrauchsEinheit">{#if !ausweis.einheit_2}{:else}{ausweis.einheit_2}{/if}</div>
<div class="help-label"> <div class="help-label">
<HelpLabel> <HelpLabel>
TEXT FEHLT <VerbrauchsHelpLabel bind:ausweis bind:gebaeude_aufnahme_allgemein addYear=1 heizquelle=2></VerbrauchsHelpLabel>
</HelpLabel>
</div>
</div>
<!-- Zeitraum 2 -->
<div class="grid grid-cols-3 gap-x-4 order-7 md:order-7 xl:order-7">
<div class="input-standard"></div>
<div class="input-noHelp">
<Inputlabel title="von:"></Inputlabel>
<input
class="klima text-right"
value={moment(ausweis.startdatum)
.add("1", "year")
.format("MM.Y")}
readonly
/>
</div>
<div class="input-noHelp">
<Inputlabel title="bis:"></Inputlabel>
<input
value={moment(ausweis.startdatum)
.add("2", "years")
.format("MM.Y")}
readonly
/>
</div>
</div>
<!-- Verbrauch 2 -->
<div class="input-standard order-8 md:order-8 xl:order-8">
<Inputlabel title="Verbrauch *"></Inputlabel>
<input
name="verbrauch_2"
type="number"
class:linked={abweichung.indexOf(2) > -1}
bind:value={ausweis.verbrauch_2}
required
/>
<div class="help-label">
<HelpLabel>
TEXT FEHLT
</HelpLabel> </HelpLabel>
</div> </div>
</div> </div>
<!-- Verbrauch 5 --> <!-- Verbrauch 5 -->
<div class="input-standard order-9 md:order-9 xl:order-9"> <div class="input-standard order-11 md:order-11 xl:order-11">
<Inputlabel title="Verbrauch *"></Inputlabel> <Verbrauchslabel bind:ausweis addYear=2></Verbrauchslabel>
<input <input
name="verbrauch_5" name="verbrauch_5"
type="number" type="number"
bind:value={ausweis.verbrauch_5} bind:value={ausweis.verbrauch_5}
class:linked={abweichung.indexOf(5) > -1} class:linked={abweichung.indexOf(5) > -1}
disabled={!ausweis.zusaetzliche_heizquelle}
/> />
<div class="VerbrauchsEinheit">{#if !ausweis.einheit_2}{:else}{ausweis.einheit_2}{/if}</div>
<div class="help-label"> <div class="help-label">
<HelpLabel> <HelpLabel>
TEXT FEHLT <VerbrauchsHelpLabel bind:ausweis bind:gebaeude_aufnahme_allgemein addYear=2 heizquelle=2></VerbrauchsHelpLabel>
</HelpLabel>
</div>
</div>
<!-- Zeitraum 2 -->
<div class="grid grid-cols-3 gap-x-4 order-10 md:order-10 xl:order-10">
<div class="input-standard"></div>
<div class="input-noHelp">
<Inputlabel title="von:"></Inputlabel>
<input
class="klima text-right"
value={moment(ausweis.startdatum)
.add("2", "years")
.format("MM.Y")}
readonly
/>
</div>
<div class="input-noHelp">
<Inputlabel title="bis:"></Inputlabel>
<input
value={moment(ausweis.startdatum)
.add("3", "years")
.format("MM.Y")}
readonly
/>
</div>
</div>
<!-- Verbrauch 3 -->
<div class="input-standard order-11 md:order-11 xl:order-11">
<Inputlabel title="Verbrauch *"></Inputlabel>
<input
name="verbrauch_3"
type="number"
class:linked={abweichung.indexOf(3) > -1}
bind:value={ausweis.verbrauch_3}
required
/>
<div class="help-label">
<HelpLabel>
TEXT FEHLT
</HelpLabel> </HelpLabel>
</div> </div>
</div> </div>
@@ -539,29 +486,27 @@ required
<!-- Verbrauch 6 --> <!-- Verbrauch 6 -->
<div class="input-standard order-12 md:order-12 xl:order-12"> <div class="input-standard order-12 md:order-12 xl:order-12">
<Inputlabel title="Verbrauch *"></Inputlabel> <Verbrauchslabel bind:ausweis addYear=3></Verbrauchslabel>
<input <input
name="verbrauch_6" name="verbrauch_6"
type="number" type="number"
bind:value={ausweis.verbrauch_6} bind:value={ausweis.verbrauch_6}
class:linked={abweichung.indexOf(6) > -1} class:linked={abweichung.indexOf(6) > -1}
disabled={!ausweis.zusaetzliche_heizquelle}
/> />
<div class="VerbrauchsEinheit">{#if !ausweis.einheit_2}{:else}{ausweis.einheit_2}{/if}</div>
<div class="help-label"> <div class="help-label">
<HelpLabel> <HelpLabel>
TEXT FEHLT <VerbrauchsHelpLabel bind:ausweis bind:gebaeude_aufnahme_allgemein addYear=3 heizquelle=2></VerbrauchsHelpLabel>
</HelpLabel> </HelpLabel>
</div> </div>
</div> </div>
{/if}
</div> </div>
<style lang="postcss"> <style lang="postcss">
.VerbrauchsEinheit{@apply absolute right-[4rem]}
</style> </style>

View File

@@ -0,0 +1,36 @@
<script lang="ts">
import moment from "moment";
export let addYear: number;
export let heizquelle: number;
export let gebaeude_aufnahme_allgemein: object = {};
export let ausweis: object = {};;
</script>
{#if ausweis.startdatum}
Bitte geben Sie Ihre
{#if heizquelle==1}
{#if gebaeude_aufnahme_allgemein.brennstoff_1}<b> {gebaeude_aufnahme_allgemein.brennstoff_1} </b>{/if}
Verbräuche {#if ausweis.einheit_1} in <b>{ausweis.einheit_1} </b>{/if}
{:else if heizquelle==2}
{#if gebaeude_aufnahme_allgemein.brennstoff_2}<b> {gebaeude_aufnahme_allgemein.brennstoff_2} </b>{/if}
Verbräuche {#if ausweis.einheit_2} in <b>{ausweis.einheit_2} </b>{/if}
{/if}
von <b>{moment(ausweis.startdatum).add((addYear-1), "year").format("MM.Y")}</b>
bis <b>{moment(ausweis.startdatum).add((addYear), "year").format("MM.Y")}</b>
ein.
{:else}
Bitte geben Sie zuerst einen Starttermin für Ihre Verbräuche, den Brennstoff und die Einheit in die entsprechenden Felder ein. Danach können Sie hier die Verbräuche für den angegebenen Zeitraum eintragen.
{/if}
<style lang="postcss">
</style>

View File

@@ -0,0 +1,25 @@
<script lang="ts">
import moment from "moment";
export let addYear: number;
export let ausweis;
</script>
<div class="absolute border-x-[1px] border-t-[1px] border-black/25 px-3 top-[-1.275rem] left-[0rem] text-[0.8rem] rounded-t-sm font-sans">
{#if !ausweis.startdatum}
Verbrauch von - bis
{:else}
Verbrauch von {moment(ausweis.startdatum).add((addYear-1), "year").format("MM.Y")} bis {moment(ausweis.startdatum).add((addYear), "year").format("MM.Y")}
{/if}
</div>
<style lang="postcss">
</style>

View File

@@ -76,7 +76,7 @@ const { title } = Astro.props;
<SidebarLeft /> <SidebarLeft />
<article class="box rounded-tl-none"> <article class="box rounded-tl-none p-12">
<slot /> <slot />
</article> </article>

View File

@@ -205,9 +205,7 @@
<BereichLabel bereich="B">Eingabe&nbsp;der&nbsp;Gebäudeadresse - Angaben&nbsp;zu&nbsp;Wohnfläche, Keller&nbsp;und&nbsp;Dachgeschoss</BereichLabel> <BereichLabel bereich="B">Eingabe&nbsp;der&nbsp;Gebäudeadresse - Angaben&nbsp;zu&nbsp;Wohnfläche, Keller&nbsp;und&nbsp;Dachgeschoss</BereichLabel>
<div class="collapseBereich"> <div class="collapseBereich">
<GebaeudeDaten <GebaeudeDaten
bind:gebaeude
bind:gebaeude_aufnahme_allgemein bind:gebaeude_aufnahme_allgemein
bind:ausweis
/> />
</div> </div>
@@ -227,8 +225,6 @@
<BereichLabel bereich="D">Eingabe&nbsp;Warmwasseranteil und&nbsp;Verwendung&nbsp;von&nbsp;alternativen Energieversorgungssystemen</BereichLabel> <BereichLabel bereich="D">Eingabe&nbsp;Warmwasseranteil und&nbsp;Verwendung&nbsp;von&nbsp;alternativen Energieversorgungssystemen</BereichLabel>
<div class="collapseBereich"> <div class="collapseBereich">
<Warmwasseranteil <Warmwasseranteil
bind:gebaeude
bind:gebaeude_aufnahme_allgemein
bind:ausweis bind:ausweis
/> />
</div> </div>
@@ -238,9 +234,7 @@
<BereichLabel bereich="E">Eingabe&nbsp;von&nbsp;Gebäudeteil, Lüftung,&nbsp;Kühlung&nbsp;und&nbsp;Leerstand</BereichLabel> <BereichLabel bereich="E">Eingabe&nbsp;von&nbsp;Gebäudeteil, Lüftung,&nbsp;Kühlung&nbsp;und&nbsp;Leerstand</BereichLabel>
<div class="collapseBereich"> <div class="collapseBereich">
<LueftungundLeerstand <LueftungundLeerstand
bind:gebaeude
bind:gebaeude_aufnahme_allgemein bind:gebaeude_aufnahme_allgemein
bind:ausweis
/> />
</div> </div>