|
|
# 采集地址详情页面
|
|
|
|
|
|
> 最后更新:2026-04-25
|
|
|
> 状态:已设计
|
|
|
|
|
|
---
|
|
|
|
|
|
### 1. 基本信息
|
|
|
|
|
|
| 项 | 值 |
|
|
|
|----|-----|
|
|
|
| 路由 | /collect-address/:id |
|
|
|
| 权限 | admin |
|
|
|
| 入口 | 采集地址列表点击名称链接 / 仪表盘采集服务状态区点击地址名称 |
|
|
|
| 面包屑 | 首页 / 采集地址管理 / {地址名称} |
|
|
|
|
|
|
### 2. 界面布局
|
|
|
|
|
|
┌──────────────────────────────────────────────────────────┐
|
|
|
│ [面包屑] 首页 / 采集地址管理 / FANUC-A栋 │
|
|
|
├──────────────────────────────────────────────────────────┤
|
|
|
│ [基本信息区] │
|
|
|
│ < 返回 采集地址详情:FANUC-A栋 │
|
|
|
│ 名称:FANUC-A栋 HTTP地址:http://10.1.1.1/ │
|
|
|
│ 品牌:FANUC 采集间隔:30秒 │
|
|
|
│ 状态:启用 上次采集:3秒前 │
|
|
|
│ 连续失败:0次 总机床数:32台 │
|
|
|
├──────────────────────────────────────────────────────────┤
|
|
|
│ [关联机床区] │
|
|
|
│ 机床名称 | device_code | 车间 | 在线 | 当前程序 | 零件数 │
|
|
|
│ 西-1.8 | fanake_1.8 | A栋 | 在线 | 1566.NC | 580 │
|
|
|
│ 西-1.10 | fanake_1.10 | A栋 | 在线 | O123.NC | 120 │
|
|
|
│ ... │
|
|
|
├──────────────────────────────────────────────────────────┤
|
|
|
│ [最近采集记录] [查看原始JSON] │
|
|
|
│ 采集时间 | 耗时 | 状态 | 机床数 | 失败数 │
|
|
|
│ 17:36:38 | 1.2s | 成功 | 32 | 0 │
|
|
|
│ 17:36:08 | 1.1s | 成功 | 32 | 0 │
|
|
|
│ 17:35:38 | 3.5s | 成功 | 31 | 1 │
|
|
|
│ 17:35:08 | - | 失败 | - | - │
|
|
|
├──────────────────────────────────────────────────────────┤
|
|
|
│ [采集失败趋势(近7天折线图)] │
|
|
|
│ [============图表区域============] │
|
|
|
└──────────────────────────────────────────────────────────┘
|
|
|
|
|
|
### 3. 数据区块
|
|
|
|
|
|
| 区块 | 展示字段 | 控件类型 | 刷新策略 |
|
|
|
|------|---------|---------|---------|
|
|
|
| 基本信息 | 名称、URL、品牌、间隔、状态、上次采集、连续失败、机床数 | 文本展示 | 页面加载时请求一次 |
|
|
|
| 关联机床 | 机床名称、device_code、车间、在线、当前程序、零件数 | el-table | 页面加载时请求一次 |
|
|
|
| 最近采集记录 | 采集时间、耗时、状态、机床数、失败数 | el-table | 页面加载时请求一次 |
|
|
|
| 采集失败趋势 | 日期、失败次数 | 折线图 | 页面加载时请求一次 |
|
|
|
|
|
|
### 4. 操作按钮
|
|
|
|
|
|
| 名称 | 位置 | 显示条件 | 点击行为 |
|
|
|
|------|------|---------|---------|
|
|
|
| 返回 | 页头左侧 | 始终 | router.back() |
|
|
|
| 机床名称 | 行内链接 | 始终 | 跳转机床详情页(/machine/:id) |
|
|
|
| 查看原始JSON | 采集记录表头 | 始终 | 弹窗显示选中采集记录的原始JSON |
|
|
|
|
|
|
### 5. 弹窗规格
|
|
|
|
|
|
**原始JSON查看弹窗:**
|
|
|
- 宽度800px,标题=原始采集JSON
|
|
|
- 内容:代码高亮显示JSON,只读不可编辑
|
|
|
- 支持:复制到剪贴板
|
|
|
|
|
|
### 6. 交互流程
|
|
|
|
|
|
- 加载:请求地址详情API+关联机床API+最近采集记录API+失败趋势API->渲染
|
|
|
- 点击机床名称:router.push到机床详情页
|
|
|
- 查看原始JSON:点击"查看原始JSON"->弹窗显示最近一次成功采集的原始JSON(或选择某条记录的JSON)
|
|
|
- 返回:router.back()
|
|
|
|
|
|
### 7. 空状态
|
|
|
|
|
|
- 关联机床无数据:el-empty 该地址暂无关联机床
|
|
|
- 采集记录无数据:el-empty 暂无采集记录
|
|
|
|
|
|
### 8. 接口引用与数据结构
|
|
|
|
|
|
> Mock/正式API的URL、HTTP方法均定义在 `03-API接口设计.md` §3.5 端点清单,本节仅引用编号并定义返回数据结构。
|
|
|
|
|
|
#### 接口引用
|
|
|
|
|
|
| 接口名称 | 端点编号 | 界面用途 |
|
|
|
|---------|---------|---------|
|
|
|
| 地址详情 | §3.5 #2 | 基本信息卡片 |
|
|
|
| 关联机床 | §3.5 #7 | 机床列表表格 |
|
|
|
| 近期采集记录 | §3.5 #8 | 采集记录表格 |
|
|
|
| 最新原始JSON | §3.5 #9 | 原始JSON弹窗 |
|
|
|
|
|
|
#### 数据结构
|
|
|
|
|
|
**地址详情(§3.5 #2):**
|
|
|
|
|
|
Response:
|
|
|
```json
|
|
|
{ "code": 0, "data": {
|
|
|
"id": 1, "name": "FANUC-A栋", "url": "http://10.1.1.1/", "brandName": "FANUC",
|
|
|
"collectInterval": 30, "isEnabled": 1, "lastCollectTime": "2026-04-25T17:36:38",
|
|
|
"failCount": 0, "machineCount": 32
|
|
|
}}
|
|
|
```
|
|
|
|
|
|
**关联机床(§3.5 #7):**
|
|
|
|
|
|
Response:
|
|
|
```json
|
|
|
{ "code": 0, "data": { "items": [
|
|
|
{ "machineId": 1, "machineName": "西-1.8", "deviceCode": "fanake_1.8", "workshopName": "A栋", "isOnline": 1, "programName": "1566.NC", "partCount": 580 },
|
|
|
{ "machineId": 2, "machineName": "西-1.10", "deviceCode": "fanake_1.10", "workshopName": "A栋", "isOnline": 1, "programName": "O123.NC", "partCount": 120 }
|
|
|
]}}
|
|
|
```
|
|
|
|
|
|
**近期采集记录(§3.5 #8):**
|
|
|
|
|
|
Response:
|
|
|
```json
|
|
|
{ "code": 0, "data": { "items": [
|
|
|
{ "requestTime": "2026-04-25T17:36:38", "duration": 1200, "isSuccess": 1, "machineCount": 32, "failMachineCount": 0 },
|
|
|
{ "requestTime": "2026-04-25T17:36:08", "duration": 1100, "isSuccess": 1, "machineCount": 32, "failMachineCount": 0 },
|
|
|
{ "requestTime": "2026-04-25T17:35:38", "duration": 3500, "isSuccess": 1, "machineCount": 31, "failMachineCount": 1 },
|
|
|
{ "requestTime": "2026-04-25T17:35:08", "duration": null, "isSuccess": 0, "machineCount": null, "failMachineCount": null }
|
|
|
]}}
|
|
|
```
|
|
|
|
|
|
**最新原始JSON(§3.5 #9):**
|
|
|
|
|
|
Response:
|
|
|
```json
|
|
|
{ "code": 0, "data": { "rawJson": "[{\"device\":\"fanake_1.8\",\"desc\":\"西-1.8\",\"tags\":[{\"id\":\"_io_status\",\"desc\":\"设备状态\",\"value\":\"1.00000\"},{\"id\":\"Tag5\",\"desc\":\"执行的NC主程序名\",\"value\":\"1566.NC\"},{\"id\":\"Tag8\",\"desc\":\"当前加工零件数\",\"value\":\"580.00000\"}]}]" }}
|
|
|
```
|
|
|
|
|
|
### 8. 数据需求
|
|
|
|
|
|
> 以下为本页面需要的数据,数据库设计定稿时需覆盖。参考 `01-数据库设计.md` 草案。
|
|
|
|
|
|
| 数据需求 | 草案对应 | 说明 |
|
|
|
|---------|---------|------|
|
|
|
| 采集地址基本信息 | cnc_collect_address | 主表 |
|
|
|
| 关联机床列表 | cnc_machine | 按collect_address_id查询 |
|
|
|
| 最近采集记录 | log_collect_raw (日志库) | 按collect_address_id+时间倒序,跨库查询 |
|
|
|
| 原始JSON查看 | log_collect_raw.raw_json | 弹窗展示,MEDIUMTEXT字段 |
|
|
|
| 采集失败趋势 | log_collect_raw聚合 | 按天统计is_success=0的次数 |
|