From bad6f67c7b00cdf10da20da12d9a162876ae4a2b Mon Sep 17 00:00:00 2001 From: adriano Date: Wed, 26 Jan 2022 20:56:57 -0300 Subject: [PATCH] =?UTF-8?q?Cria=C3=A7=C3=A3o=20completa=20do=20relat=C3=B3?= =?UTF-8?q?rio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/package.json | 1 + .../src/components/Report/DatePicker/index.js | 4 +- .../src/components/Report/ExportCSV/index.js | 64 +++++++++++++++++++ .../src/components/Report/MTable/index.js | 6 +- frontend/src/components/Report/Modal/index.js | 20 ++++-- .../components/Report/SelectField/index.js | 12 +++- frontend/src/pages/Report/index.js | 9 ++- 7 files changed, 106 insertions(+), 10 deletions(-) create mode 100644 frontend/src/components/Report/ExportCSV/index.js diff --git a/frontend/package.json b/frontend/package.json index 265ef83..d7d31a3 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -27,6 +27,7 @@ "qrcode.react": "^1.0.0", "react": "^17.0.2", "react-color": "^2.19.3", + "react-csv": "^2.2.2", "react-dom": "^17.0.2", "react-modal-image": "^2.5.0", "react-router-dom": "^5.2.0", diff --git a/frontend/src/components/Report/DatePicker/index.js b/frontend/src/components/Report/DatePicker/index.js index 5031bd9..becec0c 100644 --- a/frontend/src/components/Report/DatePicker/index.js +++ b/frontend/src/components/Report/DatePicker/index.js @@ -12,6 +12,8 @@ import { MuiPickersUtilsProvider, } from '@material-ui/pickers'; +import ptBrLocale from "date-fns/locale/pt-BR"; + function formatDateDatePicker(data){ return String(new Date(data).getFullYear())+'-'+ @@ -27,7 +29,7 @@ function ResponsiveDatePickers(props) { return ( - + { + + const [header, setHeader] = useState([]) + const [dataRow, setDataRow] = useState([]) + + const csvLink = useRef() + + let headerFormat = JSON.parse(JSON.stringify(props.columns).split('"field":').join('"key":')) + headerFormat = JSON.parse(JSON.stringify(headerFormat).split('"title":').join('"label":')) + + //const dataRows = props.data.map((row) => { return { ...row }}); + + // const dataRows = props.data.map((obj)=>{ + // return {'fromMe': obj.fromMe, 'body': obj.body.replace(/ /g,''), 'createdAt': obj.createdAt} + // }) + + //console.log('******************************* dataRows: ',dataRows) + + useEffect(()=>{ + setHeader(headerFormat) + setDataRow(props.data) + },[]) + + const getTransactionData = async () => { + + csvLink.current.link.click() + + } + + return ( +
+ + +
+ ); +} + +export default ExportCSV \ No newline at end of file diff --git a/frontend/src/components/Report/MTable/index.js b/frontend/src/components/Report/MTable/index.js index 58c38ba..2e2ceb5 100644 --- a/frontend/src/components/Report/MTable/index.js +++ b/frontend/src/components/Report/MTable/index.js @@ -38,7 +38,11 @@ const MTable = (props) => { setSelectedRow(selectedRow.tableData.id) if(props.hasChild) { - render() + render() } console.log('props.hasChild: ', props.hasChild) diff --git a/frontend/src/components/Report/Modal/index.js b/frontend/src/components/Report/Modal/index.js index f50b2c8..93ea492 100644 --- a/frontend/src/components/Report/Modal/index.js +++ b/frontend/src/components/Report/Modal/index.js @@ -10,6 +10,9 @@ import DialogTitle from '@mui/material/DialogTitle'; import DataGridTable from '../Table'; import MTable from "../MTable"; +import ExportCSV from '../ExportCSV' +import { margin } from '@mui/system'; + let columns = [ { title: 'Atendente/Cliente', @@ -66,7 +69,9 @@ const Modal = (props) => { }, [open]); return ( -
+ + +
{ - - + +
+ +
+
-
+
+ ); } diff --git a/frontend/src/components/Report/SelectField/index.js b/frontend/src/components/Report/SelectField/index.js index ce5bd3a..92c3a28 100644 --- a/frontend/src/components/Report/SelectField/index.js +++ b/frontend/src/components/Report/SelectField/index.js @@ -14,26 +14,34 @@ const SelectTextFields = (props) => { const handleChange = (event) => { setCurrency(event.target.value); }; + + return ( - - + {/* */} @@ -296,7 +296,12 @@ console.log('XXXXXXXXX: ', query) display: 'grid', }}> - + + +