# 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 响应:** ```bash git add routes/products.py static/js/app.js git commit -m "fix: 订单在途板块优化" ``` 提交 `3c4f052`,变更2个文件,+98/-88行。