Explorar el Código

利用実績CSVダウンロードボタンの追加

develop
sosuke.iwabuchi hace 2 años
padre
commit
9072ca42e8
Se han modificado 1 ficheros con 23 adiciones y 7 borrados
  1. +23
    -7
      src/pages/dashboard/use-summary/custom/hello-techno/list.tsx

+ 23
- 7
src/pages/dashboard/use-summary/custom/hello-techno/list.tsx Ver fichero

@@ -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>


Cargando…
Cancelar
Guardar