From f87098f11ec7bfaf925db00068ac1eb3a1a44543 Mon Sep 17 00:00:00 2001 From: PotapovaA Date: Fri, 18 Sep 2026 16:14:52 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=D0=B0=20=D1=86=D0=B2=D0=B5=D1=82=D0=B0,=20=D1=81=D0=B4?= =?UTF-8?q?=D0=B5=D0=BB=D0=B0=D0=BB=D0=B0=20=D0=BF=D0=BE=D1=8F=D1=80=D1=87?= =?UTF-8?q?=D0=B5=20breadcrumbs=20=D0=B8=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D0=BB=D0=B0=20=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=20?= =?UTF-8?q?=D0=B2=20=D1=8D=D1=82=D0=B0=D0=BF=D0=B0=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RealtimeTable/constants/FORM_2/CAP.js | 20 +++++++++---------- .../RealtimeTable/constants/FORM_2/OPER.js | 18 ++++++++--------- web/src/components/common/TaskBreadcrumbs.jsx | 9 ++++++++- .../components/PhaseTemplatesFilters.jsx | 2 +- .../hooks/usePhaseTemplates.js | 12 ++++++----- 5 files changed, 35 insertions(+), 26 deletions(-) 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 = [