dy-dashboard/vault/知识库/工作指南/训练记录/2026-07-21-表头筛选功能全面优化汇总.md
2026-10-28 11:14:17 +08:00

65 lines
4.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.

## 2026-07-21 表头筛选功能全面优化(全天汇总)
### 旭东 → OpenClaw:
(全天多个优化请求合并汇总)
1. 计划预测、国内订单管理、海外订单管理、包材订单管理4个菜单下的表头筛选三角形按钮大小调整至20px
2. 联动筛选—筛选了某个列后,再点其他列的下拉选项,会基于已筛选的数据显示,但是目前我在货品编号列筛选之后,产品类型列显示的还是全部选项,并且都是勾选状态
3. 采购计划列筛选胡孟怡后,采购跟单列筛选显示人员不是组别;采购跟单列筛选跟单三组人员只是排序到前面不是筛选;点击表头筛选卡一下加载中
4. 数字列的筛选没有做到全量筛选,还是只对当前页面内容进行筛选
5. 采购跟单列表头筛选显示还是人名,没有显示组别
6. 需要加一个筛选状态显示,比如我对某几列筛选时,我需要能看见我筛选了哪几列
7. 默认标签改回为"内容筛选",值只从当前页DOM提取是错误的,需要从全量2785条数据里面筛选
8. 筛选昨日销量39出11条数据后,再点总库存列筛选,显示的是全部2785条数据而不是当前11条
9. 联动和全量不冲突:无筛选状态是全量,有筛选后再筛就是联动
10. 产品类型列筛选成品+现货后,再次点击表头筛选只显示成品勾选
11. 数字列的升序降序功能需要加上
12. 数字列的内容筛选又显示暂无数据
### OpenClaw 响应:
#### 一、筛选三角按钮调整
- 4个菜单的筛选▾字符大小统一调整为20px(涉及计划预测/国内/海外/包材订单的app.js 4处+计划预测表头重建1处)
#### 二、联动筛选修复
- 订单页面:`openOrderFilterMenu` 调用后端 `column-values` 时传入 `order_filter` 参数
- 计划预测:预定义列有筛选时从DOM提取已筛选行的唯一值;数字列拉值传 `plan_filter` 参数
- 后端列值API支持 `plan_filter` 联动过滤
#### 三、人员字段优化
- 前端:`column-values` 结果对 `procurement_follower/planner` 做人员→组别转换(处理逗号分隔多值)
- 后端:`__multi__` 过滤的 `db_col_map` 加入人员字段,组名展开为具体人名做SQL LIKE匹配,客户端过滤循环也加组名展开
- 计划预测初始加载+表头重建时的人员字段筛选下拉都显示组别
#### 四、筛选状态可视化
- 计划预测初始加载+表头重建:筛选中的列图标变为蓝色▼、表头浅蓝底色
- 订单页面:已有 `_syncOrderFilterIcons` 机制,筛选列图标蓝色
#### 五、数字列全量筛选
- 后端 `if not values: continue` 跳过 `num` 类型 → 改为 `if ft != 'num' and not values: continue`
- `db_col_map` 扩展加入成本价、生产货期、物流时间、最低起订量
- 前端向后端传 `order_filter` 参数支持订单页数字筛选
#### 六、数字列内容筛选优化
- 内容筛选值来源改为从 `/api/planning/column-values` 后端拉全量唯一值(不再读当前页DOM)
- 默认标签改回"内容筛选"
- `planNumFilterApply` 改为双模式:内容标签创建list筛选,条件标签创建num筛选
- 内容筛选联动支持:有已有筛选时传 `plan_filter`
- 添加升降序按钮(▲升序/▼降序)
- 后端列值API新增40+计算字段(昨日销量/库存/日销量预测等)的全量enrichment查询
- 提升级SW缓存版本(v7→v8)和JS版本号(v1653→v1654)排除缓存干扰
#### 七、筛选状态回显
- 预定义列已有筛选时重新打开,显示完整选项列表+已选项勾选状态(不再只显示过滤后的选项)
#### 八、加载闪烁
- 去掉 `_createFilterMenuShell` 中的"加载中..."占位文字
#### 涉及文件
- `static/js/app.js`:前端全部筛选逻辑
- `routes/planning.py`:后端计划预测筛选+列值API
- `static/sw.js`:Service Worker缓存版本
- `templates/base.html`:JS版本号
- 4个菜单(计划预测/国内/海外/包材订单)同步优化
- 部署于192.168.8.186测试环境,多次重启Gunicorn生效