From e91fc70ca7148b44c5d7f9193ccf359287c9acac Mon Sep 17 00:00:00 2001
From: haoliang <821644@qq.com>
Date: Wed, 29 Apr 2026 22:00:12 +0800
Subject: [PATCH] =?UTF-8?q?=E5=91=98=E5=B7=A5=E7=AE=A1=E7=90=86=E7=A9=BF?=
=?UTF-8?q?=E6=A2=AD=E6=A1=86=E6=94=B9=E9=80=A0=EF=BC=9A=E6=98=BE=E7=A4=BA?=
=?UTF-8?q?=E5=85=A8=E9=83=A8=E6=9C=BA=E5=BA=8A+=E7=8A=B6=E6=80=81?=
=?UTF-8?q?=E8=89=B2=E7=82=B9=EF=BC=88=E7=BB=BF=E5=9C=A8=E7=BA=BF/?=
=?UTF-8?q?=E7=81=B0=E7=A6=BB=E7=BA=BF/=E7=BA=A2=E5=81=9C=E7=94=A8?=
=?UTF-8?q?=EF=BC=89+=E5=9B=BE=E4=BE=8B=E8=AF=B4=E6=98=8E?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../管理后台/06-员工管理/06-01-员工管理页面.md | 28 ++++++----
frontend/src/views/worker/WorkerListPage.vue | 53 +++++++++++++++++--
2 files changed, 66 insertions(+), 15 deletions(-)
diff --git a/docs/02-功能清单/管理后台/06-员工管理/06-01-员工管理页面.md b/docs/02-功能清单/管理后台/06-员工管理/06-01-员工管理页面.md
index 665350b..1aad554 100644
--- a/docs/02-功能清单/管理后台/06-员工管理/06-01-员工管理页面.md
+++ b/docs/02-功能清单/管理后台/06-员工管理/06-01-员工管理页面.md
@@ -78,14 +78,16 @@
|------|------|------|--------|------|------|
| 工号 | el-input maxlength=50 | 是 | - | 必填+唯一性(新增时) | - |
| 姓名 | el-input maxlength=50 | 是 | - | 必填 | - |
-| 绑定机床 | el-transfer 穿梭框 | 否 | 空 | - | 左侧显示可选机床,右侧显示已绑定机床 |
+| 绑定机床 | el-transfer 穿梭框 | 否 | 空 | - | 左侧显示全部机床(带状态色点),右侧显示已绑定机床 |
说明:
- 弹窗中不设"状态"字段,新增默认启用
-- 绑定机床使用穿梭框(el-transfer):左侧列出可选机床,右侧显示已绑定机床
-- 穿梭框数据:查询cnc_machine中未绑定其他工人的机床(uk_machine约束确保一对一),编辑时含当前已绑定的
-- 机床不论在线/离线状态均可绑定(绑定关系不受机床在线状态限制)
-- 穿梭框每项显示格式:`device_code (机床名称) - 车间`
+- 绑定机床使用穿梭框(el-transfer):左侧列出全部机床,右侧显示已绑定机床
+- 穿梭框数据源:调用机床列表API(`/admin/machine`)获取全部机床,不按状态筛选
+- 每项机床名称前显示状态色点:🟢在线(绿色)、⚪离线(灰色)、🔴停用(红色)
+- 穿梭框下方显示图例:绿色=在线 | 灰色=离线 | 红色=停用
+- 机床不论在线/离线/停用状态均可绑定(绑定关系不受机床状态限制)
+- 穿梭框每项显示格式:`[状态点] 机床名称 (device_code) - 车间`
### 7. 状态机
@@ -123,7 +125,7 @@
| 编辑工人 | §3.6 #4 | 编辑弹窗保存 |
| 删除工人 | §3.6 #5 | 删除操作 |
| 启停工人 | §3.6 #6 | 启停切换 |
-| 可绑定机床 | §3.6 #10 | 弹窗中机床下拉 |
+| 机床列表 | §3.6 机床列表 | 弹窗中穿梭框数据源(全部机床,含在线/离线/停用状态) |
#### 数据结构
@@ -145,16 +147,20 @@ Response:
{ "code": 0, "message": "success", "data": { "id": 4, "name": "赵六" }}
```
-**可绑定机床(§3.6 #10):**
+**机床列表(穿梭框数据源):**
Response:
```json
{ "code": 0, "data": { "items": [
- { "id": 5, "name": "东-2.5", "deviceCode": "siemens_2.5", "workshopName": "B栋" },
- { "id": 8, "name": "北-4.1", "deviceCode": "fanake_4.1", "workshopName": "C栋" }
-]}}
+ { "id": 1, "name": "西-1.8", "deviceCode": "fanake_1.8", "workshopName": "A栋", "isOnline": 1, "isEnabled": 1 },
+ { "id": 2, "name": "西-1.10", "deviceCode": "fanake_1.10", "workshopName": "A栋", "isOnline": 1, "isEnabled": 1 },
+ { "id": 3, "name": "东-2.0", "deviceCode": "fanake_2.0", "workshopName": "B栋", "isOnline": 0, "isEnabled": 1 },
+ { "id": 4, "name": "东-2.5", "deviceCode": "siemens_2.5", "workshopName": "B栋", "isOnline": 0, "isEnabled": 0 }
+], "total": 4, "page": 1, "pageSize": 999 }}
```
+> 调用机床列表API(`GET /admin/machine?pageSize=999`),获取全部机床。前端根据isOnline和isEnabled渲染状态色点。
+
**编辑工人(§3.6 #4)/ 删除工人(§3.6 #5)/ 启停工人(§3.6 #6):**
Response:
@@ -170,4 +176,4 @@ Response:
|---------|---------|------|
| 工人列表(含分页) | cnc_worker | 主表,需JOIN绑定机床数+机床名称 |
| 工号唯一性校验 | cnc_worker.uk_code | 新增时实时校验 |
-| 可绑定机床下拉 | cnc_machine LEFT JOIN cnc_worker_machine | 查未绑定工人(not exists in cnc_worker_machine)的机床 |
+| 可绑定机床下拉 | cnc_machine | 调用机床列表API获取全部机床,前端按isOnline/isEnabled渲染状态色点 |
diff --git a/frontend/src/views/worker/WorkerListPage.vue b/frontend/src/views/worker/WorkerListPage.vue
index db6da3f..92b90f5 100644
--- a/frontend/src/views/worker/WorkerListPage.vue
+++ b/frontend/src/views/worker/WorkerListPage.vue
@@ -48,11 +48,25 @@