fix audit log: add column name for stage (action: update stage) #118
@ -127,6 +127,7 @@ export const EVENT_CONFIGS = {
|
|||||||
},
|
},
|
||||||
ACCESS_EXTEND: {
|
ACCESS_EXTEND: {
|
||||||
form_id: 'Информация о задаче',
|
form_id: 'Информация о задаче',
|
||||||
|
project_id: 'Информация о проекте',
|
||||||
closes_at_after: 'Дата закрытия (новая)',
|
closes_at_after: 'Дата закрытия (новая)',
|
||||||
closes_at_before: 'Дата закрытия (старая)',
|
closes_at_before: 'Дата закрытия (старая)',
|
||||||
phase_name: 'Названия этапа',
|
phase_name: 'Названия этапа',
|
||||||
@ -134,6 +135,7 @@ export const EVENT_CONFIGS = {
|
|||||||
},
|
},
|
||||||
ACCESS_WINDOW_CHANGE: {
|
ACCESS_WINDOW_CHANGE: {
|
||||||
form_id: 'Информация о задаче',
|
form_id: 'Информация о задаче',
|
||||||
|
project_id: 'Информация о проекте',
|
||||||
closes_at: 'Дата закрытия',
|
closes_at: 'Дата закрытия',
|
||||||
opens_at: 'Дата открытия',
|
opens_at: 'Дата открытия',
|
||||||
phase_name: 'Названия этапа',
|
phase_name: 'Названия этапа',
|
||||||
@ -144,7 +146,11 @@ export const EVENT_CONFIGS = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
export const EVENT_CONFIGS_MULT_DEPENDENTS = {
|
export const EVENT_CONFIGS_MULT_DEPENDENTS = {
|
||||||
|
ACCESS_EXTEND: {
|
||||||
|
'Информация о проекте': ['year'],
|
||||||
|
},
|
||||||
ACCESS_WINDOW_CHANGE: {
|
ACCESS_WINDOW_CHANGE: {
|
||||||
'Колонки в этапе': ['form_id', 'sheet'],
|
'Информация о проекте': ['year'],
|
||||||
|
'Колонки в этапе': ['form_id', 'sheet', 'project_id', 'report_type'],
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@ -26,6 +26,7 @@ export const VALUE_TRANSFORMERS = {
|
|||||||
'СПП/РФ': transformSsp,
|
'СПП/РФ': transformSsp,
|
||||||
'Статья расходов': transformExpense,
|
'Статья расходов': transformExpense,
|
||||||
'Информация о задаче': transformForm,
|
'Информация о задаче': transformForm,
|
||||||
|
'Информация о проекте': transformProjectInfo,
|
||||||
Направление: transformDirection,
|
Направление: transformDirection,
|
||||||
'Для роли': transformRoleChanges,
|
'Для роли': transformRoleChanges,
|
||||||
'Колонки в этапе': transformColumns,
|
'Колонки в этапе': transformColumns,
|
||||||
@ -132,6 +133,16 @@ export async function transformProject(projectId) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function transformProjectInfo(projectId, year) {
|
||||||
|
const res = await ProjectsApi.get(projectId);
|
||||||
|
const project = res.result;
|
||||||
|
return {
|
||||||
|
название: project.name,
|
||||||
|
'ССП/РФ': project.org_unit_name || '—',
|
||||||
|
Год: year || '—',
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
export function transformRole(value) {
|
export function transformRole(value) {
|
||||||
return ROLES_ID_RUSSIAN_NAME[value] || 'Роль не найдена';
|
return ROLES_ID_RUSSIAN_NAME[value] || 'Роль не найдена';
|
||||||
}
|
}
|
||||||
@ -243,13 +254,21 @@ export function transformDirection(direction) {
|
|||||||
return DIRECTION_TRANSLATE[direction];
|
return DIRECTION_TRANSLATE[direction];
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function transformColumns(cols, formId, sheet) {
|
export async function transformColumns(cols, formId, sheet, projectId, reportType) {
|
||||||
if (!formId || !sheet) return cols;
|
let formType;
|
||||||
const res = await FormsApi.getForm(formId);
|
let configSheet = sheet;
|
||||||
const form = res.result;
|
|
||||||
const formType = form.form_type_code;
|
|
||||||
|
|
||||||
const { config } = await import(`../../../../components/RealtimeTable/constants/${formType}/${sheet}.js`);
|
if (formId && sheet) {
|
||||||
|
const res = await FormsApi.getForm(formId);
|
||||||
|
formType = res.result.form_type_code;
|
||||||
|
} else if (projectId && reportType) {
|
||||||
|
formType = 'PROJECT';
|
||||||
|
configSheet = reportType.toUpperCase();
|
||||||
|
} else {
|
||||||
|
return cols;
|
||||||
|
}
|
||||||
|
|
||||||
|
const { config } = await import(`../../../../components/RealtimeTable/constants/${formType}/${configSheet}.js`);
|
||||||
const columns = config.config.columns;
|
const columns = config.config.columns;
|
||||||
function findColumnAndHeaders(columns, targetAccessorKey) {
|
function findColumnAndHeaders(columns, targetAccessorKey) {
|
||||||
// Рекурсивная функция для поиска колонки и сбора родителей
|
// Рекурсивная функция для поиска колонки и сбора родителей
|
||||||
@ -285,19 +304,18 @@ export async function transformColumns(cols, formId, sheet) {
|
|||||||
column: result.column,
|
column: result.column,
|
||||||
path: result.headers.join(' → '),
|
path: result.headers.join(' → '),
|
||||||
};
|
};
|
||||||
} else {
|
}
|
||||||
return {
|
return {
|
||||||
headers: [],
|
headers: [],
|
||||||
column: null,
|
column: null,
|
||||||
path: null,
|
path: null,
|
||||||
error: `Колонка с accessorKey "${targetAccessorKey}" не найдена`,
|
error: `Колонка с accessorKey "${targetAccessorKey}" не найдена`,
|
||||||
};
|
};
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (Array.isArray(cols)) {
|
if (Array.isArray(cols)) {
|
||||||
const res = [];
|
const res = [];
|
||||||
cols.forEach((c) => {
|
cols.forEach((c) => {
|
||||||
res.push(findColumnAndHeaders(columns, 'data.' + c).path || '');
|
res.push(findColumnAndHeaders(columns, `data.${c}`).path || '');
|
||||||
});
|
});
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user