移除正常时间参数,简化分析参数逻辑

This commit is contained in:
JIANG
2026-03-07 14:25:31 +08:00
parent 2f24ab5d66
commit 6b68b7d081
2 changed files with 4 additions and 61 deletions
@@ -1,6 +1,6 @@
"use client"; "use client";
import React, { useCallback, useEffect, useMemo, useState } from "react"; import React, { useCallback, useMemo, useState } from "react";
import ExpandMoreIcon from "@mui/icons-material/ExpandMore"; import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
import RefreshIcon from "@mui/icons-material/Refresh"; import RefreshIcon from "@mui/icons-material/Refresh";
import { import {
@@ -59,12 +59,6 @@ const AnalysisParameters: React.FC<Props> = ({ onResult }) => {
const [burstEndTime, setBurstEndTime] = useState<Dayjs | null>( const [burstEndTime, setBurstEndTime] = useState<Dayjs | null>(
dayjs().subtract(5, "minute"), dayjs().subtract(5, "minute"),
); );
const [normalStartTime, setNormalStartTime] = useState<Dayjs | null>(
dayjs().subtract(2, "hour"),
);
const [normalEndTime, setNormalEndTime] = useState<Dayjs | null>(
dayjs().subtract(90, "minute"),
);
const [minDpressure, setMinDpressure] = useState<number>(2); const [minDpressure, setMinDpressure] = useState<number>(2);
const [basicPressure, setBasicPressure] = useState<number>(10); const [basicPressure, setBasicPressure] = useState<number>(10);
const [advancedOpen, setAdvancedOpen] = useState(false); const [advancedOpen, setAdvancedOpen] = useState(false);
@@ -78,16 +72,8 @@ const AnalysisParameters: React.FC<Props> = ({ onResult }) => {
setBurstStartTime(start); setBurstStartTime(start);
setBurstEndTime(end); setBurstEndTime(end);
setNormalStartTime(start);
setNormalEndTime(end);
}, []); }, []);
useEffect(() => {
if (!isSimulationMode) return;
setNormalStartTime(burstStartTime);
setNormalEndTime(burstEndTime);
}, [burstEndTime, burstStartTime, isSimulationMode]);
const fetchSchemes = useCallback( const fetchSchemes = useCallback(
async ({ force = false, notify = false }: { force?: boolean; notify?: boolean } = {}) => { async ({ force = false, notify = false }: { force?: boolean; notify?: boolean } = {}) => {
if (schemeLoading || (!force && schemes.length > 0)) return; if (schemeLoading || (!force && schemes.length > 0)) return;
@@ -152,35 +138,24 @@ const AnalysisParameters: React.FC<Props> = ({ onResult }) => {
const isValid = useMemo(() => { const isValid = useMemo(() => {
if (!Number.isFinite(burstLeakage) || burstLeakage <= 0) return false; if (!Number.isFinite(burstLeakage) || burstLeakage <= 0) return false;
if (!burstStartTime || !burstEndTime || !normalStartTime || !normalEndTime) { if (!burstStartTime || !burstEndTime) {
return false; return false;
} }
if (dataSource === "simulation" && !selectedSchemeId) { if (dataSource === "simulation" && !selectedSchemeId) {
return false; return false;
} }
return ( return burstStartTime.isBefore(burstEndTime);
burstStartTime.isBefore(burstEndTime) &&
normalStartTime.isBefore(normalEndTime)
);
}, [ }, [
burstLeakage, burstLeakage,
burstStartTime, burstStartTime,
burstEndTime, burstEndTime,
normalStartTime,
normalEndTime,
dataSource, dataSource,
selectedSchemeId, selectedSchemeId,
]); ]);
const handleRun = async () => { const handleRun = async () => {
if ( if (!isValid || !burstStartTime || !burstEndTime) {
!isValid ||
!burstStartTime ||
!burstEndTime ||
!normalStartTime ||
!normalEndTime
) {
open?.({ type: "error", message: "请完善参数并确认时间范围合法" }); open?.({ type: "error", message: "请完善参数并确认时间范围合法" });
return; return;
} }
@@ -210,8 +185,6 @@ const AnalysisParameters: React.FC<Props> = ({ onResult }) => {
basic_pressure: basicPressure, basic_pressure: basicPressure,
scada_burst_start: burstStartTime.toISOString(), scada_burst_start: burstStartTime.toISOString(),
scada_burst_end: burstEndTime.toISOString(), scada_burst_end: burstEndTime.toISOString(),
scada_normal_start: normalStartTime.toISOString(),
scada_normal_end: normalEndTime.toISOString(),
use_scada_flow: enableFlow || undefined, use_scada_flow: enableFlow || undefined,
simulation_scheme_name: selectedScheme?.scheme_name, simulation_scheme_name: selectedScheme?.scheme_name,
simulation_scheme_type: selectedScheme?.scheme_type, simulation_scheme_type: selectedScheme?.scheme_type,
@@ -347,32 +320,6 @@ const AnalysisParameters: React.FC<Props> = ({ onResult }) => {
slotProps={{ textField: { size: "small", fullWidth: true } }} slotProps={{ textField: { size: "small", fullWidth: true } }}
/> />
</Box> </Box>
<Box>
<Typography variant="subtitle2" className="mb-1 font-medium">
</Typography>
<DateTimePicker
value={normalStartTime}
onChange={setNormalStartTime}
maxDateTime={normalEndTime ?? undefined}
disabled={isSimulationMode}
format="YYYY-MM-DD HH:mm"
slotProps={{ textField: { size: "small", fullWidth: true } }}
/>
</Box>
<Box>
<Typography variant="subtitle2" className="mb-1 font-medium">
</Typography>
<DateTimePicker
value={normalEndTime}
onChange={setNormalEndTime}
minDateTime={normalStartTime ?? undefined}
disabled={isSimulationMode}
format="YYYY-MM-DD HH:mm"
slotProps={{ textField: { size: "small", fullWidth: true } }}
/>
</Box>
</Box> </Box>
</LocalizationProvider> </LocalizationProvider>
@@ -23,8 +23,6 @@ export interface BurstLocationResult {
scada_window?: { scada_window?: {
burst_start?: string; burst_start?: string;
burst_end?: string; burst_end?: string;
normal_start?: string;
normal_end?: string;
}; };
pressure_samples?: { pressure_samples?: {
burst?: number; burst?: number;
@@ -53,8 +51,6 @@ export interface BurstLocationSchemeDetail {
scada_window?: { scada_window?: {
burst_start?: string; burst_start?: string;
burst_end?: string; burst_end?: string;
normal_start?: string;
normal_end?: string;
}; };
result_summary?: { result_summary?: {
located_pipe?: string; located_pipe?: string;