Compare commits
1
Commits
main
...
iipbs/st/dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
038b2d441e |
@@ -20,8 +20,8 @@ const StatisticsReviewHistory = () => {
|
|||||||
{ name: "ctpvNm", fieldName: "ctpvNm", header: { text: "시도" }, editable: false },
|
{ name: "ctpvNm", fieldName: "ctpvNm", header: { text: "시도" }, editable: false },
|
||||||
{ name: "sggNm", fieldName: "sggNm", header: { text: "시군구" }, editable: false },
|
{ name: "sggNm", fieldName: "sggNm", header: { text: "시군구" }, editable: false },
|
||||||
{ name: "menuNm", fieldName: "menuNm", header: { text: "통계항목" }, editable: false },
|
{ name: "menuNm", fieldName: "menuNm", header: { text: "통계항목" }, editable: false },
|
||||||
{ name: "chckerOpinionSm", fieldName: "chckerOpinionSm", header: { text: "검토자의견" }, editable: false },
|
{ name: "splmntOpnnCn", fieldName: "splmntOpnnCn", header: { text: "검토자의견" }, editable: false },
|
||||||
{ name: "wrterOpinionSm", fieldName: "wrterOpinionSm", header: { text: "처리내역" }, editable: false },
|
{ name: "rjctOpnnCn", fieldName: "rjctOpnnCn", header: { text: "반려의견" }, editable: false },
|
||||||
];
|
];
|
||||||
|
|
||||||
const columnLayout = [
|
const columnLayout = [
|
||||||
@@ -29,8 +29,8 @@ const StatisticsReviewHistory = () => {
|
|||||||
"ctpvNm",
|
"ctpvNm",
|
||||||
"sggNm",
|
"sggNm",
|
||||||
"menuNm",
|
"menuNm",
|
||||||
"chckerOpinionSm",
|
"splmntOpnnCn",
|
||||||
"wrterOpinionSm",
|
"rjctOpnnCn",
|
||||||
];
|
];
|
||||||
|
|
||||||
const handleSearch = async (values: SearchFormValues) => {
|
const handleSearch = async (values: SearchFormValues) => {
|
||||||
|
|||||||
@@ -49,7 +49,6 @@ const ExcretaTreatmentFacilityRvw = () => {
|
|||||||
const [reviewOpinionContext, setReviewOpinionContext] =
|
const [reviewOpinionContext, setReviewOpinionContext] =
|
||||||
useState<ReviewOpinionDialogContext | null>(null);
|
useState<ReviewOpinionDialogContext | null>(null);
|
||||||
const [latestReviewOpinion, setLatestReviewOpinion] = useState("");
|
const [latestReviewOpinion, setLatestReviewOpinion] = useState("");
|
||||||
const [latestProcessHistory, setLatestProcessHistory] = useState("");
|
|
||||||
const [lastSearchValues, setLastSearchValues] = useState<SearchFormValues | null>(null);
|
const [lastSearchValues, setLastSearchValues] = useState<SearchFormValues | null>(null);
|
||||||
|
|
||||||
const columnInfo = useMemo(() => {
|
const columnInfo = useMemo(() => {
|
||||||
@@ -116,7 +115,6 @@ const ExcretaTreatmentFacilityRvw = () => {
|
|||||||
setStatsStatusInfo({});
|
setStatsStatusInfo({});
|
||||||
setReviewOpinionContext(null);
|
setReviewOpinionContext(null);
|
||||||
setLatestReviewOpinion("");
|
setLatestReviewOpinion("");
|
||||||
setLatestProcessHistory("");
|
|
||||||
setLastSearchValues(null);
|
setLastSearchValues(null);
|
||||||
setReviewOpinionOpen(false);
|
setReviewOpinionOpen(false);
|
||||||
setReturnDialogOpen(false);
|
setReturnDialogOpen(false);
|
||||||
@@ -170,14 +168,12 @@ const ExcretaTreatmentFacilityRvw = () => {
|
|||||||
statsCd: statsInfo.statsCd ?? "",
|
statsCd: statsInfo.statsCd ?? "",
|
||||||
});
|
});
|
||||||
setLatestReviewOpinion(statsInfo.splmntOpnnCn ?? "");
|
setLatestReviewOpinion(statsInfo.splmntOpnnCn ?? "");
|
||||||
setLatestProcessHistory(statsInfo.splmntRsltCn ?? "");
|
|
||||||
setRowData(toGridRows(convertedData as unknown as object[]));
|
setRowData(toGridRows(convertedData as unknown as object[]));
|
||||||
} else {
|
} else {
|
||||||
setRowData([]);
|
setRowData([]);
|
||||||
setStatsStatusInfo({});
|
setStatsStatusInfo({});
|
||||||
setReviewOpinionContext(null);
|
setReviewOpinionContext(null);
|
||||||
setLatestReviewOpinion("");
|
setLatestReviewOpinion("");
|
||||||
setLatestProcessHistory("");
|
|
||||||
alert(response.message || "데이터가 없습니다.");
|
alert(response.message || "데이터가 없습니다.");
|
||||||
}
|
}
|
||||||
} catch {
|
} catch {
|
||||||
@@ -216,7 +212,6 @@ const ExcretaTreatmentFacilityRvw = () => {
|
|||||||
|
|
||||||
const row = detailRes.data?.[0];
|
const row = detailRes.data?.[0];
|
||||||
setLatestReviewOpinion(row?.splmntOpnnCn ?? "");
|
setLatestReviewOpinion(row?.splmntOpnnCn ?? "");
|
||||||
setLatestProcessHistory(row?.splmntRsltCn ?? "");
|
|
||||||
setReviewOpinionOpen(true);
|
setReviewOpinionOpen(true);
|
||||||
} catch {
|
} catch {
|
||||||
alert("검토의견 조회 중 오류가 발생했습니다.");
|
alert("검토의견 조회 중 오류가 발생했습니다.");
|
||||||
@@ -234,10 +229,8 @@ const ExcretaTreatmentFacilityRvw = () => {
|
|||||||
setStatsStatusInfo((prev) => ({
|
setStatsStatusInfo((prev) => ({
|
||||||
...prev,
|
...prev,
|
||||||
splmntOpnnCn: param.splmntOpnnCn,
|
splmntOpnnCn: param.splmntOpnnCn,
|
||||||
splmntRsltCn: param.splmntRsltCn,
|
|
||||||
}));
|
}));
|
||||||
setLatestReviewOpinion(param.splmntOpnnCn);
|
setLatestReviewOpinion(param.splmntOpnnCn);
|
||||||
setLatestProcessHistory(param.splmntRsltCn);
|
|
||||||
} catch {
|
} catch {
|
||||||
alert("저장 중 오류가 발생했습니다.");
|
alert("저장 중 오류가 발생했습니다.");
|
||||||
}
|
}
|
||||||
@@ -297,7 +290,6 @@ const ExcretaTreatmentFacilityRvw = () => {
|
|||||||
onOpenChange={setReviewOpinionOpen}
|
onOpenChange={setReviewOpinionOpen}
|
||||||
context={reviewOpinionContext}
|
context={reviewOpinionContext}
|
||||||
initialReviewOpinion={latestReviewOpinion}
|
initialReviewOpinion={latestReviewOpinion}
|
||||||
initialProcessHistory={latestProcessHistory}
|
|
||||||
onSave={saveReviewOpinion}
|
onSave={saveReviewOpinion}
|
||||||
/>
|
/>
|
||||||
<ReviewSubmitDialog
|
<ReviewSubmitDialog
|
||||||
|
|||||||
@@ -102,7 +102,6 @@ const PrivateSewageFacilityRvw = () => {
|
|||||||
}, [activeStatsStatusInfo.statsCd, lastSearchValues]);
|
}, [activeStatsStatusInfo.statsCd, lastSearchValues]);
|
||||||
|
|
||||||
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
|
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
|
||||||
const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
|
|
||||||
|
|
||||||
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
|
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
|
||||||
if (lastSearchValues == null) return null;
|
if (lastSearchValues == null) return null;
|
||||||
@@ -284,7 +283,6 @@ const PrivateSewageFacilityRvw = () => {
|
|||||||
next.set(activeTab, {
|
next.set(activeTab, {
|
||||||
...(next.get(activeTab) ?? {}),
|
...(next.get(activeTab) ?? {}),
|
||||||
splmntOpnnCn: row?.splmntOpnnCn ?? "",
|
splmntOpnnCn: row?.splmntOpnnCn ?? "",
|
||||||
splmntRsltCn: row?.splmntRsltCn ?? "",
|
|
||||||
});
|
});
|
||||||
return next;
|
return next;
|
||||||
});
|
});
|
||||||
@@ -307,7 +305,6 @@ const PrivateSewageFacilityRvw = () => {
|
|||||||
next.set(activeTab, {
|
next.set(activeTab, {
|
||||||
...(next.get(activeTab) ?? {}),
|
...(next.get(activeTab) ?? {}),
|
||||||
splmntOpnnCn: param.splmntOpnnCn,
|
splmntOpnnCn: param.splmntOpnnCn,
|
||||||
splmntRsltCn: param.splmntRsltCn,
|
|
||||||
});
|
});
|
||||||
return next;
|
return next;
|
||||||
});
|
});
|
||||||
@@ -411,7 +408,6 @@ const PrivateSewageFacilityRvw = () => {
|
|||||||
onOpenChange={setReviewOpinionOpen}
|
onOpenChange={setReviewOpinionOpen}
|
||||||
context={reviewOpinionContext}
|
context={reviewOpinionContext}
|
||||||
initialReviewOpinion={latestReviewOpinion}
|
initialReviewOpinion={latestReviewOpinion}
|
||||||
initialProcessHistory={latestProcessHistory}
|
|
||||||
onSave={saveReviewOpinion}
|
onSave={saveReviewOpinion}
|
||||||
/>
|
/>
|
||||||
<ReviewSubmitDialog
|
<ReviewSubmitDialog
|
||||||
|
|||||||
@@ -41,7 +41,6 @@ const PublicSewageFacilityRvw = () => {
|
|||||||
const [reviewOpinionContext, setReviewOpinionContext] =
|
const [reviewOpinionContext, setReviewOpinionContext] =
|
||||||
useState<ReviewOpinionDialogContext | null>(null);
|
useState<ReviewOpinionDialogContext | null>(null);
|
||||||
const [latestReviewOpinion, setLatestReviewOpinion] = useState("");
|
const [latestReviewOpinion, setLatestReviewOpinion] = useState("");
|
||||||
const [latestProcessHistory, setLatestProcessHistory] = useState("");
|
|
||||||
const [lastSearchValues, setLastSearchValues] = useState<SearchFormValues | null>(null);
|
const [lastSearchValues, setLastSearchValues] = useState<SearchFormValues | null>(null);
|
||||||
|
|
||||||
const columnInfo = useMemo(() => {
|
const columnInfo = useMemo(() => {
|
||||||
@@ -100,7 +99,6 @@ const PublicSewageFacilityRvw = () => {
|
|||||||
setStatsStatusInfo({});
|
setStatsStatusInfo({});
|
||||||
setReviewOpinionContext(null);
|
setReviewOpinionContext(null);
|
||||||
setLatestReviewOpinion("");
|
setLatestReviewOpinion("");
|
||||||
setLatestProcessHistory("");
|
|
||||||
setLastSearchValues(null);
|
setLastSearchValues(null);
|
||||||
setSubmitDialogOpen(false);
|
setSubmitDialogOpen(false);
|
||||||
};
|
};
|
||||||
@@ -143,16 +141,12 @@ const PublicSewageFacilityRvw = () => {
|
|||||||
setLatestReviewOpinion(
|
setLatestReviewOpinion(
|
||||||
response.data.statsStatusInfo.splmntOpnnCn ?? "",
|
response.data.statsStatusInfo.splmntOpnnCn ?? "",
|
||||||
);
|
);
|
||||||
setLatestProcessHistory(
|
|
||||||
response.data.statsStatusInfo.splmntRsltCn ?? "",
|
|
||||||
);
|
|
||||||
setRowData(toGridRows(convertedData as unknown as object[]));
|
setRowData(toGridRows(convertedData as unknown as object[]));
|
||||||
} else {
|
} else {
|
||||||
setRowData([]);
|
setRowData([]);
|
||||||
setStatsStatusInfo({});
|
setStatsStatusInfo({});
|
||||||
setReviewOpinionContext(null);
|
setReviewOpinionContext(null);
|
||||||
setLatestReviewOpinion("");
|
setLatestReviewOpinion("");
|
||||||
setLatestProcessHistory("");
|
|
||||||
alert(response.message || "데이터가 없습니다.");
|
alert(response.message || "데이터가 없습니다.");
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
@@ -192,7 +186,6 @@ const PublicSewageFacilityRvw = () => {
|
|||||||
|
|
||||||
const row = detailRes.data?.[0];
|
const row = detailRes.data?.[0];
|
||||||
setLatestReviewOpinion(row?.splmntOpnnCn ?? "");
|
setLatestReviewOpinion(row?.splmntOpnnCn ?? "");
|
||||||
setLatestProcessHistory(row?.splmntRsltCn ?? "");
|
|
||||||
setReviewOpinionOpen(true);
|
setReviewOpinionOpen(true);
|
||||||
} catch {
|
} catch {
|
||||||
alert("검토의견 조회 중 오류가 발생했습니다.");
|
alert("검토의견 조회 중 오류가 발생했습니다.");
|
||||||
@@ -210,10 +203,8 @@ const PublicSewageFacilityRvw = () => {
|
|||||||
setStatsStatusInfo((prev) => ({
|
setStatsStatusInfo((prev) => ({
|
||||||
...prev,
|
...prev,
|
||||||
splmntOpnnCn: param.splmntOpnnCn,
|
splmntOpnnCn: param.splmntOpnnCn,
|
||||||
splmntRsltCn: param.splmntRsltCn,
|
|
||||||
}));
|
}));
|
||||||
setLatestReviewOpinion(param.splmntOpnnCn);
|
setLatestReviewOpinion(param.splmntOpnnCn);
|
||||||
setLatestProcessHistory(param.splmntRsltCn);
|
|
||||||
} catch {
|
} catch {
|
||||||
alert("저장 중 오류가 발생했습니다.");
|
alert("저장 중 오류가 발생했습니다.");
|
||||||
}
|
}
|
||||||
@@ -267,7 +258,6 @@ const PublicSewageFacilityRvw = () => {
|
|||||||
onOpenChange={setReviewOpinionOpen}
|
onOpenChange={setReviewOpinionOpen}
|
||||||
context={reviewOpinionContext}
|
context={reviewOpinionContext}
|
||||||
initialReviewOpinion={latestReviewOpinion}
|
initialReviewOpinion={latestReviewOpinion}
|
||||||
initialProcessHistory={latestProcessHistory}
|
|
||||||
onSave={saveReviewOpinion}
|
onSave={saveReviewOpinion}
|
||||||
/>
|
/>
|
||||||
<ReviewSubmitDialog
|
<ReviewSubmitDialog
|
||||||
|
|||||||
@@ -47,7 +47,6 @@ const PumpingStationRvw = () => {
|
|||||||
const [reviewOpinionContext, setReviewOpinionContext] =
|
const [reviewOpinionContext, setReviewOpinionContext] =
|
||||||
useState<ReviewOpinionDialogContext | null>(null);
|
useState<ReviewOpinionDialogContext | null>(null);
|
||||||
const [latestReviewOpinion, setLatestReviewOpinion] = useState("");
|
const [latestReviewOpinion, setLatestReviewOpinion] = useState("");
|
||||||
const [latestProcessHistory, setLatestProcessHistory] = useState("");
|
|
||||||
const [lastSearchValues, setLastSearchValues] = useState<SearchFormValues | null>(null);
|
const [lastSearchValues, setLastSearchValues] = useState<SearchFormValues | null>(null);
|
||||||
|
|
||||||
const columnInfo = useMemo(() => {
|
const columnInfo = useMemo(() => {
|
||||||
@@ -111,7 +110,6 @@ const PumpingStationRvw = () => {
|
|||||||
setStatsStatusInfo({});
|
setStatsStatusInfo({});
|
||||||
setReviewOpinionContext(null);
|
setReviewOpinionContext(null);
|
||||||
setLatestReviewOpinion("");
|
setLatestReviewOpinion("");
|
||||||
setLatestProcessHistory("");
|
|
||||||
setLastSearchValues(null);
|
setLastSearchValues(null);
|
||||||
setReviewOpinionOpen(false);
|
setReviewOpinionOpen(false);
|
||||||
setReturnDialogOpen(false);
|
setReturnDialogOpen(false);
|
||||||
@@ -157,14 +155,12 @@ const PumpingStationRvw = () => {
|
|||||||
statsCd: statsInfo.statsCd ?? "",
|
statsCd: statsInfo.statsCd ?? "",
|
||||||
});
|
});
|
||||||
setLatestReviewOpinion(statsInfo.splmntOpnnCn ?? "");
|
setLatestReviewOpinion(statsInfo.splmntOpnnCn ?? "");
|
||||||
setLatestProcessHistory(statsInfo.splmntRsltCn ?? "");
|
|
||||||
setRowData(toGridRows(convertedData));
|
setRowData(toGridRows(convertedData));
|
||||||
} else {
|
} else {
|
||||||
setRowData([]);
|
setRowData([]);
|
||||||
setStatsStatusInfo({});
|
setStatsStatusInfo({});
|
||||||
setReviewOpinionContext(null);
|
setReviewOpinionContext(null);
|
||||||
setLatestReviewOpinion("");
|
setLatestReviewOpinion("");
|
||||||
setLatestProcessHistory("");
|
|
||||||
alert(response.message || "데이터가 없습니다.");
|
alert(response.message || "데이터가 없습니다.");
|
||||||
}
|
}
|
||||||
} catch {
|
} catch {
|
||||||
@@ -203,7 +199,6 @@ const PumpingStationRvw = () => {
|
|||||||
|
|
||||||
const row = detailRes.data?.[0];
|
const row = detailRes.data?.[0];
|
||||||
setLatestReviewOpinion(row?.splmntOpnnCn ?? "");
|
setLatestReviewOpinion(row?.splmntOpnnCn ?? "");
|
||||||
setLatestProcessHistory(row?.splmntRsltCn ?? "");
|
|
||||||
setReviewOpinionOpen(true);
|
setReviewOpinionOpen(true);
|
||||||
} catch {
|
} catch {
|
||||||
alert("검토의견 조회 중 오류가 발생했습니다.");
|
alert("검토의견 조회 중 오류가 발생했습니다.");
|
||||||
@@ -221,10 +216,8 @@ const PumpingStationRvw = () => {
|
|||||||
setStatsStatusInfo((prev) => ({
|
setStatsStatusInfo((prev) => ({
|
||||||
...prev,
|
...prev,
|
||||||
splmntOpnnCn: param.splmntOpnnCn,
|
splmntOpnnCn: param.splmntOpnnCn,
|
||||||
splmntRsltCn: param.splmntRsltCn,
|
|
||||||
}));
|
}));
|
||||||
setLatestReviewOpinion(param.splmntOpnnCn);
|
setLatestReviewOpinion(param.splmntOpnnCn);
|
||||||
setLatestProcessHistory(param.splmntRsltCn);
|
|
||||||
} catch {
|
} catch {
|
||||||
alert("저장 중 오류가 발생했습니다.");
|
alert("저장 중 오류가 발생했습니다.");
|
||||||
}
|
}
|
||||||
@@ -284,7 +277,6 @@ const PumpingStationRvw = () => {
|
|||||||
onOpenChange={setReviewOpinionOpen}
|
onOpenChange={setReviewOpinionOpen}
|
||||||
context={reviewOpinionContext}
|
context={reviewOpinionContext}
|
||||||
initialReviewOpinion={latestReviewOpinion}
|
initialReviewOpinion={latestReviewOpinion}
|
||||||
initialProcessHistory={latestProcessHistory}
|
|
||||||
onSave={saveReviewOpinion}
|
onSave={saveReviewOpinion}
|
||||||
/>
|
/>
|
||||||
<ReviewSubmitDialog
|
<ReviewSubmitDialog
|
||||||
|
|||||||
@@ -30,8 +30,6 @@ export interface ReviewOpinionDialogProps {
|
|||||||
context: ReviewOpinionDialogContext | null;
|
context: ReviewOpinionDialogContext | null;
|
||||||
/** 다이얼로그 열릴 때 검토의견 초기값 */
|
/** 다이얼로그 열릴 때 검토의견 초기값 */
|
||||||
initialReviewOpinion?: string;
|
initialReviewOpinion?: string;
|
||||||
/** 다이얼로그 열릴 때 처리내역 초기값 */
|
|
||||||
initialProcessHistory?: string;
|
|
||||||
/** 저장 시 생성된 param 전달 (API 호출 등) */
|
/** 저장 시 생성된 param 전달 (API 호출 등) */
|
||||||
onSave?: (param: ReviewOpinionSaveRequest) => void | Promise<void>;
|
onSave?: (param: ReviewOpinionSaveRequest) => void | Promise<void>;
|
||||||
}
|
}
|
||||||
@@ -41,18 +39,15 @@ export function ReviewOpinionDialog({
|
|||||||
onOpenChange,
|
onOpenChange,
|
||||||
context,
|
context,
|
||||||
initialReviewOpinion = "",
|
initialReviewOpinion = "",
|
||||||
initialProcessHistory = "",
|
|
||||||
onSave,
|
onSave,
|
||||||
}: ReviewOpinionDialogProps) {
|
}: ReviewOpinionDialogProps) {
|
||||||
const { setMessage: alert } = useAlertStore((state) => state);
|
const { setMessage: alert } = useAlertStore((state) => state);
|
||||||
const [reviewOpinion, setReviewOpinion] = useState("");
|
const [reviewOpinion, setReviewOpinion] = useState("");
|
||||||
const [processHistory, setProcessHistory] = useState("");
|
|
||||||
const [isSaving, setIsSaving] = useState(false);
|
const [isSaving, setIsSaving] = useState(false);
|
||||||
const [reviewOpinionError, setReviewOpinionError] = useState(false);
|
const [reviewOpinionError, setReviewOpinionError] = useState(false);
|
||||||
|
|
||||||
const resetForm = () => {
|
const resetForm = () => {
|
||||||
setReviewOpinion("");
|
setReviewOpinion("");
|
||||||
setProcessHistory("");
|
|
||||||
setReviewOpinionError(false);
|
setReviewOpinionError(false);
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -64,8 +59,7 @@ export function ReviewOpinionDialog({
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!open) return;
|
if (!open) return;
|
||||||
setReviewOpinion(initialReviewOpinion);
|
setReviewOpinion(initialReviewOpinion);
|
||||||
setProcessHistory(initialProcessHistory);
|
}, [open, initialReviewOpinion]);
|
||||||
}, [open, initialReviewOpinion, initialProcessHistory]);
|
|
||||||
|
|
||||||
const handleSave = async () => {
|
const handleSave = async () => {
|
||||||
if (reviewOpinion.trim() === "") {
|
if (reviewOpinion.trim() === "") {
|
||||||
@@ -96,7 +90,6 @@ export function ReviewOpinionDialog({
|
|||||||
sewerBzmnCd: context.sewerBzmnCd,
|
sewerBzmnCd: context.sewerBzmnCd,
|
||||||
statsCd: context.statsCd,
|
statsCd: context.statsCd,
|
||||||
splmntOpnnCn: reviewOpinion,
|
splmntOpnnCn: reviewOpinion,
|
||||||
splmntRsltCn: processHistory,
|
|
||||||
mdfrUuid: userInfo.userUnqId,
|
mdfrUuid: userInfo.userUnqId,
|
||||||
};
|
};
|
||||||
await onSave?.(param);
|
await onSave?.(param);
|
||||||
@@ -136,16 +129,6 @@ export function ReviewOpinionDialog({
|
|||||||
</p>
|
</p>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
<div className="flex flex-col gap-2">
|
|
||||||
<Label className="text-label mb-2">처리내역</Label>
|
|
||||||
<Textarea
|
|
||||||
value={processHistory}
|
|
||||||
onChange={(e) => setProcessHistory(e.target.value)}
|
|
||||||
className="min-h-[10rem] resize-y !text-[1.3rem] !leading-6"
|
|
||||||
placeholder="처리내역을 입력하세요."
|
|
||||||
disabled={isSaving}
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<DialogFooter>
|
<DialogFooter>
|
||||||
<DialogClose asChild>
|
<DialogClose asChild>
|
||||||
|
|||||||
@@ -30,8 +30,8 @@ export interface ReviewSubmitDialogProps {
|
|||||||
context: ReviewerInfoRequest | null;
|
context: ReviewerInfoRequest | null;
|
||||||
onSubmitted?: () => void | Promise<void>;
|
onSubmitted?: () => void | Promise<void>;
|
||||||
/**
|
/**
|
||||||
* true면 검토의견·처리내역 UI를 숨기고
|
* true면 검토의견 UI를 숨기고
|
||||||
* submit body에 statsCd / splmntOpnnCn / splmntRsltCn을 넣지 않음
|
* submit body에 statsCd / splmntOpnnCn을 넣지 않음
|
||||||
*/
|
*/
|
||||||
hideOpinionFields?: boolean;
|
hideOpinionFields?: boolean;
|
||||||
}
|
}
|
||||||
@@ -116,7 +116,6 @@ export function ReviewSubmitDialog({
|
|||||||
statsCd: context.statsCd,
|
statsCd: context.statsCd,
|
||||||
mdfrUuid: userInfo.userUnqId,
|
mdfrUuid: userInfo.userUnqId,
|
||||||
splmntOpnnCn: reviewerInfo?.splmntOpnnCn ?? "",
|
splmntOpnnCn: reviewerInfo?.splmntOpnnCn ?? "",
|
||||||
splmntRsltCn: reviewerInfo?.splmntRsltCn ?? "",
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const response = await statisticsApi.submitReview(submitParam);
|
const response = await statisticsApi.submitReview(submitParam);
|
||||||
@@ -175,14 +174,6 @@ export function ReviewSubmitDialog({
|
|||||||
className="min-h-[10rem] p-2 resize-none !text-xl"
|
className="min-h-[10rem] p-2 resize-none !text-xl"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="col-span-2 flex flex-col gap-2">
|
|
||||||
<Label className="text-label">처리내역</Label>
|
|
||||||
<Textarea
|
|
||||||
value={reviewerInfo?.splmntRsltCn ?? "-"}
|
|
||||||
readOnly
|
|
||||||
className="min-h-[10rem] p-2 resize-none !text-xl"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -105,7 +105,6 @@ const SewageExcretaRelatedRvw = () => {
|
|||||||
}, [activeStatsStatusInfo.statsCd, lastSearchValues]);
|
}, [activeStatsStatusInfo.statsCd, lastSearchValues]);
|
||||||
|
|
||||||
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
|
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
|
||||||
const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
|
|
||||||
|
|
||||||
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
|
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
|
||||||
if (lastSearchValues == null) return null;
|
if (lastSearchValues == null) return null;
|
||||||
@@ -289,7 +288,6 @@ const SewageExcretaRelatedRvw = () => {
|
|||||||
next.set(activeTab, {
|
next.set(activeTab, {
|
||||||
...(next.get(activeTab) ?? {}),
|
...(next.get(activeTab) ?? {}),
|
||||||
splmntOpnnCn: row?.splmntOpnnCn ?? "",
|
splmntOpnnCn: row?.splmntOpnnCn ?? "",
|
||||||
splmntRsltCn: row?.splmntRsltCn ?? "",
|
|
||||||
});
|
});
|
||||||
return next;
|
return next;
|
||||||
});
|
});
|
||||||
@@ -312,7 +310,6 @@ const SewageExcretaRelatedRvw = () => {
|
|||||||
next.set(activeTab, {
|
next.set(activeTab, {
|
||||||
...(next.get(activeTab) ?? {}),
|
...(next.get(activeTab) ?? {}),
|
||||||
splmntOpnnCn: param.splmntOpnnCn,
|
splmntOpnnCn: param.splmntOpnnCn,
|
||||||
splmntRsltCn: param.splmntRsltCn,
|
|
||||||
});
|
});
|
||||||
return next;
|
return next;
|
||||||
});
|
});
|
||||||
@@ -416,7 +413,6 @@ const SewageExcretaRelatedRvw = () => {
|
|||||||
onOpenChange={setReviewOpinionOpen}
|
onOpenChange={setReviewOpinionOpen}
|
||||||
context={reviewOpinionContext}
|
context={reviewOpinionContext}
|
||||||
initialReviewOpinion={latestReviewOpinion}
|
initialReviewOpinion={latestReviewOpinion}
|
||||||
initialProcessHistory={latestProcessHistory}
|
|
||||||
onSave={saveReviewOpinion}
|
onSave={saveReviewOpinion}
|
||||||
/>
|
/>
|
||||||
<ReviewSubmitDialog
|
<ReviewSubmitDialog
|
||||||
|
|||||||
@@ -105,7 +105,6 @@ const SewageExcretaSlurgeRvw = () => {
|
|||||||
}, [activeStatsStatusInfo.statsCd, lastSearchValues]);
|
}, [activeStatsStatusInfo.statsCd, lastSearchValues]);
|
||||||
|
|
||||||
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
|
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
|
||||||
const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
|
|
||||||
|
|
||||||
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
|
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
|
||||||
if (lastSearchValues == null) return null;
|
if (lastSearchValues == null) return null;
|
||||||
@@ -290,7 +289,6 @@ const SewageExcretaSlurgeRvw = () => {
|
|||||||
next.set(activeTab, {
|
next.set(activeTab, {
|
||||||
...(next.get(activeTab) ?? {}),
|
...(next.get(activeTab) ?? {}),
|
||||||
splmntOpnnCn: row?.splmntOpnnCn ?? "",
|
splmntOpnnCn: row?.splmntOpnnCn ?? "",
|
||||||
splmntRsltCn: row?.splmntRsltCn ?? "",
|
|
||||||
});
|
});
|
||||||
return next;
|
return next;
|
||||||
});
|
});
|
||||||
@@ -313,7 +311,6 @@ const SewageExcretaSlurgeRvw = () => {
|
|||||||
next.set(activeTab, {
|
next.set(activeTab, {
|
||||||
...(next.get(activeTab) ?? {}),
|
...(next.get(activeTab) ?? {}),
|
||||||
splmntOpnnCn: param.splmntOpnnCn,
|
splmntOpnnCn: param.splmntOpnnCn,
|
||||||
splmntRsltCn: param.splmntRsltCn,
|
|
||||||
});
|
});
|
||||||
return next;
|
return next;
|
||||||
});
|
});
|
||||||
@@ -417,7 +414,6 @@ const SewageExcretaSlurgeRvw = () => {
|
|||||||
onOpenChange={setReviewOpinionOpen}
|
onOpenChange={setReviewOpinionOpen}
|
||||||
context={reviewOpinionContext}
|
context={reviewOpinionContext}
|
||||||
initialReviewOpinion={latestReviewOpinion}
|
initialReviewOpinion={latestReviewOpinion}
|
||||||
initialProcessHistory={latestProcessHistory}
|
|
||||||
onSave={saveReviewOpinion}
|
onSave={saveReviewOpinion}
|
||||||
/>
|
/>
|
||||||
<ReviewSubmitDialog
|
<ReviewSubmitDialog
|
||||||
|
|||||||
@@ -120,7 +120,6 @@ const SewagePipeMaintainRvw = () => {
|
|||||||
}, [activeStatsStatusInfo.statsCd, lastSearchValues]);
|
}, [activeStatsStatusInfo.statsCd, lastSearchValues]);
|
||||||
|
|
||||||
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
|
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
|
||||||
const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
|
|
||||||
|
|
||||||
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
|
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
|
||||||
if (lastSearchValues == null) return null;
|
if (lastSearchValues == null) return null;
|
||||||
@@ -302,7 +301,6 @@ const SewagePipeMaintainRvw = () => {
|
|||||||
next.set(activeTab, {
|
next.set(activeTab, {
|
||||||
...(next.get(activeTab) ?? {}),
|
...(next.get(activeTab) ?? {}),
|
||||||
splmntOpnnCn: row?.splmntOpnnCn ?? "",
|
splmntOpnnCn: row?.splmntOpnnCn ?? "",
|
||||||
splmntRsltCn: row?.splmntRsltCn ?? "",
|
|
||||||
});
|
});
|
||||||
return next;
|
return next;
|
||||||
});
|
});
|
||||||
@@ -325,7 +323,6 @@ const SewagePipeMaintainRvw = () => {
|
|||||||
next.set(activeTab, {
|
next.set(activeTab, {
|
||||||
...(next.get(activeTab) ?? {}),
|
...(next.get(activeTab) ?? {}),
|
||||||
splmntOpnnCn: param.splmntOpnnCn,
|
splmntOpnnCn: param.splmntOpnnCn,
|
||||||
splmntRsltCn: param.splmntRsltCn,
|
|
||||||
});
|
});
|
||||||
return next;
|
return next;
|
||||||
});
|
});
|
||||||
@@ -429,7 +426,6 @@ const SewagePipeMaintainRvw = () => {
|
|||||||
onOpenChange={setReviewOpinionOpen}
|
onOpenChange={setReviewOpinionOpen}
|
||||||
context={reviewOpinionContext}
|
context={reviewOpinionContext}
|
||||||
initialReviewOpinion={latestReviewOpinion}
|
initialReviewOpinion={latestReviewOpinion}
|
||||||
initialProcessHistory={latestProcessHistory}
|
|
||||||
onSave={saveReviewOpinion}
|
onSave={saveReviewOpinion}
|
||||||
/>
|
/>
|
||||||
<ReviewSubmitDialog
|
<ReviewSubmitDialog
|
||||||
|
|||||||
@@ -181,7 +181,6 @@ const SewagePipeRvw = () => {
|
|||||||
};
|
};
|
||||||
}, [activeStatsStatusInfo.statsCd, lastSearchValues]);
|
}, [activeStatsStatusInfo.statsCd, lastSearchValues]);
|
||||||
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
|
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
|
||||||
const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
|
|
||||||
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
|
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
|
||||||
if (lastSearchValues == null) return null;
|
if (lastSearchValues == null) return null;
|
||||||
|
|
||||||
@@ -362,7 +361,6 @@ const SewagePipeRvw = () => {
|
|||||||
next.set(activeTab, {
|
next.set(activeTab, {
|
||||||
...(next.get(activeTab) ?? {}),
|
...(next.get(activeTab) ?? {}),
|
||||||
splmntOpnnCn: row?.splmntOpnnCn ?? "",
|
splmntOpnnCn: row?.splmntOpnnCn ?? "",
|
||||||
splmntRsltCn: row?.splmntRsltCn ?? "",
|
|
||||||
});
|
});
|
||||||
return next;
|
return next;
|
||||||
});
|
});
|
||||||
@@ -385,7 +383,6 @@ const SewagePipeRvw = () => {
|
|||||||
next.set(activeTab, {
|
next.set(activeTab, {
|
||||||
...(next.get(activeTab) ?? {}),
|
...(next.get(activeTab) ?? {}),
|
||||||
splmntOpnnCn: param.splmntOpnnCn,
|
splmntOpnnCn: param.splmntOpnnCn,
|
||||||
splmntRsltCn: param.splmntRsltCn,
|
|
||||||
});
|
});
|
||||||
return next;
|
return next;
|
||||||
});
|
});
|
||||||
@@ -488,7 +485,6 @@ const SewagePipeRvw = () => {
|
|||||||
onOpenChange={setReviewOpinionOpen}
|
onOpenChange={setReviewOpinionOpen}
|
||||||
context={reviewOpinionContext}
|
context={reviewOpinionContext}
|
||||||
initialReviewOpinion={latestReviewOpinion}
|
initialReviewOpinion={latestReviewOpinion}
|
||||||
initialProcessHistory={latestProcessHistory}
|
|
||||||
onSave={saveReviewOpinion}
|
onSave={saveReviewOpinion}
|
||||||
/>
|
/>
|
||||||
<ReviewSubmitDialog
|
<ReviewSubmitDialog
|
||||||
|
|||||||
@@ -126,7 +126,6 @@ const SewageReservoirPumpRvw = () => {
|
|||||||
}, [activeStatsCd, lastSearchValues]);
|
}, [activeStatsCd, lastSearchValues]);
|
||||||
|
|
||||||
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
|
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
|
||||||
const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
|
|
||||||
|
|
||||||
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
|
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
|
||||||
if (lastSearchValues == null) return null;
|
if (lastSearchValues == null) return null;
|
||||||
@@ -308,7 +307,6 @@ const SewageReservoirPumpRvw = () => {
|
|||||||
next.set(activeTab, {
|
next.set(activeTab, {
|
||||||
...(next.get(activeTab) ?? {}),
|
...(next.get(activeTab) ?? {}),
|
||||||
splmntOpnnCn: row?.splmntOpnnCn ?? "",
|
splmntOpnnCn: row?.splmntOpnnCn ?? "",
|
||||||
splmntRsltCn: row?.splmntRsltCn ?? "",
|
|
||||||
});
|
});
|
||||||
return next;
|
return next;
|
||||||
});
|
});
|
||||||
@@ -331,7 +329,6 @@ const SewageReservoirPumpRvw = () => {
|
|||||||
next.set(activeTab, {
|
next.set(activeTab, {
|
||||||
...(next.get(activeTab) ?? {}),
|
...(next.get(activeTab) ?? {}),
|
||||||
splmntOpnnCn: param.splmntOpnnCn,
|
splmntOpnnCn: param.splmntOpnnCn,
|
||||||
splmntRsltCn: param.splmntRsltCn,
|
|
||||||
});
|
});
|
||||||
return next;
|
return next;
|
||||||
});
|
});
|
||||||
@@ -435,7 +432,6 @@ const SewageReservoirPumpRvw = () => {
|
|||||||
onOpenChange={setReviewOpinionOpen}
|
onOpenChange={setReviewOpinionOpen}
|
||||||
context={reviewOpinionContext}
|
context={reviewOpinionContext}
|
||||||
initialReviewOpinion={latestReviewOpinion}
|
initialReviewOpinion={latestReviewOpinion}
|
||||||
initialProcessHistory={latestProcessHistory}
|
|
||||||
onSave={saveReviewOpinion}
|
onSave={saveReviewOpinion}
|
||||||
/>
|
/>
|
||||||
<ReviewSubmitDialog
|
<ReviewSubmitDialog
|
||||||
|
|||||||
@@ -105,7 +105,6 @@ const SewerageFinanceRvw = () => {
|
|||||||
}, [activeStatsStatusInfo.statsCd, lastSearchValues]);
|
}, [activeStatsStatusInfo.statsCd, lastSearchValues]);
|
||||||
|
|
||||||
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
|
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
|
||||||
const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
|
|
||||||
|
|
||||||
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
|
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
|
||||||
if (lastSearchValues == null) return null;
|
if (lastSearchValues == null) return null;
|
||||||
@@ -287,7 +286,6 @@ const SewerageFinanceRvw = () => {
|
|||||||
next.set(activeTab, {
|
next.set(activeTab, {
|
||||||
...(next.get(activeTab) ?? {}),
|
...(next.get(activeTab) ?? {}),
|
||||||
splmntOpnnCn: row?.splmntOpnnCn ?? "",
|
splmntOpnnCn: row?.splmntOpnnCn ?? "",
|
||||||
splmntRsltCn: row?.splmntRsltCn ?? "",
|
|
||||||
});
|
});
|
||||||
return next;
|
return next;
|
||||||
});
|
});
|
||||||
@@ -310,7 +308,6 @@ const SewerageFinanceRvw = () => {
|
|||||||
next.set(activeTab, {
|
next.set(activeTab, {
|
||||||
...(next.get(activeTab) ?? {}),
|
...(next.get(activeTab) ?? {}),
|
||||||
splmntOpnnCn: param.splmntOpnnCn,
|
splmntOpnnCn: param.splmntOpnnCn,
|
||||||
splmntRsltCn: param.splmntRsltCn,
|
|
||||||
});
|
});
|
||||||
return next;
|
return next;
|
||||||
});
|
});
|
||||||
@@ -414,7 +411,6 @@ const SewerageFinanceRvw = () => {
|
|||||||
onOpenChange={setReviewOpinionOpen}
|
onOpenChange={setReviewOpinionOpen}
|
||||||
context={reviewOpinionContext}
|
context={reviewOpinionContext}
|
||||||
initialReviewOpinion={latestReviewOpinion}
|
initialReviewOpinion={latestReviewOpinion}
|
||||||
initialProcessHistory={latestProcessHistory}
|
|
||||||
onSave={saveReviewOpinion}
|
onSave={saveReviewOpinion}
|
||||||
/>
|
/>
|
||||||
<ReviewSubmitDialog
|
<ReviewSubmitDialog
|
||||||
|
|||||||
@@ -40,7 +40,6 @@ const SeweragePenetrationRateRvw = () => {
|
|||||||
const [reviewOpinionContext, setReviewOpinionContext] =
|
const [reviewOpinionContext, setReviewOpinionContext] =
|
||||||
useState<ReviewOpinionDialogContext | null>(null);
|
useState<ReviewOpinionDialogContext | null>(null);
|
||||||
const [latestReviewOpinion, setLatestReviewOpinion] = useState("");
|
const [latestReviewOpinion, setLatestReviewOpinion] = useState("");
|
||||||
const [latestProcessHistory, setLatestProcessHistory] = useState("");
|
|
||||||
const [lastSearchValues, setLastSearchValues] = useState<SearchFormValues | null>(null);
|
const [lastSearchValues, setLastSearchValues] = useState<SearchFormValues | null>(null);
|
||||||
|
|
||||||
const columnInfo = useMemo(() => {
|
const columnInfo = useMemo(() => {
|
||||||
@@ -100,7 +99,6 @@ const SeweragePenetrationRateRvw = () => {
|
|||||||
setStatsStatusInfo({});
|
setStatsStatusInfo({});
|
||||||
setReviewOpinionContext(null);
|
setReviewOpinionContext(null);
|
||||||
setLatestReviewOpinion("");
|
setLatestReviewOpinion("");
|
||||||
setLatestProcessHistory("");
|
|
||||||
setLastSearchValues(null);
|
setLastSearchValues(null);
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -139,15 +137,11 @@ const SeweragePenetrationRateRvw = () => {
|
|||||||
setLatestReviewOpinion(
|
setLatestReviewOpinion(
|
||||||
response.data.statsStatusInfo.splmntOpnnCn ?? "",
|
response.data.statsStatusInfo.splmntOpnnCn ?? "",
|
||||||
);
|
);
|
||||||
setLatestProcessHistory(
|
|
||||||
response.data.statsStatusInfo.splmntRsltCn ?? "",
|
|
||||||
);
|
|
||||||
setRowData(toGridRows(convertedData));
|
setRowData(toGridRows(convertedData));
|
||||||
} else {
|
} else {
|
||||||
setRowData([]);
|
setRowData([]);
|
||||||
setReviewOpinionContext(null);
|
setReviewOpinionContext(null);
|
||||||
setLatestReviewOpinion("");
|
setLatestReviewOpinion("");
|
||||||
setLatestProcessHistory("");
|
|
||||||
alert(response.message || "데이터가 없습니다.");
|
alert(response.message || "데이터가 없습니다.");
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
@@ -187,7 +181,6 @@ const SeweragePenetrationRateRvw = () => {
|
|||||||
|
|
||||||
const row = detailRes.data?.[0];
|
const row = detailRes.data?.[0];
|
||||||
setLatestReviewOpinion(row?.splmntOpnnCn ?? "");
|
setLatestReviewOpinion(row?.splmntOpnnCn ?? "");
|
||||||
setLatestProcessHistory(row?.splmntRsltCn ?? "");
|
|
||||||
setReviewOpinionOpen(true);
|
setReviewOpinionOpen(true);
|
||||||
} catch {
|
} catch {
|
||||||
alert("검토의견 조회 중 오류가 발생했습니다.");
|
alert("검토의견 조회 중 오류가 발생했습니다.");
|
||||||
@@ -205,10 +198,8 @@ const SeweragePenetrationRateRvw = () => {
|
|||||||
setStatsStatusInfo((prev) => ({
|
setStatsStatusInfo((prev) => ({
|
||||||
...prev,
|
...prev,
|
||||||
splmntOpnnCn: param.splmntOpnnCn,
|
splmntOpnnCn: param.splmntOpnnCn,
|
||||||
splmntRsltCn: param.splmntRsltCn,
|
|
||||||
}));
|
}));
|
||||||
setLatestReviewOpinion(param.splmntOpnnCn);
|
setLatestReviewOpinion(param.splmntOpnnCn);
|
||||||
setLatestProcessHistory(param.splmntRsltCn);
|
|
||||||
} catch {
|
} catch {
|
||||||
alert("저장 중 오류가 발생했습니다.");
|
alert("저장 중 오류가 발생했습니다.");
|
||||||
}
|
}
|
||||||
@@ -264,7 +255,6 @@ const SeweragePenetrationRateRvw = () => {
|
|||||||
onOpenChange={setReviewOpinionOpen}
|
onOpenChange={setReviewOpinionOpen}
|
||||||
context={reviewOpinionContext}
|
context={reviewOpinionContext}
|
||||||
initialReviewOpinion={latestReviewOpinion}
|
initialReviewOpinion={latestReviewOpinion}
|
||||||
initialProcessHistory={latestProcessHistory}
|
|
||||||
onSave={saveReviewOpinion}
|
onSave={saveReviewOpinion}
|
||||||
/>
|
/>
|
||||||
<ReviewSubmitDialog
|
<ReviewSubmitDialog
|
||||||
|
|||||||
@@ -103,7 +103,6 @@ const SewerageServiceLevelRvw = () => {
|
|||||||
}, [activeStatsStatusInfo.statsCd, lastSearchValues]);
|
}, [activeStatsStatusInfo.statsCd, lastSearchValues]);
|
||||||
|
|
||||||
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
|
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
|
||||||
const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
|
|
||||||
|
|
||||||
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
|
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
|
||||||
if (lastSearchValues == null) return null;
|
if (lastSearchValues == null) return null;
|
||||||
@@ -288,7 +287,6 @@ const SewerageServiceLevelRvw = () => {
|
|||||||
next.set(activeTab, {
|
next.set(activeTab, {
|
||||||
...(next.get(activeTab) ?? {}),
|
...(next.get(activeTab) ?? {}),
|
||||||
splmntOpnnCn: row?.splmntOpnnCn ?? "",
|
splmntOpnnCn: row?.splmntOpnnCn ?? "",
|
||||||
splmntRsltCn: row?.splmntRsltCn ?? "",
|
|
||||||
});
|
});
|
||||||
return next;
|
return next;
|
||||||
});
|
});
|
||||||
@@ -311,7 +309,6 @@ const SewerageServiceLevelRvw = () => {
|
|||||||
next.set(activeTab, {
|
next.set(activeTab, {
|
||||||
...(next.get(activeTab) ?? {}),
|
...(next.get(activeTab) ?? {}),
|
||||||
splmntOpnnCn: param.splmntOpnnCn,
|
splmntOpnnCn: param.splmntOpnnCn,
|
||||||
splmntRsltCn: param.splmntRsltCn,
|
|
||||||
});
|
});
|
||||||
return next;
|
return next;
|
||||||
});
|
});
|
||||||
@@ -415,7 +412,6 @@ const SewerageServiceLevelRvw = () => {
|
|||||||
onOpenChange={setReviewOpinionOpen}
|
onOpenChange={setReviewOpinionOpen}
|
||||||
context={reviewOpinionContext}
|
context={reviewOpinionContext}
|
||||||
initialReviewOpinion={latestReviewOpinion}
|
initialReviewOpinion={latestReviewOpinion}
|
||||||
initialProcessHistory={latestProcessHistory}
|
|
||||||
onSave={saveReviewOpinion}
|
onSave={saveReviewOpinion}
|
||||||
/>
|
/>
|
||||||
<ReviewSubmitDialog
|
<ReviewSubmitDialog
|
||||||
|
|||||||
@@ -39,22 +39,14 @@ import { toGridRows } from "@/components/util/grid/gridFunction";
|
|||||||
|
|
||||||
type ReviewHistoryRow = ReviewHistoryResponse["data"][number];
|
type ReviewHistoryRow = ReviewHistoryResponse["data"][number];
|
||||||
|
|
||||||
const checkPrvnStatusCd = (code: string) => {
|
|
||||||
return (code === '0' || code === '1') ? '미작성' : (code === '2' ? '제출완료' : (code === '3' ? '승인완료' : '반려'));
|
|
||||||
};
|
|
||||||
|
|
||||||
const checkSubmitStatusCd = (code: string) => {
|
|
||||||
return code === '0' ? '미작성' : (code === '1' ? '작성중' : (code === '2' ? '제출완료' : (code === '3' ? '승인완료' : '보완요청')));
|
|
||||||
};
|
|
||||||
|
|
||||||
const isStatsInputStatusRowApprovable = (row: Record<string, string | number>) =>
|
const isStatsInputStatusRowApprovable = (row: Record<string, string | number>) =>
|
||||||
String(row.submitStatusCd ?? "") === "3" && (String(row.prvnStatusCd ?? "") === "2" || String(row.prvnStatusCd ?? "") === "3");
|
String(row.lclgvSbmsnSttsCd ?? "") === "3" &&
|
||||||
|
(String(row.mctpvPicSbmsnSttsCd ?? "") === "2" ||
|
||||||
|
String(row.mctpvPicSbmsnSttsCd ?? "") === "3");
|
||||||
|
|
||||||
const mapSewerageListToGridRows = (rawList: StatsInputStatusReviewItem[]) =>
|
const mapSewerageListToGridRows = (rawList: StatsInputStatusReviewItem[]) =>
|
||||||
rawList.map((r) => ({
|
rawList.map((r) => ({
|
||||||
...r,
|
...r,
|
||||||
prvnStatusNm: checkPrvnStatusCd(r.prvnStatusCd || "0"),
|
|
||||||
submitStatusNm: checkSubmitStatusCd(r.submitStatusCd || "0"),
|
|
||||||
reviewHistory: "검토이력",
|
reviewHistory: "검토이력",
|
||||||
}));
|
}));
|
||||||
|
|
||||||
@@ -97,7 +89,7 @@ const StatsInputStatusRvw = () => {
|
|||||||
const reviewHistoryColumns = useMemo(() => {
|
const reviewHistoryColumns = useMemo(() => {
|
||||||
const col = createColumnHelper<ReviewHistoryRow>();
|
const col = createColumnHelper<ReviewHistoryRow>();
|
||||||
return [
|
return [
|
||||||
col.accessor("logDt", {
|
col.accessor("regDt", {
|
||||||
header: "등록일",
|
header: "등록일",
|
||||||
cell: (info) => info.getValue(),
|
cell: (info) => info.getValue(),
|
||||||
}),
|
}),
|
||||||
@@ -238,23 +230,23 @@ const StatsInputStatusRvw = () => {
|
|||||||
const allSubmitStatusApproved = useMemo(
|
const allSubmitStatusApproved = useMemo(
|
||||||
() =>
|
() =>
|
||||||
rowData.length > 0 &&
|
rowData.length > 0 &&
|
||||||
rowData.every((row) => String(row.submitStatusCd ?? "") === "3"),
|
rowData.every((row) => String(row.lclgvSbmsnSttsCd ?? "") === "3"),
|
||||||
[rowData],
|
[rowData],
|
||||||
);
|
);
|
||||||
|
|
||||||
/** 진행상태(prvn) 코드가 모두 승인완료(3) */
|
/** 진행상태(광역) 코드가 모두 승인완료(3) */
|
||||||
const allPrvnStatusApproved = useMemo(
|
const allPrvnStatusApproved = useMemo(
|
||||||
() =>
|
() =>
|
||||||
rowData.length > 0 &&
|
rowData.length > 0 &&
|
||||||
rowData.every((row) => String(row.prvnStatusCd ?? "") === "3"),
|
rowData.every((row) => String(row.mctpvPicSbmsnSttsCd ?? "") === "3"),
|
||||||
[rowData],
|
[rowData],
|
||||||
);
|
);
|
||||||
|
|
||||||
/** 진행상태(prvn) 코드가 모두 제출완료(2) */
|
/** 진행상태(광역) 코드가 모두 제출완료(2) */
|
||||||
const allPrvnStatusSubmitted = useMemo(
|
const allPrvnStatusSubmitted = useMemo(
|
||||||
() =>
|
() =>
|
||||||
rowData.length > 0 &&
|
rowData.length > 0 &&
|
||||||
rowData.every((row) => String(row.prvnStatusCd ?? "") === "2"),
|
rowData.every((row) => String(row.mctpvPicSbmsnSttsCd ?? "") === "2"),
|
||||||
[rowData],
|
[rowData],
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -392,8 +384,8 @@ const StatsInputStatusRvw = () => {
|
|||||||
setRowData={setRowData}
|
setRowData={setRowData}
|
||||||
onDataCellClick={handleReviewHistoryCellClick}
|
onDataCellClick={handleReviewHistoryCellClick}
|
||||||
cellStyleCallback={({ row, fieldName }) => {
|
cellStyleCallback={({ row, fieldName }) => {
|
||||||
if (fieldName === "submitStatusNm") {
|
if (fieldName === "lclgvSbmsnSttsNm") {
|
||||||
const statusCd = String(row.submitStatusCd ?? "");
|
const statusCd = String(row.lclgvSbmsnSttsCd ?? "");
|
||||||
|
|
||||||
if (statusCd === "0" || statusCd === "1") {
|
if (statusCd === "0" || statusCd === "1") {
|
||||||
return "rg-cell-stats-status-pending";
|
return "rg-cell-stats-status-pending";
|
||||||
@@ -408,8 +400,8 @@ const StatsInputStatusRvw = () => {
|
|||||||
return "rg-cell-stats-status-rejected";
|
return "rg-cell-stats-status-rejected";
|
||||||
}
|
}
|
||||||
return undefined;
|
return undefined;
|
||||||
} else if (fieldName === "prvnStatusNm") {
|
} else if (fieldName === "mctpvPicSbmsnSttsNm") {
|
||||||
const statusCd = String(row.prvnStatusCd ?? "");
|
const statusCd = String(row.mctpvPicSbmsnSttsCd ?? "");
|
||||||
|
|
||||||
if (statusCd === "0" || statusCd === "1") {
|
if (statusCd === "0" || statusCd === "1") {
|
||||||
return "rg-cell-stats-status-pending";
|
return "rg-cell-stats-status-pending";
|
||||||
|
|||||||
@@ -108,7 +108,6 @@ const WaterReuseRvw = () => {
|
|||||||
}, [activeStatsStatusInfo.statsCd, lastSearchValues]);
|
}, [activeStatsStatusInfo.statsCd, lastSearchValues]);
|
||||||
|
|
||||||
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
|
const latestReviewOpinion = activeStatsStatusInfo.splmntOpnnCn ?? "";
|
||||||
const latestProcessHistory = activeStatsStatusInfo.splmntRsltCn ?? "";
|
|
||||||
|
|
||||||
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
|
const submitDialogContext = useMemo<ReviewerInfoRequest | null>(() => {
|
||||||
if (lastSearchValues == null) return null;
|
if (lastSearchValues == null) return null;
|
||||||
@@ -291,7 +290,6 @@ const WaterReuseRvw = () => {
|
|||||||
next.set(activeTab, {
|
next.set(activeTab, {
|
||||||
...(next.get(activeTab) ?? {}),
|
...(next.get(activeTab) ?? {}),
|
||||||
splmntOpnnCn: row?.splmntOpnnCn ?? "",
|
splmntOpnnCn: row?.splmntOpnnCn ?? "",
|
||||||
splmntRsltCn: row?.splmntRsltCn ?? "",
|
|
||||||
});
|
});
|
||||||
return next;
|
return next;
|
||||||
});
|
});
|
||||||
@@ -314,7 +312,6 @@ const WaterReuseRvw = () => {
|
|||||||
next.set(activeTab, {
|
next.set(activeTab, {
|
||||||
...(next.get(activeTab) ?? {}),
|
...(next.get(activeTab) ?? {}),
|
||||||
splmntOpnnCn: param.splmntOpnnCn,
|
splmntOpnnCn: param.splmntOpnnCn,
|
||||||
splmntRsltCn: param.splmntRsltCn,
|
|
||||||
});
|
});
|
||||||
return next;
|
return next;
|
||||||
});
|
});
|
||||||
@@ -418,7 +415,6 @@ const WaterReuseRvw = () => {
|
|||||||
onOpenChange={setReviewOpinionOpen}
|
onOpenChange={setReviewOpinionOpen}
|
||||||
context={reviewOpinionContext}
|
context={reviewOpinionContext}
|
||||||
initialReviewOpinion={latestReviewOpinion}
|
initialReviewOpinion={latestReviewOpinion}
|
||||||
initialProcessHistory={latestProcessHistory}
|
|
||||||
onSave={saveReviewOpinion}
|
onSave={saveReviewOpinion}
|
||||||
/>
|
/>
|
||||||
<ReviewSubmitDialog
|
<ReviewSubmitDialog
|
||||||
|
|||||||
@@ -17,12 +17,12 @@ const StatsInputStatusInfoColumnRaw = {
|
|||||||
styleName: 'rg-cell-outline-action-btn',
|
styleName: 'rg-cell-outline-action-btn',
|
||||||
},
|
},
|
||||||
|
|
||||||
{ name: 'chargerNm', fieldName: 'chargerNm', header: { text: '제출자' } },
|
{ name: 'lclgvPicNm', fieldName: 'lclgvPicNm', header: { text: '제출자' } },
|
||||||
{ name: 'chargerCttpc', fieldName: 'chargerCttpc', header: { text: '연락처' } },
|
{ name: 'lclgvPicTelnoCn', fieldName: 'lclgvPicTelnoCn', header: { text: '연락처' } },
|
||||||
{ name: 'submitStatusNm', fieldName: 'submitStatusNm', header: { text: '지자체진행상태' } },
|
{ name: 'lclgvSbmsnSttsNm', fieldName: 'lclgvSbmsnSttsNm', header: { text: '지자체진행상태' } },
|
||||||
{ name: 'submitStatusCd', fieldName: 'submitStatusCd', header: { text: '지자체진행상태코드' }, visible: false },
|
{ name: 'lclgvSbmsnSttsCd', fieldName: 'lclgvSbmsnSttsCd', header: { text: '지자체진행상태코드' }, visible: false },
|
||||||
{ name: 'prvnStatusNm', fieldName: 'prvnStatusNm', header: { text: '진행상태' } },
|
{ name: 'mctpvPicSbmsnSttsNm', fieldName: 'mctpvPicSbmsnSttsNm', header: { text: '진행상태' } },
|
||||||
{ name: 'prvnStatusCd', fieldName: 'prvnStatusCd', header: { text: '진행상태코드' }, visible: false },
|
{ name: 'mctpvPicSbmsnSttsCd', fieldName: 'mctpvPicSbmsnSttsCd', header: { text: '진행상태코드' }, visible: false },
|
||||||
],
|
],
|
||||||
|
|
||||||
columnLayout: [
|
columnLayout: [
|
||||||
@@ -30,14 +30,14 @@ const StatsInputStatusInfoColumnRaw = {
|
|||||||
'sggNm',
|
'sggNm',
|
||||||
'tabNm',
|
'tabNm',
|
||||||
'reviewHistory',
|
'reviewHistory',
|
||||||
'chargerNm',
|
'lclgvPicNm',
|
||||||
'chargerCttpc',
|
'lclgvPicTelnoCn',
|
||||||
'submitStatusNm',
|
'lclgvSbmsnSttsNm',
|
||||||
'prvnStatusNm',
|
'mctpvPicSbmsnSttsNm',
|
||||||
'statsCd',
|
'statsCd',
|
||||||
'sewerBzmnCd',
|
'sewerBzmnCd',
|
||||||
'submitStatusCd',
|
'lclgvSbmsnSttsCd',
|
||||||
'prvnStatusCd'
|
'mctpvPicSbmsnSttsCd',
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ export interface ReportStatusResponseDto {
|
|||||||
lastCfmtnPicTelnoCn?: string | null;
|
lastCfmtnPicTelnoCn?: string | null;
|
||||||
lastCfmtnPicDeptNm?: string | null;
|
lastCfmtnPicDeptNm?: string | null;
|
||||||
lastCfmtnPicJbgdNm?: string | null;
|
lastCfmtnPicJbgdNm?: string | null;
|
||||||
splmntRsltCn?: string | null;
|
|
||||||
splmntOpnnCn?: string | null;
|
splmntOpnnCn?: string | null;
|
||||||
rjctOpnnCn?: string | null;
|
rjctOpnnCn?: string | null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,12 +9,12 @@ export interface StatsInputStatusReviewItem {
|
|||||||
sewerBzmnCd?: string;
|
sewerBzmnCd?: string;
|
||||||
tabNm?: string;
|
tabNm?: string;
|
||||||
statsCd?: string;
|
statsCd?: string;
|
||||||
submitStatusNm?: string;
|
lclgvPicNm?: string;
|
||||||
prvnStatusNm?: string;
|
lclgvPicTelnoCn?: string;
|
||||||
chargerNm?: string;
|
lclgvSbmsnSttsCd?: string;
|
||||||
chargerCttpc?: string;
|
lclgvSbmsnSttsNm?: string;
|
||||||
submitStatusCd?: string;
|
mctpvPicSbmsnSttsCd?: string;
|
||||||
prvnStatusCd?: string;
|
mctpvPicSbmsnSttsNm?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface StatsInputStatusReviewResponseData {
|
export interface StatsInputStatusReviewResponseData {
|
||||||
@@ -37,7 +37,7 @@ export interface ReviewHistoryResponse {
|
|||||||
status: string;
|
status: string;
|
||||||
message?: string;
|
message?: string;
|
||||||
data: {
|
data: {
|
||||||
logDt: string;
|
regDt: string;
|
||||||
historyContent: string;
|
historyContent: string;
|
||||||
}[]
|
}[]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -342,7 +342,6 @@ export interface ReviewOpinionDetailItem {
|
|||||||
sewerBzmnCd: string;
|
sewerBzmnCd: string;
|
||||||
statsCd: string;
|
statsCd: string;
|
||||||
splmntOpnnCn: string | null;
|
splmntOpnnCn: string | null;
|
||||||
splmntRsltCn: string | null;
|
|
||||||
mdfrUuid: string | null;
|
mdfrUuid: string | null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -358,7 +357,6 @@ export interface ReviewOpinionSaveRequest {
|
|||||||
sewerBzmnCd: string;
|
sewerBzmnCd: string;
|
||||||
statsCd: string;
|
statsCd: string;
|
||||||
splmntOpnnCn: string;
|
splmntOpnnCn: string;
|
||||||
splmntRsltCn: string;
|
|
||||||
mdfrUuid: string;
|
mdfrUuid: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -403,7 +401,6 @@ export interface ReviewSubmitRequest {
|
|||||||
/** 통계항목 단위 제출 시 사용 (통계 입력 현황 일괄 제출에는 미사용) */
|
/** 통계항목 단위 제출 시 사용 (통계 입력 현황 일괄 제출에는 미사용) */
|
||||||
statsCd?: string;
|
statsCd?: string;
|
||||||
splmntOpnnCn?: string;
|
splmntOpnnCn?: string;
|
||||||
splmntRsltCn?: string;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface ReviewSubmitResponse {
|
export interface ReviewSubmitResponse {
|
||||||
@@ -469,7 +466,6 @@ export interface ReviewerInfoResponse {
|
|||||||
dpmNm: string;
|
dpmNm: string;
|
||||||
cps: string;
|
cps: string;
|
||||||
splmntOpnnCn: string;
|
splmntOpnnCn: string;
|
||||||
splmntRsltCn: string;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -493,9 +489,8 @@ export interface StatiscicsManagementReviewHistoryItem {
|
|||||||
ctpvNm: string;
|
ctpvNm: string;
|
||||||
sggNm: string;
|
sggNm: string;
|
||||||
menuNm: string;
|
menuNm: string;
|
||||||
wrterOpinionSm: string | null;
|
splmntOpnnCn: string | null;
|
||||||
chckerOpinionSm: string | null;
|
rjctOpnnCn: string | null;
|
||||||
returnOpinionSm: string | null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface StatiscicsManagementReviewHistoryResponse {
|
export interface StatiscicsManagementReviewHistoryResponse {
|
||||||
|
|||||||
@@ -108,5 +108,4 @@ export interface StatsStatusInfo {
|
|||||||
mctpvPicSbmsnSttsCd?: string;
|
mctpvPicSbmsnSttsCd?: string;
|
||||||
rjctOpnnCn?: string;
|
rjctOpnnCn?: string;
|
||||||
splmntOpnnCn?: string;
|
splmntOpnnCn?: string;
|
||||||
splmntRsltCn?: string;
|
|
||||||
}
|
}
|
||||||
@@ -270,5 +270,4 @@ export interface StatsStatusInfo {
|
|||||||
mctpvPicSbmsnSttsCd?: string;
|
mctpvPicSbmsnSttsCd?: string;
|
||||||
rjctOpnnCn?: string;
|
rjctOpnnCn?: string;
|
||||||
splmntOpnnCn?: string;
|
splmntOpnnCn?: string;
|
||||||
splmntRsltCn?: string;
|
|
||||||
}
|
}
|
||||||
-1
@@ -59,7 +59,6 @@ export interface statsStatusInfo {
|
|||||||
mctpvPicSbmsnSttsCd?: string;
|
mctpvPicSbmsnSttsCd?: string;
|
||||||
rjctOpnnCn?: string;
|
rjctOpnnCn?: string;
|
||||||
splmntOpnnCn?: string;
|
splmntOpnnCn?: string;
|
||||||
splmntRsltCn?: string;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SewerageSupplyRateReviewResponseData {
|
export interface SewerageSupplyRateReviewResponseData {
|
||||||
|
|||||||
Reference in New Issue
Block a user