本目录包含长者档案功能的完整实现和文档:
| 文件 | 说明 |
|---|---|
QUICK_START.md |
🚀 快速开始指南 |
ELDER_PROFILE_FEATURE.md |
📖 详细功能文档 |
TEST_GUIDE.md |
🧪 测试指南 |
CODE_EXAMPLES.md |
💻 代码示例 |
README.md |
📚 本文件 |
在长者卡片上添加"长者档案"按钮,点击可以查看长者的详细信息:
src/views/Home/components/
└── ElderProfileDialog.vue # 长者档案弹窗组件
src/views/Home/
├── components/
│ ├── ElderlyCard.vue # 添加档案按钮
│ └── ElderlyList.vue # 传递事件
└── home-refactored.vue # 集成档案组件
1. 用户在老人列表中看到长者卡片
↓
2. 点击"长者档案"按钮
↓
3. 弹窗打开,显示加载状态
↓
4. 调用接口获取长者信息
↓
5. 显示长者档案(真实数据或假数据)
↓
6. 用户可以查看预警历史
↓
7. 点击关闭按钮关闭弹窗
ElderlyCard 组件
↓ 点击档案按钮
↓ emit('viewProfile', elderly)
ElderlyList 组件
↓ emit('viewProfile', elderly)
home-refactored.vue
↓ openElderProfileDialog(elderly)
↓ currentProfileElderId = elderly.id
↓ elderProfileDialogVisible = true
ElderProfileDialog 组件
↓ 监听 elderId 变化
↓ 调用 fetchElderDetail(elderId)
↓ GET /api/pc/admin/getElderDetail?elderId=xxx
↓ 显示数据或假数据
┌─────────────────────────────────────────┐
│ 长者档案 [×] │ ← 标题和关闭按钮
├─────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────┐ │
│ │ [头像] 基本信息 │ │ ← 基本信息卡片
│ │ 名字、年龄、性别 │ │
│ └─────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────┐ │
│ │ 联系方式 │ │ ← 联系方式卡片
│ │ 长者电话、家属电话、地址 │ │
│ └─────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────┐ │
│ │ 预警历史 (3) │ │ ← 预警历史卡片
│ │ ┌─────────────────────────────┐ │ │
│ │ │ [预警类型] 时间 │ │ │
│ │ │ 预警信息 │ │ │
│ │ └─────────────────────────────┘ │ │
│ │ ┌─────────────────────────────┐ │ │
│ │ │ [预警类型] 时间 │ │ │
│ │ │ 预警信息 │ │ │
│ │ └─────────────────────────────┘ │ │
│ └─────────────────────────────────┘ │
│ │
└─────────────────────────────────────────┘
{
id: 1, // 长者ID
name: "王奶奶", // 长者名称
avatar: undefined, // 头像URL(可选)
age: 72, // 年龄
gender: "女", // 性别
elderPhone: "13800138000", // 长者电话
relativePhone: "13900139000", // 家属电话
address: "北京市朝阳区建国路1号", // 地址
warningData: [ // 预警历史
{
eventType: "跌倒预警", // 预警类型
message: "检测到长者跌倒,请立即查看", // 预警信息
happensAt: "2024-01-15T10:30:00Z" // 发生时间
}
]
}
端点: GET /api/pc/admin/getElderDetail
参数:
elderId: number (query)
响应:
{
"id": 1,
"name": "王奶奶",
"age": 72,
"gender": "女",
"elderPhone": "13800138000",
"relativePhone": "13900139000",
"address": "北京市朝阳区建国路1号",
"warningData": [
{
"eventType": "跌倒预警",
"message": "检测到长者跌倒,请立即查看",
"happensAt": "2024-01-15T10:30:00Z"
}
]
}
请参考 TEST_GUIDE.md 中的完整测试清单。
当接口暂无数据时,会自动生成假数据:
1. 打开大屏页面
2. 在左侧老人列表中找到长者
3. 点击"长者档案"按钮
4. 查看长者详细信息
// 在父组件中使用
import ElderProfileDialog from './components/ElderProfileDialog.vue'
// 模板
<ElderProfileDialog
v-model="profileVisible"
:elder-id="selectedElderId"
/>
// 脚本
const profileVisible = ref(false)
const selectedElderId = ref(0)
const openProfile = (elderId: number) => {
selectedElderId.value = elderId
profileVisible.value = true
}
请参考 CODE_EXAMPLES.md 中的详细代码示例。
// 打开档案弹窗
const openElderProfileDialog = (elderly: Elderly) => {
currentProfileElderId.value = elderly.id
elderProfileDialogVisible.value = true
}
// 关闭档案弹窗
const closeElderProfileDialog = () => {
elderProfileDialogVisible.value = false
}
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| modelValue | boolean | false | 弹窗显示状态 |
| elderId | number | 0 | 长者ID |
// 修改弹窗宽度
width: 600px; // 可修改为其他值
// 修改颜色
$primary-color: #1a73e8;
$accent-color: #7b61ff;
$warning-color: #fd9644;
Q: 为什么显示假数据?
A: 接口 /api/pc/admin/getElderDetail 还没有真实数据,所以使用假数据。
Q: 如何修改假数据?
A: 编辑 ElderProfileDialog.vue 中的 generateMockData 函数。
Q: 如何关闭弹窗? A: 点击右上角关闭按钮或按 ESC 键。
QUICK_START.md - 快速开始ELDER_PROFILE_FEATURE.md - 功能详情TEST_GUIDE.md - 测试指南CODE_EXAMPLES.md - 代码示例本项目遵循项目许可证。
最后更新: 2024-01-15 版本: 1.0.0 状态: 生产就绪 ✅