메인 자료다운로드

This commit is contained in:
basssy 2025-01-21 18:33:36 +09:00
parent 5351deed0f
commit 6ec631cc8b

View File

@ -33,15 +33,42 @@ export default function MainContents() {
const { qcastState, setIsGlobalLoading } = useContext(QcastContext) const { qcastState, setIsGlobalLoading } = useContext(QcastContext)
const { fetchObjectList, initObjectList } = useMainContentsController() const { fetchObjectList, initObjectList } = useMainContentsController()
//
const [boardList, setBoardList] = useState([])
useEffect(() => { useEffect(() => {
fetchObjectList() fetchObjectList()
fetchNoticeList() fetchNoticeList()
fetchFaqList() fetchFaqList()
//
fetchArchiveList()
return () => { return () => {
initObjectList() initObjectList()
} }
}, []) }, [])
//
const fetchArchiveList = async () => {
const url = `/api/board/list`
const params = new URLSearchParams({
schNoticeTpCd: 'QC',
schNoticeClsCd: 'DOWN',
startRow: 1,
endRow: 2,
})
const apiUrl = `${url}?${params.toString()}`
const resultData = await get({ url: apiUrl })
if (resultData) {
if (resultData.result.code === 200) {
setBoardList(resultData.data)
} else {
alert(resultData.result.message)
}
}
}
// //
const fetchNoticeList = async () => { const fetchNoticeList = async () => {
try { try {
@ -92,33 +119,6 @@ export default function MainContents() {
const [open, setOpen] = useState(false) const [open, setOpen] = useState(false)
const [modalNoticeNo, setModalNoticeNo] = useState('') const [modalNoticeNo, setModalNoticeNo] = useState('')
//
const handleDetailFileListDown = async (noticeNo) => {
//396, 395
const url = `/api/board/detail`
const params = new URLSearchParams({
noticeNo: noticeNo,
})
const apiUrl = `${url}?${params.toString()}`
const resultData = await get({ url: apiUrl })
if (resultData) {
if (resultData.result.code === 200) {
const boardDetailFileList = resultData.data.listFile
if (boardDetailFileList && Array.isArray(boardDetailFileList)) {
boardDetailFileList.forEach((boardFile) => {
handleFileDown(boardFile)
})
}
} else {
swalFire({ type: 'alert', text: resultData.result.message, icon: 'error' })
}
}
}
return ( return (
<div className="main-product-list-wrap"> <div className="main-product-list-wrap">
<div className="main-product-list"> <div className="main-product-list">
@ -210,20 +210,19 @@ export default function MainContents() {
)} )}
</ProductItem> </ProductItem>
<ProductItem num={4} name={'Data Download'}> <ProductItem num={4} name={'Data Download'}>
<div className="data-download-wrap"> {boardList.length > 0 ? (
<button <div className="data-download-wrap">
className="data-down" {boardList?.map((board) => (
type="button" <button type="button" className="data-down" onClick={() => handleFileDown(board.noticeNo, 'Y')}>
onClick={() => { <span>{board.title}</span>
// handleDetailFileListDown(395) </button>
}} ))}
> </div>
<span>{getMessage('main.content.download1')}</span> ) : (
</button> <div className="file-down-nodata">
<button className="data-down" type="button" onClick={() => swalFire({ text: getMessage('main.content.alert.noFile'), type: 'alert' })}> <h3>{getMessage('common.message.no.data')}</h3>
<span>{getMessage('main.content.download2')}</span> </div>
</button> )}
</div>
</ProductItem> </ProductItem>
<ProductItem num={5} name={'Sales Contact info'}> <ProductItem num={5} name={'Sales Contact info'}>
<ul className="contact-info-list"> <ul className="contact-info-list">