From 3f9595928e6c61c363c9b083f379617fbc976ec4 Mon Sep 17 00:00:00 2001 From: PotapovaA Date: Thu, 25 Jun 2026 11:20:29 +0300 Subject: [PATCH] =?UTF-8?q?=D1=8D=D1=82=D0=B0=D0=BF=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/api/form_sheet.js | 7 +++- .../RealtimeTable/RealtimeTable.jsx | 3 +- .../AuditLogsPage/AuditLogsPage.jsx | 4 +- .../components/AuditLogsTable.jsx | 9 ++--- .../AuditLogsPage/constants/auditLogs.jsx | 6 +-- .../AuditLogsPage/constants/configEvent.jsx | 16 ++++++-- .../AuditLogsPage/utils/transformers.jsx | 37 ++++++++++++++++++- .../components/StyledTable/TableFooter.jsx | 4 +- web/src/pages/DictVspPage/DictVspPage.jsx | 2 +- .../DictsNavigatorPage/DictsNavigatorPage.jsx | 9 +++-- 10 files changed, 75 insertions(+), 22 deletions(-) diff --git a/web/src/api/form_sheet.js b/web/src/api/form_sheet.js index 4d6220e..73a5bab 100644 --- a/web/src/api/form_sheet.js +++ b/web/src/api/form_sheet.js @@ -1,4 +1,4 @@ -import api from './client'; +import api from "./client"; export const FormsSheetApi = { get(formId, sheetName, params) { @@ -9,7 +9,10 @@ export const FormsSheetApi = { export(formId, sheetName, params = {}) { return api.get(`export/form/${formId}/sheet/${sheetName}`, { params, - responseType: 'blob', + responseType: "blob", }); }, + getExpenseItem(itemId) { + return api.get(`/expense-item/${itemId}`).then((r) => r.data); + }, }; diff --git a/web/src/components/RealtimeTable/RealtimeTable.jsx b/web/src/components/RealtimeTable/RealtimeTable.jsx index 8a0e1c3..d1fc390 100644 --- a/web/src/components/RealtimeTable/RealtimeTable.jsx +++ b/web/src/components/RealtimeTable/RealtimeTable.jsx @@ -151,7 +151,7 @@ const RealtimeTable = ({ formType, formId, sheetName, direction }) => { if (isPinned) { const colId = table.getState().columnPinning.left[index]; const column = table.getColumn(colId); - return column.columnDef.size; + return column?.getSize() ?? 150; } const allCols = [...table.getLeftVisibleLeafColumns(), ...table.getCenterVisibleLeafColumns()] return allCols[index]?.getSize() ?? 150; @@ -243,7 +243,6 @@ const RealtimeTable = ({ formType, formId, sheetName, direction }) => { toast.error('Ошибка редактирования ячейки'); } }, [dataEditingCells, editingCell]); - console.log(editingCell) useEffect(() => { if (table && data && columns.length !== 0) { diff --git a/web/src/pages/AdminPanel/AuditLogsPage/AuditLogsPage.jsx b/web/src/pages/AdminPanel/AuditLogsPage/AuditLogsPage.jsx index e8fe696..ffffcd6 100644 --- a/web/src/pages/AdminPanel/AuditLogsPage/AuditLogsPage.jsx +++ b/web/src/pages/AdminPanel/AuditLogsPage/AuditLogsPage.jsx @@ -137,7 +137,9 @@ const AuditLogsPage = () => { return ( - + diff --git a/web/src/pages/AdminPanel/AuditLogsPage/components/AuditLogsTable.jsx b/web/src/pages/AdminPanel/AuditLogsPage/components/AuditLogsTable.jsx index 5e1c533..683daab 100644 --- a/web/src/pages/AdminPanel/AuditLogsPage/components/AuditLogsTable.jsx +++ b/web/src/pages/AdminPanel/AuditLogsPage/components/AuditLogsTable.jsx @@ -77,9 +77,9 @@ const AuditLogsTable = ({ {row.original.user ? row.original.user.full_name + - ' (' + - row.original.user.email + - ')' + ' (' + + row.original.user.email + + ')' : '-'} @@ -118,8 +118,7 @@ const AuditLogsTable = ({ size: 250, Cell: ({ row }) => ( - {getRussianNamesForType(row.original.action) || - row.original.event_type} + {getRussianNamesForType(row.original.action) } ), enableColumnActions: false, diff --git a/web/src/pages/AdminPanel/AuditLogsPage/constants/auditLogs.jsx b/web/src/pages/AdminPanel/AuditLogsPage/constants/auditLogs.jsx index f79554a..a00c098 100644 --- a/web/src/pages/AdminPanel/AuditLogsPage/constants/auditLogs.jsx +++ b/web/src/pages/AdminPanel/AuditLogsPage/constants/auditLogs.jsx @@ -1,21 +1,19 @@ export const DEFAULT_ACTIONS = { ROW_CREATE: 'Создание строки', ROW_DELETE: 'Удаление строки', - ACCESS_WINDOW_CHANGE: 'Изменение окна доступа', ACCESS_EXTEND: 'Расширение доступа', + ACCESS_WINDOW_CHANGE: 'Изменение окна доступа', USER_ROLE_CHANGE: 'Изменение роли пользователя', CREATE_TASK: 'Создание задачи', UPDATE_TASK: 'Обновление задачи', DELETE_TASK: 'Удаление задачи', USER_CREATE: 'Создание пользователя', - LOGIN: 'Вход в систему', USER_ACCESS_GRANTED: 'Предоставление доступа к ССП/РФ', USER_ACCESS_REVOKED: 'Отмена доступа к ССП/РФ', VSP_CREATE: 'Создание ВСП', }; export const ENTITY_RUSSIAN_NAMES = { - LOGIN: 'Вход в систему', ROW: 'строки', PROJECT: 'проекта', TABLE: 'таблицы', @@ -26,6 +24,7 @@ export const ENTITY_RUSSIAN_NAMES = { USER_ACCESS: 'доступа к ССП/РФ', USER: 'пользователя', ACCESS_WINDOW: 'окна доступа', + ACCESS: 'окна доступа', USER_ROLE: 'роли пользователя', VSP: 'ВСП', }; @@ -38,6 +37,7 @@ export const ACTION_RUSSIAN_NAMES = { GET: 'Получение', GRANTED: 'Предоставление', REVOKED: 'Отмена', + EXTEND: 'Расширение', }; export const getRussianNamesForType = (name) => { diff --git a/web/src/pages/AdminPanel/AuditLogsPage/constants/configEvent.jsx b/web/src/pages/AdminPanel/AuditLogsPage/constants/configEvent.jsx index 8948f2b..48b0616 100644 --- a/web/src/pages/AdminPanel/AuditLogsPage/constants/configEvent.jsx +++ b/web/src/pages/AdminPanel/AuditLogsPage/constants/configEvent.jsx @@ -56,11 +56,15 @@ export const EVENT_CONFIGS = { }, ROW_CREATE: { sheet: "Лист", - expense_item_id: 'Статья расходов' + expense_item_id: 'Статья расходов', + form_id: 'Информация о задаче', + direction: 'Направление', }, ROW_DELETE: { sheet: "Лист", - expense_item_id: 'Статья расходов' + expense_item_id: 'Статья расходов', + form_id: 'Информация о задаче', + direction: 'Направление', }, PROJECT_CREATE: { "name": "Название", @@ -71,5 +75,11 @@ export const EVENT_CONFIGS = { "name": "Название", "year": "Год", "org_unit_id": "СПП/РФ", - } + }, + ACCESS_EXTEND:{ + form_id: 'Информация о задаче', + closes_at_after: 'Дата закрытия', + closes_at_before: 'Дата открытия', + phase_name: 'Названия этапа' + }, }; diff --git a/web/src/pages/AdminPanel/AuditLogsPage/utils/transformers.jsx b/web/src/pages/AdminPanel/AuditLogsPage/utils/transformers.jsx index 9f388aa..e3d123c 100644 --- a/web/src/pages/AdminPanel/AuditLogsPage/utils/transformers.jsx +++ b/web/src/pages/AdminPanel/AuditLogsPage/utils/transformers.jsx @@ -1,8 +1,10 @@ import { DictVspApi } from '../../../../api/dict-vsp'; +import { FormsSheetApi } from '../../../../api/form_sheet'; +import { FormsApi } from '../../../../api/forms'; import { SspApi } from '../../../../api/ssp'; import { TasksApi } from '../../../../api/tasks'; import { UsersApi } from '../../../../api/users'; -import { ROLES_ID_RUSSIAN_NAME, SHEET_NAME } from '../../../../constants'; +import { DIRECTION_TRANSLATE, FROM_TYPE_TRANSLATE, ROLES_ID_RUSSIAN_NAME, SHEET_NAME } from '../../../../constants'; export const VALUE_TRANSFORMERS = { Роль: transformRole, @@ -14,6 +16,9 @@ export const VALUE_TRANSFORMERS = { 'Создана для СПП/РФ': transformSspsDict, 'Лист': transformSheet, 'СПП/РФ': transformSsp, + 'Статья расходов': transformExpense, + 'Информация о задаче': transformForm, + 'Направление': transformDirection }; export function transformRole(value) { @@ -83,3 +88,33 @@ export async function transformSspsDict(ssps) { export function transformSheet(value) { return SHEET_NAME[value] || 'Лист не найден'; } + +export async function transformExpense(itemId) { + if (!itemId) { + return 'нет информации' + } + const res = await FormsSheetApi.getExpenseItem(itemId); + const expense = res.result; + return expense.name; +} + +export async function transformForm(formId) { + if (!formId) { + return 'нет информации' + } + const res = await FormsApi.getForm(formId); + const form = res.result; + const formInfo = { + 'название': FROM_TYPE_TRANSLATE[form.form_type_code], + 'ССП/РФ': form.org_unit.title, + 'Год': form.year, + } + return formInfo +} + +export function transformDirection(direction){ + if (!direction){ + return '-'; + } + return DIRECTION_TRANSLATE[direction]; +} \ No newline at end of file diff --git a/web/src/pages/AdminPanel/components/StyledTable/TableFooter.jsx b/web/src/pages/AdminPanel/components/StyledTable/TableFooter.jsx index fe0f8fa..1fc9aef 100644 --- a/web/src/pages/AdminPanel/components/StyledTable/TableFooter.jsx +++ b/web/src/pages/AdminPanel/components/StyledTable/TableFooter.jsx @@ -95,7 +95,9 @@ const TableFooter = ({ - + {/* */} - + {user.role_id !== ROLES_NAME_ID.executor_rf && (

Открыть справочник объектов