feat(tgu-ops-ui): display request polygons on 2D map
Добавлен слой заявок (КНС) на 2D карту ТГУ: - requestApi.ts — загрузка заявок постранично через GET /v1/requests/map с прогресс-коллбэком; автоматически собирает все страницы - wktParser.ts — парсинг WKT POLYGON/MULTIPOLYGON в массив координат - drawRequests.ts — Canvas-рендеринг полигонов заявок - Tgu2DMapLayers.ts — buildTgu2DMapScene строит MapPolygon[] из RequestMapItem[] - Tgu2DMapTab.tsx — состояние requestsState, кнопка «Загрузить», фильтры по дате - Tgu2DMapSidebar.tsx — панель слоя заявок: счётчик, ошибки, truncated-предупреждение - requestTypes.ts — RequestMapItem, RequestMapPage модели - Поддержка выбора заявки на карте (mapSelectionTypes, mapTypes) - nginx.conf, vite.config.ts — проксирование /v1 на pcp-request-service в dev Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
export type RequestStatus = "ACCEPTED" | "ACTIVE" | "COMPLETED" | "EXPIRED" | "DELETED";
|
||||
export type SurveyType = "OPTICS" | "RSA" | "COMBINED";
|
||||
|
||||
export type RequestSummary = {
|
||||
id: string;
|
||||
name: string;
|
||||
status: RequestStatus;
|
||||
surveyType: SurveyType;
|
||||
importance: number;
|
||||
beginDateTime: string;
|
||||
endDateTime: string;
|
||||
kpp?: number[];
|
||||
highPriorityTransmit: boolean;
|
||||
coveragePercent: number;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
};
|
||||
|
||||
export type RequestDetail = {
|
||||
id: string;
|
||||
name: string;
|
||||
status: RequestStatus;
|
||||
surveyType: SurveyType;
|
||||
geometry: string;
|
||||
importance: number;
|
||||
beginDateTime: string;
|
||||
endDateTime: string;
|
||||
kpp?: number[];
|
||||
highPriorityTransmit: boolean;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
};
|
||||
|
||||
export type RequestListResponse = {
|
||||
items: RequestSummary[];
|
||||
page: number;
|
||||
size: number;
|
||||
totalItems: number;
|
||||
totalPages: number;
|
||||
};
|
||||
|
||||
export type RequestFilter = {
|
||||
beginFrom?: string;
|
||||
beginTo?: string;
|
||||
endFrom?: string;
|
||||
endTo?: string;
|
||||
status?: RequestStatus;
|
||||
surveyType?: SurveyType;
|
||||
};
|
||||
|
||||
export type RequestMapItem = {
|
||||
id: string;
|
||||
name: string;
|
||||
status: RequestStatus;
|
||||
surveyType: SurveyType;
|
||||
geometry: string;
|
||||
importance: number;
|
||||
beginDateTime: string;
|
||||
endDateTime: string;
|
||||
kpp?: number[];
|
||||
highPriorityTransmit: boolean;
|
||||
coveragePercent: number;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
};
|
||||
Reference in New Issue
Block a user