Commit Graph

79 Commits

Author SHA1 Message Date
gorbenko.pavel 97fb71036b fix(ServiceRequest): строка сметы/объёмов работ не влезала в узкий Drawer
Форма открывается в боковом Drawer, а не на всю страницу — его ширина не
связана с viewport, поэтому брейкпоинты CollapseSection/FormGrid (следят
за шириной окна) не спасают. Фикс-колонки строки (ед.изм/кол-во/цена/
сумма) при этом не сжимались (grid-колонки по умолчанию не сжимаются
своего содержимого) и вылезали за рамку карточки.

Обернул строки в горизонтально скроллящийся контейнер (тот же приём, что
раньше был у плоской таблицы — .tableWrap в AnnexesSection) вместо попытки
сжать поля до нечитаемости.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-01 16:28:21 +05:00
gorbenko.pavel 0b9bb80b1f refactor(ServiceRequest): итог групп — прямо в JSON, без отдельной колонки
Итог сметы и объёмов работ теперь кладём прямо в JSON-колонку рядом с
группами ({ groups, total } — см. serializeGroups/parseGroupedJson в
cost.ts), а не отдельной числовой колонкой SharePoint. Форма total из
хранилища не доверяет, всегда считает заново; в JSON он нужен только тем,
кто читает колонку напрямую (отчёты, sp-query), не поднимая форму.

Убраны EstimateTotal/WorkVolumesTotal из провижининг-манифеста — они ещё
не были провижинены на тенанте, миграция не нужна.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-01 15:50:56 +05:00
gorbenko.pavel 6e2ad78e6e feat(ServiceRequest): детализация объёмов работ под «Объём работ»
Под текстовым описанием объёма работ добавлена таблица групп/позиций с
ценой и суммой — в том же формате, что и смета (группа → позиции → сумма
по группе → общий итог). Дополняет текст итоговыми цифрами, не заменяет
его.

Редактор таблицы «группы → позиции» вынесен в отдельный переиспользуемый
компонент CostGroupsEditor — CostsSection и новый блок в ScopeSection
используют один и тот же код вместо двух копий.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-01 15:43:56 +05:00
gorbenko.pavel 8fcba75f0d feat(ServiceRequest): прикрепление файла к строке «Приложения»
Вернул возможность прикладывать файл прямо к строке «Приложения» (fileName
на IAnnexRow, хранится как встроенное вложение элемента списка) и убрал
общий блок «Вложения» — он был избыточен: файлы теперь привязаны к своим
строкам, отдельного места под них не нужно.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-01 15:28:47 +05:00
gorbenko.pavel 76143e62be refactor(ServiceRequest): упростить «Приложения» — только опись документов
Убрано прикрепление реальных файлов к строке (в исходной бумажной форме
их нет — только перечень с номером и подтверждением), а заодно колонки
«Подтверждение» и «Кол-во стр.». Приложения теперь просто опись: описание
документа + номер приложения. Для файлов остаётся общий блок «Вложения».

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-01 14:40:40 +05:00
gorbenko.pavel 40561cbe60 feat(ServiceRequest): прикрепление файла к строке «Приложения»
Каждую строку таблицы приложений теперь можно связать с реальным файлом —
он хранится как встроенное вложение элемента списка (тот же механизм, что
у общего блока «Вложения»), новых списков/библиотек в SharePoint под это
заводить не нужно. В IAnnexRow добавлено fileName; выбранный, но ещё не
сохранённый файл держится в памяти формы и грузится вместе с общими
вложениями при save() (нужен id элемента). Удаление строки/замена файла
открепляет уже загруженное вложение, чтобы не оставалось висящих файлов.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-01 12:08:20 +05:00
gorbenko.pavel c73ab17cbd refactor(ServiceRequest): CostsJson/CostTotal -> EstimateJson/EstimateTotal
Понятнее по смыслу колонки: это смета (Estimate), а не «costs» вообще.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-01 11:40:28 +05:00
gorbenko.pavel ec53e48064 refactor(ServiceRequest): смета по группам вместо плоской таблицы
Смета теперь — список групп (разделов работ), внутри каждой свои позиции;
название группы необязательно. Сумма по позиции/группе/общий итог по-прежнему
считаются на лету, не хранятся построчно. UI — карточка на группу с полями
без рамки таблицы, по макету коллеги.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-01 11:40:20 +05:00
gorbenko.pavel 3a7579a5ef feat(ServiceRequest): новая форма «Заявка на услуги» (wh-service-request)
Электронный аналог бумажной Service Requisition Form ПТО: заявитель,
проект (маршрут резолвится по нему), описание требований, табличные части
«Приложения» и «Смета» (JSON-колонки, сумма считается на лету), только
фаза согласования — без исполнения. Форма подачи + режим согласующего,
провижининг-манифесты данных и согласования, регистрация в реестрах форм.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-01 11:40:10 +05:00
gorbenko.pavel ddce6b4f25 раздел «Отчёты» в боковом меню — скачивание отчёта по вакансиям (#17)
Tests / frontend-test (push) Successful in 1m15s
Пункт меню виден только заданному списку почт (Тришина, Городецкий,
Горбенко) — группы HR в SharePoint пока нет, добавили TODO завести
проверку по ней отдельно (reportsAccess.ts). Скрыт из меню совсем, а
не показан неактивным, и прямой переход по ?rpnav=reports у остальных
редиректит на «Новую заявку».

Раздел — форма периода (С/По) и кнопка «Скачать xlsx», дергает
GET api/reports/vacancies через тот же AadHttpClient, что и остальные
вызовы approval-route API. Имя файла собирается на фронте по формату
бэкенда (VacancyReportWorkbook.FileName), а не читается из
Content-Disposition — approval-route не объявляет заголовок в
Access-Control-Expose-Headers, браузер бы его не отдал.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

---------

Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/17
2026-08-31 11:00:18 +00:00
Тимур Городецкий 6172321710 feat: added split print button
Tests / frontend-test (push) Successful in 4m15s
2026-08-27 10:09:05 +05:00
Тимур Городецкий 5a5e43e5c2 Merge branch 'main' of http://git.tnsu.kz/timur.gorodetskiy/request-portal
Tests / frontend-test (push) Successful in 1m9s
2026-08-26 16:38:20 +05:00
Тимур Городецкий 488d3b20da fix: в заголовке заявковк на чтение теперь показывает правильный номер 2026-08-26 16:38:10 +05:00
gorbenko.pavel 92b95050fa Правки (#16)
Tests / frontend-test (push) Successful in 1m11s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/16
2026-08-26 11:10:26 +00:00
Тимур Городецкий 418e30dfc3 merge branch
Tests / frontend-test (push) Successful in 1m10s
2026-08-26 16:03:49 +05:00
Тимур Городецкий a4bc54def2 feat: feat: брендированная печать, поле «Подразделение» и подача ТМЦ за другого
- Печать доступна только после согласования (Отдел рекрутинга); выбор
  организации и логотип-шапка для форм с несколькими юрлицами
- «СЗ на перемещение ТМЦ»: заявителя можно выбрать (подача за другого),
  маршрут резолвится на выбранного
- «Реферальная рекомендация»: организация вакансии (мультивыбор) и
  подразделение/проект вакансии
- Поле «Подразделение» (справочник) — Vacation, UnpaidLeave, Clearance,
  WorkplaceSetup, RecruitingHire, RecruitingSelection, TmcTransfer
- Поле «Проект» — Vacation, UnpaidLeave, Clearance
2026-08-26 15:49:25 +05:00
gorbenko.pavel df29d080ed Заявление на увольнение (#15)
Tests / frontend-test (push) Successful in 1m17s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/15
2026-08-26 07:07:03 +00:00
Тимур Городецкий f751f03060 fix:передаю условия маршрута по компании в resolve и починил пагинацию /Project
Tests / frontend-test (push) Failing after 14s
2026-08-25 15:50:27 +05:00
Тимур Городецкий cf1bc0ec1f feat: добавил новые колнки
Tests / frontend-test (push) Successful in 1m7s
2026-08-25 12:31:55 +05:00
Тимур Городецкий 48ef2d3051 Merge branch 'main' of http://git.tnsu.kz/timur.gorodetskiy/request-portal
Tests / frontend-test (push) Successful in 4m14s
2026-08-25 11:44:08 +05:00
Тимур Городецкий 3b4ee93b48 feat: добавил поле организация во все заявки, а также расширил компонет выбора даты для ui-kit 2026-08-25 11:43:57 +05:00
gorbenko.pavel 0ecb1ded78 чат по заявке через комментарии к строке списка (#14)
Tests / frontend-test (push) Successful in 1m15s
Обсуждение заявки поверх штатных комментариев SharePoint (PnPjs
item.comments) — без новых колонок и провижининга, права на переписку
раздаёт сам SharePoint по правам на элемент.

Встроено в ApproveFeature и EditFeature (единственные входы в просмотр
заявки для всех типов), поэтому доступно автору, всем согласующим
(включая уже решивших и ещё не дошедших до своего шага) и исполнителям,
а не только текущему шагу маршрута, как DecisionPanel.

Автора комментария всегда ставит реальная учётка — отладочная подмена
личности на запись в SharePoint не влияет, в UI есть предупреждение.

---------

Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/14
2026-08-24 11:37:34 +00:00
Тимур Городецкий a146877327 fix: удалил эндпоинт Projects1C и перевел на актуальный Project
Tests / frontend-test (push) Successful in 1m9s
2026-08-24 16:33:36 +05:00
Тимур Городецкий df33608f42 fix: добавил прочие вложения на форму заявки на прием
Tests / frontend-test (push) Successful in 1m12s
2026-08-24 15:47:57 +05:00
Тимур Городецкий 0b2961a741 fix: изменил заявку на подбор и заявку на прием согласно требованиям от 24.08.2026
Tests / frontend-test (push) Successful in 1m12s
2026-08-24 15:12:42 +05:00
gorbenko.pavel fd19ddc41a Заявление реферальная программа (#13)
Tests / frontend-test (push) Successful in 1m20s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/13
2026-08-21 12:27:34 +00:00
gorbenko.pavel 131e302f67 Оптимизация списков (#12)
Tests / frontend-test (push) Successful in 1m18s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/12
2026-08-21 10:01:33 +00:00
gorbenko.pavel ebb361ab9f Правка ошибок (#11)
Tests / frontend-test (push) Successful in 1m28s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/11
2026-08-21 06:30:09 +00:00
gorbenko.pavel e90a8ea3cc Фикс шатдауна сайта (#10)
Tests / frontend-test (push) Successful in 1m9s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/10
2026-08-20 07:12:50 +00:00
gorbenko.pavel 7bd540e816 убрал перф логирование
Tests / frontend-test (push) Successful in 1m11s
2026-08-19 16:36:10 +05:00
gorbenko.pavel 6f789f8f1c Архивация списков (#9)
Tests / frontend-test (push) Successful in 1m12s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/9
2026-08-19 09:07:53 +00:00
gorbenko.pavel 3a71d0df1f Разные фиксы (#8)
Tests / frontend-test (push) Successful in 1m20s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/8
2026-08-18 08:45:42 +00:00
Тимур Городецкий 5b2c062e81 fix: изменил заявку на подбор согласно требованиям от 17.08.2026
Tests / frontend-test (push) Successful in 1m8s
2026-08-17 18:29:31 +05:00
Тимур Городецкий d8fe538f36 feat: добавлено форма отпуск БС
Tests / frontend-test (push) Successful in 1m8s
2026-08-17 14:56:06 +05:00
gorbenko.pavel 20a54e01f1 Merge remote-tracking branch 'origin/main'
Tests / frontend-test (push) Successful in 1m10s
2026-08-17 13:20:05 +05:00
gorbenko.pavel e2c7f96021 скрипт 2026-08-17 13:19:43 +05:00
Тимур Городецкий e59f96ee06 Merge branch 'main' of http://git.tnsu.kz/timur.gorodetskiy/request-portal
Tests / frontend-test (push) Successful in 4m16s
2026-08-17 12:06:26 +05:00
Тимур Городецкий e6ca84827a feat: добавлено отображение статуса делеганта и того кто его назначил 2026-08-17 12:06:09 +05:00
gorbenko.pavel 364835eaf7 Обходной лист (#7)
Tests / frontend-test (push) Successful in 1m16s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/7
2026-08-17 05:43:38 +00:00
Тимур Городецкий a937e33f2e refactor: StatusBadge поверх ui-kit Badge
Tests / frontend-test (push) Successful in 4m20s
2026-08-14 12:07:09 +05:00
Тимур Городецкий 64527ebd5b feat: навигация на ui-kit SIdebar + мобильный drawer
Tests / frontend-test (push) Successful in 1m9s
2026-08-14 11:35:49 +05:00
Тимур Городецкий c98a665611 refactor: миграция форм на ui-kit, удаление локальных дублей
Tests / frontend-test (push) Successful in 4m11s
2026-08-14 11:09:11 +05:00
gorbenko.pavel 9d04fb4be4 возвращено sla
Tests / frontend-test (push) Successful in 1m23s
2026-08-13 17:17:14 +05:00
gorbenko.pavel 293876dd50 переработано переназначение
Tests / frontend-test (push) Successful in 1m8s
2026-08-13 17:07:05 +05:00
Тимур Городецкий bcd54d7bc8 feat: подключить ui-kit
Tests / frontend-test (push) Successful in 4m28s
2026-08-13 14:05:32 +05:00
gorbenko.pavel ed3d1a9172 Обходной лист provision
Tests / frontend-test (push) Successful in 1m9s
2026-08-13 12:37:23 +05:00
Тимур Городецкий fc2ef1789d fix: prefill position, hide print photo, drop SLA column
Tests / frontend-test (push) Successful in 1m8s
2026-08-13 10:18:30 +05:00
Тимур Городецкий 6fed6b1540 Merge branch 'main' of http://git.tnsu.kz/timur.gorodetskiy/request-portal
Tests / frontend-test (push) Successful in 1m9s
2026-08-13 10:01:22 +05:00
Тимур Городецкий 8578653c16 feat: changed get time logic to approvers 2026-08-13 10:01:08 +05:00
gorbenko.pavel 03182dbba4 Sla (#6)
Tests / frontend-test (push) Successful in 1m15s
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz>
Reviewed-on: http://git.tnsu.kz/timur.gorodetskiy/request-portal/pulls/6
2026-08-13 04:45:02 +00:00