diff --git a/client/src/Pages/Virksomhet/Kartlegging/BehovsvurderingFane.tsx b/client/src/Pages/Virksomhet/Kartlegging/BehovsvurderingFane.tsx index ebe7e68ab..118bc6856 100644 --- a/client/src/Pages/Virksomhet/Kartlegging/BehovsvurderingFane.tsx +++ b/client/src/Pages/Virksomhet/Kartlegging/BehovsvurderingFane.tsx @@ -32,7 +32,7 @@ export const BehovsvurderingFane = ({ samarbeid={gjeldendeSamarbeid} /> @@ -47,7 +47,7 @@ export const BehovsvurderingFane = ({ samarbeid={gjeldendeSamarbeid || alleSamarbeid[0]} /> diff --git a/client/src/Pages/Virksomhet/Samarbeid/Evaluering/EvalueringCardHeaderInnhold.tsx b/client/src/Pages/Virksomhet/Samarbeid/Evaluering/EvalueringCardHeaderInnhold.tsx index e30a67b36..995da004d 100644 --- a/client/src/Pages/Virksomhet/Samarbeid/Evaluering/EvalueringCardHeaderInnhold.tsx +++ b/client/src/Pages/Virksomhet/Samarbeid/Evaluering/EvalueringCardHeaderInnhold.tsx @@ -112,6 +112,15 @@ export const EvalueringCardHeaderInnhold = ({ "Evaluering", ); + /*const { data: spørreundersøkelseForhåndsvisning } = + useHentSpørreundersøkelseForhåndsvisning( + iaSak.orgnr, + iaSak.saksnummer, + samarbeid.id, + "Evaluering", + spørreundersøkelse.id, + );*/ + const { mutate: oppdaterSaksStatus } = useHentIASaksStatus( iaSak.orgnr, iaSak.saksnummer, @@ -196,6 +205,16 @@ export const EvalueringCardHeaderInnhold = ({ > Start + {/* + console.log( + spørreundersøkelseForhåndsvisning, + ) + } + > + Forhåndsvis + */} {brukerErEierAvSak && ( @@ -76,7 +80,7 @@ function NyEvalueringFane({ samarbeid={gjeldendeSamarbeid || alleSamarbeid[0]} /> { return useSwrTemplate( `${spørreundersøkelsePath}/${orgnummer}/${saksnummer}/prosess/${prosessId}/type/${type}`, @@ -86,11 +91,24 @@ export const useHentSpørreundersøkelser = ( }, ); }; +export const useHentSpørreundersøkelseForhåndsvisning = ( + orgnummer: string, + saksnummer: string, + prosessId: number, + type: SpørreundersøkelseType, + spørreundersøkelseId: string, +) => { + return useSwrTemplate( + `${spørreundersøkelsePath}/${orgnummer}/${saksnummer}/prosess/${prosessId}/type/${type}/${spørreundersøkelseId}`, + SpørreundersøkelseMedInnholdSchema, + ); +}; + export const opprettSpørreundersøkelse = ( orgnummer: string, saksnummer: string, samarbeidsId: number, - type: "Evaluering" | "Behovsvurdering", + type: SpørreundersøkelseType, ): Promise => { return post( `${spørreundersøkelsePath}/${orgnummer}/${saksnummer}/prosess/${samarbeidsId}/type/${type}`, diff --git "a/client/src/components/Sp\303\270rreunders\303\270kelse/Sp\303\270rreunders\303\270kelseContext.tsx" "b/client/src/components/Sp\303\270rreunders\303\270kelse/Sp\303\270rreunders\303\270kelseContext.tsx" index 53471ca07..6aa5d6c83 100644 --- "a/client/src/components/Sp\303\270rreunders\303\270kelse/Sp\303\270rreunders\303\270kelseContext.tsx" +++ "b/client/src/components/Sp\303\270rreunders\303\270kelse/Sp\303\270rreunders\303\270kelseContext.tsx" @@ -6,6 +6,7 @@ import { BehovsvurderingCardHeaderInnhold } from "../../Pages/Virksomhet/Kartleg import { BehovsvurderingRadInnhold } from "../../Pages/Virksomhet/Kartlegging/BehovsvurderingRadInnhold"; import { EvalueringCardHeaderInnhold } from "../../Pages/Virksomhet/Samarbeid/Evaluering/EvalueringCardHeaderInnhold"; import { EvalueringRadInnhold } from "../../Pages/Virksomhet/Samarbeid/Evaluering/EvalueringRadInnhold"; +import { SpørreundersøkelseType } from "../../domenetyper/spørreundersøkelseMedInnhold"; interface SpørreundersøkelseProviderProps { spørreundersøkelseliste: Spørreundersøkelse[]; @@ -14,7 +15,7 @@ interface SpørreundersøkelseProviderProps { brukerRolle: "Superbruker" | "Saksbehandler" | "Lesetilgang" | undefined; brukerErEierAvSak: boolean; sisteOpprettedeSpørreundersøkelseId: string; - spørreundersøkelseType: "Behovsvurdering" | "Evaluering"; + spørreundersøkelseType: SpørreundersøkelseType; } export interface CardHeaderProps { spørreundersøkelse: Spørreundersøkelse; @@ -31,13 +32,10 @@ interface SpørreundersøkelseContextState { }; } - -function getComponents( - spørreundersøkelseType: "Behovsvurdering" | "Evaluering", -): ({ +function getComponents(spørreundersøkelseType: SpørreundersøkelseType): { CardHeader: React.FC; CardInnhold: React.FC; -}) { +} { switch (spørreundersøkelseType) { case "Behovsvurdering": return { diff --git "a/client/src/components/Sp\303\270rreunders\303\270kelse/Sp\303\270rreunders\303\270kelseHeading.tsx" "b/client/src/components/Sp\303\270rreunders\303\270kelse/Sp\303\270rreunders\303\270kelseHeading.tsx" index 435e2aec3..0b0ca71bb 100644 --- "a/client/src/components/Sp\303\270rreunders\303\270kelse/Sp\303\270rreunders\303\270kelseHeading.tsx" +++ "b/client/src/components/Sp\303\270rreunders\303\270kelse/Sp\303\270rreunders\303\270kelseHeading.tsx" @@ -1,17 +1,27 @@ import { Heading, HStack, Tag } from "@navikt/ds-react"; -import { defaultNavnHvisTomt, IaSakProsess } from "../../domenetyper/iaSakProsess"; +import { + defaultNavnHvisTomt, + IaSakProsess, +} from "../../domenetyper/iaSakProsess"; +import { SpørreundersøkelseType } from "../../domenetyper/spørreundersøkelseMedInnhold"; export const SpørreundersøkelseHeading = ({ samarbeid, type, }: { samarbeid: IaSakProsess; - type: "Evaluering" | "Behovsvurdering"; + type: SpørreundersøkelseType; }) => { return ( - + {type} {samarbeid && ( @@ -22,4 +32,4 @@ export const SpørreundersøkelseHeading = ({ ); -} +}; diff --git "a/client/src/components/Sp\303\270rreunders\303\270kelse/Sp\303\270rreunders\303\270kelseHjelpetekst.tsx" "b/client/src/components/Sp\303\270rreunders\303\270kelse/Sp\303\270rreunders\303\270kelseHjelpetekst.tsx" index e0fd16f2e..3319f32b2 100644 --- "a/client/src/components/Sp\303\270rreunders\303\270kelse/Sp\303\270rreunders\303\270kelseHjelpetekst.tsx" +++ "b/client/src/components/Sp\303\270rreunders\303\270kelse/Sp\303\270rreunders\303\270kelseHjelpetekst.tsx" @@ -1,4 +1,5 @@ import { BodyShort } from "@navikt/ds-react"; +import { SpørreundersøkelseType } from "../../domenetyper/spørreundersøkelseMedInnhold"; export const SpørreundersøkelseHjelpetekst = ({ brukerErEierAvSak, @@ -8,7 +9,7 @@ export const SpørreundersøkelseHjelpetekst = ({ }: { brukerErEierAvSak: boolean; sakErIRettStatus: boolean; - type: "evaluering" | "behovsvurdering"; + type: SpørreundersøkelseType; harPlan?: boolean; }) => { if (!brukerErEierAvSak && !sakErIRettStatus) { @@ -17,22 +18,22 @@ export const SpørreundersøkelseHjelpetekst = ({
Du må være eier av saken og være i status Kartlegges{" "} - eller Vi bistår{" "}for å opprette ny {type} + eller Vi bistår for å opprette ny {type} ); } else if (!sakErIRettStatus) { - if (type === "evaluering") { + if (type === "Evaluering") { return ( <>
- Status må være i Vi bistår{" "} - for å kunne opprette en {type} + Status må være i Vi bistår for å kunne opprette + en {type} ); - } else if (type === "behovsvurdering") { + } else if (type === "Behovsvurdering") { return ( <>
@@ -52,7 +53,7 @@ export const SpørreundersøkelseHjelpetekst = ({ ); - } else if (type === "evaluering" && !harPlan) { + } else if (type === "Evaluering" && !harPlan) { return ( <>
diff --git "a/client/src/domenetyper/sp\303\270rreunders\303\270kelseMedInnhold.ts" "b/client/src/domenetyper/sp\303\270rreunders\303\270kelseMedInnhold.ts" new file mode 100644 index 000000000..a53858e95 --- /dev/null +++ "b/client/src/domenetyper/sp\303\270rreunders\303\270kelseMedInnhold.ts" @@ -0,0 +1,42 @@ +import { z } from "zod"; +import { datoSchema, spørreundersøkelseStatusEnum } from "./domenetyper"; + +const SPØRREUNDERSØKELSE_TYPE = ["Behovsvurdering", "Evaluering"] as const; +export const SpørreundersøkelseTypeEnum = z.enum(SPØRREUNDERSØKELSE_TYPE); +export type SpørreundersøkelseType = z.infer; + +export const SvaralternativSchema = z.object({ + svarId: z.string(), + svartekst: z.string(), +}); + +export const SpørsmålSchema = z.object({ + id: z.string(), + undertemanavn: z.string(), + spørsmål: z.string(), + svaralternativer: z.array(SvaralternativSchema), + flervalg: z.boolean(), +}); + +export const TemaSchema = z.object({ + temaId: z.number(), + navn: z.string(), + spørsmålOgSvaralternativer: z.array(SpørsmålSchema), +}); + +export const SpørreundersøkelseMedInnholdSchema = z.object({ + id: z.string(), + samarbeidId: z.number(), + status: spørreundersøkelseStatusEnum, + temaer: z.array(TemaSchema), + opprettetAv: z.string(), + type: SpørreundersøkelseTypeEnum, + opprettetTidspunkt: datoSchema, + endretTidspunkt: datoSchema.nullable(), + påbegyntTidspunkt: datoSchema.nullable(), + fullførtTidspunkt: datoSchema.nullable(), +}); + +export type SpørreundersøkelseMedInnhold = z.infer< + typeof SpørreundersøkelseMedInnholdSchema +>;