7.0 KiB
1. 计划预测新增批注列(列表/编辑/详情/下单信息弹窗)
旭东 → OpenClaw:
继续优化8.186环境下的系统以下几点 1、在计划预测里面品牌列后面添加一列为批注列 2、批注列需要在编辑弹窗里面可以进行修改 3、批注需要在详情弹窗中体现 4、下单信息弹窗中,成品下单信息列表下,货品名称右侧添加一列为批注列,同步外面列表里面的批注内容
OpenClaw 响应: 已在 8.186 测试环境完成批注功能,四点需求全部落地:
- products 表新增
remark字段(varchar(500),迁移脚本同步更新) - 计划预测列表:品牌列右侧新增「批注」列(默认显示,跟随字段设置/冻结列/权限体系)
- 编辑弹窗:批注可编辑(PLAN_EDITABLE_FIELDS + 保存链路 batch_update 已支持 remark 字段)
- 详情弹窗:基础信息区展示批注(showProductDetail / showBomProductDetail)
- 下单信息弹窗:成品下单信息表格货品名称右侧新增「批注」列,读取 products.remark 与外面列表批注内容同源同步
- 接口验证:planning_list / detail_with_bom / planning_detail 均返回批注;编辑保存后回读一致;测试数据已清理
- Python/JavaScript 语法检查通过,测试服务重启后 HTTP 200
- Git 提交:
5a0a7d1(计划预测新增批注列)
已记录
2. 批注展示优化(编辑弹窗置底大文本框 + 下单信息弹窗独立批注编辑框)
旭东 → OpenClaw:
继续优化以下几点 1、编辑弹窗中的批注需要放在最后一个字段,并且整个文本框需要设置大一些,或者设置成根据内容自适应高度,能够将内容全部显示出来 2、下单信息弹窗里面的批注需要单独展示出来,在成品下单信息、包材下单信息中间单独做一个批注信息,用一个等宽的文本编辑框来显示
OpenClaw 响应: 已在 8.186 测试环境完成批注展示优化:
- 编辑弹窗:批注字段固定排在所有可编辑字段的最后,文本框改为大号 textarea,跨满整行(grid-column:1/-1),高度根据内容行数和长度自适应(min-height 120px,可手动拖拽),内容可全部显示
- 下单信息弹窗:批注从成品下单信息表格列中移出,在「成品下单信息」和「包材下单信息」之间单独新增「📝 批注信息」区块,使用等宽字体(Consolas/Menlo)文本编辑框展示批注内容
- 保存链路:下单信息弹窗保存时,批注编辑框内容自动同步到
products.remark(调用 batch_update),与计划预测批注列、编辑弹窗批注同源一致 - 编辑弹窗保存逻辑已同步支持 textarea 收集(原只收集 input)
- JavaScript 语法检查通过,测试服务重启后 HTTP 200
- Git 提交:
8551ca5(批注展示优化:编辑弹窗批注置底大文本框自适应高度,下单信息弹窗批注独立等宽编辑框并保存同步)
已记录
3. 修复下单信息弹窗批注保存失败
旭东 → OpenClaw:
下单信息弹窗里面,修改编辑批注信息之后,点击保存按钮也需要能够保存,目前点击保存保存失败
OpenClaw 响应: 已修复下单信息弹窗批注保存失败问题:
- 根因1:saveBomData 中批注读取逻辑放在弹窗关闭(DOM移除)之后,读取不到批注编辑框内容
- 根因2:批注保存走
/api/product/batch_update,该接口仅管理员有产品编辑权限,非管理员保存会 403 - 修复:批注读取移到弹窗关闭之前;新增轻量接口
/api/product/remark/save(使用下单信息编辑权限 purchase/edit,与弹窗权限一致),只更新 products.remark;保存按钮启用条件从「实际下单数量可编辑」放宽为「实际下单数量或批注任一可编辑」 - 端到端验证:保存 → DB写入 → detail_with_bom 回读一致 → 清理还原
- Python/JavaScript 语法检查通过,服务重启 HTTP 200
- Git 提交:
b589701(修复下单信息弹窗批注保存失败)
已记录
4. 批注保存后外面批注列即时同步
旭东 → OpenClaw:
发现一个异常,我在下单信息弹窗中修改了批注信息,外面的批注列里面的内容并不能及时同步,需要刷新之后才会变化
OpenClaw 响应: 已修复批注列不同步问题:
- 根因:下单信息弹窗保存批注成功后,没有刷新外面的计划预测列表,批注列仍显示旧值
- 修复:批注保存接口返回成功后立即调用
loadPlanPage刷新当前页列表,批注列内容即时同步,无需手动刷新 - 服务重启 HTTP 200,Git 提交:
61f5149(批注保存后即时刷新计划预测列表,外面批注列无需手动刷新)
已记录
5. 批注功能同步到云端系统(82.156.135.91)
旭东 → OpenClaw:
把刚刚这个批注功能同步添加到云端系统里面,包括批注列、编辑弹窗里面的批注、详情弹窗里面的批注、下单信息里面的批注
OpenClaw 响应: 已将批注功能完整同步到云端系统(82.156.135.91):
- 数据库:products 表新增
remark字段(迁移前已备份) - 计划预测列表:品牌列后新增「批注」列(planning.py 两处 SELECT 返回 p.remark AS 批注)
- 编辑弹窗:批注字段置底大文本框,保存走 batch_update(allowed_fields 已加 remark)
- 详情弹窗:detail_with_bom / planning_detail 均返回批注,基础信息区展示
- 下单信息弹窗:成品/包材区之间新增「批注信息」等宽编辑框,保存走新增
/api/product/remark/save接口(下单编辑权限),保存后即时刷新列表 - 同步方式:products.py 最小 patch(仅批注相关,不夹带 bca300e 供应商改动);app.js / planning.py / migrate_db.py 与本地 dc5ed50 基线一致,直接覆盖本地最新版本
- 更新前已备份:
~/dy_backups/remark_sync_pre_20260826_1556/ - 验证:Python/JS 语法通过,服务重启 HTTP 200;端到端实测 remark/save 保存 → planning_list / detail_with_bom / planning_detail 回读一致 → 测试数据清理还原
已记录
6. 均线表产品批注导入(8.186 + 云端)
旭东 → OpenClaw:
我现在发你一个表格,需要你根据货品编号匹配,将对应的批注导入到8.186环境系统和云端系统里面
OpenClaw 响应:
已根据 260826-均线表产品批注.xlsx(2571 行)按货品编号匹配并导入批注:
- 表格共 2571 行,非空批注 867 行(510 行含多行内容)
- 8.186 测试环境:864 行匹配成功导入,3 行未匹配(POZ-MS-0224-TM、POZ-MM-1673-TM-P、JWTBS-LLT-5844-ALJK-P)
- 云端 82.156.135.91:865 行匹配成功导入,2 行未匹配(POZ-MM-1673-TM-P、JWTBS-LLT-5844-ALJK-P)
- 批注写入
products.remark,两端导入前均备份;空批注行不覆盖 - 两端服务 HTTP 200,抽查回读一致
- 未匹配行主要为片状面膜/理疗贴等 -P 后缀编码,云端/8.186 products 表中不存在
已记录