# 09_供应商管理增强模块 四级页面深化与 Demo-PRD 闸门

## 1. 目标任务说明

供应商管理增强模块已经有产品主 PRD、页面与用例深化、独立 Vue Demo 和 Demo-PRD 对齐说明，但仍需要补充 4 级页面深化，原因如下：

1. 供应商业务不是单一列表页，必须覆盖台账、详情、资质、合同、履约、绩效、采购、配置和审计闭环；只看首页或列表无法验收“供应商数字化运营中心”的完整价值。
2. PRD 要求供应商主数据、CMDB 服务范围、低代码配置、工作流审批、AI 盒子证据、ERP/采购节点共同参与，必须拆到四级页面或操作面，才能判断每个按钮是否有流程、状态和 Mock/API 支撑。
3. 独立 Vue Demo 已提供 `/supplier/overview`、`/supplier/ledger`、`/supplier/detail/:id`、`/supplier/qualification`、`/supplier/sla`、`/supplier/orders`、`/supplier/score`、`/supplier/settings` 等路由，PRD 验收必须以页面级、元素级和状态机级证据为准。
4. 供应商增强模块涉及准入、证照审核、派工限制、整改、扣罚、续约、月评和付款建议，若没有“不通过闸门”，容易把“有静态展示”误判为“业务闭环已完成”。

本文件用于补强 4 级页面树、User Story、Demo-PRD 闸门矩阵和验收否决条件，作为 `09_供应商管理增强模块_24_Demo与PRD一致性矩阵.md` 与 `09_供应商管理增强模块_34_Demo原型逐元素验收表.md` 的验收加严版本。

## 2. 四级页面树

| 中心 | 模块 | 三级页面 | 四级页面或操作面 | 覆盖类型 | Demo 页面/元素 |
| --- | --- | --- | --- | --- | --- |
| 运维中心 | 供应商运营 | 供应商总览 | KPI 风险总览、SLA 与健康趋势、风险供应商排行、集成证据卡、月评工作流弹窗 | 首页、报表、审批入口 | `/supplier/overview`，平均健康分、平均 SLA、风险/限制对象、年度合同金额、逾期工单、月度评价流程 |
| 运维中心 | 供应商运营 | 供应商台账 | 查询筛选、分页列表、供应商详情抽屉、新增供应商准入、编辑供应商档案、流程提交 | 增删改查、详情、审批 | `/supplier/ledger`，SearchForm、BaseTable、供应商360详情、新增供应商准入、编辑供应商档案、保存并提交工作流 |
| 运维中心 | 供应商运营 | 供应商详情 | 基础信息、服务范围、资质与服务、履约证据、时间线、采购/ERP 字段、操作日志证据 | 详情页、审计 | `/supplier/detail/:id` 与台账详情抽屉，ERP供应商编码、工作流实例、AI盒子、当前合同、资质合规、服务范围、履约证据 |
| 运维中心 | 供应商运营 | 资质合规中心 | 证照矩阵、到期与缺口日历、上传补正材料、发起补正、查看证据、提交补正流程 | 审批/验收、配置约束 | `/supplier/qualification`，证照总数、30天内到期、缺失附件、盒子核验、资质补正与整改流程 |
| 运维中心 | 供应商运营 | SLA 合同中心 | 合同与 SLA 条款、罚则模拟器、扣罚流程生成、续约评估、ERP 付款节点 | 合同、审批、采购协同 | `/supplier/sla`，合同总额、SLA条款、罚则、限制派工、SLA扣罚模拟、生成扣罚流程 |
| 运维中心 | 供应商运营 | 履约工单与盒子证据中心 | 工单履约列表、证据墙、整改流程、证据完整度、逾期/返工/飞书确认统计 | 验收、审计、流程 | `/supplier/orders`，履约工单、逾期工单、盒子证据、整改、证据、查看证据墙 |
| 运维中心 | 供应商运营 | 绩效评分与推荐中心 | 评分排行、评分因子解释、推荐建议、月评报告输出、供应商申诉依据 | 报表、评分、验收 | `/supplier/score`，健康分、SLA、逾期、建议、评分因子、输出月评报告 |
| 运维中心 | 供应商运营 | 配置中心 | 评分模型权重、证照类型字典、SLA 罚则模板、AI 盒子证据模板、发布配置版本、提交发布审批 | 配置、审批、审计 | `/supplier/settings`，发布配置版本、规则参数预览、草稿-审核-发布流程 |
| 运维中心 | 供应商运营 | 采购协同与扣罚 | ERP 供应商编码、合同金额、付款节点、扣罚建议、同步采购状态、导出付款审核说明 | 采购/ERP、报表 | PRD `4.3/4.5/4.7/8.5`；Demo 字段 `erpVendorId`、`amount`、`activeContract`、证据 `ERP-PO-*` |
| 系统中心 | 低代码/流程配置 | 供应商规则配置 | 字段字典、证照类型、审批人、评分模型、流程模板、接口映射 | 配置、状态机 | `/supplier/settings` 与 Mock `/api/supplier/settings` |

## 3. User Story 表

| 编号 | 角色 | 前置条件 | 主流程 | 异常分支 | 成功标志 | 对应 Demo 页面/元素 |
| --- | --- | --- | --- | --- | --- | --- |
| 09-US-43-01 | 运维经理 | 已登录供应商管理模块，Mock 已返回总览数据 | 进入供应商总览，查看健康分、SLA、风险对象和逾期工单，打开月评工作流弹窗提交评价 | `/api/supplier/overview` 不可用时，必须显示缓存/失败态，不能只留空白页 | 月度评价流程提交后出现成功提示，并推送主门户待办、飞书通知和供应商时间线 | `/supplier/overview`，月度评价流程，`submitSupplierWorkflow` |
| 09-US-43-02 | 供应商管理员 | 供应商尚未准入，低代码准入表和审批流程已配置 | 在台账点击新增供应商准入，按基础档案、服务范围、资质合同、审批提交四步填写并保存 | 统一信用代码或 ERP 编码重复、CMDB 服务范围为空、资质摘要缺失时不能提交 | 列表新增供应商，状态为准入中，并生成工作流实例 | `/supplier/ledger`，新增供应商准入，保存并提交工作流 |
| 09-US-43-03 | 平台管理员 | 已存在供应商台账记录 | 在台账筛选供应商，点击编辑，修改状态、CMDB 对象、AI 盒子、合同号和资质摘要后提交 | 状态改为可推荐但资质过期、合同缺服务范围时必须拦截或进入复核 | 编辑后表格字段同步更新，并提交状态复核流程 | `/supplier/ledger`，编辑供应商档案，流程 |
| 09-US-43-04 | 专业负责人 | 供应商已存在，详情接口可返回全量数据 | 从台账进入供应商360详情，检查服务范围、资质、履约证据、工作流实例和 ERP 编码 | 详情页只展示基础信息但没有服务范围/证据链时不得验收 | 详情页可追溯到 CMDB 对象、AI 盒子、合同和履约时间线 | `/supplier/detail/:id`，ERP供应商编码、AI盒子、资质与服务、履约证据 |
| 09-US-43-05 | 资质审核人 | 供应商存在 30 天内到期或缺失附件的证照 | 进入资质合规中心，查看证照矩阵和到期日历，点击发起补正或上传补正材料 | 附件格式错误、证照已过期仍试图通过、审批意见为空时不能提交 | 补正流程提交后状态进入工作流跟踪，派工推荐受资质状态约束 | `/supplier/qualification`，上传补正材料、发起补正、提交补正流程 |
| 09-US-43-06 | 采购/合同人员 | 合同、SLA、ERP 字段已有 Mock 数据 | 进入 SLA 合同中心，查看合同条款、罚则模板和续约评估，执行 SLA 扣罚模拟并生成扣罚流程 | ERP 单号缺失时只允许生成平台口径说明，不能标记真实同步采购完成 | 生成扣罚流程，展示建议扣罚金额和联审节点 | `/supplier/sla`，SLA扣罚模拟、生成扣罚流程、ERP/工作流 |
| 09-US-43-07 | 调度员 | 工单系统和供应商 Mock 数据已聚合 | 进入履约工单，查看响应分钟、逾期、AI 盒子和证据摘要，对异常供应商发起整改 | 无盒子证据、无验收记录或重工标记缺失时，评分不得自动确认 | 整改流程提交成功，履约证据进入月评证据链 | `/supplier/orders`，整改、证据、查看证据墙 |
| 09-US-43-08 | 运维经理 | 本月履约数据已聚合，评分模型已发布 | 进入绩效评分，查看排行、评分因子和建议，输出月评报告 | 数据缺失或证据完整度不足时，月评只能为待复核，不能同步采购 | 月评报告可解释 SLA、质量、安全、成本、盒子证据权重 | `/supplier/score`，输出月评报告、评分因子解释、建议 |
| 09-US-43-09 | 平台管理员 | 低代码配置中心可读取配置项 | 进入配置中心，查看评分模型、证照字典、SLA 罚则、盒子证据模板，发布新配置版本 | 版本号重复、发布说明为空、审批人缺失时不能进入发布 | 配置进入草稿-审核-发布流程，前端、CLI、智能体读取同一版本 | `/supplier/settings`，发布配置版本、提交发布审批、`/api/supplier/settings` |
| 09-US-43-10 | 审计/测试人员 | Demo 和 PRD 均已冻结验收版本 | 按闸门矩阵逐项检查 PRD 能力点、Demo 元素、Mock/API、状态机证据 | Demo 有元素但 PRD 无字段、PRD 有能力但 Demo 无入口、按钮无流程时标记不通过 | 每个通过项都有 PRD 位置、页面元素和 Mock/API/状态机证据 | 本文件第 4 节、`09_供应商管理增强模块_24_Demo与PRD一致性矩阵.md` |

## 4. Demo-PRD 闸门矩阵

| PRD能力点 | PRD文件位置 | Demo页面/元素 | Mock/API/状态机证据 | 是否通过 | 缺口处理 |
| --- | --- | --- | --- | --- | --- |
| 供应商履约驾驶舱展示整体风险、排行、SLA、待办 | `PRD.md` 4.1、8.1；标准包 03/04/24 | `/supplier/overview`，平均健康分、平均SLA达成率、风险/限制对象、逾期工单、风险供应商排行 | Mock `/api/supplier/overview`，`dashboardData()` 计算 `avgHealth/avgSla/risks/top/trend` | 通过 | 后续若接入真实 ECharts，需保留同一指标口径 |
| 首页可发起月评/整改类流程，不只是展示 KPI | `PRD.md` 4.1、5、8.5；标准包 06/07/12 | `/supplier/overview` 月度评价流程弹窗 | API `POST /api/supplier/workflow/submit`，返回 `instanceId/pushed`，状态变为处理中 | 通过 | 真实环境需补工作流实例详情页和失败重试 |
| 供应商台账支持查询、筛选、分页和行操作 | `PRD.md` 4.2、8.1；`页面与用例深化.md` 2/3 | `/supplier/ledger`，SearchForm、BaseTable、详情、编辑、流程 | API `GET /api/supplier/list` 支持 `keyword/status/region/specialty/level/page/pageSize` | 通过 | 删除/冻结目前主要通过状态流转表达，若验收要求物理删除需另补 |
| 新增供应商准入覆盖基础档案、服务范围、资质合同、审批提交 | `PRD.md` 4.2、5；`页面与用例深化.md` 3 | `/supplier/ledger`，新增供应商准入四步弹窗 | `saveSupplier()` 写入表格并调用 `submitSupplierWorkflow()` | 通过 | 需要在真实后端补唯一性校验和必填校验 |
| 编辑供应商档案可修改服务范围、合同、资质和状态 | `PRD.md` 4.2、4.3；标准包 08/15/16 | `/supplier/ledger`，编辑供应商档案 | `openEdit()`、`saveSupplier()`，Mock 字段 `cmdbObjects/boxId/activeContract/qualification/status` | 通过 | 缺少字段级审批差异对比，真实交付需补审计 diff |
| 供应商详情页可追溯基础信息、服务范围、资质、合同、履约、采购字段 | `PRD.md` 4.3；标准包 03/04/08/24 | `/supplier/detail/:id` 与台账详情抽屉，ERP供应商编码、工作流实例、AI盒子、当前合同、资质与服务、履约证据 | API `GET /api/supplier/detail/{id}`，Mock `suppliers` 含 `erpVendorId/workflowId/boxId/evidence/timeline` | 通过 | 当前详情为抽屉和隐藏路由双入口，验收需同时检查 |
| 资质合规支持证照矩阵、到期预警、补正材料和整改流程 | `PRD.md` 4.4、9.1；`页面与用例深化.md` 2/3 | `/supplier/qualification`，30天内到期、缺失附件、上传补正材料、发起补正、提交补正流程 | Mock `qualification`、`warnings`、`evidenceCards`，列表来自 `/api/supplier/list` | 通过 | 上传文件当前为 Demo 表单态，真实文件存储和病毒扫描需后端补充 |
| SLA 合同支持合同条款、罚则、续约评估、扣罚模拟 | `PRD.md` 4.5、8.5、9.1；标准包 17/31/32 | `/supplier/sla`，合同与SLA条款、罚则模拟器、SLA扣罚模拟、生成扣罚流程 | API `GET /api/supplier/contracts`，Mock `contracts` 含 `sla/penalty/status/value` | 通过 | 扣罚流程按钮当前关闭弹窗，真实交付需接工作流提交和审批状态 |
| 履约工单聚合响应、到场、验收、返工和盒子证据 | `PRD.md` 4.6、5、8.5；标准包 06/07/17 | `/supplier/orders`，响应分钟、逾期、AI盒子、证据摘要、整改、证据墙 | API `GET /api/supplier/list` 复用 `responseMinutes/overdueOrders/boxId/evidence`；整改调用 `submitSupplierWorkflow` | 通过 | 当前未展示单工单完整时间轴详情，真实验收需补工单详情操作面 |
| 绩效评分有公式、因子、排行、建议和月评报告入口 | `PRD.md` 4.7、9.1；标准包 17/32 | `/supplier/score`，评分排行、评分因子解释、输出月评报告、建议 | Mock 字段 `healthScore/slaRate/overdueOrders/status/evidence`，评分因子 `SLA/质量/安全/成本/盒子证据` | 通过 | 输出月评报告当前为 Demo 弹窗/入口，真实 PDF 和归档需补接口 |
| 配置中心管理评分权重、证照字典、SLA罚则、盒子证据模板 | `PRD.md` 4.4、7、8.1；标准包 15/16/31/33 | `/supplier/settings`，配置卡片、规则参数预览、发布配置版本 | API `GET /api/supplier/settings`，Mock `settings` 含版本、归属和描述；发布抽屉含草稿-审核-发布 | 通过 | 真实交付需补配置版本回滚和灰度生效策略 |
| 采购/ERP 联动只输出履约摘要、扣罚建议和付款审核说明，不真实付款 | `PRD.md` 1.3、2.2、4.3、4.5、7、9.2 | 详情页 `erpVendorId/amount/activeContract`，SLA页合同金额/扣罚建议，Mock 证据 `ERP-PO-*` | Mock `suppliers` 含 `erpVendorId/amount/evidence`，`contracts` 含 `value/status` | 条件通过 | Demo 没有独立采购协同页；验收时只能认定为联动展示，不可认定真实付款或 ERP 写回 |
| 状态机覆盖准入中、可推荐、资质预警、整改中、暂停派工、处理中 | `PRD.md` 4.1/4.4/4.7；标准包 07/16 | 台账状态 Tag、详情状态、总览风险统计、SLA限制派工 | Mock 类型 `SupplierStatus`，台账 `statuses`，`submitSupplierWorkflow()` 将供应商置为处理中 | 通过 | 真实状态流转需限制非法跳转，例如暂停派工不能直接回可推荐 |
| 报表/审计可从总览、绩效、详情和证据链追溯来源系统 | `PRD.md` 7、9.1；标准包 13/17/34 | 总览集成证据卡、绩效评分因子、详情履约证据、工单证据墙 | Mock `integrations/evidence/timeline/cmdbObjects/boxId/workflowId` | 通过 | 需要真实审计日志表和报表下载接口后才能算生产级通过 |
| 权限边界区分配置中心与普通页面 | `PRD.md` 2.1；标准包 16/33 | `/supplier/settings` 仅 ENGINEER/OPS_LINE/HQ_EXPERT，其他页面 ALL_ROLES | 路由 `supplier.ts` 中 `roles` 配置 | 通过 | 真实环境需对接统一权限中心和按钮级权限 |

## 5. 不通过闸门

以下任一情况出现时，本模块不能验收通过：

1. 只有供应商首页或 KPI 卡片，没有供应商台账、详情、资质、合同、履约、绩效、配置等下钻页面。
2. 有“新增、编辑、流程、补正、整改、扣罚、月评、发布配置”等按钮，但没有对应弹窗/抽屉/状态流转/Mock API 证据。
3. Demo 有页面元素或字段，但 PRD、字段字典、数据表、接口契约中没有对应定义。
4. PRD 写了关键能力，但 Demo 没有可见入口或可操作元素，例如只写“供应商详情”却无法从台账进入详情。
5. 详情页只有基础信息，没有服务范围、资质、合同、履约证据、工作流实例、AI 盒子或 ERP 字段。
6. 资质合规只展示证照列表，没有到期预警、补正/审核流程和派工限制状态。
7. SLA 合同只展示合同号，没有响应/到场/修复时限、罚则、续约评估或扣罚模拟。
8. 履约工单只展示工单数量，没有响应、到场、验收、返工、证据链和整改入口。
9. 绩效评分只展示总分，没有评分公式、因子权重、证据链、复核/申诉/月评状态。
10. 配置中心只展示静态卡片，没有版本、归属、草稿-审核-发布流程和配置项读取接口。
11. 把 ERP/采购字段展示误判为真实付款能力；Demo 只能验收“映射和建议”，不能验收真实财务写回。
12. 状态机没有非法跳转约束，例如资质过期仍可推荐、暂停派工仍进入高优先派工池。
13. Mock 数据、API 返回字段、页面显示字段三者不一致，或页面硬编码导致无法从 Mock/API 追溯。
14. 没有审计/证据字段，无法解释月评、扣罚、整改、准入结论来自哪条工单、证照、合同或盒子证据。
15. 只通过构建或静态截图，未按页面路径完成 Demo-PRD 逐项闸门检查。

## 6. 最小验收路径

1. 打开 `/supplier/overview`，确认健康分、SLA、风险对象、逾期工单和月评工作流入口存在。
2. 打开 `/supplier/ledger`，完成查询、详情、编辑、新增供应商准入和流程提交。
3. 从台账进入 `供应商360详情`，核对 ERP 编码、工作流实例、AI 盒子、合同、资质、服务范围和履约证据。
4. 打开 `/supplier/qualification`，确认 30 天到期、缺失附件、上传补正材料和提交补正流程。
5. 打开 `/supplier/sla`，确认合同条款、罚则、扣罚模拟和生成扣罚流程。
6. 打开 `/supplier/orders`，确认逾期工单、证据墙、整改流程和 AI 盒子证据。
7. 打开 `/supplier/score`，确认评分排行、因子权重、建议和月评报告入口。
8. 打开 `/supplier/settings`，确认配置项版本、归属、规则参数、发布配置版本和提交发布审批。

只有上述路径全部通过，并且第 4 节矩阵不存在“不通过”项时，才允许把供应商管理增强模块标记为 Demo-PRD 一致性通过。
