| | |
| | | .filter((item: any) => visibleFenceIdSet.value.has(String(item.electronicId))) |
| | | .map((item: any) => ({ |
| | | id: String(item.id || item.electronicId), |
| | | electronicId: item.electronicId, |
| | | areaName: item.areaName || item.electronicName || "运营区", |
| | | points: parseFencePoints(item.fencePoints), |
| | | effectType: item.effectType, |
| | | effectTime: item.effectTime, |
| | | failureType: item.failureType, |
| | | failureTime: item.failureTime, |
| | | fenceEffectType: item.fenceEffectType, |
| | | fenceEffectTime: item.fenceEffectTime, |
| | | fenceFailureType: item.fenceFailureType, |
| | | fenceFailureTime: item.fenceFailureTime, |
| | | })) |
| | | .filter((item) => item.points.length >= 3); |
| | | } |
| | |
| | | const stationLifecycleCache = ref<Record<string, Record<string, any> | null>>({}); |
| | | const stationOperationLifecycleFallback = ref<Record<string, any> | null>(null); |
| | | const stationOperationArea = computed(() => resolveStationOperationArea()); |
| | | |
| | | function resolveStationOperationFenceId(source?: Record<string, any> | null) { |
| | | if (!source) return ""; |
| | | const fenceId |
| | | = source.electronicId |
| | | ?? source.electronicFenceId |
| | | ?? source.fenceId |
| | | ?? source.raw?.electronicId |
| | | ?? source.raw?.electronicFenceId |
| | | ?? source.raw?.fenceId; |
| | | return fenceId !== undefined && fenceId !== null ? String(fenceId) : ""; |
| | | } |
| | | |
| | | const stationOperationFenceId = computed(() => |
| | | String(stationOperationArea.value?.electronicId || "") |
| | | resolveStationOperationFenceId(stationOperationArea.value) |
| | | ); |
| | | |
| | | async function ensureStationOperationLifecycleFallback() { |
| | |
| | | } |
| | | const operationArea = stationOperationArea.value; |
| | | const inlineLifecycle = normalizeStationLifecycleSource(operationArea); |
| | | if (inlineLifecycle) { |
| | | const fenceId = stationOperationFenceId.value; |
| | | if (!fenceId) { |
| | | stationOperationLifecycleFallback.value = inlineLifecycle; |
| | | return; |
| | | } |
| | | const fenceId = stationOperationFenceId.value; |
| | | if (!fenceId) { |
| | | stationOperationLifecycleFallback.value = null; |
| | | return; |
| | | } |
| | | if (Object.prototype.hasOwnProperty.call(stationLifecycleCache.value, fenceId)) { |
| | | stationOperationLifecycleFallback.value = stationLifecycleCache.value[fenceId]; |
| | | stationOperationLifecycleFallback.value |
| | | = stationLifecycleCache.value[fenceId] || inlineLifecycle; |
| | | return; |
| | | } |
| | | try { |
| | |
| | | [fenceId]: lifecycle, |
| | | }; |
| | | if (stationOperationFenceId.value === fenceId) |
| | | stationOperationLifecycleFallback.value = lifecycle; |
| | | stationOperationLifecycleFallback.value = lifecycle || inlineLifecycle; |
| | | } catch (error) { |
| | | console.error("加载场站所属围栏生命周期失败:", error); |
| | | stationLifecycleCache.value = { |
| | |
| | | [fenceId]: null, |
| | | }; |
| | | if (stationOperationFenceId.value === fenceId) |
| | | stationOperationLifecycleFallback.value = null; |
| | | stationOperationLifecycleFallback.value = inlineLifecycle; |
| | | } |
| | | } |
| | | |