# 功能测试报告:数据查看冻结列与数据类型下拉框(2026-09-22) > 日期:2026-09-22 模块:数据查看(前端 DataView.vue) 测试人:Codex > 诉求来源:①横向滚动时企业名称看不到;②数据类型改成一个下拉框更简洁;③跨期汇总的时点列处理口径。 ## 一、功能说明 1. **左侧冻结标识列**:`renderColumns` 计算属性按表自适应冻结"这是谁的数据"所需的连续前导列,横向滚动时不会跑出视野。 - 冻结集合:`reportPeriod` / `regionCode` / `city` / `regionName` / `periodType` / `enterpriseName` / `projectName` / `plateNo`; - 模板由 `visibleColumns` 改为 `renderColumns`,并传 `:fixed="c.fixed ? 'left' : false"`。 2. **数据类型分组下拉框**:去掉"模块单选按钮 + 单类型下拉"的两级结构,合并为一个 `el-select`(`el-option-group` 按模块分组,`filterable` 支持输入搜索),选中类型时同步 `activeModule`。 3. **跨期汇总口径确认**(按用户决定):汇总视图**不放时点列**(运营车辆数、营运车辆数、企业数),只放流量列与按累计口径重算的比率列。 ## 二、测试环境 - 后端:`start-dev.ps1` 启动,8090,日志 `Started TrafficAuditApplication` / `Tomcat started on port(s): 8090` - 前端:同一脚本启动,8080,`Compiled successfully` - 数据库:本机 MySQL `localhost:3308/traffic_audit`;登录 `admin/123456` - 浏览器:Codex 内置浏览器真机操作(DOM + 无障碍树校验,非仅代码审查) ## 三、用例表 ### 3.1 正向用例 | 编号 | 输入 | 预期 | 实际 | 结论 | | --- | --- | --- | --- | --- | | TC-1 | 展开"数据类型"下拉 | 单下拉、按模块分组 | 5 组 18 项:道路货运 5 / 公路旅客 3 / 城市客运 5 / 投资 3 / 能耗 2;无单选按钮残留 | 通过 | | TC-2 | 切到"个体客运量/周转量" | 立即查询并出数 | 共 139 条,冻结列=报表期/所属地区/市州/企业名称 | 通过 | | TC-3 | 切到"货运量周转量"(宽表) | 出数、冻结标识列 | 共 234 条,正文 48 列,冻结列=报表期/市州 | 通过 | | TC-4 | 切到"网约车总数" | 出数 | 共 20 条,冻结列=报表期(该表无名称类字段) | 通过 | | TC-5 | 切到"城市公共交通月度运营情况" | 出数、冻结企业名称 | 共 2860 条,冻结列=报表期/所属地区/市州/企业名称 | 通过 | | TC-6 | 切到"巡游出租汽车运营服务情况月报" | 出数 | 共 340 条,冻结列=报表期/所属地区/市州 | 通过 | | TC-7 | 切到"网约车订单及全省总量" | 出数、宽表 | 共 20 条,正文 22 列(订单合计 + 17 市州),冻结列=报表期 | 通过 | | TC-8 | 货运行(h2032)横向滚动 | 冻结组常驻 | `el-table__fixed` 表头=报表期/所属地区/企业名称,且冻结表内有数据行(如 2025-04 / 429021 / 神农架大运物流有限公司) | 通过 | | TC-9 | 页面初次进入 | 默认类型可查 | 默认"道路货物运输月度生产情况",共 13056 条 | 通过 | ### 3.2 负向/边界 | 编号 | 输入 | 预期 | 实际 | 结论 | | --- | --- | --- | --- | --- | | TC-10 | 无名称类字段的表(网约车总数/订单) | 只冻结报表期,不误冻结数值列 | 冻结列仅"报表期" | 通过 | | TC-11 | 未登录直接访问 `/api/data/list` | 401 | 401 `未登录或登录已过期` | 通过(既有安全策略) | | TC-12 | 下拉输入关键字筛选 | 支持输入搜索 | `filterable` 生效(按选项名过滤) | 通过 | ### 3.3 汇总口径核对(时点列为何不汇总) 武汉市公交运营车辆数(`city_bus_monthly`,2026 年):1 月 8476 → 2 月 8283 → 3 月 8248 → 4~6 月 8050 → 7~8 月 7861。 | 算法 | 结果 | 是否有业务含义 | | --- | --- | --- | | 逐月相加 | 64879 辆 | 否(同一批车重复计 8 次) | | 取期末(8 月) | 7861 辆 | 是 | | 取期间平均 | 约 8100 辆 | 可选 | 结论:时点列不参与累加,汇总视图不显示(用户决定)。 ## 四、发现的问题与处置 1. 冻结列依赖"标识列连续出现在最前面"这一列序假设;若后续调整列序或新增类型,需同步维护 `stickyProps` 与 `nameProps`。已在 `renderColumns` 注释中说明,暂不改动。 2. 本次改动包含一处**此前未提交的冻结列实现**(09:56 落在工作区),测试通过后一并提交,避免遗漏。 ## 五、结论 数据类型下拉框、按表自适应的左侧冻结列均通过真机用例;切换 7 个类型行数与接口一致,无回归。跨期汇总的时点列处理口径已确定:不参与汇总、不显示。