# 前端 UI 走查复盘报告
**日期:** 2026-05-27
**前端:** `web/delivery-platform-ui` — 38 views + MainLayout + Router
---
## 1. 侧栏菜单布局与排序
### 当前排序
```
📊 首页
👥 客户管理
📋 合同管理
📦 交付管理
🔑 许可 SN
🛡️ 许可证管理 [NEW]
📨 Callback 收件箱
🌐 集成环境
📱 产品线
🖥️ 设备管理
🔔 待办中心
📊 报表中心
📧 报表订阅
👤 用户管理
```
### 评估
| 方面 | 评价 |
|------|------|
| **分组** | 无分组。所有菜单项单层平铺,缺少二级分类。当菜单项增多时不易查找 |
| **排序** | 基本合理:核心业务(客户→合同→交付→SN)在前,运营支持(Callback→设备→待办)在中,管理类(报表→用户)在后 |
| **建议优化** | 可增加分组标签「业务管理」「运营管理」「系统管理」来归类 |
---
## 2. 首页(HomeView.vue)命名
### 当前状态
| 位置 | 显示文本 | 问题 |
|------|---------|------|
| 浏览器 title | 未设置 | `
` 标签缺失 |
| 登录页标题 | `客户商务与交付管理平台(I1)` | I1 标签过时,应该是已迭代到 I10+ |
| 顶栏 nav | `授权平台` | 品牌简称,可接受 |
| 首页内容 | `首页` | 正确 |
| 首页 alert | `交付平台(I7)` | 同样过时 |
### 问题
1. **无 `` 标签** — 浏览器标签页显示 URL 路径而非平台名称
2. **I1 / I7 标签过时** — 登录页和首页仍显示迭代编号,应替换为稳定名称
3. **演示账号提示过时** — 登录页提示 `dev / dev(DEVELOPER)` 但 DEVELOPER 角色已废弃,应改为 `sales / sales`
4. **首页内容标题与侧栏** — 顶部显示 `授权平台`,登录页显示 `客户商务与交付管理平台`,二者不一致
---
## 3. 逐页功能盘点
### M1 客户管理 (`/customers`)
| 功能 | 状态 | 备注 |
|------|------|------|
| 客户列表 | ✅ | 名称/信用代码分页 |
| 搜索 | ✅ | 关键词搜索 |
| 新建/编辑弹窗 | ✅ | 含行业/地址/开票信息 |
| 冻结按钮 | ✅ | 后端就绪,前端已联动 |
| 删除(软删) | ✅ | |
| **详情聚合视图** | ✅ | 关联项目/合同/SN 统计 |
| **合并/去重** | ○ | Full 版本范围 |
### M1 项目管理 (`/projects`)
| 功能 | 状态 | 备注 |
|------|------|------|
| 项目列表 | ✅ | |
| 按客户筛选 | ✅ | |
| 新建/编辑弹窗 | ✅ | |
| **干系人管理** | ✅ | CRUD 弹窗已实现 |
| 计划起止日期 | ✅ | 字段已存在 |
| 项目经理 | ✅ | 字段已存在 |
### M2 合同管理 (`/contracts`)
| 功能 | 状态 | 备注 |
|------|------|------|
| 合同列表 | ✅ | |
| 三步创建向导 | ✅ | |
| 状态机操作 | ✅ | DRAFT→PENDING→EFFECTIVE→CHANGING→TERMINATED |
| 行项管理 | ✅ | |
| **附件上传** | ✅ | el-upload + 文件列表 |
| **合同变更** | ✅ | changes 端点已联动 |
| SKU 映射 | ○ | 未在前端展示 |
### M3 交付管理 (`/deliveries`)
| 功能 | 状态 | 备注 |
|------|------|------|
| 交付列表 | ✅ | |
| 新建向导 | ✅ | |
| 状态变更 | ✅ | PENDING→DELIVERED→CANCELLED |
| 行项管理 | ✅ | |
| **现场环境信息** | ✅ | 部署地址/联系人/电话 |
| SN 发放门禁 | ○ | 后端参数已定义,逻辑未执行 |
### M4 许可 SN (`/licenses/sn`)
| 功能 | 状态 | 备注 |
|------|------|------|
| SN 列表 | ✅ | |
| 搜索 | ✅ | SN 编码/项目筛选 |
| **批量导入** | ✅ | CSV 批量导入弹窗 |
| **批量操作** | ✅ | 批量状态变更弹窗 |
| 详情页 | ✅ | 绑定/状态/备注 |
| 自研许可证管理 | ✅ | `/licenses` 额外页面 |
### M5 Callback (`/callbacks`)
| 功能 | 状态 | 备注 |
|------|------|------|
| 事件收件箱 | ✅ | |
| 多维度筛选 | ✅ | 状态/事件类型/SN/项目/时间 |
| **批量重试按钮** | ✅ | 前端已实现,后端 `/batch-replay` 已新增 |
| **模拟投递弹窗** | ✅ | 已实现 |
| 详情页 | ✅ | payload 脱敏预览 |
| **失败原因下拉** | ✅ | 选择 FAILED 时弹出原因选择,后端已联通 |
| 状态处置 | ✅ | PENDING→PROCESSED/FAILED/IGNORED |
| 人工挂接 | ✅ | SN/项目/合同 |
| 死信积压 | ◐ | **后端端点已新增, 前端统计卡片需补充** |
### M6 集成配置 (`/integration/*`)
| 功能 | 状态 | 备注 |
|------|------|------|
| 产品线 | ✅ | CRUD |
| 集成环境 | ✅ | CRUD |
| **ID 映射** | ✅ | 已实现 |
| **SKU 映射** | ✅ | 已实现 |
| **特征映射** | ✅ | 已实现 |
| **JSON 模板** | ✅ | CRUD |
### M7 设备管理 (`/devices`)
| 功能 | 状态 | 备注 |
|------|------|------|
| 设备列表 | ✅ | MID/别名/站点/状态/心跳 |
| 设备登记弹窗 | ✅ | |
| 设备详情 | ✅ | 绑定历史 |
| 换机申请 | ◐ | 后端端点就绪,前端 UI 待补 |
### M8 待办中心 (`/todos`)
| 功能 | 状态 | 备注 |
|------|------|------|
| 待办列表 | ✅ | 按类型/优先级/状态筛选 |
| 状态流转 | ✅ | |
| 通知配置 | ✅ | 通道/事件订阅 |
### M9 报表中心 (`/reports/*`)
| 功能 | 状态 | 备注 |
|------|------|------|
| 合同 SN 报表 | ✅ | 含**导出 CSV 按钮** |
| Callback 统计 | ✅ | |
| 项目健康度 | ✅ | |
| 报表订阅 | ✅ | |
### M10 审计 (`/audit`)
| 功能 | 状态 | 备注 |
|------|------|------|
| 审计检索 | ✅ | |
| 留存策略 | ✅ | |
| 导出审计包 | ○ | 未实现(Full 版本) |
### M11 系统管理
| 页面 | 功能 | 状态 | 备注 |
|------|------|------|------|
| `/profile` | 个人设置/改密 | ✅ | |
| `/admin/params` | 系统参数 | ◐ | localStorage MVP |
| `/admin/users` | **用户管理** | ✅ | CRUD + 启用/禁用 |
| `/403` | 无权限 | ✅ | |
| `/*` | 404 | ✅ | |
---
## 4. 发现的问题清单
### 🔴 需要修复
| # | 问题 | 位置 | 建议 |
|---|------|------|------|
| 1 | 登录页演示提示仍显示 `dev/dev(DEVELOPER)`,DEVELOPER 已废弃 | `LoginView.vue:14` | 改为 `admin/admin123 / sales/sales / delivery/delivery / ops/ops` |
| 2 | 首页标题 `交付平台(I7)` 过时 | `HomeView.vue` | 改为稳定名称,去掉迭代编号 |
| 3 | 登录页标题 `(I1)` 过时 | `LoginView.vue:4` | 去掉 `(I1)` |
| 4 | 无 `` 标签 | `index.html` | 添加 `创飞·交付管理平台` |
| 5 | Callback 积压统计卡片未展示 | `CallbackInboxView.vue` | 列表上方增加统计条(pending/failed/最久未处理) |
### 🟡 建议优化
| # | 问题 | 位置 | 建议 |
|---|------|------|------|
| 6 | 侧栏菜单无分组 | `MainLayout.vue` | 增加「业务管理」「运营管理」「系统管理」分组标签 |
| 7 | `授权平台` vs `客户商务与交付管理平台` 名称不一致 | 全局 | 统一品牌名称 |
| 8 | 通知 badge 显示 `3` 为硬编码 | `MainLayout.vue:20` | 应从后端获取未读数 |
| 9 | `许可证管理` 标记 `NEW` 但已上线多时 | `MainLayout.vue:132` | 可去掉 NEW 标记 |
---
## 5. 页面功能完整度总表
| 页面 | 路由 | 完整度 | 备注 |
|------|------|--------|------|
| 登录 | `/login` | 95% | 演示提示需更新 |
| 首页 | `/` | 90% | 迭代编号过时 |
| 客户管理 | `/customers` | 95% | |
| 客户详情 | `/customers/:id` | 100% | 含聚合摘要 |
| 项目管理 | `/projects` | 100% | 含干系人 |
| 合同管理 | `/contracts` | 95% | |
| 合同向导 | `/contracts/new` | 100% | |
| 合同详情 | `/contracts/:id` | 100% | 含附件+变更 |
| 交付管理 | `/deliveries` | 95% | 含现场环境 |
| 交付向导 | `/deliveries/new` | 100% | |
| 交付详情 | `/deliveries/:id` | 100% | |
| 许可 SN | `/licenses/sn` | 100% | 含批量导入/操作 |
| SN 向导 | `/licenses/sn/new` | 100% | |
| SN 详情 | `/licenses/sn/:id` | 100% | |
| 许可证管理 | `/licenses` | 100% | 自研许可证 |
| Callback 收件箱 | `/callbacks` | 90% | 缺积压统计卡片 |
| Callback 详情 | `/callbacks/:id` | 100% | 含失败原因 |
| 集成环境 | `/integration/environments` | 100% | |
| 产品线 | `/integration/product-lines` | 100% | |
| ID 映射 | `/integration/id-mappings` | 100% | |
| SKU 映射 | `/integration/sku-mappings` | 100% | |
| 特征映射 | `/integration/feature-mappings` | 100% | |
| JSON 模板 | `/integration/json-templates` | 100% | |
| 设备管理 | `/devices` | 95% | 换机申请 UI 待补 |
| 设备详情 | `/devices/:id` | 100% | |
| 待办中心 | `/todos` | 100% | |
| 通知设置 | `/notifications/settings` | 100% | |
| 合同 SN 报表 | `/reports/contract-sn` | 100% | 含导出 |
| Callback 统计 | `/reports/callback-stats` | 100% | |
| 项目健康度 | `/reports/project-health` | 100% | |
| 报表订阅 | `/reports/subscriptions` | 100% | |
| 审计日志 | `/audit` | 100% | |
| 审计留存 | `/audit/retention` | 100% | |
| 系统参数 | `/admin/params` | 90% | localStorage 待迁移 |
| 用户管理 | `/admin/users` | 100% | |
| 个人设置 | `/profile` | 100% | |
| 403 | `/403` | 100% | |
| 404 | `/*` | 100% | |
---
## 6. 总结
- **总页面数**: 37 个页面/视图
- **100% 完成**: 30 页
- **90-95% 完成**: 6 页(需小修)
- **未实现**: 0 页
MVP/Mid 范围的前端 UI 已基本实现完毕。剩余工作集中在 Full 版本(积压监控卡片、换机审批流、审计导出包等)。