diff --git a/index.html b/index.html index 2c75f7c..f41bebd 100644 --- a/index.html +++ b/index.html @@ -225,7 +225,7 @@ const SITE_MAP = [ { file:'exception-dirty.html', label:'系统脏数据' }, { file:'exception-result.html', label:'结果异常' } ]}, - { name:'体重管理', dir:'web-admin/weight-management', entry:'archive-personal-weight-data.html', pages:[ + { name:'体重管理', dir:'web-admin/weight-management', entry:'archive-personal-weight-data.html', prd:'web-admin/weight-management/doc/PRD.md', done:true, pages:[ { file:'archive-personal-weight-data.html', label:'个人体重数据' }, { file:'archive-personal-weight-detail.html', label:'个人体重数据详情' }, { file:'archive-unit-report.html', label:'单位报表数据' }, diff --git a/web-admin/weight-management/doc/PRD.md b/web-admin/weight-management/doc/PRD.md index 1346995..5ca4e82 100644 --- a/web-admin/weight-management/doc/PRD.md +++ b/web-admin/weight-management/doc/PRD.md @@ -44,37 +44,38 @@ │ ├── 体重秤 │ │ ├── 设备管理 │ │ │ └── 新增设备(弹窗) -│ │ └── 设备监测 +│ │ └── 设备监测(使用频次统计) │ │ └── 监测详情(弹窗) │ ├── 蓝牙称(同上结构) │ ├── 体脂仪(同上结构) │ ├── 运动器械(同上结构) │ ├── 员工监测数据 -│ │ └── 测量记录 +│ │ └── 测量记录(含身体成分分析弹窗) │ ├── 单位数据统计 │ │ └── 内Tab:二级单位/三级单位 │ └── 员工数据统计 │ ├── 过程管理(侧边栏) │ ├── 行动记录 -│ │ ├── 单位统计表(含三测率等指标) -│ │ └── 个人详情抽屉弹窗(含体重趋势图/饮食记录/运动记录) +│ │ ├── 员工数据(Tab:体重/饮食/运动,含已记录/未记录弹窗) +│ │ └── 单位数据(Tab) │ ├── 详细数据 -│ │ └── 个人指标详情抽屉弹窗(含体重趋势图) +│ │ └── 体重报告弹窗 │ ├── 体重排名 -│ │ └── 内Tab:二级单位/三级单位 +│ │ ├── 个人排名(Tab) +│ │ └── 单位排名(Tab,内分段:二级单位/三级单位) │ ├── 活动总览 -│ │ └── 活动详情 +│ │ └── 赛况明细 │ ├── 活动统计 │ └── 食谱记录 -│ └── 餐品详情弹窗 +│ └── 新增记录弹窗 │ ├── 历史干预(侧边栏) │ ├── 计划列表 │ │ ├── 人员范围弹窗 -│ │ └── 计划详情 +│ │ └── 计划详情(5个Tab:报名管理/每日行动/总览数据/活动排名/活动信息) │ └── 人员列表 -│ └── 人员详情 +│ └── 人员详情(3个Tab:饮食记录/运动记录/体重记录) │ ├── 个人体重管理(侧边栏) │ └── 个人目标数据 @@ -85,28 +86,6 @@ └── 结果异常 ``` -### 状态流转图 - -```mermaid -stateDiagram-v2 - [*] --> 创建干预计划 - 创建干预计划 --> 计划进行中: 发布计划 - 计划进行中 --> 员工报名: 员工收到通知 - 员工报名 --> 提交任务书: 员工设置目标体重 - 提交任务书 --> 管理员审核: 提交审核 - 管理员审核 --> 签署承诺书: 审核通过 - 管理员审核 --> 重新提交: 审核驳回 - 重新提交 --> 管理员审核 - 签署承诺书 --> 过程监测: 签署完成 - 过程监测 --> 计划结束: 计划到期 - 计划结束 --> 历史归档: 数据归档 - - note right of 过程监测 - 行动记录/详细数据/ - 体重排名/活动总览/ - 食谱记录 - end note -``` --- @@ -149,19 +128,19 @@ stateDiagram-v2 | 7 | 体重秤 | 设备管理 | 体重秤设备列表 | scale-device.html | 页面 | | | | | 新增设备 | scale-device-add.html | 弹窗 | | | | 设备监测 | 体重秤监测数据 | scale-monitor.html | 页面 | -| | | | 监测详情 | scale-monitor-detail.html | 弹窗 | +| | | | 监测详情 | scale-monitor-detail.html | 页面 | | 8 | 蓝牙称 | 设备管理 | 蓝牙称设备列表 | bluetooth-device.html | 页面 | | | | | 新增设备 | bluetooth-device-add.html | 弹窗 | | | | 设备监测 | 蓝牙称监测数据 | bluetooth-monitor.html | 页面 | -| | | | 监测详情 | bluetooth-monitor-detail.html | 弹窗 | +| | | | 监测详情 | bluetooth-monitor-detail.html | 页面 | | 9 | 体脂仪 | 设备管理 | 体脂仪设备列表 | fat-device.html | 页面 | | | | | 新增设备 | fat-device-add.html | 弹窗 | | | | 设备监测 | 体脂仪监测数据 | fat-monitor.html | 页面 | -| | | | 监测详情 | fat-monitor-detail.html | 弹窗 | +| | | | 监测详情 | fat-monitor-detail.html | 页面 | | 10 | 运动器械 | 设备管理 | 运动器械设备列表 | sport-device.html | 页面 | | | | | 新增设备 | sport-device-add.html | 弹窗 | | | | 设备监测 | 运动器械监测数据 | sport-monitor.html | 页面 | -| | | | 监测详情 | sport-monitor-detail.html | 弹窗 | +| | | | 监测详情 | sport-monitor-detail.html | 页面 | | 11 | (公共) | 员工监测数据 | 员工监测数据列表 | employee-data.html | 页面 | | | | | 测量记录详情 | employee-data-record.html | 页面 | | 12 | (公共) | 单位数据统计 | 单位数据统计列表 | dept-stat.html | 页面 | @@ -179,7 +158,7 @@ stateDiagram-v2 | | | 个人指标详情抽屉 | (内嵌抽屉弹窗) | 弹窗 | | 16 | 体重排名 | 体重排名列表 | weight-ranking.html | 页面 | | 17 | 活动总览 | 活动总览列表 | action-overview.html | 页面 | -| | | 活动详情 | action-overview-detail.html | 页面 | +| | | 赛况明细 | action-overview-detail.html | 页面 | | 18 | 活动统计 | 活动统计列表 | activity-statistics.html | 页面 | | 19 | 食谱记录 | 食谱记录列表 | recipe-record.html | 页面 | | | | 餐品详情弹窗 | (内嵌弹窗) | 弹窗 | @@ -222,19 +201,22 @@ stateDiagram-v2 **功能说明:** 以员工为维度展示个人体重管理相关数据的汇总列表,支持按姓名、单位等多维筛选。 -**筛选条件:** 姓名(输入框)、员工编号(输入框)、单位部门(二级联动下拉) +**筛选条件:** 姓名(输入框)、员工编号(输入框)、单位部门(二级联动下拉)、年份(下拉,默认当年) **表格列(多级表头):** -- 第一级:姓名、员工编号、性别、年龄、单位、部门、体重(kg)、BMI、体脂肪率(%)、腰围(cm)、操作 -- 体重子列:初始体重、当前体重、目标体重、变化(带颜色标注:下降绿色、上升红色) +- 第一级:姓名、员工编号、性别、年龄、单位、部门、体重(kg)(3子列)、BMI(3子列)、体脂(%)(3子列)、腰围(cm)(3子列)、饮食记录次数、运动记录次数、体重记录次数、详细数据 +- 体重子列:初始、最终、变化 +- BMI子列:初始、最终、变化 +- 体脂(%)子列:初始、最终、变化 +- 腰围(cm)子列:初始、最终、变化 **业务规则:** -- 体重变化正值红色标注(增重),负值绿色标注(减重) -- 变化列使用 `change-up`/`change-down` 样式区分颜色 +- 变化正值红色标注(体重增加),负值绿色标注(体重减少) +- 姓名和详细数据列分别做左/右侧固定 **交互说明:** -- 操作列点击"详情"跳转到个人体重详情页 -- 支持导出列表数据 +- 操作列点击"查看"跳转到个人体重详情页 +- 支持导出列表数据、查看导出任务 - 各数值列支持排序 --- @@ -243,17 +225,26 @@ stateDiagram-v2 ![页面截图](screenshots/archive-personal-weight-detail.jpg) -**功能说明:** 展示单个员工的完整体重管理数据,包括体重趋势、目标达成情况、历史测量记录等。 +**功能说明:** 展示单个员工的完整体重管理数据,包括指标变化汇总和饮食/运动/体重三类记录的明细。 **页面布局:** -- 顶部员工信息卡片:头像(首字母)、姓名、工号、单位、部门 -- 体重趋势图区域:SVG折线图展示体重变化趋势 -- 指标总览网格:初始体重、当前体重、目标体重、已减重量、BMI变化等 -- 历史测量记录表格 +- 顶部返回链接 + 面包屑导航 +- 员工信息卡片:头像(首字母)、姓名、员工编号、性别、年龄、单位、部门 + 年份筛选下拉 +- 指标汇总卡片("体重管理指标变化"):4组指标(体重(kg)、BMI、体脂(%)、腰围(cm)),每组展示 初始 → 最终 → 变化 +- Tab切换区域:饮食记录 / 运动记录 / 体重记录 + +**饮食记录Tab表格列:** 时间、餐次(早餐/午餐/晚餐/加餐)、摄入热量(千卡)、来源(标签:智记/自记) + +**运动记录Tab表格列:** 时间、运动类型、运动时长/数据、消耗热量(千卡)、来源(标签:穿戴/微信/自记/器械) + +**体重记录Tab表格列:** 时间、体重(kg)、BMI、体脂率(%)、腰围(cm)、来源(标签:身高秤/体脂仪/蓝牙称/自记) + +**业务规则:** +- 变化正值红色标注(体重增加),负值绿色标注(体重减少) +- 来源使用不同颜色标签区分数据类型 **交互说明:** -- 通过URL参数加载指定员工数据 -- 趋势图以SVG动态渲染 +- 年份筛选支持切换查看不同年份的记录 - 返回按钮跳转回个人体重数据列表页 --- @@ -274,7 +265,7 @@ stateDiagram-v2 **三级单位表格列:** 在二级单位基础上增加"部门"列(位于单位和总人数之间) **业务规则:** -- 表格列较多,序号、单位、总人数三列做左侧固定(sticky),操作列右侧固定 +- 表格列较多,序号、单位、总人数三列做左侧固定,操作列右侧固定 - 所有数据列支持排序 **交互说明:** @@ -289,18 +280,22 @@ stateDiagram-v2 **功能说明:** 展示指定单位/部门的干预计划维度的详细数据,汇总该单位下各干预计划的执行情况和效果指标。 -**面包屑导航:** 体重管理 / 档案 / 单位报表数据 / **单位名称** +**面包屑导航:** 体重管理 / 档案 / 单位报表数据 / 详情 -**筛选条件:** 年份(下拉) +**页面布局:** +- 单位信息卡片:单位名称标签(二级单位/三级单位)、总人数、组织活动次数、参与活动总人次、活动覆盖比例 +- 指标统计网格(5×2):人均减重(kg)、人均减重率(%)、人均BMI降低、人均体脂率降低(%)、人均腰围减少(cm)、人均每日摄入热量(kcal)、人均每日消耗热量(kcal)、人均每日热量缺口、人均综合得分、人均行动得分 -**表格列:** +**筛选条件:** 计划名称(输入框)、年份(下拉) + +**表格列(标题"组织活动列表"):** - 干预计划、组织机构、组织部门、起止日期、人员范围、应参加人数、已参加人数、未参加人数、完成体重目标人数、完成体脂目标人数、完成腰围目标人数、人均减重(kg)、人均减重率(%)、人均腰围减少(cm)、人均每日摄入(千卡)、人均每日消耗(千卡)、人均每日热量缺口、人均综合得分、人均行动得分、负责人 **交互说明:** - 面包屑导航支持点击跳回上级页面 -- 返回按钮跳转回单位报表数据列表页 -- 页面标题和面包屑通过URL参数动态显示单位信息 -- 支持导出列表数据、查看导出任务 +- 顶部导航栏返回按钮跳转回单位报表数据列表页 +- 页面信息通过URL参数动态填充 +- 支持导出列表数据 --- @@ -308,10 +303,8 @@ stateDiagram-v2 ![页面截图](screenshots/archive-algorithm-model.jpg) -**功能说明:** 占位页面,主内容区域为空,仅包含顶部导航栏和侧边栏框架。**当前为占位页面**,实际内容待实现。 +**功能说明:** 与之前做好的其他模块功能一致 -**业务规则:** -- 预留用于管理体重管理相关的算法模型文档(如体重预测模型、健康风险评估模型等) --- @@ -323,19 +316,21 @@ stateDiagram-v2 **功能说明:** 体重管理干预计划的增删改查管理,管理员在此创建和管理各单位/部门的体重干预计划。 -**筛选条件:** 计划名称(输入框)、组织机构(二级联动下拉)、活动状态(下拉:全部/进行中/已结束/未开始)、年份选择(下拉) +**筛选条件:** 计划名称(输入框)、组织机构(二级联动下拉)、活动状态(下拉:全部/进行中/未开始)、年份选择(下拉) **表格列:** 序号、组织机构、计划名称、起止日期、人员筛选(可点击数字)、审核人员(可点击数字)、活动状态(标签)、组织部门、负责人、负责人电话、操作 **业务规则:** -- 活动状态标签:进行中(蓝色)、已结束(绿色)、未开始(橙色) +- 活动状态标签:进行中、未开始 +- 已结束的干预计划不在本列表展示,统一归入"历史干预"模块管理 +- 进行中的计划,编辑按钮置灰不可点击(保护进行中数据不被修改) - 人员筛选列显示参与人数,点击弹出人员筛选弹窗 - 审核人员列显示审核人数,点击弹出审核人员明细弹窗 -- 操作列包含编辑和删除,删除需二次确认 +- 操作列包含编辑和删除,删除需二次确认,有员工报名参加的活动,不允许删除,提示“该计划已有员工报名参加,无法删除” **交互说明:** -- 点击"新增计划"跳转到新增计划页面(plan-edit.html) -- 点击"编辑"跳转到编辑计划页面,回填数据 +- 点击"新增计划"跳转到新增计划页面 +- 未开始状态点击"编辑"跳转到编辑计划页面,回填数据;进行中状态编辑按钮置灰不可点击 - 点击"删除"弹出确认提示后删除 - 点击人员筛选数字打开人员筛选弹窗(展示指定/全部参与人员列表) - 点击审核人员数字打开审核人员弹窗 @@ -356,28 +351,30 @@ stateDiagram-v2 **表单字段:** -| 字段名 | 类型 | 必填 | 校验规则 | -|--------|------|------|----------| -| 活动组织机构 | 树形选择器 | 是 | 选择单位→部门的树形结构 | -| 计划名称 | 文本输入框 | 是 | 不超过50字符 | -| 人员筛选 | 单选按钮组 | 是 | "全体人员" / "指定人员" | -| 指定部门 | 多选下拉 | 否 | 选择"指定人员"时显示,需先选组织机构 | +| 字段名 | 类型 | 必填 | 校验规则 | +|--------|------|------|------------------------| +| 活动组织机构 | 树形选择器 | 是 | 选择单位→部门的树形结构 | +| 计划名称 | 文本输入框 | 是 | 不超过50字符 | +| 人员筛选 | 单选按钮组 | 是 | "全体人员" / "指定人员" | +| 指定部门 | 多选下拉 | 否 | 选择"指定人员"时显示,需先选组织机构 | | 指定员工 | 员工选择器 | 否 | 选择"指定人员"时显示,点击打开员工选择弹窗 | -| 起止日期 | 日期范围选择 | 是 | 结束日期不得早于开始日期 | -| 审核人员 | 搜索下拉 | 是 | 支持搜索姓名,可多选 | -| 负责人 | 搜索下拉 | 是 | 支持搜索姓名,单选,选项含头像和手机号 | -| 负责人电话 | 文本输入框 | 是 | 11位手机号格式 | -| 活动说明 | 多行文本域 | 否 | 不超过500字符 | +| 大病员工过滤 | 复选框 | 否 | 可查看大病员工列表弹窗 | +| 计划起止日期 | 日期范围选择 | 是 | 结束日期不得早于开始日期 | +| 组织部门 | 下拉选择 | 是 | 从组织机构对应的部门列表中选择 | +| 负责人 | 搜索下拉 | 是 | 支持搜索姓名,单选,从组织机构中进行搜索 | +| 审核人 | 搜索下拉 | 否 | 支持搜索姓名,可多选,从医疗点中进行搜索 | +| 通知文件 | 拖拽上传区 | 是 | 支持PDF/Word,最大10MB | +| 奖励等级 | 多行文本域 | 否 | 自由文本,不超过200字符 | **人员选择弹窗:** -- 筛选条件:部门、姓名、工号 -- 表格列:复选框、姓名、工号、性别、年龄、单位、部门 +- 筛选条件:部门、姓名、工号、体重(运算符筛选)、BMI(运算符筛选) +- 表格列:复选框、单位、部门、姓名、员工编号、性别、年龄、身高(cm)、体重(kg)、BMI - 已选员工以可移除标签形式展示在表单中 +- 底部显示共N条/已选N条 -**审核人员弹窗:** -- 搜索输入框,支持按姓名实时搜索 -- 列表展示可选审核人员,含头像、姓名、职位信息 -- 支持多选,已选审核人以标签展示 +**大病人员列表弹窗:** +- 顶部警告提示"当前人员筛选中包含N位大病员工" +- 表格列:单位、部门、姓名、员工编号、性别、年龄、身高(cm)、体重(kg)、BMI、大病信息 **交互说明:** - 选择组织机构后启用部门多选和员工选择器 @@ -385,8 +382,7 @@ stateDiagram-v2 - 已选员工以可移除标签列表展示 - 底部保存栏固定,滚动表单时始终可见 - 点击"取消"返回计划列表页 -- 编辑模式下通过URL参数(`?id=N`)回填表单数据 -- 审核人员和负责人搜索使用搜索下拉组件 +- 编辑模式下回填表单数据 --- @@ -408,9 +404,9 @@ stateDiagram-v2 | Tab | 表格列 | |-----|-------| -| 未提交任务书 | 计划名称、姓名、员工编号、性别、年龄、所属单位、所属部门、身高(cm)、初始体重(kg)、初始BMI、目标体重(kg)、目标BMI | -| 已提交待审核 | 同上 + 提交时间 | -| 已通过待签署 | 同上 + 通过时间、操作(承诺书) | +| 未提交任务书 | 计划名称、姓名、员工编号、性别、年龄、所属单位、所属部门、身高(cm)、初始体重(kg)、初始BMI、初始腰围(cm)、初始体脂(%) | +| 已提交待审核 | 同上 + 目标体重(kg)、目标BMI、目标腰围(cm)、目标体脂(%)、提交时间 | +| 已通过待签署 | 同上 + 审核时间 | | 已签署 | 同上 + 签署时间、操作(承诺书) | **承诺书预览弹窗:** @@ -419,7 +415,7 @@ stateDiagram-v2 - 仅查看模式 **交互说明:** -- 必须先选择干预计划才能查看数据,未选择时显示占位提示 +- 未选择干预计划时,查看所有进行中活动被纳入参加范围的员工,选择干预计划后,查看该计划内被纳入的员工 - Tab切换筛选不同状态的报名记录 - 体重和BMI筛选支持自定义运算符(等于/大于/小于/大于等于/小于等于/范围),选择"范围"时展开第二个输入框 - 承诺书弹窗展示完整的承诺书内容 @@ -443,24 +439,23 @@ stateDiagram-v2 | Tab | 表格列 | |-----|-------| -| 待审核 | 姓名、员工编号、性别、年龄、所属单位、所属部门、身高(cm)、初始体重(kg)、初始BMI、目标体重(kg)、目标BMI、目标体脂(%)、目标腰围(cm)、操作(审核) | -| 已通过 | 同上 + 审核时间、审核人、操作(查看) | -| 已通过待签署 | 同上 + 操作(承诺书) | -| 已驳回 | 同上 + 驳回原因(hover展示完整文本)、驳回时间、操作(查看) | +| 待审核 | 计划名称、姓名、员工编号、性别、年龄、所属单位、所属部门、身高(cm)、初始体重(kg)、初始BMI、初始腰围(cm)、初始体脂(%)、目标体重(kg)、目标BMI、目标腰围(cm)、目标体脂(%)、提交时间、操作(审核) | +| 已通过 | 同上 + 审核时间、审核人 | +| 已通过待签署 | 同上(含审核时间、审核人) | +| 已驳回 | 同上 + 驳回时间、审核人、驳回原因 | **审核弹窗:** -- 员工基本信息卡片(姓名、工号、单位、部门) +- 员工基本信息卡片:计划名称、姓名、员工编号、性别、年龄、身高、所属单位、所属部门、提交时间、活动起止日期 - 指标对比表格:指标名称、干预前数值、箭头、目标数值、变化量(差值带颜色:达标绿色、未达标红色) - - 对比指标:体重(kg)、BMI、体脂率(%)、腰围(cm) -- 审核决策按钮组:通过 / 驳回(大按钮,点击选中高亮) + - 对比指标:体重(kg)、BMI、腰围(cm)、体脂(%) +- 审核决策按钮组:通过 / 驳回 - 选择"驳回"时展开驳回原因输入区: - - 驳回原因文本域(必填,最多200字) + - 驳回原因文本域(必填) **承诺书预览弹窗:** 与报名跟踪中的承诺书弹窗结构一致 **业务规则:** - 指标对比表格中,变化量为正(增重)红色标注,变化量为负(减重)绿色标注 -- 目标体重不得低于健康体重下限(BMI 18.5对应体重) - 通过审核后员工状态变为"已通过",需员工签署承诺后变为"已签署" **交互说明:** @@ -485,7 +480,7 @@ stateDiagram-v2 **功能说明:** 管理体重秤设备的增删改查,维护设备基础信息。 -**筛选条件:** 设备编码(输入框)、设备名称(输入框)、所属单位(下拉)、设备厂商(下拉)、设备型号(下拉)、设备状态(下拉:全部/正常/维护中/已停用) +**筛选条件:** 设备编码(输入框)、所属单位(下拉)、设备厂商(下拉)、设备型号(下拉) **表格列:** 设备编码、设备名称、设备厂商、设备型号、所属单位、布放位置、入库日期、设备状态(标签)、操作 @@ -500,48 +495,125 @@ stateDiagram-v2 - 点击"删除"弹出确认提示后删除 - 支持导出列表数据 -**新增/编辑设备弹窗(scale-device-add.html、bluetooth-device-add.html、fat-device-add.html、sport-device-add.html):** +**新增/编辑设备弹窗:** -| 字段名 | 类型 | 必填 | 校验规则 | -|--------|------|------|----------| -| 设备编码 | 文本输入框 | 是 | 唯一性校验 | -| 设备名称 | 文本输入框 | 是 | 不超过30字符 | -| 设备厂商 | 下拉选择 | 是 | 预设厂商列表 | -| 设备型号 | 文本输入框 | 是 | 不超过20字符 | -| 所属单位 | 下拉选择 | 是 | 从组织机构选择 | -| 布放位置 | 文本输入框 | 是 | 不超过50字符 | -| 入库日期 | 日期选择 | 是 | 不得晚于当前日期 | +| 字段名 | 类型 | 必填 | 校验规则 | +|--------|------|------|--------------| +| 设备编码 | 文本输入框 | 是 | 唯一性校验 | +| 设备名称 | 文本输入框 | 是 | 不超过30字符 | +| 设备厂商 | 下拉选择 | 是 | 预设厂商列表 | +| 设备型号 | 文本输入框 | 是 | 预设设备型号,与厂商联动 | +| 所属单位 | 下拉选择 | 是 | 从组织机构选择 | +| 布放位置 | 文本输入框 | 是 | 地图选择,可修改详细地址 | +| 入库日期 | 日期选择 | 是 | 不得晚于当前日期 | --- -#### 设备监测(以体重秤为例:scale-monitor.html) +#### 设备监测(4种设备类型各有独立监测页与监测详情页) -![页面截图](screenshots/scale-monitor.jpg) +四种设备类型的监测列表页结构一致,差异在于监测详情页的测量指标和详情弹窗字段。 -**功能说明:** 实时展示体重秤设备的监测数据,监控设备运行状态。 +**监测列表页通用结构(scale-monitor.html / bluetooth-monitor.html / fat-monitor.html / sport-monitor.html):** -**筛选条件:** 设备编码(输入框)、设备名称(输入框)、所属单位(下拉)、日期范围 +**筛选条件:** 设备编码(输入框)、所属单位(下拉) -**表格列(体重秤):** 设备编码、设备名称、所属单位、布放位置、最后测量时间、当日测量人次、当日异常次数、设备状态(标签)、操作 - -**监测详情弹窗(scale-monitor-detail.html、bluetooth-monitor-detail.html、fat-monitor-detail.html、sport-monitor-detail.html):** -- 设备基本信息卡片 -- 当日测量统计(测量人次、异常次数) -- 近期测量趋势折线图 -- 测量记录明细表格 - -**各设备类型监测指标差异:** - -| 设备类型 | 监测指标 | -|---------|---------| -| 体重秤 | 测量时间、体重(kg)、BMI | -| 蓝牙称 | 测量时间、体重(kg)、BMI、蓝牙连接状态 | -| 体脂仪 | 测量时间、体重(kg)、BMI、体脂率(%)、肌肉量(kg)、水分率(%)、骨量(kg)、基础代谢(kcal) | -| 运动器械 | 使用时间、运动类型、运动时长(分钟)、消耗热量(kcal)、运动距离(km) | +**表格列:** 设备名称、设备编码、设备所属单位、布放位置、本周使用次数(可排序)、本月使用次数(可排序)、本年使用次数(可排序)、累计使用次数(可排序)、操作 **交互说明:** -- 点击"详情"打开监测详情弹窗 -- 支持导出列表数据 +- 点击操作列"详情"跳转到对应的监测详情页 +- 支持导出列表数据、查看导出任务 + +--- + +##### 体重秤监测详情(scale-monitor-detail.html) + +![页面截图](screenshots/scale-monitor-detail.jpg) + +**页面布局:** +- 设备信息卡片:设备名称、设备编码、所属单位、布放位置 +- 使用频次统计:本周使用次数、本月使用次数、本年使用次数、累计使用次数 +- Tab切换:员工实名 / 员工匿名 + +**员工实名 Tab 筛选条件:** 员工姓名(输入框)、员工编号(输入框)、单位部门(下拉)、使用日期(日期范围) + +**员工实名 Tab 表格列(多级表头,监测数据10子列):** 姓名、员工编号、所属单位、所属部门、性别、年龄、使用时间、身高(cm)、体重(kg)、BMI、基础代谢、体脂肪量(kg)、体脂肪率(%)、体水分量(kg)、体水分率(%)、蛋白质量(kg)、蛋白质率(%)、更多信息 + +**员工匿名 Tab:** 仅含使用日期筛选,表格列为姓名、使用时间 + 同上10项监测数据列 + 更多信息 + +**详情弹窗(身体成分分析,5组指标):** +- **基础指标:** 身高(cm)、体重(kg)、BMI、基础代谢、体脂肪量(kg)、体脂肪率(%) +- **水分与蛋白质:** 体水分量(kg)、体水分率(%)、蛋白质量(kg)、蛋白质率(%) +- **肌肉与骨骼:** 肌肉率(%)、肌肉量(kg)、体骨骼量/骨量(kg) +- **脂肪分析:** 皮下脂肪率(%)、内脏脂肪等级、去脂体重(kg) +- **其他:** 无机盐量/矿物质量(kg)、细胞内液(kg)、细胞外液(kg)、健康评分 + +--- + +##### 蓝牙称监测详情(bluetooth-monitor-detail.html) + +![页面截图](screenshots/bluetooth-monitor-detail.jpg) + +**页面布局:** +- 设备信息卡片:设备名称、设备编码、所属单位、布放位置 +- 使用频次统计:本周使用次数、本月使用次数、本年使用次数、累计使用次数 +- 无Tab切换,仅员工实名列表 + +**筛选条件:** 员工姓名(输入框)、员工编号(输入框)、单位部门(下拉)、使用日期(日期范围) + +**表格列(多级表头,监测数据6子列):** 姓名、员工编号、所属单位、所属部门、性别、年龄、使用时间、身高(cm)、体重(kg)、BMI、基础代谢、体脂肪量(kg)、体脂肪率(%)、更多信息 + +**详情弹窗(身体成分分析,6组指标):** +- **基础指标:** 身高(cm)、体重(kg)、BMI、基础代谢、体脂肪量(kg)、体脂肪率(%) +- **水分与蛋白质:** 体水分量(kg)、体水分率(%)、蛋白质量(kg)、蛋白质率(%) +- **肌肉与骨骼:** 体肌肉量(kg)、体肌肉率(%)、体骨骼量(kg) +- **脂肪分析:** 皮下脂肪量(kg)、皮下脂肪率(%)、除脂肪量(kg) +- **细胞液:** 细胞外液量(L)、细胞外液率(%)、细胞内液量(L)、细胞内液率(%) +- **其他:** 矿物质量(kg) + +--- + +##### 体脂仪监测详情(fat-monitor-detail.html) + +![页面截图](screenshots/fat-monitor-detail.jpg) + +**页面布局:** +- 设备信息卡片:设备名称、设备编码、所属单位、布放位置 +- 使用频次统计:本周使用次数、本月使用次数、本年使用次数、累计使用次数 +- Tab切换:员工实名 / 员工匿名 + +**员工实名 Tab 筛选条件:** 员工姓名(输入框)、员工编号(输入框)、单位部门(下拉)、使用日期(日期范围) + +**员工实名 Tab 表格列(多级表头,监测数据8子列):** 姓名、员工编号、所属单位、所属部门、性别、年龄、使用时间、身高(cm)、体重(kg)、BMI、基础代谢、体脂肪量(kg)、体脂肪率(%)、体水分量(kg)、蛋白质量(kg)、更多信息 + +**员工匿名 Tab:** 仅含使用日期筛选,表格列为姓名、使用时间 + 同上8项监测数据列 + 更多信息 + +**详情弹窗(身体成分分析,6组指标,最全面):** +- **基础指标:** 身高(cm)、体重(kg)、BMI、基础代谢、InBody评分(分) +- **体脂分析:** 体脂肪量(kg)、体脂肪率(%)、内脏脂肪等级、肥胖度(%)、去脂体重(kg) +- **体成分:** 体水分(L)、蛋白质(kg)、无机盐(kg)、骨骼肌量(kg)、骨骼肌指数(kg) +- **体重管理:** 目标体重(kg)、体重控制(kg)、脂肪控制(kg)、肌肉控制(kg)、腰臀比(%) +- **节段脂肪:** 左上肢(kg)、左下肢(kg)、右上肢(kg)、右下肢(kg)、躯干(kg) +- **节段肌肉:** 左上肢(kg)、左下肢(kg)、右上肢(kg)、右下肢(kg)、躯干(kg) + +--- + +##### 运动器械监测详情(sport-monitor-detail.html) + +![页面截图](screenshots/sport-monitor-detail.jpg) + +**页面布局:** +- 设备信息卡片:设备名称、设备编码、所属单位、布放位置 +- 使用频次统计:本周使用次数、本月使用次数、本年使用次数、累计使用次数 +- Tab切换:员工实名 / 员工匿名 + +**员工实名 Tab 筛选条件:** 员工姓名(输入框)、员工编号(输入框)、单位部门(下拉)、运动日期(日期范围) + +**员工实名 Tab 表格列(单行表头):** 姓名、员工编号、所属单位、所属部门、性别、年龄、身高(cm)、体重(kg)、运动时间、运动时长(分钟)、运动消耗(千卡) + +**员工匿名 Tab:** 仅含运动日期筛选,表格列为姓名、使用时间、身高(cm)、体重(kg)、运动时间、运动时长(分钟)、运动消耗(千卡) + +> **说明:** 运动器械监测详情页无"更多信息"详情弹窗,测量数据直接在表格中展示完毕。 + --- @@ -558,11 +630,11 @@ stateDiagram-v2 - 最新测量数据子列:测量时间、测量设备、身高(cm)、体重(kg)、BMI、体脂肪率(%) **业务规则:** -- 异常BMI值红色标注(BMI<18.5或BMI≥28) +- 异常BMI值红色标注 - 测量设备显示设备类型名称(体重秤/蓝牙称/体脂仪) **交互说明:** -- 操作列点击"测量记录"跳转到员工测量记录详情页(employee-data-record.html) +- 操作列点击"测量记录"跳转到员工测量记录详情页 - 支持导出列表数据、查看导出任务 --- @@ -571,18 +643,25 @@ stateDiagram-v2 ![页面截图](screenshots/employee-data-record.jpg) -**功能说明:** 展示单个员工在所有设备上的历史测量记录详情。 +**功能说明:** 展示单个员工在所有设备上的历史测量记录详情,含身体成分分析弹窗。 **页面布局:** -- 员工信息卡片 -- 筛选条件:日期范围、测量设备类型(下拉) -- BMI趋势折线图 -- 测量记录表格:测量时间、测量设备、身高(cm)、体重(kg)、BMI、体脂肪率(%) +- 员工信息卡片(姓名、员工编号、性别、年龄、单位/部门、本周/本月/本年/累计测量次数统计) +- 筛选条件:测量设备类型(下拉)、测量日期范围 +- 测量记录表格:测量时间、测量设备、设备编码、身高(cm)、体重(kg)、BMI、基础代谢(kcal)、体脂肪量(kg)、体脂肪率(%)、体水分量(kg)、蛋白质量(kg)、操作 + +**详情弹窗(身体成分分析):** +- 基础指标:身高(cm)、体重(kg)、BMI、基础代谢、体脂肪量(kg)、体脂肪率(%) +- 水分与蛋白质:体水分量(kg)、体水分率(%)、蛋白质量(kg)、蛋白质率(%) +- 肌肉与骨骼:肌肉率(%)、肌肉量(kg)、体骨骼量/骨量(kg) +- 脂肪分析:皮下脂肪率(%)、内脏脂肪等级、去脂体重(kg) +- 其他:无机盐量/矿物质量(kg)、细胞内液(kg)、细胞外液(kg)、健康评分 **交互说明:** - 通过URL参数加载指定员工数据 -- 表格支持按时间和设备类型筛选 +- 表格支持按设备类型和日期范围筛选 - 返回按钮跳转回员工监测数据列表页 +- 点击操作列"详情"打开身体成分分析弹窗 --- @@ -590,20 +669,20 @@ stateDiagram-v2 ![页面截图](screenshots/dept-stat.jpg) -**功能说明:** 以单位/部门为维度统计各类型设备的使用情况,包括入库数、使用人次等指标。 +**功能说明:** 以单位/部门为维度统计各类型设备的使用情况,包括设备数量、使用次数和使用人数。 **Tab切换:** 二级单位 / 三级单位 -**筛选条件:** 组织机构(二级联动下拉)、年份(下拉,默认当年) +**筛选条件:** 年份(下拉,默认当年)、所属单位(下拉);三级单位额外增加所属部门(下拉) **二级单位表格列(多级表头):** - 第一级:单位、总人数 -- 体重秤子列:入库数、使用人次、使用率 -- 蓝牙称子列:入库数、使用人次、使用率 -- 体脂仪子列:入库数、使用人次、使用率 -- 运动器械子列:入库数、使用人次、使用率 +- 体重秤子列:设备数量、使用次数、使用人数 +- 蓝牙称子列:设备数量、使用次数、使用人数 +- 体脂仪子列:设备数量、使用次数、使用人数 +- 运动器械子列:设备数量、使用次数、使用人数 -**三级单位表格列:** 在二级单位基础上增加"部门"列 +**三级单位表格列:** 在二级单位基础上增加"部门"列(位于单位和总人数之间) **交互说明:** - 支持导出列表数据、查看导出任务 @@ -614,9 +693,9 @@ stateDiagram-v2 ![页面截图](screenshots/employee-stat.jpg) -**功能说明:** 以员工为维度统计各类型设备的使用频次和最近使用时间。 +**功能说明:** 以员工为维度统计各类型设备的使用频次。 -**筛选条件:** 姓名(输入框)、员工编号(输入框)、单位部门(二级联动下拉) +**筛选条件:** 年份(下拉)、姓名(输入框)、员工编号(输入框)、单位部门(下拉) **表格列:** - 姓名、员工编号、性别、年龄、所属单位、所属部门 @@ -624,7 +703,6 @@ stateDiagram-v2 - 蓝牙称使用次数(可排序) - 体脂仪使用次数(可排序) - 运动器械使用次数(可排序) -- 最近使用时间 **交互说明:** - 各使用次数列支持点击表头排序 @@ -640,35 +718,57 @@ stateDiagram-v2 ![页面截图](screenshots/action-record.jpg) -**功能说明:** 监控干预计划中各单位/部门员工的体重管理行动执行情况,包括三测率(测体重、测体脂、测腰围的完成比例)。 +**功能说明:** 监控干预计划中员工的体重管理行动执行情况,分为员工数据和单位数据两个维度。 **干预计划选择区:** 搜索下拉选择干预计划,选中后右侧展示计划基本信息 -**页面布局:** 上半部分为单位统计汇总表,下半部分为个人详情抽屉 +**主Tab切换:** 员工数据 / 单位数据 -**单位统计表格列:** 单位、总人数、三测人数、三测率(进度条) +--- -**业务规则:** -- 三测率 = 三测人数 / 总人数 × 100% -- 三测率以进度条形式展示,低于60%标红 +**员工数据Tab:** + +**筛选条件:** 日期范围、单位部门(二级联动下拉)、姓名(输入框)、员工编号(输入框) + +**三测记录子Tab:** 体重 / 饮食 / 运动 + +**记录状态筛选:** 全部 / 已记录 / 未记录 + +**体重子Tab表格列(多级表头,17列):** +- 第一级:干预计划、姓名、员工编号、性别、年龄、单位、部门、打卡次数(可排序)、打卡天数(可排序)、首次记录日期、末次记录日期、末次记录数据(6子列) +- 末次记录数据子列:身高、体重、BMI、体脂、腰围、记录来源 + +**饮食/运动子Tab表格列(单行表头,11列):** +- 干预计划、姓名、员工编号、性别、年龄、单位、部门、打卡次数(可排序)、打卡天数(可排序)、首次记录日期、末次记录日期 + +--- + +**单位数据Tab:** + +**筛选条件:** 日期范围、单位(下拉) + +**表格列:** 单位、总人数、三测人数、三测率 + +--- + +**弹窗列表:** + +| 弹窗名称 | 表格列 | +|---------|-------| +| 饮食记录弹窗 | 序号、餐次、摄入时间、总摄入(千卡)、数据来源 | +| 运动记录弹窗 | 序号、运动类型、运动数据、消耗(千卡)、来源 | +| 体重记录弹窗 | 序号、记录时间、体重(kg)、BMI、体脂率(%)、腰围(cm)、来源 | +| 今日饮食未记录员工 | 干预计划、姓名、员工编号、性别、年龄、所属单位、所属部门 | +| 今日饮食已记录员工 | 同上 + 身高(cm)、体重(kg)、BMI、行动餐次、总能量摄入(千卡)、数据来源 | +| 今日运动已记录员工 | 同上 + 身高(cm)、体重(kg)、BMI、总消耗(千卡)、数据来源 | +| 今日体重已记录员工 | 同上 + 身高(cm)、体重(kg)、BMI、体脂(%)、腰围(cm)、最后记录时间、数据来源 | +| 累计行动员工 | 3个子Tab(饮食/运动/体重)+ 表格列:单位、部门、姓名、员工编号、性别、年龄、联系方式、身高(cm)、体重(kg)、BMI、累计记录天数 | **交互说明:** -- 点击单位行展开该单位的员工详情列表(抽屉弹窗) -- 员工详情抽屉内含: - - 员工基本信息 - - 体重变化趋势图(SVG折线图,含目标线) - - 饮食记录入口(点击打开饮食记录弹窗) - - 运动记录入口(点击打开运动记录弹窗) - - 最新指标数据网格(体重、BMI、体脂率、腰围及其变化量) - -**饮食记录弹窗:** -- 筛选:日期范围 -- 表格列:序号、餐次(早餐/午餐/晚餐/加餐)、摄入时间、总摄入(千卡)、数据来源(手动/自动识别) -- 餐饮明细可展开 - -**运动记录弹窗:** -- 筛选:日期范围 -- 表格列:日期、运动类型、开始时间、结束时间、运动时长(分钟)、消耗热量(千卡)、数据来源 +- 必须先选择干预计划才能查看数据 +- 员工数据Tab中点击统计卡片上的数字打开对应的已记录/未记录弹窗 +- 点击表格行查看该员工的详细记录弹窗 +- 支持导出列表数据、查看导出任务 --- @@ -676,22 +776,25 @@ stateDiagram-v2 ![页面截图](screenshots/detail-data.jpg) -**功能说明:** 以员工为维度展示干预计划中每个人的详细体重指标数据和变化情况。 +**功能说明:** 以员工为维度展示干预计划中每人每日的详细指标数据,包括饮食摄入、运动消耗和体重记录。 **干预计划选择区:** 标准结构 -**筛选条件:** 日期范围(默认当日)、单位部门(二级联动下拉)、姓名(输入框)、员工编号(输入框) +**筛选条件:** 日期范围、单位部门(二级联动下拉)、姓名(输入框)、员工编号(输入框) -**表格列:** 姓名、员工编号、性别、年龄、所属单位、所属部门、身高(cm)、初始体重(kg)、初始BMI、最近体重(kg)、最近BMI、体重变化(kg)、BMI变化、三测状态(标签)、操作 +**表格列(多级表头,19列):** +- 第一级:干预计划、姓名、员工编号、性别、年龄、单位、部门、日期、身高(cm)、饮食摄入(千卡)(4子列)、运动消耗(千卡)(2子列)、体重记录(3子列)、体重报告 +- 饮食摄入子列:早餐、午餐、晚餐、加餐 +- 运动消耗子列:基础消耗、其他消耗 +- 体重记录子列:体重、体脂、腰围 **业务规则:** -- 体重变化正值红色(增重),负值绿色(减重) -- 三测状态标签:已完成(绿色)、部分完成(橙色)、未完成(红色) +- 表格较宽(min-width: 1600px),支持横向滚动 **交互说明:** -- 操作列点击"详情"打开个人指标详情抽屉弹窗 -- 弹窗内含体重趋势折线图(含初始值线和目标值线)、指标变化明细表 -- 支持导出列表数据 +- 操作列点击"体重报告"打开体重报告弹窗 +- 弹窗内含:已减重(kg)、减重率(%)、排名信息 + 报告明细表格(日期、体重(kg)、BMI、体脂率(%)、腰围(cm)、摄入(kcal)、消耗(kcal)) +- 支持导出列表数据、查看导出任务 --- @@ -699,31 +802,42 @@ stateDiagram-v2 ![页面截图](screenshots/weight-ranking.jpg) -**功能说明:** 在干预计划内按单位或员工进行体重管理效果的排名对比。 +**功能说明:** 在干预计划内按个人或单位进行体重管理效果的排名对比。 **干预计划选择区:** 标准结构 -**Tab切换(分段控件):** 二级单位 / 三级单位 +**主Tab切换:** 个人排名 / 单位排名 + +--- + +**个人排名Tab:** + +**筛选条件:** 单位部门(二级联动下拉)、姓名(输入框)、员工编号(输入框) + +**表格列(30列):** +- 干预计划、姓名、员工编号、性别、年龄、单位、部门、身高(cm)、初始体重(kg)、初始BMI、初始体脂(%)、初始腰围(cm)、目标体重(kg)、目标BMI、目标体脂(%)、目标腰围(cm)、现体重(kg)、现BMI、现体脂(%)、现腰围(cm)、体重变化(kg)、BMI变化、体脂变化(%)、腰围变化(cm)、综合得分、行动得分、减重量排名(可排序)、减重率排名(可排序)、综合分排名(可排序)、行动分排名(可排序) +- 前3列(干预计划/姓名/员工编号)左侧固定,后4列(排名)右侧固定 + +--- + +**单位排名Tab:** + +**单位层级切换(分段控件):** 二级单位 / 三级单位 **筛选条件:** 单位多选下拉(支持全选/清空) -**二级单位排名表格列:** -- 排名、单位、总人数 -- 人均减重量(kg)、人均减重率(%)、人均BMI降低 -- 排名变化(↑/↓/-,带颜色) -- 三测率(%) +**二级单位表格列(11列):** +- 干预计划、单位、参与人数、人均减重量(kg)、人均减重率、人均综合得分、人均行动得分、减重量排名(可排序)、减重率排名(可排序)、综合分排名(可排序)、行动分排名(可排序) -**三级单位排名表格列:** 在二级单位基础上增加"部门"列 +**三级单位表格列(12列):** 在二级单位基础上增加"部门"列(位于单位和参与人数之间) **业务规则:** -- 排名变化列:排名上升绿色↑、排名下降红色↓、不变灰色- -- 排名支持按各指标列排序(点击表头) -- 表格较宽,排名靠后的列(变化、三测率等)做右侧sticky固定 +- 前2-3列左侧固定,后4列排名右侧固定 +- 各排名列支持点击表头切换升降序 **交互说明:** - 点击表头排序列切换升降序 -- 排名变化hover展示上次排名数值 -- 支持导出列表数据 +- 支持导出列表数据、查看导出任务 --- @@ -731,42 +845,52 @@ stateDiagram-v2 ![页面截图](screenshots/action-overview.jpg) -**功能说明:** 以活动为维度展示干预计划下所有体重管理活动的参与情况和效果汇总。 +**功能说明:** 以员工为维度展示干预计划下所有参与人员的体重管理效果总览,包括初始/目标/当前指标、饮食运动总览和排名信息。 **干预计划选择区:** 标准结构 **筛选条件:** 单位部门(二级联动下拉)、姓名(输入框)、员工编号(输入框) -**表格列:** 活动名称、活动类型、活动日期、组织单位、应参加人数、实际参加人数、参与率、活动得分、操作 - -**业务规则:** -- 参与率 = 实际参加人数 / 应参加人数 × 100% -- 活动类型含体重测量、体脂检测、腰围测量、饮食指导、运动指导等 +**表格列(多级表头,35列):** +- 第一级(rowspan=2):干预计划、姓名、员工编号、性别、年龄、单位、部门、身高(cm)、初始体重(kg)、初始BMI、初始体脂(%)、初始腰围(cm)、目标体重(kg)、目标BMI、目标体脂(%)、目标腰围(cm)、现体重(kg)、现BMI、现体脂(%)、现腰围(cm)、体重变化(kg)、BMI变化、体脂变化(%)、腰围变化(cm) +- 第一级(colspan=4):饮食总览 +- 第一级(colspan=4):运动总览 +- 第一级(rowspan=2):减重量排名、减重率排名、赛况明细 +- 饮食总览子列:缺天、缺餐、日均摄入(千卡)、累计摄入(千卡) +- 运动总览子列:缺天、日均步数、日均消耗(千卡)、累计消耗(千卡) +- 前3列左侧固定,赛况明细列右侧固定 **交互说明:** -- 操作列点击"详情"跳转到活动详情页(action-overview-detail.html) -- 支持导出列表数据 +- 操作列点击"赛况明细"跳转到赛况明细页(action-overview-detail.html) +- 支持导出列表数据、查看导出任务 --- -### 17-1. 活动详情(action-overview-detail.html) +### 17-1. 赛况明细(action-overview-detail.html) ![页面截图](screenshots/action-overview-detail.jpg) -**功能说明:** 展示单个活动的完整详情,包括参与人员列表和活动效果数据。 +**功能说明:** 展示单个员工在干预计划中的每日详细数据,包括体重指标变化、饮食摄入、运动消耗和热量平衡。 **页面布局:** -- 面包屑导航 -- 活动信息卡片(活动名称、类型、日期、组织单位、负责人等) -- Tab切换:已参加人员 / 未参加人员(带数量角标) +- 面包屑导航:活动总览 / 赛况明细 - 员工姓名 +- 干预计划信息卡片:计划名称、组织机构、起止日期、进行天数 +- 员工信息卡片:姓名、员工编号、性别、年龄、单位部门、身高 +- 日期筛选Tab:全部 / 选时(范围选择)/ 日 / 周 / 月 / 季 / 年 -**已参加人员Tab表格列:** 姓名、员工编号、性别、年龄、所属单位、所属部门、参与时间、测量数据(体重变化/BMI变化)、活动得分 - -**未参加人员Tab表格列:** 姓名、员工编号、性别、年龄、所属单位、所属部门 +**表格列(多级表头,27列):** +- 第一级(rowspan=2):日期、身高(cm)、初始体重(kg)、初始BMI、初始体脂(%)、初始腰围(cm)、目标体重(kg)、目标BMI、目标体脂(%)、目标腰围(cm)、现体重(kg)、现BMI、现体脂(%)、现腰围(cm)、体重变化(kg)、BMI变化、体脂变化(%)、腰围变化(cm) +- 第一级(colspan=4):摄入数据(千卡) +- 第一级(colspan=3):消耗数据(千卡) +- 第一级(rowspan=2):吃动热量差(千卡)、当日减重排名 +- 摄入数据子列:早餐、午餐、晚餐、加餐 +- 消耗数据子列:基础消耗、步数、其他消耗 +- 日期列左侧固定 **交互说明:** - 面包屑导航支持返回活动总览 -- 支持导出列表数据 +- 日期筛选支持多种粒度(全部/范围/日/周/月/季/年) +- 支持导出列表数据、查看导出任务 --- @@ -774,13 +898,15 @@ stateDiagram-v2 ![页面截图](screenshots/activity-statistics.jpg) -**功能说明:** 以单位维度汇总干预计划中各项活动的统计数据。 +**功能说明:** 以干预计划维度汇总各项活动的统计数据,包括参与人数、减重指标和摄入消耗数据。 **干预计划选择区:** 标准结构 **筛选条件:** 单位多选下拉(支持全选/清空) -**表格列:** 干预计划、组织机构、起止日期、应参加人数、已参加人数、未参加人数、人均初始体重(kg)、人均初始BMI、人均现体重(kg)、人均现BMI、人均减重量(kg)、人均减重率(%)、人均综合得分、人均行动得分 +**表格列(18列):** +- 干预计划、组织机构、起止日期、应参加人数、已参加人数、未参加人数、人均初始体重(kg)、人均初始BMI、人均现体重(kg)、人均现BMI、人均减重量(kg)、活动累计减重量(kg)、人均减重率、人均BMI下降、人均每日摄入(千卡)、累计摄入(千卡)、人均每日消耗(千卡)、累计消耗(千卡) +- 前2列左侧固定 **业务规则:** - 减重量正值绿色(减重),负值红色(增重) @@ -794,21 +920,20 @@ stateDiagram-v2 ![页面截图](screenshots/recipe-record.jpg) -**功能说明:** 展示干预计划中各食堂/供餐点的餐品供应记录,辅助管理人员了解员工的饮食营养摄入情况。 +**功能说明:** 展示各食堂/供餐点的餐品供应记录,辅助管理人员了解员工的饮食营养摄入情况。 -**干预计划选择区:** 标准结构 +**筛选条件:** 食堂名称(输入框)、餐次(下拉:全部餐次/早餐/午餐/晚餐)、日期范围(默认当周周一至周日)、餐品名称(输入框) -**筛选条件:** 单位(下拉)、日期范围 +**表格列:** 单位、食堂名称、用餐日期、餐次、餐品名称 -**表格列:** 单位、食堂名称、用餐日期、餐次(早餐/午餐/晚餐/加餐)、餐品名称 +**新增记录弹窗:** +- 表单字段:单位(下拉)、食堂名称(下拉)、用餐日期(日期选择)、餐次(下拉)、餐品名称(动态列表,可添加/删除多项) -**餐品详情弹窗:** -- 餐品基本信息:名称、类别、份量 -- 营养成分表:热量(kcal)、蛋白质(g)、脂肪(g)、碳水化合物(g)、膳食纤维(g)、钠(mg) -- 食材清单 +**操作按钮:** 新增记录、批量导入、查看导入任务、导出列表数据、查看导出任务 **交互说明:** -- 点击餐品名称打开餐品详情弹窗 +- 点击"新增记录"打开新增记录弹窗 +- 餐品名称支持动态添加多个输入项 - 支持导出列表数据 --- @@ -836,7 +961,8 @@ stateDiagram-v2 **人员范围弹窗:** - 标题:人员范围 - **计划名称** -- 表格列:姓名、员工编号、性别、年龄、所属单位、所属部门、初始体重(kg)、最终体重(kg)、体重变化(kg)、是否完成目标 +- 筛选:单位部门(二级联动下拉)、姓名(输入框)、员工编号(输入框) +- 表格列:姓名、员工编号、性别、年龄、单位、部门、身高(cm)、体重(kg)、BMI --- @@ -844,16 +970,57 @@ stateDiagram-v2 ![页面截图](screenshots/history-plan-detail.jpg) -**功能说明:** 展示历史干预计划的完整详情和效果分析数据。 +**功能说明:** 展示历史干预计划的完整详情和效果分析数据,分为5个Tab模块。 **页面布局:** -- 面包屑导航:体重管理 / 历史干预 / 计划列表 / **计划名称** -- 计划信息卡片:计划名称、组织机构、起止日期、负责人、审核人等 -- 效果统计汇总卡片组:应参加/已参加/未参加人数、完成目标人数、人均减重、人均BMI降低等 -- 人员明细表格 +- 面包屑导航:体重管理 / 历史干预 / **计划名称** +- 计划概览卡片:16项指标网格(应参加人数、实际参加人数、未参加人数、完成体重目标人数、完成体脂目标人数、完成腰围目标人数、人均减重(kg)、人均减重率(%)、人均BMI降低、人均体脂降低(%)、人均腰围减少(cm)、人均每日摄入热量(kcal)、人均每日消耗热量(kcal)、人均每日能量缺口、人均综合得分、人均行动得分) +- 5个主Tab:报名管理 / 每日行动 / 总览数据 / 活动排名 / 活动信息 + +--- + +**Tab 0 — 报名管理:** +- 状态分段Tab:未提交任务书 / 已提交待审核 / 已通过待签署 / 已签署(带数量角标) +- 筛选:单位部门、姓名、员工编号 +- 表格列:姓名、员工编号、性别、年龄、所属单位、所属部门、身高(cm)、初始体重(kg)、初始BMI、初始腰围(cm)、初始体脂(%) + - 状态 ≥ 已提交 增加:目标体重(kg)、目标BMI、目标腰围(cm)、目标体脂(%)、提交时间 + - 状态 ≥ 已通过 增加:审核时间 + - 状态 = 已签署 增加:签署时间、操作(承诺书) + +**Tab 1 — 每日行动:** +- 子分段Tab:每日记录 / 三测记录 +- 每日记录筛选:日期范围、单位部门、姓名、员工编号 +- 每日记录表格(28列):姓名、员工编号、性别、年龄、单位、部门、身高(cm)、初始体重(kg)、初始BMI、初始体脂(%)、初始腰围(cm)、目标体重(kg)、目标BMI、目标体脂(%)、目标腰围(cm)、现体重(kg)、现BMI、现体脂(%)、现腰围(cm)、体重变化(kg)、BMI变化、体脂变化(%)、腰围变化(cm)、日期、饮食记录、运动记录、体重记录 +- 三测记录子Tab:体重/饮食/运动 + 全部/已记录/未记录筛选 +- 三测记录表格:姓名、员工编号、性别、年龄、单位、部门、打卡次数(可排序)、首次记录日期、末次记录日期 + +**Tab 2 — 总览数据:** +- 筛选:单位部门、姓名、员工编号 +- 表格(36列):姓名、员工编号、性别、年龄、单位、部门、联系方式、身高(cm)、初始体重(kg)、初始BMI、初始体脂(%)、初始腰围(cm)、目标体重(kg)、目标BMI、目标体脂(%)、目标腰围(cm)、最终体重(kg)、最终BMI、最终体脂(%)、最终腰围(cm)、体重变化(kg)、BMI变化、体脂变化(%)、腰围变化(cm)、吃记录天数、动记录天数、体重记录天数、日均摄入(千卡)、日均消耗(千卡)、日均热量缺口、综合得分、行动得分、减重量排名(可排序)、减重率排名(可排序)、综合分排名(可排序)、行动分排名(可排序) + +**Tab 3 — 活动排名:** +- 主分段Tab:个人排名 / 单位排名 +- 个人排名筛选:姓名、员工编号 +- 个人排名表格(19列):姓名、员工编号、性别、年龄、单位、部门、初始体重、初始BMI、现体重、现BMI、体重变化(kg)、减重率(%)、BMI变化、综合得分、行动得分、减重量排名、减重率排名、综合分排名、行动分排名(后4列可排序) +- 单位排名分段:二级单位 / 三级单位 +- 二级单位表格(10列):单位、参与人数、人均减重量(kg)、人均减重率、人均综合得分、人均行动得分、减重量排名、减重率排名、综合分排名、行动分排名 +- 三级单位表格(11列):在二级单位基础上增加"部门"列 + +**Tab 4 — 活动信息:** +- 计划基本信息:干预计划名称、人员筛选、指定部门、指定员工、是否自动提醒签订承诺书、大病员工过滤(含查看链接)、计划起止日期、组织部门、负责人、审核人 +- 通知文件列表 +- 奖励等级信息 + +**弹窗:** +- 饮食记录弹窗:序号、餐次、摄入时间、总摄入(千卡)、数据来源 +- 运动记录弹窗:序号、运动类型、运动数据、消耗(千卡)、来源 +- 体重记录弹窗:序号、记录时间、体重(kg)、BMI、体脂率(%)、腰围(cm)、来源 +- 承诺书弹窗:承诺书样式证书卡片 +- 大病人员弹窗:单位、部门、姓名、员工编号、性别、年龄、身高(cm)、体重(kg)、BMI、大病信息 **交互说明:** - 面包屑支持返回历史计划列表 +- 各Tab独立筛选和数据 - 支持导出列表数据 --- @@ -864,17 +1031,23 @@ stateDiagram-v2 **功能说明:** 以员工为维度查看所有参与过历史干预计划的人员及其干预效果数据。 -**筛选条件:** 组织机构(二级联动下拉)、姓名(输入框)、员工编号(输入框)、年份(下拉) +**筛选条件:** 姓名(输入框)、员工编号(输入框)、单位部门(二级联动下拉)、日期范围 -**表格列:** 姓名、员工编号、性别、年龄、所属单位、所属部门、参与计划数、初始体重(kg)、最终体重(kg)、体重变化(kg)、BMI变化、体脂率变化(%)、腰围变化(cm)、操作 +**表格列(多级表头,22列):** +- 第一级:姓名、员工编号、性别、年龄、单位、部门 +- 体重(kg)子列:初始、最终、变化 +- BMI子列:初始、最终、变化 +- 体脂(%)子列:初始、最终、变化 +- 腰围(cm)子列:初始、最终、变化 +- 饮食记录次数、运动记录次数、体重记录次数、详细数据 **业务规则:** - 体重变化负值绿色(减重),正值红色(增重) -- 参与计划数列点击可展开查看参与的计划明细 +- 姓名列左侧固定,详细数据列右侧固定 **交互说明:** -- 操作列点击"详情"跳转到人员详情页(history-personnel-detail.html) -- 支持导出列表数据 +- 操作列点击"查看"跳转到人员详情页(history-personnel-detail.html) +- 支持导出列表数据、查看导出任务 --- @@ -882,18 +1055,24 @@ stateDiagram-v2 ![页面截图](screenshots/history-personnel-detail.jpg) -**功能说明:** 展示单个员工在所有历史干预计划中的完整数据和效果变化。 +**功能说明:** 展示单个员工在所有历史干预计划中的完整数据和指标变化。 **页面布局:** -- 面包屑导航 -- 员工信息卡片 -- 参与历史时间轴 -- 体重变化趋势图(跨多次干预计划) -- 各干预计划效果明细表格 +- 返回链接 + 面包屑导航:人员列表 / **员工姓名** +- 员工信息卡片:头像(首字母)、姓名、员工编号、性别、年龄、单位、部门 + 日期范围筛选 +- 指标汇总卡片("体重管理指标变化"):4组指标(体重(kg)/BMI/体脂(%)/腰围(cm)),每组展示 初始 → 最终 → 变化 +- Tab切换:饮食记录 / 运动记录 / 体重记录 + +**饮食记录Tab表格列:** 时间、餐次、摄入热量(千卡)、来源(标签:智记/自记) + +**运动记录Tab表格列:** 时间、运动类型、运动时长/数据、消耗热量(千卡)、来源(标签:穿戴/微信/自记/器械) + +**体重记录Tab表格列:** 时间、体重(kg)、BMI、体脂率(%)、腰围(cm)、来源(标签:身高秤/体脂仪/蓝牙称/自记) **交互说明:** - 面包屑支持返回历史人员列表 -- 趋势图展示跨计划周期的体重变化 +- 日期范围支持按时间段筛选记录 +- 各Tab独立分页 --- @@ -905,16 +1084,16 @@ stateDiagram-v2 **功能说明:** 展示所有员工的个人体重管理目标设置情况和目标达成进度。 -**筛选条件:** 姓名(输入框)、员工编号(输入框)、单位部门(二级联动下拉) +**筛选条件:** 单位部门(二级联动下拉)、姓名(输入框)、员工编号(输入框)、是否设置个人目标(下拉:全部/已设置/未设置) **表格列(多级表头):** -- 第一级:姓名、员工编号、性别、年龄、所属单位、所属部门 -- 目标信息子列:目标起止日期、目标天数 +- 第一级:姓名、员工编号、性别、年龄、单位、部门 +- 目标周期子列:目标起止日期、目标天数 - 初始指标子列:身高(cm)、初始体重(kg)、初始BMI、初始体脂(%)、初始腰围(cm) - 目标指标子列:目标体重(kg)、目标BMI、目标体脂(%)、目标腰围(cm) - 当前指标子列:现体重(kg)、现BMI、现体脂(%)、现腰围(cm) - 变化子列:体重变化(kg)、BMI变化、体脂变化(%)、腰围变化(cm) -- 操作列:详细数据 +- 详细数据列 **业务规则:** - 变化列负值绿色(改善),正值红色(恶化) @@ -924,7 +1103,7 @@ stateDiagram-v2 **交互说明:** - 操作列点击"查看"跳转到个人目标详情页(personal-target-detail.html),通过URL参数传递员工ID -- 支持导出列表数据 +- 支持导出列表数据、查看导出任务 --- @@ -932,18 +1111,21 @@ stateDiagram-v2 ![页面截图](screenshots/personal-target-detail.jpg) -**功能说明:** 展示单个员工的目标设定详情、达成进度和历史称重记录。 +**功能说明:** 展示单个员工的目标设定详情、指标变化和每日记录明细。 **页面布局:** -- 面包屑导航 -- 员工信息卡片 -- 目标达成进度卡片(目标体重 vs 实际体重、达成率百分比) -- 体重变化趋势图(SVG折线图,含目标线) -- 历史称重记录表格:测量时间、体重(kg)、BMI、体脂率(%)、腰围(cm)、测量设备 +- 返回链接 + 面包屑导航:体重管理 / 个人体重管理 / 个人目标数据 / **员工姓名** +- 概览卡片(三栏布局): + - 左:个人信息(姓名、员工编号、性别、年龄、单位、部门) + - 中:个人目标信息(干预计划搜索下拉,选中后展示起止日期、状态、目标指标:体重/BMI/体脂率/腰围) +- 筛选条件:日期范围 +- 指标变化卡片:4组(体重(kg)/BMI/体脂率(%)/腰围(cm))展示 初始 → 当前 → 变化 +- 每日记录表格:日期、饮食记录(千卡)、运动记录(千卡)、体重(kg)、BMI、体脂率(%)、腰围(cm) **交互说明:** - 返回按钮跳转回个人目标数据列表页 -- 趋势图以SVG动态渲染 +- 干预计划选择后展示对应目标信息 +- 支持导出列表数据、查看导出任务 --- @@ -974,9 +1156,9 @@ stateDiagram-v2 **功能说明:** 汇总展示体重管理各业务模块产生的结果异常数据,支持多维度筛选。 -**筛选条件:** 员工名称(输入框)、员工编号(输入框)、单位部门(下拉)、业务模块(下拉:全部/体重管理)、年份(下拉) +**筛选条件:** 员工名称(输入框)、员工编号(输入框)、单位部门(二级联动下拉)、业务模块(下拉:全部/档案管理/计划管理/报名管理/过程管理/历史干预/个人体重管理/设备管理)、异常等级(下拉:全部/严重/中等/轻微)、年份(下拉) -**表格列:** 员工、员工编号、单位名称、部门名称、业务模块、异常指标、异常值、异常等级(标签)、异常时间 +**表格列:** 员工、员工编号、单位名称、部门名称、业务模块、异常指标、异常值、异常等级(标签)、发现时间 **业务规则:** - 异常等级标签:严重(红色)、中等(橙色)、轻微(绿色) diff --git a/web-admin/weight-management/doc/screenshots/bluetooth-monitor-detail.jpg b/web-admin/weight-management/doc/screenshots/bluetooth-monitor-detail.jpg new file mode 100644 index 0000000..6b08e97 Binary files /dev/null and b/web-admin/weight-management/doc/screenshots/bluetooth-monitor-detail.jpg differ diff --git a/web-admin/weight-management/doc/screenshots/fat-monitor-detail.jpg b/web-admin/weight-management/doc/screenshots/fat-monitor-detail.jpg new file mode 100644 index 0000000..7e26f55 Binary files /dev/null and b/web-admin/weight-management/doc/screenshots/fat-monitor-detail.jpg differ diff --git a/web-admin/weight-management/doc/screenshots/plan-list.jpg b/web-admin/weight-management/doc/screenshots/plan-list.jpg index d53c453..f3621d6 100644 Binary files a/web-admin/weight-management/doc/screenshots/plan-list.jpg and b/web-admin/weight-management/doc/screenshots/plan-list.jpg differ diff --git a/web-admin/weight-management/doc/screenshots/scale-monitor-detail.jpg b/web-admin/weight-management/doc/screenshots/scale-monitor-detail.jpg new file mode 100644 index 0000000..6f549d9 Binary files /dev/null and b/web-admin/weight-management/doc/screenshots/scale-monitor-detail.jpg differ diff --git a/web-admin/weight-management/doc/screenshots/scale-monitor.jpg b/web-admin/weight-management/doc/screenshots/scale-monitor.jpg index 84312e0..aca53fb 100644 Binary files a/web-admin/weight-management/doc/screenshots/scale-monitor.jpg and b/web-admin/weight-management/doc/screenshots/scale-monitor.jpg differ diff --git a/web-admin/weight-management/doc/screenshots/sport-monitor-detail.jpg b/web-admin/weight-management/doc/screenshots/sport-monitor-detail.jpg new file mode 100644 index 0000000..b38ba18 Binary files /dev/null and b/web-admin/weight-management/doc/screenshots/sport-monitor-detail.jpg differ diff --git a/web-admin/weight-management/plan-list.html b/web-admin/weight-management/plan-list.html index 3111b27..aedafef 100644 --- a/web-admin/weight-management/plan-list.html +++ b/web-admin/weight-management/plan-list.html @@ -225,15 +225,14 @@ tbody tr:hover td.td-actions{background:#F8FBFF;}
- -
-
- + +
+
+ -