From 649418a51c1e3712289c6f2a5b2a3ba238c8394e Mon Sep 17 00:00:00 2001 From: yexb <553699424@qq.com> Date: Thu, 16 Apr 2026 20:20:52 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=A2=E5=BD=A2=E8=A7=A3=E6=9E=90=E7=9B=B8?= =?UTF-8?q?=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AGENTS.md | 3 + PARSE_COMTRADE_VECTOR_API.md | 212 +++++++ frontend/src/views/tools/mmsMapping/.gitkeep | 1 + .../tools/waveform/PARSE_COMTRADE_API.md | 266 ++++++++ .../waveform/components/WaveformInfoPanel.vue | 183 ++++++ .../waveform/components/WaveformToolbar.vue | 215 +++++++ .../components/WaveformTrendPanel.vue | 181 ++++++ .../views/tools/waveform/components/types.ts | 33 + frontend/src/views/tools/waveform/index.vue | 579 ++++-------------- 9 files changed, 1213 insertions(+), 460 deletions(-) create mode 100644 PARSE_COMTRADE_VECTOR_API.md create mode 100644 frontend/src/views/tools/mmsMapping/.gitkeep create mode 100644 frontend/src/views/tools/waveform/PARSE_COMTRADE_API.md create mode 100644 frontend/src/views/tools/waveform/components/WaveformInfoPanel.vue create mode 100644 frontend/src/views/tools/waveform/components/WaveformToolbar.vue create mode 100644 frontend/src/views/tools/waveform/components/WaveformTrendPanel.vue create mode 100644 frontend/src/views/tools/waveform/components/types.ts diff --git a/AGENTS.md b/AGENTS.md index 9e13f2a..68b4727 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -8,6 +8,7 @@ - 先整理执行方案,说明目标、涉及模块、预计修改点和验证方式,待用户评审确认后再执行。 - 不要想当然;如果需求存在歧义、前提不清或有多种实现路径,先说清假设与取舍,再继续。 - 默认先确认任务是否位于 `frontend/src/`,再按 `views/`、`components/`、`api/`、`stores/`、`routers/`、`hooks/` 的调用关系向下分析;只有涉及桌面壳层或启动问题时,再继续查看 `electron/`、`scripts/`、`build/`、`public/`。 +- 当 `views/**/index.vue` 内容过大时,优先按功能块抽到当前功能目录下的 `components/`,页面入口只保留编排、状态组织和事件分发,不把大段展示结构继续堆在 `index.vue`。 - 涉及 preload 桥接、主进程配置、自动更新、窗口生命周期、端口检测或打包启动链路时,先核对已有实现和 `doc/` 中的说明,避免只看局部代码就下结论。 - 回复风格保持简洁、直接,优先给出可执行结果;如果存在限制、风险或未验证部分,需要明确说明。 @@ -57,3 +58,5 @@ PR 应包含: ## 安全与配置提示 `public/ssl/`、`build/extraResources/` 与 `electron/config/` 包含敏感运行资源。不要硬编码新的密钥或口令;凡是影响打包或启动的本地 `.env`、端口或运行配置调整,都应同步记录到 `doc/`。 + + diff --git a/PARSE_COMTRADE_VECTOR_API.md b/PARSE_COMTRADE_VECTOR_API.md new file mode 100644 index 0000000..aa19f6a --- /dev/null +++ b/PARSE_COMTRADE_VECTOR_API.md @@ -0,0 +1,212 @@ +# parseComtradeVector API 文档 + +## 1. 接口概述 + +- 接口名称:解析 COMTRADE 向量与电能质量指标 +- Controller:[WaveController.java](D:/Work/SourceCode/CN_Tool/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/controller/WaveController.java) +- 方法:`parseComtradeVector` +- 请求路径:`POST /wave/parseComtradeVector` +- Content-Type:`multipart/form-data` +- 返回类型:`HttpResult` + +用途说明: + +- 上传一组 COMTRADE `cfg/dat` 文件 +- 按原始波形逐周波计算电能质量指标 +- 返回总有效值、基波相角、谐波指标、序分量与不平衡度 + +## 2. 请求参数 + +### 2.1 文件参数 + +| 参数名 | 类型 | 必填 | 说明 | +| --- | --- | --- | --- | +| `cfgFile` | file | 是 | COMTRADE 配置文件 `.cfg` | +| `datFile` | file | 是 | COMTRADE 数据文件 `.dat` | + +### 2.2 表单参数 + +参数定义来源:[WaveComtradeParseParam.java](D:/Work/SourceCode/CN_Tool/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/pojo/param/WaveComtradeParseParam.java) + +| 参数名 | 类型 | 必填 | 默认值 | 说明 | +| --- | --- | --- | --- | --- | +| `parseType` | integer | 否 | `3` | 本接口内部固定按原始波形口径计算,建议传 `3` | +| `ptType` | integer | 否 | `0` | PT 接线方式:`0` 星形,`1` 三角,`2` 开口三角 | +| `pt` | number | 否 | `1` | PT 变比,电压结果按 `pt/1000` 换算为 `kV` | +| `ct` | number | 否 | `1` | CT 变比,电流结果按 `ct` 换算为 `A` | +| `monitorName` | string | 否 | `未命名测点` | 测点名称 | + +## 3. 调试请求示例 + +### 3.1 curl + +```bash +curl -X POST "http://localhost:8080/wave/parseComtradeVector" \ + -F "cfgFile=@D:/00-B7-8D-00-E4-09/1_20260321_201458_748.CFG" \ + -F "datFile=@D:/00-B7-8D-00-E4-09/1_20260321_201458_748.DAT" \ + -F "parseType=3" \ + -F "ptType=0" \ + -F "pt=1" \ + -F "ct=1" \ + -F "monitorName=监测点1" +``` + +### 3.2 Apifox / Postman + +- Method:`POST` +- URL:`http://localhost:8080/wave/parseComtradeVector` +- Body:`form-data` + +| Key | Type | 示例值 | +| --- | --- | --- | +| `cfgFile` | File | 选择 `.cfg` 文件 | +| `datFile` | File | 选择 `.dat` 文件 | +| `parseType` | Text | `3` | +| `ptType` | Text | `0` | +| `pt` | Text | `1` | +| `ct` | Text | `1` | +| `monitorName` | Text | `监测点1` | + +## 4. 响应结构 + +### 4.1 data 字段 + +定义来源:[WaveComtradeVectorResultVO.java](D:/Work/SourceCode/CN_Tool/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/pojo/vo/WaveComtradeVectorResultVO.java) + +| 字段名 | 类型 | 说明 | +| --- | --- | --- | +| `monitorName` | string | 测点名称 | +| `time` | string | 事件发生时刻 | +| `samplePerCycle` | integer | 每周波采样点数 | +| `cycleCount` | integer | 可计算周波数 | +| `vectorGroups` | array | 各电压/电流组的逐周波电能质量结果 | + +### 4.2 vectorGroups + +定义来源:[WaveVectorGroupDTO.java](D:/Work/SourceCode/CN_Tool/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/pojo/dto/WaveVectorGroupDTO.java) + +| 字段名 | 类型 | 说明 | +| --- | --- | --- | +| `channelName` | string | 通道名称,例如 `U1`、`I1` | +| `unit` | string | 单位,电压组为 `kV`,电流组为 `A` | +| `phaseCount` | integer | 相别数量 | +| `phaseNames` | array | 相别名称列表,例如 `A相/B相/C相` | +| `vectorSeries` | array | 当前组的逐周波结果序列 | + +### 4.3 vectorSeries + +定义来源:[WaveCycleVectorDTO.java](D:/Work/SourceCode/CN_Tool/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/pojo/dto/WaveCycleVectorDTO.java) + +| 字段名 | 类型 | 说明 | +| --- | --- | --- | +| `cycleIndex` | integer | 周波序号,从 `0` 开始 | +| `time` | number | 当前周波中点时刻,单位毫秒 | +| `phaseVectors` | array | 各相结果 | +| `positiveSequence` | object | 正序分量 | +| `negativeSequence` | object | 负序分量 | +| `zeroSequence` | object | 零序分量 | +| `unbalance` | object | 负序/零序不平衡度 | + +### 4.4 phaseVectors + +定义来源:[WavePhaseVectorDTO.java](D:/Work/SourceCode/CN_Tool/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/pojo/dto/WavePhaseVectorDTO.java) + +| 字段名 | 类型 | 说明 | +| --- | --- | --- | +| `phaseName` | string | 相别名称 | +| `totalRms` | number | 电压/电流总有效值 | +| `fundamentalAmplitude` | number | 基波幅值 | +| `fundamentalRms` | number | 基波有效值 | +| `fundamentalPhaseAngle` | number | 基波相角,单位度 | +| `harmonicVoltageContentRates` | array | 仅电压组返回,2~50 次谐波电压含有率 | +| `harmonicCurrentAmplitudes` | array | 仅电流组返回,2~50 次谐波电流幅值 | +| `harmonicDistortionRate` | number | 谐波畸变率,百分比 | + +### 4.5 谐波对象 + +定义来源:[WaveHarmonicDTO.java](D:/Work/SourceCode/CN_Tool/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/pojo/dto/WaveHarmonicDTO.java) + +| 字段名 | 类型 | 说明 | +| --- | --- | --- | +| `harmonicOrder` | integer | 谐波次数,当前范围 `2~50` | +| `amplitude` | number | 谐波幅值 | +| `rms` | number | 谐波有效值 | +| `rate` | number | 谐波占基波比率,百分比,仅电压组使用 | + +### 4.6 序分量与不平衡度 + +定义来源: +- [WaveSequenceVectorDTO.java](D:/Work/SourceCode/CN_Tool/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/pojo/dto/WaveSequenceVectorDTO.java) +- [WaveSequenceUnbalanceDTO.java](D:/Work/SourceCode/CN_Tool/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/pojo/dto/WaveSequenceUnbalanceDTO.java) + +| 字段名 | 类型 | 说明 | +| --- | --- | --- | +| `sequenceName` | string | 序分量名称 | +| `amplitude` | number | 序分量幅值 | +| `rms` | number | 序分量有效值 | +| `phaseAngle` | number | 序分量相角 | +| `negativeUnbalanceRate` | number | 负序不平衡度,`负序/正序 * 100%` | +| `zeroUnbalanceRate` | number | 零序不平衡度,`零序/正序 * 100%` | + +## 5. 成功响应示例 + +```json +{ + "code": "SUCCESS", + "message": "成功", + "data": { + "monitorName": "监测点1", + "time": "2026-03-21 20:14:58.748", + "samplePerCycle": 512, + "cycleCount": 30, + "vectorGroups": [ + { + "channelName": "U1", + "unit": "kV", + "phaseCount": 3, + "phaseNames": ["A相", "B相", "C相"], + "vectorSeries": [ + { + "cycleIndex": 0, + "time": -90.0, + "phaseVectors": [ + { + "phaseName": "A相", + "totalRms": 104.9367, + "fundamentalAmplitude": 148.4032, + "fundamentalRms": 104.9367, + "fundamentalPhaseAngle": 1.3258, + "harmonicVoltageContentRates": [ + { "harmonicOrder": 2, "amplitude": 0.4213, "rms": 0.2979, "rate": 0.2839 }, + { "harmonicOrder": 3, "amplitude": 0.3187, "rms": 0.2254, "rate": 0.2147 } + ], + "harmonicDistortionRate": 1.1284 + } + ], + "positiveSequence": { "sequenceName": "正序", "amplitude": 148.1021, "rms": 104.7238, "phaseAngle": 0.9864 }, + "negativeSequence": { "sequenceName": "负序", "amplitude": 0.8632, "rms": 0.6104, "phaseAngle": -117.6241 }, + "zeroSequence": { "sequenceName": "零序", "amplitude": 0.2261, "rms": 0.1599, "phaseAngle": 86.3174 }, + "unbalance": { "negativeUnbalanceRate": 0.5828, "zeroUnbalanceRate": 0.1527 } + } + ] + } + ] + } +} +``` + +## 6. 失败场景 + +| 场景 | 说明 | +| --- | --- | +| `cfgFile` 或 `datFile` 未上传 | 返回业务异常,提示“cfg 或 dat 文件不能为空” | +| CFG 文件格式错误 | 返回 CFG 解析失败 | +| DAT 文件为空或格式错误 | 返回 DAT 解析失败 | +| 采样点不足一个周波 | 返回波形文件数据缺失或向量计算失败 | +| COMTRADE 向量计算过程中出现异常 | 返回“COMTRADE 向量计算失败” | + +## 7. 备注 + +- 当前接口固定按原始波形口径计算,不依赖 `parseComtrade` 的 RMS 或特征值开关。 +- 当前谐波范围默认计算 `2~50` 次。 +- 如果单周波采样点数过低,高次谐波指标会受分辨率限制。 diff --git a/frontend/src/views/tools/mmsMapping/.gitkeep b/frontend/src/views/tools/mmsMapping/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/frontend/src/views/tools/mmsMapping/.gitkeep @@ -0,0 +1 @@ + diff --git a/frontend/src/views/tools/waveform/PARSE_COMTRADE_API.md b/frontend/src/views/tools/waveform/PARSE_COMTRADE_API.md new file mode 100644 index 0000000..920b321 --- /dev/null +++ b/frontend/src/views/tools/waveform/PARSE_COMTRADE_API.md @@ -0,0 +1,266 @@ +# parseComtrade API 文档 + +## 1. 接口概述 + +- 接口名称:解析 COMTRADE 波形文件 +- Controller:[WaveController.java](D:/Work/SourceCode/CN_Tool/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/controller/WaveController.java) +- 方法:`parseComtrade` +- 请求路径:`POST /wave/parseComtrade` +- Content-Type:`multipart/form-data` +- 返回类型:`HttpResult` + +用途说明: + +- 上传一组 COMTRADE `cfg/dat` 文件 +- 解析原始波形数据 +- 按请求决定是否补充 RMS 数据、前端查看明细和特征值结果 + +## 2. 请求参数 + +### 2.1 文件参数 + +| 参数名 | 类型 | 必填 | 说明 | +| --- | --- | --- | --- | +| `cfgFile` | file | 是 | COMTRADE 配置文件 `.cfg` | +| `datFile` | file | 是 | COMTRADE 数据文件 `.dat` | + +### 2.2 表单参数 + +参数定义来源:[WaveComtradeParseParam.java](D:/Work/SourceCode/CN_Tool/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/pojo/param/WaveComtradeParseParam.java) + +| 参数名 | 类型 | 必填 | 默认值 | 说明 | +| --- | --- | --- | --- | --- | +| `parseType` | integer | 否 | `1` | 解析类型:`0` 高级算法采样率 32-128,`1` 普通展示,`2` App 抽点,`3` 原始波形 | +| `ptType` | integer | 否 | `0` | PT 接线方式:`0` 星形,`1` 三角,`2` 开口三角 | +| `pt` | number | 否 | `1` | PT 变比 | +| `ct` | number | 否 | `1` | CT 变比 | +| `monitorName` | string | 否 | `未命名测点` | 测点名称 | +| `calculateRms` | boolean | 否 | `true` | 是否计算 RMS | +| `buildDetails` | boolean | 否 | `true` | 是否构建前端查看明细 | +| `calculateEigenvalue` | boolean | 否 | `false` | 是否计算特征值 | +| `dynamicThreshold` | boolean | 否 | `true` | 特征值是否使用浮动门槛 | + +## 3. 请求示例 + +```bash +curl -X POST "http://localhost:8080/wave/parseComtrade" \ + -F "cfgFile=@D:/00-B7-8D-00-E4-09/1_20260321_201458_748.CFG" \ + -F "datFile=@D:/00-B7-8D-00-E4-09/1_20260321_201458_748.DAT" \ + -F "parseType=1" \ + -F "ptType=0" \ + -F "pt=1" \ + -F "ct=1" \ + -F "monitorName=监测点1" \ + -F "calculateRms=true" \ + -F "buildDetails=true" \ + -F "calculateEigenvalue=true" \ + -F "dynamicThreshold=true" +``` + +## 4. 响应结构 + +### 4.1 外层响应 + +Controller 返回的是 `HttpResult`。当前仓库内未展开 `HttpResult` 类型源码,本接口文档只对业务 `data` 部分做精确定义。 + +业务数据类型来源:[WaveComtradeResultVO.java](D:/Work/SourceCode/CN_Tool/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/pojo/vo/WaveComtradeResultVO.java) + +### 4.2 data 字段定义 + +| 字段名 | 类型 | 说明 | +| --- | --- | --- | +| `waveData` | object | 波形基础数据 | +| `waveDataDetails` | array | 前端查看明细,`buildDetails=true` 时返回 | +| `eigenvalues` | array | 特征值结果,`calculateEigenvalue=true` 时返回 | + +## 5. 业务对象说明 + +### 5.1 waveData + +定义来源:[WaveDataDTO.java](D:/Work/SourceCode/CN_Tool/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/pojo/dto/WaveDataDTO.java) + +| 字段名 | 类型 | 说明 | +| --- | --- | --- | +| `comtradeCfgDTO` | object | CFG 解析结果 | +| `waveTitle` | array | 波形标题,例如 `["Time","UA相","UB相"]` | +| `channelNames` | array | 通道名称列表 | +| `listWaveData` | array> | 原始波形数据,首列为时间,后续列为相电压/电流值 | +| `listRmsData` | array> | RMS 波形数据,`calculateRms=true` 时可用 | +| `listRmsMinData` | array> | RMS 最小值摘要 | +| `iPhasic` | integer | 相别数量 | +| `ptType` | integer | PT 接线方式 | +| `pt` | number | PT 变比 | +| `ct` | number | CT 变比 | +| `time` | string | 事件发生时刻 | +| `monitorName` | string | 测点名称 | + +### 5.2 comtradeCfgDTO + +定义来源:[ComtradeCfgDTO.java](D:/Work/SourceCode/CN_Tool/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/pojo/dto/ComtradeCfgDTO.java) + +| 字段名 | 类型 | 说明 | +| --- | --- | --- | +| `nChannelNum` | integer | 通道总数 | +| `nPhasic` | integer | 相别数量 | +| `nAnalogNum` | integer | 模拟量通道数 | +| `nDigitalNum` | integer | 开关量通道数 | +| `timeStart` | string/date | 录波开始时间 | +| `timeTrige` | string/date | 触发时间 | +| `lstAnalogDTO` | array | 模拟量通道配置 | +| `lstDigitalDTO` | array | 开关量通道配置 | +| `nRates` | integer | 采样率分段数 | +| `lstRate` | array | 采样率分段配置 | +| `firstTime` | string/date | 首个触发时间对象 | +| `firstMs` | integer | 首个触发毫秒值 | +| `nPush` | integer | 触发前推点数 | +| `finalSampleRate` | integer | 最终采样率 | +| `nAllWaveNum` | integer | 总周波数 | +| `strBinType` | string | 文件编码类型,例如 `BINARY` | + +### 5.3 waveDataDetails + +定义来源:[WaveDataDetail.java](D:/Work/SourceCode/CN_Tool/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/pojo/bo/WaveDataDetail.java) + +| 字段名 | 类型 | 说明 | +| --- | --- | --- | +| `instantData` | object | 瞬时波形数据 | +| `rmsData` | object | RMS 波形数据 | +| `a` | string | A 相名称 | +| `b` | string | B 相名称 | +| `c` | string | C 相名称 | +| `channelName` | string | 通道名称 | +| `unit` | string | 单位 | +| `isOpen` | boolean | 是否开口三角模式 | +| `title` | string | 当前图标题 | +| `colors` | array | 曲线颜色 | + +其中 `instantData` 和 `rmsData` 结构一致,定义分别来自: + +- [InstantData.java](D:/Work/SourceCode/CN_Tool/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/pojo/bo/InstantData.java) +- [RmsData.java](D:/Work/SourceCode/CN_Tool/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/pojo/bo/RmsData.java) + +公共字段: + +| 字段名 | 类型 | 说明 | +| --- | --- | --- | +| `max` | number | 当前曲线最大值 | +| `min` | number | 当前曲线最小值 | +| `aValue` | array> | A 相点位 | +| `bValue` | array> | B 相点位 | +| `cValue` | array> | C 相点位 | + +### 5.4 eigenvalues + +定义来源:[EigenvalueDTO.java](D:/Work/SourceCode/CN_Tool/tools/wave-tool/src/main/java/com/njcn/gather/tool/wave/pojo/dto/EigenvalueDTO.java) + +| 字段名 | 类型 | 说明 | +| --- | --- | --- | +| `amplitude` | number | 特征幅值百分比 | +| `residualVoltage` | number | 残余电压 | +| `ratedVoltage` | number | 额定电压 | +| `durationTime` | number | 持续时间 | + +## 6. 成功响应示例 + +以下示例基于真实样本文件联测结果整理,长数组做了截断展示。 + +```json +{ + "code": "SUCCESS", + "message": "成功", + "data": { + "waveData": { + "comtradeCfgDTO": { + "nChannelNum": 6, + "nPhasic": 3, + "nAnalogNum": 6, + "nDigitalNum": 0, + "timeStart": "2026-03-21 20:14:58.648", + "timeTrige": "2026-03-21 20:14:58.748", + "nRates": 1, + "firstMs": 748, + "nPush": 100, + "finalSampleRate": 512, + "nAllWaveNum": 30, + "strBinType": "BINARY" + }, + "waveTitle": ["Time", "UA相", "UB相", "UC相", "IA相", "IB相", "IC相"], + "channelNames": ["/", "U1", "U2", "U3", "I1", "I2", "I3"], + "listWaveData": { + "count": 15616, + "first": [-100.0, -146.56, -76.9, -76.9, -0.13, 0.01, -0.2], + "last": [509.96, 148.02, 69.73, 69.75, 0.16, 0.01, 0.15] + }, + "listRmsData": { + "count": 15616, + "first": [-100.0, 104.94, 104.22, 104.23, 0.27, 0.01, 0.28], + "last": [509.96, 105.6, 105.1, 105.12, 0.24, 0.01, 0.24] + }, + "listRmsMinData": [ + [40.74, 41.2], + [362.19, 0.01] + ], + "iPhasic": 3, + "ptType": 0, + "pt": 1.0, + "ct": 1.0, + "time": "2026-03-21 20:14:58.748", + "monitorName": "监测点1" + }, + "waveDataDetails": [ + { + "channelName": "U1", + "unit": "kV", + "a": "A相", + "b": "B相", + "c": "C相", + "isOpen": false + }, + { + "channelName": "I1", + "unit": "A", + "a": "A相", + "b": "B相", + "c": "C相", + "isOpen": false + } + ], + "eigenvalues": [ + { + "amplitude": 0.3926178, + "residualVoltage": 41.200005, + "ratedVoltage": 104.936676, + "durationTime": 48.632812 + }, + { + "amplitude": 0.4067544, + "residualVoltage": 42.390152, + "ratedVoltage": 104.21559, + "durationTime": 54.492188 + }, + { + "amplitude": 0.40674016, + "residualVoltage": 42.396355, + "ratedVoltage": 104.2345, + "durationTime": 54.492188 + } + ] + } +} +``` + +## 7. 失败场景 + +基于当前代码,常见失败场景包括: + +| 场景 | 说明 | +| --- | --- | +| `cfgFile` 或 `datFile` 未上传 | 返回业务异常,提示“cfg 或 dat 文件不能为空” | +| CFG 文件格式错误 | 返回 CFG 解析失败 | +| DAT 文件为空或格式错误 | 返回 DAT 解析失败 | +| COMTRADE 解析过程中出现异常 | 返回“COMTRADE 波形解析失败” | + +## 8. 备注 + +- 当前接口已经移除图片生成相关参数,不再支持 `generateInstantImage`、`generateRmsImage` 等旧字段。 +- 当前接口文档只覆盖 `parseComtrade`,其他波形文本解析接口请单独编写。 diff --git a/frontend/src/views/tools/waveform/components/WaveformInfoPanel.vue b/frontend/src/views/tools/waveform/components/WaveformInfoPanel.vue new file mode 100644 index 0000000..1b0fe0d --- /dev/null +++ b/frontend/src/views/tools/waveform/components/WaveformInfoPanel.vue @@ -0,0 +1,183 @@ + + + + + diff --git a/frontend/src/views/tools/waveform/components/WaveformToolbar.vue b/frontend/src/views/tools/waveform/components/WaveformToolbar.vue new file mode 100644 index 0000000..e534a7c --- /dev/null +++ b/frontend/src/views/tools/waveform/components/WaveformToolbar.vue @@ -0,0 +1,215 @@ + + + + + diff --git a/frontend/src/views/tools/waveform/components/WaveformTrendPanel.vue b/frontend/src/views/tools/waveform/components/WaveformTrendPanel.vue new file mode 100644 index 0000000..93e7cab --- /dev/null +++ b/frontend/src/views/tools/waveform/components/WaveformTrendPanel.vue @@ -0,0 +1,181 @@ + + + + + diff --git a/frontend/src/views/tools/waveform/components/types.ts b/frontend/src/views/tools/waveform/components/types.ts new file mode 100644 index 0000000..2b26f8f --- /dev/null +++ b/frontend/src/views/tools/waveform/components/types.ts @@ -0,0 +1,33 @@ +export type TrendTabValue = 'instant' | 'rms' +export type ValueMode = 'primary' | 'secondary' +export type DisplayMode = 'single-channel' | 'multi-channel' + +export interface LabelValueOption { + label: string + value: T +} + +export interface WaveformDetailOption { + label: string + value: number +} + +export interface SingleChannelTrendOption { + key: string + group: string + isLastChart?: boolean + options: Record +} + +export interface SummaryItem { + label: string + value: string | number +} + +export interface FeatureCardItem { + title: string + rows: Array<{ + label: string + value: string + }> +} diff --git a/frontend/src/views/tools/waveform/index.vue b/frontend/src/views/tools/waveform/index.vue index 8c959ca..11a4893 100644 --- a/frontend/src/views/tools/waveform/index.vue +++ b/frontend/src/views/tools/waveform/index.vue @@ -1,147 +1,41 @@  @@ -149,24 +43,26 @@