# 功能测试报告_汇总大表日期格式与规则联动及数据查看滚动加载_2026-09-08 - 功能范围:本批 7 项要求(日期统一显示、VBA 列宽宏、数据查看滚动加载、小数位/排名复核、要求基线清单、RULE_004 双向提醒、RULE_P005 阈值与名称/说明联动) - 测试环境:本机 traffic-audit(后端 8090、前端 8080 热编译运行中);MySQL 5.7 @ localhost:3308 traffic_audit;Chrome 内嵌浏览器真机(Playwright/CUA)实测 UI - 验证基线:`docs/要求与验收基线清单.md`;决策基线《确认回执汇总…_2026-09-07》 ## 用例与结论 | # | 用例(输入) | 预期 | 实际 | 结论 | |---|---|---|---|---| | 1 | 生成汇总大表 2026-07/08,检查货运页 CQ 列等日期锚点显示 | 期次显示 `yyyy"年"m"月"`,不得显示成数字 | 两文件全簿扫描:日期型单元格坏格式=0;`货运`页 CQ3 等 = datetime(2023-10-01) 且格式 `yyyy"年"m"月"`;无 General 数字残留 | ✅ 通过 | | 2 | 全簿格式体检(导出的 7/8 月大表) | 数值 0.00 / 百分比 0.00% / 排名 0;无 3/4 位小数、无底色 | bad3=0、General 数值=0、fills=0(两份文件) | ✅ 通过 | | 3 | 排名与数值尾数抽查:货运量排名/货运周转量排名/中口径排名/道路运输周转量 | 排名整列整数,数值列显示两位小数且保留全精度 | 货运量排名 C/F/H/K/M/P 列格式 `0`(34 行);货运周转量排名/道路运输周转量排名为 `=RANK()(0)` 公式列;数值/同比列 0.00/0.00%;周转量无 3/4 位小数 | ✅ 通过 | | 4 | VBA 宏交付物 | 提供可导入模块,含全表/当前表两个宏与用法 | `docs/工具/VBA_生成物全表自动列宽_2026-09-08.txt`(AutoFitAllSheets + AutoFitActiveSheet + 说明) | ✅ 通过 | | 5 | 数据查看页滚动到底自动加载 | 普通/全屏滚动至底部追加下一页,行数递增、总数不变、无 JS 报错 | Chrome 真机:行数 20→40→60→80→100→120→140,共 13056 条不变;控制台 error/warning=0 | ✅ 通过 | | 6 | RULE_004 双向(货运类型环比)审核 2026-07 | 上月无→本月有、上月有→本月无均提醒 | 命中 7 家:新增 6、消失 3(1 家双向);样例 `91420700090568838U 本月消失: 集装箱(上月=32210,本月无)` 与库中 6/7 月数据逐字吻合;`91429006793269842X` 新增煤炭+消失油气双向命中且吻合 | ✅ 通过 | | 7 | RULE_P005 阈值联动:20 → 30 → 20 | 名称/说明里的 ±N% 随阈值自动改写并持久化 | 列表 20 时名称=平均运距环比超±20%核实;改 30 后列表与 DB 均为 ±30%;改回 20 恢复 ±20%;DB id=11 threshold=20 持久化确认 | ✅ 通过 | ## 关键数据与抽查证据 - 格式体检(两份导出)汇总行:`SUM: bad3=0 genNum=0 dtBadFmt=0`,各排名页格式 TOP 见下表: - 货运量排名:`0`×204 / `0.00`×108 / `0.00%`×210 - 货运周转量排名:`0.00`×85 / `0.00%`×108(排名列为 RANK 公式,格式 0) - 道路运输周转量:`0.00`×216 / `0.00%`×107,无 3/4 位小数 - RULE_004 库核对 SQL:6/7 月各 636 家;审核结果(`audit_result` join `audit_rule` id=4)2026-07 共 7 条: - `本月新增: 集装箱=9716`、`本月新增: 铁矿石=2114`、`本月消失: 集装箱(上月=32210,本月无)`、 - `本月新增: 金属矿石=223041`、`本月新增: 石油天然气及制品=10757;本月消失: 煤炭及制品(上月=10137,本月无)`、 - `本月新增: 煤炭及制品=20231;本月消失: 石油天然气及制品(上月=22310,本月无)` 等 - RULE_P005 API 序列:`GET /api/rules/list?reportType=H2031`(id=11)threshold=20 名称±20% → `POST /api/rules/update {id:11,threshold:"30"}` 后名称/描述±30% → 改回 20 后恢复 ±20%;`audit_rule` 表核对一致。 - 数据查看:`GET /api/data/list?type=h2032&page=1&size=20` total=13056、页间 0 重复;UI 滚动实测见 #5。 ## 涉及改动 - `docs/生成汇总大表/2026年7月道路运输量汇总表.xlsx`、`2026年8月道路运输量汇总表.xlsx`(版式归一:日期锚点/0.00/排名 0/去底色,本次复验导出按此母版) - `traffic-audit-server/.../auditengine/service/AuditEngineService.java`(RULE_004 新增/消失双向) - `traffic-audit-server/.../rulemanage/controller/RuleManageController.java`(阈值 ±N% → 名称/说明联动) - `traffic-audit-web/src/views/DataView.vue`(滚动捕获监听修复 + 加载更多,见下) - `docs/init.sql`(RULE_004 说明、RULE_P005 名称/说明种子同步) - `docs/工具/VBA_生成物全表自动列宽_2026-09-08.txt`(新增) - `docs/要求与验收基线清单.md`(新增,含本批登记) ## 修复过程记录(DataView) - 初版仅监听 window 与 `.table-wrap`;实测发现普通/全屏下真正滚动容器是 el-table 内部 `.el-table__body-wrapper`(overflow-y:auto),初版在普通模式不会触发。 - 修复:`onScroll` 改为取事件 target 的实际滚动容器度量(scrollTop/clientHeight/scrollHeight),scroll 监听加 `capture:true`(scroll 不冒泡但可捕获),mounted/beforeDestroy 成对注册/移除。 - 修复后 Chrome 真机复测(见 #5)通过,控制台无异常。 ## 发现的问题与处置 - 无阻塞问题。待办沿用基线:8 月数据导入后 M2/M3 填值复验;日期锚点在 8 月母版中显示为序列号期的显示口径已在基线 F3 关闭。 ## 结论 本批 7 项要求全部实现并通过实测,可交付。相关产物:导出验证文件在 `docs/生成汇总大表/输出/生成_道路运输量汇总表_2026-07_格式验证.xlsx` 与 `_2026-08_格式验证.xlsx`。