You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
haoliang-net/docs/02-功能清单/管理后台/13-采集日志/13-01-采集日志页面.md

118 lines
5.3 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 13-01 采集日志页面
_
本文档按照20项模板撰写用于前端实现“采集日志页面”的设计与交互规范。页面在管理后台中放置于 /collect-log 路由下包含三个标签页分析记录、采集周期、原始数据。_
## 1. 页面基本信息
- 模块:管理后台 -> 采集日志
- 页面名称:采集日志页面
- 路由:/collect-log
- 版本v1.0
- 作者:设计/前端团队
- 依赖Element Plus、Vue 3、TypeScript
## 2. 布局结构
- 顶部区域:查询条件区域(时间范围、地址、机床、分析类型、程序名等)
- 中部区域Tabs 切换,包含三个 Tab分析记录、采集周期、原始数据
- 各 Tab 之下为各自的表格 + 分页控件
- 底部/弹窗区域:查看详情弹窗、关联跳转入口
## 3. 数据表格列定义
- 分析记录Tab1时间、地址、机床、分析类型、前程序、当前程序、产量变化、摘要、操作
- 采集周期Tab2时间、地址、总机床、成功、失败、异常、分布、摘要
- 原始数据Tab3原始日志ID、时间、内容摘要、来源地址
## 4. 查询条件字段
- 时间范围:日期时间范围选择器,格式 yyyy-MM-dd HH:mm:ss
- 采集地址:下拉或文本输入,支持模糊匹配
- 机床:下拉选择
- 分析类型:多选过滤标签
- 程序名:文本输入
- 提交触发:查询按钮,重置按钮
- 每页显示条数:分页组件控制
## 5. API端点定义
- GET /api/admin/collect-log/analysis
- GET /api/admin/collect-log/analysis/{id}
- GET /api/admin/collect-log/analysis/by-raw/{rawLogId}
- GET /api/admin/collect-log/cycle
- GET /api/admin/collect-log/raw
## 6. Mock数据结构
- 分析记录列表 Mock数组对象包含 time、address、machine、type、previousProgram、currentProgram、yieldDelta、summary
- 分析详情 Mock含 detail 字段、difference 和对比数据
- 周期数据 Mocktime、address、totalMachines、success、failure、anomaly、distribution、summary
- 原始数据 MockrawId、logTime、contentPreview、sourceAddress
## 7. 交互行为
- 标签页切换:切换时重新加载对应表格数据
- 分页:点击页码、切换每页条数时加载对应页数据
- 查看详情弹窗:选中行后弹出,展示分析详情或对比信息
- 关联跳转:点击相关行的跳转按钮,跳转至对应的关联页面
- 原始数据查看:点击原始数据行,弹出 JSON 原始数据预览
## 8. 组件树
- 组件树示例CollectLogPage -> (QueryForm, ElTabs -> (AnalysisTab, CycleTab, RawTab) -> (ElTable, ElPagination)) -> DetailDialog
- 表单控件QueryFormel-form、el-form-item、el-date-picker、el-input、el-select、el-tag
- 表格与分页el-table、el-table-column、el-pagination
- 弹窗el-dialog
- 细化的子组件AnalysisTable、CycleTable、RawTable、DetailDialog可复用
## 9. 路由配置
- 路由路径:/collect-log
- 路由组件CollectLogPage
- 路由守卫:同其他管理后台页面的权限控制
- 嵌套路由(若有需要):/collect-log/analysis、/collect-log/cycle、/collect-log/raw
## 10. 数据校验与错误处理
- 搜索条件必填项的格式校验:时间范围格式、文本字段长度等
- API 请求失败时,展示友好错误信息并保留上一次有效数据展示
- 弹窗中的对比信息若数据为空,显示空态提示
## 11. 性能与优化点
- 分页按需加载,避免一次性加载所有数据
- 表格列尽量避免使用复杂自定义渲染,必要时使用虚拟滚动
- 原始数据区域对大文本使用内容摘要展示,点击展开查看全文
## 12. 国际化与无障碍
- 暂定中文显示,未来支持多语言资源
- 组件具备基础无障碍特性,表格可读性良好
## 13. 数据引用与结构(接口关联)
- 参考后端 API 端点,数据结构需与后端返回字段严格对齐
- 需在页面中以常量形式存放端点引用及字段映射,便于维护
## 14. 组件样式与风格
- 遵循全局主题,表格列宽可自适应,必要时固定宽度以确保对齐
- 按钮、标签、弹窗风格与全局规范保持一致
## 15. 版本与变更记录
- 每次变更需记录版本号和变更摘要,便于回溯
- 与模块索引、总览文档保持同步
## 16. 技术实现概要
- 主要使用 Vue 3 + TypeScript + Element Plus按项目的前端全局规范实现
- 数据获取走统一的 API 调用封装,错误统一处理
- UI 组件具有可复用性,便于其他模块复用
## 17. 数据流与状态管理
- 页面局部状态通过 Vue 的响应式系统管理
- 表格数据、筛选条件和分页状态保持在组件状态中,必要时通过 Store/Pinia 共享
## 18. 测试用例设计
- 基本渲染测试:页面渲染、表格列正确显示
- 筛选与分页功能测试
- 弹窗查看详情测试
- 跳转与联动测试
## 19. 部署与运行
- 本地调试:确保 /collect-log 路由可访问,接口 Mock/测试环境数据正常
- 与后端联调时保持端点一致,返回字段映射不变
## 20. 变更记录
- 记录本页面文档的变更时间、版本和修改内容,便于团队追踪
---
备注:本文档遵循文档结构规范,确保与其他模块文档风格一致,如需对齐请参考 `docs/02-功能清单/02-文件夹创建规范.md``docs/02-界面变更执行规范.md`