dy-dashboard/vault/知识库/工作指南/训练记录/2026-08-26-计划预测新增批注列.md
2026-10-28 11:14:17 +08:00

109 lines
7.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### 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 表中不存在
已记录