diff --git a/.claude/memory/MEMORY.md b/.claude/memory/MEMORY.md
index ea2049a..30c3a99 100644
--- a/.claude/memory/MEMORY.md
+++ b/.claude/memory/MEMORY.md
@@ -1,11 +1,11 @@
-_Last synced: 2026-05-22 | Base commit: `146c1da`_
+_Last synced: 2026-05-25 | Base commit: `0e2dcff`_
# 记忆索引
| 文件 | 描述 | 类型 | 最后更新 |
|------|------|------|----------|
| project_overview.md | 项目技术栈、架构与模块结构 | project | 2026-05-14 |
-| project_progress.md | 各模块原型开发进度 | project | 2026-05-22 |
+| project_progress.md | 各模块原型开发进度 | project | 2026-05-25 |
| decisions.md | 关键设计决策与架构约定 | project | 2026-04-21 |
-| feedback.md | 协作规范与用户纠正记录 | feedback | 2026-04-21 |
+| feedback.md | 协作规范与用户纠正记录 | feedback | 2026-05-15 |
| user_profile.md | 用户角色与偏好 | user | 2026-04-21 |
diff --git a/.claude/memory/project_progress.md b/.claude/memory/project_progress.md
index 979c2d1..1e6d04f 100644
--- a/.claude/memory/project_progress.md
+++ b/.claude/memory/project_progress.md
@@ -1,3 +1,11 @@
+---
+name: 项目进度
+description: 各模块原型开发进度与近期里程碑
+type: project
+last_updated: 2026-05-25
+commit: 0e2dcff
+---
+
# 项目进度
## 已完成原型的模块
@@ -49,6 +57,9 @@ Web 管理端和员工端 APP 的其余模块(系统管理、运动管理、
- 2026-05-22:味养创新交互完善——人工创新查看详情弹窗/审核双模/AI推演弹窗重构及侧边栏修复,功能说明9.5章节同步更新
- 2026-05-22:绿色种采模块全面重构——采供管理整页重构(采购单维度主表+子表、5种状态联动操作、配送/取消弹窗交互、详情抽屉动态信息),采收入库/供应商管理/种植监控/养殖监控多页面优化,功能说明文档9.4章节同步更新
- 2026-05-22:营养用餐模块多页面交互优化——数据分析页新增食堂切换栏/周选择器/餐品明细弹窗重构,食材效益页新增级联分类选择器,大模型管理新增API_KEY/API_URL列及接入/编辑弹窗,小模型管理新增新增模型弹窗,终端管理筛选栏/表格列精简,餐线管理操作列移除编辑按钮
+- 2026-05-22:全模块交互增强——卫生供应8页面统一新增Drawer详情、确认收货/备货/配送弹窗及操作类型列;健康生产8页面统一Drawer详情+toast状态联动+操作类型列;绿色种采3页面详情从Modal重构为Drawer(BEM命名)
+- 2026-05-21:农场监控模块重构——种植监控改为批次记录主表(新增灌溉/健康/负责人列+巡检记录弹窗),养殖监控新增养殖方式/状态列+疫苗接种记录弹窗,新增食堂档案页 arc-canteen.html,档案模块(arc-algo/employee/unit)多字段优化
+- 2026-05-21:健康生产模块交互完善——余量处置重构(筛选栏级联+更多下拉+员工福利领取记录弹窗),上餐监控操作列合并为更多hover下拉+上餐弹窗自动回填,生产统计日期范围选择器默认当月
- 2026-05-20:营养用餐模块交互完善——用户管理等级配置tab增加新增/查看/编辑弹窗,消费管理筛选优化(日期默认今天、金额范围双输入框、消费类型标签化、单位部门级联筛选、流水号筛选、交易明细弹窗全字段对齐),取餐管理新增总金额列和餐品金额列
- 2026-05-19:卫生供应模块8页面交互优化(侧边栏菜单顺序统一、多页面新增弹窗表单、表格列重构、溯源码前移、菜品名称格式统一),补充营养管理功能说明文档及调整记录
- 2026-05-14:员工端健康监测模块大量新增(穿戴设备16页、体重3页、健康筛查5页),Web管理端健康监测模块新增(穿戴8页、体重20页、环境25页、健康排查7页、档案/异常5页),健康体检检前专项配置及异常事件优化
diff --git a/CLAUDE.md b/CLAUDE.md
index 96b07c2..b36dee1 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -1,4 +1,4 @@
-
+
# 项目约束
diff --git a/employee-app/health-monitor/environment/alarm-data.html b/employee-app/health-monitor/environment/alarm-data.html
new file mode 100644
index 0000000..6b1fcf6
--- /dev/null
+++ b/employee-app/health-monitor/environment/alarm-data.html
@@ -0,0 +1,209 @@
+
+
+
+
+
+报警数据 - 环境监测
+
+
+
+
+
+
+
+
+
+
+
+
+ 共 0 条报警
+
+
+
+
+
+
+
+
+
diff --git a/employee-app/health-monitor/environment/device-detail.html b/employee-app/health-monitor/environment/device-detail.html
new file mode 100644
index 0000000..e47f7ec
--- /dev/null
+++ b/employee-app/health-monitor/environment/device-detail.html
@@ -0,0 +1,320 @@
+
+
+
+
+
+设备详情 - 环境监测
+
+
+
+
+
+
+
diff --git a/employee-app/health-monitor/environment/index.html b/employee-app/health-monitor/environment/index.html
new file mode 100644
index 0000000..797bb43
--- /dev/null
+++ b/employee-app/health-monitor/environment/index.html
@@ -0,0 +1,612 @@
+
+
+
+
+
+环境监测 - 员工端 | 健康长庆原型
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 🏔️
+ 室外空气
+
+
+ 🏠
+ 室内空气
+
+
+ 💧
+ 水质监测
+
+
+ 🌸
+ 花粉监测
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/employee-app/health-monitor/index.html b/employee-app/health-monitor/index.html
index 75444ed..4b7b5d9 100644
--- a/employee-app/health-monitor/index.html
+++ b/employee-app/health-monitor/index.html
@@ -14,27 +14,66 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
.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; padding: 20px 16px; }
+.scroll-content { flex: 1; overflow-y: auto; padding: 16px 16px 8px; }
.scroll-content::-webkit-scrollbar { display: none; }
-/* 入口卡片 */
-.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; }
+
+/* 分组标签 */
+.section-label { font-size: 11px; font-weight: 600; color: #aaa; letter-spacing: 0.5px; text-transform: uppercase; margin-bottom: 8px; padding-left: 2px; }
+
+/* ===== 核心板块大卡片 ===== */
+.core-card { background: #fff; border-radius: 18px; padding: 16px; margin-bottom: 12px; cursor: pointer; text-decoration: none; display: block; transition: transform 0.15s, box-shadow 0.15s; }
+.core-card:active { transform: scale(0.985); }
+.core-card:hover { box-shadow: 0 4px 20px rgba(0,0,0,0.09); }
+
+.core-card__header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
+.core-card__title-wrap { display: flex; align-items: center; gap: 10px; }
+.core-card__icon { width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 18px; flex-shrink: 0; }
+.icon--wearable { background: linear-gradient(135deg, #e6fffb 0%, #b5f5ec 100%); }
+.icon--weight { background: linear-gradient(135deg, #f0f5ff 0%, #d6e4ff 100%); }
+.core-card__name { font-size: 15px; font-weight: 700; color: #1a1a1a; }
+.core-card__time { font-size: 11px; color: #bbb; margin-top: 1px; }
+.core-card__arrow { width: 16px; height: 16px; display: flex; align-items: center; }
+
+/* 指标网格(穿戴:2×2) */
+.metrics-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
+.metric-cell { background: #f8f9fb; border-radius: 12px; padding: 10px 12px; }
+.metric-cell__label { font-size: 11px; color: #999; margin-bottom: 4px; display: flex; align-items: center; gap: 4px; }
+.metric-cell__dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
+.dot--steps { background: #13c2c2; }
+.dot--heart { background: #ff4d4f; }
+.dot--oxygen { background: #1890ff; }
+.dot--temp { background: #fa8c16; }
+.dot--weight { background: #597ef7; }
+.dot--bmi { background: #36cfc9; }
+.dot--fat { background: #ff85c2; }
+.metric-cell__value { font-size: 22px; font-weight: 700; color: #1a1a1a; line-height: 1; }
+.metric-cell__unit { font-size: 11px; color: #aaa; margin-top: 2px; }
+
+/* 指标行(体重:3列) */
+.metrics-row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
+
+/* 状态徽章 */
+.badge { display: inline-flex; align-items: center; font-size: 11px; padding: 2px 8px; border-radius: 20px; font-weight: 600; }
+.badge--good { color: #52c41a; background: #f6ffed; border: 1px solid #b7eb8f; }
+.badge--normal { color: #1890ff; background: #e6f7ff; border: 1px solid #91d5ff; }
+
+/* ===== 次级入口卡片 ===== */
+.section-cards { display: flex; flex-direction: column; gap: 10px; margin-bottom: 12px; }
+.entry-card { background: #fff; border-radius: 16px; padding: 14px 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 { width: 44px; height: 44px; border-radius: 13px; display: flex; align-items: center; justify-content: center; font-size: 22px; flex-shrink: 0; }
.entry-icon--environment { background: linear-gradient(135deg, #f6ffed 0%, #d9f7be 100%); }
-.entry-icon--screening { background: linear-gradient(135deg, #fff7e6 0%, #ffe7ba 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-name { font-size: 14px; font-weight: 600; color: #1a1a1a; margin-bottom: 5px; }
+.entry-metrics { display: flex; gap: 10px; flex-wrap: wrap; }
+.entry-metric { font-size: 12px; color: #666; display: flex; align-items: center; gap: 4px; }
+.entry-metric strong { color: #1a1a1a; font-weight: 700; }
+.entry-metric .badge { font-size: 10px; padding: 1px 6px; }
.entry-arrow { width: 16px; height: 16px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
+.entry-time-tag { font-size: 10px; color: #bbb; margin-top: 3px; }
+
/* 底部安全区 */
.bottom-safe { height: 20px; flex-shrink: 0; }
@@ -55,57 +94,113 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
健康监测
+