import React, {useEffect, useState} from 'react' import {Link} from "react-router-dom"; import {useRequest} from "../../hooks/useRequest"; import {useSelector} from "react-redux"; import {getReportDate} from "../../redux/reportSlice"; import SVG from 'react-inlinesvg' import {Loader} from "../../components/Loader/Loader" import {ProfileHeader} from "../../components/ProfileHeader/ProfileHeader"; import {Footer} from "../../components/Footer/Footer"; import arrow from "../../images/right-arrow.png"; import arrowSwitchDate from "../../images/arrowViewReport.png"; import './viewReport.scss' export const ViewReport = () => { const getCreatedDate = (day) => { if (day) { return `${new Date(day).getFullYear()}-${new Date(day).getMonth() + 1}-${new Date(day).getDate()}` } else { const date = new Date(); const dd = String(date.getDate()).padStart(2, '0'); const mm = String(date.getMonth() + 1).padStart(2, '0'); const yyyy = date.getFullYear(); return `${yyyy}-${mm}-${dd}` } }; const {apiRequest} = useRequest(); const reportDate = useSelector(getReportDate); const [taskText, setTaskText] = useState([]); const [difficulties, setDifficulties] = useState([]) const [tomorrowTask, setTomorrowTask] = useState([]) const [totalHours, setTotalHours] = useState(0); const [reportDay] = useState(new Date (getCreatedDate(reportDate))) const [currentDay] = useState(new Date ()) const [loader, setLoader] = useState(false) function getReportFromDate(day) { setLoader(true) setTaskText([]) setDifficulties([]) setTomorrowTask([]) apiRequest(`reports/find-by-date?user_card_id=${localStorage.getItem('cardId')}&date=${day}`) .then(res => { let spendTime = 0 for (const item of res) { if(item.difficulties) { setDifficulties(prevArray => [...prevArray, item.difficulties]) } if(item.tomorrow) { setTomorrowTask(prevArray => [...prevArray, item.tomorrow]) } item.task.map((task) => { const taskInfo = { hours: task.hours_spent, task: task.task, id: task.id } if(task.hours_spent) { spendTime += Number(task.hours_spent) } setTaskText(prevArray => [...prevArray, taskInfo]) }) } setTotalHours(spendTime) setLoader(false) }) } function nextDay() { reportDay.setDate(reportDay.getDate() + 1); getReportFromDate(getCreatedDate(reportDay)) } function previousDay() { reportDay.setDate(reportDay.getDate() - 1); getReportFromDate(getCreatedDate(reportDay)) } useEffect(() => { getReportFromDate(getCreatedDate(reportDate)) }, []); return (
Вернуться
Вами потрачено на работу : {totalHours} часов
{/*122 часа из 160
*/}{getCreatedDate(reportDay)}
Какие задачи были выполнены? |
Время |
---|---|
{task.task} |
{task.hours}
часа на задачу |
Всего: {totalHours} часов |
{item}
} )}{item}
} )}В этот день вы не заполняли отчет