| docs/PROJECT.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| docs/pages/README.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| docs/pages/data-revision.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| docs/pages/device-cabinet.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| docs/pages/device-collector.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| docs/pages/report-compare.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| docs/pages/report-formation.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| docs/pages/report-splice.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| docs/pages/test-create.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| docs/pages/test-list.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| docs/pages/test-type.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
docs/PROJECT.md
@@ -50,7 +50,7 @@ | 组件 | Element Plus | | 图表 | ECharts + vue-echarts | | 状态 | 页面内 Composition API;当前未引入全局状态库 | | 鉴权 | `localStorage` 演示鉴权,位于 `src/utils/auth.ts` | | 鉴权 | JWT 请求鉴权;令牌和记住的用户名可保存在 `localStorage`,业务事实不依赖本地存储 | ## 4. 目录结构 @@ -108,15 +108,15 @@ │ │ ├─ OperationLog.vue # 操作日志查询、只读列表与分页 │ │ └─ Placeholder.vue # 尚未开发页面的统一占位 │ ├─ stores/ │ │ ├─ tests.ts # 测试任务共享演示数据、状态同步与本地持久化 │ │ ├─ batteryGroups.ts # 电池组共享演示数据与本地持久化 │ │ ├─ batteryGroupFields.ts # 电池组字段共享演示数据与本地持久化 │ │ ├─ testTypes.ts # 测试类型共享演示数据与本地持久化 │ │ ├─ dataRevisions.ts # 数据修订记录演示数据与详情查询 │ │ ├─ tests.ts # 旧测试展示缓存;工作台/搜索/通知仍使用,待迁移 │ │ ├─ batteryGroups.ts # 电池组页面展示缓存(事实来自 REST) │ │ ├─ batteryGroupFields.ts # 字段页面展示缓存(事实来自 REST) │ │ ├─ testTypes.ts # 测试类型页面展示缓存(事实来自 REST) │ │ ├─ dataRevisions.ts # 数据修订页面展示缓存与详情查询 │ │ ├─ consoleTestData.ts # 控制台数据列表与修改页共享状态 │ │ ├─ exceptions.ts # 异常记录共享演示数据与本地持久化 │ │ ├─ deviceCabinets.ts # 检测柜与发现设备演示数据 │ │ ├─ deviceCollectors.ts # 采集器与发现设备演示数据 │ │ ├─ deviceCabinets.ts # 检测柜与发现设备展示缓存(事实来自 REST) │ │ ├─ deviceCollectors.ts # 采集器与发现设备展示缓存(事实来自 REST) │ │ ├─ compareReports.ts # 对比报表及修订记录演示数据 │ │ ├─ formationReports.ts # 化成报表、循环明细和曲线配置演示数据 │ │ ├─ spliceReports.ts # 拼接报表、测试段和详情配置演示数据 @@ -196,7 +196,7 @@ - 破坏性操作必须二次确认;查询、重置、下载等操作必须提供明确反馈。 - 顶部页面搜索覆盖全部主菜单页面、测试任务和三类报表,业务数据结果直接进入对应控制台或只读报表。 - 消息中心聚合待处理异常、待办和待测试任务;支持未读计数、全部已读和单条业务跳转,已读状态使用 `localStorage` 保存。 - 当前业务数据为前端演示数据,接入 API 时应保留页面组件的筛选、分页和状态契约。 - 测试、设备、电池组、共享字段和测试类型的核心事实已通过 REST 由后端提供;工作台、全局搜索、通知中心、异常、待办、权限和三类报表仍有本地演示数据,详见根目录 `docs/KNOWN-GAPS.md`。 ## 7. 开发与质量检查 @@ -205,7 +205,7 @@ npm run build ``` 本地开发服务固定使用 `http://localhost:5174`;端口被占用时直接报错,不自动切换端口。 本地开发服务默认使用 `http://127.0.0.1:5173`;Ticket04 隔离验收会使用独立端口,端口被占用时直接失败。 前端页面变更至少检查:桌面与移动视口、空数据、长文本、横向溢出、控制台错误和主要交互闭环。 @@ -290,4 +290,4 @@ 1. 新增路由时同步更新本文件的页面树。 2. 新建或修改页面时同步更新 `docs/pages/` 下对应说明。 3. 完成可见功能后在开发记录追加日期、范围和行为变化。 4. API 接入后,将演示数据来源、接口路径、请求参数和错误状态补入对应页面文档。 4. API 或后端事实边界变化时,同步更新对应页面文档和根目录 `docs/KNOWN-GAPS.md`。 docs/pages/README.md
@@ -24,11 +24,11 @@ | 采集器 | `/device-collector` | 已开发 | [device-collector.md](device-collector.md) | | 新增采集器 | `/device-collector/new` | 已开发 | [device-collector.md](device-collector.md) | | 编辑采集器 | `/device-collector/:id/edit` | 已开发 | [device-collector.md](device-collector.md) | | 对比报表 | `/report-compare` | 已开发 | [report-compare.md](report-compare.md) | | 新增对比报表 | `/report-compare/new` | 已开发 | [report-compare.md](report-compare.md) | | 化成报表 | `/report-formation` | 已开发 | [report-formation.md](report-formation.md) | | 拼接报表 | `/report-splice` | 已开发 | [report-splice.md](report-splice.md) | | 新增拼接报表 | `/report-splice/new` | 已开发 | [report-splice.md](report-splice.md) | | 对比报表 | `/report-compare` | 演示页面,待后端 | [report-compare.md](report-compare.md) | | 新增对比报表 | `/report-compare/new` | 演示页面,待后端 | [report-compare.md](report-compare.md) | | 化成报表 | `/report-formation` | 演示页面,待后端 | [report-formation.md](report-formation.md) | | 拼接报表 | `/report-splice` | 演示页面,待后端 | [report-splice.md](report-splice.md) | | 新增拼接报表 | `/report-splice/new` | 演示页面,待后端 | [report-splice.md](report-splice.md) | | 待办列表 | `/todo-list` | 已开发 | [todo-list.md](todo-list.md) | | 账号管理 | `/account` | 已开发 | [account.md](account.md) | | 角色管理 | `/role` | 已开发 | [account.md](account.md) | docs/pages/data-revision.md
@@ -3,8 +3,8 @@ - 列表路由:`/data-revision` - 详情路由:`/data-revision/:id` - 实现:`src/views/DataRevision.vue`、`src/views/DataRevisionDetail.vue` - 数据:`src/stores/dataRevisions.ts` - 状态:已开发,使用页面内审计演示数据 - 数据:`src/api/dataRevisions.ts` - 状态:已开发,修订行为列表和详情来自后端 REST - 原型依据:数据修订记录查询表格、数据详情及原始/修改后数据对比原型 ## 页面目标 @@ -28,15 +28,15 @@ - 展示测试编号、测试名称、工步名称、循环编号、工步序号、工步时长、绝对时间、记录生成时间、修改时间、修改人和修改备注。 - 原始数据固定展示电压、电流、容量、能量、温度、正电位和负电位七个采集字段。 - 修改记录展示修改后数据;发生变化的字段使用浅蓝色标识并显示“已修订”。 - 删除记录不伪造修改后数值,显示“原始数据已删除”审计状态,同时保留原始采样值供追溯。 - 删除记录不伪造修改后数值,显示“原始数据已删除”审计状态;原始值不在业务表恢复,修订记录仅保留删除范围、数量、身份摘要、原因和操作人。 - 详情页使用与新增/编辑页面一致的顶部文字返回入口;不存在的记录显示空状态。 ## 数据结构 - 修订记录:`id`、`testId`、`testName`、`testedAt`、`generatedAt`、`modifiedAt`、`modifier`、`remark`、`operation`、工步信息、`originalData`、`revisedData`。 - `operation` 当前包括 `修改`、`删除`;删除记录的 `revisedData` 为 `null`。 - 演示数据位于 `src/stores/dataRevisions.ts`,后续接入 API 时保留列表筛选、分页和详情字段契约。 - 控制台数据列表的单条编辑、批量修改和删除会在共享演示数据中即时生成修订记录;删除操作保留原始值且不生成伪造的新值。 - 请求封装位于 `src/api/dataRevisions.ts`;页面不把审计记录写入业务 `localStorage`。 - 控制台数据列表的单条编辑、批量修改和删除会生成修订记录;删除操作物理删除业务数据,不生成伪造的新值,审计记录不可删除。 ## 后续事项 docs/pages/device-cabinet.md
@@ -5,7 +5,7 @@ - 编辑路由:`/device-cabinet/:id/edit` - 实现:`src/views/DeviceCabinet.vue`、`src/views/DeviceCabinetForm.vue` - 数据:`src/stores/deviceCabinets.ts` - 状态:已开发,使用前端演示数据并通过 `localStorage` 持久化 - 状态:已开发,发现、登记、启停和删除使用后端 REST;页面 Store 仅作展示缓存 - 原型依据:检测柜查询表格、检测柜详情和当前网段设备选择弹窗原型 ## 页面目标 @@ -34,8 +34,8 @@ ## 数据结构 - 检测柜:`id`、`deviceCode`、`ip`、`mac`、`name`、`manufacturer`、`model`、`channelCount`、数字类型的 `specs`、`remark`、`onlineStatus`、`testStatus`、`currentTest`、`status`、`createdAt`。 - 发现设备与已登记检测柜数据统一位于 `src/stores/deviceCabinets.ts`。 - 发现和登记接口位于 `src/api/deviceCabinets.ts`;`src/stores/deviceCabinets.ts` 不作为业务事实来源。 ## 待明确 接入设备发现和心跳 API、在线状态刷新周期、通道明细、远程控制权限、设备校准记录、当前测试关联和删除引用检查接口。 补充真实设备心跳刷新、通道明细、远程控制权限、设备校准记录和删除引用检查;第一版运行时不发送设备控制命令。 docs/pages/device-collector.md
@@ -5,7 +5,7 @@ - 编辑路由:`/device-collector/:id/edit` - 实现:`src/views/DeviceCollector.vue`、`src/views/DeviceCollectorForm.vue` - 数据:`src/stores/deviceCollectors.ts` - 状态:已开发,使用前端演示数据并通过 `localStorage` 持久化 - 状态:已开发,发现、登记、启停和删除使用后端 REST;页面 Store 仅作展示缓存 - 页面方案:沿用检测柜模块的页面结构和交互,移除“规格/容量”字段 ## 页面目标 @@ -33,8 +33,8 @@ ## 数据结构 - 采集器:`id`、`deviceCode`、`ip`、`mac`、`name`、`manufacturer`、`model`、`channelCount`、`remark`、`onlineStatus`、`testStatus`、`currentTest`、`status`、`createdAt`。 - 发现设备与已登记采集器数据统一位于 `src/stores/deviceCollectors.ts`,并与检测柜数据独立存储。 - 发现和登记接口位于 `src/api/deviceCollectors.ts`;`src/stores/deviceCollectors.ts` 不作为业务事实来源。 ## 待明确 接入设备发现和心跳 API、在线状态刷新周期、通道明细、采样协议、固件升级流程、远程诊断权限和当前测试关联接口。 补充真实采集器心跳、通道明细、采样协议、固件升级流程、远程诊断权限和当前测试关联;演示通道 `S-01...S-N` 仍待现场验证。 docs/pages/report-compare.md
@@ -6,7 +6,7 @@ - 实现:`src/views/ReportCompare.vue` - 新增页实现:`src/views/ReportCompareForm.vue` - 数据:`src/stores/compareReports.ts` - 状态:已开发,使用前端演示数据并通过 `localStorage` 持久化 - 状态:演示页面已开发;数据仍由前端种子数据和 `localStorage` 提供,后端报表事实未接入 - 原型依据:对比报表查询、列表、操作区和分页原型 ## 页面目标 @@ -60,6 +60,6 @@ - 修订记录:`id`、`modifiedAt`、`modifier`、`summary`。 - 演示数据存储键:`battery_detection_compare_reports_v1`。 ## 待明确 ## 待开发 接入测试记录选择接口、可比较条件、数据对齐方法、曲线和指标来源、最大样本数、正式 PDF 模板及报表审批流程。 接入检测完成测试选择接口、可比较条件、数据对齐方法、曲线和指标来源、后端版本快照、修订审计、正式 PDF 模板及报表审批流程。 docs/pages/report-formation.md
@@ -4,7 +4,7 @@ - 列表实现:`src/views/FormationReport.vue` - 新增/编辑实现:`src/views/FormationReportForm.vue` - 数据:`src/stores/formationReports.ts` - 状态:已开发,使用前端演示数据并通过 `localStorage` 持久化 - 状态:演示页面已开发;数据仍由前端种子数据和 `localStorage` 提供,后端报表事实未接入 ## 页面目标 @@ -39,6 +39,6 @@ - 电池组模板字段、特殊字段和曲线显隐状态随报表保存,确保从列表下载的 PDF 与编辑页内容一致。 - 保存和删除均提供中文反馈,删除前需要二次确认。 ## 待明确 ## 待开发 接入真实测试/电池接口、工步字段配置、自动计算公式、合格阈值、正式PDF模板及报表审核流程。 接入检测完成测试查询、后端版本快照、字段/公式计算、修订审计、正式 PDF 模板及报表审核流程。 docs/pages/report-splice.md
@@ -6,7 +6,7 @@ - 列表实现:`src/views/SpliceReport.vue` - 新增/编辑实现:`src/views/SpliceReportForm.vue` - 数据:`src/stores/spliceReports.ts` - 状态:已开发,使用前端演示数据并通过 `localStorage` 持久化 - 状态:演示页面已开发;数据仍由前端种子数据和 `localStorage` 提供,后端报表事实未接入 ## 页面目标 @@ -49,6 +49,6 @@ - 拼接测试:`id`、`name`、`type`、`durationMinutes`。 - 演示数据存储键:`battery_detection_splice_reports_v1`。 ## 待明确 ## 待开发 接入真实测试接口、允许拼接的测试兼容条件、真实采样时间轴、缺口处理、重复时间点处理和正式导出模板。 接入检测完成测试查询、允许拼接的测试兼容条件、真实采样时间轴、后端版本快照、修订审计和正式导出模板。 docs/pages/test-create.md
@@ -2,7 +2,7 @@ - 路由:`/test-list/new` - 实现:`src/views/TestCreate.vue` - 状态:已开发,提交使用前端演示流程 - 状态:已开发,提交通过后端 REST 和服务端校验 - 原型依据:新测试参数、电池组和通道设置、预警阈值原型及标注 ## 页面目标 @@ -32,7 +32,7 @@ ## 数据结构 - 测试参数:`name`、`owner`、`type`、`purpose`、`remark`、`syncMode`。 - 电池组选项:电池组名称及组内电池号列表;当前为前端演示数据。 - 电池组选项:电池组名称及组内电池号列表,来自后端接口。 - 电池配置:电池号、测试柜、测试柜通道、采集器、7 个固定传感器通道字段及动态自定义通道映射。 - 预警阈值:类型、最小值、最大值。 @@ -44,4 +44,4 @@ ## 后续事项 接入负责人、测试类型、设备与通道 API;增加设备占用与在线校验;保存草稿;提交成功后将新任务写入测试列表数据源。 补充草稿能力和真实采集器协议验证;开始接收前的设备可观测性和通道租约以后端校验为准。 docs/pages/test-list.md
@@ -2,7 +2,7 @@ - 路由:`/test-list` - 实现:`src/views/TestList.vue` - 状态:已开发,使用共享测试演示数据并通过 `localStorage` 持久化 - 状态:已开发,列表和控制台事实来自后端 REST/SSE;外围页面仍可能读取本地展示缓存 - 原型依据:查询表格原型及其状态、下载、排序和删除标注 ## 页面目标 @@ -22,10 +22,10 @@ - 分页和每页条数切换;结果区展示当前结果总数。 - 下载当前筛选条件下的全部结果为 UTF-8 BOM CSV。 - 列表页省略系统状态条和重复页面介绍;新建测试与下载结果集中放在记录工具栏。 - 删除操作二次确认,确认后从本地数据中移除并修正分页。 - 删除操作二次确认,确认后调用后端接口并修正分页。 - 新建测试跳转 `/test-list/new`;控制台入口跳转 `/test-list/:id/console`。 - 新建测试提交后写入共享测试数据并返回列表,列表立即回显新任务;工作台状态页签同步更新。 - 控制台读取同一条测试记录,暂停、继续和结束操作会同步更新测试列表及工作台状态。 - 新建测试提交后写入后端并返回列表;工作台状态页签的旧本地 Store 迁移仍是已知缺口。 - 控制台读取同一条后端测试记录,开始、暂停、继续、停止和自然结束通过后端状态接口恢复。 - 控制台展示实时运行时间及测试所选全部电池的电压/温度/正负电位/容量/电流;桌面每行最多四张卡,超出自动换行,通道表同步展示全部电池。 - 控制台支持暂停、继续、结束测试和“工步设置”。工步设置针对单个测试维护连续实际工步的逻辑工步合并规则,循环和结束统计行不参与;规则调整后实时、工步、循环视图及未生成报表立即按新规则读取,已生成报表保持快照。 - 控制台顶部提供实时数据、工步图表、项目图表和数据列表四个页签。 @@ -36,8 +36,7 @@ - 图表支持指标显隐、电池系列颜色调整、左右双纵坐标和动态 `h:mm` 时间轴;电池数量不固定,详情列和图例按实际电池生成。 - 项目图表为独立的循环汇总视图,不提供循环筛选;按本次测试全部电池展示 `1~61` 循环的最终电压1、最终电压2和每循环放电末容量/F。 - 项目图表三张曲线纵向全宽排列,横轴统一为循环次数,保留可滚动电池图例与左右双纵坐标,电池数量随测试数据动态生成。 - 数据列表拆为“实时”“工步”“循环”三个子页面:实时页展示设备每次采样的原始记录,不受工步合并影响;工步页展示每个设备工步的时间、容量、能量和电压统计,并按当前测试逻辑工步映射显示;循环页展示设备返回的循环统计和结束统计。三页均以设备模拟器/后端事实为数据来源。 - 三个子页面沿用当前数据列表的表格、筛选、工具栏和分页样式,通过三个切换按钮切换视图;进入数据列表时默认显示“实时”子页面。 - 数据列表拆为“实时”“工步”“循环”三个子页面:实时页展示设备每次采样的原始记录,不受工步合并影响;工步页展示每个设备工步的时间、容量、能量和电压统计,并按当前测试逻辑工步映射显示;循环页展示设备返回的循环统计和结束统计。三页均读取测试级持久化接口,开发模拟器只负责产生设备事实。 - 三个子页面沿用当前数据列表的表格、筛选、工具栏和分页样式,通过三个切换按钮切换视图;进入数据列表时默认显示“实时”子页面。 - 实时页支持按电池、设备时间、循环和实际工步查询;工步页支持按电池、循环和逻辑工步查询;循环页支持按循环查询。分页、下载和空状态按页面粒度分别生效。 - 数据列表提供导入、下载模板、下载全部、下载选中、单条编辑、批量修改和删除;修改与删除必须保留修订日志,“修订记录”入口会自动按当前测试查询。 @@ -60,4 +59,4 @@ ## 后续事项 接入查询/分页/删除/导出 API;接入控制台实时数据流与设备控制接口;明确不同状态下允许的操作权限。 清理控制台参数/图表中的固定演示数据,迁移工作台、全局搜索和通知中心的本地测试 Store;设备控制命令仍不在第一版范围内。 docs/pages/test-type.md
@@ -4,7 +4,7 @@ - 新建路由:`/test-type/new` - 编辑路由:`/test-type/:id/edit` - 当前实现:`src/views/TestType.vue`、`src/views/TestTypeForm.vue` - 状态:已开发,数据使用前端演示流程 - 状态:已开发,列表、启停、编辑和删除使用后端 REST ## 页面目标 @@ -17,7 +17,7 @@ - 查询条件按四列、三列、两列、单列等分铺满,查询与重置按钮位于最后一列,并和下方结果工具栏按钮右边缘对齐。 - 列表按创建时间倒序排列,支持分页及每页条数切换。 - 新建和编辑使用独立详情页,测试项目名称必填,备注选填。 - 类型名称不可重复;保存成功返回列表并写入当前站点 `localStorage`。 - 类型名称不可重复;保存成功返回列表并由后端保存。 - 启用、禁用操作需要二次确认;删除操作二次确认并提示无法恢复。 - 空数据、查询结果和操作失败均提供明确反馈。 - 表格横向滚动时,操作列固定在最右侧。 @@ -25,7 +25,7 @@ ## 数据结构 - 测试类型:`id`、`name`、`createdAt`、`creator`、`remark`、`status`。 - 当前数据源位于 `src/stores/testTypes.ts`,后续可替换为 API。 - 页面请求封装位于 `src/api/testTypes.ts`;Store 仅用于页面展示状态,不保存业务事实。 ## 待明确