UI: справочники типа места находки / кто нашёл / направление — единые селекты
- constants.js: LOCATION_TYPES (дорога/тропа/лес/дом-стройка/вода-берег/поле/ не указано), WHO_FOUND_TYPES, FOUND_DIRECTIONS (8 румбов). - Модал завершения поиска: тип места, кто нашёл, направление — селекты вместо свободного ввода (данные пригодны для матобработки архива без нормализации). - Архив /admin (ClosedCases): «Кто нашёл» → тот же селект; LOCATION_TYPES вынесен в общий модуль.
This commit is contained in:
@@ -2,6 +2,7 @@ import React, { useState, useEffect } from "react";
|
||||
import { useParams } from "react-router-dom";
|
||||
import SearchMap from '../../components/SearchMap';
|
||||
import { apiFetch } from "../../api/client";
|
||||
import { LOCATION_TYPES, WHO_FOUND_TYPES, FOUND_DIRECTIONS } from "../../constants";
|
||||
import "./AnalysisResult.css";
|
||||
|
||||
const GENDER_LABEL = { m: 'М', f: 'Ж' };
|
||||
@@ -457,17 +458,26 @@ const AnalysisResult = () => {
|
||||
<label>Дистанция, км
|
||||
<input type="number" step="0.1" value={completeForm.found_distance_km} onChange={(e) => setCompleteForm({ ...completeForm, found_distance_km: e.target.value })} />
|
||||
</label>
|
||||
<label>Направление (N/NE/E/...)
|
||||
<input value={completeForm.found_direction} onChange={(e) => setCompleteForm({ ...completeForm, found_direction: e.target.value })} />
|
||||
<label>Направление от ТНП
|
||||
<select value={completeForm.found_direction} onChange={(e) => setCompleteForm({ ...completeForm, found_direction: e.target.value })}>
|
||||
<option value="">—</option>
|
||||
{FOUND_DIRECTIONS.map((o) => <option key={o} value={o}>{o}</option>)}
|
||||
</select>
|
||||
</label>
|
||||
<label>Кто нашёл
|
||||
<input value={completeForm.who_found} onChange={(e) => setCompleteForm({ ...completeForm, who_found: e.target.value })} />
|
||||
<select value={completeForm.who_found} onChange={(e) => setCompleteForm({ ...completeForm, who_found: e.target.value })}>
|
||||
<option value="">—</option>
|
||||
{WHO_FOUND_TYPES.map((o) => <option key={o} value={o}>{o}</option>)}
|
||||
</select>
|
||||
</label>
|
||||
<label>Длительность поиска, ч
|
||||
<input type="number" step="0.5" value={completeForm.search_duration_hours} onChange={(e) => setCompleteForm({ ...completeForm, search_duration_hours: e.target.value })} />
|
||||
</label>
|
||||
<label>Тип места находки
|
||||
<input value={completeForm.found_location_type} onChange={(e) => setCompleteForm({ ...completeForm, found_location_type: e.target.value })} />
|
||||
<select value={completeForm.found_location_type} onChange={(e) => setCompleteForm({ ...completeForm, found_location_type: e.target.value })}>
|
||||
<option value="">—</option>
|
||||
{LOCATION_TYPES.map((o) => <option key={o} value={o}>{o}</option>)}
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
{completeResult && (
|
||||
|
||||
Reference in New Issue
Block a user