Kundendaten Rechnung Typ Aktualisiert
This commit is contained in:
@@ -20,16 +20,15 @@
|
||||
import Overlay from "#components/Overlay.svelte";
|
||||
import EmbeddedAuthFlowModule from "#modules/EmbeddedAuthFlowModule.svelte";
|
||||
import AusweisGespeichertModule from "./AusweisGespeichertModule.svelte";
|
||||
import { validateAccessTokenClient } from "#lib/validateAccessToken";
|
||||
|
||||
import { validateAccessTokenClient } from "#lib/validateAccessTokenServer";
|
||||
|
||||
export let uid: string | null = null;
|
||||
export let gebaeude: GebaeudeStammdaten = {} as GebaeudeStammdaten;
|
||||
export let ausweis: VerbrauchsausweisWohnen = {
|
||||
ausweisart: Enums.Ausweisart.VerbrauchsausweisWohnen
|
||||
} as VerbrauchsausweisWohnen;
|
||||
|
||||
async function spaeterWeitermachen() {
|
||||
|
||||
async function ausweisSpeichern() {
|
||||
// Um einen Ausweis zu speichern müssen wir eingeloggt sein, andernfalls wird die API den call ablehnen.
|
||||
// Wir prüfen also ob wir eingeloggt sind und leiten den Nutzer ggf. auf die Login Seite weiter.
|
||||
if (!await validateAccessTokenClient()) {
|
||||
@@ -49,8 +48,7 @@
|
||||
uid
|
||||
})
|
||||
|
||||
speichernOverlayHidden = false;
|
||||
window.history.pushState({}, "", `/verbrauchsausweis?uid=${uid}`);
|
||||
return true;
|
||||
} catch (e) {
|
||||
addNotification({
|
||||
dismissable: false,
|
||||
@@ -59,6 +57,7 @@
|
||||
timeout: 6000,
|
||||
type: "error"
|
||||
})
|
||||
return false
|
||||
}
|
||||
} else {
|
||||
// Wir speichern den Ausweis ab und leiten auf die "ausweis-gespeichert" Seite weiter.
|
||||
@@ -68,8 +67,7 @@
|
||||
gebaeude
|
||||
})
|
||||
uid = response.uid
|
||||
window.history.pushState({}, "", `/verbrauchsausweis?uid=${uid}`);
|
||||
speichernOverlayHidden = false;
|
||||
return true;
|
||||
} catch (e) {
|
||||
addNotification({
|
||||
dismissable: false,
|
||||
@@ -78,11 +76,19 @@
|
||||
timeout: 6000,
|
||||
type: "error"
|
||||
})
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
console.log(gebaeude, ausweis)
|
||||
async function spaeterWeitermachen() {
|
||||
const result = await ausweisSpeichern();
|
||||
|
||||
if (result === true) {
|
||||
window.history.pushState({}, "", `/verbrauchsausweis?uid=${uid}`);
|
||||
speichernOverlayHidden = false;
|
||||
}
|
||||
}
|
||||
|
||||
function automatischAusfüllen() {
|
||||
gebaeude.baujahr_gebaeude = [1962];
|
||||
@@ -110,13 +116,11 @@
|
||||
|
||||
|
||||
async function ausweisAbschicken() {
|
||||
waitOverlayHidden = false;
|
||||
const response = await client.v1.verbrauchsausweisWohnen[2016].erstellen.mutate({
|
||||
...ausweis,
|
||||
gebaeude_stammdaten: gebaeude
|
||||
})
|
||||
const result = await ausweisSpeichern();
|
||||
|
||||
window.location.href = `/kundendaten?uid=${response.uid}`;
|
||||
if (result === true) {
|
||||
window.location.href = `/kundendaten?uid=${uid}`;
|
||||
}
|
||||
}
|
||||
|
||||
let waitOverlayHidden = true;
|
||||
|
||||
@@ -8,10 +8,12 @@
|
||||
import { Enums } from "@ibcornelsen/database/client"
|
||||
import PaymentOption from "#components/PaymentOption.svelte";
|
||||
import { client } from "src/trpc";
|
||||
import type { inferProcedureInput } from "@trpc/server";
|
||||
import type { AppRouter } from "@ibcornelsen/api";
|
||||
|
||||
export let user: Benutzer;
|
||||
export let ausweis: VerbrauchsausweisWohnen | BedarfsausweisWohnen | VerbrauchsausweisGewerbe;
|
||||
let rechnung: Rechnungen = {} as Rechnungen;
|
||||
let rechnung: inferProcedureInput<AppRouter["v1"]["rechnungen"]["erstellen"]> = {};
|
||||
|
||||
let services = [{
|
||||
name: "Qualitätsdruck per Post (zusätzlich zur PDF Version) für 9€ inkl. MwSt.",
|
||||
@@ -40,16 +42,25 @@
|
||||
let agbAkzeptiert: boolean;
|
||||
let datenschutzAkzeptiert: boolean;
|
||||
|
||||
async function createPayment() {
|
||||
async function createPayment(e: SubmitEvent) {
|
||||
e.preventDefault()
|
||||
if (form.checkValidity() === false) {
|
||||
form.reportValidity();
|
||||
return;
|
||||
}
|
||||
|
||||
const response = await client.v1.rechnungen.erstellen.mutate({
|
||||
...rechnung,
|
||||
ausweisart: ausweis.ausweisart,
|
||||
uid: ausweis.uid,
|
||||
payment_method: selectedPaymentType,
|
||||
bezahlmethode: selectedPaymentType,
|
||||
services: services.filter(service => service.selected).map(service => service.id)
|
||||
})
|
||||
|
||||
window.location.href = response.checkout_url
|
||||
//window.location.href = response.checkout_url
|
||||
}
|
||||
|
||||
let form: HTMLFormElement;
|
||||
</script>
|
||||
|
||||
<div class="w-full px-8">
|
||||
@@ -63,7 +74,7 @@
|
||||
<div
|
||||
class="w-full"
|
||||
>
|
||||
<div class="flex flex-row gap-8">
|
||||
<form class="flex flex-row gap-8" bind:this={form}>
|
||||
<div class="w-3/5">
|
||||
<div class="GRB3">
|
||||
<HelpLabel title="Ansprechpartner" />
|
||||
@@ -337,7 +348,7 @@
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<button class="pay-button" disabled={!agbAkzeptiert || !datenschutzAkzeptiert}
|
||||
<button type="submit" class="pay-button" disabled={!agbAkzeptiert || !datenschutzAkzeptiert}
|
||||
on:click={createPayment}
|
||||
>Kostenpflichtig Bestellen</button
|
||||
>
|
||||
@@ -353,7 +364,7 @@
|
||||
<div class="w-2/5">
|
||||
<PriceContainer {ausweis} bind:services />
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user