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

Row 18:并网资料页面列表"模板下载"列没有资料模版文件

一般 待开发(待定,需补充模版) 集中式新能源 模块:并网资料信息 处理人:洪陈解

1基本信息

问题描述并网资料页面列表中的"模板下载"列,没有资料模版文件。
所属模块并网资料信息 / 并网资料信息
严重程度一般(阻断流程:否)
涉及类型集中式新能源
提出人刘向诚
处理人 / 状态洪陈解 / 2.1.待开发("待定,需补充模版")

2问题截图

并网资料列表模板下载列空白
图1:并网资料信息列表,"附件"列旁的"模板下载"列全部为空白,用户无法下载对应资料模版

3定位结论:属于数据/配置缺失,不是代码缺陷

前端渲染逻辑:src/views/projectNew/components/projectDataInfo/component/batchInfo.vue 第 1691-1699 行:

<el-table-column width="100" align="center" label="模板下载">
  <template slot-scope="scope">
    <span v-if="scope.row.templateNameList && scope.row.templateNameList.length > 0">
      <span v-for="item in scope.row.templateNameList">
        <el-link @click="downLoadTemplate(item)">{{ item }}</el-link>
      </span>
    </span>
  </template>
</el-table-column>

只有当每一行的 templateNameList 非空时才会渲染下载链接,否则整格留白(与截图现象完全一致)。该字段来源:src/main/java/cn/csg/so/oms/in/newenergy/project/appservice/NePjInfoAppService.java 第 570、604-626 行:

// 570行:按字典类型 Const.GREEN_TEMPLATE_DICT 查询"资料目录名称 → 模版文件名"映射字典
List<Map<String, Object>> mapList = getCapBaseCommonDAO()
    .queryList("cn.csg.so.oms.in.newenergy.project.model.NePjImplVO_selectDictListByType", Const.GREEN_TEMPLATE_DICT);

// 604-626行:buildMenuTree() 中,按当前资料条目名称(menu.getMenuName())
// 去字典里找 value=菜单名 对应的 label(模版文件名,可用 ";" 分隔多个)
List<Map<String, Object>> allMulList = mapList.stream()
    .filter(item -> menu.getMenuName().equals(item.get("value")))
    .collect(Collectors.toList());
if (!CollectionUtils.isEmpty(allMulList)) {
    String templateStr = String.valueOf(allMulList.get(0).get("label"));
    ...
    menu.setTemplateNameList(templateNameList);   // 找不到匹配项时该字段保持为空
}
结论:"模板下载"列是否显示,完全取决于系统字典 GREEN_TEMPLATE_DICT(并网资料模板字典)里是否为每一条资料目录条目(如"电气一次主接线图""电气平面布置图"等)配置了对应的模版文件名映射。当前 backup730 快照下,该字典对"集中式新能源"资料目录条目缺少对应配置,因此前端拿到的 templateNameList 恒为空数组,列内容自然全部留白。这不是一个可以靠改代码修复的"逻辑 bug",而是需要业务侧在字典管理里补录模版文件的数据完整性问题

4处理方案(配置补录 + 一处前端体验优化)

并网资料目录条目电气一次主接线图
电气平面布置图
并网协议 …
⇄ 按名称匹配
字典 GREEN_TEMPLATE_DICT(value=目录名,label=模版文件名)
当前该类型下条目缺失
前端"模板下载"列有配置才显示下载链接
① 业务侧配置补录(主要动作):由业务/运维人员在系统字典管理(字典类型 GREEN_TEMPLATE_DICT,对应表由 NePjImplVO_selectDictListByType SQL 查询,一般是通用字典表如 SYS_DICT_DATA 之类)为"集中式新能源"并网资料目录下的每一条资料名称配置对应的模版文件(先上传模版原件到附件服务,再把返回的文件名回填到字典 label,多个模版用分号 ; 分隔)。
② 前端体验优化(可选,非必须):batchInfo.vue 第1691-1699行,建议在 templateNameList 为空时显式展示"暂无模版"的灰色文案,而不是留白,避免用户误以为是页面加载出错:
<template slot-scope="scope">
  <span v-if="scope.row.templateNameList && scope.row.templateNameList.length > 0">
    ...
  </span>
  <span v-else style="color:#c0c4cc;font-size:12px;">暂无模版</span>
</template>
效果:补录字典配置后,"模板下载"列会按各资料条目正确出现下载链接;即使个别条目业务上确实不需要模版,也会明确提示"暂无模版"而非无法区分是"未配置"还是"加载异常"的空白格。