견적서 첨부파일 이미지,pdf,엑셀파일 로 변경
This commit is contained in:
parent
d35b73d67c
commit
dfc412140b
@ -3,11 +3,14 @@
|
|||||||
import { useRef } from 'react'
|
import { useRef } from 'react'
|
||||||
import { v4 as uuidv4 } from 'uuid'
|
import { v4 as uuidv4 } from 'uuid'
|
||||||
import { useMessage } from '@/hooks/useMessage'
|
import { useMessage } from '@/hooks/useMessage'
|
||||||
|
import { useSwal } from '@/hooks/useSwal'
|
||||||
|
|
||||||
export default function EstimateFileUploader({ uploadFiles, setUploadFiles }) {
|
export default function EstimateFileUploader({ uploadFiles, setUploadFiles }) {
|
||||||
const fileInputRef = useRef(null)
|
const fileInputRef = useRef(null)
|
||||||
const { getMessage } = useMessage()
|
const { getMessage } = useMessage()
|
||||||
|
|
||||||
|
const { swalFire } = useSwal()
|
||||||
|
|
||||||
const handleButtonClick = (e) => {
|
const handleButtonClick = (e) => {
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
fileInputRef.current.click()
|
fileInputRef.current.click()
|
||||||
@ -22,7 +25,8 @@ export default function EstimateFileUploader({ uploadFiles, setUploadFiles }) {
|
|||||||
let passFlag = true
|
let passFlag = true
|
||||||
Array.from(e.target.files).forEach((file) => {
|
Array.from(e.target.files).forEach((file) => {
|
||||||
let fileType = file.type
|
let fileType = file.type
|
||||||
if (!fileType.includes('image')) {
|
//엑셀, pdf, 이미지
|
||||||
|
if (!fileType.includes('image') && !fileType.includes('pdf') && !fileType.includes('spreadsheet')) {
|
||||||
passFlag = false
|
passFlag = false
|
||||||
} else {
|
} else {
|
||||||
fileList.push({ data: file, id: uuidv4() })
|
fileList.push({ data: file, id: uuidv4() })
|
||||||
@ -30,30 +34,11 @@ export default function EstimateFileUploader({ uploadFiles, setUploadFiles }) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
if (!passFlag) {
|
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])
|
setUploadFiles([...uploadFiles, ...fileList])
|
||||||
e.target.value = ''
|
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) => {
|
const deleteFile = (id) => {
|
||||||
@ -76,7 +61,7 @@ export default function EstimateFileUploader({ uploadFiles, setUploadFiles }) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
if (!passFlag) {
|
if (!passFlag) {
|
||||||
alert(getMessage('estimate.detail.fileList.extCheck'))
|
swalFire({ text: getMessage('estimate.detail.fileList.extCheck'), type: 'alert' })
|
||||||
}
|
}
|
||||||
|
|
||||||
setUploadFiles([...uploadFiles, ...fileList])
|
setUploadFiles([...uploadFiles, ...fileList])
|
||||||
@ -108,7 +93,7 @@ export default function EstimateFileUploader({ uploadFiles, setUploadFiles }) {
|
|||||||
multiple
|
multiple
|
||||||
name="file"
|
name="file"
|
||||||
id="img"
|
id="img"
|
||||||
accept="image/*"
|
// accept="image/*"
|
||||||
ref={fileInputRef}
|
ref={fileInputRef}
|
||||||
style={{ display: 'none' }}
|
style={{ display: 'none' }}
|
||||||
onChange={(e) => onChangeFiles(e)}
|
onChange={(e) => onChangeFiles(e)}
|
||||||
|
|||||||
@ -896,7 +896,7 @@
|
|||||||
"estimate.detail.dragFileGuide": "(※北面設置の場合、ファイル添付が必須です.)",
|
"estimate.detail.dragFileGuide": "(※北面設置の場合、ファイル添付が必須です.)",
|
||||||
"estimate.detail.header.fileList1": "ファイル添付",
|
"estimate.detail.header.fileList1": "ファイル添付",
|
||||||
"estimate.detail.fileList.btn": "ファイル選択",
|
"estimate.detail.fileList.btn": "ファイル選択",
|
||||||
"estimate.detail.fileList.extCheck": "画像ファイルのみ添付可能です。",
|
"estimate.detail.fileList.extCheck": "画像、PDF、Excelファイルのみ添付可能.",
|
||||||
"estimate.detail.header.fileList2": "添付ファイル一覧",
|
"estimate.detail.header.fileList2": "添付ファイル一覧",
|
||||||
"estimate.detail.fileList2.btn.return": "復元",
|
"estimate.detail.fileList2.btn.return": "復元",
|
||||||
"estimate.detail.header.specialEstimate": "見積もりの特定",
|
"estimate.detail.header.specialEstimate": "見積もりの特定",
|
||||||
|
|||||||
@ -897,7 +897,7 @@
|
|||||||
"estimate.detail.dragFileGuide": "(※ 북면설치인 경우, 파일 첨부가 필수입니다.)",
|
"estimate.detail.dragFileGuide": "(※ 북면설치인 경우, 파일 첨부가 필수입니다.)",
|
||||||
"estimate.detail.header.fileList1": "파일첨부",
|
"estimate.detail.header.fileList1": "파일첨부",
|
||||||
"estimate.detail.fileList.btn": "파일선택",
|
"estimate.detail.fileList.btn": "파일선택",
|
||||||
"estimate.detail.fileList.extCheck": "이미지 파일만 첨부 가능합니다.",
|
"estimate.detail.fileList.extCheck": "이미지, PDF, 엑셀 파일만 첨부 가능합니다.",
|
||||||
"estimate.detail.header.fileList2": "첨부파일 목록",
|
"estimate.detail.header.fileList2": "첨부파일 목록",
|
||||||
"estimate.detail.fileList2.btn.return": "복원",
|
"estimate.detail.fileList2.btn.return": "복원",
|
||||||
"estimate.detail.header.specialEstimate": "견적특이사항",
|
"estimate.detail.header.specialEstimate": "견적특이사항",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user