/** * πŸ“„ Oper File Upload Form Component * 운영 파일 μ—…λ‘œλ“œ 폼 μ»΄ν¬λ„ŒνŠΈ * * - 년도 및 λΆ„κΈ° 선택 κΈ°λŠ₯ * - 파일 μ—…λ‘œλ“œ 및 등둝 처리 * - 년도 λ³€κ²½ μ‹œ λΆ„κΈ° μ˜΅μ…˜ 동적 μ—…λ°μ΄νŠΈ * - 파일 ν˜•μ‹ 검증 및 미리보기 지원 * - 콜백 ν•¨μˆ˜λ₯Ό ν†΅ν•œ μ—…λ‘œλ“œ κ²°κ³Ό 전달 * - TUS ν”„λ‘œν† μ½œμ„ ν†΅ν•œ λŒ€μš©λŸ‰ 파일 μ—…λ‘œλ“œ */ "use client"; import { SelectBox } from "@common/business_components/ui"; import React, { useState, useEffect } from "react"; import FileUploadForm from "./fileUploadForm"; import { yearOptions, getQuarterOptions } from "@/components/lib/utils"; const operFileUploadForm = ({ title, onSubmit, }: { title: string; onSubmit: ( files: string, year: string, quarter: string, code: string, id: string, ) => void; }) => { const [selectedYear, setSelectedYear] = useState( yearOptions[0]?.val || "", ); const [quaterOptions, setQuaterOptions] = useState(() => getQuarterOptions(selectedYear), ); const [selectedQuarter, setSelectedQuarter] = useState( quaterOptions[0]?.val || "", ); // 년도가 변경될 λ•Œ λΆ„κΈ° μ˜΅μ…˜ μ—…λ°μ΄νŠΈ useEffect(() => { const updatedQuarterOptions = getQuarterOptions(selectedYear); setQuaterOptions(updatedQuarterOptions); // λΆ„κΈ° μ˜΅μ…˜μ΄ λ³€κ²½λ˜λ©΄ 첫 번째 μ˜΅μ…˜μœΌλ‘œ μžλ™ 선택 setSelectedQuarter(updatedQuarterOptions[0]?.val || ""); }, [selectedYear]); // 년도 λ³€κ²½ ν•Έλ“€λŸ¬ const handleYearChange = (value: string | number) => { const yearValue = String(value); setSelectedYear(yearValue); }; return (

{title}

setSelectedQuarter(String(value)) } value={selectedQuarter} /> { onSubmit( files, (selectedYear ?? year) || "", (selectedQuarter ?? quarter) || "", code, id, ); }} showButton={true} showPreview={true} accept={""} />
); }; export default operFileUploadForm;