Compare commits
No commits in common. "ba1f8a8bd403e15a76708ed6ec8147f429e07594" and "a4000280fa8e6c319bd8ac60d061f873f9c5e7be" have entirely different histories.
ba1f8a8bd4
...
a4000280fa
@ -24,8 +24,8 @@ export const ProjectsApi = {
|
|||||||
return api.patch(`/projects/${projectId}/smeta/${year}`, data).then((r) => r.data);
|
return api.patch(`/projects/${projectId}/smeta/${year}`, data).then((r) => r.data);
|
||||||
},
|
},
|
||||||
|
|
||||||
addYear: (projectId) => {
|
addYear: (projectId, year) => {
|
||||||
return api.post(`/projects/${projectId}/year`).then((r) => r.data);
|
return api.post(`/projects/${projectId}/year`, { year }).then((r) => r.data);
|
||||||
},
|
},
|
||||||
|
|
||||||
delete: (id) => {
|
delete: (id) => {
|
||||||
|
|||||||
@ -52,6 +52,7 @@ export default function TaskPage() {
|
|||||||
const [projects, setProjects] = useState([]);
|
const [projects, setProjects] = useState([]);
|
||||||
const [isProjectData, setIsProjectData] = useState(false);
|
const [isProjectData, setIsProjectData] = useState(false);
|
||||||
const [addYearModalOpen, setAddYearModalOpen] = useState(false);
|
const [addYearModalOpen, setAddYearModalOpen] = useState(false);
|
||||||
|
const [newProjectYear, setNewProjectYear] = useState('');
|
||||||
const [isAddingYear, setIsAddingYear] = useState(false);
|
const [isAddingYear, setIsAddingYear] = useState(false);
|
||||||
const [dataReloadKey, setDataReloadKey] = useState(0);
|
const [dataReloadKey, setDataReloadKey] = useState(0);
|
||||||
|
|
||||||
@ -124,15 +125,22 @@ export default function TaskPage() {
|
|||||||
const handleCloseAddYearModal = () => {
|
const handleCloseAddYearModal = () => {
|
||||||
if (isAddingYear) return;
|
if (isAddingYear) return;
|
||||||
setAddYearModalOpen(false);
|
setAddYearModalOpen(false);
|
||||||
|
setNewProjectYear('');
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleAddProjectYear = async () => {
|
const handleAddProjectYear = async () => {
|
||||||
|
const year = Number(newProjectYear);
|
||||||
|
if (!Number.isInteger(year) || year < 1) {
|
||||||
|
toast.error('Введите корректный год');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
setIsAddingYear(true);
|
setIsAddingYear(true);
|
||||||
await ProjectsApi.addYear(id);
|
await ProjectsApi.addYear(id, year);
|
||||||
toast.success(`Год успешно добавлен`);
|
toast.success(`Год ${year} успешно добавлен`);
|
||||||
setAddYearModalOpen(false);
|
setAddYearModalOpen(false);
|
||||||
|
setNewProjectYear('');
|
||||||
setDataReloadKey((key) => key + 1);
|
setDataReloadKey((key) => key + 1);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
toast.error(error?.response?.data?.detail || error?.response?.data?.message || 'Не удалось добавить год');
|
toast.error(error?.response?.data?.detail || error?.response?.data?.message || 'Не удалось добавить год');
|
||||||
@ -235,7 +243,19 @@ export default function TaskPage() {
|
|||||||
</>
|
</>
|
||||||
}>
|
}>
|
||||||
<FormControl fullWidth>
|
<FormControl fullWidth>
|
||||||
<FormLabel>Вы точно хотите добавить год?</FormLabel>
|
<FormLabel required>Год</FormLabel>
|
||||||
|
<TextField
|
||||||
|
autoFocus
|
||||||
|
size='small'
|
||||||
|
type='number'
|
||||||
|
placeholder='Введите год'
|
||||||
|
value={newProjectYear}
|
||||||
|
disabled={isAddingYear}
|
||||||
|
onChange={(event) => setNewProjectYear(event.target.value)}
|
||||||
|
onKeyDown={(event) => {
|
||||||
|
if (event.key === 'Enter') handleAddProjectYear();
|
||||||
|
}}
|
||||||
|
/>
|
||||||
</FormControl>
|
</FormControl>
|
||||||
</Modal>
|
</Modal>
|
||||||
)}
|
)}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user