# 员工详情页面 > 最后更新: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天查询 |