# 实施计划 - [x] 1. 数据库迁移 - 在 test_order 表添加 work_order_ids 字段(TEXT类型,存储JSON数组) - 在 work_order 表添加 order_id 字段(INTEGER类型) - 创建数据库迁移脚本 - _需求: 3.5, 4.1_ - [x] 2. 订单页面改为只读模式 - 隐藏订单列表页面的"新增"按钮 - 隐藏订单列表页面的"修改"按钮 - 隐藏订单列表页面的"删除"按钮 - 隐藏订单列表页面的"生成工单"按钮 - 保留"查看"、"导出"、"打印"功能 - _需求: 1.1, 1.2, 1.3, 1.4_ - [x] 3. 订单页面添加关联工单显示 - 在订单列表添加"工单数量"列 - 在订单详情页添加"关联工单"区域 - 显示关联工单列表(工单号、样品、状态) - 添加工单链接,点击跳转到工单详情 - _需求: 4.2, 4.3, 4.4_ - [x] 4. 后端:添加订单查询关联工单接口 - 创建 GET /test_order/{order_id}/work_orders 接口 - 根据订单ID查询关联的工单列表 - 返回工单详细信息 - _需求: 4.2_ - [x] 5. 工单页面添加多选功能 - 在工单列表添加复选框列 - 实现全选/取消全选功能 - 记录选中的工单ID列表 - 根据选中状态启用/禁用"生成订单"按钮 - _需求: 2.3, 2.4_ - [x] 6. 工单页面添加"生成订单"按钮 - 在工单列表操作栏添加"生成订单"按钮 - 未选中工单时禁用按钮 - 选中工单后启用按钮 - 点击按钮显示订单生成对话框 - _需求: 2.3, 3.1_ - [x] 7. 实现订单生成对话框 - 创建订单生成对话框组件 - 显示选中的工单列表 - 验证工单是否属于同一客户 - 检查工单是否已关联订单 - 显示警告信息(如有) - 提供确认和取消按钮 - _需求: 2.5, 3.1_ - [x] 8. 后端:实现从工单生成订单接口 - 创建 POST /work_order/generate_order 接口 - 接收工单ID列表 - 验证工单有效性(存在、同一客户、未关联订单) - 创建新订单记录 - 在订单中记录work_order_ids - 更新工单的order_id字段 - 返回新订单ID - _需求: 3.2, 3.3, 3.5_ - [x] 9. 前端:处理订单生成响应 - 接收后端返回的订单ID - 显示成功提示 - 跳转到订单详情页 - 刷新工单列表 - 处理错误情况并显示错误信息 - _需求: 3.3, 3.4_ - [ ] 10. 调整样品生成工单功能 - 移除样品生成工单后自动生成订单的代码 - 修改成功提示文案(仅提示工单创建成功) - 移除订单相关的返回数据 - _需求: 5.4, 5.5_ - [ ] 11. 后端:移除样品生成工单中的订单创建逻辑 - 找到样品生成工单的service方法 - 移除创建订单的代码 - 仅保留创建工单的逻辑 - 更新返回数据结构 - _需求: 5.4_ - [ ] 12. 更新订单导出功能 - 在导出数据中包含关联工单信息 - 添加工单数量列 - 添加工单号列表列 - _需求: 4.5_ - [ ] 13. 测试和验证 - 测试订单页面只读模式 - 测试工单批量选择功能 - 测试从工单生成订单流程 - 测试样品生成工单不再生成订单 - 测试订单显示关联工单 - 测试边界情况(重复生成、不同客户) - _需求: 所有需求_ - [ ] 14. 检查点 - 确保所有功能正常 - 确保所有功能正常,如有问题请询问用户