Правки финального ревью: обновление списка после создания консолидации, подсказка кнопки, решения R-4..R-8
- Sidebar: после создания консолидации перечитывается список группы - useLegalEntityFiles: убран biome-ignore в зависимостях эффекта - FilesDrawer: курсор и pointer-events у недоступной кнопки загрузки - design.md: решения R-4..R-8 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
9f56442a0c
commit
c5537d5a6b
@ -51,3 +51,13 @@
|
||||
не из текущей консоли; в режиме стола подписи нет (все файлы — этой консоли или подхваченные). Цена ошибки: низкая.
|
||||
3. 09.10.2026 — **R-3:** неизвестный `consolidation_id` (нет в списке ГК) подписывается «другая консолидация», а не
|
||||
скрывается. Цена ошибки: нулевая.
|
||||
4. 10.10.2026 — **R-4:** ручной прогон на стенде отложен до выката arm-core#96. Цена ошибки: UI-дефект всплывёт позже;
|
||||
PR не вливать до прогона.
|
||||
5. 10.10.2026 — **R-5:** trailer коммита 5b7b02a «Claude Haiku 5.5» вместо «Claude Fable 5.1» оставлен. Цена ошибки:
|
||||
неверная атрибуция в одном коммите.
|
||||
6. 10.10.2026 — **R-6:** промежуточное состояние (tsc-ошибка и versionId в UploadDocumentsModal между Task 2 и Task 3)
|
||||
принято, чинится в Task 3. Цена ошибки: нулевая, закрыто в Task 3.
|
||||
7. 10.10.2026 — **R-7:** `consolidation_id` в scripts/demo-prepare.sh берётся из карточки версии
|
||||
`GET /consolidations/versions/$V`, а не из `POST /consolidations`. Цена ошибки: скрипт демо не запускался на живом ядре.
|
||||
8. 10.10.2026 — **R-8:** после создания консолидации перечитывается список консолидаций группы (I-1). Цена ошибки:
|
||||
правка выходит за Impact proposal, лишний запрос.
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
# Подготовка демо: загрузить квартальные ОСВ РБ и Счастливочной за 2024 Q1–Q3 в версию и подтвердить ОСВ-документы.
|
||||
# Подготовка демо: загрузить квартальные ОСВ РБ и Счастливочной за 2024 Q1–Q3 в консолидацию версии и подтвердить ОСВ-документы.
|
||||
# Использование: scripts/demo-prepare.sh <version_id> [email] (стенд arm-core на localhost:8000, DEBUG=true)
|
||||
# Каталог фикстур: FIXTURES_DIR (по умолчанию ../../fixtures относительно репозитория arm-web, т.е. workspace/fixtures).
|
||||
set -euo pipefail
|
||||
|
||||
@ -50,7 +50,7 @@ export function DocumentsDrawer({ open, onClose }: { open: boolean; onClose: ()
|
||||
icon={<UploadOutlined />}
|
||||
disabled={!current_legal_entity_id || !canUpload}
|
||||
onClick={() => setUploadOpen(true)}
|
||||
style={{ background: canUpload ? '#237804' : undefined }}>
|
||||
style={canUpload ? { background: '#237804' } : { pointerEvents: 'none' }}>
|
||||
Загрузить документы
|
||||
</Button>
|
||||
);
|
||||
@ -83,7 +83,7 @@ export function DocumentsDrawer({ open, onClose }: { open: boolean; onClose: ()
|
||||
uploadButton
|
||||
) : (
|
||||
<Tooltip title={UPLOAD_DISABLED_HINT}>
|
||||
<span>{uploadButton}</span>
|
||||
<span style={{ display: 'inline-block', cursor: 'not-allowed' }}>{uploadButton}</span>
|
||||
</Tooltip>
|
||||
)}
|
||||
{current !== null && (
|
||||
|
||||
@ -18,7 +18,7 @@ describe('consolidationLabel', () => {
|
||||
expect(consolidationLabel(null, cons, 'c-2024q3')).toBe('вне консолидации');
|
||||
expect(consolidationLabel('ghost', cons, 'c-2024q3')).toBe('другая консолидация');
|
||||
});
|
||||
it('без текущей консоли подпись есть у всех, кроме null-текущей', () => {
|
||||
it('без текущей консолидации подпись есть у всех файлов', () => {
|
||||
expect(consolidationLabel('c-2024q3', cons, null)).toBe('2024 К3');
|
||||
expect(consolidationLabel(null, cons, null)).toBe('вне консолидации');
|
||||
});
|
||||
|
||||
@ -42,7 +42,7 @@ export function useLegalEntityFiles(legalEntityId: string | null, consolidationI
|
||||
}
|
||||
}, [legalEntityId, consolidationId]);
|
||||
|
||||
// biome-ignore lint/correctness/useExhaustiveDependencies: consolidationId — триггер сброса при смене режима, в теле не читается
|
||||
// смена режима (consolidationId) приходит через reload: он пересоздаётся и перезапускает этот эффект
|
||||
useEffect(() => {
|
||||
// при смене ЮЛ, режима (консолидация/все) или закрытии панели: старые ответы не применяем, прежние файлы очищаем
|
||||
requestRef.current++;
|
||||
@ -50,7 +50,7 @@ export function useLegalEntityFiles(legalEntityId: string | null, consolidationI
|
||||
errorShownRef.current = false;
|
||||
setFiles([]);
|
||||
if (open && legalEntityId) void reload();
|
||||
}, [open, legalEntityId, consolidationId, reload]);
|
||||
}, [open, legalEntityId, reload]);
|
||||
|
||||
const pending = hasPendingFiles(files);
|
||||
useEffect(() => {
|
||||
|
||||
@ -15,6 +15,8 @@ import { NavLink, useNavigate } from 'react-router-dom';
|
||||
import { USERS_ADMIN } from '../../auth/permissions';
|
||||
import { Logo } from '../../components/Logo';
|
||||
import { createConsolidation } from '../../services/api/consolidations';
|
||||
import { getConsolidationsListThunk } from '../../store/slices/consolidations/thunks';
|
||||
import { useAppDispatch } from '../../store/store';
|
||||
import { quarterLabel } from '../../utils/labels';
|
||||
import { NewConsolidationModal } from '../NewConsoleModal/NewConsoleModal';
|
||||
import styles from './styles.module.css';
|
||||
@ -165,6 +167,7 @@ const Section = memo(function Section({
|
||||
|
||||
export function Sidebar() {
|
||||
const navigate = useNavigate();
|
||||
const dispatch = useAppDispatch();
|
||||
const [modalOpen, setModalOpen] = useState(false);
|
||||
const [isCollapsed, setIsCollapsed] = useState(false);
|
||||
|
||||
@ -218,6 +221,8 @@ export function Sidebar() {
|
||||
}}
|
||||
onOk={async (values) => {
|
||||
const card = await createConsolidation(values);
|
||||
// перечитываем список: на странице группы он сам не обновится, и новая консолидация не станет текущей
|
||||
await dispatch(getConsolidationsListThunk(values.company_group_id));
|
||||
setModalOpen(false);
|
||||
message.success(`Создана консолидация ${values.year}, ${quarterLabel(values.quarter)}`);
|
||||
navigate(`/groups/${values.company_group_id}?version=${card.id}`);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user