import React, { useState, useEffect } from 'react'; import axios from 'axios'; import { CCard, CCardBody, CCardHeader, CCol, CRow, CDropdown, CDropdownDivider, CDropdownItem, CDropdownMenu, CDropdownToggle, ///// CButton, CCardFooter, CForm, CFormGroup, CFormText, CTextarea, CInput, CInputFile, CInputCheckbox, CInputRadio, CLabel, CSelect, CSwitch } from '@coreui/react' import CIcon from '@coreui/icons-react' import Downloader from '../downloader'; const FileDownload = require('js-file-download'); function Index() { const baseUrl = "https://natnats.mobilous.com/"; var today = new Date(); var cdate = (today.getMonth()+1)+'/'+today.getDate()+'/'+today.getFullYear(); const [data, setData] = useState([]); const [sdate, setSdate] = useState(cdate); const [report, setReport] = useState(''); const [selectedcons, setSelectedCons] = useState(''); useEffect(() => { async function fetchData() { // You can await here const result = await axios('https://natnats.mobilous.com/getConstructionList'); setData(result.data); } fetchData(); }, []); function setingSDate(e){ setSdate(e.target.value); } function setingReport(e){ setReport(e.target.value); } function setingSelectedCons(e) { setSelectedCons(e.target.value); } function doGetReport(){ if(report == "" || selectedcons == ""){ alert("建設とレポートの両方を選択してください"); return; } var url = baseUrl + "/" + report + "?construction_id=" +selectedcons+ "&construction_date="+sdate; console.log(selectedcons); console.log(sdate); console.log(report); downloadReport(url); } function downloadReport(url) { axios({ url: url, //your url method: 'GET', responseType: 'blob', // important }).then((response) => { const url = window.URL.createObjectURL(new Blob([response.data])); const link = document.createElement('a'); link.href = url; link.setAttribute('download', 'file.xlsx'); //or any other extension document.body.appendChild(link); link.click(); }); //return // const response = axios(url).then((res) => { // FileDownload(res.data, 'report.xls'); // }) //console.log(response); } return ( レポート " "+ { data.map((cc, index) => { return( ) }) } 日付 ({sdate}) 選択 ダウンロード ); } export default Index