Split archive journal to 2 sub-modules by status. Add possibility to upload file for equipment. Change date fields for equipment.

This commit is contained in:
Первов Артем
2026-05-11 09:41:03 +03:00
parent 67f7d617be
commit 05ae32c030
33 changed files with 2753 additions and 1699 deletions

View File

@@ -1,22 +1,66 @@
import { useMemo, useState } from 'react';
import { Box, Collapse, ListItemButton, ListItemText } from '@mui/material';
import { Menu, MenuItemLink } from 'react-admin';
import { useLocation } from 'react-router-dom';
import {
EQUIPMENT_SIDEBAR_ARCHIVE_FILTER,
EQUIPMENT_SIDEBAR_IN_WORK_FILTER,
STATUS_CHANGES_CLOSING_FILTER,
STATUS_CHANGES_DOWNTIME_FILTER,
equipmentListSearch,
statusChangesListSearch,
} from './toirMenuLinks';
import './ToirMenu.css';
export function ToirMenu() {
const location = useLocation();
const isStatusChangesRoute = location.pathname.startsWith('/status-changes');
const [statusChangesOpen, setStatusChangesOpen] = useState(false);
const statusChangesLinks = useMemo(
() => ({
downtime: `/status-changes?${statusChangesListSearch(STATUS_CHANGES_DOWNTIME_FILTER)}`,
closing: `/status-changes?${statusChangesListSearch(STATUS_CHANGES_CLOSING_FILTER)}`,
}),
[],
);
return (
<Menu>
<MenuItemLink
className="toir-menu-item"
to={`/equipment?${equipmentListSearch(EQUIPMENT_SIDEBAR_IN_WORK_FILTER)}`}
primaryText="В работе"
/>
<MenuItemLink
className="toir-menu-item"
to={`/equipment?${equipmentListSearch(EQUIPMENT_SIDEBAR_ARCHIVE_FILTER)}`}
primaryText="Архив"
/>
<MenuItemLink to="/status-changes" primaryText="Журнал актов" />
<ListItemButton
className="toir-menu-group"
selected={isStatusChangesRoute}
onClick={() => setStatusChangesOpen((open) => !open)}
>
<ListItemText primary="Журнал актов" />
<span className={`toir-menu-group__chevron${statusChangesOpen ? ' is-open' : ''}`} aria-hidden>
<span />
</span>
</ListItemButton>
<Collapse in={statusChangesOpen} timeout="auto" unmountOnExit>
<Box className="toir-menu-subtree">
<MenuItemLink
className="toir-menu-subitem"
to={statusChangesLinks.downtime}
primaryText="Простои"
/>
<MenuItemLink
className="toir-menu-subitem"
to={statusChangesLinks.closing}
primaryText="Закрывающие документы"
/>
</Box>
</Collapse>
</Menu>
);
}