From a95652355186c92e00e6c423f4c3d0378453185f Mon Sep 17 00:00:00 2001 From: Daniel Eriksson Date: Mon, 9 Sep 2024 13:53:06 +0200 Subject: [PATCH] Support new oppgave type: Ny behandling etter TR har opphevet --- frontend/src/components/app/router.tsx | 2 + .../src/components/behandling/behandling.tsx | 18 +-- .../behandling-etter-tr-opphevet-detaljer.tsx | 115 ++++++++++++++++++ .../common-table-components/open.tsx | 81 ++++++------ .../use-hide-kvalitetsvurdering.ts | 2 +- .../confirm-finish.tsx | 7 +- .../deassign/deassign-oppgave.tsx | 8 +- .../oppgavestyring/fradel-button.tsx | 3 +- .../new-document/new-document.tsx | 9 +- .../behandling-etter-tr-opphevet.tsx | 3 + .../behandling-etter-tr-opphevet-vedtak.ts | 57 +++++++++ frontend/src/plate/templates/templates.ts | 10 ++ frontend/src/types/field-names.ts | 1 + frontend/src/types/kodeverk.ts | 1 + .../oppgavebehandling/oppgavebehandling.ts | 12 +- .../src/types/smart-editor/template-enums.ts | 1 + 16 files changed, 271 insertions(+), 59 deletions(-) create mode 100644 frontend/src/components/behandling/behandlingsdetaljer/behandling-etter-tr-opphevet-detaljer.tsx create mode 100644 frontend/src/pages/behandling-etter-tr-opphevet/behandling-etter-tr-opphevet.tsx create mode 100644 frontend/src/plate/templates/behandling-etter-tr-opphevet-vedtak.ts diff --git a/frontend/src/components/app/router.tsx b/frontend/src/components/app/router.tsx index 5fe5bcea0..9be6adcba 100644 --- a/frontend/src/components/app/router.tsx +++ b/frontend/src/components/app/router.tsx @@ -5,6 +5,7 @@ import { ModalEnum } from '@app/components/svarbrev/row/row'; import { AccessRightsPage } from '@app/pages/access-rights/access-rights'; import { AdminPage } from '@app/pages/admin/admin'; import { AnkebehandlingPage } from '@app/pages/ankebehandling/ankebehandling'; +import { BehandlingEtterTrOpphevetPage } from '@app/pages/behandling-etter-tr-opphevet/behandling-etter-tr-opphevet'; import { BunnteksterPage } from '@app/pages/bunntekster/bunntekster'; import { GodeFormuleringerPage } from '@app/pages/gode-formuleringer/gode-formuleringer'; import { KlagebehandlingPage } from '@app/pages/klagebehandling/klagebehandling'; @@ -33,6 +34,7 @@ export const Router = () => ( } /> } /> } /> + } /> }> diff --git a/frontend/src/components/behandling/behandling.tsx b/frontend/src/components/behandling/behandling.tsx index 652c7c68e..df5c4d1d7 100644 --- a/frontend/src/components/behandling/behandling.tsx +++ b/frontend/src/components/behandling/behandling.tsx @@ -1,4 +1,5 @@ import { Heading, Skeleton } from '@navikt/ds-react'; +import { BehandlingEtterTrOpphevetDetaljer } from '@app/components/behandling/behandlingsdetaljer/behandling-etter-tr-opphevet-detaljer'; import { BehandlingSection } from '@app/components/behandling/behandlingsdetaljer/behandling-section'; import { useOppgave } from '@app/hooks/oppgavebehandling/use-oppgave'; import { useBehandlingEnabled } from '@app/hooks/settings/use-setting'; @@ -67,13 +68,14 @@ const Behandlingsdetaljer = () => { ); } - if (oppgave.typeId === SaksTypeEnum.KLAGE) { - return ; + switch (oppgave.typeId) { + case SaksTypeEnum.KLAGE: + return ; + case SaksTypeEnum.ANKE: + return ; + case SaksTypeEnum.ANKE_I_TRYGDERETTEN: + return ; + case SaksTypeEnum.BEHANDLING_ETTER_TR_OPPHEVET: + return ; } - - if (oppgave.typeId === SaksTypeEnum.ANKE) { - return ; - } - - return ; }; diff --git a/frontend/src/components/behandling/behandlingsdetaljer/behandling-etter-tr-opphevet-detaljer.tsx b/frontend/src/components/behandling/behandlingsdetaljer/behandling-etter-tr-opphevet-detaljer.tsx new file mode 100644 index 000000000..841a36edd --- /dev/null +++ b/frontend/src/components/behandling/behandlingsdetaljer/behandling-etter-tr-opphevet-detaljer.tsx @@ -0,0 +1,115 @@ +import { Heading } from '@navikt/ds-react'; +import { ExtraUtfall } from '@app/components/behandling/behandlingsdetaljer/extra-utfall'; +import { GosysBeskrivelse } from '@app/components/behandling/behandlingsdetaljer/gosys/beskrivelse'; +import { ReadOnlyDate } from '@app/components/behandling/behandlingsdetaljer/read-only-date'; +import { Saksnummer } from '@app/components/behandling/behandlingsdetaljer/saksnummer'; +import { Type } from '@app/components/type/type'; +import { isoDateToPretty } from '@app/domain/date'; +import { useUpdateFullmektigMutation, useUpdateKlagerMutation } from '@app/redux-api/oppgaver/mutations/behandling'; +import { IBehandlingEtterTryderettenOpphevet as IBehandlingEtterTrOpphevet } from '@app/types/oppgavebehandling/oppgavebehandling'; +import { Part } from '../../part/part'; +import { StyledBehandlingSection } from '../styled-components'; +import { BehandlingSection } from './behandling-section'; +import { Lovhjemmel } from './lovhjemmel/lovhjemmel'; +import { MeldingFraVedtaksinstans } from './melding-fra-vedtaksinstans'; +import { UtfallResultat } from './utfall-resultat'; +import { Ytelse } from './ytelse'; + +interface Props { + oppgavebehandling: IBehandlingEtterTrOpphevet; +} + +export const BehandlingEtterTrOpphevetDetaljer = ({ oppgavebehandling }: Props) => { + const [updateFullmektig, { isLoading: fullmektigIsLoading }] = useUpdateFullmektigMutation(); + const [updateKlager, { isLoading: klagerIsLoading }] = useUpdateKlagerMutation(); + + const { + typeId, + fraNAVEnhetNavn, + fraNAVEnhet, + mottattKlageinstans, + kommentarFraVedtaksinstans, + oppgavebeskrivelse, + resultat, + ytelseId, + prosessfullmektig, + saksnummer, + varsletFrist, + kjennelseMottatt, + created, + } = oppgavebehandling; + + return ( + + + Behandling + + + updateKlager({ klager, oppgaveId: oppgavebehandling.id })} + isLoading={klagerIsLoading} + /> + + updateFullmektig({ fullmektig, oppgaveId: oppgavebehandling.id })} + isLoading={fullmektigIsLoading} + /> + + + + + + + + + + + + + + + + + + + {varsletFrist === null ? 'Ikke satt' : isoDateToPretty(varsletFrist)} + + + + {fraNAVEnhetNavn} - {fraNAVEnhet} + + + + + + + + + + + + + ); +}; diff --git a/frontend/src/components/common-table-components/open.tsx b/frontend/src/components/common-table-components/open.tsx index 572596fa7..d8f7208d1 100644 --- a/frontend/src/components/common-table-components/open.tsx +++ b/frontend/src/components/common-table-components/open.tsx @@ -45,49 +45,44 @@ export const OpenOppgavebehandling = ({ return null; } - if (typeId === SaksTypeEnum.KLAGE) { - return ( - - ); - } + const commonProps = { as: Link, variant, size, children, 'data-oppgavebehandlingid': id }; - if (typeId === SaksTypeEnum.ANKE) { - return ( - - ); + switch (typeId) { + case SaksTypeEnum.KLAGE: + return ( + - ); }; diff --git a/frontend/src/components/oppgavebehandling-controls/use-hide-kvalitetsvurdering.ts b/frontend/src/components/oppgavebehandling-controls/use-hide-kvalitetsvurdering.ts index a7abe0fab..36c15fee9 100644 --- a/frontend/src/components/oppgavebehandling-controls/use-hide-kvalitetsvurdering.ts +++ b/frontend/src/components/oppgavebehandling-controls/use-hide-kvalitetsvurdering.ts @@ -13,7 +13,7 @@ export const useHideKvalitetsvurdering = (): boolean => { const { typeId, resultat } = oppgave; - if (typeId === SaksTypeEnum.ANKE_I_TRYGDERETTEN) { + if (typeId === SaksTypeEnum.ANKE_I_TRYGDERETTEN || typeId === SaksTypeEnum.BEHANDLING_ETTER_TR_OPPHEVET) { return true; } diff --git a/frontend/src/components/oppgavebehandling-footer/confirm-finish.tsx b/frontend/src/components/oppgavebehandling-footer/confirm-finish.tsx index f76b1a833..7f68c129b 100644 --- a/frontend/src/components/oppgavebehandling-footer/confirm-finish.tsx +++ b/frontend/src/components/oppgavebehandling-footer/confirm-finish.tsx @@ -19,8 +19,8 @@ interface FinishProps { const getFinishText = (isOpphevetAnkeInTrygderettern: boolean, isModernized: boolean) => { if (isOpphevetAnkeInTrygderettern) { return isModernized - ? 'Nei, fullfør uten å opprette ny oppgave i Kabal.' - : 'Nei, fullfør uten å opprette ny oppgave i Kabal. Husk å sende oppgave i Gosys.'; + ? 'Nei, fullfør uten å opprette ny behandling i Kabal.' + : 'Nei, fullfør uten å opprette ny behandling i Kabal. Husk å sende oppgave i Gosys.'; } return 'Fullfør'; @@ -47,6 +47,7 @@ export const ConfirmFinish = ({ cancel, show }: FinishProps) => { {isOpphevetInTrygderetten ? : null} {finishText}