diff --git a/web/src/components/RealtimeTable/constants/FORM_2/CAP.js b/web/src/components/RealtimeTable/constants/FORM_2/CAP.js index b567b50..9b8c833 100644 --- a/web/src/components/RealtimeTable/constants/FORM_2/CAP.js +++ b/web/src/components/RealtimeTable/constants/FORM_2/CAP.js @@ -322,15 +322,15 @@ export const config = { accessorKey: "data.q2.base_correction_comment", }, "data.q2.revision_inc": { - color_type: redColumn, + color_type: yellowColumn, accessorKey: "data.q2.revision_inc", }, "data.q2.revision_seq": { - color_type: redColumn, + color_type: yellowColumn, accessorKey: "data.q2.revision_seq", }, "data.q2.revision_comment": { - color_type: redColumn, + color_type: yellowColumn, accessorKey: "data.q2.revision_comment", }, "data.q2.new_plan": { @@ -454,15 +454,15 @@ export const config = { accessorKey: "data.q3.base_correction_comment", }, "data.q3.revision_inc": { - color_type: redColumn, + color_type: yellowColumn, accessorKey: "data.q3.revision_inc", }, "data.q3.revision_seq": { - color_type: redColumn, + color_type: yellowColumn, accessorKey: "data.q3.revision_seq", }, "data.q3.revision_comment": { - color_type: redColumn, + color_type: yellowColumn, accessorKey: "data.q3.revision_comment", }, "data.q3.new_plan": { @@ -578,15 +578,15 @@ export const config = { accessorKey: "data.q4.base_correction_comment", }, "data.q4.revision_inc": { - color_type: redColumn, + color_type: yellowColumn, accessorKey: "data.q4.revision_inc", }, "data.q4.revision_seq": { - color_type: redColumn, + color_type: yellowColumn, accessorKey: "data.q4.revision_seq", }, "data.q4.revision_comment": { - color_type: redColumn, + color_type: yellowColumn, accessorKey: "data.q4.revision_comment", }, "data.q4.new_plan": { @@ -650,7 +650,7 @@ export const config = { accessorKey: "data.q4.actual_m3", }, "data.q4.actual_spod": { - color_type: whiteColumn, + color_type: greenColumn, accessorKey: "data.q4.actual_spod", }, "data.q4.actual_quarter": { diff --git a/web/src/components/RealtimeTable/constants/FORM_2/OPER.js b/web/src/components/RealtimeTable/constants/FORM_2/OPER.js index 30f57e2..623c5d7 100644 --- a/web/src/components/RealtimeTable/constants/FORM_2/OPER.js +++ b/web/src/components/RealtimeTable/constants/FORM_2/OPER.js @@ -322,15 +322,15 @@ export const config = { accessorKey: "data.q2.base_correction_comment", }, "data.q2.revision_inc": { - color_type: redColumn, + color_type: yellowColumn, accessorKey: "data.q2.revision_inc", }, "data.q2.revision_seq": { - color_type: redColumn, + color_type: yellowColumn, accessorKey: "data.q2.revision_seq", }, "data.q2.revision_comment": { - color_type: redColumn, + color_type: yellowColumn, accessorKey: "data.q2.revision_comment", }, "data.q2.new_plan": { @@ -454,15 +454,15 @@ export const config = { accessorKey: "data.q3.base_correction_comment", }, "data.q3.revision_inc": { - color_type: redColumn, + color_type: yellowColumn, accessorKey: "data.q3.revision_inc", }, "data.q3.revision_seq": { - color_type: redColumn, + color_type: yellowColumn, accessorKey: "data.q3.revision_seq", }, "data.q3.revision_comment": { - color_type: redColumn, + color_type: yellowColumn, accessorKey: "data.q3.revision_comment", }, "data.q3.new_plan": { @@ -578,15 +578,15 @@ export const config = { accessorKey: "data.q4.base_correction_comment", }, "data.q4.revision_inc": { - color_type: redColumn, + color_type: yellowColumn, accessorKey: "data.q4.revision_inc", }, "data.q4.revision_seq": { - color_type: redColumn, + color_type: yellowColumn, accessorKey: "data.q4.revision_seq", }, "data.q4.revision_comment": { - color_type: redColumn, + color_type: yellowColumn, accessorKey: "data.q4.revision_comment", }, "data.q4.new_plan": { diff --git a/web/src/components/common/TaskBreadcrumbs.jsx b/web/src/components/common/TaskBreadcrumbs.jsx index 9507f12..ad5ebd9 100644 --- a/web/src/components/common/TaskBreadcrumbs.jsx +++ b/web/src/components/common/TaskBreadcrumbs.jsx @@ -19,7 +19,14 @@ const TaskBreadcrumbs = ({ task, taskId, sheetName, isProject = false, year }) = const taskLabel = isProject ? projectLabel : getTaskLabel(task) || `Задача №${taskId}`; const currentSheetLabel = isProject && /^\d{4}$/.test(String(year)) ? `${sheetName} · ${year}` : sheetName; return ( - + {isProject ? 'Проекты' : 'Задачи'} {sheetName ? ( {taskLabel} diff --git a/web/src/pages/AdminPanel/PhaseTemplatesPage/components/PhaseTemplatesFilters.jsx b/web/src/pages/AdminPanel/PhaseTemplatesPage/components/PhaseTemplatesFilters.jsx index 2e6eceb..cf59eb3 100644 --- a/web/src/pages/AdminPanel/PhaseTemplatesPage/components/PhaseTemplatesFilters.jsx +++ b/web/src/pages/AdminPanel/PhaseTemplatesPage/components/PhaseTemplatesFilters.jsx @@ -8,7 +8,7 @@ export default function PhaseTemplatesFilters({ filters, sheets, changeFilter, l changeFilter('search', e.target.value)} sx={{ minWidth: 270, flex: 1 }} diff --git a/web/src/pages/AdminPanel/PhaseTemplatesPage/hooks/usePhaseTemplates.js b/web/src/pages/AdminPanel/PhaseTemplatesPage/hooks/usePhaseTemplates.js index 300dc16..df0ccfd 100644 --- a/web/src/pages/AdminPanel/PhaseTemplatesPage/hooks/usePhaseTemplates.js +++ b/web/src/pages/AdminPanel/PhaseTemplatesPage/hooks/usePhaseTemplates.js @@ -50,17 +50,19 @@ export function usePhaseTemplates(isAdmin) { }, [isAdmin, load]); const filteredRows = useMemo( - () => - rows + () => { + const search = filters.search.trim().toLocaleLowerCase('ru-RU'); + + return rows .filter((row) => { if (filters.form_type && row.form_type !== filters.form_type) return false; if (filters.sheet && row.sheet !== filters.sheet) return false; if (filters.role && row.role !== filters.role) return false; if (filters.direction && (row.direction || 'none') !== filters.direction) return false; - const text = [row.phase_code, ...(row.column_keys || [])].join(' ').toLocaleLowerCase('ru'); - return text.includes(filters.search.trim().toLocaleLowerCase('ru')); + return String(row.phase_code || '').toLocaleLowerCase('ru-RU').includes(search); }) - .sort((a, b) => templateKey(a).localeCompare(templateKey(b), 'ru')), + .sort((a, b) => templateKey(a).localeCompare(templateKey(b), 'ru')); + }, [rows, filters], ); const sheets = [