검색추가

This commit is contained in:
2025-07-11 09:12:47 +09:00
parent 9050895b0f
commit cb3705d616
+24 -22
View File
@@ -63,12 +63,6 @@ const reportTableHeadlist = [
{ id: "regDate", title: "등록일자" },
];
const 처리구역List = [
{ val: "0", text: "선택" },
{ val: "a", text: "A" },
{ val: "b", text: "B" },
];
// 날짜 조합 함수
const getDateString = (
year: string,
@@ -103,7 +97,8 @@ const SearchModal: React.FC<SearchModalProps> = ({
const [basicType, setBasicType] = useState(BASIC_TYPES[0]?.val ?? "");
const [ctpvCd, setCtpvCd] = useState('0');
const [sigungu, setSigungu] = useState('0');
const [swageProcessingZone, set처리구역] = useState("");
//const [swageProcessingZone, set처리구역] = useState("");
const [gubun, setGubun] = useState(""); // 하수정비기본계획 report
// 날짜 상태 선언
const [시작1, set시작1] = useState("");
const [시작2, set시작2] = useState("");
@@ -197,7 +192,6 @@ const SearchModal: React.FC<SearchModalProps> = ({
set가동개시_종료_일("");
setCtpvCd('0');
setSigungu('0');
set처리구역("");
setYearFilter({
시작: "",
종료: "",
@@ -256,11 +250,26 @@ const SearchModal: React.FC<SearchModalProps> = ({
}
if (sigungu !== "0") {
const sigunguOption = filteredSiguns.find((n) => n.val === sigungu);
filterReportData = filterReportData.filter(item => item.sido === sigunguOption?.text);
filterReportData = filterReportData.filter(item => item.sigungu === sigunguOption?.text);
}
console.log('report count:', reportData.length);
setTableData(filterReportData || []);
if (yearFilter.시작 != "" && yearFilter.종료 == "")
filterReportData = filterReportData.filter(item => (item.approvalYear)? item.approvalYear >= yearFilter.시작+"년" : null);
if (yearFilter.시작 == "" && yearFilter.종료 != "")
filterReportData = filterReportData.filter(item => (item.approvalYear)? item.approvalYear <= yearFilter.종료+"년" : null);
if (yearFilter.시작 != "" && yearFilter.종료 != "") {
filterReportData = filterReportData.filter(item => {
return (item.approvalYear)? item.approvalYear >= yearFilter.시작+"년" && item.approvalYear <= yearFilter.종료+"년": null;
});
}
if (gubun !== "") {
filterReportData = filterReportData.filter(item => (item.plantZoneGugun)? String(item.plantZoneGugun).includes(String(gubun)) : null);
}
console.log('report count:', filterReportData.length);
setTableCount(filterReportData.length || 0);
filterReportData = filterReportData.slice((curPage-1)*10, curPage*10); // paging
filterReportData = filterReportData?.map((item, index)=>({...item, no:(curPage-1)*10+index+1}));
setTableData(filterReportData || []);
} else {
console.log('API URL:', `${API_URL}/v1/fclts?${queryParams.toString()}`);
const res = await axios.get(`${API_URL}/v1/fclts?${queryParams.toString()}`);
@@ -1051,22 +1060,15 @@ const SearchModal: React.FC<SearchModalProps> = ({
</div>
<div className="flex justify-between items-center mb-6">
<div className="flex items-center gap-4">
<SelectBox2
className="w-auto mr-2"
selectClass="rounded-lg bg-white text-xl"
label="하수처리구역"
selectArray={처리구역List.map(opt => ({ val: opt.val, text: opt.text }))}
onSelectValue={val => set처리구역(String(val))}
value={swageProcessingZone}
/>
<label className="inline-block w-auto whitespace-nowrap text-xl text-gray-600 mr-2">구분</label>
<Input
className='!text-xl w-[100px] placeholder:text-center mr-8'
placeholder="입력"
value={변수1}
value={gubun}
onChange={(e) => {
// 숫자만 입력 허용
const val = e.target.value.replace(/[^0-9]/g, '');
set변수1(val);
const val = e.target.value;
setGubun(val);
}}
/>
<YearRangeSelectBox