refactor(frontend): align TJWater Next integrations

This commit is contained in:
2026-08-26 12:26:29 +08:00
parent 6623f4f7fb
commit fee4fc6ce1
51 changed files with 3074 additions and 22280 deletions
@@ -24,9 +24,8 @@ import { LocalizationProvider } from "@mui/x-date-pickers/LocalizationProvider";
import { AdapterDayjs } from "@mui/x-date-pickers/AdapterDayjs";
import "dayjs/locale/zh-cn"; // 引入中文包
import dayjs, { Dayjs } from "dayjs";
import { api } from "@/lib/api";
import moment from "moment";
import { config, NETWORK_NAME } from "@config/config";
import { NETWORK_NAME } from "@config/config";
import { useNotification } from "@refinedev/core";
import { useMap } from "@components/olmap/core/MapComponent";
import { queryFeaturesByIds } from "@/utils/mapQueryService";
@@ -40,22 +39,13 @@ import { bbox, featureCollection } from "@turf/turf";
import type { SchemeRecord } from "./types";
import { useSchemeCreatorName } from "@components/olmap/core/useSchemeCreatorName";
import { SchemeQueryEmptyState } from "@components/olmap/common/PanelEmptyState";
interface SchemaItem {
id: number;
scheme_name: string;
sensor_number: number;
min_diameter: number;
username: string;
create_time: string;
sensor_location?: string[];
}
import { listSensorPlacementSchemes } from "./schemeApi";
interface SchemeQueryProps {
schemes?: SchemeRecord[];
active?: boolean;
onSchemesChange?: (schemes: SchemeRecord[]) => void;
onEdit?: (id: number) => void;
onEdit?: (id: string) => void;
network?: string;
state?: MonitoringSchemeQueryState;
onStateChange?: (state: MonitoringSchemeQueryState) => void;
@@ -64,7 +54,7 @@ interface SchemeQueryProps {
export interface MonitoringSchemeQueryState {
queryAll: boolean;
queryDate: Dayjs | null;
expandedId: number | null;
expandedId: string | null;
hasQueried: boolean;
}
@@ -185,22 +175,18 @@ const SchemeQuery: React.FC<SchemeQueryProps> = ({
setLoading(true);
try {
const response = await api.get(
`${config.BACKEND_URL}/api/v1/sensor-placement-schemes`,
);
let filteredResults = response.data;
let filteredResults = await listSensorPlacementSchemes();
// 按日期过滤
if (!queryAll && queryDate) {
const formattedDate = queryDate.format("YYYY-MM-DD");
filteredResults = filteredResults.filter((item: SchemaItem) => {
filteredResults = filteredResults.filter((item) => {
const itemDate = moment(item.create_time).format("YYYY-MM-DD");
return itemDate === formattedDate;
});
}
const nextSchemes = filteredResults.map((item: SchemaItem) => ({
const nextSchemes = filteredResults.map((item) => ({
id: item.id,
schemeName: item.scheme_name,
sensorNumber: item.sensor_number,
@@ -250,7 +236,7 @@ const SchemeQuery: React.FC<SchemeQueryProps> = ({
}
if (sensorIds.length > 0) {
queryFeaturesByIds(sensorIds, "geo_junctions_mat").then((features) => {
queryFeaturesByIds(sensorIds, "junctions").then((features) => {
if (features.length > 0) {
// 设置高亮要素
setHighlightFeatures(features);
@@ -271,7 +257,7 @@ const SchemeQuery: React.FC<SchemeQueryProps> = ({
};
// 查看详情(展开/收起)
const handleViewDetails = (id: number) => {
const handleViewDetails = (id: string) => {
setQueryField("expandedId", expandedId === id ? null : id);
};