fix(map): show simulation pipe ids

This commit is contained in:
2026-07-16 14:50:22 +08:00
parent 209da0d295
commit ef2b045306
4 changed files with 300 additions and 6 deletions
@@ -43,6 +43,7 @@ export interface SchemeItem {
scheme_start_time: string;
scheme_detail?: {
modify_total_duration: number;
burst_ID?: string[] | string;
};
}
@@ -237,7 +238,24 @@ const AnalysisParameters: React.FC<Props> = ({
},
);
onResult(response.data as BurstLocationResult);
const resultPayload = response.data as BurstLocationResult;
const selectedBurstIds = normalizeBurstIds(selectedScheme?.scheme_detail?.burst_ID);
onResult(
selectedBurstIds.length > 0
? {
...resultPayload,
simulation_scheme: {
...resultPayload.simulation_scheme,
name: resultPayload.simulation_scheme?.name ?? selectedScheme?.scheme_name,
type: resultPayload.simulation_scheme?.type ?? selectedScheme?.scheme_type,
burst_ids:
resultPayload.simulation_scheme?.burst_ids?.length
? resultPayload.simulation_scheme.burst_ids
: selectedBurstIds,
},
}
: resultPayload,
);
open?.({
key: "burst-location-analysis-success",
type: "success",
@@ -503,3 +521,11 @@ const AnalysisParameters: React.FC<Props> = ({
};
export default AnalysisParameters;
const normalizeBurstIds = (value: string[] | string | undefined) => {
if (!value) return [];
const values = Array.isArray(value) ? value : [value];
return Array.from(
new Set(values.map((item) => String(item).trim()).filter(Boolean)),
);
};