/** * πŸ“„ 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