arm-core/web/src/widgets/FilesDrawer/consolidationLabel.ts
Andrey Epifancev 2ea8a96f26 fix(web): синхронизация встроенного фронта с arm-web — панель файлов в контексте консолидации (#100)
Перенос в arm-core/web правок RSHB/arm-web PR #27 «Панель «Первичные документы»: рабочий стол
консолидации и загрузка в консолидацию» (ветка test, диапазон коммитов fc75edf..100fbfb), только src/:
- services/api/files.ts: filesPath, маршруты /consolidations/{cid}/legal-entities/{le}/files
  вместо ?consolidation_version_id=, которое ядро игнорирует;
- store/slices/consolidations/selectors.ts: текущая консолидация и статус версии (новый файл);
- widgets/FilesDrawer: рабочий стол консолидации, переключатель «Все документы организации»,
  подпись консолидации у файла (consolidationLabel.ts), загрузка только в версии «в работе»;
- widgets/Sidebar: перечитывание списка консолидаций после создания;
- типы api.ts и consolidations.ts, тесты.

Закрывает находку I-1 из #98: загрузка из встроенного фронта снова переводит версию
INITIATED -> DOCUMENTS_PROCESSING. Спеки, CLAUDE.md и scripts из arm-web не переносятся.
После переноса web/src и arm-web@test идентичны (diff -rq пуст).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-10 10:16:17 +04:00

15 lines
841 B
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import type { IConsolidation } from '../../types/consolidations/consolidations';
import { quarterShortLabel } from '../../utils/labels';
/** Подпись консолидации у файла в режиме «Все документы организации» (design D-4): null — файл текущей консоли. */
export function consolidationLabel(
fileConsolidationId: string | null,
consolidations: IConsolidation[],
currentConsolidationId: string | null,
): string | null {
if (fileConsolidationId === null) return 'вне консолидации';
if (fileConsolidationId === currentConsolidationId) return null;
const found = consolidations.find((c) => c.consolidation_id === fileConsolidationId);
return found ? `${found.year} ${quarterShortLabel(found.quarter)}` : 'другая консолидация';
}