diff --git a/src/components/ReportForm/ReportForm.jsx b/src/components/ReportForm/ReportForm.jsx index fa27d27e..fb591858 100644 --- a/src/components/ReportForm/ReportForm.jsx +++ b/src/components/ReportForm/ReportForm.jsx @@ -18,6 +18,7 @@ import { ProfileBreadcrumbs } from "@components/ProfileBreadcrumbs/ProfileBreadc import { ProfileHeader } from "@components/ProfileHeader/ProfileHeader"; import arrow from "assets/icons/arrows/left-arrow.png"; +import arrowDown from "assets/icons/arrows/selectArrow.png"; import calendarIcon from "assets/icons/calendar.svg"; import ellipse from "assets/icons/ellipse.png"; import remove from "assets/icons/remove.svg"; @@ -42,6 +43,7 @@ const ReportForm = () => { useEffect(() => { initListeners(); + getProjectList(); }, []); const [isFetching, setIsFetching] = useState(false); @@ -51,6 +53,10 @@ const ReportForm = () => { ? new Date(reportDate ? reportDate._d : editReport.created_at) : new Date() ); + const [projectList, setProjectList] = useState([]); + const [projectLoader, setProjectLoader] = useState(false); + const [selectedProject, setSelectedProject] = useState("Выберите проект"); + const [openSelectProject, setOpenSelectProject] = useState(false); const [datePickerOpen, setDatePickerOpen] = useState(false); const [inputs, setInputs] = useState( @@ -85,10 +91,12 @@ const ReportForm = () => { (div) => div.classList && (div.classList.contains("report-form__block-img") || - div.classList.contains("react-datepicker-popper")) + div.classList.contains("react-datepicker-popper") || + div.classList.contains("report-form__project")) ) ) { setDatePickerOpen(false); + setOpenSelectProject(false); } }; @@ -98,6 +106,17 @@ const ReportForm = () => { setInputs((prev) => prev.filter((el, index) => index !== indexRemove)); }; + const getProjectList = () => { + setProjectLoader(true); + apiRequest( + `/project/project-list?user_id=${localStorage.getItem( + "id" + )}&expand=columns` + ).then((el) => { + setProjectLoader(false); + setProjectList(el?.projects); + }); + }; const handler = () => { setIsFetching(true); for (let input of inputs) { @@ -113,6 +132,7 @@ const ReportForm = () => { data: { user_id: localStorage.getItem("id"), tasks: inputs, + project_id: selectedProject.id ? selectedProject.id : "", difficulties: troublesInputValue, tomorrow: scheduledInputValue, created_at: getCreatedDate(startDate), @@ -144,6 +164,7 @@ const ReportForm = () => { data: { tasks: inputs, difficulties: troublesInputValue, + project_id: selectedProject.id ? selectedProject.id : "", tomorrow: scheduledInputValue, created_at: getCreatedDate(startDate), status: 1 @@ -220,6 +241,58 @@ const ReportForm = () => { setStartDate(date); }} /> + {projectLoader ? ( +
+ {selectedProject.name + ? selectedProject.name + : selectedProject} +
+ +