diff --git a/web-admin/health-monitor/doc/PRD.md b/web-admin/health-monitor/doc/PRD.md index 873fd9d..e81526b 100644 --- a/web-admin/health-monitor/doc/PRD.md +++ b/web-admin/health-monitor/doc/PRD.md @@ -352,6 +352,14 @@ - 点击"删除"弹出确认提示后删除 - 支持导出列表数据 +**新增/编辑文档表单字段:** +- 文档名称 *(输入框) +- 文档描述 *(多行文本域) +- 制作机构 *(输入框) +- 制作人 *(输入框) +- 制作年份 *(输入框) +- 附件 *(文件上传,支持PDF/Word/Excel格式) + --- ## 二、健康排查 @@ -388,9 +396,24 @@ **表格列:** 问题分类、问题描述、问题类型、问题排序、是否必填、频次、操作 **交互说明:** -- 点击"新增"打开新增问题弹窗(级联选择分类、文本输入、下拉选择、动态选项列表) +- 点击"新增"打开新增问题弹窗 - 操作列:编辑、删除 +**新增/编辑问题弹窗字段:** +- 问题分类 *(级联选择:一级分类 → 二级分类) + - 一级分类:生活习惯、心理健康、疾病管理、职业防护 + - 二级分类:联动一级分类加载 +- 问题描述 *(输入框) +- 问题类型 *(下拉:单选/多选) +- 问题排序(数字输入,数字越小越靠前) +- 问题选项 *(动态列表): + - 每个选项为一行:输入框 + 删除按钮 + - 底部"添加选项"按钮可新增选项行 + - 最少保留2个选项 + - 切换问题类型时自动重置选项列表(单选默认:是/否;多选默认:冥想/运动/阅读/听音乐/其他) +- 是否必填(下拉:是/否) +- 频次 *(下拉:每日/每周/每月/每季/每半年/每年/自定义时间) + --- ### 10. 问卷评分(health-checkup/survey-score.html) @@ -524,8 +547,19 @@ - 操作列"查看详情"打开数据详情弹窗 **交互说明:** -- 数据详情弹窗包含:当日统计卡片、趋势图Tab、历史明细Tab -- 趋势图支持切换监测项和时间范围 +- 点击"查看详情"打开数据详情弹窗 +- 支持导出列表数据 + +**数据详情弹窗(960px宽):** + +弹窗顶部:员工信息栏(蓝色背景),展示姓名、编号、单位、部门、设备编码 + +Tab标签:总览、心率、血氧、压力、睡眠、体温、锻炼、步数、血压、心电图 + +- **总览面板:** 时间按钮(今日/近7日/近30日)+ 网格卡片(心率、血氧、睡眠、压力、运动、体温、步数、血压、心电图),每张卡片展示当前值/最新值和简要趋势 +- **指标详情面板(心率/血氧/压力/睡眠/体温/步数/血压):** 时间粒度选择(日/周/月)+ 视图切换(趋势图/列表)+ 图表区域(折线图,含最大值/最小值/平均值标注) +- **锻炼面板:** 表格列——开始时间、结束时间、运动类型、运动时长、运动距离、消耗卡路里 +- **心电图面板:** 表格列——测量时间、心率、心电结论;点击"查看详情"打开心电图趋势详情弹窗(含波形图) --- @@ -554,14 +588,32 @@ ![页面截图](screenshots/wearable/notification.jpg) -**功能说明:** 管理向穿戴设备用户发送的通知消息。 +**功能说明:** 管理向穿戴设备用户发送的通知消息,支持全员或指定员工推送。 -**表格列:** 序号、通知标题、通知范围、目标人数、已读人数、发送时间、操作 +**筛选条件:** 通知标题(输入框)、通知范围(下拉:全部/全员通知/指定员工)、发送时间(日期范围) + +**表格列:** 序号、通知标题、通知内容摘要、通知范围、发送时间、发送人、操作 **交互说明:** -- 点击"发送通知"打开发送通知弹窗(标题/内容/通知范围) +- 点击"发送通知"打开发送通知弹窗 - 点击"查看详情"打开通知详情弹窗 -- 点击"阅读统计"打开已读/未读人员列表弹窗 +- 点击"阅读统计"打开阅读统计弹窗 +- 支持导出列表数据 + +**发送通知弹窗:** +- 通知标题 *(输入框) +- 通知内容 *(多行文本域) +- 通知范围 *(单选:全员通知 / 指定员工) +- 指定员工选择(通知范围为"指定员工"时显示):左侧员工列表(支持搜索)+ 右侧已选员工列表,支持添加/移除 + +**通知详情弹窗:** +- 展示通知标题、发送时间、发送人、通知内容全文 +- 通知范围为"指定员工"时,底部展示通知对象表格(员工姓名、编号、单位、部门) + +**阅读统计弹窗:** +- 顶部统计卡片:目标人数、已读人数、未读人数、阅读率 +- Tab切换:已读 / 未读 +- 表格列:员工姓名、员工编号、所属单位、所属部门、阅读时间(已读Tab) --- @@ -595,11 +647,15 @@ **业务规则:** - 左侧为树形组织结构选择面板 - 报告状态:已生成(绿色)、生成中(蓝色)、未生成(灰色) +- "生成报告"按钮:仅未生成/已生成状态可点击,生成中状态禁用(灰色) +- "强制结束"按钮:仅生成中状态可点击(红色),用于终止长时间未完成的报告生成任务;其他状态禁用(灰色) +- "报告下载"按钮:仅已生成状态可点击,其他状态禁用 **交互说明:** - 点击左侧组织树节点切换部门 - 点击"报告下载"下载已生成的报表文件 -- 操作列:生成报告、强制结束 +- 点击"生成报告"触发后台报告生成,状态变为"生成中" +- 点击"强制结束"弹出确认提示,确认后终止生成任务,状态恢复为"未生成" --- @@ -651,6 +707,36 @@ - 操作列:编辑、删除 - 支持导出列表数据 +#### 新增设备弹窗(scale-device-add / bluetooth-device-add / fat-device-add / sport-device-add) + +**功能说明:** 录入新设备信息,支持地图选点定位布放位置。 + +**表单字段:** +- 设备名称 *(输入框) +- 设备编码 *(输入框) +- 所属单位 *(下拉选择) +- 设备厂商 *(下拉选择,体重秤/蓝牙称/体脂仪:华为/小米/乐心;运动器械:舒华/岱宇/康乐佳) +- 设备型号 *(下拉选择,联动设备厂商) +- 设备类型 *(仅运动器械:有氧器械/力量器械) +- 入库日期 *(日期选择) +- 布放位置 *(地图选点组件 + 详细地址输入框) +- 负责人(输入框,可选) +- 负责人电话(输入框,可选) +- 厂商电话(输入框,可选) +- 设备状态(单选:正常/维护中/已停用,默认"正常") + +**业务规则:** +- 设备型号下拉联动设备厂商:选择厂商后加载对应型号列表 +- 布放位置支持地图拖拽选点,自动回填经纬度和地址 +- 设备编码需唯一校验 + +**交互说明:** +- 点击"确定"校验必填项后提交 +- 点击"取消"关闭弹窗不保存 +- 编辑模式下预填现有设备数据 + +--- + #### 监测数据页(scale-monitor / bluetooth-monitor / fat-monitor / sport-monitor) ![体重秤监测](screenshots/weight/scale-monitor.jpg) @@ -667,7 +753,57 @@ #### 监测详情页(scale-monitor-detail / bluetooth-monitor-detail / fat-monitor-detail / sport-monitor-detail) -**功能说明:** 展示单次监测的详细数据和历史趋势。 +![体重秤监测详情](screenshots/weight/scale-monitor-detail.jpg) + +**功能说明:** 展示指定设备的监测数据明细,包含设备信息概览和员工测量记录表格。 + +**页面布局:** +- 顶部:设备信息卡(设备名称、编码、所属单位、布放位置、使用统计) +- 使用统计:本周使用次数、本月使用次数、本年使用次数、累计使用次数 +- 中部:Tab切换 + 筛选栏 + 数据表格 + +**Tab切换:** 员工实名 / 员工匿名 + +**筛选条件:** 员工姓名(输入框)、员工编号(输入框)、所属部门(下拉)、测量日期(日期范围) + +**表格列(按设备类型区分):** + +体重秤监测详情表格列: +- 基础列:序号、员工姓名、员工编号、所属单位、所属部门、性别、年龄、使用时间 +- 监测数据列:身高(cm)、体重(kg)、BMI、基础代谢(kcal)、体脂肪量(kg)、体脂肪率(%)、体水分量(kg)、体水分率(%)、蛋白质量(kg)、蛋白质率(%) +- 操作列:查看详情 + +蓝牙称监测详情表格列: +- 基础列:序号、员工姓名、员工编号、所属单位、所属部门、性别、年龄、使用时间 +- 监测数据列:身高(cm)、体重(kg)、BMI、基础代谢(kcal)、体脂肪量(kg)、体脂肪率(%) +- 操作列:查看详情 + +体脂仪监测详情表格列: +- 基础列:序号、员工姓名、员工编号、所属单位、所属部门、性别、年龄、使用时间 +- 监测数据列:身高(cm)、体重(kg)、BMI、基础代谢(kcal)、体脂肪量(kg)、体脂肪率(%)、体水分量(kg)、蛋白质量(kg) +- 操作列:查看详情 + +运动器械监测详情表格列: +- 基础列:序号、员工姓名、员工编号、所属单位、所属部门、性别、年龄、身高(cm)、体重(kg)、运动时间 +- 监测数据列:运动时长(分钟)、运动消耗(千卡) +- 无操作列 + +**数据详情弹窗(体重秤/蓝牙称/体脂仪):** + +弹窗按分类展示完整体成分数据: +- 体重秤:基础指标、水分与蛋白质、肌肉与骨骼、脂肪分析、其他 +- 蓝牙称:基础指标、水分与蛋白质、肌肉与骨骼、脂肪分析、细胞液、其他 +- 体脂仪:基础指标、体脂分析、体成分、体重管理、节段脂肪、节段肌肉 + +**业务规则:** +- 匿名Tab下隐藏员工姓名和编号列,以脱敏方式展示 +- 运动器械无数据详情弹窗(数据较简单,直接在表格中展示) + +**交互说明:** +- 面包屑导航:监测数据 / 设备编码 / 监测详情 +- 返回按钮跳转回监测数据列表页 +- 点击"查看详情"打开数据详情弹窗 +- 支持导出列表数据 --- @@ -743,7 +879,18 @@ ## 五、环境监测 -环境监测模块包含4种监测类型(室内、室外、水质、花粉),每种类型均有相同的页面结构。以下以室内为例说明,其他类型结构相同。 +环境监测模块包含4种监测类型(室内、室外、水质、花粉),每种类型均有相同的页面结构。以下以室内为例说明通用结构,并在后文补充各类型的差异点。 + +### 各类型监测指标差异对照表 + +| 类型 | 监测指标 | 质量评级 | +|------|----------|----------| +| 室内 | 温度、湿度、CO₂、甲醛、PM2.5、PM10(6项) | 空气质量指数:优/良/轻度污染/中度污染 | +| 室外 | 温度、湿度、太阳辐射、PM2.5、PM10、照度、风速(7项) | 空气质量指数:优/良/轻度污染/中度污染/重度污染/严重污染 | +| 水质 | 温度、电导率、pH、盐度、电阻率、TDS(6项) | 水质等级:达标/未达标 | +| 花粉 | 榆属、松属、杨属、柏科、柳属、蒿属、藜科、苋科、花粉总数(9项) | 过敏等级:很低/低/中等/高/很高 | + +> 以下页面说明以室内为基准,各类型的差异在"各类型差异补充"小节中统一说明。 ### 43. 设备列表(environment/indoor-device-list.html) @@ -866,11 +1013,41 @@ #### 历史监测详情(environment/indoor-history-monitor-detail.html) -**功能说明:** 展示单个设备某时段的详细监测数据和趋势图。 +![页面截图](screenshots/environment/indoor-history-monitor-detail.jpg) + +**功能说明:** 展示单个设备指定时段的详细监测数据时间序列。 + +**筛选条件:** 监测日期(日期范围) + +**表格列(室内):** 监测时间、温度(℃)、湿度(%)、CO₂(ppm)、甲醛(mg/m³)、PM2.5(μg/m³)、PM10(μg/m³)、空气质量指数 + +**业务规则:** +- 超出阈值的数据红色标注 +- 各类型表格列对应各自监测指标(参见差异对照表) + +**交互说明:** +- 面包屑导航:历史数据 / 设备名称 / 监测详情 +- 返回按钮跳转回历史数据列表页 +- 支持导出列表数据 #### 历史报警详情(environment/indoor-history-alarm-detail.html) -**功能说明:** 展示单次报警事件的详细信息,包含报警前后的数据变化。 +![页面截图](screenshots/environment/indoor-history-alarm-detail.jpg) + +**功能说明:** 展示单个设备指定时段的报警记录明细。 + +**筛选条件:** 报警时间(日期范围) + +**表格列:** 监测类型、单位、阈值上限、阈值下限、异常值、报警时间 + +**业务规则:** +- 异常值超出阈值范围时红色高亮 +- 监测类型对应各自设备类型的指标项 + +**交互说明:** +- 面包屑导航:历史数据 / 设备名称 / 报警详情 +- 返回按钮跳转回历史数据列表页 +- 支持导出列表数据 --- @@ -894,6 +1071,59 @@ --- +### 各类型差异补充说明 + +以下列出室外、水质、花粉与室内基准页面的具体差异: + +#### 设备分类页面差异 + +| 类型 | 阈值配置列 | +|------|-----------| +| 室内 | 温度、湿度、CO₂、甲醛、PM2.5、PM10 | +| 室外 | 温度、湿度、太阳辐射、PM2.5、PM10、照度、风速 | +| 水质 | 温度、电导率、pH、盐度、电阻率、TDS | +| 花粉 | 花粉浓度(粒/千mm²) | + +#### 数据监测页面差异 + +**室外数据监测:** +- 筛选条件末项:空气质量指数(下拉) +- 表格列:设备名称、设备编码、所属单位、设备位置、数据更新时间、温度、湿度、太阳辐射、PM2.5、PM10、照度、风速、空气质量指数(标签)、操作 +- 质量标签:优(绿色)、良(蓝色)、轻度污染(橙色)、中度污染(红色)、重度污染(紫色)、严重污染(褐色) + +**水质数据监测:** +- 筛选条件末项:水质等级(下拉) +- 表格列:设备名称、设备编码、所属单位、设备位置、数据更新时间、温度、电导率、pH、盐度、电阻率、TDS、水质等级(标签)、操作 +- 质量标签:达标(绿色)、未达标(红色) + +**花粉数据监测:** +- 筛选条件末项:过敏等级(下拉) +- 表格列:设备名称、设备编码、所属单位、设备位置、数据更新时间、榆属、松属、杨属、柏科、柳属、蒿属、藜科、苋科、花粉总数、过敏等级(标签)、操作 +- 质量标签:很低(绿色)、低(蓝色)、中等(橙色)、高(红色)、很高(紫色) + +#### 数据分析页面差异 + +各类型的监测类型切换按钮对应各自指标: +- 室外:温度、湿度、太阳辐射、PM2.5、PM10、照度、风速 +- 水质:温度、电导率、pH、盐度、电阻率、TDS +- 花粉:榆属、松属、杨属、柏科、柳属、蒿属、藜科、苋科、花粉总数 + +#### APP记录页面差异 + +各类型的点击次数列对应各自监测指标: +- 室外:温度/湿度/太阳辐射/PM2.5/PM10/照度/风速点击次数 + 总点击次数 +- 水质:温度/电导率/pH/盐度/电阻率/TDS点击次数 + 总点击次数 +- 花粉:榆属/松属/杨属/柏科/柳属/蒿属/藜科/苋科/花粉总数点击次数 + 总点击次数 + +#### 历史监测详情页面差异 + +各类型表格列对应各自指标: +- 室外:监测时间、温度、湿度、太阳辐射、PM2.5、PM10、照度、风速、空气质量指数 +- 水质:监测时间、温度、电导率、pH、盐度、电阻率、TDS、水质等级 +- 花粉:监测时间、榆属、松属、杨属、柏科、柳属、蒿属、藜科、苋科、花粉总数、过敏等级 + +--- + ## 六、异常事件 ### 80. 系统脏数据(exception-dirty.html)