# 养老管理系统开发方案 (基于现有数据库结构) ## 项目概述 基于现有 zhipao.sql 数据库结构,开发一套完整的多租户养老管理系统,采用 uni-app-x 框架,严格遵循 UTS Android 兼容性要求。 ## 数据库设计方案 ### 1. 复用现有核心组件 #### 1.1 用户管理系统 (完整复用) ```sql -- 直接使用现有表结构 -- ak_users (基础用户表) -- ak_user_contacts (联系方式) -- ak_user_profiles (个人资料) -- ak_user_roles (用户角色关联) ``` #### 1.2 权限角色系统 (扩展现有) ```sql -- 基于现有角色系统,增加养老系统特有角色 INSERT INTO public.ak_roles (name, description, level, is_system) VALUES ('elder', '入住老人', 5, true), ('family', '家属用户', 15, true), ('caregiver', '护理员', 25, true), ('nurse', '护士', 35, true), ('doctor', '医生', 45, true), ('facility_admin', '机构管理员', 55, true), ('system_admin', '系统管理员', 100, true); -- 添加养老系统权限 INSERT INTO public.ak_permissions (code, name, resource_type, action, description) VALUES -- 老人权限 ('elder.profile.read', '查看个人档案', 'profile', 'read', '查看自己的档案信息'), ('elder.health.read', '查看健康记录', 'health', 'read', '查看自己的健康数据'), -- 家属权限 ('family.elder.read', '查看老人信息', 'elder', 'read', '查看关联老人的信息'), ('family.visit.create', '预约探访', 'visit', 'create', '预约探访老人'), -- 护理员权限 ('caregiver.care.manage', '护理管理', 'care', 'manage', '执行日常护理任务'), ('caregiver.elder.read', '查看老人信息', 'elder', 'read', '查看负责老人信息'), -- 护士权限 ('nurse.health.manage', '健康管理', 'health', 'manage', '管理老人健康记录'), ('nurse.medication.manage', '用药管理', 'medication', 'manage', '管理用药计划'), -- 医生权限 ('doctor.diagnosis.manage', '诊疗管理', 'diagnosis', 'manage', '管理医疗诊断'), ('doctor.prescription.manage', '处方管理', 'prescription', 'manage', '开具处方'); ``` #### 1.3 多租户架构 (改造复用) ```sql -- 地区管理 → 机构区域管理 -- ak_regions 表直接使用 -- 学校管理 → 养老机构管理 -- 基于 ak_schools 表结构 CREATE TABLE public.ec_facilities ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), name VARCHAR(128) NOT NULL, -- 机构名称 region_id uuid REFERENCES public.ak_regions(id), -- 所属地区 type VARCHAR(32), -- 机构类型:nursing_home, assisted_living, day_care license_number VARCHAR(64), -- 许可证号 contact_phone VARCHAR(32), -- 联系电话 address TEXT, -- 详细地址 capacity INT, -- 床位总数 current_occupancy INT DEFAULT 0, -- 当前入住人数 created_at TIMESTAMP WITH TIME ZONE DEFAULT now() ); -- 班级管理 → 护理单元管理 -- 基于 ak_classes 表结构 CREATE TABLE public.ec_care_units ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), facility_id uuid REFERENCES public.ec_facilities(id) ON DELETE CASCADE, name VARCHAR(32) NOT NULL, -- 护理单元名称(如:A栋1楼、康复区) unit_type VARCHAR(32), -- 单元类型:general, dementia, medical, rehab bed_capacity INT, -- 床位数 current_occupancy INT DEFAULT 0, -- 当前入住数 created_at TIMESTAMP WITH TIME ZONE DEFAULT now() ); ``` #### 1.4 设备管理系统 (改造复用) ```sql -- 基于 ak_devices 表,扩展为健康监测设备 CREATE TABLE public.ec_devices ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), facility_id uuid REFERENCES public.ec_facilities(id), elder_id uuid REFERENCES public.ak_users(id), -- 关联老人 device_type VARCHAR(32) NOT NULL, -- 设备类型:blood_pressure, glucose, heart_rate, fall_detector device_name VARCHAR(64), -- 设备名称 device_mac VARCHAR(64), -- 设备MAC location VARCHAR(128), -- 设备位置 bind_time TIMESTAMP WITH TIME ZONE DEFAULT now(), status VARCHAR(16) DEFAULT 'active', -- active, inactive, maintenance last_sync TIMESTAMP WITH TIME ZONE, -- 最后同步时间 extra JSONB -- 设备特有配置 ); ``` ### 2. 养老系统核心业务表 #### 2.1 老人档案管理 ```sql -- 老人基本档案 CREATE TABLE public.ec_elders ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), user_id uuid UNIQUE REFERENCES public.ak_users(id) ON DELETE CASCADE, -- 关联用户表 facility_id uuid REFERENCES public.ec_facilities(id), -- 所属机构 care_unit_id uuid REFERENCES public.ec_care_units(id), -- 护理单元 elder_code VARCHAR(32) UNIQUE, -- 老人编号 name VARCHAR(64) NOT NULL, -- 姓名 id_card VARCHAR(32), -- 身份证号 gender VARCHAR(16), -- 性别 birthday DATE, -- 出生日期 nationality VARCHAR(32), -- 民族 religion VARCHAR(32), -- 宗教信仰 marital_status VARCHAR(16), -- 婚姻状况 education VARCHAR(32), -- 文化程度 occupation VARCHAR(64), -- 职业 admission_date DATE, -- 入住日期 care_level VARCHAR(16), -- 护理等级:self_care, assisted, full_care, dementia room_number VARCHAR(16), -- 房间号 bed_number VARCHAR(16), -- 床位号 payment_method VARCHAR(16), -- 付费方式:self_pay, insurance, government monthly_fee DECIMAL(10,2), -- 月费用 deposit DECIMAL(10,2), -- 押金 status VARCHAR(16) DEFAULT 'active', -- 状态:active, discharged, deceased created_at TIMESTAMP WITH TIME ZONE DEFAULT now(), updated_at TIMESTAMP WITH TIME ZONE DEFAULT now() ); -- 家属联系人 CREATE TABLE public.ec_family_contacts ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE, user_id uuid REFERENCES public.ak_users(id), -- 关联家属用户账号 name VARCHAR(64) NOT NULL, -- 联系人姓名 relationship VARCHAR(32), -- 关系:son, daughter, spouse, sibling, other phone VARCHAR(32), -- 电话 email VARCHAR(128), -- 邮箱 address TEXT, -- 地址 is_emergency_contact BOOLEAN DEFAULT false, -- 是否紧急联系人 is_primary BOOLEAN DEFAULT false, -- 是否主要联系人 created_at TIMESTAMP WITH TIME ZONE DEFAULT now() ); ``` #### 2.2 健康管理 ```sql -- 健康档案 CREATE TABLE public.ec_health_records ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE, record_type VARCHAR(32), -- 记录类型:admission, routine, emergency, discharge record_date DATE, height_cm INT, -- 身高 weight_kg DECIMAL(5,2), -- 体重 blood_pressure_systolic INT, -- 收缩压 blood_pressure_diastolic INT, -- 舒张压 heart_rate INT, -- 心率 temperature DECIMAL(4,1), -- 体温 blood_sugar DECIMAL(5,2), -- 血糖 medical_history TEXT, -- 病史 current_medications TEXT, -- 当前用药 allergies TEXT, -- 过敏史 mental_status TEXT, -- 心理状态 mobility_level VARCHAR(16), -- 行动能力:independent, assisted, wheelchair, bedridden cognitive_level VARCHAR(16), -- 认知能力:normal, mild, moderate, severe recorded_by uuid REFERENCES public.ak_users(id), -- 记录人 created_at TIMESTAMP WITH TIME ZONE DEFAULT now() ); -- 基于现有 ak_biometric_data 表结构扩展 -- 生命体征监测数据 CREATE TABLE public.ec_vital_signs ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE, device_id uuid REFERENCES public.ec_devices(id), -- 监测设备 vital_type VARCHAR(32), -- 体征类型:blood_pressure, heart_rate, temperature, oxygen, glucose systolic_pressure INT, -- 收缩压 diastolic_pressure INT, -- 舒张压 heart_rate INT, -- 心率 temperature DECIMAL(4,1), -- 体温 oxygen_saturation INT, -- 血氧饱和度 glucose_level DECIMAL(5,2), -- 血糖 measured_at TIMESTAMP WITH TIME ZONE, -- 测量时间 measured_by uuid REFERENCES public.ak_users(id), -- 测量人 notes TEXT, -- 备注 is_abnormal BOOLEAN DEFAULT false, -- 是否异常 created_at TIMESTAMP WITH TIME ZONE DEFAULT now() ); ``` #### 2.3 护理管理 ```sql -- 护理计划 (基于 ak_training_plans 改造) CREATE TABLE public.ec_care_plans ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE, plan_name VARCHAR(128) NOT NULL, -- 计划名称 plan_type VARCHAR(32), -- 计划类型:daily, medical, rehabilitation, nutrition description TEXT, -- 描述 start_date DATE, -- 开始日期 end_date DATE, -- 结束日期 frequency VARCHAR(32), -- 频率:daily, weekly, monthly assigned_caregiver uuid REFERENCES public.ak_users(id), -- 负责护理员 created_by uuid REFERENCES public.ak_users(id), -- 创建人 status VARCHAR(16) DEFAULT 'active', -- 状态 created_at TIMESTAMP WITH TIME ZONE DEFAULT now(), updated_at TIMESTAMP WITH TIME ZONE DEFAULT now() ); -- 护理任务 (基于 ak_assignments 改造) CREATE TABLE public.ec_care_tasks ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE, care_plan_id uuid REFERENCES public.ec_care_plans(id), task_name VARCHAR(128) NOT NULL, -- 任务名称 task_type VARCHAR(32), -- 任务类型:medication, hygiene, mobility, nutrition, social description TEXT, -- 任务描述 scheduled_time TIMESTAMP WITH TIME ZONE, -- 计划执行时间 assigned_to uuid REFERENCES public.ak_users(id), -- 分配给 priority VARCHAR(16) DEFAULT 'normal', -- 优先级:low, normal, high, urgent estimated_duration INT, -- 预计耗时(分钟) status VARCHAR(16) DEFAULT 'pending', -- 状态:pending, in_progress, completed, cancelled due_date TIMESTAMP WITH TIME ZONE, -- 截止时间 created_by uuid REFERENCES public.ak_users(id), -- 创建人 created_at TIMESTAMP WITH TIME ZONE DEFAULT now(), updated_at TIMESTAMP WITH TIME ZONE DEFAULT now() ); -- 护理记录 (基于 ak_assignment_submissions 改造) CREATE TABLE public.ec_care_records ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), task_id uuid REFERENCES public.ec_care_tasks(id) ON DELETE CASCADE, elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE, caregiver_id uuid REFERENCES public.ak_users(id) ON DELETE CASCADE, -- 护理员 start_time TIMESTAMP WITH TIME ZONE, -- 开始时间 end_time TIMESTAMP WITH TIME ZONE, -- 结束时间 actual_duration INT, -- 实际耗时(分钟) care_content TEXT, -- 护理内容 elder_condition TEXT, -- 老人状况描述 issues_notes TEXT, -- 问题或注意事项 photo_urls TEXT[], -- 相关照片 status VARCHAR(16) DEFAULT 'completed', -- 状态 rating INT, -- 护理质量评分(1-5) supervisor_notes TEXT, -- 主管备注 created_at TIMESTAMP WITH TIME ZONE DEFAULT now() ); ``` #### 2.4 医疗管理 ```sql -- 医疗记录 CREATE TABLE public.ec_medical_records ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE, doctor_id uuid REFERENCES public.ak_users(id), -- 医生 visit_type VARCHAR(32), -- 就诊类型:routine, emergency, consultation, follow_up visit_date TIMESTAMP WITH TIME ZONE, -- 就诊时间 chief_complaint TEXT, -- 主诉 symptoms TEXT, -- 症状 diagnosis TEXT, -- 诊断 treatment_plan TEXT, -- 治疗方案 prescription TEXT, -- 处方 follow_up_date DATE, -- 复诊日期 notes TEXT, -- 医生备注 created_at TIMESTAMP WITH TIME ZONE DEFAULT now() ); -- 用药管理 CREATE TABLE public.ec_medications ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE, medical_record_id uuid REFERENCES public.ec_medical_records(id), -- 关联医疗记录 medication_name VARCHAR(128) NOT NULL, -- 药品名称 dosage VARCHAR(64), -- 剂量 frequency VARCHAR(64), -- 用药频率 route VARCHAR(32), -- 给药途径:oral, injection, topical start_date DATE, -- 开始日期 end_date DATE, -- 结束日期 prescribed_by uuid REFERENCES public.ak_users(id), -- 开药医生 instructions TEXT, -- 用药说明 side_effects TEXT, -- 副作用注意 status VARCHAR(16) DEFAULT 'active', -- 状态:active, completed, discontinued created_at TIMESTAMP WITH TIME ZONE DEFAULT now() ); -- 用药记录 CREATE TABLE public.ec_medication_logs ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), medication_id uuid REFERENCES public.ec_medications(id) ON DELETE CASCADE, elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE, administered_by uuid REFERENCES public.ak_users(id), -- 给药人 scheduled_time TIMESTAMP WITH TIME ZONE, -- 计划给药时间 actual_time TIMESTAMP WITH TIME ZONE, -- 实际给药时间 dosage_given VARCHAR(64), -- 实际给药剂量 status VARCHAR(16), -- 状态:given, refused, missed, delayed notes TEXT, -- 备注 side_effects_observed TEXT, -- 观察到的副作用 created_at TIMESTAMP WITH TIME ZONE DEFAULT now() ); ``` #### 2.5 服务管理 ```sql -- 餐饮服务 CREATE TABLE public.ec_meal_services ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), facility_id uuid REFERENCES public.ec_facilities(id) ON DELETE CASCADE, meal_date DATE NOT NULL, -- 用餐日期 meal_type VARCHAR(16), -- 餐次类型:breakfast, lunch, dinner, snack menu_items JSONB, -- 菜单项目 nutritional_info JSONB, -- 营养信息 special_diet_options JSONB, -- 特殊饮食选项 created_by uuid REFERENCES public.ak_users(id), -- 创建人 created_at TIMESTAMP WITH TIME ZONE DEFAULT now() ); -- 用餐记录 CREATE TABLE public.ec_meal_records ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE, meal_service_id uuid REFERENCES public.ec_meal_services(id), meal_type VARCHAR(16), -- 餐次 meal_date DATE, -- 用餐日期 food_items JSONB, -- 实际用餐项目 appetite_level VARCHAR(16), -- 食欲:good, fair, poor amount_consumed VARCHAR(16), -- 进食量:full, half, quarter, none assistance_needed BOOLEAN DEFAULT false, -- 是否需要协助 assisted_by uuid REFERENCES public.ak_users(id), -- 协助人员 notes TEXT, -- 备注 created_at TIMESTAMP WITH TIME ZONE DEFAULT now() ); -- 活动安排 CREATE TABLE public.ec_activities ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), facility_id uuid REFERENCES public.ec_facilities(id) ON DELETE CASCADE, activity_name VARCHAR(128) NOT NULL, -- 活动名称 activity_type VARCHAR(32), -- 活动类型:recreation, therapy, education, social, exercise description TEXT, -- 活动描述 location VARCHAR(128), -- 活动地点 start_time TIMESTAMP WITH TIME ZONE, -- 开始时间 end_time TIMESTAMP WITH TIME ZONE, -- 结束时间 max_participants INT, -- 最大参与人数 instructor uuid REFERENCES public.ak_users(id), -- 活动指导员 requirements TEXT, -- 参与要求 materials_needed TEXT, -- 所需物品 status VARCHAR(16) DEFAULT 'scheduled', -- 状态 created_by uuid REFERENCES public.ak_users(id), -- 创建人 created_at TIMESTAMP WITH TIME ZONE DEFAULT now() ); -- 活动参与记录 CREATE TABLE public.ec_activity_participations ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), activity_id uuid REFERENCES public.ec_activities(id) ON DELETE CASCADE, elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE, participation_status VARCHAR(16), -- 参与状态:registered, attended, absent, cancelled enjoyment_level VARCHAR(16), -- 参与满意度:excellent, good, fair, poor behavior_notes TEXT, -- 行为观察记录 staff_notes TEXT, -- 工作人员备注 created_at TIMESTAMP WITH TIME ZONE DEFAULT now() ); -- 访客管理 CREATE TABLE public.ec_visits ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE, visitor_name VARCHAR(64) NOT NULL, -- 访客姓名 visitor_relationship VARCHAR(32), -- 与老人关系 visitor_id_card VARCHAR(32), -- 访客身份证 visitor_phone VARCHAR(32), -- 访客电话 visit_date DATE, -- 访问日期 start_time TIME, -- 开始时间 end_time TIME, -- 结束时间 visit_purpose TEXT, -- 访问目的 items_brought TEXT, -- 携带物品 approved_by uuid REFERENCES public.ak_users(id), -- 审批人 check_in_time TIMESTAMP WITH TIME ZONE, -- 实际签到时间 check_out_time TIMESTAMP WITH TIME ZONE, -- 实际签出时间 status VARCHAR(16) DEFAULT 'scheduled', -- 状态:scheduled, in_progress, completed, cancelled notes TEXT, -- 备注 created_at TIMESTAMP WITH TIME ZONE DEFAULT now() ); ``` ### 3. AI分析与报告系统 (基于现有系统改造) #### 3.1 健康预警系统 ```sql -- 基于 ak_ai_reports 改造 CREATE TABLE public.ec_health_alerts ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE, alert_type VARCHAR(32), -- 预警类型:vital_signs, medication, fall_risk, behavior severity VARCHAR(16), -- 严重程度:low, medium, high, critical title VARCHAR(128), -- 预警标题 description TEXT, -- 预警描述 data_source JSONB, -- 触发预警的数据 ai_analysis JSONB, -- AI分析结果 recommendations TEXT, -- 建议措施 status VARCHAR(16) DEFAULT 'active', -- 状态:active, acknowledged, resolved acknowledged_by uuid REFERENCES public.ak_users(id), -- 确认人 acknowledged_at TIMESTAMP WITH TIME ZONE, -- 确认时间 resolved_by uuid REFERENCES public.ak_users(id), -- 处理人 resolved_at TIMESTAMP WITH TIME ZONE, -- 处理时间 created_at TIMESTAMP WITH TIME ZONE DEFAULT now() ); -- 基于 ak_video_analysis 改造 - 行为分析 CREATE TABLE public.ec_behavior_analysis ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), elder_id uuid REFERENCES public.ec_elders(id) ON DELETE CASCADE, device_id uuid REFERENCES public.ec_devices(id), -- 监控设备 analysis_type VARCHAR(32), -- 分析类型:fall_detection, wandering, sleep_pattern, activity_level video_url TEXT, -- 视频链接 timestamp_start TIMESTAMP WITH TIME ZONE, -- 分析开始时间 timestamp_end TIMESTAMP WITH TIME ZONE, -- 分析结束时间 ai_results JSONB, -- AI分析结果 confidence_score DECIMAL(3,2), -- 置信度 is_anomaly BOOLEAN DEFAULT false, -- 是否异常 alert_generated BOOLEAN DEFAULT false, -- 是否生成预警 reviewed_by uuid REFERENCES public.ak_users(id), -- 审核人 review_notes TEXT, -- 审核备注 created_at TIMESTAMP WITH TIME ZONE DEFAULT now() ); ``` ### 4. 系统配置与管理 #### 4.1 通知模板系统 ```sql -- 基于现有通知系统扩展 CREATE TABLE public.ec_notification_templates ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), template_code VARCHAR(64) UNIQUE NOT NULL, -- 模板代码 template_name VARCHAR(128) NOT NULL, -- 模板名称 category VARCHAR(32), -- 分类:health, care, visit, emergency, system subject_template TEXT, -- 标题模板 content_template TEXT, -- 内容模板 variables JSONB, -- 模板变量定义 delivery_methods VARCHAR(16)[], -- 发送方式:app, sms, email is_active BOOLEAN DEFAULT true, -- 是否启用 created_at TIMESTAMP WITH TIME ZONE DEFAULT now() ); -- 通知发送记录 CREATE TABLE public.ec_notification_logs ( id uuid PRIMARY KEY DEFAULT gen_random_uuid(), template_id uuid REFERENCES public.ec_notification_templates(id), recipient_id uuid REFERENCES public.ak_users(id), -- 接收人 elder_id uuid REFERENCES public.ec_elders(id), -- 关联老人 subject VARCHAR(256), -- 实际标题 content TEXT, -- 实际内容 delivery_method VARCHAR(16), -- 发送方式 delivery_status VARCHAR(16), -- 发送状态:pending, sent, failed, delivered sent_at TIMESTAMP WITH TIME ZONE, -- 发送时间 delivered_at TIMESTAMP WITH TIME ZONE, -- 送达时间 error_message TEXT, -- 错误信息 created_at TIMESTAMP WITH TIME ZONE DEFAULT now() ); ``` ## 前端页面结构规划 ### 1. 用户角色页面结构 #### 1.1 老人用户 (Elder) ``` pages/elder/ ├── dashboard.uvue # 个人仪表板 ├── profile/ │ ├── basic.uvue # 基本信息 │ ├── health.uvue # 健康档案 │ └── family.uvue # 家属联系 ├── health/ │ ├── vitals.uvue # 生命体征 │ ├── medications.uvue # 用药记录 │ └── records.uvue # 健康记录 ├── services/ │ ├── meals.uvue # 餐饮服务 │ ├── activities.uvue # 活动安排 │ └── visits.uvue # 访客管理 └── notifications.uvue # 消息通知 ``` #### 1.2 家属用户 (Family) ``` pages/family/ ├── dashboard.uvue # 家属仪表板 ├── elder/ │ ├── overview.uvue # 老人概况 │ ├── health.uvue # 健康状况 │ ├── care.uvue # 护理记录 │ └── activities.uvue # 活动参与 ├── visits/ │ ├── schedule.uvue # 探访预约 │ └── history.uvue # 探访记录 ├── communication/ │ ├── messages.uvue # 消息中心 │ └── alerts.uvue # 健康预警 └── reports.uvue # 护理报告 ``` #### 1.3 护理员 (Caregiver) ``` pages/caregiver/ ├── dashboard.uvue # 工作仪表板 ├── tasks/ │ ├── today.uvue # 今日任务 │ ├── schedule.uvue # 任务安排 │ └── history.uvue # 历史记录 ├── elders/ │ ├── list.uvue # 负责老人列表 │ ├── profile.uvue # 老人详情 │ └── care-notes.uvue # 护理笔记 ├── records/ │ ├── care.uvue # 护理记录 │ ├── vitals.uvue # 生命体征 │ └── incidents.uvue # 事件记录 └── handover.uvue # 交班记录 ``` #### 1.4 护士 (Nurse) ``` pages/nurse/ ├── dashboard.uvue # 护士工作台 ├── patients/ │ ├── list.uvue # 老人列表 │ ├── assessment.uvue # 健康评估 │ └── care-plans.uvue # 护理计划 ├── medications/ │ ├── administration.uvue # 给药管理 │ ├── schedule.uvue # 用药安排 │ └── monitoring.uvue # 用药监控 ├── health/ │ ├── vitals.uvue # 生命体征监测 │ ├── alerts.uvue # 健康预警 │ └── reports.uvue # 健康报告 └── documentation.uvue # 护理文档 ``` #### 1.5 医生 (Doctor) ``` pages/doctor/ ├── dashboard.uvue # 医生工作台 ├── patients/ │ ├── list.uvue # 患者列表 │ ├── medical-history.uvue # 病史查看 │ └── consultation.uvue # 会诊记录 ├── diagnosis/ │ ├── examination.uvue # 查体记录 │ ├── diagnosis.uvue # 诊断记录 │ └── treatment.uvue # 治疗方案 ├── prescriptions/ │ ├── create.uvue # 开具处方 │ ├── review.uvue # 处方审核 │ └── history.uvue # 处方历史 └── reports/ ├── medical.uvue # 医疗报告 └── statistics.uvue # 统计分析 ``` #### 1.6 机构管理员 (Facility Admin) ``` pages/admin/ ├── dashboard.uvue # 管理仪表板 ├── residents/ │ ├── list.uvue # 入住老人管理 │ ├── admission.uvue # 入住办理 │ └── discharge.uvue # 出院办理 ├── staff/ │ ├── list.uvue # 员工管理 │ ├── scheduling.uvue # 排班管理 │ └── performance.uvue # 绩效管理 ├── facilities/ │ ├── rooms.uvue # 房间管理 │ ├── equipment.uvue # 设备管理 │ └── maintenance.uvue # 维护记录 ├── services/ │ ├── meals.uvue # 餐饮管理 │ ├── activities.uvue # 活动管理 │ └── visits.uvue # 访客管理 ├── finance/ │ ├── billing.uvue # 费用管理 │ ├── payments.uvue # 收费记录 │ └── reports.uvue # 财务报表 └── reports/ ├── occupancy.uvue # 入住率报告 ├── care-quality.uvue # 护理质量 └── statistics.uvue # 统计报表 ``` ### 2. 共享组件设计 #### 2.1 基础组件 ``` components/ ├── common/ │ ├── EcHeader.uvue # 页面头部 │ ├── EcSidebar.uvue # 侧边栏 │ ├── EcCard.uvue # 信息卡片 │ ├── EcList.uvue # 列表组件 │ ├── EcForm.uvue # 表单组件 │ ├── EcModal.uvue # 模态框 │ └── EcPagination.uvue # 分页组件 ├── charts/ │ ├── VitalChart.uvue # 生命体征图表 │ ├── HealthTrend.uvue # 健康趋势图 │ └── StatisticChart.uvue # 统计图表 ├── elder/ │ ├── ElderCard.uvue # 老人信息卡 │ ├── HealthStatus.uvue # 健康状态 │ └── CareLevel.uvue # 护理等级显示 ├── tasks/ │ ├── TaskList.uvue # 任务列表 │ ├── TaskCard.uvue # 任务卡片 │ └── TaskProgress.uvue # 任务进度 └── notifications/ ├── AlertBadge.uvue # 预警徽章 ├── MessageList.uvue # 消息列表 └── NotificationItem.uvue # 通知项 ``` ### 3. UTS Android 严格兼容性要求 #### 3.1 代码规范 ```typescript // ✅ 正确的 UTSJSONObject 访问模式 把必须的type都集中到 /eldercar/atypes.uts中。 function processElderData(data: UTSJSONObject): ElderInfo { return { id: (data as UTSJSONObject).getString('id') ?? '', name: (data as UTSJSONObject).getString('name') ?? '', age: (data as UTSJSONObject).getNumber('age') ?? 0, careLevel: (data as UTSJSONObject).getString('care_level') ?? 'self_care', isActive: (data as UTSJSONObject).getBoolean('is_active') ?? true } } // ✅ 安全的布尔值检查 // ✅ UTS 兼容的函数定义 当前用户获取从/utils/store中获取 ``` ### 4. 开发优先级与里程碑 #### 第一阶段:核心基础功能 (4周) 1. 用户认证与权限系统 2. 老人档案管理 3. 基础护理记录 4. 简单的健康监测 #### 第二阶段:护理业务完善 (4周) 1. 完整的护理计划与任务管理 2. 用药管理系统 3. 餐饮与活动服务 4. 访客管理 #### 第三阶段:高级功能 (4周) 1. AI健康预警系统 2. 行为分析与跌倒检测 3. 报表统计系统 4. 移动端优化 #### 第四阶段:系统完善 (2周) 1. 多租户管理界面 2. 系统配置与维护 3. 数据导入导出 4. 性能优化与测试 ## 技术架构说明 ### 后端架构 - **数据库**: Supabase PostgreSQL - **认证**: /components/supadb/ - **存储**: /components/supadb/ Storage (照片、视频、文档) - **实时通信**: /components/supadb/ Realtime - **API**: /components/supadb/ajsupa.uts ### 前端架构 - **框架**: uni-app-x - **状态管理**: /utils/store - **UI组件**: 自定义组件库 (严格UTS兼容) - **图表**: uCharts (UTS兼容版本) - **网络请求**: uni.request (UTS兼容封装) ### 开发工具链 - **IDE**: VS Code + uni-app插件 - **版本控制**: Git - **部署**: Supabase + 小程序云开发 - **监控**: Supabase Dashboard + 自定义监控 这个开发方案充分利用了现有数据库结构的优势,同时满足养老管理系统的特殊需求,确保系统的可扩展性和维护性。 这个系统的目录就放在/pages/eldercare/ ,可以分角色创建不同的目录和页面,可以参考 /sports/下面的页面