"use client" import { FileUpload, SelectBox } from '@common/business_components/ui'; import { Button, Input } from '@common/components/ui'; import React, { useState } from 'react' import type { HttpResponse, Upload } from "tus-js-client"; import { FileUploader } from "@common/components"; import { handleUpload } from "@utils"; const FileUploadForm = ({ title, onSubmit }: { title: string, onSubmit:(files:FileList, year:string, quarter:string) => void }) => { const handleUploadResponse = (file: File) => async (res: HttpResponse) => { const fileInfo = res.getHeader("X-File-Info"); if (!fileInfo) return; const { atflCd, atflId } = JSON.parse(fileInfo) ?? {}; const orgnlFileNm = file.name; console.log(atflCd, atflId, orgnlFileNm); }; // 현재 년도부터 10년 전까지의 년도 옵션 생성 const yearOptions = Array.from({ length: 10 }, (_, i) => { const year = new Date().getFullYear() - i; return { text: `${year}년`, val: year.toString() }; }); const quater = [{text: '1분기', val: '1'}, {text: '2분기', val: '2'}, {text: '3분기', val: '3'}, {text: '4분기', val: '4'}] const [files, setFiles] = useState(null); const [selectedYear, setSelectedYear] = useState(yearOptions[0]?.val || ''); const [selectedQuarter, setSelectedQuarter] = useState(quater[0]?.val || ''); const [upload, setUpload] = useState(null); return (

{title}

setSelectedYear(String(value))} /> setSelectedQuarter(String(value))} />
{ const selectedFiles = e.target.files; if (!selectedFiles) return; const fileArray = Array.from(selectedFiles); if(!fileArray){ setFiles(fileArray); } if (fileArray[0]) { handleUpload(selectedFiles, { handleUploadStart: setUpload, handleSuccess: setUpload, handleResponse: handleUploadResponse(fileArray[0]), }); } }} customPreview={<>} />
) } export default FileUploadForm