From dfc412140bfa150433896f65ae254be6c321419b Mon Sep 17 00:00:00 2001 From: basssy Date: Mon, 24 Feb 2025 18:13:41 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B2=AC=EC=A0=81=EC=84=9C=20=EC=B2=A8?= =?UTF-8?q?=EB=B6=80=ED=8C=8C=EC=9D=BC=20=EC=9D=B4=EB=AF=B8=EC=A7=80,pdf,?= =?UTF-8?q?=EC=97=91=EC=85=80=ED=8C=8C=EC=9D=BC=20=EB=A1=9C=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../estimate/EstimateFileUploader.jsx | 31 +++++-------------- src/locales/ja.json | 2 +- src/locales/ko.json | 2 +- 3 files changed, 10 insertions(+), 25 deletions(-) diff --git a/src/components/estimate/EstimateFileUploader.jsx b/src/components/estimate/EstimateFileUploader.jsx index 950ed6af..26f28405 100644 --- a/src/components/estimate/EstimateFileUploader.jsx +++ b/src/components/estimate/EstimateFileUploader.jsx @@ -3,11 +3,14 @@ import { useRef } from 'react' import { v4 as uuidv4 } from 'uuid' import { useMessage } from '@/hooks/useMessage' +import { useSwal } from '@/hooks/useSwal' export default function EstimateFileUploader({ uploadFiles, setUploadFiles }) { const fileInputRef = useRef(null) const { getMessage } = useMessage() + const { swalFire } = useSwal() + const handleButtonClick = (e) => { e.preventDefault() fileInputRef.current.click() @@ -22,7 +25,8 @@ export default function EstimateFileUploader({ uploadFiles, setUploadFiles }) { let passFlag = true Array.from(e.target.files).forEach((file) => { let fileType = file.type - if (!fileType.includes('image')) { + //엑셀, pdf, 이미지 + if (!fileType.includes('image') && !fileType.includes('pdf') && !fileType.includes('spreadsheet')) { passFlag = false } else { fileList.push({ data: file, id: uuidv4() }) @@ -30,30 +34,11 @@ export default function EstimateFileUploader({ uploadFiles, setUploadFiles }) { }) if (!passFlag) { - alert(getMessage('estimate.detail.fileList.extCheck')) + swalFire({ text: getMessage('estimate.detail.fileList.extCheck'), type: 'alert' }) } - // const { files } = e.target - // const file = files[0] - // const fileType = file.type - // if (!fileType.includes('image')) { - // return alert(getMessage('estimate.detail.fileList.extCheck')) - // } - - // setUploadFiles([...uploadFiles, { data: e.target.files[0], id: uuidv4() }]) - //다중으로 변경 setUploadFiles([...uploadFiles, ...fileList]) e.target.value = '' - // const formData = new FormData() - // formData.append('file', e.target.files[0]) - // formData.append('objectNo', objectNo) // 받아와야 하는 값 - // formData.append('planNo', planNo) // 받아와야 하는 값 - // formData.append('category', category) // 받아와야 하는 값 - // formData.append('userId', session.userId) - - // await promisePost({ url: '/api/file/fileUpload', data: formData }).then((res) => { - // if (res.data > 0) setUploadFiles([...files, { name: e.target.files[0].name, id: uuidv4() }]) - // }) } const deleteFile = (id) => { @@ -76,7 +61,7 @@ export default function EstimateFileUploader({ uploadFiles, setUploadFiles }) { }) if (!passFlag) { - alert(getMessage('estimate.detail.fileList.extCheck')) + swalFire({ text: getMessage('estimate.detail.fileList.extCheck'), type: 'alert' }) } setUploadFiles([...uploadFiles, ...fileList]) @@ -108,7 +93,7 @@ export default function EstimateFileUploader({ uploadFiles, setUploadFiles }) { multiple name="file" id="img" - accept="image/*" + // accept="image/*" ref={fileInputRef} style={{ display: 'none' }} onChange={(e) => onChangeFiles(e)} diff --git a/src/locales/ja.json b/src/locales/ja.json index 677f9cab..ef70bb9b 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -896,7 +896,7 @@ "estimate.detail.dragFileGuide": "(※北面設置の場合、ファイル添付が必須です.)", "estimate.detail.header.fileList1": "ファイル添付", "estimate.detail.fileList.btn": "ファイル選択", - "estimate.detail.fileList.extCheck": "画像ファイルのみ添付可能です。", + "estimate.detail.fileList.extCheck": "画像、PDF、Excelファイルのみ添付可能.", "estimate.detail.header.fileList2": "添付ファイル一覧", "estimate.detail.fileList2.btn.return": "復元", "estimate.detail.header.specialEstimate": "見積もりの特定", diff --git a/src/locales/ko.json b/src/locales/ko.json index 67b4b301..d60e226d 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -897,7 +897,7 @@ "estimate.detail.dragFileGuide": "(※ 북면설치인 경우, 파일 첨부가 필수입니다.)", "estimate.detail.header.fileList1": "파일첨부", "estimate.detail.fileList.btn": "파일선택", - "estimate.detail.fileList.extCheck": "이미지 파일만 첨부 가능합니다.", + "estimate.detail.fileList.extCheck": "이미지, PDF, 엑셀 파일만 첨부 가능합니다.", "estimate.detail.header.fileList2": "첨부파일 목록", "estimate.detail.fileList2.btn.return": "복원", "estimate.detail.header.specialEstimate": "견적특이사항",