# 2026-06-29 计划预测下单流程与操作日志多项优化 ## 优化项 ### 1. 钉盘数据更新(日出库+库存导入) **旭东 → OpenClaw:** > 钉盘数据有更新,帮我更新一下 **OpenClaw 响应:** - 日出库:导入 06-12~06-27 共 41 个文件,19,886+ 条记录 - 库存:导入 06-26、06-29 共 38 个文件(19+19 个仓库) - 修复了 batch_import_cksj.py 的跳过逻辑:同时检测来源代码(jdbz)和中文名称(京东泊紫),防止因名称不一致重复导入 - 修正 MEMORY.md 中 jdbz → 京东泊紫(原误记为京东标准) - 确认钉盘文件命名规则无误:`YYYYMMDD-来源-cksj.csv` ### 2. 操作日志功能完善 **旭东 → OpenClaw:** > 系统设置里面的操作日志目前都是为空,你帮我想一下这个操作日志应该怎么规划使用? **OpenClaw 响应:** - 修复 `logs_list()` API:增加分页(page/size)、按操作人/操作类型筛选,返回格式改为 `{rows, total}` - 自动排除登录记录(登录已体现在访问记录中) - 新增 `add_operation_log()` 统一日志入口(`services/db.py`) - 增加操作日志记录点: - 产品管理:创建、编辑、批量编辑、CSV导入、BOM导入 - 反馈管理:提交、编辑、标记完成、重新打开、删除 - 系统配置:全局配置、趋势判断、销量预测、校准配置(沙箱) - 权限管理:角色权限、用户权限变更 - 加入/移出待下单、修改下单数量 **旭东 → OpenClaw:** > 从计划预测修改实际下单数量,并点击下单跳转到待下单管理,操作日志是要显示出来的 ### 3. 计划预测下单跳转待下单管理 - 数据异常修复 **旭东 → OpenClaw:** > 从计划预测里面下单跳转到待下单管理里面时有异常,会有产品类型、货品名称跳转失败的情况,跳转到待下单管理里面后为空 **OpenClaw 响应:** - 前端:下单按钮从 `onclick="planOrder(JSON字符串)"` 改为 `window._planOrderDataCache[code]` 缓存传数据,避免特殊字符在 HTML 属性中解析出错 - 后端:`add_pending` 接口增加 products 表兜底查询,空字段自动补全 ### 4. 修改下单数量不记录日志 + 切页面回退 **旭东 → OpenClaw:** > 我在计划预测里面修改了实际下单数量并回车保存,操作日志里面没有对应记录,并且点击别的子菜单再回到计划预测里面之后,这个实际下单数量又恢复成保存之前的数量了 **OpenClaw 响应:** - `update_formal_qty` 接口原来只更新已存在的 pending_orders 记录,如果商品没加入过待下单,修改的数量被静默丢弃 - 改为:如果 pending_orders 已有该商品 → 更新;没有 → 以 status='draft'(草稿)插入一条新记录 - 计划预测 API 新增 `_merge_pending_formal_qty()`,同时查询 status='pending' 和 'draft' 的记录 - 操作日志记录修改下单数量操作 **旭东 → OpenClaw:** > 如果没有 → 自动创建一条 pending 记录...这里是不对的,我只是想要记录我修改了某个商品实际下单数量,不能直接跳转到待下单管理中 **OpenClaw 响应:** - 修正:status='draft' 的记录不会出现在待下单管理页面(只查 status='pending') - 计划预测 API 同时查询 pending+draft 两种状态 ### 5. 下单备份管理优化(3项) **旭东 → OpenClaw:** > 下单备份管理中点击详情按钮之后的弹窗,需要保持和待下单管理里面的详情的弹窗一直 > 在待下单管理里面更新了下单备注,确认下单之后,下单备注没有跟随跳转到国内/海外订单管理中 > 从下单备份管理中回退数据的时候,回退到待下单管理时,之前填写下单备注被清除了 **OpenClaw 响应:** - 详情弹窗改为和待下单管理确认弹窗一致:表格样式、交替行背景、统一宽度 - `confirm_order` 后端 INSERT 补上 `下单备注` 字段(domestic_orders + overseas_orders) - 回退操作仅更新 status 和 ordered_at,remark 字段不受影响 ### 6. 下单备注回车保存 **OpenClaw 响应:** - 新增 `remarkEnterSave` 函数,于 input 的 `onkeydown` 中调用 - 按 Enter 触发 `e.target.blur()`,`onchange` 自动调用 `savePendingRemark` ### 7. 下单备份管理表格字段补全+字段设置 **OpenClaw 响应:** - 补齐缺失字段:下单备注、建议下单数量、正式下单数量、下单人 - 新增 ⚙ 字段设置按钮,弹窗可勾选显示/隐藏字段 - 对应 `openBackupColModal` + `saveBackupColSettings` ### 8. 确认下单核弹窗恢复 **旭东 → OpenClaw:** > 点击确认下单之后核对信息...我之前设置的有核对包材下单数据的包材列表,现在点开没有了 **OpenClaw 响应:** - 回退了一次全量 git checkout,但随即取消恢复 - 重新应用所有今天优化项,确认下单核弹窗保持原样(不含额外包材明细,与今早版本一致) ## 涉及文件 - `static/js/app.js` - `routes/purchase.py` - `routes/dashboard.py` - `routes/products.py` - `routes/feedback.py` - `routes/auth.py` - `routes/planning.py` - `services/db.py` - `services/__init__.py`(如有)