新建监控功能

This commit is contained in:
2026-04-23 11:09:06 +08:00
parent 7dee9092dc
commit 287de846a6
28 changed files with 6263 additions and 703 deletions

View File

@@ -33,7 +33,6 @@
<WaveformInfoPanel
:has-parsed-waveform="hasParsedWaveform"
:summary-items="summaryItems"
:feature-cards="featureCards"
:vector-parse-result="vectorParseResult"
:last-parse-error-message="lastParseErrorMessage"
:last-vector-parse-error-message="lastVectorParseErrorMessage"
@@ -54,7 +53,6 @@ import WaveformToolbar from './components/WaveformToolbar.vue'
import WaveformTrendPanel from './components/WaveformTrendPanel.vue'
import type {
DisplayMode,
FeatureCardItem,
LabelValueOption,
SingleChannelTrendOption,
SummaryItem,
@@ -218,7 +216,6 @@ const activeWaveDetail = computed(() => {
})
const activeWaveData = computed(() => waveformParseResult.value?.waveData)
const eigenvalueList = computed(() => waveformParseResult.value?.eigenvalues || [])
const normalizeRatio = (value?: number) => {
const ratio = Number(value)
@@ -251,18 +248,6 @@ const formatNumber = (value: unknown, fractionDigits = 3) => {
return `${Number(numberValue.toFixed(fractionDigits))}`
}
const formatPercentage = (value?: number) => {
const numberValue = Number(value)
if (!Number.isFinite(numberValue)) return '--'
return `${Number((numberValue * 100).toFixed(2))}%`
}
const formatDuration = (value?: number) => {
const numberValue = Number(value)
if (!Number.isFinite(numberValue)) return '--'
return `${Number(numberValue.toFixed(3))} ms`
}
const formatWaveformTime = (value?: string) => {
if (!value) return '--'
@@ -546,18 +531,6 @@ const summaryItems = computed<SummaryItem[]>(() => {
]
})
const featureCards = computed<FeatureCardItem[]>(() => {
return eigenvalueList.value.map((item, index) => ({
title: `特征值 ${index + 1}`,
rows: [
{ label: '幅值占比', value: formatPercentage(item.amplitude) },
{ label: '残余电压', value: formatNumber(item.residualVoltage) },
{ label: '额定电压', value: formatNumber(item.ratedVoltage) },
{ label: '持续时间', value: formatDuration(item.durationTime) }
]
}))
})
const getFileBaseName = (fileName: string) => {
return fileName.replace(/\.[^.]+$/, '').toLowerCase()
}