系统已建立根目录 VERSION.md 作为版本号的唯一来源(导航栏版本号由 vite.config.ts 读取该文件并注入),但目前维护方式只能靠人工用编辑器改 Markdown:需要记住版本号规则(v + 年月日 + 当日序列号)、记住两个标记区的位置、手工拼 ## vYYYY.MM.DD.NN、### 新增/优化/修复 等固定结构,容易写错格式、写错标记区、忘改「当前版本信息」区,导致导航栏版本号与更新内容不一致。
为此需在 System 模块新增「版本更新维护」菜单:在系统内可视化查看当前版本与历史版本更新内容,并通过表单录入新版本,自动生成符合规范的 Markdown(一键复制 / 一键下载完整 VERSION.md),由维护者替换根目录文件后重新打包生效。
frontend/src/pages/System/VersionMaintenance.tsx,三块内容:
VERSION.md 解析出的当前版本号、更新日期、版本说明、发布人、影响模块(与导航栏同源);v2026.09.14.01 则为 v2026.09.14.02,跨天则为 v2026.09.15.01)、更新日期(默认今天,DatePicker 中文)、版本说明、发布人(默认当前登录用户,可改)、影响模块(多选 + 可自由输入,如 DRG分组 / 预警 / 盈亏 / 系统管理)、三类更新内容(可动态增删条目);提交后生成①「当前版本信息」新三行 + ②插入到更新记录最顶部的新版本段落(含 - 发布人:、- 影响模块: 两行),输出完整 VERSION.md 文本,支持一键复制、下载 VERSION.md、仅下载新增片段。frontend/src/utils/version.ts:新增导出 VERSION_FILE_RAW(VERSION.md 原文)、suggestNextVersion()(版本号自动推算)、buildVersionFile()(按标记区拼接生成新文件全文);VersionLog 增加 publisher(发布人)与 modules(影响模块)字段并支持解析;导航栏解析逻辑不变。system-version → VersionMaintenance.tsx,路径 /system/version,菜单名「版本更新维护」。说明(范围界定):
VERSION.md是构建期注入的静态文件,浏览器无法直接写盘,因此本菜单定位为「版本更新内容的可视化维护与生成」——录入后复制/下载覆盖根目录文件,再npm run build生效;不引入后端表与接口,避免出现"文件 + 数据库"两份版本数据。
system-version-maintenance:系统版本更新维护(当前版本展示、历史版本更新内容查看、新版本录入与 Markdown 生成/复制/下载,数据来源于根目录 VERSION.md)。utils/version.ts 仅新增导出与生成函数,导航栏版本解析行为不变,不构成需求级变更)。前端影响:
frontend/src/pages/System/VersionMaintenance.tsx 新增页面;frontend/src/utils/version.ts 新增 VERSION_FILE_RAW、buildVersionFile();frontend/src/routes/menuRouteRegistry.tsx 新增 system-version 渲染器与页面导入;frontend/src/routes/menuRoutes.ts 的 keyToPath / menuTitleMap 新增 system-version 两条映射(三处一致性校验要求必须齐全);BS_DrgSystemMenu 菜单配置需新增一条菜单记录(菜单编码 system-version、菜单名称「版本更新维护」、上级菜单「系统管理」、菜单路径-路由 /system/version)。后端影响:
数据/部署影响:
VERSION.md 仍为版本号唯一来源;本菜单生成的内容需人工(或复制下载后)覆盖该文件并重新打包发布。