pcp-tgu-ops-ui: одно перекрестие опорной точки + 24ч формат времени
- Редактор: убрано накопление целей съёмки — на карте только одно перекрестие текущей точки (pickTarget заменяется при каждом клике), с перекрестия убрана подпись. Правая панель переименована в «Опорная точка прицеливания» с координатами. - 24-часовой формат: lang="ru-RU" на всех datetime-local инпутах (Планы, фильтры заявок на карте, создание/фильтр заявок), иначе браузер рендерил их по локали ОС в AM/PM.
This commit is contained in:
@@ -37,7 +37,6 @@ import type {
|
||||
DraftHistory,
|
||||
EditorGroundStation,
|
||||
EditorMode,
|
||||
EditorShootWork,
|
||||
EditorTarget,
|
||||
EditorTimelineWindow,
|
||||
EditorVisibilityTrack,
|
||||
@@ -167,13 +166,6 @@ export function TguEditorTab({ selectedSpacecraftId, selectedPlan, appliedRange,
|
||||
() => buildEditorMapScene(selectedSpacecraftId, flightLineData, orbitPasses, stationDtos, requestItems, planModes, effectiveFrom, effectiveTo, surveyRoute),
|
||||
[selectedSpacecraftId, flightLineData, orbitPasses, stationDtos, requestItems, planModes, effectiveFrom, effectiveTo, surveyRoute]
|
||||
);
|
||||
const shootTargets = useMemo(
|
||||
() =>
|
||||
draft.works
|
||||
.filter((w): w is EditorShootWork => w.kind === "shoot" && w.targetLat !== undefined && w.targetLon !== undefined)
|
||||
.map((w) => ({ id: w.id, name: w.label, lat: w.targetLat!, lon: w.targetLon! })),
|
||||
[draft.works]
|
||||
);
|
||||
const contextLanes = useMemo(
|
||||
() =>
|
||||
Array.from(contextSpacecraftIds).map((spacecraftId) => ({
|
||||
@@ -692,19 +684,14 @@ export function TguEditorTab({ selectedSpacecraftId, selectedPlan, appliedRange,
|
||||
layers={EDITOR_MAP_LAYERS}
|
||||
redrawToken={0}
|
||||
pickMode={rightMode === "shoot"}
|
||||
targets={shootTargets}
|
||||
pickTarget={target ?? undefined}
|
||||
selectedTargetId={selectedWork?.kind === "shoot" ? selectedWorkId : undefined}
|
||||
onTargetSelect={(id) => {
|
||||
setSelectedWorkId(id);
|
||||
setRightMode("inspect");
|
||||
setNotice(undefined);
|
||||
}}
|
||||
onPickPoint={(point) => {
|
||||
// Опорная точка прицеливания — всегда одна: каждый клик заменяет
|
||||
// предыдущее перекрестие, цели не накапливаются.
|
||||
targetCounterRef.current += 1;
|
||||
setTarget({
|
||||
id: `target-${targetCounterRef.current}`,
|
||||
name: `Цель ${targetCounterRef.current}`,
|
||||
name: "Опорная точка прицеливания",
|
||||
lat: point.lat,
|
||||
lon: point.lon
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user