|
|
|
@@ -1,25 +1,22 @@ |
|
|
|
import { |
|
|
|
Box, |
|
|
|
Button, |
|
|
|
Grid, |
|
|
|
Stack, |
|
|
|
Table, |
|
|
|
TableBody, |
|
|
|
TableCell, |
|
|
|
TableContainer, |
|
|
|
TableHead, |
|
|
|
TablePagination, |
|
|
|
TableRow, |
|
|
|
TextField, |
|
|
|
Typography, |
|
|
|
} from "@mui/material"; |
|
|
|
import { Dictionary } from "@types"; |
|
|
|
import { |
|
|
|
UseSummary, |
|
|
|
getUseSummaries, |
|
|
|
getUseSummaryYYYYMMs, |
|
|
|
} from "api/custom/hello-techno/use-summary"; |
|
|
|
import { PageID, TabID } from "codes/page"; |
|
|
|
import { FormProvider, RHFTextField } from "components/hook-form"; |
|
|
|
import { FormProvider } from "components/hook-form"; |
|
|
|
import RHFSelect, { SelectOptionProps } from "components/hook-form/RHFSelect"; |
|
|
|
import { TableHeadCustom } from "components/table"; |
|
|
|
import { SearchConditionContextProvider } from "contexts/SearchConditionContext"; |
|
|
|
@@ -30,9 +27,7 @@ import useSearchConditionContext from "hooks/useSearchConditionContext"; |
|
|
|
import useTable, { UseTableReturn } from "hooks/useTable"; |
|
|
|
import { useEffect, useMemo, useState } from "react"; |
|
|
|
import { useForm } from "react-hook-form"; |
|
|
|
import { getPath } from "routes/path"; |
|
|
|
import { sprintf } from "sprintf-js"; |
|
|
|
import { formatYYYYMMStr, now } from "utils/datetime"; |
|
|
|
|
|
|
|
export default function UseSummaryList() { |
|
|
|
const { setHeaderTitle, setTabs } = useDashboard( |
|
|
|
@@ -99,6 +94,19 @@ function SearchBox({ table }: CommonProps) { |
|
|
|
}); |
|
|
|
}, [yyyymm]); |
|
|
|
|
|
|
|
const downloadCsvUrl = useMemo(() => { |
|
|
|
if (!selectedYYYYMM) return ""; |
|
|
|
const param = new URLSearchParams({ |
|
|
|
summary_yyyymm: selectedYYYYMM, |
|
|
|
}); |
|
|
|
|
|
|
|
return ( |
|
|
|
process.env.REACT_APP_HOST_API_KEY + |
|
|
|
"/custom/hello-techno/use-summary/csv?" + |
|
|
|
param.toString() |
|
|
|
); |
|
|
|
}, [selectedYYYYMM]); |
|
|
|
|
|
|
|
const { callAPI: callGetUseSummaryYYYYMMs } = useAPICall({ |
|
|
|
apiMethod: getUseSummaryYYYYMMs, |
|
|
|
onSuccess: ({ data: { records } }) => { |
|
|
|
@@ -180,6 +188,14 @@ function SearchBox({ table }: CommonProps) { |
|
|
|
size="small" |
|
|
|
/> |
|
|
|
</Grid> |
|
|
|
{!!selectedYYYYMM && ( |
|
|
|
<Grid item xs={3} lg={2}> |
|
|
|
<Typography>CSV</Typography> |
|
|
|
<Button variant="contained" color="info" href={downloadCsvUrl}> |
|
|
|
ダウンロード |
|
|
|
</Button> |
|
|
|
</Grid> |
|
|
|
)} |
|
|
|
</Grid> |
|
|
|
</Box> |
|
|
|
</FormProvider> |
|
|
|
|