From 25ecd5e112a37918e514bb4a3a92a559fefb476c Mon Sep 17 00:00:00 2001 From: Betsy Carina Traran Date: Thu, 12 Dec 2024 14:50:12 +0100 Subject: [PATCH] Bestillingsvisning alderspensjon, uforetrygd, afp-offentlig --- .../bestilling/sammendrag/Bestillingsdata.tsx | 6 + .../afpOffentlig/bestilling/AfpOffentlig.tsx | 61 +++++++++++ .../alderspensjon/AlderspensjonTypes.tsx | 12 ++ .../bestilling/Alderspensjon.tsx | 46 ++++++++ .../fagsystem/uforetrygd/UforetrygdTypes.tsx | 26 +++++ .../uforetrygd/bestilling/Uforetrygd.tsx | 103 ++++++++++++++++++ .../fagsystem/uforetrygd/form/Form.tsx | 9 +- 7 files changed, 256 insertions(+), 7 deletions(-) create mode 100644 apps/dolly-frontend/src/main/js/src/components/fagsystem/afpOffentlig/bestilling/AfpOffentlig.tsx create mode 100644 apps/dolly-frontend/src/main/js/src/components/fagsystem/alderspensjon/AlderspensjonTypes.tsx create mode 100644 apps/dolly-frontend/src/main/js/src/components/fagsystem/alderspensjon/bestilling/Alderspensjon.tsx create mode 100644 apps/dolly-frontend/src/main/js/src/components/fagsystem/uforetrygd/UforetrygdTypes.tsx create mode 100644 apps/dolly-frontend/src/main/js/src/components/fagsystem/uforetrygd/bestilling/Uforetrygd.tsx diff --git a/apps/dolly-frontend/src/main/js/src/components/bestilling/sammendrag/Bestillingsdata.tsx b/apps/dolly-frontend/src/main/js/src/components/bestilling/sammendrag/Bestillingsdata.tsx index de4e83284d..4b55a27b4f 100644 --- a/apps/dolly-frontend/src/main/js/src/components/bestilling/sammendrag/Bestillingsdata.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/bestilling/sammendrag/Bestillingsdata.tsx @@ -40,6 +40,9 @@ import { PensjonsgivendeInntekt } from '@/components/fagsystem/pensjon/bestillin import { GenerertPensjonsgivendeInntekt } from '@/components/fagsystem/pensjon/bestilling/GenerertPensjonsgivendeInntekt' import { Pensjonsavtale } from '@/components/fagsystem/pensjonsavtale/bestilling/Pensjonsavtale' import { Tjenestepensjon } from '@/components/fagsystem/tjenestepensjon/bestilling/Tjenestepensjon' +import { Alderspensjon } from '@/components/fagsystem/alderspensjon/bestilling/Alderspensjon' +import { Uforetrygd } from '@/components/fagsystem/uforetrygd/bestilling/Uforetrygd' +import { AfpOffentlig } from '@/components/fagsystem/afpOffentlig/bestilling/AfpOffentlig' export const BestillingTitle = styled.h4` margin: 5px 0 15px 0; @@ -128,6 +131,9 @@ export const Bestillingsdata = ({ bestilling }: any) => { /> + + + ) } diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/afpOffentlig/bestilling/AfpOffentlig.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/afpOffentlig/bestilling/AfpOffentlig.tsx new file mode 100644 index 0000000000..54d7c4cea6 --- /dev/null +++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/afpOffentlig/bestilling/AfpOffentlig.tsx @@ -0,0 +1,61 @@ +import { isEmpty } from '@/components/fagsystem/pdlf/form/partials/utils' +import { ErrorBoundary } from '@/components/ui/appError/ErrorBoundary' +import { BestillingData, BestillingTitle } from '@/components/bestilling/sammendrag/Bestillingsdata' +import { TitleValue } from '@/components/ui/titleValue/TitleValue' +import { formatDate, showLabel } from '@/utils/DataFormatter' +import { DollyFieldArray } from '@/components/ui/form/fieldArray/DollyFieldArray' +import React from 'react' +import { showTpNavn } from '@/components/fagsystem/afpOffentlig/visning/AfpOffentligVisning' +import { + AfpOffentligTypes, + BeloepTypes, + MocksvarTypes, +} from '@/components/fagsystem/afpOffentlig/afpOffentligTypes' + +type AfpOffentligProps = { + pensjon: AfpOffentligTypes +} + +export const AfpOffentlig = ({ pensjon }: AfpOffentligProps) => { + if (!pensjon || isEmpty(pensjon)) { + return null + } + + return ( +
+ + AFP offentlig + + showTpNavn(tpId))?.join(', ')} + size="xlarge" + /> + + {(afpOffentlig: MocksvarTypes, idx: number) => ( + + + + + + {afpOffentlig.belopsListe?.length > 0 && ( + + {(belop: BeloepTypes, idy: number) => ( + + + + + )} + + )} + + )} + + + +
+ ) +} diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/alderspensjon/AlderspensjonTypes.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/alderspensjon/AlderspensjonTypes.tsx new file mode 100644 index 0000000000..712ba6888c --- /dev/null +++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/alderspensjon/AlderspensjonTypes.tsx @@ -0,0 +1,12 @@ +export type AlderspensjonTypes = { + kravFremsattDato: string + iverksettelsesdato: string + saksbehandler: string + attesterer: string + uttaksgrad: number + navEnhetId: string + relasjoner?: Array<{ + sumAvForvArbKapPenInntekt: string + }> + soknad: boolean +} diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/alderspensjon/bestilling/Alderspensjon.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/alderspensjon/bestilling/Alderspensjon.tsx new file mode 100644 index 0000000000..f264347fea --- /dev/null +++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/alderspensjon/bestilling/Alderspensjon.tsx @@ -0,0 +1,46 @@ +import { isEmpty } from '@/components/fagsystem/pdlf/form/partials/utils' +import { ErrorBoundary } from '@/components/ui/appError/ErrorBoundary' +import { BestillingData, BestillingTitle } from '@/components/bestilling/sammendrag/Bestillingsdata' +import { TitleValue } from '@/components/ui/titleValue/TitleValue' +import { formatDate } from '@/utils/DataFormatter' +import React from 'react' +import { AlderspensjonTypes } from '@/components/fagsystem/alderspensjon/AlderspensjonTypes' +import { useNavEnheter } from '@/utils/hooks/useNorg2' + +type AlderspensjonProps = { + pensjon?: AlderspensjonTypes +} + +export const Alderspensjon = ({ pensjon }: AlderspensjonProps) => { + const { navEnheter } = useNavEnheter() + + if (!pensjon || isEmpty(pensjon)) { + return null + } + + const navEnhetLabel = navEnheter?.find( + (enhet) => enhet.value === pensjon.navEnhetId?.toString(), + )?.label + + return ( +
+ + + {'Alderspensjon: ' + (pensjon?.soknad ? 'Søknad' : 'Vedtak')} + + + + + + + + + + + +
+ ) +} diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/uforetrygd/UforetrygdTypes.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/uforetrygd/UforetrygdTypes.tsx new file mode 100644 index 0000000000..267dff3f45 --- /dev/null +++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/uforetrygd/UforetrygdTypes.tsx @@ -0,0 +1,26 @@ +export type UforetrygdTypes = { + uforetidspunkt: string + kravFremsattDato: string + onsketVirkningsDato: string + inntektForUforhet: number + inntektEtterUforhet: number + uforegrad: number + minimumInntektForUforhetType: string + saksbehandler: string + attesterer: string + navEnhetId: string + barnetilleggDetaljer: BarnetilleggDetaljer +} + +export type BarnetilleggDetaljer = { + barnetilleggType: string + forventedeInntekterSoker: Array + forventedeInntekterEP: Array +} + +export type ForventedeInntekterSokerOgEP = { + datoFom: string + datoTom: string + inntektType: string + belop: number +} diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/uforetrygd/bestilling/Uforetrygd.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/uforetrygd/bestilling/Uforetrygd.tsx new file mode 100644 index 0000000000..3984109575 --- /dev/null +++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/uforetrygd/bestilling/Uforetrygd.tsx @@ -0,0 +1,103 @@ +import { useNavEnheter } from '@/utils/hooks/useNorg2' +import { isEmpty } from '@/components/fagsystem/pdlf/form/partials/utils' +import { ErrorBoundary } from '@/components/ui/appError/ErrorBoundary' +import { BestillingData, BestillingTitle } from '@/components/bestilling/sammendrag/Bestillingsdata' +import { TitleValue } from '@/components/ui/titleValue/TitleValue' +import { formatDate, oversettBoolean, showLabel } from '@/utils/DataFormatter' +import React from 'react' +import { DollyFieldArray } from '@/components/ui/form/fieldArray/DollyFieldArray' +import { + ForventedeInntekterSokerOgEP, + UforetrygdTypes, +} from '@/components/fagsystem/uforetrygd/UforetrygdTypes' + +type UforetrygdProps = { + pensjon: UforetrygdTypes +} + +export const Uforetrygd = ({ pensjon }: UforetrygdProps) => { + const { navEnheter } = useNavEnheter() + + if (!pensjon || isEmpty(pensjon)) { + return null + } + + const navEnhetLabel = navEnheter?.find( + (enhet) => enhet.value === pensjon.navEnhetId?.toString(), + )?.label + + return ( +
+ + Uføretrygd + + + + + + + + + + + + + + {pensjon?.barnetilleggDetaljer?.forventedeInntekterSoker?.length > 0 && ( + + {(inntekt: ForventedeInntekterSokerOgEP, idx: number) => ( + + + + + + + )} + + )} + {pensjon?.barnetilleggDetaljer?.forventedeInntekterEP?.length > 0 && ( + + {(inntekt: ForventedeInntekterSokerOgEP, idx: number) => ( + + + + + + + )} + + )} + + +
+ ) +} diff --git a/apps/dolly-frontend/src/main/js/src/components/fagsystem/uforetrygd/form/Form.tsx b/apps/dolly-frontend/src/main/js/src/components/fagsystem/uforetrygd/form/Form.tsx index 075fe6418c..a498342931 100644 --- a/apps/dolly-frontend/src/main/js/src/components/fagsystem/uforetrygd/form/Form.tsx +++ b/apps/dolly-frontend/src/main/js/src/components/fagsystem/uforetrygd/form/Form.tsx @@ -49,8 +49,6 @@ export const UforetrygdForm = () => { formMethods.trigger(`${uforetrygdPath}`) }} /> - -
{ label="Inntekt etter uførhet" type="number" /> -
- -
- {
+ )