# 预算中心列表化改造概念文档 ## 功能一句话 将预算中心从看板式监控页改造成单据中心式预算列表,让预算的正式额度、待审核草案和历史归档有清晰入口。 ## 背景与问题 当前预算中心以预算概览、部门切换、预算明细表和图表为主,适合查看执行情况,但不适合承载预算编制后的审核流程。预算从 AI 分析、部门编制、提交审核、高级财务审核、发布生效到归档,天然是对象生命周期,不应该把审核入口硬塞进看板区域。 本次改造采用类似单据中心的列表结构,把预算对象按状态域分成三个入口: - 全部预算:查看已发布并生效的部门预算。 - 预算审核:查看各部门提交的预算草案,由高级财务人员审核。 - 归档预算:查看历史版本、已驳回、已失效或被新版本替换的预算。 ## 目标与非目标 ### 目标 - 将预算中心主界面改为列表形态。 - 提供三个 switch/tab:全部预算、预算审核、归档预算。 - 全部预算按部门展示正式预算,并在详情中展示年度、季度、月度预算。 - 预算审核按部门展示已提交预算草案,并提供进入审核助手的入口。 - 归档预算展示历史预算版本和审核痕迹。 - 保留预算监控员、高级财务人员、admin 的预算可见性边界。 - 前端 demo 阶段仅覆盖差旅、通信、招待费、办公用品四类预算。 ### 非目标 - 本阶段不直接完成后端预算草案表、审核表和发布接口。 - 本阶段不实现真实审核通过或驳回的数据库写入。 - 本阶段不改变报销单据的预算占用和核销逻辑。 - 本阶段不扩大普通员工的预算可见范围。 ## 用户与场景 - 预算监控员:查看本部门正式预算、提交草案状态和历史归档。 - 高级财务人员:查看所有部门预算、审核各部门提交的预算草案。 - admin:查看所有预算数据并兜底处理异常。 - 普通员工:不进入预算中心,不需要关注预算。 ## 功能能力 ### 全部预算 输入: - 年度 - 季度 - 状态 - 关键词 输出: - 预算编号 - 部门 - 预算周期 - 年度预算 - 季度预算 - 月度预算 - 已发生 - 已占用 - 剩余可用 - 风险状态 - 更新时间 点击行进入预算详情,详情展示: - 年度预算、季度预算、月度预算 - 四类费用预算明细:差旅、通信、招待费、办公用品 - 已发生、已占用、剩余可用和使用率 - 提醒阈值、告警阈值、风险阈值 ### 预算审核 输入: - 年度 - 季度 - 审核状态 - 关键词 输出: - 草案编号 - 提交部门 - 编制人 - 提交时间 - 预算周期 - 申请预算 - 较上一版变化 - AI 分析分 - 风险状态 - 审核状态 高级财务人员和 admin 可以通过“进入审核”打开预算编制助手,带入当前部门草案上下文。 ### 归档预算 输入: - 年度 - 季度 - 归档状态 - 关键词 输出: - 归档编号 - 部门 - 预算周期 - 版本 - 归档类型 - 原预算额 - 审核人 - 归档时间 - 状态 ## 方案设计 ### 前端 - `BudgetCenterView.vue` 改成列表页结构。 - 复用单据中心的 `status-tabs`、`table-wrap`、`list-foot` 视觉结构。 - 保留 `EnterpriseSelect` 作为年度、季度、状态和分页大小控件。 - 使用通用详情页承载预算详情,和票据夹等列表详情页保持同一交互结构。 - 使用预算助手入口处理编制和审核上下文。 - 抽出预算列表 demo 数据和转换逻辑到 `budgetCenterListModel.js`,避免主脚本继续变大。 ### 后端 本阶段不改后端。后续应新增预算草案、预算审核和预算发布接口,并将已发布预算写入正式预算池。 ### 权限 - 预算监控员:只能看到本部门预算和本部门提交记录。 - 高级财务人员:可以看到全部部门预算,并审核预算草案。 - admin:可以看到全部预算并兜底处理。 ## 算法与公式 预算使用率: $$ usageRate = \frac{usedAmount + occupiedAmount}{budgetAmount} \times 100 $$ 剩余可用预算: $$ availableAmount = budgetAmount - usedAmount - occupiedAmount $$ 风险分层: $$ risk = \begin{cases} 风险, & usageRate \ge riskThreshold \\ 告警, & usageRate \ge alertThreshold \\ 提醒, & usageRate \ge reminderThreshold \\ 正常, & usageRate < reminderThreshold \end{cases} $$ ## 测试方案 - 静态检查:预算中心脚本 `node --check`。 - 前端构建:`npm.cmd --prefix web run build`。 - 交互验证:切换全部预算、预算审核、归档预算,检查筛选、分页、通用详情页和预算助手入口。 - 权限验证:使用 admin、高级财务人员、预算监控员分别检查可见范围。 - 响应式验证:检查笔记本宽度下列表横向滚动、通用详情页和按钮尺寸。 ## 指标与验收 - 预算中心首屏为列表,而不是原看板。 - 三个 switch/tab 可切换:全部预算、预算审核、归档预算。 - 全部预算详情能看到年度、季度、月度预算。 - 预算审核列表有进入审核入口。 - 预算监控员不出现跨部门审核能力。 - 构建通过,无新增运行时引用错误。 ## 风险与开放问题 - 后端预算草案和审核表尚未落库,本阶段使用前端 demo 数据表达流程。 - 后续需要明确“审核通过”是自动发布,还是高级财务人员审核后再点击发布。 - 归档预算的触发条件需要后续和预算发布版本模型一起设计。