Merge branch 'iipbs/st/dev' of https://www.onasys.co.kr:3000/ONAANDALL/frontend into iipbs/st/dev

This commit is contained in:
2026-03-05 14:10:21 +09:00
19 changed files with 197 additions and 175 deletions
@@ -7,6 +7,7 @@ import SubmitButton from "@/components/button/SumitButton";
import SaveButton from "@/components/button/SaveButton";
import LastYearDataButton from "@/components/button/LastYearDataButton";
import SubmitExceptionButton from "@/components/button/SubmitExceptionButton";
import CancelSubmitButton from "@/components/button/CancelSubmitButton";
import { LoadingWithAnimation } from "@common/components";
import { ConfirmDialog } from "@/shared/ui/confirm-dialog";
import SubmitDailog from "./SubmitDailog";
@@ -123,16 +124,16 @@ const SeweragePenetrationRateInp = () => {
setFooterFromApi(
commonInfo
? {
totalPopl: commonInfo.sewerBzmnTotalPopl,
poplSm: commonInfo.sewerBzmnPoplSm,
frgnrPoplSm: commonInfo.sewerBzmnFrgnrPoplSm,
totalPopl: commonInfo.sewerBzmnWholPpltnCnt,
poplSm: commonInfo.sewerBzmnDomplWholPpltnCnt,
frgnrPoplSm: commonInfo.sewerBzmnFrgnrWholPpltnCnt,
refArea: commonInfo.sewerBzmnArea,
}
: null
);
if (statusInfo && statusInfo.locgStatus) {
if (['2', '3'].includes(statusInfo.locgStatus)) {
if (statusInfo && statusInfo.laeSbmsnSttsCd) {
if (['2', '3'].includes(statusInfo.laeSbmsnSttsCd)) {
setIsEnterable(false);
} else {
setIsEnterable(isEnterable);
@@ -267,15 +268,15 @@ const SeweragePenetrationRateInp = () => {
statsYr: searchValues?.year ?? '',
userId: userInfo.userUnqId,
submitList: convertedData,
sewerBzmnFrgnrPoplSm: footerFromApi?.frgnrPoplSm,
locgCharger: submitInfo.locgCharger,
locgJob: submitInfo.locgJob,
locgDept: submitInfo.locgDept,
locgCttpc: submitInfo.locgCttpc,
locgCnfirmNm: submitInfo.locgCnfirmNm,
locgCnfirmJob: submitInfo.locgCnfirmJob,
locgCnfirmDept: submitInfo.locgCnfirmDept,
locgCnfirmPh: submitInfo.locgCnfirmPh,
sewerBzmnFrgnrWholPpltnCnt: footerFromApi?.frgnrPoplSm,
laePicNm: submitInfo.laePicNm,
laeKbrdrJbgdNm: submitInfo.laeKbrdrJbgdNm,
laeKbrdrDeptNm: submitInfo.laeKbrdrDeptNm,
laePicTelNo: submitInfo.laePicTelNo,
laeIdfrNm: submitInfo.laeIdfrNm,
laeIdfrJbgdNm: submitInfo.laeIdfrJbgdNm,
laeIdfrDeptNm: submitInfo.laeIdfrDeptNm,
laeIdfrTelNo: submitInfo.laeIdfrTelNo,
};
const response = await StatisticsInputSewSupplyRateApi.submitSewerageSupplyRate(requestData);
@@ -369,7 +370,7 @@ const SeweragePenetrationRateInp = () => {
statsYr: searchValues?.year ?? '', // 통계 연도
userId: userInfo.userUnqId, // 사용자
saveList: convertedData, // 저장 데이터
sewerBzmnFrgnrPoplSm: footerFromApi?.frgnrPoplSm // 행정참고자료 외국인 합계
sewerBzmnFrgnrWholPpltnCnt: footerFromApi?.frgnrPoplSm // 행정참고자료 외국인 합계
};
if (isAdminInfo) {
@@ -406,8 +407,10 @@ const SeweragePenetrationRateInp = () => {
<SubmitExceptionButton SubmitExceptionFunc={SubmitExceptionFunc} />
<LastYearDataButton getLastYearDataFunc={() => getLastYearDataFunc(searchValues ?? {})} />
<SubmitButton submitFunc={submitFunc} />
</>
)}
{statusInfo?.laeSbmsnSttsCd === '2' && <CancelSubmitButton cnacelSubmitFunc={() => console.log('test')} />}
{(isEnterable && (doList.includes(lastSearchedValues?.bsnmCd || '') ? Boolean(lastSearchedValues?.gugun && lastSearchedValues.gugun !== 'ALL') : true) || isAdminInfo) && <SaveButton saveFunc={saveFunc} />}
</div>
</div>
@@ -66,7 +66,7 @@ const StatsInputStatusInp = () => {
return (
<>
<div className="relative">
<SearchForm onSubmit={handleSearch} onReset={handleReset} isStatusMenu={true} />
<SearchForm onSubmit={handleSearch} onReset={handleReset} />
<div className="card !py-0">
<div className="flex justify-end items-center gap-[0.6rem] m-[0.6rem]">
<RejectButton rejectFunc={rejectFunc} />
@@ -37,7 +37,7 @@ function formatPhoneWithHyphen(value: string): string {
return `${digits.slice(0, 3)}-${digits.slice(3, 6)}-${digits.slice(6, 10)}`;
}
const PHONE_FIELDS: (keyof StatisticsInputSubmitInfoFormData)[] = ["locgCttpc", "locgCnfirmPh"];
const PHONE_FIELDS: (keyof StatisticsInputSubmitInfoFormData)[] = ["laePicTelNo", "laeIdfrTelNo"];
interface SubmitDialogProps {
open: boolean;
@@ -48,26 +48,26 @@ interface SubmitDialogProps {
}
const defaultValues: StatisticsInputSubmitInfoFormData = {
locgCharger: "",
locgJob: "",
locgDept: "",
locgCttpc: "",
locgCnfirmNm: "",
locgCnfirmJob: "",
locgCnfirmDept: "",
locgCnfirmPh: "",
laePicNm: "",
laeKbrdrJbgdNm: "",
laeKbrdrDeptNm: "",
laePicTelNo: "",
laeIdfrNm: "",
laeIdfrJbgdNm: "",
laeIdfrDeptNm: "",
laeIdfrTelNo: "",
};
function statusInfoToFormData(info: SewerageSupplyRateStatusInfo): StatisticsInputSubmitInfoFormData {
return {
locgCharger: info.locgCharger ?? "",
locgJob: info.locgJob ?? "",
locgDept: info.locgDept ?? "",
locgCttpc: info.locgCttpc ?? "",
locgCnfirmNm: info.locgCnfirmNm ?? "",
locgCnfirmJob: info.locgCnfirmJob ?? "",
locgCnfirmDept: info.locgCnfirmDept ?? "",
locgCnfirmPh: info.locgCnfirmPh ?? "",
laePicNm: info.laePicNm ?? "",
laeKbrdrJbgdNm: info.laeKbrdrJbgdNm ?? "",
laeKbrdrDeptNm: info.laeKbrdrDeptNm ?? "",
laePicTelNo: info.laePicTelNo ?? "",
laeIdfrNm: info.laeIdfrNm ?? "",
laeIdfrJbgdNm: info.laeIdfrJbgdNm ?? "",
laeIdfrDeptNm: info.laeIdfrDeptNm ?? "",
laeIdfrTelNo: info.laeIdfrTelNo ?? "",
};
}
@@ -95,14 +95,14 @@ const SubmitDailog = ({ open, onOpenChange, statusInfo, onConfirm }: SubmitDialo
}
const rows: { name: keyof StatisticsInputSubmitInfoFormData; label: string; placeholder: string }[] = [
{ name: "locgCharger", label: "작성자 명", placeholder: "작성자 명 입력" },
{ name: "locgJob", label: "작성자 직제", placeholder: "작성자 직제 입력" },
{ name: "locgDept", label: "작성자 부서", placeholder: "작성자 부서 입력" },
{ name: "locgCttpc", label: "작성자 연락처", placeholder: "작성자 연락처 입력" },
{ name: "locgCnfirmNm", label: "승인자명", placeholder: "승인자명 입력" },
{ name: "locgCnfirmJob", label: "승인자 직제", placeholder: "승인자 직제 입력" },
{ name: "locgCnfirmDept", label: "승인자 부서", placeholder: "승인자 부서 입력" },
{ name: "locgCnfirmPh", label: "승인자 연락처", placeholder: "승인자 연락처" },
{ name: "laePicNm", label: "작성자 명", placeholder: "작성자 명 입력" },
{ name: "laeKbrdrJbgdNm", label: "작성자 직제", placeholder: "작성자 직제 입력" },
{ name: "laeKbrdrDeptNm", label: "작성자 부서", placeholder: "작성자 부서 입력" },
{ name: "laePicTelNo", label: "작성자 연락처", placeholder: "작성자 연락처 입력" },
{ name: "laeIdfrNm", label: "승인자명", placeholder: "승인자명 입력" },
{ name: "laeIdfrJbgdNm", label: "승인자 직제", placeholder: "승인자 직제 입력" },
{ name: "laeIdfrDeptNm", label: "승인자 부서", placeholder: "승인자 부서 입력" },
{ name: "laeIdfrTelNo", label: "승인자 연락처", placeholder: "승인자 연락처" },
];
return (
@@ -0,0 +1,7 @@
const LogHistory = () => {
return (
<></>
);
};
export default LogHistory;