yueli
97ff63523c
fix(export): 公司隔离移出 if filters 判定,确保无条件执行
export_excel 的行级公司隔离原本嵌套在 `if filters:` 内部:
只要调用方不传或传空筛选条件,整段隔离会被跳过且不抛错 —— 静默失效。
(实测: 修复前 export_excel({}, None) 会导出跨公司全部 1816 行。)
现把 get_current_company_filter() 及其 filter_conditions.append 提到
if filters: 之前,无论有无筛选条件都绝对执行。
同时清理路由里 filters 字典的 'company' 死键 —— export_excel 从不消费它,
真正生效的是 get_current_company_filter() 直接读 request.args 上的公司标识。
注意:前端 handleExport 的 company 参数必须保留(已在代码中加注说明)。
实测 WAREHOUSE_MGR 带 ?company=IRIS 导出 1126 行仅 IRIS,不带则 1816 行
涵盖 IRIS+LICA —— 跨域角色按公司收窄范围完全依赖这个 query 参数。
实测(修复后):
SALES/IRIS filters={} → 1126 行, 仅 IRIS
SALES/IRIS filters={keyword:''}→ 1126 行, 仅 IRIS
WAREHOUSE_MGR ?company=IRIS → 1126 行, 仅 IRIS
WAREHOUSE_MGR (无参数) → 1816 行, IRIS+LICA
2026-09-11 12:41:27 +08:00
..
2026-09-11 11:33:19 +08:00
2026-01-26 17:00:12 +08:00
2026-09-07 15:53:11 +08:00
2026-03-10 11:59:41 +08:00
2026-05-15 14:19:25 +08:00
2026-08-03 13:25:54 +08:00
2026-09-10 15:37:11 +08:00
2026-09-11 11:33:19 +08:00
2026-09-04 11:02:03 +08:00
2026-09-11 12:41:27 +08:00
2026-09-11 10:35:34 +08:00
2026-03-10 11:59:41 +08:00
2026-03-12 12:50:27 +08:00