From eac14d8f4e5be8d465348956cc6de23f47c9bdc9 Mon Sep 17 00:00:00 2001 From: gunnsteingarmo Date: Wed, 20 Nov 2024 11:11:02 +0100 Subject: [PATCH 01/15] =?UTF-8?q?Laget=20en=20knapp=20som=20er=20p=C3=A5?= =?UTF-8?q?=20hvert=20vilk=C3=A5r.=20Knappen=20gj=C3=B8r=20kall=20mot=20gj?= =?UTF-8?q?enbruk-enkelt-vilk=C3=A5r.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "src/frontend/App/hooks/useVilk\303\245r.ts" | 41 ++++++++++++++++++- .../Vurdering/VisEllerEndreVurdering.tsx | 19 +++++++++ .../Behandling/Vurdering/VisVurdering.tsx | 17 +++++++- 3 files changed, 74 insertions(+), 3 deletions(-) diff --git "a/src/frontend/App/hooks/useVilk\303\245r.ts" "b/src/frontend/App/hooks/useVilk\303\245r.ts" index dc400f345..7bdc68d1d 100644 --- "a/src/frontend/App/hooks/useVilk\303\245r.ts" +++ "b/src/frontend/App/hooks/useVilk\303\245r.ts" @@ -44,7 +44,12 @@ export interface UseVilkår { ikkeVurderVilkår: ( nullstillVilkårsvurdering: OppdaterVilkårsvurdering ) => Promise | RessursFeilet>; - gjenbrukInngangsvilkår: (behandlingId: string, kopierBehandlingId: string) => void; + gjenbrukInngangsvilkår: ( + behandlingId: string, + kopierBehandlingId: string, + vilkårId?: string + ) => void; + gjenbrukEnkeltInngangsvilkår: (behandlingId: string, vilkårId: string) => void; } export const useVilkår = (): UseVilkår => { @@ -170,6 +175,39 @@ export const useVilkår = (): UseVilkår => { [axiosRequest, settToast] ); + const gjenbrukEnkeltInngangsvilkår = useCallback( + (behandlingId: string, vilkårId: string) => { + axiosRequest({ + method: 'POST', + url: `/familie-ef-sak/api/vurdering/gjenbruk-enkelt-vilkår`, + data: { behandlingId: behandlingId, vilkårId: vilkårId }, + }).then((respons: RessursSuksess | RessursFeilet) => { + settVilkår((prevVilkår) => { + if ( + prevVilkår.status === RessursStatus.SUKSESS && + respons.status === RessursStatus.SUKSESS + ) { + return { + ...prevVilkår, + status: RessursStatus.SUKSESS, + data: { + ...prevVilkår.data, + vurderinger: prevVilkår.data.vurderinger.map((vurdering) => + vurdering.id === respons.data.id ? respons.data : vurdering + ), + }, + }; + } + return prevVilkår; + }); + if (respons.status === RessursStatus.SUKSESS) { + settToast(EToast.INNGANGSVILKÅR_GJENBRUKT); + } + }); + }, + [axiosRequest, settToast] + ); + return { vilkår, hentVilkår, @@ -179,5 +217,6 @@ export const useVilkår = (): UseVilkår => { ikkeVurderVilkår, oppdaterGrunnlagsdataOgHentVilkår, gjenbrukInngangsvilkår, + gjenbrukEnkeltInngangsvilkår, }; }; diff --git a/src/frontend/Komponenter/Behandling/Vurdering/VisEllerEndreVurdering.tsx b/src/frontend/Komponenter/Behandling/Vurdering/VisEllerEndreVurdering.tsx index 1e1205547..902e27b07 100644 --- a/src/frontend/Komponenter/Behandling/Vurdering/VisEllerEndreVurdering.tsx +++ b/src/frontend/Komponenter/Behandling/Vurdering/VisEllerEndreVurdering.tsx @@ -81,7 +81,11 @@ const VisEllerEndreVurdering: FC = ({ hentAnsvarligSaksbehandler, hentBehandling, settNyEierModalState, + vilkårState, } = useBehandling(); + + const { gjenbrukEnkeltInngangsvilkår } = vilkårState; + const { settPanelITilstand } = useEkspanderbareVilkårpanelContext(); const [redigeringsmodus, settRedigeringsmodus] = useState( utledRedigeringsmodus(feilmelding, vurdering, behandlingErRedigerbar) @@ -109,6 +113,13 @@ const VisEllerEndreVurdering: FC = ({ }); }; + const kallGjenbrukEnkeltInngangsvilkår = async () => { + settRedigeringsmodus(Redigeringsmodus.REDIGERING); + gjenbrukEnkeltInngangsvilkår(vurdering.behandlingId, vurdering.id); + hentBehandling.rerun(); + settPanelITilstand(vurdering.vilkårType, EkspandertTilstand.KAN_IKKE_LUKKES); + }; + const initiellRedigeringsmodus = vurdering.resultat === Vilkårsresultat.IKKE_TATT_STILLING_TIL ? Redigeringsmodus.IKKE_PÅSTARTET @@ -145,6 +156,13 @@ const VisEllerEndreVurdering: FC = ({ + ); case Redigeringsmodus.REDIGERING: @@ -166,6 +184,7 @@ const VisEllerEndreVurdering: FC = ({ feilmelding={feilmelding || resetFeilmelding} behandlingErRedigerbar={behandlingErRedigerbar && erSaksbehandler} tittelTekst={tittelTekstVisVurdering} + kallGjenbrukEnkeltInngangsvilkår={kallGjenbrukEnkeltInngangsvilkår} /> ); } diff --git a/src/frontend/Komponenter/Behandling/Vurdering/VisVurdering.tsx b/src/frontend/Komponenter/Behandling/Vurdering/VisVurdering.tsx index e9ec06d5d..28049d186 100644 --- a/src/frontend/Komponenter/Behandling/Vurdering/VisVurdering.tsx +++ b/src/frontend/Komponenter/Behandling/Vurdering/VisVurdering.tsx @@ -7,7 +7,8 @@ import { IVurdering, resultatTilTekst, Vilkårsresultat } from '../Inngangsvilk import { BreakWordBodyLongSmall } from '../../../Felles/Visningskomponenter/BreakWordBodyLongSmall'; import { formaterIsoDatoTidMedSekunder } from '../../../App/utils/formatter'; import { Button, ErrorMessage, Heading } from '@navikt/ds-react'; -import { TrashIcon, PencilIcon } from '@navikt/aksel-icons'; +import { TrashIcon, PencilIcon, MotorcycleIcon } from '@navikt/aksel-icons'; + import { SistOppdatertOgVurderingWrapper, TittelOgKnappWrapper, @@ -61,6 +62,7 @@ interface Props { startRedigering: () => void; behandlingErRedigerbar: boolean; tittelTekst?: string; + kallGjenbrukEnkeltInngangsvilkår: () => Promise; } const VisVurdering: FC = ({ @@ -70,6 +72,7 @@ const VisVurdering: FC = ({ feilmelding, behandlingErRedigerbar, tittelTekst, + kallGjenbrukEnkeltInngangsvilkår, }) => { const vilkårsresultat = vurdering.resultat; const sistOppdatert = formaterIsoDatoTidMedSekunder( @@ -121,7 +124,17 @@ const VisVurdering: FC = ({ onClick={resetVurdering} size={'small'} > - slett + Slett + + + {feilmelding && ( From 4cd19c80505a1a8d8686ffcfd4a296265956f11a Mon Sep 17 00:00:00 2001 From: gunnsteingarmo Date: Wed, 20 Nov 2024 15:22:58 +0100 Subject: [PATCH 02/15] =?UTF-8?q?WIP=20-=20ta=20med=20vilk=C3=A5r=20og=20e?= =?UTF-8?q?t=20flagg=20om=20gjenbruk=20inn=20i=20endring.=20Bruker=20dette?= =?UTF-8?q?=20for=20=C3=A5=20fylle=20ut=20svar=20og=20begrunnelse=20om=20d?= =?UTF-8?q?elvilk=C3=A5r.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "src/frontend/App/hooks/useVilk\303\245r.ts" | 28 +++++++++++++++++++ .../Behandling/Vurdering/EndreVurdering.tsx | 6 ++++ .../Vurdering/EndreVurderingComponent.tsx | 12 ++++++-- .../Vurdering/VisEllerEndreVurdering.tsx | 20 +++++++++---- .../Behandling/Vurdering/VisVurdering.tsx | 6 ++-- 5 files changed, 61 insertions(+), 11 deletions(-) diff --git "a/src/frontend/App/hooks/useVilk\303\245r.ts" "b/src/frontend/App/hooks/useVilk\303\245r.ts" index 7bdc68d1d..027484cfd 100644 --- "a/src/frontend/App/hooks/useVilk\303\245r.ts" +++ "b/src/frontend/App/hooks/useVilk\303\245r.ts" @@ -50,6 +50,10 @@ export interface UseVilkår { vilkårId?: string ) => void; gjenbrukEnkeltInngangsvilkår: (behandlingId: string, vilkårId: string) => void; + hentEnkeltInngangsvilkår: ( + behandlingId: string, + vilkårId: string + ) => Promise; } export const useVilkår = (): UseVilkår => { @@ -208,6 +212,29 @@ export const useVilkår = (): UseVilkår => { [axiosRequest, settToast] ); + const hentEnkeltInngangsvilkår = useCallback( + async (behandlingId: string, vilkårId: string): Promise => { + try { + const respons = await axiosRequest< + IVurdering, + { behandlingId: string; vilkårId: string } + >({ + method: 'POST', + url: `/familie-ef-sak/api/vurdering/gjenbruk-enkelt-vilkår`, + data: { behandlingId: behandlingId, vilkårId: vilkårId }, + }); + + if (respons.status === RessursStatus.SUKSESS) { + return respons.data; + } + return null; + } catch { + return null; + } + }, + [axiosRequest] + ); + return { vilkår, hentVilkår, @@ -218,5 +245,6 @@ export const useVilkår = (): UseVilkår => { oppdaterGrunnlagsdataOgHentVilkår, gjenbrukInngangsvilkår, gjenbrukEnkeltInngangsvilkår, + hentEnkeltInngangsvilkår, }; }; diff --git a/src/frontend/Komponenter/Behandling/Vurdering/EndreVurdering.tsx b/src/frontend/Komponenter/Behandling/Vurdering/EndreVurdering.tsx index a613d4e65..d17f30ad0 100644 --- a/src/frontend/Komponenter/Behandling/Vurdering/EndreVurdering.tsx +++ b/src/frontend/Komponenter/Behandling/Vurdering/EndreVurdering.tsx @@ -39,6 +39,8 @@ interface Props { settRedigeringsmodus: (verdi: Redigeringsmodus) => void; feilmelding: string | undefined; initiellRedigeringsmodus: Redigeringsmodus; + skalGjenbruke: boolean; + vilkårGjenbruk: IVurdering | null; } const EndreVurdering: FC = ({ @@ -47,6 +49,8 @@ const EndreVurdering: FC = ({ feilmelding, settRedigeringsmodus, initiellRedigeringsmodus, + skalGjenbruke, + vilkårGjenbruk, }) => { const { regler, hentAnsvarligSaksbehandler, hentBehandling, settNyEierModalState } = useBehandling(); @@ -110,6 +114,8 @@ const EndreVurdering: FC = ({ vilkårType={vurdering.vilkårType} regler={regler.data.vilkårsregler[vurdering.vilkårType].regler} vurdering={vurdering} + skalGjenbruke={skalGjenbruke} + vilkårGjenbruk={vilkårGjenbruk} /> )} diff --git a/src/frontend/Komponenter/Behandling/Vurdering/EndreVurderingComponent.tsx b/src/frontend/Komponenter/Behandling/Vurdering/EndreVurderingComponent.tsx index bc40eff22..a5e6509b9 100644 --- a/src/frontend/Komponenter/Behandling/Vurdering/EndreVurderingComponent.tsx +++ b/src/frontend/Komponenter/Behandling/Vurdering/EndreVurderingComponent.tsx @@ -45,11 +45,19 @@ const EndreVurderingComponent: FC<{ regler: Regler; oppdaterVurdering: (vurdering: SvarPåVilkårsvurdering) => void; vurdering: IVurdering; -}> = ({ regler, oppdaterVurdering, vurdering }) => { + skalGjenbruke: boolean; + vilkårGjenbruk: IVurdering | null; +}> = ({ regler, oppdaterVurdering, vurdering, skalGjenbruke, vilkårGjenbruk }) => { const { nullstillIkkePersistertKomponent, settIkkePersistertKomponent } = useApp(); const { settPanelITilstand } = useEkspanderbareVilkårpanelContext(); + const [delvilkårsvurderinger, settDelvilkårsvurderinger] = useState( - filtrerHistoriskeDelvilkår(vurdering.delvilkårsvurderinger, regler) + filtrerHistoriskeDelvilkår( + skalGjenbruke && vilkårGjenbruk + ? vilkårGjenbruk.delvilkårsvurderinger + : vurdering.delvilkårsvurderinger, + regler + ) ); const oppdaterVilkårsvar = (index: number, nySvarArray: Vurdering[]) => { diff --git a/src/frontend/Komponenter/Behandling/Vurdering/VisEllerEndreVurdering.tsx b/src/frontend/Komponenter/Behandling/Vurdering/VisEllerEndreVurdering.tsx index 902e27b07..ad43e9ee4 100644 --- a/src/frontend/Komponenter/Behandling/Vurdering/VisEllerEndreVurdering.tsx +++ b/src/frontend/Komponenter/Behandling/Vurdering/VisEllerEndreVurdering.tsx @@ -84,7 +84,10 @@ const VisEllerEndreVurdering: FC = ({ vilkårState, } = useBehandling(); - const { gjenbrukEnkeltInngangsvilkår } = vilkårState; + const { hentEnkeltInngangsvilkår } = vilkårState; + // const { hentEnkeltInngangsvilkår, gjenbrukEnkeltInngangsvilkår } = vilkårState; + const [skalGjenbruke, settSaklGjenbruke] = useState(false); + const [vilkårGjenbruk, settVilkårGjenbruk] = useState(null); const { settPanelITilstand } = useEkspanderbareVilkårpanelContext(); const [redigeringsmodus, settRedigeringsmodus] = useState( @@ -113,10 +116,13 @@ const VisEllerEndreVurdering: FC = ({ }); }; - const kallGjenbrukEnkeltInngangsvilkår = async () => { + const hentResponsForEnkeltVilkår = async () => { + settSaklGjenbruke(true); settRedigeringsmodus(Redigeringsmodus.REDIGERING); - gjenbrukEnkeltInngangsvilkår(vurdering.behandlingId, vurdering.id); - hentBehandling.rerun(); + const vilkår = await hentEnkeltInngangsvilkår(vurdering.behandlingId, vurdering.id); + if (vilkår) { + settVilkårGjenbruk(vilkår); + } settPanelITilstand(vurdering.vilkårType, EkspandertTilstand.KAN_IKKE_LUKKES); }; @@ -157,7 +163,7 @@ const VisEllerEndreVurdering: FC = ({ {høyreKnappetekst ? høyreKnappetekst : 'Ikke vurder vilkår'} - + {skalViseGjenbrukKnapp && ( + + )} ); case Redigeringsmodus.REDIGERING: @@ -179,7 +203,7 @@ const VisEllerEndreVurdering: FC = ({ feilmelding={feilmelding || resetFeilmelding} settRedigeringsmodus={settRedigeringsmodus} initiellRedigeringsmodus={initiellRedigeringsmodus} - skalGjenbruke={skalGjenbruke} + skalGjenbrukeVilkår={skalGjenbrukeVilkår} vilkårGjenbruk={vilkårGjenbruk} /> ); @@ -193,6 +217,7 @@ const VisEllerEndreVurdering: FC = ({ behandlingErRedigerbar={behandlingErRedigerbar && erSaksbehandler} tittelTekst={tittelTekstVisVurdering} hentResponsForEnkeltVilkår={hentResponsForEnkeltVilkår} + skalViseGjenbrukKnapp={skalViseGjenbrukKnapp} /> ); } diff --git a/src/frontend/Komponenter/Behandling/Vurdering/VisVurdering.tsx b/src/frontend/Komponenter/Behandling/Vurdering/VisVurdering.tsx index f5aa81fcb..8b8180c7b 100644 --- a/src/frontend/Komponenter/Behandling/Vurdering/VisVurdering.tsx +++ b/src/frontend/Komponenter/Behandling/Vurdering/VisVurdering.tsx @@ -63,6 +63,7 @@ interface Props { behandlingErRedigerbar: boolean; tittelTekst?: string; hentResponsForEnkeltVilkår: () => Promise; + skalViseGjenbrukKnapp: boolean; } const VisVurdering: FC = ({ @@ -73,6 +74,7 @@ const VisVurdering: FC = ({ behandlingErRedigerbar, tittelTekst, hentResponsForEnkeltVilkår, + skalViseGjenbrukKnapp, }) => { const vilkårsresultat = vurdering.resultat; const sistOppdatert = formaterIsoDatoTidMedSekunder( @@ -126,16 +128,17 @@ const VisVurdering: FC = ({ > Slett - - + {skalViseGjenbrukKnapp && ( + + )} {feilmelding && ( From 8e755c10b6a9a708d69dd94b56165c7f437bdf23 Mon Sep 17 00:00:00 2001 From: gunnsteingarmo Date: Thu, 21 Nov 2024 14:46:39 +0100 Subject: [PATCH 05/15] =?UTF-8?q?Refaktorert=20alert=20med=20info=20om=20b?= =?UTF-8?q?ehandlingen=20som=20det=20gjenbrukes=20fra.=20Alerten=20er=20n?= =?UTF-8?q?=C3=A5=20lagt=20inn=20i=20redigeringsmodus=20n=C3=A5r=20gjenbru?= =?UTF-8?q?k=20blir=20trykket=20p=C3=A5.=20Fjernet=20ubrukt=20kode.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Aktivitetsvilk\303\245rHeader.tsx" | 2 +- .../GjenbrukInngangsvilk\303\245r.tsx" | 89 ++++++++++ .../Inngangsvilk\303\245rFane.tsx" | 18 -- .../Inngangsvilk\303\245rHeader.tsx" | 101 ------------ .../KopierInngangsvilk\303\245r.tsx" | 155 ------------------ .../OppdaterOpplysninger.tsx" | 0 .../\303\205pneOgLukkePanelKnapper.tsx" | 0 .../Vurdering/EndreVurderingComponent.tsx | 49 +++++- .../Behandling/Vurdering/VisVurdering.tsx | 4 +- 9 files changed, 133 insertions(+), 285 deletions(-) create mode 100644 "src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/GjenbrukInngangsvilk\303\245r.tsx" delete mode 100644 "src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/Inngangsvilk\303\245rHeader/Inngangsvilk\303\245rHeader.tsx" delete mode 100644 "src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/Inngangsvilk\303\245rHeader/KopierInngangsvilk\303\245r.tsx" rename "src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/Inngangsvilk\303\245rHeader/OppdaterOpplysninger.tsx" => "src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/OppdaterOpplysninger.tsx" (100%) rename "src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/Inngangsvilk\303\245rHeader/\303\205pneOgLukkePanelKnapper.tsx" => "src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/\303\205pneOgLukkePanelKnapper.tsx" (100%) diff --git "a/src/frontend/Komponenter/Behandling/Aktivitet/Aktivitetsvilk\303\245rHeader.tsx" "b/src/frontend/Komponenter/Behandling/Aktivitet/Aktivitetsvilk\303\245rHeader.tsx" index ea7e6bc2f..cfa3de2b2 100644 --- "a/src/frontend/Komponenter/Behandling/Aktivitet/Aktivitetsvilk\303\245rHeader.tsx" +++ "b/src/frontend/Komponenter/Behandling/Aktivitet/Aktivitetsvilk\303\245rHeader.tsx" @@ -4,7 +4,7 @@ import { EVilkårstyper, useEkspanderbareVilkårpanelContext, } from '../../../App/context/EkspanderbareVilkårpanelContext'; -import { ÅpneOgLukkePanelKnapper } from '../Inngangsvilkår/InngangsvilkårHeader/ÅpneOgLukkePanelKnapper'; +import { ÅpneOgLukkePanelKnapper } from '../Inngangsvilkår/ÅpneOgLukkePanelKnapper'; const Container = styled.div` margin: 2rem; diff --git "a/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/GjenbrukInngangsvilk\303\245r.tsx" "b/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/GjenbrukInngangsvilk\303\245r.tsx" new file mode 100644 index 000000000..b622304f9 --- /dev/null +++ "b/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/GjenbrukInngangsvilk\303\245r.tsx" @@ -0,0 +1,89 @@ +import React, { useState } from 'react'; +import { ChevronUpIcon, ChevronDownIcon, ExternalLinkIcon } from '@navikt/aksel-icons'; +import { Alert, Button, Link } from '@navikt/ds-react'; +import { Behandling, behandlingResultatTilTekst } from '../../../App/typer/fagsak'; +import { behandlingstypeTilTekst } from '../../../App/typer/behandlingstype'; +import { formaterIsoDato } from '../../../App/utils/formatter'; +import { stønadstypeTilTekst } from '../../../App/typer/behandlingstema'; +import { behandlingStatusTilTekst } from '../../../App/typer/behandlingstatus'; +import { Table } from '@navikt/ds-react'; + +interface Props { + behandlinger: Behandling[]; +} + +export const GjenbrukInngangsvilkår: React.FC = ({ behandlinger }) => { + const [visForrigeBehandlinger, settVisForrigeBehandlinger] = useState(false); + const forrigeBehandling = behandlinger.slice(0, 1); + + return ( + + + + {visForrigeBehandlinger && ( + + + + + Stønadstype + + + Behandlingstype + + + Status + + + Vedtaksdato + + + Resultat + + + + + {forrigeBehandling.map((behandling) => { + return ( + + + {stønadstypeTilTekst[behandling.stønadstype]} + + + + {behandlingstypeTilTekst[behandling.type]} + + + + + {behandlingStatusTilTekst[behandling.status]} + + + {behandling.vedtaksdato && + formaterIsoDato(behandling.vedtaksdato)} + + + {behandlingResultatTilTekst[behandling.resultat]} + + + ); + })} + +
+ )} +
+ ); +}; diff --git "a/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/Inngangsvilk\303\245rFane.tsx" "b/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/Inngangsvilk\303\245rFane.tsx" index f8ef49b3c..bbd1e2c09 100644 --- "a/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/Inngangsvilk\303\245rFane.tsx" +++ "b/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/Inngangsvilk\303\245rFane.tsx" @@ -9,9 +9,6 @@ import { Samliv } from './Samliv/Samliv'; import { Sivilstand } from './Sivilstand/Sivilstand'; import { useBehandling } from '../../../App/context/BehandlingContext'; import { Behandlingsårsak } from '../../../App/typer/behandlingsårsak'; -import { formaterIsoDatoTidMedSekunder } from '../../../App/utils/formatter'; -import { InngangsvilkårHeader } from './InngangsvilkårHeader/InngangsvilkårHeader'; -import { useApp } from '../../../App/context/AppContext'; import { FyllUtVilkårKnapp } from './FyllUtVilkårKnapp'; import VilkårIkkeOpprettetAlert from '../Vurdering/VilkårIkkeOpprettet'; import { Behandling } from '../../../App/typer/fagsak'; @@ -22,7 +19,6 @@ interface Props { export const InngangsvilkårFane: FC = ({ behandling }) => { const { behandlingErRedigerbar, vilkårState } = useBehandling(); - const { erSaksbehandler } = useApp(); const { vilkår, hentVilkår, @@ -30,8 +26,6 @@ export const InngangsvilkårFane: FC = ({ behandling }) => { feilmeldinger, nullstillVurdering, ikkeVurderVilkår, - oppdaterGrunnlagsdataOgHentVilkår, - gjenbrukInngangsvilkår, } = vilkårState; React.useEffect(() => { @@ -44,9 +38,6 @@ export const InngangsvilkårFane: FC = ({ behandling }) => { const årsak = behandling.behandlingsårsak; const skalViseSøknadsdata = årsak === Behandlingsårsak.SØKNAD || årsak === Behandlingsårsak.PAPIRSØKNAD; - const grunnlagsdataInnhentetDato = formaterIsoDatoTidMedSekunder( - vilkår.grunnlag.registeropplysningerOpprettetTid - ); return vilkår.vurderinger.length === 0 ? ( @@ -57,15 +48,6 @@ export const InngangsvilkårFane: FC = ({ behandling }) => { hentVilkår={hentVilkår} behandlingErRedigerbar={behandlingErRedigerbar} /> - {erSaksbehandler && ( - - )} Promise; - behandlingId: string; - gjenbrukInngangsvilkår: (behandlingId: string, kopierBehandlingId: string) => void; -} - -export const InngangsvilkårHeader: React.FC = ({ - oppdatertDato, - behandlingErRedigerbar, - oppdaterGrunnlagsdata, - behandlingId, - gjenbrukInngangsvilkår, -}) => { - const [behandlingerForVilkårsgjenbruk, settbehandlingerForVilkårsgjenbruk] = - useState>(byggTomRessurs()); - const { axiosRequest } = useApp(); - - const { lukkAlle, åpneAlle } = useEkspanderbareVilkårpanelContext(); - - const finnBehandlingForGjenbrukAvVilkår = useCallback( - (behandlingId: string) => { - axiosRequest({ - method: 'GET', - url: `/familie-ef-sak/api/behandling/gjenbruk/${behandlingId}`, - }).then((respons: Ressurs) => { - settbehandlingerForVilkårsgjenbruk(respons); - }); - }, - [axiosRequest] - ); - - useEffect(() => { - finnBehandlingForGjenbrukAvVilkår(behandlingId); - }, [behandlingId, finnBehandlingForGjenbrukAvVilkår]); - - return ( - - - - {behandlingErRedigerbar && ( - - {({ behandlingerForVilkårsgjenbruk }) => - behandlingerForVilkårsgjenbruk.length > 0 ? ( - - ) : ( - <> - ) - } - - )} - - - <ÅpneOgLukkePanelKnapper - lukkAlle={() => lukkAlle(EVilkårstyper.INNGANGSVILKÅR)} - åpneAlle={() => åpneAlle(EVilkårstyper.INNGANGSVILKÅR)} - /> - - - ); -}; diff --git "a/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/Inngangsvilk\303\245rHeader/KopierInngangsvilk\303\245r.tsx" "b/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/Inngangsvilk\303\245rHeader/KopierInngangsvilk\303\245r.tsx" deleted file mode 100644 index ed000cf79..000000000 --- "a/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/Inngangsvilk\303\245rHeader/KopierInngangsvilk\303\245r.tsx" +++ /dev/null @@ -1,155 +0,0 @@ -import React, { useState } from 'react'; -import styled from 'styled-components'; -import { ChevronUpIcon, ChevronDownIcon, ExternalLinkIcon } from '@navikt/aksel-icons'; -import { Alert, BodyLong, Button, Heading, Link } from '@navikt/ds-react'; -import { Behandling, behandlingResultatTilTekst } from '../../../../App/typer/fagsak'; -import { behandlingstypeTilTekst } from '../../../../App/typer/behandlingstype'; -import { formaterIsoDato } from '../../../../App/utils/formatter'; -import { stønadstypeTilTekst } from '../../../../App/typer/behandlingstema'; -import { behandlingStatusTilTekst } from '../../../../App/typer/behandlingstatus'; -import { ModalWrapper } from '../../../../Felles/Modal/ModalWrapper'; -import { ABorderStrong } from '@navikt/ds-tokens/dist/tokens'; - -const Alertstripe = styled(Alert)` - width: fit-content; -`; - -const ForrigeBehandlingTabell = styled.table` - margin-top: 1rem; - margin-bottom: 1rem; - width: 100%; - border-collapse: collapse; - font-size: 1rem; - - td, - th { - border-bottom: 1px solid ${ABorderStrong}; - padding: 0rem 1.5rem 0rem 0rem; - text-align: left; - } -`; - -const ÅpneLukkeKnapp = styled(Button)` - width: fit-content; -`; - -const Gjenbruksknapp = styled(Button)` - display: block; - margin-left: auto; - margin-right: auto; -`; - -interface Props { - behandlinger: Behandling[]; - behandlingId: string; - gjenbrukInngangsvilkår: (behandlingId: string, kopierBehandlingId: string) => void; -} - -export const KopierInngangsvilkår: React.FC = ({ - behandlinger, - behandlingId, - gjenbrukInngangsvilkår, -}) => { - const [visForrigeBehandlinger, settVisForrigeBehandlinger] = useState(false); - const [visModal, settVisModal] = useState(false); - const forrigeBehandling = behandlinger.slice(0, 1); // Dersom vi ønsker at bruker skal kunne velge mellom flere tidligere behandlinger kan denne linjen fjernes - - return ( - - - <ÅpneLukkeKnapp - type={'button'} - variant={'tertiary'} - icon={visForrigeBehandlinger ? : } - iconPosition={'right'} - onClick={() => { - settVisForrigeBehandlinger((prevState) => !prevState); - }} - size={'xsmall'} - > - Gjenbruk vurdering av inngangsvilkår fra forrige behandling? - - - {visForrigeBehandlinger && ( - <> - - - - - Stønadstype - - - Behandlingstype - - - Status - - - Vedtaksdato - - - Vedtaksresultat - - - - - {forrigeBehandling.map((behandling) => { - return ( - - {stønadstypeTilTekst[behandling.stønadstype]} - - - {behandlingstypeTilTekst[behandling.type]} - - - - {behandlingStatusTilTekst[behandling.status]} - - {behandling.vedtaksdato && - formaterIsoDato(behandling.vedtaksdato)} - - {behandlingResultatTilTekst[behandling.resultat]} - - ); - })} - - - settVisModal(true)} - > - Gjenbruk vilkårsvurdering - - settVisModal(false)} - aksjonsknapper={{ - hovedKnapp: { - onClick: () => { - settVisModal(false); - gjenbrukInngangsvilkår(behandlingId, forrigeBehandling[0].id); - }, - tekst: 'Gjenbruk vilkårsvurdering', - }, - lukkKnapp: { - onClick: () => settVisModal(false), - tekst: 'Avbryt', - }, - }} - > - - Er du sikker på at du vil gjenbruke vilkårsvurdering fra tidligere - behandling? Inngangsvilkår du allerede har vurdert i inneværende - behandling vil bli overskrevet. - - - - )} - - ); -}; diff --git "a/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/Inngangsvilk\303\245rHeader/OppdaterOpplysninger.tsx" "b/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/OppdaterOpplysninger.tsx" similarity index 100% rename from "src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/Inngangsvilk\303\245rHeader/OppdaterOpplysninger.tsx" rename to "src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/OppdaterOpplysninger.tsx" diff --git "a/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/Inngangsvilk\303\245rHeader/\303\205pneOgLukkePanelKnapper.tsx" "b/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/\303\205pneOgLukkePanelKnapper.tsx" similarity index 100% rename from "src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/Inngangsvilk\303\245rHeader/\303\205pneOgLukkePanelKnapper.tsx" rename to "src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/\303\205pneOgLukkePanelKnapper.tsx" diff --git a/src/frontend/Komponenter/Behandling/Vurdering/EndreVurderingComponent.tsx b/src/frontend/Komponenter/Behandling/Vurdering/EndreVurderingComponent.tsx index 64fb73d7c..ec95ed594 100644 --- a/src/frontend/Komponenter/Behandling/Vurdering/EndreVurderingComponent.tsx +++ b/src/frontend/Komponenter/Behandling/Vurdering/EndreVurderingComponent.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import { FC, useEffect, useState } from 'react'; +import { FC, useCallback, useEffect, useState } from 'react'; import { BegrunnelseRegel, Regler, Svarsalternativ } from './typer'; import { IDelvilkår, @@ -21,22 +21,21 @@ import { import Begrunnelse from './Begrunnelse'; import Delvilkår from './Delvilkår'; import { useApp } from '../../../App/context/AppContext'; -import { Button } from '@navikt/ds-react'; +import { Button, VStack } from '@navikt/ds-react'; import styled from 'styled-components'; import { EkspandertTilstand, useEkspanderbareVilkårpanelContext, } from '../../../App/context/EkspanderbareVilkårpanelContext'; - -/** - * Skal resette undervilkår, men ikke rootnivå hvis en tidligere endrer seg - */ +import { GjenbrukInngangsvilkår } from '../Inngangsvilkår/GjenbrukInngangsvilkår'; +import { RessursStatus } from '../../../App/typer/ressurs'; +import { Behandling } from '../../../App/typer/fagsak'; const LagreKnapp = styled(Button)` margin-top: 1rem; `; -const DelvilkårContainer = styled.div` +const DelvilkårContainer = styled(VStack)` margin-bottom: 1rem; `; @@ -144,6 +143,35 @@ const EndreVurderingComponent: FC<{ settPanelITilstand(vurdering.vilkårType, EkspandertTilstand.EKSPANDERT); }; + const [behandlingerForVilkårsgjenbruk, settbehandlingerForVilkårsgjenbruk] = useState< + Behandling[] + >([]); + const { axiosRequest } = useApp(); + + const finnBehandlingForGjenbrukAvVilkår = useCallback( + async (behandlingId: string): Promise => { + try { + const respons = await axiosRequest({ + method: 'GET', + url: `/familie-ef-sak/api/behandling/gjenbruk/${behandlingId}`, + }); + if (respons.status === RessursStatus.SUKSESS) { + settbehandlingerForVilkårsgjenbruk(respons.data); + } + return null; + } catch { + return null; + } + }, + [axiosRequest] + ); + + useEffect(() => { + if (vilkårGjenbruk) { + finnBehandlingForGjenbrukAvVilkår(vilkårGjenbruk?.behandlingId); + } + }, [vilkårGjenbruk, finnBehandlingForGjenbrukAvVilkår]); + return (
{ @@ -161,7 +189,12 @@ const EndreVurderingComponent: FC<{ const regel = regler[svar.regelId]; return ( - + + {skalGjenbrukeVilkår && vilkårGjenbruk && ( + + )} = ({ + + {({ behandlinger }) => { + const behandlingSomBlirGjenbrukt = behandlinger.slice(0, 1); + + return ( + + - {visForrigeBehandlinger && ( - - - - - Stønadstype - - - Behandlingstype - - - Status - - - Vedtaksdato - - - Resultat - - - - - {forrigeBehandling.map((behandling) => { - return ( - - - {stønadstypeTilTekst[behandling.stønadstype]} - - - - {behandlingstypeTilTekst[behandling.type]} - - - - - {behandlingStatusTilTekst[behandling.status]} - - - {behandling.vedtaksdato && - formaterIsoDato(behandling.vedtaksdato)} - - - {behandlingResultatTilTekst[behandling.resultat]} - - - ); - })} - -
- )} -
+ {visForrigeBehandlinger && ( + + + + + Stønadstype + + + Behandlingstype + + + Status + + + Vedtaksdato + + + Resultat + + + + + {behandlingSomBlirGjenbrukt.map((behandling) => { + return ( + + + {stønadstypeTilTekst[behandling.stønadstype]} + + + + {behandlingstypeTilTekst[behandling.type]} + + + + + {behandlingStatusTilTekst[behandling.status]} + + + {behandling.vedtaksdato && + formaterIsoDato(behandling.vedtaksdato)} + + + { + behandlingResultatTilTekst[ + behandling.resultat + ] + } + + + ); + })} + +
+ )} + + ); + }} +
); }; diff --git a/src/frontend/Komponenter/Behandling/Vurdering/EndreVurdering.tsx b/src/frontend/Komponenter/Behandling/Vurdering/EndreVurdering.tsx index bc38c6cc0..a613d4e65 100644 --- a/src/frontend/Komponenter/Behandling/Vurdering/EndreVurdering.tsx +++ b/src/frontend/Komponenter/Behandling/Vurdering/EndreVurdering.tsx @@ -39,8 +39,6 @@ interface Props { settRedigeringsmodus: (verdi: Redigeringsmodus) => void; feilmelding: string | undefined; initiellRedigeringsmodus: Redigeringsmodus; - skalGjenbrukeVilkår: boolean; - vilkårGjenbruk: IVurdering | null; } const EndreVurdering: FC = ({ @@ -49,8 +47,6 @@ const EndreVurdering: FC = ({ feilmelding, settRedigeringsmodus, initiellRedigeringsmodus, - skalGjenbrukeVilkår, - vilkårGjenbruk, }) => { const { regler, hentAnsvarligSaksbehandler, hentBehandling, settNyEierModalState } = useBehandling(); @@ -114,8 +110,6 @@ const EndreVurdering: FC = ({ vilkårType={vurdering.vilkårType} regler={regler.data.vilkårsregler[vurdering.vilkårType].regler} vurdering={vurdering} - skalGjenbrukeVilkår={skalGjenbrukeVilkår} - vilkårGjenbruk={vilkårGjenbruk} /> )} diff --git a/src/frontend/Komponenter/Behandling/Vurdering/EndreVurderingComponent.tsx b/src/frontend/Komponenter/Behandling/Vurdering/EndreVurderingComponent.tsx index ec95ed594..df240c6af 100644 --- a/src/frontend/Komponenter/Behandling/Vurdering/EndreVurderingComponent.tsx +++ b/src/frontend/Komponenter/Behandling/Vurdering/EndreVurderingComponent.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import { FC, useCallback, useEffect, useState } from 'react'; +import { FC, useState } from 'react'; import { BegrunnelseRegel, Regler, Svarsalternativ } from './typer'; import { IDelvilkår, @@ -27,9 +27,6 @@ import { EkspandertTilstand, useEkspanderbareVilkårpanelContext, } from '../../../App/context/EkspanderbareVilkårpanelContext'; -import { GjenbrukInngangsvilkår } from '../Inngangsvilkår/GjenbrukInngangsvilkår'; -import { RessursStatus } from '../../../App/typer/ressurs'; -import { Behandling } from '../../../App/typer/fagsak'; const LagreKnapp = styled(Button)` margin-top: 1rem; @@ -44,26 +41,13 @@ const EndreVurderingComponent: FC<{ regler: Regler; oppdaterVurdering: (vurdering: SvarPåVilkårsvurdering) => void; vurdering: IVurdering; - skalGjenbrukeVilkår: boolean; - vilkårGjenbruk: IVurdering | null; -}> = ({ regler, oppdaterVurdering, vurdering, skalGjenbrukeVilkår, vilkårGjenbruk }) => { +}> = ({ regler, oppdaterVurdering, vurdering }) => { const { nullstillIkkePersistertKomponent, settIkkePersistertKomponent } = useApp(); const { settPanelITilstand } = useEkspanderbareVilkårpanelContext(); - const [delvilkårsvurderinger, settDelvilkårsvurderinger] = useState([]); - - useEffect(() => { - const skallBrukeGjenbruk = skalGjenbrukeVilkår && vilkårGjenbruk !== null; - settDelvilkårsvurderinger( - filtrerHistoriskeDelvilkår( - skallBrukeGjenbruk - ? vilkårGjenbruk!.delvilkårsvurderinger - : vurdering.delvilkårsvurderinger, - regler - ) - ); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [skalGjenbrukeVilkår, vilkårGjenbruk]); + const [delvilkårsvurderinger, settDelvilkårsvurderinger] = useState( + filtrerHistoriskeDelvilkår(vurdering.delvilkårsvurderinger, regler) + ); const oppdaterVilkårsvar = (index: number, nySvarArray: Vurdering[]) => { settDelvilkårsvurderinger((prevSvar) => { @@ -143,35 +127,6 @@ const EndreVurderingComponent: FC<{ settPanelITilstand(vurdering.vilkårType, EkspandertTilstand.EKSPANDERT); }; - const [behandlingerForVilkårsgjenbruk, settbehandlingerForVilkårsgjenbruk] = useState< - Behandling[] - >([]); - const { axiosRequest } = useApp(); - - const finnBehandlingForGjenbrukAvVilkår = useCallback( - async (behandlingId: string): Promise => { - try { - const respons = await axiosRequest({ - method: 'GET', - url: `/familie-ef-sak/api/behandling/gjenbruk/${behandlingId}`, - }); - if (respons.status === RessursStatus.SUKSESS) { - settbehandlingerForVilkårsgjenbruk(respons.data); - } - return null; - } catch { - return null; - } - }, - [axiosRequest] - ); - - useEffect(() => { - if (vilkårGjenbruk) { - finnBehandlingForGjenbrukAvVilkår(vilkårGjenbruk?.behandlingId); - } - }, [vilkårGjenbruk, finnBehandlingForGjenbrukAvVilkår]); - return ( { @@ -184,17 +139,13 @@ const EndreVurderingComponent: FC<{ }); }} > + {/* {skalGjenbrukeVilkår && vilkårGjenbruk && } */} {delvilkårsvurderinger.map((delvilkår, delvilkårIndex) => { return delvilkår.vurderinger.map((svar) => { const regel = regler[svar.regelId]; return ( - {skalGjenbrukeVilkår && vilkårGjenbruk && ( - - )} >; + handleGjenbrukEnkelVilkårsvurdering: () => Promise; +}> = ({ visModal, settVisModal, handleGjenbrukEnkelVilkårsvurdering }) => { + if (!visModal) { + return null; + } + + return ( + settVisModal(false)} + open={visModal} + aria-labelledby="modal-heading" + header={{ heading: 'Gjenbruk av vilkårsvurdering' }} + > + + + Er du sikker på at du vil gjenbruke vilkårsvurdering fra tidligere behandling? + Inngangsvilkåret vil bli overskrevet. + + + + + + + + ); +}; + +export default ModalGjenbrukVilkårsvurdering; diff --git a/src/frontend/Komponenter/Behandling/Vurdering/VisEllerEndreVurdering.tsx b/src/frontend/Komponenter/Behandling/Vurdering/VisEllerEndreVurdering.tsx index 6aa906c0b..3650eb5ef 100644 --- a/src/frontend/Komponenter/Behandling/Vurdering/VisEllerEndreVurdering.tsx +++ b/src/frontend/Komponenter/Behandling/Vurdering/VisEllerEndreVurdering.tsx @@ -1,12 +1,12 @@ import * as React from 'react'; import { FC, useEffect, useState } from 'react'; import { - InngangsvilkårType, + // InngangsvilkårType, IVurdering, OppdaterVilkårsvurdering, SvarPåVilkårsvurdering, Vilkårsresultat, - VilkårType, + // VilkårType, } from '../Inngangsvilkår/vilkår'; import EndreVurdering from './EndreVurdering'; import VisVurdering from './VisVurdering'; @@ -86,10 +86,7 @@ const VisEllerEndreVurdering: FC = ({ vilkårState, } = useBehandling(); - const { hentEnkelVilkårsvurderingForGjenbruk } = vilkårState; - const [skalGjenbrukeVilkår, settSkalGjenbrukeVilkår] = useState(false); - const [vilkårGjenbruk, settVilkårGjenbruk] = useState(null); - const [skalViseGjenbrukKnapp, settSkalViseGjenbrukKnapp] = useState(false); + const { gjenbrukEnkelVilkårsvurdering } = vilkårState; const { settPanelITilstand } = useEkspanderbareVilkårpanelContext(); const [redigeringsmodus, settRedigeringsmodus] = useState( @@ -98,9 +95,9 @@ const VisEllerEndreVurdering: FC = ({ const [resetFeilmelding, settResetFeilmelding] = useState(); const { nullstillIkkePersistertKomponent, erSaksbehandler } = useApp(); - const erInngangsvilkårType = (vilkårtype: VilkårType): vilkårtype is InngangsvilkårType => { - return Object.values(InngangsvilkårType).includes(vilkårtype as InngangsvilkårType); - }; + // const erInngangsvilkårType = (vilkårtype: VilkårType): vilkårtype is InngangsvilkårType => { + // return Object.values(InngangsvilkårType).includes(vilkårtype as InngangsvilkårType); + // }; useEffect(() => { settRedigeringsmodus(utledRedigeringsmodus(feilmelding, vurdering, behandlingErRedigerbar)); @@ -122,17 +119,9 @@ const VisEllerEndreVurdering: FC = ({ }); }; - const hentResponsForEnkeltVilkår = async () => { - settRedigeringsmodus(Redigeringsmodus.REDIGERING); - const vilkår = await hentEnkelVilkårsvurderingForGjenbruk( - vurdering.behandlingId, - vurdering.id - ); - if (vilkår) { - settVilkårGjenbruk(vilkår); - settSkalGjenbrukeVilkår(true); - } - settPanelITilstand(vurdering.vilkårType, EkspandertTilstand.KAN_IKKE_LUKKES); + const handleGjenbrukEnkelVilkårsvurdering = async () => { + // settRedigeringsmodus(Redigeringsmodus.REDIGERING); + gjenbrukEnkelVilkårsvurdering(vurdering.behandlingId, vurdering.id); }; const initiellRedigeringsmodus = @@ -157,31 +146,10 @@ const VisEllerEndreVurdering: FC = ({ }); const startRedigering = () => { - settSkalGjenbrukeVilkår(false); settRedigeringsmodus(Redigeringsmodus.REDIGERING); settPanelITilstand(vurdering.vilkårType, EkspandertTilstand.KAN_IKKE_LUKKES); }; - useEffect(() => { - if (erInngangsvilkårType(vurdering.vilkårType)) { - const fetchVilkår = async () => { - const vilkår = await hentEnkelVilkårsvurderingForGjenbruk( - vurdering.behandlingId, - vurdering.id - ); - if (vilkår) { - settVilkårGjenbruk(vilkår); - } - }; - fetchVilkår(); - } - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [vurdering.behandlingId, vurdering.id]); - - useEffect(() => { - settSkalViseGjenbrukKnapp(vilkårGjenbruk !== null); - }, [vilkårGjenbruk]); - switch (redigeringsmodus) { case Redigeringsmodus.IKKE_PÅSTARTET: return ( @@ -192,15 +160,13 @@ const VisEllerEndreVurdering: FC = ({ - {skalViseGjenbrukKnapp && ( - - )} + ); case Redigeringsmodus.REDIGERING: @@ -211,8 +177,6 @@ const VisEllerEndreVurdering: FC = ({ feilmelding={feilmelding || resetFeilmelding} settRedigeringsmodus={settRedigeringsmodus} initiellRedigeringsmodus={initiellRedigeringsmodus} - skalGjenbrukeVilkår={skalGjenbrukeVilkår} - vilkårGjenbruk={vilkårGjenbruk} /> ); case Redigeringsmodus.VISNING: @@ -224,8 +188,7 @@ const VisEllerEndreVurdering: FC = ({ feilmelding={feilmelding || resetFeilmelding} behandlingErRedigerbar={behandlingErRedigerbar && erSaksbehandler} tittelTekst={tittelTekstVisVurdering} - hentResponsForEnkeltVilkår={hentResponsForEnkeltVilkår} - skalViseGjenbrukKnapp={skalViseGjenbrukKnapp} + handleGjenbrukEnkelVilkårsvurdering={handleGjenbrukEnkelVilkårsvurdering} /> ); } diff --git a/src/frontend/Komponenter/Behandling/Vurdering/VisVurdering.tsx b/src/frontend/Komponenter/Behandling/Vurdering/VisVurdering.tsx index 2b5dc809d..d9cc4ffa2 100644 --- a/src/frontend/Komponenter/Behandling/Vurdering/VisVurdering.tsx +++ b/src/frontend/Komponenter/Behandling/Vurdering/VisVurdering.tsx @@ -21,6 +21,7 @@ import { SmallTextLabel, } from '../../../Felles/Visningskomponenter/Tekster'; import { ATextSubtle } from '@navikt/ds-tokens/dist/tokens'; +import ModalGjenbrukVilkårsvurdering from './ModalGjenbrukVilkårsvurdering'; const StyledVilkår = styled.div` grid-column: 2/4; @@ -62,8 +63,7 @@ interface Props { startRedigering: () => void; behandlingErRedigerbar: boolean; tittelTekst?: string; - hentResponsForEnkeltVilkår: () => Promise; - skalViseGjenbrukKnapp: boolean; + handleGjenbrukEnkelVilkårsvurdering: () => Promise; } const VisVurdering: FC = ({ @@ -73,8 +73,7 @@ const VisVurdering: FC = ({ feilmelding, behandlingErRedigerbar, tittelTekst, - hentResponsForEnkeltVilkår, - skalViseGjenbrukKnapp, + handleGjenbrukEnkelVilkårsvurdering, }) => { const vilkårsresultat = vurdering.resultat; const sistOppdatert = formaterIsoDatoTidMedSekunder( @@ -90,6 +89,8 @@ const VisVurdering: FC = ({ (delvilkårsvurdering) => delvilkårsvurdering.resultat === Vilkårsresultat.AUTOMATISK_OPPFYLT ); + const [visModal, settVisModal] = React.useState(false); + return ( {erAutomatiskVurdert && } @@ -128,17 +129,16 @@ const VisVurdering: FC = ({ > Slett - {skalViseGjenbrukKnapp && ( - - )} + + {feilmelding && ( @@ -151,6 +151,12 @@ const VisVurdering: FC = ({ )} + + {(vilkårsresultat === Vilkårsresultat.OPPFYLT || From 32a22fa93b346a751ca201708f84055b3a988dc6 Mon Sep 17 00:00:00 2001 From: gunnsteingarmo Date: Tue, 26 Nov 2024 18:22:09 +0100 Subject: [PATCH 09/15] =?UTF-8?q?Skal=20kun=20vise=20gjenbruk-knapp=20p?= =?UTF-8?q?=C3=A5=20inngangsvilk=C3=A5r.=20Slettet=20ubrukt=20kode.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../App/context/BehandlingContext.tsx | 5 ---- src/frontend/App/hooks/useHentBehandlinger.ts | 26 ----------------- .../ModalGjenbrukVilk\303\245rsvurdering.tsx" | 2 +- .../Vurdering/VisEllerEndreVurdering.tsx | 28 +++++++++---------- .../Behandling/Vurdering/VisVurdering.tsx | 25 +++++++++-------- .../Komponenter/Behandling/Vurdering/utils.ts | 8 +++++- 6 files changed, 35 insertions(+), 59 deletions(-) delete mode 100644 src/frontend/App/hooks/useHentBehandlinger.ts diff --git a/src/frontend/App/context/BehandlingContext.tsx b/src/frontend/App/context/BehandlingContext.tsx index 22069c3e0..0cef315af 100644 --- a/src/frontend/App/context/BehandlingContext.tsx +++ b/src/frontend/App/context/BehandlingContext.tsx @@ -22,7 +22,6 @@ import { useApp } from './AppContext'; import { ModalState, utledModalState } from '../../Komponenter/Behandling/Modal/NyEierModal'; import { useHentVedtak } from '../hooks/useHentVedtak'; import { useHentFagsak } from '../hooks/useHentFagsak'; -import { useHentBehandlinger } from '../hooks/useHentBehandlinger'; const [BehandlingProvider, useBehandling] = constate(() => { const { innloggetSaksbehandler } = useApp(); @@ -41,10 +40,8 @@ const [BehandlingProvider, useBehandling] = constate(() => { const { hentAnsvarligSaksbehandlerCallback, ansvarligSaksbehandler } = useHentAnsvarligSaksbehandler(behandlingId); const { hentVedtak: hentVedtakCallback, vedtak, vedtaksresultat } = useHentVedtak(behandlingId); - const { hentBehandlingerCallback, behandlinger } = useHentBehandlinger(behandlingId); const hentBehandling = useRerunnableEffect(hentBehandlingCallback, [behandlingId]); - const hentBehandlinger = useRerunnableEffect(hentBehandlingerCallback, [behandlingId]); const hentAnsvarligSaksbehandler = useRerunnableEffect(hentAnsvarligSaksbehandlerCallback, [ behandlingId, ]); @@ -131,8 +128,6 @@ const [BehandlingProvider, useBehandling] = constate(() => { hentAnsvarligSaksbehandler, hentBehandling, hentBehandlingshistorikk, - hentBehandlinger, - behandlinger, hentTotrinnskontroll, nullstillGrunnlagsendringer, personopplysningerResponse, diff --git a/src/frontend/App/hooks/useHentBehandlinger.ts b/src/frontend/App/hooks/useHentBehandlinger.ts deleted file mode 100644 index 393310a64..000000000 --- a/src/frontend/App/hooks/useHentBehandlinger.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { useState, useCallback } from 'react'; -import { Behandling } from '../typer/fagsak'; -import { byggTomRessurs, Ressurs } from '../typer/ressurs'; -import { AxiosRequestConfig } from 'axios'; -import { useApp } from '../context/AppContext'; - -export const useHentBehandlinger = (behandlingId: string) => { - const [behandlinger, settBehandlinger] = useState>(byggTomRessurs()); - - const { axiosRequest } = useApp(); - - const hentBehandlingerCallback = useCallback(() => { - const behandlingConfig: AxiosRequestConfig = { - method: 'GET', - url: `/familie-ef-sak/api/behandling/gjenbruk/${behandlingId}`, - }; - axiosRequest(behandlingConfig).then((res: Ressurs) => - settBehandlinger(res) - ); - }, [axiosRequest, behandlingId]); - - return { - hentBehandlingerCallback, - behandlinger, - }; -}; diff --git "a/src/frontend/Komponenter/Behandling/Vurdering/ModalGjenbrukVilk\303\245rsvurdering.tsx" "b/src/frontend/Komponenter/Behandling/Vurdering/ModalGjenbrukVilk\303\245rsvurdering.tsx" index 146ff291c..ce460c33b 100644 --- "a/src/frontend/Komponenter/Behandling/Vurdering/ModalGjenbrukVilk\303\245rsvurdering.tsx" +++ "b/src/frontend/Komponenter/Behandling/Vurdering/ModalGjenbrukVilk\303\245rsvurdering.tsx" @@ -4,7 +4,7 @@ import React, { FC } from 'react'; const ModalGjenbrukVilkårsvurdering: FC<{ visModal: boolean; settVisModal: React.Dispatch>; - handleGjenbrukEnkelVilkårsvurdering: () => Promise; + handleGjenbrukEnkelVilkårsvurdering: () => void; }> = ({ visModal, settVisModal, handleGjenbrukEnkelVilkårsvurdering }) => { if (!visModal) { return null; diff --git a/src/frontend/Komponenter/Behandling/Vurdering/VisEllerEndreVurdering.tsx b/src/frontend/Komponenter/Behandling/Vurdering/VisEllerEndreVurdering.tsx index 3650eb5ef..5c482d06a 100644 --- a/src/frontend/Komponenter/Behandling/Vurdering/VisEllerEndreVurdering.tsx +++ b/src/frontend/Komponenter/Behandling/Vurdering/VisEllerEndreVurdering.tsx @@ -1,12 +1,10 @@ import * as React from 'react'; import { FC, useEffect, useState } from 'react'; import { - // InngangsvilkårType, IVurdering, OppdaterVilkårsvurdering, SvarPåVilkårsvurdering, Vilkårsresultat, - // VilkårType, } from '../Inngangsvilkår/vilkår'; import EndreVurdering from './EndreVurdering'; import VisVurdering from './VisVurdering'; @@ -20,6 +18,7 @@ import { useEkspanderbareVilkårpanelContext, } from '../../../App/context/EkspanderbareVilkårpanelContext'; import { ModalState } from '../Modal/NyEierModal'; +import { sjekkErInngangsvilkårType } from './utils'; const KnappWrapper = styled.div` display: flex; @@ -95,10 +94,6 @@ const VisEllerEndreVurdering: FC = ({ const [resetFeilmelding, settResetFeilmelding] = useState(); const { nullstillIkkePersistertKomponent, erSaksbehandler } = useApp(); - // const erInngangsvilkårType = (vilkårtype: VilkårType): vilkårtype is InngangsvilkårType => { - // return Object.values(InngangsvilkårType).includes(vilkårtype as InngangsvilkårType); - // }; - useEffect(() => { settRedigeringsmodus(utledRedigeringsmodus(feilmelding, vurdering, behandlingErRedigerbar)); }, [vurdering, feilmelding, behandlingErRedigerbar]); @@ -119,8 +114,7 @@ const VisEllerEndreVurdering: FC = ({ }); }; - const handleGjenbrukEnkelVilkårsvurdering = async () => { - // settRedigeringsmodus(Redigeringsmodus.REDIGERING); + const handleGjenbrukEnkelVilkårsvurdering = () => { gjenbrukEnkelVilkårsvurdering(vurdering.behandlingId, vurdering.id); }; @@ -150,6 +144,8 @@ const VisEllerEndreVurdering: FC = ({ settPanelITilstand(vurdering.vilkårType, EkspandertTilstand.KAN_IKKE_LUKKES); }; + const erInngangsvilkårType = sjekkErInngangsvilkårType(vurdering.vilkårType); + switch (redigeringsmodus) { case Redigeringsmodus.IKKE_PÅSTARTET: return ( @@ -160,13 +156,15 @@ const VisEllerEndreVurdering: FC = ({ - + {erInngangsvilkårType && ( + + )} ); case Redigeringsmodus.REDIGERING: diff --git a/src/frontend/Komponenter/Behandling/Vurdering/VisVurdering.tsx b/src/frontend/Komponenter/Behandling/Vurdering/VisVurdering.tsx index d9cc4ffa2..3a6d96047 100644 --- a/src/frontend/Komponenter/Behandling/Vurdering/VisVurdering.tsx +++ b/src/frontend/Komponenter/Behandling/Vurdering/VisVurdering.tsx @@ -22,6 +22,7 @@ import { } from '../../../Felles/Visningskomponenter/Tekster'; import { ATextSubtle } from '@navikt/ds-tokens/dist/tokens'; import ModalGjenbrukVilkårsvurdering from './ModalGjenbrukVilkårsvurdering'; +import { sjekkErInngangsvilkårType } from './utils'; const StyledVilkår = styled.div` grid-column: 2/4; @@ -63,7 +64,7 @@ interface Props { startRedigering: () => void; behandlingErRedigerbar: boolean; tittelTekst?: string; - handleGjenbrukEnkelVilkårsvurdering: () => Promise; + handleGjenbrukEnkelVilkårsvurdering: () => void; } const VisVurdering: FC = ({ @@ -91,6 +92,7 @@ const VisVurdering: FC = ({ const [visModal, settVisModal] = React.useState(false); + const erInngangsvilkårType = sjekkErInngangsvilkårType(vurdering.vilkårType); return ( {erAutomatiskVurdert && } @@ -129,16 +131,17 @@ const VisVurdering: FC = ({ > Slett - - + {erInngangsvilkårType && ( + + )} {feilmelding && ( diff --git a/src/frontend/Komponenter/Behandling/Vurdering/utils.ts b/src/frontend/Komponenter/Behandling/Vurdering/utils.ts index 3c294d9e3..96cf16e45 100644 --- a/src/frontend/Komponenter/Behandling/Vurdering/utils.ts +++ b/src/frontend/Komponenter/Behandling/Vurdering/utils.ts @@ -7,7 +7,7 @@ import { Regler, Svarsalternativ, } from './typer'; -import { IDelvilkår, Vurdering } from '../Inngangsvilkår/vilkår'; +import { IDelvilkår, InngangsvilkårType, VilkårType, Vurdering } from '../Inngangsvilkår/vilkår'; import { harIkkeVerdi, harVerdi } from '../../../App/utils/utils'; export const manglerBegrunnelse = (begrunnelse: string | undefined | null): boolean => { @@ -175,3 +175,9 @@ export const kopierBegrunnelse = ( return nyeVurderinger; } }; + +export const sjekkErInngangsvilkårType = ( + vilkårtype: VilkårType +): vilkårtype is InngangsvilkårType => { + return Object.values(InngangsvilkårType).includes(vilkårtype as InngangsvilkårType); +}; From 3dbdea74d36f6fafa249b445f5a860f4b3af0cfe Mon Sep 17 00:00:00 2001 From: gunnsteingarmo Date: Tue, 26 Nov 2024 18:23:27 +0100 Subject: [PATCH 10/15] Slettet ubrukt kode. --- .../GjenbrukInngangsvilk\303\245r.tsx" | 99 ------------------- .../Vurdering/EndreVurderingComponent.tsx | 1 - 2 files changed, 100 deletions(-) delete mode 100644 "src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/GjenbrukInngangsvilk\303\245r.tsx" diff --git "a/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/GjenbrukInngangsvilk\303\245r.tsx" "b/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/GjenbrukInngangsvilk\303\245r.tsx" deleted file mode 100644 index 7cbf10437..000000000 --- "a/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/GjenbrukInngangsvilk\303\245r.tsx" +++ /dev/null @@ -1,99 +0,0 @@ -import React, { useState } from 'react'; -import { ChevronUpIcon, ChevronDownIcon, ExternalLinkIcon } from '@navikt/aksel-icons'; -import { Alert, Button, Link } from '@navikt/ds-react'; -import { behandlingResultatTilTekst } from '../../../App/typer/fagsak'; -import { behandlingstypeTilTekst } from '../../../App/typer/behandlingstype'; -import { formaterIsoDato } from '../../../App/utils/formatter'; -import { stønadstypeTilTekst } from '../../../App/typer/behandlingstema'; -import { behandlingStatusTilTekst } from '../../../App/typer/behandlingstatus'; -import { Table } from '@navikt/ds-react'; -import { useBehandling } from '../../../App/context/BehandlingContext'; -import DataViewer from '../../../Felles/DataViewer/DataViewer'; - -export const GjenbrukInngangsvilkår: React.FC = () => { - const { behandlinger } = useBehandling(); - const [visForrigeBehandlinger, settVisForrigeBehandlinger] = useState(false); - - return ( - - {({ behandlinger }) => { - const behandlingSomBlirGjenbrukt = behandlinger.slice(0, 1); - - return ( - - - - {visForrigeBehandlinger && ( - - - - - Stønadstype - - - Behandlingstype - - - Status - - - Vedtaksdato - - - Resultat - - - - - {behandlingSomBlirGjenbrukt.map((behandling) => { - return ( - - - {stønadstypeTilTekst[behandling.stønadstype]} - - - - {behandlingstypeTilTekst[behandling.type]} - - - - - {behandlingStatusTilTekst[behandling.status]} - - - {behandling.vedtaksdato && - formaterIsoDato(behandling.vedtaksdato)} - - - { - behandlingResultatTilTekst[ - behandling.resultat - ] - } - - - ); - })} - -
- )} -
- ); - }} -
- ); -}; diff --git a/src/frontend/Komponenter/Behandling/Vurdering/EndreVurderingComponent.tsx b/src/frontend/Komponenter/Behandling/Vurdering/EndreVurderingComponent.tsx index df240c6af..7c22cc669 100644 --- a/src/frontend/Komponenter/Behandling/Vurdering/EndreVurderingComponent.tsx +++ b/src/frontend/Komponenter/Behandling/Vurdering/EndreVurderingComponent.tsx @@ -139,7 +139,6 @@ const EndreVurderingComponent: FC<{ }); }} > - {/* {skalGjenbrukeVilkår && vilkårGjenbruk && } */} {delvilkårsvurderinger.map((delvilkår, delvilkårIndex) => { return delvilkår.vurderinger.map((svar) => { const regel = regler[svar.regelId]; From 14c676e1fbdc30a9eba9e1ef232e5c22261a08d3 Mon Sep 17 00:00:00 2001 From: gunnsteingarmo Date: Tue, 26 Nov 2024 18:26:42 +0100 Subject: [PATCH 11/15] Undo endringer i fil. --- .../Behandling/Vurdering/EndreVurderingComponent.tsx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/frontend/Komponenter/Behandling/Vurdering/EndreVurderingComponent.tsx b/src/frontend/Komponenter/Behandling/Vurdering/EndreVurderingComponent.tsx index 7c22cc669..bc40eff22 100644 --- a/src/frontend/Komponenter/Behandling/Vurdering/EndreVurderingComponent.tsx +++ b/src/frontend/Komponenter/Behandling/Vurdering/EndreVurderingComponent.tsx @@ -21,18 +21,22 @@ import { import Begrunnelse from './Begrunnelse'; import Delvilkår from './Delvilkår'; import { useApp } from '../../../App/context/AppContext'; -import { Button, VStack } from '@navikt/ds-react'; +import { Button } from '@navikt/ds-react'; import styled from 'styled-components'; import { EkspandertTilstand, useEkspanderbareVilkårpanelContext, } from '../../../App/context/EkspanderbareVilkårpanelContext'; +/** + * Skal resette undervilkår, men ikke rootnivå hvis en tidligere endrer seg + */ + const LagreKnapp = styled(Button)` margin-top: 1rem; `; -const DelvilkårContainer = styled(VStack)` +const DelvilkårContainer = styled.div` margin-bottom: 1rem; `; @@ -44,7 +48,6 @@ const EndreVurderingComponent: FC<{ }> = ({ regler, oppdaterVurdering, vurdering }) => { const { nullstillIkkePersistertKomponent, settIkkePersistertKomponent } = useApp(); const { settPanelITilstand } = useEkspanderbareVilkårpanelContext(); - const [delvilkårsvurderinger, settDelvilkårsvurderinger] = useState( filtrerHistoriskeDelvilkår(vurdering.delvilkårsvurderinger, regler) ); @@ -144,7 +147,7 @@ const EndreVurderingComponent: FC<{ const regel = regler[svar.regelId]; return ( - + Date: Wed, 27 Nov 2024 12:47:30 +0100 Subject: [PATCH 12/15] =?UTF-8?q?Flyttet=20useState=20h=C3=B8yere=20opp=20?= =?UTF-8?q?i=20filen.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/frontend/Komponenter/Behandling/Vurdering/VisVurdering.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/frontend/Komponenter/Behandling/Vurdering/VisVurdering.tsx b/src/frontend/Komponenter/Behandling/Vurdering/VisVurdering.tsx index 3a6d96047..ad2e6d1b0 100644 --- a/src/frontend/Komponenter/Behandling/Vurdering/VisVurdering.tsx +++ b/src/frontend/Komponenter/Behandling/Vurdering/VisVurdering.tsx @@ -76,6 +76,7 @@ const VisVurdering: FC = ({ tittelTekst, handleGjenbrukEnkelVilkårsvurdering, }) => { + const [visModal, settVisModal] = React.useState(false); const vilkårsresultat = vurdering.resultat; const sistOppdatert = formaterIsoDatoTidMedSekunder( vurdering.opphavsvilkår?.endretTid || vurdering.endretTid @@ -90,8 +91,6 @@ const VisVurdering: FC = ({ (delvilkårsvurdering) => delvilkårsvurdering.resultat === Vilkårsresultat.AUTOMATISK_OPPFYLT ); - const [visModal, settVisModal] = React.useState(false); - const erInngangsvilkårType = sjekkErInngangsvilkårType(vurdering.vilkårType); return ( From 28536a61c1ae45b003f6eb591cc29a5124d791e8 Mon Sep 17 00:00:00 2001 From: gunnsteingarmo Date: Wed, 27 Nov 2024 13:11:30 +0100 Subject: [PATCH 13/15] Oppdatert import --- .../Inngangsvilk\303\245r/OppdaterOpplysninger.tsx" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/OppdaterOpplysninger.tsx" "b/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/OppdaterOpplysninger.tsx" index a09a3c557..5c399ccff 100644 --- "a/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/OppdaterOpplysninger.tsx" +++ "b/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/OppdaterOpplysninger.tsx" @@ -2,9 +2,9 @@ import React, { useState } from 'react'; import styled from 'styled-components'; import { ArrowsCirclepathIcon } from '@navikt/aksel-icons'; import { Button, HelpText } from '@navikt/ds-react'; -import { DetailSmall } from '../../../../Felles/Visningskomponenter/Tekster'; +import { DetailSmall } from '../../../Felles/Visningskomponenter/Tekster'; import { ATextSubtle } from '@navikt/ds-tokens/dist/tokens'; -import { useBehandling } from '../../../../App/context/BehandlingContext'; +import { useBehandling } from '../../../App/context/BehandlingContext'; const FlexWrapper = styled.div` display: flex; From 1182aa68986a77a0976b020d73daa73ef2f4505a Mon Sep 17 00:00:00 2001 From: gunnsteingarmo Date: Fri, 29 Nov 2024 14:56:02 +0100 Subject: [PATCH 14/15] =?UTF-8?q?Endret=20navn=20p=C3=A5=20variabler.=20Re?= =?UTF-8?q?fakorer=20gjenbrukEnkelVilk=C3=A5rsvurdering,=20bruker=20oppdat?= =?UTF-8?q?erInngangsvilk=C3=A5rMedVurdering=20og=20setter=20feilmelding.?= =?UTF-8?q?=20M=C3=A5=20ha=20med=20Inngangsvilk=C3=A5rHeader,=20skal=20for?= =?UTF-8?q?tsatt=20kunne=20oppdatere=20opplysninger=20og=20lukke/=C3=A5pne?= =?UTF-8?q?=20alle=20vurderinger.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "src/frontend/App/hooks/useVilk\303\245r.ts" | 28 ++++----- .../Inngangsvilk\303\245rFane.tsx" | 16 +++++ .../Inngangsvilk\303\245rHeader.tsx" | 59 +++++++++++++++++++ .../ModalGjenbrukVilk\303\245rsvurdering.tsx" | 6 +- .../Vurdering/VisEllerEndreVurdering.tsx | 6 +- .../Behandling/Vurdering/VisVurdering.tsx | 6 +- 6 files changed, 94 insertions(+), 27 deletions(-) create mode 100644 "src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/Inngangsvilk\303\245rHeader.tsx" diff --git "a/src/frontend/App/hooks/useVilk\303\245r.ts" "b/src/frontend/App/hooks/useVilk\303\245r.ts" index 520c9a199..b3cf939e9 100644 --- "a/src/frontend/App/hooks/useVilk\303\245r.ts" +++ "b/src/frontend/App/hooks/useVilk\303\245r.ts" @@ -159,24 +159,16 @@ export const useVilkår = (): UseVilkår => { url: `/familie-ef-sak/api/vurdering/gjenbruk-enkelt-vilkår`, data: { behandlingId: behandlingId, vilkårId: vilkårId }, }).then((respons: RessursSuksess | RessursFeilet) => { - settVilkår((prevVilkår) => { - if ( - prevVilkår.status === RessursStatus.SUKSESS && - respons.status === RessursStatus.SUKSESS - ) { - return { - ...prevVilkår, - status: RessursStatus.SUKSESS, - data: { - ...prevVilkår.data, - vurderinger: prevVilkår.data.vurderinger.map((vurdering) => - vurdering.id === respons.data.id ? respons.data : vurdering - ), - }, - }; - } - return prevVilkår; - }); + if (respons.status === RessursStatus.SUKSESS) { + settVilkår((prevInngangsvilkår) => + oppdaterInngangsvilkårMedVurdering( + prevInngangsvilkår as RessursSuksess, + respons.data + ) + ); + } else { + leggTilFeilmelding(vilkårId, respons.frontendFeilmelding); + } }); }, [axiosRequest] diff --git "a/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/Inngangsvilk\303\245rFane.tsx" "b/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/Inngangsvilk\303\245rFane.tsx" index bbd1e2c09..a7a73a4a7 100644 --- "a/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/Inngangsvilk\303\245rFane.tsx" +++ "b/src/frontend/Komponenter/Behandling/Inngangsvilk\303\245r/Inngangsvilk\303\245rFane.tsx" @@ -12,6 +12,9 @@ import { Behandlingsårsak } from '../../../App/typer/behandlingsårsak'; import { FyllUtVilkårKnapp } from './FyllUtVilkårKnapp'; import VilkårIkkeOpprettetAlert from '../Vurdering/VilkårIkkeOpprettet'; import { Behandling } from '../../../App/typer/fagsak'; +import { useApp } from '../../../App/context/AppContext'; +import { InngangsvilkårHeader } from './InngangsvilkårHeader'; +import { formaterIsoDatoTidMedSekunder } from '../../../App/utils/formatter'; interface Props { behandling: Behandling; @@ -19,6 +22,7 @@ interface Props { export const InngangsvilkårFane: FC = ({ behandling }) => { const { behandlingErRedigerbar, vilkårState } = useBehandling(); + const { erSaksbehandler } = useApp(); const { vilkår, hentVilkår, @@ -26,6 +30,7 @@ export const InngangsvilkårFane: FC = ({ behandling }) => { feilmeldinger, nullstillVurdering, ikkeVurderVilkår, + oppdaterGrunnlagsdataOgHentVilkår, } = vilkårState; React.useEffect(() => { @@ -38,6 +43,9 @@ export const InngangsvilkårFane: FC = ({ behandling }) => { const årsak = behandling.behandlingsårsak; const skalViseSøknadsdata = årsak === Behandlingsårsak.SØKNAD || årsak === Behandlingsårsak.PAPIRSØKNAD; + const grunnlagsdataInnhentetDato = formaterIsoDatoTidMedSekunder( + vilkår.grunnlag.registeropplysningerOpprettetTid + ); return vilkår.vurderinger.length === 0 ? ( @@ -48,6 +56,14 @@ export const InngangsvilkårFane: FC = ({ behandling }) => { hentVilkår={hentVilkår} behandlingErRedigerbar={behandlingErRedigerbar} /> + {erSaksbehandler && ( + + )} Promise; + behandlingId: string; +} + +export const InngangsvilkårHeader: React.FC = ({ + oppdatertDato, + behandlingErRedigerbar, + oppdaterGrunnlagsdata, + behandlingId, +}) => { + const { lukkAlle, åpneAlle } = useEkspanderbareVilkårpanelContext(); + + return ( + + + + + + <ÅpneOgLukkePanelKnapper + lukkAlle={() => lukkAlle(EVilkårstyper.INNGANGSVILKÅR)} + åpneAlle={() => åpneAlle(EVilkårstyper.INNGANGSVILKÅR)} + /> + + + ); +}; diff --git "a/src/frontend/Komponenter/Behandling/Vurdering/ModalGjenbrukVilk\303\245rsvurdering.tsx" "b/src/frontend/Komponenter/Behandling/Vurdering/ModalGjenbrukVilk\303\245rsvurdering.tsx" index ce460c33b..90649b041 100644 --- "a/src/frontend/Komponenter/Behandling/Vurdering/ModalGjenbrukVilk\303\245rsvurdering.tsx" +++ "b/src/frontend/Komponenter/Behandling/Vurdering/ModalGjenbrukVilk\303\245rsvurdering.tsx" @@ -4,8 +4,8 @@ import React, { FC } from 'react'; const ModalGjenbrukVilkårsvurdering: FC<{ visModal: boolean; settVisModal: React.Dispatch>; - handleGjenbrukEnkelVilkårsvurdering: () => void; -}> = ({ visModal, settVisModal, handleGjenbrukEnkelVilkårsvurdering }) => { + gjenbrukVilkårsvurdering: () => void; +}> = ({ visModal, settVisModal, gjenbrukVilkårsvurdering }) => { if (!visModal) { return null; } @@ -27,7 +27,7 @@ const ModalGjenbrukVilkårsvurdering: FC<{ {erInngangsvilkårType && ( - {erInngangsvilkårType && ( + {skalViseGjenbrukKnapp(vurdering) && ( - {erInngangsvilkårType && ( + {skalViseGjenbrukKnapp(vurdering) && (