diff --git a/apps/as/src/entities/design-cnstn/api/queries.ts b/apps/as/src/entities/design-cnstn/api/queries.ts index 7a04eb8d8..eb301e2e4 100644 --- a/apps/as/src/entities/design-cnstn/api/queries.ts +++ b/apps/as/src/entities/design-cnstn/api/queries.ts @@ -1,5 +1,10 @@ import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"; +import type { + DesignCnstnApplySaveRequestDto, + DesignCnstnMngSaveRequestDto, + DesignCnstnRvwOpnnSaveRequestDto, +} from "../model/design-cnstn-apply-payload-schema"; import type { DesignCnstnBizCstSaveRequestDto, DesignCnstnBizCstSearchDto, @@ -15,11 +20,6 @@ import type { DesignCnstnEsntlAtchFileSearchDto, DesignCnstnEsntlAtchFileUpdateRequestDto, } from "../model/design-cnstn-esntl-atch-file-interface"; -import type { - DesignCnstnApplySaveRequestDto, - DesignCnstnMngSaveRequestDto, - DesignCnstnRvwOpnnSaveRequestDto, -} from "../model/design-cnstn-apply-payload-schema"; import type { DesignCnstnMngSearchDto, DesignCnstnMngUpdateRequestDto, @@ -83,6 +83,8 @@ export function useDesignCnstnMng(id: string | null | undefined) { queryKey: designCnstnKeys.detail(id!), queryFn: () => designCnstnMngService.findById(id!), enabled: Boolean(id), + staleTime: 0, + refetchOnMount: "always", }); } diff --git a/apps/as/src/entities/fnrs-cnsltn/api/queries.ts b/apps/as/src/entities/fnrs-cnsltn/api/queries.ts index e136bd59f..7e29ba38b 100644 --- a/apps/as/src/entities/fnrs-cnsltn/api/queries.ts +++ b/apps/as/src/entities/fnrs-cnsltn/api/queries.ts @@ -35,6 +35,8 @@ export function useFnrsCnsltnMng(fnrsCnsltnDocNo: string | null | undefined) { queryKey: fnrsCnsltnKeys.detail(fnrsCnsltnDocNo!), queryFn: () => fnrsCnsltnMngService.findById(fnrsCnsltnDocNo!), enabled: Boolean(fnrsCnsltnDocNo), + staleTime: 0, + refetchOnMount: "always", }); } @@ -43,6 +45,8 @@ export function useFnrsCnsltnFileVrfcResults(fnrsCnsltnDocNo: string | null | un queryKey: fnrsCnsltnKeys.fileVrfcResults(fnrsCnsltnDocNo!), queryFn: () => fnrsCnsltnMngService.findFileVrfcResults(fnrsCnsltnDocNo!), enabled: Boolean(fnrsCnsltnDocNo), + staleTime: 0, + refetchOnMount: "always", }); } diff --git a/apps/as/src/entities/instl-sncn/api/queries.ts b/apps/as/src/entities/instl-sncn/api/queries.ts index 278277668..b01c0c892 100644 --- a/apps/as/src/entities/instl-sncn/api/queries.ts +++ b/apps/as/src/entities/instl-sncn/api/queries.ts @@ -35,6 +35,8 @@ export function useInstlSncnDetail(id: string) { queryKey: instlSncnKeys.detail(id), queryFn: () => instlSncnService.getById(id), enabled: Boolean(id), + staleTime: 0, + refetchOnMount: "always", }); } diff --git a/apps/as/src/entities/sewer-bsc-plan/api/queries.ts b/apps/as/src/entities/sewer-bsc-plan/api/queries.ts index 32808b49f..5afd9bebd 100644 --- a/apps/as/src/entities/sewer-bsc-plan/api/queries.ts +++ b/apps/as/src/entities/sewer-bsc-plan/api/queries.ts @@ -33,6 +33,8 @@ export function useSewerBscPlan(sewerBscPlanDocNo: string | null | undefined) { queryKey: sewerBscPlanKeys.detail(sewerBscPlanDocNo!), queryFn: () => sewerBscPlanService.findById(sewerBscPlanDocNo!), enabled: Boolean(sewerBscPlanDocNo), + staleTime: 0, + refetchOnMount: "always", }); } @@ -44,6 +46,8 @@ export function useSewerBscPlanDetails( queryKey: sewerBscPlanKeys.details(sewerBscPlanDocNo!, chgCycl ?? undefined), queryFn: () => sewerBscPlanService.findDetails(sewerBscPlanDocNo!, chgCycl!), enabled: Boolean(sewerBscPlanDocNo) && chgCycl != null, + staleTime: 0, + refetchOnMount: "always", }); } diff --git a/apps/as/src/pages/design-cnstn/ui/design-view-page.tsx b/apps/as/src/pages/design-cnstn/ui/design-view-page.tsx index 4dc1d018e..906d9172c 100644 --- a/apps/as/src/pages/design-cnstn/ui/design-view-page.tsx +++ b/apps/as/src/pages/design-cnstn/ui/design-view-page.tsx @@ -2,13 +2,15 @@ import { useMemo, useRef } from "react"; +import { RefreshCw } from "lucide-react"; + import { useUserStore } from "@/shared/lib"; import { SectionCollapsibleGroup, SectionCollapsibleToggle } from "@/shared/ui"; import { useDesignCnstnMng } from "@/entities/design-cnstn"; import { ElaprDocPrgrsStatus } from "@/entities/elapr"; import { useRvwMnpwMngLoginUserList } from "@/entities/rvw-mnpw"; import { AttachmentsViewSection, ProgressStatusSection } from "@/widgets/pbadms-sprt"; -import { Skeleton } from "@common/components"; +import { Button, cn, Skeleton } from "@common/components"; import { needsRoleUser01AtrzResolve } from "../lib/button-config"; import { getEditableReviewStep } from "../lib/review-step-utils"; @@ -30,7 +32,7 @@ interface DesignViewPageProps { function DesignViewPage({ id }: DesignViewPageProps) { const userInfo = useUserStore((state) => state.userInfo); const techReviewOpinionRef = useRef(null); - const { data, isLoading, isError } = useDesignCnstnMng(id); + const { data, isLoading, isError, refetch, isFetching } = useDesignCnstnMng(id); const prgrsSttsComCd = data?.detDto?.prgrsSttsComCd || ""; const needsAtrzResolve = needsRoleUser01AtrzResolve(userInfo?.dtlInstCd, prgrsSttsComCd); @@ -83,8 +85,20 @@ function DesignViewPage({ id }: DesignViewPageProps) { return (
-
+
+
response.data, enabled: open && Boolean(crtDmndUuid), + staleTime: Infinity, + refetchOnWindowFocus: false, + refetchOnMount: false, }); const branchLabel = isForkJoin diff --git a/apps/as/src/pages/fnrs-cnsltn/ui/fnrs-view-page.tsx b/apps/as/src/pages/fnrs-cnsltn/ui/fnrs-view-page.tsx index 8c7664398..64590d7f3 100644 --- a/apps/as/src/pages/fnrs-cnsltn/ui/fnrs-view-page.tsx +++ b/apps/as/src/pages/fnrs-cnsltn/ui/fnrs-view-page.tsx @@ -2,6 +2,8 @@ import { useMemo, useRef } from "react"; +import { RefreshCw } from "lucide-react"; + import { useUserStore } from "@/shared/lib"; import { SectionCollapsibleGroup, SectionCollapsibleToggle, TextShimmer } from "@/shared/ui"; import { ElaprDocPrgrsStatus } from "@/entities/elapr"; @@ -12,7 +14,7 @@ import { ProgressStatusSection, SupplementDemandSection, } from "@/widgets/pbadms-sprt"; -import { Skeleton } from "@common/components"; +import { Button, cn, Skeleton } from "@common/components"; import { getAiPendingMessage, @@ -20,8 +22,8 @@ import { isRagIndexingInProgress, } from "../lib/ai-pending-utils"; import { needsRoleUser01AtrzResolve } from "../lib/button-config"; -import { getEditableReviewStep } from "../lib/review-step-utils"; import { normalizeTaskSeComCdForElapr } from "../lib/fnrs-cnsltn-regist-schema"; +import { getEditableReviewStep } from "../lib/review-step-utils"; import { EMPTY_CKLST_RESULT_LIST, useChecklistFormState } from "../lib/use-checklist-form-state"; import { PROGRESS_STATUS_COLUMNS } from "../model/columns"; @@ -44,7 +46,7 @@ interface FnrsViewPageProps { function FnrsViewPage({ id }: FnrsViewPageProps) { const userInfo = useUserStore((state) => state.userInfo); const techReviewOpinionRef = useRef(null); - const { data, isLoading, isError } = useFnrsCnsltnMng(id); + const { data, isLoading, isError, refetch, isFetching } = useFnrsCnsltnMng(id); const { formState: checklistFormState, setFormState: setChecklistFormState } = useChecklistFormState(data?.cklstResultList ?? EMPTY_CKLST_RESULT_LIST); @@ -109,19 +111,33 @@ function FnrsViewPage({ id }: FnrsViewPageProps) { return (
-
- - {showPendingBanner && ( -
- - - - - - {pendingMessage} - -
- )} +
+
+ + + {showPendingBanner && ( +
+ + + + + + {pendingMessage} + +
+ )} +
state.userInfo); const techReviewOpinionRef = useRef(null); - const { data, isLoading, isError } = useInstlSncnDetail(id); + const { data, isLoading, isError, refetch, isFetching } = useInstlSncnDetail(id); const { formState: checklistFormState } = useChecklistFormState( data?.cklstResultList ?? EMPTY_CKLST_RESULT_LIST, ); @@ -94,8 +96,20 @@ function InstlViewPage({ id }: InstlViewPageProps) { return (
-
+
+
state.userInfo); const techReviewOpinionRef = useRef(null); const chgCycl = propChgCycl ?? 1; - const { data, isLoading, isError } = useSewerBscPlanDetails(id, chgCycl); + const { data, isLoading, isError, refetch, isFetching } = useSewerBscPlanDetails(id, chgCycl); const { formState: checklistFormState, setFormState: setChecklistFormState } = useChecklistFormState(data?.cklstResultRows ?? EMPTY_CKLST_RESULT_LIST); @@ -102,8 +104,20 @@ function SewerBscPlanViewPage({ id, propChgCycl }: SewerBscPlanViewPageProps) { return (
-
+
+