feat(报表): 汇总大表导出异步化 + 结果缓存 + 进度弹窗
用户提问「点导出要等一会才反应,数据多了会不会卡死」:
- 新增 ReportExportTaskService:固定 1 线程池后台生成,提交即返回 taskId,前端轮询进度;
同一报表期并发提交自动去重;结果保留 30 分钟、10 分钟内可复用。
- 缓存带数据版本守卫:版本取 import_batch 最大 id,期间有新导入即失效(取不到版本禁用缓存)。
- ReportExportService 新增带进度回调的 exportSummaryWorkbook 重载(进度点 2/6/12/22/45/70/95%)。
- ReportExportController 新增 /exportTask/summaryWorkbook、/exportTask/{id}、/exportTask/{id}/file 三个接口,原同步接口保留。
- 前端 ReportExport.vue 进度弹窗:步骤/百分比/用时/缓存来源/失败原因 + 保存文件/重新生成/后台运行/关闭。
同时修复一个严重回归:新增 computed 与文件中已有 computed 同名重复(后者覆盖前者),
导致 myModules/visibleModules 丢失、报表生成页 created() 抛错整页白屏;已并入同一 computed 块并浏览器复验。
测试:《功能测试报告_汇总大表异步导出与缓存_2026-09-20.md》17 条用例通过
(接口 8 + 浏览器实测 7 + 复验 2)。