pcp-tgu: связь планов на таймлайне по basePlanId вместо стрелок/нумерации по времени
Стрелки и бейджи-цифры цепочки строились по ВРЕМЕНИ (соседние по времени планы КА) и ложно сцепляли два черновика с одной предысторией как «один — предок другого». Убираем эту логику целиком (buildSequentialLinks, buildPlanChains, CHAIN_COLORS/chainColor, тип TimelineLink) и показываем связь только по реальному basePlanId: - В деталях плана — строка basePlanId (рендерится, если задан). - При выборе плана на таймлайне подсвечиваем гало два соседних звена по basePlanId: предыдущий (planId == basePlanId выбранного) — тёплый янтарь, следующий (basePlanId == выбранный) — бирюза. Следующих может быть несколько (черновики с одной предысторией) — подсвечиваются все. Бэкенд: basePlanId/projected проброшены через PlanResponse (pcp-tgu-service) и TguPlanResponse (pcp-ui-service — прокси /api/tgu-planning/plans, иначе Jackson срезал бы неизвестные поля). Требует рестарт обоих сервисов. Заодно: очистка нотиса деталей при смене фокуса (план/ЗРВ) и блок «Включения» (счётчики съёмок/сбросов) в правой панели.
This commit is contained in:
@@ -16,6 +16,13 @@ export type TguPlan = {
|
||||
endTime: string;
|
||||
kppId: string;
|
||||
status: TguPlanStatus;
|
||||
/**
|
||||
* Предшественник плана в цепочке. `null`/отсутствует — у плана нет предыстории (старт новой
|
||||
* цепочки «без истории» или самый первый план): на таймлайне в него не ведут стрелку.
|
||||
*/
|
||||
basePlanId?: string | null;
|
||||
/** `true` — вычисленная проекция будущего (не persisted); цепочку продолжает, но стартом не является. */
|
||||
projected?: boolean;
|
||||
};
|
||||
|
||||
export type TguPlatform = {
|
||||
|
||||
@@ -54,12 +54,6 @@ export type TimelineRowLayout = {
|
||||
zrvBandY: number;
|
||||
};
|
||||
|
||||
export type TimelineLink = {
|
||||
spacecraftId: string;
|
||||
fromPlanId: string;
|
||||
toPlanId: string;
|
||||
};
|
||||
|
||||
export type TimelineStatusStyle = {
|
||||
status: TguPlanStatus;
|
||||
label: string;
|
||||
|
||||
Reference in New Issue
Block a user