波形解析相关

This commit is contained in:
2026-04-17 08:10:46 +08:00
parent 649418a51c
commit e4051cf151
6 changed files with 621 additions and 83 deletions

View File

@@ -1,6 +1,11 @@
import http from '@/api'
import type { Waveform } from './interface'
const appendFormDataValue = (formData: FormData, key: string, value: File | string | number | boolean | undefined) => {
if (value === undefined || value === null || value === '') return
formData.append(key, value instanceof File ? value : `${value}`)
}
export const parseComtradeApi = (params: Waveform.ParseComtradeParams) => {
const formData = new FormData()
@@ -11,3 +16,19 @@ export const parseComtradeApi = (params: Waveform.ParseComtradeParams) => {
headers: { 'Content-Type': 'multipart/form-data' }
})
}
export const parseComtradeVectorApi = (params: Waveform.ParseComtradeVectorParams) => {
const formData = new FormData()
appendFormDataValue(formData, 'cfgFile', params.cfgFile)
appendFormDataValue(formData, 'datFile', params.datFile)
appendFormDataValue(formData, 'parseType', params.parseType)
appendFormDataValue(formData, 'ptType', params.ptType)
appendFormDataValue(formData, 'pt', params.pt)
appendFormDataValue(formData, 'ct', params.ct)
appendFormDataValue(formData, 'monitorName', params.monitorName)
return http.post<Waveform.WaveComtradeVectorResultVO>(`/wave/parseComtradeVector`, formData, {
headers: { 'Content-Type': 'multipart/form-data' }
})
}

View File

@@ -13,6 +13,16 @@ export namespace Waveform {
dynamicThreshold?: boolean
}
export interface ParseComtradeVectorParams {
cfgFile: File
datFile: File
parseType?: number
ptType?: number
pt?: number
ct?: number
monitorName?: string
}
export interface WaveTrendData {
max?: number
min?: number
@@ -71,6 +81,62 @@ export namespace Waveform {
durationTime?: number
}
export interface WaveHarmonicDTO {
harmonicOrder?: number
amplitude?: number
rms?: number
rate?: number
}
export interface WavePhaseVectorDTO {
phaseName?: string
totalRms?: number
fundamentalAmplitude?: number
fundamentalRms?: number
fundamentalPhaseAngle?: number
harmonicVoltageContentRates?: WaveHarmonicDTO[]
harmonicCurrentAmplitudes?: WaveHarmonicDTO[]
harmonicDistortionRate?: number
}
export interface WaveSequenceVectorDTO {
sequenceName?: string
amplitude?: number
rms?: number
phaseAngle?: number
}
export interface WaveSequenceUnbalanceDTO {
negativeUnbalanceRate?: number
zeroUnbalanceRate?: number
}
export interface WaveCycleVectorDTO {
cycleIndex?: number
time?: number
phaseVectors?: WavePhaseVectorDTO[]
positiveSequence?: WaveSequenceVectorDTO
negativeSequence?: WaveSequenceVectorDTO
zeroSequence?: WaveSequenceVectorDTO
unbalance?: WaveSequenceUnbalanceDTO
}
export interface WaveVectorGroupDTO {
channelName?: string
unit?: string
phaseCount?: number
phaseNames?: string[]
vectorSeries?: WaveCycleVectorDTO[]
}
export interface WaveComtradeVectorResultVO {
monitorName?: string
time?: string
samplePerCycle?: number
cycleCount?: number
vectorGroups?: WaveVectorGroupDTO[]
}
export interface WaveComtradeResultVO {
waveData?: WaveDataDTO
waveDataDetails?: WaveDataDetail[]