pay-admin/docs/superpowers/specs/2026-04-01-homepage-dashboard-design.md
Your Name 7056559ea1 docs: add homepage dashboard design spec
Add comprehensive design specification for the new homepage dashboard with quick action cards and header shortcuts.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 09:42:24 +08:00

249 lines
8.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 首页工作台设计方案
**日期**: 2026-04-01
**状态**: 设计阶段
**优先级**: 高
## 一、需求概述
### 1.1 业务背景
用户登录系统后,当前首页仅显示"欢迎登录",缺乏功能性。用户需要高频使用三个核心功能:添加机构、导入项目、导入员工。为提升用户体验,需要重新设计首页为工作台,并在全局 Header 提供快捷入口。
### 1.2 核心目标
- 在 Header 右侧添加快捷图标,方便用户从任何页面快速访问核心功能
- 重新设计首页为工作台,提供欢迎语和功能卡片
- 提升用户日常高频操作的效率
- 保持界面简洁,不引入过多信息干扰
### 1.3 功能定位
这三个功能(添加机构、导入项目、导入员工)是用户的**日常高频操作**,使用频率相当。
## 二、用户场景
### 2.1 典型用户流程
1. 用户登录系统 → 进入工作台首页
2. 首页显示欢迎语和 3 个功能卡片
3. 用户点击卡片或 Header 图标 → 跳转到对应列表页面
4. 在列表页面进行具体操作(添加、导入等)
### 2.2 快捷访问场景
- 用户在任何页面浏览时,需要快速添加机构 → 点击 Header 上的"添加机构"图标
- 用户在某个功能页面工作时,需要快速导入员工 → 点击 Header 上的"导入员工"图标
## 三、设计方案
### 3.1 Header 右侧改造
#### 3.1.1 布局位置
在用户头像**左侧**添加 3 个快捷图标按钮:
```
[添加机构图标] [导入项目图标] [导入员工图标] [用户头像 ▼]
```
#### 3.1.2 交互设计
- **图标样式**:使用 Ant Design 图标,尺寸 20px颜色使用主题色
- **Tooltip 提示**:鼠标悬停显示功能名称
- **点击行为**:跳转到对应列表页面
- 添加机构图标 → `/company/list`
- 导入项目图标 → `/asset/list`
- 导入员工图标 → `/company/employees`
#### 3.1.3 图标方案
| 功能 | 图标组件 | 图标含义 |
|------|---------|---------|
| 添加机构 | `BuildingOutlined``ShopOutlined` | 建筑/商店,代表机构 |
| 导入项目 | `ImportOutlined``FolderOpenOutlined` | 导入/文件夹,代表项目导入 |
| 导入员工 | `TeamOutlined``UserAddOutlined` | 团队/添加用户,代表员工管理 |
#### 3.1.4 技术实现
- **修改文件**`src/common/components/layout/AvatarProps.tsx``CustomHeader.tsx`
- **组件结构**:在 `<Avatar />` 组件前添加快捷图标区域
- **样式**:使用 Ant Design `Space` 组件保持间距,使用 `Tooltip` 组件添加提示
### 3.2 首页工作台改造
#### 3.2.1 页面布局
```
┌────────────────────────────────────────┐
│ │
│ 欢迎回来,[用户名]
│ 这里是您的快捷工作台, │
│ 点击下方卡片快速开始常用操作 │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 🏢 │ │ 📁 │ │ 👥 │ │
│ │ 添加机构 │ │ 导入项目 │ │ 导入员工 │ │
│ │ │ │ │ │ │ │
│ │ 快速创建 │ │ 批量导入 │ │ 批量导入 │ │
│ │ 新的机构 │ │ 项目数据 │ │ 员工数据 │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │
└────────────────────────────────────────┘
```
#### 3.2.2 卡片设计
**卡片尺寸**280px 宽 × 160px 高(可响应式调整)
**卡片内容结构**
```
┌─────────────────┐
│ [大图标 48px] │
│ │
│ [标题 18px] │
│ │
│ [描述 14px 灰色] │
└─────────────────┘
```
**三个功能卡片详情**
1. **添加机构卡片**
- 图标:`BuildingOutlined`
- 标题:添加机构
- 描述:快速创建新的机构
- 主题色:蓝色(`#1890ff`
- 跳转:`/company/list`
2. **导入项目卡片**
- 图标:`ImportOutlined`
- 标题:导入项目
- 描述:批量导入项目数据
- 主题色:绿色(`#52c41a`
- 跳转:`/asset/list`
3. **导入员工卡片**
- 图标:`TeamOutlined`
- 标题:导入员工
- 描述:批量导入员工数据
- 主题色:橙色(`#fa8c16`
- 跳转:`/company/employees`
#### 3.2.3 交互效果
- **默认状态**:卡片带有轻微阴影(`box-shadow: 0 2px 8px rgba(0,0,0,0.1)`
- **hover 状态**:卡片上浮 4px阴影加深`box-shadow: 0 4px 16px rgba(0,0,0,0.2)`
- **点击状态**:跳转到对应列表页面
- **过渡动画**`transition: all 0.3s ease`
#### 3.2.4 技术实现
- **修改文件**`src/pages/index.tsx`
- **新增组件**`src/pages/components/QuickActionCard.tsx`(可复用卡片组件)
- **布局方式**:使用 Flexbox 或 Ant Design `Row` + `Col` 实现响应式
### 3.3 响应式适配
#### 3.3.1 断点方案
| 屏幕尺寸 | 卡片布局 | 卡片尺寸 |
|---------|---------|---------|
| >1200px (桌面) | 3个横向排列 | 280×160px |
| 768-1200px (平板) | 3个横向排列间距缩小 | 260×150px |
| <768px (移动) | 3个纵向排列 | 宽度100%, 高度自适应 |
#### 3.3.2 Header 适配
- 桌面端显示所有图标
- 平板端显示所有图标
- 移动端可以考虑隐藏或使用下拉菜单根据实际效果决定
## 四、数据流与状态管理
### 4.1 无需额外状态
本设计不涉及复杂的数据流和状态管理
- Header 图标静态导航点击跳转
- 首页卡片静态导航点击跳转
- 用户名 `initialState` 或全局状态获取
### 4.2 现有功能复用
- 添加机构功能复用 `src/pages/company/list/modals/CompanyCreate.tsx`
- 导入项目功能复用 `src/pages/asset/list/index.tsx` 中的 `MyImportModal`
- 导入员工功能复用 `src/pages/company/employees/index.tsx` 中的 `MyImportModal`
## 五、文件结构
```
src/
├── common/
│ └── components/
│ └── layout/
│ ├── AvatarProps.tsx [修改] 添加快捷图标
│ └── CustomHeader.tsx [可能修改] 调整布局
├── pages/
│ ├── index.tsx [修改] 重新设计首页
│ └── components/
│ └── QuickActionCard.tsx [新增] 快捷卡片组件
```
## 六、实施计划
### 6.1 实施步骤
1. 创建 `QuickActionCard` 可复用组件
2. 改造 `src/pages/index.tsx` 为工作台首页
3. 修改 Header 组件添加快捷图标
4. 测试响应式效果
5. 测试跳转功能
### 6.2 技术依赖
- Ant Design 5.x
- @ant-design/icons
- React 18
- TypeScript
## 七、验收标准
### 7.1 功能验收
- [ ] Header 右侧显示 3 个快捷图标
- [ ] 点击图标能正确跳转到对应列表页面
- [ ] 首页显示欢迎语和用户名
- [ ] 首页显示 3 个功能卡片
- [ ] 点击卡片能正确跳转
- [ ] hover 效果正常
### 7.2 视觉验收
- [ ] Header 布局合理不拥挤
- [ ] 卡片样式美观符合设计稿
- [ ] 主题色正确应用
- [ ] 响应式布局正常
### 7.3 兼容性验收
- [ ] 桌面端显示正常
- [ ] 平板端显示正常
- [ ] 移动端显示正常
## 八、后续优化建议
### 8.1 短期优化
- 根据用户反馈调整卡片样式和交互
- 优化移动端 Header 图标显示方式
- 添加骨架屏加载效果
### 8.2 长期优化
- 考虑添加数据统计面板机构数项目数员工数
- 考虑添加最近操作记录
- 考虑个性化配置用户可自定义快捷功能
## 九、风险评估
### 9.1 技术风险
- **低风险**功能简单不涉及复杂逻辑
- **响应式适配**可能需要多次调整达到最佳效果
### 9.2 用户体验风险
- **Header 过于拥挤**如果图标过多可能影响美观
- **移动端体验**小屏幕上 Header 图标可能需要优化
### 9.3 缓解措施
- 实施后进行用户测试和反馈收集
- 保留优化空间支持后续调整
- 移动端必要时可使用下拉菜单
## 十、参考设计
### 10.1 设计灵感
- Ant Design Pro 首页布局
- 企业后台管理系统常见工作台设计
- Material Design 卡片设计规范
### 10.2 类似实现
- 钉钉工作台
- 飞书工作台
- 各类 SaaS 后台首页