|
|
# 员工详情页面
|
|
|
|
|
|
> 最后更新:2026-04-25
|
|
|
> 状态:已设计
|
|
|
|
|
|
---
|
|
|
|
|
|
### 1. 基本信息
|
|
|
|
|
|
| 项 | 值 |
|
|
|
|----|-----|
|
|
|
| 路由 | /worker/:id |
|
|
|
| 权限 | admin |
|
|
|
| 入口 | 员工管理列表点击工人姓名 / 仪表盘工人排行点击工人姓名 |
|
|
|
| 面包屑 | 首页 / 员工管理 / {工人姓名} |
|
|
|
|
|
|
### 2. 界面布局
|
|
|
|
|
|
┌──────────────────────────────────────────────────────────┐
|
|
|
│ [面包屑] 首页 / 员工管理 / 张三 │
|
|
|
├──────────────────────────────────────────────────────────┤
|
|
|
│ [基本信息区] │
|
|
|
│ < 返回 工人详情:张三 │
|
|
|
│ 工号:W001 姓名:张三 │
|
|
|
│ 状态:启用 绑定机床数:2 │
|
|
|
├──────────────────────────────────────────────────────────┤
|
|
|
│ [绑定机床区] │
|
|
|
│ 机床名称 | device_code | 车间 | 品牌 | 在线状态 | 当前程序 │
|
|
|
│ 西-1.8 | fanake_1.8 | A栋 | FANUC| 在线 | 1566.NC │
|
|
|
│ 西-2.0 | fanake_2.0 | A栋 | FANUC| 离线 | - │
|
|
|
├──────────────────────────────────────────────────────────┤
|
|
|
│ [今日产量区] │
|
|
|
│ 机床名称 | 程序名 | 产量 | 运行时间 | 切削时间 │
|
|
|
│ 西-1.8 | 1566.NC | 580 | 4h20m | 3h50m │
|
|
|
│ 西-2.0 | - | - | - | - │
|
|
|
├──────────────────────────────────────────────────────────┤
|
|
|
│ [近7天产量趋势(折线图)] │
|
|
|
│ [============图表区域============] │
|
|
|
└──────────────────────────────────────────────────────────┘
|
|
|
|
|
|
### 3. 数据区块
|
|
|
|
|
|
| 区块 | 展示字段 | 控件类型 | 刷新策略 |
|
|
|
|------|---------|---------|---------|
|
|
|
| 基本信息 | 工号、姓名、状态、绑定机床数 | 文本展示 | 页面加载时请求一次 |
|
|
|
| 绑定机床 | 机床名称、device_code、车间、品牌、在线状态、当前程序 | el-table | 页面加载时请求一次 |
|
|
|
| 今日产量 | 机床名称、程序名、产量、运行时间、切削时间 | el-table | 页面加载时请求一次 |
|
|
|
| 近7天趋势 | 日期、产量 | 折线图 | 页面加载时请求一次 |
|
|
|
|
|
|
### 4. 操作按钮
|
|
|
|
|
|
| 名称 | 位置 | 显示条件 | 点击行为 |
|
|
|
|------|------|---------|---------|
|
|
|
| 返回 | 页头左侧 | 始终 | router.back() |
|
|
|
| 机床名称 | 行内链接 | 始终 | 跳转机床详情页(/machine/:id) |
|
|
|
|
|
|
### 5. 交互流程
|
|
|
|
|
|
- 加载:请求工人详情API+绑定机床API+今日产量API+7天趋势API->渲染
|
|
|
- 点击机床名称:router.push到机床详情页
|
|
|
- 返回:router.back()
|
|
|
|
|
|
### 6. 空状态
|
|
|
|
|
|
- 绑定机床无数据:el-empty 该工人暂无绑定机床
|
|
|
- 今日产量无数据:el-empty 今日尚无产量数据
|
|
|
|
|
|
### 8. Mock数据
|
|
|
|
|
|
**GET /api/admin/worker/1 工人详情:**
|
|
|
|
|
|
```json
|
|
|
{ "code": 0, "data": { "id": 1, "code": "W001", "name": "张三", "isEnabled": 1, "machineCount": 2 }}
|
|
|
```
|
|
|
|
|
|
**GET /api/admin/worker/1/machines 绑定机床:**
|
|
|
|
|
|
```json
|
|
|
{ "code": 0, "data": { "items": [
|
|
|
{ "machineId": 1, "machineName": "西-1.8", "deviceCode": "fanake_1.8", "workshopName": "A栋", "brandName": "FANUC", "isOnline": 1, "programName": "1566.NC" },
|
|
|
{ "machineId": 2, "machineName": "西-2.0", "deviceCode": "fanake_2.0", "workshopName": "A栋", "brandName": "FANUC", "isOnline": 0, "programName": null }
|
|
|
]}}
|
|
|
```
|
|
|
|
|
|
**GET /api/admin/worker/1/production/today 今日产量:**
|
|
|
|
|
|
```json
|
|
|
{ "code": 0, "data": { "items": [
|
|
|
{ "machineName": "西-1.8", "programName": "1566.NC", "quantity": 580, "runTime": "4h20m", "cuttingTime": "3h50m" },
|
|
|
{ "machineName": "西-2.0", "programName": "-", "quantity": null, "runTime": "-", "cuttingTime": "-" }
|
|
|
]}}
|
|
|
```
|
|
|
|
|
|
**GET /api/admin/worker/1/production/trend 7天趋势:**
|
|
|
|
|
|
```json
|
|
|
{ "code": 0, "data": { "items": [
|
|
|
{ "date": "2026-04-19", "quantity": 980 }, { "date": "2026-04-20", "quantity": 920 },
|
|
|
{ "date": "2026-04-21", "quantity": 1100 }, { "date": "2026-04-22", "quantity": 1050 },
|
|
|
{ "date": "2026-04-23", "quantity": 990 }, { "date": "2026-04-24", "quantity": 1080 },
|
|
|
{ "date": "2026-04-25", "quantity": 580 }
|
|
|
]}}
|
|
|
|
|
|
### 7. 数据需求
|
|
|
|
|
|
> 以下为本页面需要的数据,数据库设计定稿时需覆盖。参考 `01-数据库设计.md` 草案。
|
|
|
|
|
|
| 数据需求 | 草案对应 | 说明 |
|
|
|
|---------|---------|------|
|
|
|
| 工人基本信息 | cnc_worker | 主表 |
|
|
|
| 绑定机床列表 | cnc_worker_machine + cnc_machine | 按worker_id查关联机床 |
|
|
|
| 今日产量(按机床+程序) | cnc_daily_production + cnc_machine | 按worker绑定的machine_id查询 |
|
|
|
| 近7天趋势 | cnc_worker_daily_summary | 按worker_id+近7天查询 |
|