feat(users): выбор колонок в реестре пользователей + кликабельная Оценка и доработанный график истории

Реестр /users:
- кнопка «Колонки» — чекбоксы базовых колонок и кастомных полей профиля
  (Оценка, Средняя оценка и др.), скрытые ключи в localStorage;
- /api/users/list?includeFieldValues=1 — значения полей текущей страницы;
- поля типа history-number (Оценка) кликабельны — открывают график истории.

График истории (FieldHistoryDialog):
- точки красные и крупные (на тёмном фоне дефолтные не видны), линия primary;
- клик по точке — под графиком список оценок за бакет со ссылками на задачи
  (название задачи → /forms/<formId>/tasks/<id>);
- API field-history возвращает entries (value, taskId, taskTitle, formId, bucket).
This commit is contained in:
2026-09-29 15:09:22 +03:00
parent c56ec26b49
commit c0011b49a3
5 changed files with 330 additions and 44 deletions

View File

@@ -224,11 +224,20 @@ export function registerUserProfileRoutes(router: Router): void {
period.days,
period.bucket
);
// Сырые записи с привязкой к задачам — для клика по точке графика
const entries = await storage.getUserFieldHistoryEntries(
userId,
fieldId,
req.organizationId!,
period.days,
period.bucket
);
res.json({
success: true,
field: { id: field.id, name: field.name },
period: periodParam,
points,
entries,
overallAvg,
totalCount,
});