Commit Graph

12 Commits

Author SHA1 Message Date
Тимур Городецкий 3a8d10a7f5 fix(ct): подсказки поиска в диалоге замены не обрезаются
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-09-03 15:09:54 +05:00
Тимур Городецкий 1e367f5fcc fix(ct): фиксируем порядок согласующих (order0) в SP при отправке
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-09-03 15:03:19 +05:00
Тимур Городецкий cc44f77975 fix(ct): статус СТ до оповещения и без ложной плашки Teams
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-09-03 14:26:38 +05:00
Тимур Городецкий 899b14b869 feat(oid): импорт работ из заявки на услуги на шаге 1
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-09-02 15:27:30 +05:00
Тимур Городецкий 9faff36ba2 feat(ct): карточка INCORE во вложениях СТ, кнопка только после согласования
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-09-02 15:27:21 +05:00
Тимур Городецкий f615ca3c95 fix: наезд подзаголовков таблицы сравнения на первую строку
Второй ряд шапки (Наименование ТМЦ/Ед.изм./Кол-во/Цена/Сумма) прибит
sticky с захардкоженным top:70px, а реальная высота ряда поставщика больше
(имя, индикатор Adata, теги валют, статус, кнопки) — из-за чего подзаголовки
наезжали на первую строку данных.

Высота row1 теперь измеряется через ResizeObserver и прокидывается в CSS
переменную --header-row1-h; sticky top использует её. Обновляется при
выборе поставщика, появлении тегов валют и изменении состояния Adata.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-09-02 11:38:58 +05:00
Тимур Городецкий 158c007c15 feat: подписание пакета INCORE через NCALayer и карточку SIGEX
Кнопка «Выгрузить пакет документов для INCORE MANAGEMENT» на шаге 4 теперь
не просто скачивает отчёт, а формирует юридически значимую карточку
электронного документа (DDC) с ЭЦП инициатора.

Флоу: отчёт СТ в PDF → подпись через десктопный NCALayer (CMS) →
регистрация в SIGEX (POST /api) → фиксация хэша (POST /api/{id}/data) →
сборка карточки (POST /api/{id}/buildDDC, qrWithIDLink=true) → карточка
с QR-проверкой скачивается в пакет вместе с файлами КП.

- Новый SigexSignService: NCALayer basicsSignCMS + SIGEX register/finalize/
  buildDDC + оркестратор signAndBuildCard с колбэком прогресса.
- CtService: getCtReportBlob() (blob вместо скачивания) + downloadBlob().
- useStep4Approval/Step4Approval: прогресс-диалог по этапам подписания
  и диалог ошибки; отмена в окне NCALayer не считается ошибкой.
- ncalayer-js-client + ambient-типы (src/global.d.ts).

Подписывает только инициатор, только через NCALayer (без eGov mobile/QR).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-09-02 11:38:00 +05:00
Тимур Городецкий c1a5c6fde7 fix: сохранение данных шагов 2 и 4 при навигации хлебными крошками
Навигация через goToStep (хлебные крошки) переключает шаг, не вызывая
per-step save, поэтому локальный стейт, который писался в formData только
по кнопке «Сохранить и продолжить», терялся при переходе на другой шаг.

- Шаг 2: поставщики без КП теперь гидратируются из formData и пишутся
  в formData.suppliers сразу при изменении (а не только в persistStep2).
- Шаг 2: курсы валют пишутся в formData при каждой правке.
- Шаг 2: поставщик с КП и его офферы (с валютой файла) пишутся в formData
  инкрементально при завершении обработки КП, иначе загруженный после
  первого сохранения поставщик не попадал колонкой в таблицу шага 3.
  Построение поставщиков/офферов вынесено в общую buildKpSuppliersAndOffers.
- Шаг 4: переупорядочивание согласующих (moveMember) пишет порядок
  в formData сразу, иначе он сбрасывался при переходе на другой шаг.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-09-02 11:37:20 +05:00
Тимур Городецкий 5c9392fe49 feat: добавил базу контрагентов CRUD 2026-09-01 11:25:23 +05:00
Тимур Городецкий 00a0eb6ce7 feat(ct): интеграция Adata и выбор рекомендованного поставщика по формуле 80/20 2026-08-31 17:48:22 +05:00
Тимур Городецкий 109053e3af объединение CT, KPS, OID и дашборда в один портал
Перенос, декомпозиция и перекраска форм CT/KPS/OID на @tnsu/ui-kit,
config-driven дашборд-реестр по трём типам документов. Из отслеживания
исключены артефакты сборки (lib-commonjs/jest-output/release) — забыты
в .gitignore ранее.
2026-08-28 16:21:34 +05:00
Тимур Городецкий 31ef6fdbb9 feat: config-driven реестр на реальных данных SP 2026-08-17 11:23:57 +05:00