22 lines
3.1 KiB
Markdown
22 lines
3.1 KiB
Markdown
# 2026-09-17-计划预测下单信息弹窗海外品牌显示内料并同步包材订单 <!-- project: path:/home/gxd/.openclaw/workspace/dy-dashboard -->
|
||
|
||
### 1. 计划预测下单信息弹窗:海外品牌商品显示内料并在下单后同步到包材订单管理
|
||
|
||
**旭东 → OpenClaw:**
|
||
> 再修改一个逻辑,在计划预测菜单里面的下单信息弹窗中
|
||
> 1、如果商品的品牌为海外品牌,则下单信息里面包材下单信息列表中需要有内料显示,并且当我点击下单之后,内料信息也需要同步到包材订单管理中
|
||
> 2、如果商品的品牌不为海外品牌,则保持之前的逻辑不变
|
||
|
||
**OpenClaw 响应:**
|
||
已实现,判断口径统一走「品牌管理的品牌分类=海外」:
|
||
|
||
1. **显示**:计划预测 → 下单信息弹窗的「包材下单信息」列表,海外品牌商品会把**内料**(名称含「内料」或编码含 `-NL`)一并列出;「确认加入待下单列表」弹窗的包材下单数据同样包含内料,内料行可正常填写实际下单数量、包材备注、更换稿件等。
|
||
2. **下单同步**:点击下单确认后,内料会像普通包材一样写入**包材订单管理**(生成包材订单行,带单价、数量、合计、供应商、仓库到货、下单备注、更换稿件、采购下单人/采购计划、来源产品编码),并参与包材结余(下单前/下单后包材)滚动。
|
||
3. **非海外品牌**:完全保持原逻辑——接口不返回内料、内料不参与包材下单,行为与改动前一致。
|
||
|
||
**实现方式**:`detail_with_bom` 新增 `include_inner=auto`,由后端按品牌分类判定是否返回内料(下单信息弹窗与确认弹窗都用它,前端不再本地判断,避免品牌清单未加载时的误判);`confirm_order` 里内料过滤改为「非海外品牌才跳过」。
|
||
|
||
**验证**:接口实测——MUTO(海外)、PUNOMO(海外)用 auto 各多返回 1 行内料且默认调用仍不含内料;洁维塔博士(国内)、泊紫汀兰(国内)auto 与默认完全一致(无内料)。确认下单侧代码结构校验通过(`is_overseas` 在同一循环内先于内料判定赋值,守卫语句为「内料且非海外才 continue」)。Python/JavaScript 语法检查、app.js 的 gzip 缓存重生成通过,测试环境服务平滑重载无错误日志。
|
||
|
||
**✅ 提交情况(已按旭东确认处理)**:本次改动分布在两个后端文件——`routes/products.py` 与 `static/js/app.js` 先提交为 Git 提交 `c72bdcf`;`routes/purchase.py` 本身带有历史未提交改动(包材订单单价自动带入、供应商全称解析、仓库到货、计划下单时间列与排序,以及修复已提交版本中的语法错误),当时按「不夹带无关改动」规则未并入,并在回复中说明。同日 16:52 旭东确认「一起提交」,已将该文件(内料同步 + 上述历史改动)提交为 `59656d7`。工作区其余未提交文件(lint_knowledge.py、reimport.py、static/js/feedback.js)与本次功能无关,保持未提交。未操作生产环境及云端。
|