diff --git a/apps/wr/app/ruseFcltMng/prfmncReg/chkgdnReg/page.tsx b/apps/wr/app/ruseFcltMng/prfmncReg/chkgdnReg/page.tsx index 03397255c..d6fefe4d3 100644 --- a/apps/wr/app/ruseFcltMng/prfmncReg/chkgdnReg/page.tsx +++ b/apps/wr/app/ruseFcltMng/prfmncReg/chkgdnReg/page.tsx @@ -44,6 +44,7 @@ import { useTranslation } from "react-i18next"; export default function Page() { const { + auth, code, rainChkgdn, rswtChkgdn, @@ -64,6 +65,7 @@ export default function Page() { } = useWrStore((state) => { return state; }); + const { regAuthrtYn, mdfcnAuthrtYn, delAuthrtYn } = auth; const [isRegExcel, setIsRegExcel] = useState(false); const [updateRainDetail, setUpdateRainDetail] = useState( [] @@ -301,6 +303,7 @@ export default function Page() { onClick={() => { clickDelete(deleteIdx, selFcltDiv); }} + disabled={delAuthrtYn === 'N'} > 삭제 @@ -313,6 +316,7 @@ export default function Page() { onClick={() => { chkUpdateTable(selFcltDiv); }} + disabled={mdfcnAuthrtYn === 'N'} > 저장 @@ -330,6 +334,7 @@ export default function Page() { onClick={() => { setIsRegExcel(!isRegExcel); }} + disabled={regAuthrtYn === 'N'} > 결과등록 @@ -354,6 +359,7 @@ export default function Page() { pageNation={rainPageNation} onPageChange={rainPageChange} pageCount={rainChkgdn.rainChkCount} + readonly={mdfcnAuthrtYn === 'N'} /> ) : ( setIsModal((prev) => ({ ...prev, open }))} + readonly={mdfcnAuthrtYn === 'N' ? false : true} /> } > diff --git a/apps/wr/app/ruseFcltMng/prfmncReg/pbnstPrfmncReg/page.tsx b/apps/wr/app/ruseFcltMng/prfmncReg/pbnstPrfmncReg/page.tsx index 0572acce9..9ca1d60d2 100644 --- a/apps/wr/app/ruseFcltMng/prfmncReg/pbnstPrfmncReg/page.tsx +++ b/apps/wr/app/ruseFcltMng/prfmncReg/pbnstPrfmncReg/page.tsx @@ -38,10 +38,11 @@ import { useTranslation } from "react-i18next"; import { headMakeprfmnc } from "../chkgdnReg/TableHead"; export default function PrfmncPrfmncReg() { - const { prfmnc, prfmncHasuInit, prfmnRegData, prfmncHasuNmSearch } = useWrStore( + const { auth, prfmnc, prfmncHasuInit, prfmnRegData, prfmncHasuNmSearch } = useWrStore( (state) => state ); const { pbnstPrfmncHeadList, monthHeadList, prfmncRes, prfmncResCount } = prfmnc; + const { regAuthrtYn, mdfcnAuthrtYn } = auth; const [bdstTable, setbdstTable] = useState(); const [searchTxt, setSearchTxt] = useState(); const [isExcelOpen, setIsExcelOPen] = useState<{ @@ -92,7 +93,7 @@ export default function PrfmncPrfmncReg() { searchYear, pbnstRuseFcltId ) as unknown as PrfType - ,searchYear + , searchYear ); }; @@ -259,6 +260,7 @@ export default function PrfmncPrfmncReg() { onClick={() => { onSave(); }} + disabled={mdfcnAuthrtYn === 'N'} > 저장 @@ -272,6 +274,7 @@ export default function PrfmncPrfmncReg() { setIsExcelOPen({ ...isExcelOpen, isModal: true }); } }} + disabled={regAuthrtYn === 'N'} > 파일등록 @@ -321,7 +324,7 @@ export default function PrfmncPrfmncReg() { {headMakeprfmnc(monthHeadList, [])} - {InputTableBody(inputData ?? [], monthHeadList, setInputData)} + {InputTableBody(inputData ?? [], monthHeadList, setInputData, mdfcnAuthrtYn === 'N' ? false : true)} diff --git a/apps/wr/components/lib/func/TableData.tsx b/apps/wr/components/lib/func/TableData.tsx index 4440e3e54..192bc43c3 100644 --- a/apps/wr/components/lib/func/TableData.tsx +++ b/apps/wr/components/lib/func/TableData.tsx @@ -95,7 +95,8 @@ export const chRowspanTable = ( ) => void, toggleSelection: (pk: number, checked: boolean) => void, selectedIds: number[], - handleCellClick: (index: number, headId: string) => void + handleCellClick: (index: number, headId: string) => void, + disable? : boolean ) => { let order = 0 // rowspan된 셀 렌더링 여부 추적용 @@ -138,6 +139,7 @@ export const chRowspanTable = ( onCheckedChange={(checked) => toggleSelection(row.chkgdnSn, checked === true) } + disabled={disable} > ) : key === "order" ? ( ++order diff --git a/apps/wr/components/ui/modal/chkgd/chkgdModal/chkgdModal.tsx b/apps/wr/components/ui/modal/chkgd/chkgdModal/chkgdModal.tsx index 3675e3bfb..c528f5add 100644 --- a/apps/wr/components/ui/modal/chkgd/chkgdModal/chkgdModal.tsx +++ b/apps/wr/components/ui/modal/chkgd/chkgdModal/chkgdModal.tsx @@ -8,7 +8,7 @@ import { Button } from "@common/components/ui"; import React, { useEffect, useState } from "react"; import type { z } from "zod"; -export default function ChkgdModal({ type, obj, setIsModal }: { type: string; obj: any, setIsModal: (open: boolean) => void }) { +export default function ChkgdModal({ type, obj, setIsModal, readonly }: { type: string; obj: any, setIsModal: (open: boolean) => void, readonly: boolean }) { const { rainChkgdn, rswtChkgdn, @@ -247,7 +247,7 @@ export default function ChkgdModal({ type, obj, setIsModal }: { type: string; ob } > {!rainChkSttn.isSttn ? ( - ) : ( @@ -274,6 +274,7 @@ export default function ChkgdModal({ type, obj, setIsModal }: { type: string; ob setChGuidData={(data) => { setChGuidData(data); }} + readonly={readonly} />

@@ -288,6 +289,7 @@ export default function ChkgdModal({ type, obj, setIsModal }: { type: string; ob setChGuidData={(data) => { setChGuidData(data); }} + readonly={readonly} /> {type !== "RNB" && polutionData !== undefined ? ( @@ -310,6 +312,7 @@ export default function ChkgdModal({ type, obj, setIsModal }: { type: string; ob setChGuidData={(data) => { getPolutionData(data); }} + readonly={readonly} /> ); diff --git a/apps/wr/components/ui/table/chkgdTable/guideDetailTable/guideDetailTable.tsx b/apps/wr/components/ui/table/chkgdTable/guideDetailTable/guideDetailTable.tsx index 7676f7e71..7522fdbfd 100644 --- a/apps/wr/components/ui/table/chkgdTable/guideDetailTable/guideDetailTable.tsx +++ b/apps/wr/components/ui/table/chkgdTable/guideDetailTable/guideDetailTable.tsx @@ -17,12 +17,14 @@ export function GuideDetailsTable({ headList, upheadList, setChGuidData, + readonly }: { chgRes: any[]; headList: TableUpperProps[]; upheadList: chHeadType[]; type: string; setChGuidData: (chgRes: any[]) => void; + readonly?: boolean; }) { const [inputData, setInputData] = useState(); @@ -30,7 +32,6 @@ export function GuideDetailsTable({ setInputData(chgRes); }, [chgRes]); - useEffect(() => { setChGuidData(inputData ?? []); @@ -43,7 +44,7 @@ export function GuideDetailsTable({ {headMakeprfmnc(headList, upheadList)} - {InputTableBody(inputData ?? [], headList, setInputData)} + {InputTableBody(inputData ?? [], headList, setInputData, readonly)}

diff --git a/apps/wr/components/ui/table/chkgdTable/rainChkgd/rainChkgdTable.tsx b/apps/wr/components/ui/table/chkgdTable/rainChkgd/rainChkgdTable.tsx index f607c289e..f016a0cc3 100644 --- a/apps/wr/components/ui/table/chkgdTable/rainChkgd/rainChkgdTable.tsx +++ b/apps/wr/components/ui/table/chkgdTable/rainChkgd/rainChkgdTable.tsx @@ -25,6 +25,7 @@ export default function RainChkgdTable({ pageNation, onPageChange, pageCount, + readonly, }: { detailUp: (data: rainChkZodType[]) => void; handleClick?: (data: any) => void; @@ -33,6 +34,7 @@ export default function RainChkgdTable({ pageNation: number; onPageChange: (page: number) => void; pageCount: number; + readonly: boolean; }) { const { code, rainChkgdn, rainChkSttn, getRainSttnExcel } = useWrStore((state) => state); const [makeTableData, setMakeTableData] = useState([]); @@ -191,7 +193,8 @@ export default function RainChkgdTable({ handleChange, toggleSelection, selectedIds, - handleCellClick + handleCellClick, + readonly )}