front-logs-fix #8
@ -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);
|
||||
},
|
||||
};
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -137,7 +137,9 @@ const AuditLogsPage = () => {
|
||||
return (
|
||||
<PageContainer>
|
||||
<HeaderSwitch />
|
||||
<Box display="flex" justifyContent="space-between">
|
||||
<Box sx={{
|
||||
display: "flex", justifyContent: "space-between"
|
||||
}} >
|
||||
<SwitchUserSsp />
|
||||
</Box>
|
||||
|
||||
|
||||
@ -77,9 +77,9 @@ const AuditLogsTable = ({
|
||||
<Typography component="div" fontWeight="medium">
|
||||
{row.original.user
|
||||
? row.original.user.full_name +
|
||||
' (' +
|
||||
row.original.user.email +
|
||||
')'
|
||||
' (' +
|
||||
row.original.user.email +
|
||||
')'
|
||||
: '-'}
|
||||
</Typography>
|
||||
</Box>
|
||||
@ -118,8 +118,7 @@ const AuditLogsTable = ({
|
||||
size: 250,
|
||||
Cell: ({ row }) => (
|
||||
<Typography>
|
||||
{getRussianNamesForType(row.original.action) ||
|
||||
row.original.event_type}
|
||||
{getRussianNamesForType(row.original.action) }
|
||||
</Typography>
|
||||
),
|
||||
enableColumnActions: false,
|
||||
|
||||
@ -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) => {
|
||||
|
||||
@ -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: 'Названия этапа'
|
||||
},
|
||||
};
|
||||
|
||||
@ -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];
|
||||
}
|
||||
@ -95,7 +95,9 @@ const TableFooter = ({
|
||||
</FormControl>
|
||||
</Box>
|
||||
|
||||
<Stack direction="row" spacing={2} alignItems="center">
|
||||
<Stack sx={{
|
||||
direction: "row", spacing: 2, alignItems: "center"
|
||||
}}>
|
||||
<Pagination
|
||||
count={Math.max(1, totalPages)}
|
||||
page={page + 1}
|
||||
|
||||
@ -142,7 +142,7 @@ function DictVspPage() {
|
||||
<DictVspInfo />
|
||||
{/* <HeaderSwitch /> */}
|
||||
<PageContainer>
|
||||
<Stack alignItems={'stretch'} width="100%">
|
||||
<Stack sx={{ alignItems: 'stretch' }} width="100%">
|
||||
<Box width="100%">
|
||||
{user.role_id !== ROLES_NAME_ID.executor_rf && (
|
||||
<DictVspFilters
|
||||
|
||||
@ -106,9 +106,12 @@ function DictsNavigatorPage() {
|
||||
</FeatureList>
|
||||
<PrimaryButton height={'2.75rem'} onClick={handleNavigateToVSP}>
|
||||
<Stack
|
||||
spacing={'.25rem'}
|
||||
direction={'row'}
|
||||
alignItems={'center'}
|
||||
sx={{
|
||||
spacing: '.25rem',
|
||||
direction: 'row',
|
||||
alignItems: 'center',
|
||||
}}
|
||||
|
||||
>
|
||||
<TransitionSvg />
|
||||
<p>Открыть справочник объектов</p>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user