生成时间: 2026-08-03 · 数据来源: xnybw平台需求及工作计划.xlsx(南网在线绿能云缺陷跟踪表)· 仅针对 backup730/730backup 分支代码

① 基本信息

问题描述省份为云南,调管单位为广东,提交并网信息后,广东账号并没有相关审核信息。测试人员建议:OMS2.0侧,计划并网容量审核、并网资料信息审核、实际并网容量审核列表,筛选条件的"省份"不要给默认值
一级模块计划并网信息
二级模块计划并网审核
涉及类型全部类型
严重性严重
当前状态2.1.待开发
研发处理人冷柏烨
处理状态需求问题

② 问题截图

计划并网容量审核列表页
"计划并网容量审核-集中式新能源"列表页,顶部"省份(自治区)"筛选框已默认锁定为"广东",列表只显示了1条广东本省数据;测试反馈云南提交给广东调管的记录看不到

③ 旧代码涉及的项目文件及行数(backup730/730backup 分支)

xnybw5f / src/plan/yearProjectPlanAdjust/planVerify/index.vue 第 1088-1099 行(_getProvinceAndMunicipalList,省份筛选框默认选中逻辑)
xnybw5b / src/main/java/cn/csg/so/oms/in/newenergy/project/appservice/NePjImplProvAppService.java 第 32-56 行(listByCurrentUser,按当前用户 areaNo 计算可见省份列表)

④ 代码现状与修复方案

截图页面顶部导航栏可见"计划并网容量审核"挂在"OMS2.0"电网运行管理系统壳子下,但左侧菜单结构(项目信息填报/计划并网容量审核/井网资料审核/实际并网容量审核,及"集中式新能源/中压分布式新能源/新型储能/生物质"四级子菜单)与 xnybw5f 前端其它页面完全一致——即 OMS2.0 内网侧壳应用内嵌/复用的就是本仓库 src/plan/yearProjectPlanAdjust/planVerify/index.vue 这个审核列表页,测试人员反馈的"筛选条件省份不要给默认值"这条建议,代码位置就在本仓库内,可以定位、可以修复。

该页面加载时会调用 _getProvinceAndMunicipalList() 初始化"省份"筛选框选项,其中有一段"中调/地调默认选中"的逻辑:

async _getProvinceAndMunicipalList () {
  let res = await getProvinceAndMunicipalList()
  let data = res.data.data
  this.provinceList = data.provinceList.filter(item => item.name !== '总调')  // 第1091行:先把"总调"从可选项里过滤掉
  ...
  // 中调、地调默认选中
  if (this.provinceList && this.provinceList.length === 1) {
    this.searchForm.province = [this.provinceList[0].name]   // 第1098行:省份列表只剩1项时,自动勾选为默认筛选条件
    this.checkProvince = this.provinceList[0].name
  }
  ...
}

这段"只剩1个省份就自动默认勾选"的逻辑,初衷是给"广东中调"这类只管辖单一省份的账号提供便利(登录后自动只看本省数据,不用每次手动选)。但后端 listByCurrentUser() 判断当前账号可见省份范围时,是按登录人机构 areaNo 前两位比对:

public List<NePjImplProvVO> listByCurrentUser() {
    String areaNo = UserUtils.getUser().getOrgAreaNo();
    List<NePjImplProvVO> provinceList = getCapBaseCommonDAO().queryList(...);
    if (StringUtils.isNotBlank(areaNo)) {
        String first = areaNo.substring(0, 2);
        if ("08".equals(first) || "09".equals(first)) { first = "03"; }  // 广州/深圳归并到广东省份代码
        List<NePjImplProvVO> resultList = provinceList.stream()
                .filter(item -> item.getCode().equals(finalFirst)).collect(...);
        if (resultList.size() > 0) {
            if (ZD.equals(resultList.get(0).getCode())) {   // ZD="00",只有总调账号才返回全量provinceList
                return provinceList;
            } else {
                return resultList;   // 其余账号(含"广东中调")只返回自己所在的单一省份
            }
        }
    }
    return provinceList;
}
两段代码叠加后的效果:广东中调账号登录后端返回的 provinceList 天然只有"广东"1条 → 前端据此自动把省份筛选框默认锁死为"广东",列表 API 也只按"广东"过滤 → 云南提交、调管单位选择"广东"的记录,如果不属于广东本省辖区(province 字段是云南而非广东),就会被这个默认省份过滤条件挡在列表之外,需要用户手动清空筛选框才能看到跨省委托审核的记录,这正是测试人员反馈的现象。
┌────────────┐ 仅返回"广东"1项 ┌──────────────────────────┐ │ 广东中调账号 │ ───────────────────▶ │ provinceList.length===1 │ └────────────┘ │ → 自动勾选 province=广东 │ └──────────────┬────────────┘ ▼ 列表查询自动带 province=广东 条件 │ 云南提交、调管单位=广东的跨省记录(province=云南) ✗ 被过滤,不显示

建议修复方式:"省份=广东"应仅作为筛选框的"建议默认值"提示用户可以这样筛,而不应该在数据没有真正按调管单位/待审核状态二次确认前,就直接把它当成生效的查询条件;至少应在"计划并网容量审核"这类"我的待审核任务"场景下,改为按"当前处理人/调管单位"作为默认过滤条件,不再简单按"登录人所属省份"默认收窄:

if (this.provinceList && this.provinceList.length === 1) {
  this.searchForm.province = [this.provinceList[0].name]
  this.checkProvince = this.provinceList[0].name
}
// 审核列表场景不再用"登录人所属省份"默认收窄查询条件,
// 省份筛选框仅展示可选范围,默认保持不选(即查询"调管单位=我"的全部待审记录)
this.checkProvince = this.provinceList && this.provinceList.length === 1 ? this.provinceList[0].name : ''
// this.searchForm.province 保持初始空数组,不自动勾选