dy-dashboard/vault/知识库/工作指南/训练记录/2026-07-09-订单在途统计逻辑与表格显示优化.md
2026-10-28 11:14:17 +08:00

3.1 KiB
Raw Permalink Blame History

2026-07-09 订单在途统计逻辑与表格显示优化

1. 订单在途:统计逻辑修正

旭东 → OpenClaw: 订单在途还是统计的不对,比如JWTBS-XFL-9861-ALJK这个品,在国内订单管理里面搜索出来5条,但是状态不为已完结的有3条,那么在计划预测点击SKU之后弹窗的订单在途里面,就应该显示3条数据,分别对应不同日期,不同下单数量,是这个逻辑,你理解一下重新处理一下订单在途板块

OpenClaw 响应: 定位到问题原因:后端查询条件的过滤逻辑错误。

错误逻辑:WHERE 编码=%s AND (未到货数 IS NULL OR 未到货数 > 0)

  • 返回了2条记录,其中包含了1条状态=已完结(退货数据未到货数>0)
  • 漏掉了状态=None但未到货数=0的记录

正确逻辑:WHERE 编码=%s AND COALESCE(状态, '') != '已完结'

  • 返回3条记录:2026-06-11(不用下单)、2026-06-15(数量7000)、2026-06-16(不用下单)

修改范围:

  • routes/products.py:detail_with_bom 和 product_detail 两个API的查询条件
  • 国内订单、海外订单、包材订单三个表统一修改

2. 订单在途:新弹窗数据源修正

旭东 → OpenClaw: 我强制刷新之后,在计划预测里面点击这个9861商品SKU,订单在途还是空的

OpenClaw 响应: 进一步定位到新弹窗(showProductDetail)的「订单在途」板块是异步加载 /api/purchase/orders/by_product(采购订单表),而国内订单数据在domestic_orders表中,已通过/api/product/detail_with_bom返回了。

前端修改(static/js/app.js):

  • showProductDetail 和 showProductDetailFull 两个弹窗
  • 不再调用/api/purchase/orders/by_product
  • 直接使用bomRes.data.orders_in_transit数据
  • 修复完成,刷新后正确显示3条记录

3. 订单在途:表格样式优化

旭东 → OpenClaw: 这个订单在途板块还需要优化 1、做成表格样式,表头分别为下单时间、货品编码、货品名称、下单数量、未到数量、下单进度、预计到货时间 2、表头使用浅灰色文本填充 3、表格样式要清晰,线条要明显 4、所有列及其内容全部居中显示

OpenClaw 响应:

后端(routes/products.py):查询增加3个字段

  • 未到数量 ← COALESCE(未到货数, 0)
  • 下单进度 ← COALESCE(进度, '')
  • 预计到货时间 ← COALESCE(预计到货日期, '')

前端(static/js/app.js):两个弹窗的订单在途改为表格:

下单时间 货品编码 货品名称 下单数量 未到数量 下单进度 预计到货时间
  • 表头浅灰背景#f5f5f5,文字浅灰色#999
  • 表格线1px solid #d9d9d9,行线#e8e8e8
  • 所有列居中
  • 未到数量>0红色、=0绿色

4. Git提交

旭东 → OpenClaw: 对现有内容备份一下和git commit一下

OpenClaw 响应:

git add routes/products.py static/js/app.js
git commit -m "fix: 订单在途板块优化"

提交 3c4f052,变更2个文件,+98/-88行。