# 功能测试报告:数据查看口径筛选、空列隐藏与表头单位(2026-09-22) > 日期:2026-09-22 模块:数据查看(前端 DataView.vue + 后端 DataViewController) 测试人:Codex > 诉求来源:用户复核第 2、3 点——空列能否不显示、口径能否提到上面、所有表头是否都带单位。 ## 一、功能说明 1. **源文件未提供的空列不再显示**:规上规下拆分表的 `规上货运量 / 规下货运量 / 合计货运量` 三列(源文件《模板_规上规下拆分运输量.xlsx》没有货运量列,库内全空)不展示; 列定义与接口字段保留(若填报方后续补上货运量列,取消前端隐藏即可恢复)。 2. **口径上移为筛选**:拆分表的 `口径`(当月/累计)不再是表格列,改成工具栏下拉(全部 / 当月 / 累计),后端 `/api/data/list` 新增 `periodType` 参数(`MONTH` / `CUMULATIVE`); "全部"时仍会同时返回两种口径的行。切换数据类型时口径自动复位为"全部"。 3. **所有表头补单位**:按库内字段注释 + 源文件表头 + 交叉核对,为各表数值列补齐单位,共 12 类表、60 余列: | 模块 | 单位口径 | | --- | --- | | 城市公交/巡游出租 | 客运量(万人次)、旅客周转量(万人公里)、平均运距(公里)、运营车数(辆)、载客车次(车次)、站点(个)、单车次载客人数(人/车次) | | 公路旅客企业 h2031 | 客运车辆(辆)、载客位(座)、客运量(人)、周转量(人公里)、平均运距(公里) | | 货运企业 h2032 | 车辆(辆)、吨位/标记吨位/各类货运量(吨)、周转量(吨公里)、平均运距(公里) | | 货运量周转量(宽表) | 货运量N月(万吨)、周转量N月(万吨公里)(含去年同月列) | | 规上规下拆分 | 规上/规下/合计周转量(万吨公里)、货运量(万吨)、排名(名)、同比(%) | | 运政车辆 / 轨迹里程 | 牵引车、挂车、其他车(辆)、吨位(吨)、月度里程(公里)、有里程车辆(辆) | | 旅客运政车辆 | 车辆数(辆)、载客位数(座) | | 个体客运 | 个体客运量(人)、个体旅客周转量(人公里) | | 投资 | 投资额(万元)、建筑面积(平方米) | | 能耗车辆/运政车辆 | 标记吨位(吨)、货运量(吨)、周转量(吨公里)、里程(公里)、车次(次);燃料类按填报燃料单位标注 | | 网约车 | 订单数(单)、订单占比(%)、客运量(万人次)、旅客周转量(万人公里) | ## 二、测试环境 - 后端 `start-dev.ps1`(8090);前端 dev server(8080);MySQL `localhost:3308/traffic_audit`;账号 admin/123456;浏览器:Codex 内置浏览器真机。 ## 三、用例表 ### 3.1 接口用例 | 编号 | 输入 | 预期 | 实际 | 结论 | | --- | --- | --- | --- | --- | | TC-1 | `type=scaleSplit&period=2026-08` | 两种口径共 36 行 | total=36 | 通过 | | TC-2 | 同上 `&periodType=CUMULATIVE` | 仅累计 18 行 | total=18 | 通过 | | TC-3 | 同上 `&periodType=MONTH` | 仅当月 18 行 | total=18 | 通过 | | TC-4 | 拆分表列名 | 带单位 | 规上货运量(万吨)、规上周转量(万吨公里)、规上排名(名)、规上同比(%) | 通过 | | TC-5 | `type=transportAuth` 列名 | 带单位 | 牵引车数(辆)、挂车吨位(吨)、其他吨位(吨) | 通过 | | TC-6 | `type=freightTurnover` 列名 | 带单位 | 货运量1月(万吨) … 周转量N月(万吨公里) | 通过 | | TC-7 | `type=h2031` 列名 | 带单位 | 客运车辆合计(辆)、核定载客位合计(座)、客运量合计(人)、周转量合计(人公里) | 通过 | ### 3.2 真机用例 | 编号 | 输入 | 预期 | 实际 | 结论 | | --- | --- | --- | --- | --- | | TC-8 | 货运企业月报 | 表头带单位、冻结市州+企业名称 | 车辆数合计(辆)、标记吨位数合计(吨)…;冻结=市州、企业名称;工具栏无"口径" | 通过 | | TC-9 | 规上规下拆分 | 工具栏出现口径筛选、口径列消失、空列消失 | 工具栏:报表期 / 数据类型 / 口径[全部];表头从"规上周转量(万吨公里)"开始(三列货运量不再出现) | 通过 | ## 四、发现的问题与处置 1. 拆分表三个货运量列**不能在页面上区分"空"与"零"**:源文件未提供该列,故显示为全空。本次按用户意见不展示;若业务需要,需先让填报方在模板中增加货运量列(导入已支持"扩展布局"自动识别)。 2. "表头单位"以库内字段注释为准(如 `h2032.freight_total` 注释"货运量_总计(吨)");能耗表的燃料类字段(燃料消耗量、百公里油耗、周转量油耗)库内无单位注释,标注为"(按燃料单位)",未擅自写成升。 3. 口径筛选默认"全部"(两种口径同屏),因为原有页面行为即如此;需要只看向上或累计时再切换。 ## 五、结论 三项诉求全部落地并通过接口 + 真机用例:空列不再显示、口径上移为筛选(接口 `periodType` 参数)、12 类表表头全部带单位。原有筛选、冻结、格式化逻辑无回归。