+
노후하수관로 정밀조사 및 정비사업 현황{" "}
- ({data.totalElements.toLocaleString("ko-KR")}건)
+
+ ({data.totalElements.toLocaleString("ko-KR")}건)
+
@@ -373,15 +477,41 @@ export function ObsltPplListPage() {
total={data.totalElements}
curPage={page}
widthFixed
- onPageChange={setPage}
+ onPageChange={(nextPage) => {
+ setPage(nextPage);
+ const queryString = createListQueryString(
+ nextPage,
+ appliedSearch,
+ appliedCtpvCd,
+ appliedSggCd,
+ );
+ router.replace(
+ `/oper/obsltPplBiz${queryString ? `?${queryString}` : ""}`,
+ { scroll: false },
+ );
+ }}
resetPageNo={resetPageNo}
cellClick={(index) => {
if (typeof index !== "number" || !rows[index]) return;
- router.push(`/oper/obsltPplBiz/register/${rows[index].obsltSwagePplBizSn}`);
+ const queryString = createListQueryString(
+ page,
+ appliedSearch,
+ appliedCtpvCd,
+ appliedSggCd,
+ );
+ router.push(
+ `/oper/obsltPplBiz/register/${rows[index].obsltSwagePplBizSn}${queryString ? `?${queryString}` : ""}`,
+ );
}}
renderCell={(row, headId) => {
- if (!DATE_FIELD_SET.has(headId as keyof ObsltPplBusiness)) return undefined;
- return formatObsltPplDate(row[headId as keyof ObsltPplTableRow] as string | null | undefined);
+ if (!DATE_FIELD_SET.has(headId as keyof ObsltPplBusiness))
+ return undefined;
+ return formatDate(
+ row[headId as keyof ObsltPplTableRow] as
+ | string
+ | null
+ | undefined,
+ );
}}
/>
diff --git a/apps/sn/src/features/windowPopup/model/popupDefinitions.ts b/apps/sn/src/features/windowPopup/model/popupDefinitions.ts
index 990573f19..fce9caa71 100644
--- a/apps/sn/src/features/windowPopup/model/popupDefinitions.ts
+++ b/apps/sn/src/features/windowPopup/model/popupDefinitions.ts
@@ -1,6 +1,13 @@
import type { WindowPopupDefinition } from "./types";
export const windowPopupDefinitions = {
+ cfmtnBgt: {
+ key: "cfmtnBgt",
+ title: "최종확정예산사업",
+ width: 1500,
+ height: 900,
+ requiredParams: ["bizSe"],
+ },
exmnBusinessRegister: {
key: "exmnBusinessRegister",
title: "사업정보 등록",
diff --git a/apps/sn/src/features/windowPopup/model/types.ts b/apps/sn/src/features/windowPopup/model/types.ts
index 4b8dfa7fd..a6dc47c47 100644
--- a/apps/sn/src/features/windowPopup/model/types.ts
+++ b/apps/sn/src/features/windowPopup/model/types.ts
@@ -38,6 +38,7 @@ export type OpenWindowPopupOptions = Partial<
};
export const WINDOW_POPUP_MESSAGE_TYPE = {
+ CFMTN_BGT_REGISTERED: "sn:popup:cfmtnBgtRegistered", // 최종확정예산사업
EXMN_BUSINESS_CREATED: "sn:popup:exmnBusinessCreated",
EXMN_BUSINESS_UPDATED: "sn:popup:exmnBusinessUpdated",
EXMN_RESULT_COMMITTED: "sn:popup:exmnResultCommitted",
diff --git a/apps/sn/src/features/windowPopup/registry.tsx b/apps/sn/src/features/windowPopup/registry.tsx
index b178aa19f..554b6cafc 100644
--- a/apps/sn/src/features/windowPopup/registry.tsx
+++ b/apps/sn/src/features/windowPopup/registry.tsx
@@ -35,6 +35,7 @@ import GisManagementPopupContent from "./ui/GisManagementPopupContent";
import PipeAnalysisPopupContent from "./ui/PipeAnalysisPopupContent";
import PipeAnalysisDetailPopupContent from "./ui/PipeAnalysisDetailPopupContent";
import WaterRiskPopupContent from "./ui/WaterRiskPopupContent";
+import CfmtnBgtPopupContent from "../cfmtnBgt/ui/CfmtnBgtPopupContent";
const FloodPredictionPlaceholderPopupContent = (
_props: WindowPopupContentProps,
@@ -51,6 +52,10 @@ const GisEditPopupContent = (_props: WindowPopupContentProps) => (
);
export const windowPopupRegistry = {
+ cfmtnBgt: {
+ ...windowPopupDefinitions.cfmtnBgt,
+ component: CfmtnBgtPopupContent,
+ },
exmnBusinessRegister: {
...windowPopupDefinitions.exmnBusinessRegister,
component: ExmnBusinessRegisterPopupContent,