From 53ba50573965ae9bf5a1b5043914b4a2e1cc9e79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E9=9F=B5=E7=90=B4?= <757188142@qq.com> Date: Thu, 14 May 2026 17:43:36 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=81=A5=E5=BA=B7=E7=9B=91=E6=B5=8B?= =?UTF-8?q?=E5=A4=9A=E7=AB=AF=E5=8E=9F=E5=9E=8B=E6=96=B0=E5=A2=9E=E4=B8=8E?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 员工端新增体重监测模块(主页/历史数据/详细报告),支持按设备来源(体重秤/蓝牙秤/体脂仪)显示不同字段 - 员工端新增健康排查模块(首页/打卡填写/打卡记录/问卷详情/题目设置),含打卡成功dialog弹窗 - 管理端体重监测数据明细页使用次数统计靠右显示 - 管理端体重监测dialog弹窗改为分类展示监测字段 - 导航页SITE_MAP同步更新新增页面条目 Co-Authored-By: Claude Opus 4.6 --- .../health-screening/checkin-record.html | 222 ++++ .../health-screening/index.html | 213 ++++ .../questionnaire-detail.html | 171 +++ .../health-screening/questionnaire-fill.html | 207 ++++ .../questionnaire-setting.html | 176 +++ employee-app/health-monitor/index.html | 304 ++--- employee-app/health-monitor/sleep.html | 309 ----- .../{ => wearable}/blood-oxygen-alerts.html | 0 .../{ => wearable}/blood-oxygen.html | 0 .../wearable/blood-pressure-alerts.html | 406 +++++++ .../wearable/blood-pressure.html | 317 ++++++ .../health-monitor/wearable/ecg-detail.html | 245 ++++ employee-app/health-monitor/wearable/ecg.html | 209 ++++ .../{ => wearable}/exercise.html | 201 ++-- .../{ => wearable}/heart-rate-alerts.html | 1 + .../{ => wearable}/heart-rate.html | 0 .../health-monitor/wearable/index.html | 295 +++++ .../health-monitor/wearable/sleep.html | 357 ++++++ .../health-monitor/{ => wearable}/steps.html | 0 .../{ => wearable}/stress-alerts.html | 0 .../health-monitor/{ => wearable}/stress.html | 0 .../{ => wearable}/temperature-alerts.html | 0 .../{ => wearable}/temperature.html | 0 .../health-monitor/weight/history.html | 360 ++++++ employee-app/health-monitor/weight/index.html | 192 ++++ .../health-monitor/weight/report-detail.html | 285 +++++ index.html | 110 +- .../health-checkup/post-report-roster.html | 7 +- .../health-monitor/archive-algorithm.html | 82 ++ .../health-monitor/archive-personal.html | 82 ++ web-admin/health-monitor/archive-unit.html | 82 ++ web-admin/health-monitor/doc/CHANGELOG.md | 48 + .../environment/indoor-app-record.html | 124 ++ .../environment/indoor-data-monitor.html | 124 ++ .../environment/indoor-device-category.html | 124 ++ .../environment/indoor-device-list.html | 124 ++ .../environment/indoor-exception-alarm.html | 124 ++ .../environment/indoor-history-data.html | 124 ++ .../environment/outdoor-app-record.html | 124 ++ .../environment/outdoor-data-monitor.html | 124 ++ .../environment/outdoor-device-category.html | 124 ++ .../environment/outdoor-device-list.html | 124 ++ .../environment/outdoor-exception-alarm.html | 124 ++ .../environment/outdoor-history-data.html | 124 ++ .../environment/pollen-app-record.html | 124 ++ .../environment/pollen-data-monitor.html | 124 ++ .../environment/pollen-device-category.html | 124 ++ .../environment/pollen-device-list.html | 124 ++ .../environment/pollen-exception-alarm.html | 124 ++ .../environment/pollen-history-data.html | 124 ++ .../environment/pollen-knowledge.html | 124 ++ .../environment/water-app-record.html | 124 ++ .../environment/water-data-monitor.html | 124 ++ .../environment/water-device-category.html | 124 ++ .../environment/water-device-list.html | 124 ++ .../environment/water-exception-alarm.html | 124 ++ .../environment/water-history-data.html | 124 ++ web-admin/health-monitor/exception-dirty.html | 81 ++ .../health-monitor/exception-result.html | 81 ++ .../health-monitor/health-checkup/maxim.html | 242 ++++ .../health-checkup/record-dept.html | 277 +++++ .../health-checkup/record-user.html | 404 +++++++ .../health-checkup/survey-category.html | 296 +++++ .../health-checkup/survey-question.html | 431 +++++++ .../health-checkup/survey-score.html | 138 +++ .../health-checkup/survey-template.html | 490 ++++++++ .../health-monitor/wearable/bind-record.html | 254 +++++ .../health-monitor/wearable/dept-report.html | 231 ++++ .../health-monitor/wearable/dept-stat.html | 530 +++++++++ .../wearable/exception-event.html | 423 +++++++ .../health-monitor/wearable/notification.html | 440 +++++++ .../wearable/personal-stat.html | 393 +++++++ .../health-monitor/wearable/tool-manage.html | 1012 +++++++++++++++++ .../health-monitor/wearable/user-data.html | 762 +++++++++++++ .../weight/bluetooth-device-add.html | 161 +++ .../weight/bluetooth-device.html | 174 +++ .../weight/bluetooth-monitor-detail.html | 285 +++++ .../weight/bluetooth-monitor.html | 160 +++ .../health-monitor/weight/dept-stat.html | 412 +++++++ .../weight/employee-data-record.html | 241 ++++ .../health-monitor/weight/employee-data.html | 179 +++ .../health-monitor/weight/employee-stat.html | 219 ++++ .../health-monitor/weight/fat-device-add.html | 161 +++ .../health-monitor/weight/fat-device.html | 174 +++ .../weight/fat-monitor-detail.html | 290 +++++ .../health-monitor/weight/fat-monitor.html | 160 +++ .../weight/scale-device-add.html | 161 +++ .../health-monitor/weight/scale-device.html | 174 +++ .../weight/scale-monitor-detail.html | 289 +++++ .../health-monitor/weight/scale-monitor.html | 160 +++ .../weight/sport-device-add.html | 162 +++ .../health-monitor/weight/sport-device.html | 178 +++ .../weight/sport-monitor-detail.html | 227 ++++ .../health-monitor/weight/sport-monitor.html | 160 +++ 94 files changed, 17925 insertions(+), 668 deletions(-) create mode 100644 employee-app/health-monitor/health-screening/checkin-record.html create mode 100644 employee-app/health-monitor/health-screening/index.html create mode 100644 employee-app/health-monitor/health-screening/questionnaire-detail.html create mode 100644 employee-app/health-monitor/health-screening/questionnaire-fill.html create mode 100644 employee-app/health-monitor/health-screening/questionnaire-setting.html delete mode 100644 employee-app/health-monitor/sleep.html rename employee-app/health-monitor/{ => wearable}/blood-oxygen-alerts.html (100%) rename employee-app/health-monitor/{ => wearable}/blood-oxygen.html (100%) create mode 100644 employee-app/health-monitor/wearable/blood-pressure-alerts.html create mode 100644 employee-app/health-monitor/wearable/blood-pressure.html create mode 100644 employee-app/health-monitor/wearable/ecg-detail.html create mode 100644 employee-app/health-monitor/wearable/ecg.html rename employee-app/health-monitor/{ => wearable}/exercise.html (77%) rename employee-app/health-monitor/{ => wearable}/heart-rate-alerts.html (99%) rename employee-app/health-monitor/{ => wearable}/heart-rate.html (100%) create mode 100644 employee-app/health-monitor/wearable/index.html create mode 100644 employee-app/health-monitor/wearable/sleep.html rename employee-app/health-monitor/{ => wearable}/steps.html (100%) rename employee-app/health-monitor/{ => wearable}/stress-alerts.html (100%) rename employee-app/health-monitor/{ => wearable}/stress.html (100%) rename employee-app/health-monitor/{ => wearable}/temperature-alerts.html (100%) rename employee-app/health-monitor/{ => wearable}/temperature.html (100%) create mode 100644 employee-app/health-monitor/weight/history.html create mode 100644 employee-app/health-monitor/weight/index.html create mode 100644 employee-app/health-monitor/weight/report-detail.html create mode 100644 web-admin/health-monitor/archive-algorithm.html create mode 100644 web-admin/health-monitor/archive-personal.html create mode 100644 web-admin/health-monitor/archive-unit.html create mode 100644 web-admin/health-monitor/doc/CHANGELOG.md create mode 100644 web-admin/health-monitor/environment/indoor-app-record.html create mode 100644 web-admin/health-monitor/environment/indoor-data-monitor.html create mode 100644 web-admin/health-monitor/environment/indoor-device-category.html create mode 100644 web-admin/health-monitor/environment/indoor-device-list.html create mode 100644 web-admin/health-monitor/environment/indoor-exception-alarm.html create mode 100644 web-admin/health-monitor/environment/indoor-history-data.html create mode 100644 web-admin/health-monitor/environment/outdoor-app-record.html create mode 100644 web-admin/health-monitor/environment/outdoor-data-monitor.html create mode 100644 web-admin/health-monitor/environment/outdoor-device-category.html create mode 100644 web-admin/health-monitor/environment/outdoor-device-list.html create mode 100644 web-admin/health-monitor/environment/outdoor-exception-alarm.html create mode 100644 web-admin/health-monitor/environment/outdoor-history-data.html create mode 100644 web-admin/health-monitor/environment/pollen-app-record.html create mode 100644 web-admin/health-monitor/environment/pollen-data-monitor.html create mode 100644 web-admin/health-monitor/environment/pollen-device-category.html create mode 100644 web-admin/health-monitor/environment/pollen-device-list.html create mode 100644 web-admin/health-monitor/environment/pollen-exception-alarm.html create mode 100644 web-admin/health-monitor/environment/pollen-history-data.html create mode 100644 web-admin/health-monitor/environment/pollen-knowledge.html create mode 100644 web-admin/health-monitor/environment/water-app-record.html create mode 100644 web-admin/health-monitor/environment/water-data-monitor.html create mode 100644 web-admin/health-monitor/environment/water-device-category.html create mode 100644 web-admin/health-monitor/environment/water-device-list.html create mode 100644 web-admin/health-monitor/environment/water-exception-alarm.html create mode 100644 web-admin/health-monitor/environment/water-history-data.html create mode 100644 web-admin/health-monitor/exception-dirty.html create mode 100644 web-admin/health-monitor/exception-result.html create mode 100644 web-admin/health-monitor/health-checkup/maxim.html create mode 100644 web-admin/health-monitor/health-checkup/record-dept.html create mode 100644 web-admin/health-monitor/health-checkup/record-user.html create mode 100644 web-admin/health-monitor/health-checkup/survey-category.html create mode 100644 web-admin/health-monitor/health-checkup/survey-question.html create mode 100644 web-admin/health-monitor/health-checkup/survey-score.html create mode 100644 web-admin/health-monitor/health-checkup/survey-template.html create mode 100644 web-admin/health-monitor/wearable/bind-record.html create mode 100644 web-admin/health-monitor/wearable/dept-report.html create mode 100644 web-admin/health-monitor/wearable/dept-stat.html create mode 100644 web-admin/health-monitor/wearable/exception-event.html create mode 100644 web-admin/health-monitor/wearable/notification.html create mode 100644 web-admin/health-monitor/wearable/personal-stat.html create mode 100644 web-admin/health-monitor/wearable/tool-manage.html create mode 100644 web-admin/health-monitor/wearable/user-data.html create mode 100644 web-admin/health-monitor/weight/bluetooth-device-add.html create mode 100644 web-admin/health-monitor/weight/bluetooth-device.html create mode 100644 web-admin/health-monitor/weight/bluetooth-monitor-detail.html create mode 100644 web-admin/health-monitor/weight/bluetooth-monitor.html create mode 100644 web-admin/health-monitor/weight/dept-stat.html create mode 100644 web-admin/health-monitor/weight/employee-data-record.html create mode 100644 web-admin/health-monitor/weight/employee-data.html create mode 100644 web-admin/health-monitor/weight/employee-stat.html create mode 100644 web-admin/health-monitor/weight/fat-device-add.html create mode 100644 web-admin/health-monitor/weight/fat-device.html create mode 100644 web-admin/health-monitor/weight/fat-monitor-detail.html create mode 100644 web-admin/health-monitor/weight/fat-monitor.html create mode 100644 web-admin/health-monitor/weight/scale-device-add.html create mode 100644 web-admin/health-monitor/weight/scale-device.html create mode 100644 web-admin/health-monitor/weight/scale-monitor-detail.html create mode 100644 web-admin/health-monitor/weight/scale-monitor.html create mode 100644 web-admin/health-monitor/weight/sport-device-add.html create mode 100644 web-admin/health-monitor/weight/sport-device.html create mode 100644 web-admin/health-monitor/weight/sport-monitor-detail.html create mode 100644 web-admin/health-monitor/weight/sport-monitor.html diff --git a/employee-app/health-monitor/health-screening/checkin-record.html b/employee-app/health-monitor/health-screening/checkin-record.html new file mode 100644 index 0000000..e7c791f --- /dev/null +++ b/employee-app/health-monitor/health-screening/checkin-record.html @@ -0,0 +1,222 @@ + + + + + +打卡记录 - 员工端 | 健康长庆原型 + + + +
+
+ 9:41 + + + + + +
+ + +
+ + + diff --git a/employee-app/health-monitor/health-screening/index.html b/employee-app/health-monitor/health-screening/index.html new file mode 100644 index 0000000..4267b91 --- /dev/null +++ b/employee-app/health-monitor/health-screening/index.html @@ -0,0 +1,213 @@ + + + + + +健康排查 - 员工端 | 健康长庆原型 + + + +
+
+ 9:41 + + + + + +
+ +
+ +
+
+
+ 1,280 + 积分 +
+
🔥 连续签到 7
+
+
+ + +
+
+ +
+
+
🏆 积分榜
+
采油一厂
+
+
+
12
+
+
我的排名
+
生产运行部
+
+
1,280
+
+
+
+
1
+
+
张*明
+
生产运行部
+
+
2,580
+
+
+
2
+
+
李*华
+
安全环保部
+
+
2,340
+
+
+
3
+
+
王*强
+
技术发展部
+
+
2,120
+
+
+
4
+
+
赵*丽
+
综合管理部
+
+
1,950
+
+
+
5
+
+
刘*伟
+
地质研究所
+
+
1,820
+
+
+
6
+
+
孙*芳
+
人力资源部
+
+
1,680
+
+
+
7
+
+
陈*军
+
设备管理部
+
+
1,520
+
+
+
8
+
+
周*霞
+
财务资产部
+
+
1,410
+
+
+
9
+
+
吴*涛
+
工程技术部
+
+
1,380
+
+
+
10
+
+
郑*娜
+
党群工作部
+
+
1,350
+
+
+
11
+
+
马*飞
+
物资供应部
+
+
1,310
+
+
+
12
+
+
我的排名
+
生产运行部
+
+
1,280
+
+
+
+
+
+
+ + diff --git a/employee-app/health-monitor/health-screening/questionnaire-detail.html b/employee-app/health-monitor/health-screening/questionnaire-detail.html new file mode 100644 index 0000000..268b85a --- /dev/null +++ b/employee-app/health-monitor/health-screening/questionnaire-detail.html @@ -0,0 +1,171 @@ + + + + + +问卷详情 - 员工端 | 健康长庆原型 + + + +
+
+ 9:41 + + + + + +
+ +
+
+
每日健康自查问卷
+
+ 提交时间:2026-05-14 08:15 + +10 积分 +
+
+ +
身体状况
+
+
+
1. 今天您的整体身体感觉如何?
+ 必填 +
+
+
精力充沛,状态良好
+
一般,没有明显不适
+
有些疲惫或不适
+
身体明显不舒服
+
+
+
+
+
2. 昨晚的睡眠质量如何?
+ 必填 +
+
+
很好,一觉到天亮
+
还行,中途醒过1-2次
+
较差,多次醒来或难以入睡
+
几乎没怎么睡着
+
+
+
+
+
3. 是否有头痛、头晕等不适症状?
+ 选填 +
+
+
没有任何不适
+
轻微不适,不影响工作
+
有明显不适,但可以坚持
+
不适严重,需要休息
+
+
+ +
心理状态
+
+
+
4. 今天的情绪状态如何?
+ 必填 +
+
+
心情愉悦,积极乐观
+
平静,情绪稳定
+
有些焦虑或烦躁
+
情绪低落,压力较大
+
+
+
+
+
5. 近期是否感到工作压力较大?
+ 选填 +
+
+
压力适中,能正常应对
+
略有压力,基本可控
+
压力较大,有些吃力
+
压力很大,需要帮助
+
+
+ +
生活习惯
+
+
+
6. 昨天是否进行了运动锻炼?
+ 必填 +
+
+
是,运动30分钟以上
+
是,运动了15-30分钟
+
简单活动了一下
+
没有运动
+
+
+
+
+
7. 昨天的饮食是否规律?
+ 必填 +
+
+
三餐规律,营养均衡
+
基本规律,偶尔不均衡
+
有一餐没按时吃
+
饮食很不规律
+
+
+
+
+
8. 昨天饮水量是否充足(8杯以上)?
+ 选填 +
+
+
充足,达到8杯以上
+
基本够,5-8杯
+
偏少,不到5杯
+
很少喝水
+
+
+
+
+
+ + diff --git a/employee-app/health-monitor/health-screening/questionnaire-fill.html b/employee-app/health-monitor/health-screening/questionnaire-fill.html new file mode 100644 index 0000000..9b62894 --- /dev/null +++ b/employee-app/health-monitor/health-screening/questionnaire-fill.html @@ -0,0 +1,207 @@ + + + + + +每日打卡 - 员工端 | 健康长庆原型 + + + +
+
+ 9:41 + + + + + +
+ +
+ +
身体状况
+
+
+
1. 今天您的整体身体感觉如何?
+ 必填 +
+
+
精力充沛,状态良好
+
一般,没有明显不适
+
有些疲惫或不适
+
身体明显不舒服
+
+
+
+
+
2. 昨晚的睡眠质量如何?
+ 必填 +
+
+
很好,一觉到天亮
+
还行,中途醒过1-2次
+
较差,多次醒来或难以入睡
+
几乎没怎么睡着
+
+
+
+
+
3. 是否有头痛、头晕等不适症状?
+ 选填 +
+
+
没有任何不适
+
轻微不适,不影响工作
+
有明显不适,但可以坚持
+
不适严重,需要休息
+
+
+ +
心理状态
+
+
+
4. 今天的情绪状态如何?
+ 必填 +
+
+
心情愉悦,积极乐观
+
平静,情绪稳定
+
有些焦虑或烦躁
+
情绪低落,压力较大
+
+
+
+
+
5. 近期是否感到工作压力较大?
+ 选填 +
+
+
压力适中,能正常应对
+
略有压力,基本可控
+
压力较大,有些吃力
+
压力很大,需要帮助
+
+
+ +
生活习惯
+
+
+
6. 昨天是否进行了运动锻炼?
+ 必填 +
+
+
是,运动30分钟以上
+
是,运动了15-30分钟
+
简单活动了一下
+
没有运动
+
+
+
+
+
7. 昨天的饮食是否规律?
+ 必填 +
+
+
三餐规律,营养均衡
+
基本规律,偶尔不均衡
+
有一餐没按时吃
+
饮食很不规律
+
+
+
+
+
8. 昨天饮水量是否充足(8杯以上)?
+ 选填 +
+
+
充足,达到8杯以上
+
基本够,5-8杯
+
偏少,不到5杯
+
很少喝水
+
+
+
+
+ +
+
+ +
+
+
+ +
+
打卡成功!
+
积分 +10
+
+
健康是人生第一财富,每一次坚持打卡,都是对自己最好的投资。
+ +
+
+
+ + + diff --git a/employee-app/health-monitor/health-screening/questionnaire-setting.html b/employee-app/health-monitor/health-screening/questionnaire-setting.html new file mode 100644 index 0000000..ab30410 --- /dev/null +++ b/employee-app/health-monitor/health-screening/questionnaire-setting.html @@ -0,0 +1,176 @@ + + + + + +题目设置 - 员工端 | 健康长庆原型 + + + +
+
+ 9:41 + + + + + +
+ +
+
+ 💡 + 必填题目无法隐藏,仅选填题目可以控制显示或隐藏。隐藏后将不会在每日打卡中显示。 +
+ +
身体状况
+
+
+
+
1. 今天您的整体身体感觉如何?
+ 必填 +
+
+
+
+
+
+
+
+
+
2. 昨晚的睡眠质量如何?
+ 必填 +
+
+
+
+
+
+
+
+
+
3. 是否有头痛、头晕等不适症状?
+ 选填 +
+
+
+
+
+
+ +
心理状态
+
+
+
+
4. 今天的情绪状态如何?
+ 必填 +
+
+
+
+
+
+
+
+
+
5. 近期是否感到工作压力较大?
+ 选填 +
+
+
+
+
+
+ +
生活习惯
+
+
+
+
6. 昨天是否进行了运动锻炼?
+ 必填 +
+
+
+
+
+
+
+
+
+
7. 昨天的饮食是否规律?
+ 必填 +
+
+
+
+
+
+
+
+
+
8. 昨天饮水量是否充足(8杯以上)?
+ 选填 +
+
+
+
+
+
+
+
+ +
+
+
+ + + diff --git a/employee-app/health-monitor/index.html b/employee-app/health-monitor/index.html index 4fd84db..75444ed 100644 --- a/employee-app/health-monitor/index.html +++ b/employee-app/health-monitor/index.html @@ -11,65 +11,30 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items: .status-bar { height: 44px; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; flex-shrink: 0; background: #fff; } .status-bar .time { font-size: 15px; font-weight: 700; color: #333; } .status-bar .icons { display: flex; gap: 6px; align-items: center; } -/* 导航栏 */ .nav-bar { height: 44px; background: #fff; display: flex; align-items: center; padding: 0 16px; flex-shrink: 0; border-bottom: 1px solid #f0f0f0; } .nav-back { width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; cursor: pointer; } .nav-title { flex: 1; text-align: center; font-size: 17px; font-weight: 600; color: #1a1a1a; margin-right: 28px; } -.scroll-content { flex: 1; overflow-y: auto; background: #f5f7fa; } +.scroll-content { flex: 1; overflow-y: auto; padding: 20px 16px; } .scroll-content::-webkit-scrollbar { display: none; } -/* 设备状态 */ -.device-bar { margin: 12px 12px 0; background: linear-gradient(135deg, #13c2c2 0%, #0d9b9b 100%); border-radius: 12px; padding: 14px 16px; display: flex; align-items: center; gap: 12px; color: #fff; } -.device-icon { width: 44px; height: 44px; background: rgba(255,255,255,0.2); border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 24px; flex-shrink: 0; } -.device-info { flex: 1; } -.device-name { font-size: 15px; font-weight: 600; } -.device-meta { font-size: 12px; opacity: 0.85; margin-top: 2px; } -.device-battery { display: flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 600; } -.battery-icon { width: 22px; height: 12px; border: 1.5px solid #fff; border-radius: 2px; position: relative; } -.battery-icon::after { content: ''; position: absolute; right: -4px; top: 2.5px; width: 2px; height: 5px; background: #fff; border-radius: 0 1px 1px 0; } -.battery-fill { height: 100%; background: #fff; border-radius: 1px; } -/* 监测卡片网格 */ -.monitor-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 12px; } -.monitor-card { background: #fff; border-radius: 12px; padding: 16px; cursor: pointer; position: relative; transition: transform 0.15s; } -.monitor-card:active { transform: scale(0.97); } -.monitor-card--full { grid-column: 1 / -1; } -.card-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; } -.card-header__left { display: flex; align-items: center; min-width: 0; flex: 1; } -.card-header__right { display: flex; align-items: center; gap: 6px; flex-shrink: 0; } -.card-icon { width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 18px; flex-shrink: 0; } -.card-label { font-size: 13px; color: #666; margin-left: 8px; flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } -.card-meta { font-size: 12px; color: #999; } -.card-alert-badge { width: 18px; height: 18px; background: #ff4d4f; border-radius: 50%; font-size: 10px; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; } -.card-arrow { width: 16px; height: 16px; display: flex; align-items: center; justify-content: center; } -.card-arrow svg { width: 16px; height: 16px; display: block; } -.card-sync { font-size: 10px; color: #bbb; margin-top: 8px; } -.card-value { font-size: 28px; font-weight: 800; color: #1a1a1a; line-height: 1.1; } -.card-unit { font-size: 13px; color: #999; font-weight: 400; margin-left: 2px; } -.card-status { display: inline-block; font-size: 11px; padding: 2px 8px; border-radius: 4px; margin-top: 6px; } -.card-status--normal { color: #52c41a; background: #f6ffed; } -.card-status--warn { color: #faad14; background: #fffbe6; } -.card-status--danger { color: #ff4d4f; background: #fff2f0; } -.card-sub { font-size: 11px; color: #999; margin-top: 6px; } -.card-progress { margin-top: 8px; } -.card-progress__bar { height: 6px; background: #f0f0f0; border-radius: 3px; overflow: hidden; } -.card-progress__fill { height: 100%; border-radius: 3px; transition: width 0.3s; } -.card-progress__text { font-size: 11px; color: #999; margin-top: 4px; } -/* 睡眠分段 */ -.sleep-segments { display: flex; gap: 4px; margin-top: 8px; height: 6px; border-radius: 3px; overflow: hidden; } -.sleep-seg { height: 100%; border-radius: 3px; } -.sleep-seg--deep { background: #1890ff; } -.sleep-seg--light { background: #91d5ff; } -.sleep-seg--rem { background: #b37feb; } -.sleep-seg--awake { background: #ffd591; } -.sleep-legend { display: flex; gap: 8px; margin-top: 6px; flex-wrap: wrap; } -.sleep-legend__item { display: flex; align-items: center; gap: 3px; font-size: 10px; color: #999; } -.sleep-legend__dot { width: 6px; height: 6px; border-radius: 50%; } -/* 锻炼卡片 */ -.exercise-stats { display: flex; gap: 12px; margin-top: 8px; } -.exercise-stat { flex: 1; text-align: center; background: #f5f7fa; border-radius: 8px; padding: 8px 4px; } -.exercise-stat__val { font-size: 16px; font-weight: 700; color: #1a1a1a; } -.exercise-stat__label { font-size: 10px; color: #999; margin-top: 2px; } -/* 预警入口 */ -.card-alert-link { display: flex; align-items: center; justify-content: center; gap: 4px; font-size: 11px; color: #ff4d4f; margin-top: 8px; padding-top: 8px; border-top: 1px solid #f5f5f5; cursor: pointer; } +/* 入口卡片 */ +.entry-grid { display: flex; flex-direction: column; gap: 12px; } +.entry-card { background: #fff; border-radius: 16px; padding: 16px; display: flex; align-items: center; gap: 14px; cursor: pointer; transition: transform 0.15s, box-shadow 0.15s; text-decoration: none; } +.entry-card:active { transform: scale(0.98); } +.entry-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.08); } +.entry-icon { width: 48px; height: 48px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 24px; flex-shrink: 0; } +.entry-icon--wearable { background: linear-gradient(135deg, #e6fffb 0%, #b5f5ec 100%); } +.entry-icon--weight { background: linear-gradient(135deg, #f0f5ff 0%, #d6e4ff 100%); } +.entry-icon--environment { background: linear-gradient(135deg, #f6ffed 0%, #d9f7be 100%); } +.entry-icon--screening { background: linear-gradient(135deg, #fff7e6 0%, #ffe7ba 100%); } +.entry-info { flex: 1; min-width: 0; } +.entry-name { font-size: 15px; font-weight: 600; color: #1a1a1a; display: flex; align-items: center; justify-content: space-between; } +.entry-time { font-size: 11px; color: #bbb; font-weight: 400; } +.entry-data { display: flex; gap: 12px; align-items: baseline; margin-top: 4px; } +.entry-data__value { font-size: 13px; color: #666; } +.entry-data__value strong { font-size: 18px; font-weight: 700; color: #1a1a1a; } +.entry-status { font-size: 11px; padding: 2px 8px; border-radius: 4px; } +.entry-status--good { color: #52c41a; background: #f6ffed; } +.entry-arrow { width: 16px; height: 16px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; } /* 底部安全区 */ .bottom-safe { height: 20px; flex-shrink: 0; } @@ -78,201 +43,72 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
9:41 -
- - -
+ + + + +