From 6e9dfe8a6f78024a583296f0c796388d240bf519 Mon Sep 17 00:00:00 2001 From: viktot14-ai Date: Wed, 9 Sep 2026 22:08:25 +0300 Subject: [PATCH] =?UTF-8?q?UI:=20=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BE?= =?UTF-8?q?=D1=87=D0=BD=D0=B8=D0=BA=D0=B8=20=D1=82=D0=B8=D0=BF=D0=B0=20?= =?UTF-8?q?=D0=BC=D0=B5=D1=81=D1=82=D0=B0=20=D0=BD=D0=B0=D1=85=D0=BE=D0=B4?= =?UTF-8?q?=D0=BA=D0=B8=20/=20=D0=BA=D1=82=D0=BE=20=D0=BD=D0=B0=D1=88?= =?UTF-8?q?=D1=91=D0=BB=20/=20=D0=BD=D0=B0=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=E2=80=94=20=D0=B5=D0=B4=D0=B8=D0=BD?= =?UTF-8?q?=D1=8B=D0=B5=20=D1=81=D0=B5=D0=BB=D0=B5=D0=BA=D1=82=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - constants.js: LOCATION_TYPES (дорога/тропа/лес/дом-стройка/вода-берег/поле/ не указано), WHO_FOUND_TYPES, FOUND_DIRECTIONS (8 румбов). - Модал завершения поиска: тип места, кто нашёл, направление — селекты вместо свободного ввода (данные пригодны для матобработки архива без нормализации). - Архив /admin (ClosedCases): «Кто нашёл» → тот же селект; LOCATION_TYPES вынесен в общий модуль. --- frontend/src/constants.js | 7 +++++++ frontend/src/pages/ClosedCases.jsx | 8 +++++--- frontend/src/pages/analysis/AnalysisResult.jsx | 18 ++++++++++++++---- 3 files changed, 26 insertions(+), 7 deletions(-) create mode 100644 frontend/src/constants.js diff --git a/frontend/src/constants.js b/frontend/src/constants.js new file mode 100644 index 0000000..5fe264e --- /dev/null +++ b/frontend/src/constants.js @@ -0,0 +1,7 @@ +// Единый справочник для архива (/admin завершённые) и завершения операции: +export const LOCATION_TYPES = ['дорога', 'тропа', 'лес', 'дом/стройка', 'вода/берег', 'открытое поле', 'не указано']; + +// Кто нашёл (справочник для завершения поиска и архива): +export const WHO_FOUND_TYPES = ['поисковая группа', 'кинолог с собакой', 'местные жители', 'полицейский', 'сам вышел', 'ВОХР/охрана', 'другое']; + +export const FOUND_DIRECTIONS = ['С', 'СВ', 'В', 'ЮВ', 'Ю', 'ЮЗ', 'З', 'СЗ']; diff --git a/frontend/src/pages/ClosedCases.jsx b/frontend/src/pages/ClosedCases.jsx index 5427dc3..a2c3dae 100644 --- a/frontend/src/pages/ClosedCases.jsx +++ b/frontend/src/pages/ClosedCases.jsx @@ -1,5 +1,6 @@ import React, { useCallback, useEffect, useState } from 'react'; import { apiJson } from '../api/client'; +import { LOCATION_TYPES, WHO_FOUND_TYPES } from '../constants'; import './ClosedCases.css'; const DIAGNOSIS_OPTIONS = ['РАС', 'эпилепсия', 'СДВГ', 'ЗПР']; @@ -12,7 +13,6 @@ const TRANSPORT_OPTIONS = [ ]; const SEASON_OPTIONS = ['зима', 'весна', 'лето', 'осень']; const WEATHER_OPTIONS = ['нет', 'дождь', 'ливень', 'туман', 'снег', 'жара']; -const LOCATION_TYPES = ['дорога', 'тропа', 'лес', 'дом/стройка', 'вода/берег', 'открытое поле', 'не указано']; const EMPTY_FORM = { age_years: '', @@ -283,8 +283,10 @@ export default function ClosedCases() { - update('who_found', e.target.value)} /> + { -