0.0.8.5
This commit is contained in:
@@ -0,0 +1,176 @@
|
||||
# 版本历史详细视图
|
||||
|
||||
## ✅ 功能完成
|
||||
|
||||
版本历史现在直接显示每个版本的详细内容,不需要点击。
|
||||
|
||||
## 🎯 显示效果
|
||||
|
||||
### 布局结构
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────┐
|
||||
│ 📜 版本历史 │
|
||||
│ 共 5 个版本 │
|
||||
├─────────────────────────────────────────┤
|
||||
│ ┌─────────────────────────────────────┐ │
|
||||
│ │ [更新] 版本 5 2025-11-24 13:18 │ │
|
||||
│ │ 👤 虞女士 │ │
|
||||
│ │ │ │
|
||||
│ │ 家族关系 │ │
|
||||
│ │ 父亲: xxx 母亲: xxx │ │
|
||||
│ │ 配偶: xxx 子女: xxx │ │
|
||||
│ │ │ │
|
||||
│ │ 详细信息 │ │
|
||||
│ │ 姓名: xxx 性别: 男 │ │
|
||||
│ │ 出生: xxx 世代: 3 │ │
|
||||
│ │ 手机: xxx 邮箱: xxx │ │
|
||||
│ │ ... │ │
|
||||
│ │ │ │
|
||||
│ │ 简介 │ │
|
||||
│ │ 这是一段简介... │ │
|
||||
│ └─────────────────────────────────────┘ │
|
||||
│ │
|
||||
│ ┌─────────────────────────────────────┐ │
|
||||
│ │ [更新] 版本 4 2025-11-24 12:20 │ │
|
||||
│ │ ... │ │
|
||||
│ └─────────────────────────────────────┘ │
|
||||
└─────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## 📋 显示内容
|
||||
|
||||
### 1. 版本头部
|
||||
- 操作类型标签(创建/更新/删除)
|
||||
- 版本号
|
||||
- 修改时间(精确到分钟)
|
||||
|
||||
### 2. 操作人
|
||||
- 显示修改人姓名或邮箱
|
||||
|
||||
### 3. 家族关系(最上方)
|
||||
- 父亲、母亲
|
||||
- 配偶、子女
|
||||
- 岳父/公公、岳母/婆婆
|
||||
- **两列布局**
|
||||
|
||||
### 4. 详细信息
|
||||
- 基本信息:姓名、性别、出生日期等
|
||||
- 联系方式:手机、电话、邮箱、地址
|
||||
- 其他信息:世代、字辈、字、号等
|
||||
- **两列布局**
|
||||
|
||||
### 5. 简介
|
||||
- 显示前3行(line-clamp-3)
|
||||
- 单独一行显示
|
||||
|
||||
## 🎨 样式设计
|
||||
|
||||
### 颜色标识
|
||||
- **创建**:`bg-green-100 text-green-700 border-green-200`
|
||||
- **更新**:`bg-blue-100 text-blue-700 border-blue-200`
|
||||
- **删除**:`bg-red-100 text-red-700 border-red-200`
|
||||
|
||||
### 布局特点
|
||||
- 每个版本独立卡片
|
||||
- 版本间间距:`space-y-6`
|
||||
- 内容两列布局:`grid grid-cols-2`
|
||||
- 标签和值左右对齐:`flex justify-between`
|
||||
|
||||
### 响应式
|
||||
- 滚动区域高度:600px
|
||||
- 自动滚动条
|
||||
- 移动端自适应
|
||||
|
||||
## 🔧 技术实现
|
||||
|
||||
### 数据格式化
|
||||
|
||||
```typescript
|
||||
const formatValue = (value: any) => {
|
||||
if (value === null || value === undefined) return '-'
|
||||
if (typeof value === 'boolean') return value ? '是' : '否'
|
||||
if (Array.isArray(value)) return value.length > 0 ? value.join(', ') : '-'
|
||||
return String(value)
|
||||
}
|
||||
```
|
||||
|
||||
### 字段分组
|
||||
|
||||
1. **家族关系字段**:
|
||||
- `fatherId`, `motherId`
|
||||
- `spouseIds`, `childrenIds`
|
||||
- `spouseFatherName`, `spouseMotherName`
|
||||
|
||||
2. **详细信息字段**:
|
||||
- 基本信息、日期、地点
|
||||
- 联系方式
|
||||
- 其他属性
|
||||
|
||||
3. **简介字段**:
|
||||
- `bio`
|
||||
|
||||
### 渲染逻辑
|
||||
|
||||
```typescript
|
||||
const renderVersionDetail = (snapshot: any) => {
|
||||
return (
|
||||
<div className="mt-3 space-y-4">
|
||||
{/* 家族关系 */}
|
||||
<div>...</div>
|
||||
|
||||
{/* 详细信息 */}
|
||||
<div>...</div>
|
||||
|
||||
{/* 简介 */}
|
||||
{snapshot.bio && <div>...</div>}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
```
|
||||
|
||||
## ✨ 优势
|
||||
|
||||
1. **一目了然**:无需点击即可查看所有版本详情
|
||||
2. **信息完整**:显示版本的完整快照
|
||||
3. **布局清晰**:家族关系在最上方,详细信息两列显示
|
||||
4. **易于对比**:多个版本垂直排列,便于比较
|
||||
5. **性能优化**:使用 ScrollArea 虚拟滚动
|
||||
|
||||
## 📊 字段映射
|
||||
|
||||
| 字段 | 中文标签 | 显示位置 |
|
||||
|------|---------|---------|
|
||||
| fatherId | 父亲 | 家族关系 |
|
||||
| motherId | 母亲 | 家族关系 |
|
||||
| spouseIds | 配偶 | 家族关系 |
|
||||
| childrenIds | 子女 | 家族关系 |
|
||||
| fullName | 姓名 | 详细信息 |
|
||||
| gender | 性别 | 详细信息 |
|
||||
| birthDate | 出生日期 | 详细信息 |
|
||||
| phone | 手机 | 详细信息 |
|
||||
| email | 邮箱 | 详细信息 |
|
||||
| bio | 简介 | 单独显示 |
|
||||
| ... | ... | ... |
|
||||
|
||||
## 💡 使用场景
|
||||
|
||||
1. **查看修改历史**:了解成员信息的变化过程
|
||||
2. **数据审计**:追踪谁在什么时候修改了什么
|
||||
3. **错误恢复**:查看历史版本,准备回滚
|
||||
4. **信息对比**:比较不同版本的差异
|
||||
|
||||
## 🔮 未来增强
|
||||
|
||||
1. **版本对比**:选择两个版本进行详细对比
|
||||
2. **版本回滚**:一键恢复到历史版本
|
||||
3. **变更高亮**:突出显示与上一版本的差异
|
||||
4. **搜索过滤**:按时间、操作人筛选版本
|
||||
5. **导出功能**:导出版本历史为PDF/Excel
|
||||
|
||||
## 📝 注意事项
|
||||
|
||||
1. **数据量**:版本过多时可能影响加载速度
|
||||
2. **隐私**:确保只有有权限的用户能查看
|
||||
3. **存储**:每个版本保存完整快照,注意存储空间
|
||||
4. **性能**:使用分页或虚拟滚动优化大量版本的显示
|
||||
Reference in New Issue
Block a user