메인 자료다운로드

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 { fetchObjectList, initObjectList } = useMainContentsController()
//
const [boardList, setBoardList] = useState([])
useEffect(() => {
fetchObjectList()
fetchNoticeList()
fetchFaqList()
//
fetchArchiveList()
return () => {
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 () => {
try {
@ -92,33 +119,6 @@ export default function MainContents() {
const [open, setOpen] = useState(false)
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 (
<div className="main-product-list-wrap">
<div className="main-product-list">
@ -210,20 +210,19 @@ export default function MainContents() {
)}
</ProductItem>
<ProductItem num={4} name={'Data Download'}>
<div className="data-download-wrap">
<button
className="data-down"
type="button"
onClick={() => {
// handleDetailFileListDown(395)
}}
>
<span>{getMessage('main.content.download1')}</span>
</button>
<button className="data-down" type="button" onClick={() => swalFire({ text: getMessage('main.content.alert.noFile'), type: 'alert' })}>
<span>{getMessage('main.content.download2')}</span>
</button>
</div>
{boardList.length > 0 ? (
<div className="data-download-wrap">
{boardList?.map((board) => (
<button type="button" className="data-down" onClick={() => handleFileDown(board.noticeNo, 'Y')}>
<span>{board.title}</span>
</button>
))}
</div>
) : (
<div className="file-down-nodata">
<h3>{getMessage('common.message.no.data')}</h3>
</div>
)}
</ProductItem>
<ProductItem num={5} name={'Sales Contact info'}>
<ul className="contact-info-list">