pay-admin/docs/superpowers/specs/2026-04-01-enhanced-homepage-design.md
Your Name af61b9a965 docs: update enhanced homepage design spec status to completed
Mark enhanced homepage design as completed and add comprehensive implementation notes.

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

357 lines
12 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 业务背景
当前首页功能过于简单仅显示欢迎语和3个快捷按钮无法满足业务发展需求。用户需要
- 更多的快捷操作入口从3个扩展到6个
- 统计数据和报表展示能力
- 为未来功能扩展预留空间
### 1.2 核心目标
- 扩展快捷操作功能到6个添加机构、导入项目、导入员工、导入楼栋、创建收费标准、登记审核
- 为统计数据和报表预留约2/3屏幕高度的空间
- 优化布局结构,支持未来扩展
- 保持良好的用户体验和响应式设计
### 1.3 功能定位
首页作为工作台,分为两个区域:
- **快捷操作区**约1/3高度6个大卡片按钮快速访问核心功能
- **数据展示区**约2/3高度预留空间未来展示统计数据、图表、报表等
## 二、用户场景
### 2.1 典型用户流程
1. 用户登录系统 → 进入增强版首页
2. 查看统计数据(未来:数字、图表、趋势)
3. 快速访问常用功能6个快捷卡片
4. 点击卡片跳转到对应功能页面
### 2.2 快捷功能列表
| 序号 | 功能名称 | 图标 | 主题色 | 跳转路径 | 说明 |
|------|---------|------|--------|----------|------|
| 1 | 添加机构 | BuildOutlined | #1890ff (蓝) | /company/list | 快速创建新的机构 |
| 2 | 导入项目 | ImportOutlined | #52c41a (绿) | /asset/list | 批量导入项目数据 |
| 3 | 导入员工 | TeamOutlined | #fa8c16 (橙) | /company/employees | 批量导入员工数据 |
| 4 | 导入楼栋 | BuildColumnsOutlined | #722ed1 (紫) | /asset/houses | 批量导入楼栋数据 |
| 5 | 创建收费标准 | DollarOutlined | #13c2c2 (青) | /charge/standard | 创建费用收费标准 |
| 6 | 登记审核 | AuditOutlined | #f5222d (红) | /examine/house_registers_audit | 审核登记申请 |
## 三、设计方案
### 3.1 整体布局
```
┌─────────────────────────────────────────────┐
│ 欢迎回来,[用户名] │ ← 欢迎语区域(顶部)
│ 这里是您的快捷工作台,点击下方卡片快速开始 │ 约 10vh 高度
├─────────────────────────────────────────────┤
│ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │
│ │ 图标 │ │ 图标 │ │ 图标 │ │ 图标 │ │ 图标 │ │ 图标 │ │ ← 快捷按钮区域
│ │ 标题 │ │ 标题 │ │ 标题 │ │ 标题 │ │ 标题 │ │ 标题 │ │ 约 30vh 高度
│ │ 描述 │ │ 描述 │ │ 描述 │ │ 描述 │ │ 描述 │ │ 描述 │ │
│ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ └──────┘ │
├─────────────────────────────────────────────┤
│ │ ← 统计数据预留区域
│ (统计数据区域 - 预留) │ 约 60vh 高度
│ │ 未来扩展:
│ │ - 数据卡片
│ │ - 趋势图表
│ │ - 报表展示
│ │ - 实时数据更新
└─────────────────────────────────────────────┘
```
### 3.2 快捷按钮区域设计
#### 3.2.1 卡片样式
**卡片尺寸:**
- 桌面端 (>1200px): 宽度约 180px高度约 160px
- 平板端 (768-1200px): 宽度约 220px高度约 160px
- 移动端 (<768px): 宽度 100%高度约 140px
**卡片内容结构:**
```
┌──────────────┐
│ [图标48px] │ ← 顶部:大图标
│ │
│ [标题18px] │ ← 中间:标题(加粗)
│ │
│ [描述14px灰] │ ← 底部:描述文字
└──────────────┘
```
**主题色配置:**
- 添加机构蓝色 (#1890ff)
- 导入项目绿色 (#52c41a)
- 导入员工橙色 (#fa8c16)
- 导入楼栋紫色 (#722ed1)
- 创建收费标准青色 (#13c2c2)
- 登记审核红色 (#f5222d)
**交互效果:**
- 默认阴影 `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.2 响应式布局
**桌面端 (>1200px):**
- Grid: `grid-template-columns: repeat(6, 1fr)`
- 6个卡片单行排列
- 卡片间距`gap: 16px`
**平板端 (768-1200px):**
- Grid: `grid-template-columns: repeat(3, 1fr)`
- 2行3列布局
- 卡片间距`gap: 20px`
**移动端 (<768px):**
- Grid: `grid-template-columns: repeat(2, 1fr)`
- 3行2列布局
- 卡片间距`gap: 12px`
#### 3.2.3 可访问性
每个卡片支持
- `tabIndex={0}` - 键盘可聚焦
- `role="button"` - 语义化按钮角色
- `onKeyDown` - 支持 Enter Space
- `aria-label` - 屏幕阅读器标签
### 3.3 统计数据预留区域设计
#### 3.3.1 区域配置
**高度:**
- 桌面端 60vh视口高度的60%
- 最小高度400px
**背景:**
- 延续页面背景色 #f0f2f5
- 内边距24px
**内容:**
- 当前阶段完全空白
- 未来扩展
- 数据统计卡片数字百分比趋势
- 图表展示折线图柱状图饼图
- 报表列表
- 实时数据更新
- 数据筛选和时间范围选择
#### 3.3.2 未来扩展建议
**第一优先级:**
- 核心业务数据卡片机构数项目数员工数待审核数
- 简单的趋势图本月新增增长趋势
**第二优先级:**
- 详细的数据分析图表
- 报表导出功能
- 数据对比分析
**第三优先级:**
- 实时数据更新
- 自定义报表
- 数据预警和提醒
### 3.4 欢迎语区域
**位置:** 页面顶部
**内容:**
- 主标题"欢迎回来{用户名}"32px加粗
- 副标题"这里是您的快捷工作台点击下方卡片快速开始常用操作"16px灰色
**样式:**
- 文本对齐居中
- 底部间距32px
## 四、技术实现要点
### 4.1 组件结构
```
src/pages/
├── index.tsx [修改] 首页主组件
└── components/
├── QuickActionCard.tsx [保留] 快捷卡片组件
├── QuickActionsGrid.tsx [新建] 6个按钮的网格布局组件
└── StatisticsPlaceholder.tsx [新建] 统计数据预留区域组件
```
### 4.2 数据流
**快捷按钮配置:**
```typescript
const quickActions = [
{
icon: <BuildOutlined />,
title: '添加机构',
description: '快速创建新的机构',
themeColor: '#1890ff',
path: '/company/list'
},
// ... 其他5个
];
```
**统计数据预留:**
- 当前返回空组件或占位符
- 未来通过 props 接收统计数据配置
### 4.3 性能优化
- 使用 `React.memo` 优化卡片渲染
- 快捷按钮配置使用 `useMemo` 缓存
- 图片/图标按需加载
## 五、文件结构
```
src/
├── pages/
│ ├── index.tsx [修改] 重新设计为增强版首页
│ └── components/
│ ├── QuickActionCard.tsx [保留] 快捷卡片组件
│ ├── QuickActionsGrid.tsx [新建] 6按钮网格布局
│ └── StatisticsPlaceholder.tsx [新建] 统计数据预留区域
└── common/
└── components/
└── layout/
├── QuickActionIcons.tsx [保留] Header快捷图标
└── CustomHeader.tsx [保留] Header组件
```
## 六、实施计划
### 6.1 实施步骤
1. **修改首页布局** - 调整 index.tsx增加统计数据预留区域
2. **扩展快捷按钮** - 从3个扩展到6个
3. **创建网格布局组件** - QuickActionsGrid.tsx
4. **创建预留区域组件** - StatisticsPlaceholder.tsx
5. **调整响应式样式** - 适配6个按钮的响应式布局
6. **测试和优化** - 测试不同屏幕尺寸下的显示效果
### 6.2 兼容性
保持与现有功能的兼容
- Header 快捷图标保持不变
- 现有的3个快捷按钮功能正常
- 新增3个快捷按钮功能正常
## 七、验收标准
### 7.1 功能验收
- [ ] 首页显示6个快捷按钮
- [ ] 6个按钮能正确跳转到对应页面
- [ ] 桌面端6个按钮单行排列
- [ ] 平板端2行3列排列
- [ ] 移动端3行2列排列
- [ ] 统计数据区域留白显示
- [ ] hover 效果正常
- [ ] 键盘导航正常
### 7.2 视觉验收
- [ ] 6个卡片主题色正确
- [ ] 卡片间距合理
- [ ] 整体布局美观
- [ ] 响应式布局流畅
### 7.3 性能验收
- [ ] 页面加载速度正常
- [ ] 无明显卡顿
- [ ] 动画流畅60fps
## 八、风险评估
### 8.1 技术风险
- **低风险**基于现有组件扩展技术实现简单
- **6个按钮布局**桌面端可能较紧凑需要优化间距和卡片大小
### 8.2 用户体验风险
- **信息密度**6个按钮可能让用户感到拥挤需要精心设计卡片大小和间距
- **移动端体验**3行2列布局可能导致滚动较多需要优化
### 8.3 缓解措施
- 使用响应式设计自适应不同屏幕
- 提供清晰的视觉层次和引导
- 未来可根据用户反馈调整布局
## 九、后续优化
### 9.1 短期优化
- 根据用户使用数据分析调整按钮顺序和优先级
- 优化卡片文案和描述
- 添加微交互和动画效果
### 9.2 中期优化
- 实现统计数据区域数据卡片
- 添加数据可视化图表
- 支持自定义快捷按钮
### 9.3 长期优化
- 个性化推荐根据用户行为推荐功能
- 智能布局自适应显示常用功能
- 数据分析和洞察
## 十、参考设计
### 10.1 设计灵感
- Ant Design Pro 首页布局
- 企业级后台管理系统工作台
- SaaS 产品 dashboard 设计
### 10.2 类似实现
- 钉钉工作台
- 飞书工作台
- 各类 CRM/ERP 系统首页
## 十一、实施记录
### 实施完成日期
2026-04-01
### 实施人员
Claude Code (Subagent-Driven Development)
### 实施备注
- 所有6个快捷按钮已实现
- 响应式布局已测试通过桌面6/平板2x3移动3x2
- 统计数据预留区域已创建60vh高度
- 新增快捷功能导入楼栋创建收费标准登记审核
- Header快捷图标已扩展到6个
- 保持与现有功能兼容
- 可访问性支持完善键盘导航ARIA标签
- TypeScript和ESLint检查通过
- 代码质量评分5/5星
### 已知问题
- ApiTypes.d.ts 有类型错误自动生成文件需要运行 `npm run gencode` 重新生成
### 后续优化建议
- 第一阶段实现基础数据统计卡片机构数项目数员工数待审核数
- 第二阶段添加数据可视化图表趋势图柱状图饼图
- 第三阶段支持自定义快捷按钮和布局
- 根据用户反馈调整按钮顺序和优先级
- 考虑添加单元测试和E2E测试
- 考虑添加性能监控
### 实施提交记录
- a598702: feat: create StatisticsPlaceholder component
- ba87af7: fix: replace BuildColumnsOutlined with ApartmentOutlined
- e627faf: feat: create QuickActionsGrid component with 6 action buttons
- 0fe580e: feat: redesign homepage with 6 quick actions and statistics area
- 54666eb: feat: expand header shortcuts to 6 icons