diff --git a/employee-app/weight-management/doc/PRD.md b/employee-app/weight-management/doc/PRD.md
index 3d5bd98..d036244 100644
--- a/employee-app/weight-management/doc/PRD.md
+++ b/employee-app/weight-management/doc/PRD.md
@@ -567,13 +567,16 @@ stateDiagram-v2
**功能说明:** 为员工提供个性化运动指导方案,展示本周运动建议、周目标概览与每日运动安排。
**主要UI元素:**
-- 周历(含月历弹窗):日期用圆环标记有无运动计划
+- 周历(含月历弹窗):日期用圆环标记有无运动计划,圆环颜色区分日期类型——锻炼日绿圈、休息日橙圈,日历下方附图例说明
- 本周运动建议(可折叠):运动频率/强度建议 + 高血压/高尿酸提示条
- 本周目标概览卡片:运动天数 / 周消耗(kcal)/ 周时长(分钟)/ 休息日
-- 每日运动安排卡片:日期徽章 + 当日目标消耗/时长 + 类型标签 + 运动项列表(图标 + 名称 + 描述 + 时长/强度 + 消耗)
+- 每日运动安排卡片:日期徽章(休息日为橙色徽章)+ 当日目标消耗/时长 + 类型标签 + 运动项列表(图标 + 名称 + 描述 + 时长/强度 + 消耗)
**交互说明:**
- 点击周历日期切换查看当日运动安排;点击周历标题打开月历弹窗,可在弹窗内切换月份并点选日期
+- 月历弹窗内同样以圆环标记有计划的日期(绿圈=锻炼日、橙圈=休息日),弹窗底部附图例说明
+
+ 
- 点击运动建议标题折叠/展开
- 点击返回按钮返回上一页
diff --git a/employee-app/weight-management/doc/screenshots/exercise-advice-month.jpg b/employee-app/weight-management/doc/screenshots/exercise-advice-month.jpg
new file mode 100644
index 0000000..2df6cd1
Binary files /dev/null and b/employee-app/weight-management/doc/screenshots/exercise-advice-month.jpg differ
diff --git a/employee-app/weight-management/doc/screenshots/exercise-advice.jpg b/employee-app/weight-management/doc/screenshots/exercise-advice.jpg
index 799eac0..30ca23e 100644
Binary files a/employee-app/weight-management/doc/screenshots/exercise-advice.jpg and b/employee-app/weight-management/doc/screenshots/exercise-advice.jpg differ
diff --git a/employee-app/weight-management/exercise-advice-v2.html b/employee-app/weight-management/exercise-advice-v2.html
index 3b8b766..7f27aef 100644
--- a/employee-app/weight-management/exercise-advice-v2.html
+++ b/employee-app/weight-management/exercise-advice-v2.html
@@ -40,11 +40,20 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
.month-picker__nav:hover { background: #f0f0f0; }
.month-picker__weekdays { display: grid; grid-template-columns: repeat(7, 1fr); text-align: center; font-size: 11px; color: #bbb; margin-bottom: 6px; }
.month-picker__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; text-align: center; }
-.month-picker__day { padding: 6px 0; font-size: 13px; color: #333; border-radius: 8px; cursor: pointer; font-weight: 500; }
+.month-picker__day { position: relative; padding: 6px 0; font-size: 13px; color: #333; border-radius: 8px; cursor: pointer; font-weight: 500; }
.month-picker__day:hover { background: #f5f5f5; }
.month-picker__day--other { color: #ddd; }
.month-picker__day--today { background: #f0fff0; color: #52c41a; font-weight: 700; }
.month-picker__day--selected { background: #52c41a; color: #fff; font-weight: 700; }
+/* 圈圈区分锻炼日/休息日 */
+.month-picker__day--plan .month-picker__ring { position: absolute; top: 50%; left: 50%; width: 24px; height: 24px; margin: -12px 0 0 -12px; border-radius: 50%; border: 2px solid #52c41a; opacity: 0.55; pointer-events: none; }
+.month-picker__day--plan.month-picker__day--selected .month-picker__ring { border-color: #fff; opacity: 0.9; }
+.month-picker__day--rest .month-picker__ring { border-color: #fa8c16; }
+/* 月历弹窗图例 */
+.month-picker__legend { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-top: 8px; padding-top: 8px; border-top: 1px dashed #f0f0f0; }
+.month-picker__legend-item { display: inline-flex; align-items: center; gap: 4px; font-size: 10px; color: #999; }
+.month-picker__legend-dot { width: 10px; height: 10px; border-radius: 50%; border: 2px solid #52c41a; }
+.month-picker__legend-dot--rest { border-color: #fa8c16; }
.cal-week { display: flex; gap: 4px; }
.cal-day { flex: 1; text-align: center; padding: 6px 0; border-radius: 10px; cursor: pointer; background: #f7f8fa; transition: background .2s; }
@@ -57,8 +66,15 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
.cal-day__num { font-size: 14px; font-weight: 700; color: #333; position: relative; z-index: 2; }
.cal-day__ring { position: absolute; inset: 0; border-radius: 50%; border: 2.5px solid #52c41a; z-index: 1; opacity: 0.35; }
.cal-day.active .cal-day__ring { opacity: 1; }
+.cal-day--rest .cal-day__ring { border-color: #fa8c16; }
.cal-day.no-plan { opacity: 0.4; }
+/* 日历图例 */
+.cal-legend { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-top: 6px; padding-top: 6px; border-top: 1px dashed #f0f0f0; }
+.cal-legend__item { display: inline-flex; align-items: center; gap: 4px; font-size: 10px; color: #999; }
+.cal-legend__dot { width: 10px; height: 10px; border-radius: 50%; border: 2px solid #52c41a; }
+.cal-legend__dot--rest { border-color: #fa8c16; }
+
/* ===== 运动建议摘要卡片 ===== */
.advice-summary { background: linear-gradient(160deg, #f0fff0, #f6ffed); border-radius: 16px; margin: 10px 12px 0; padding: 14px 16px; border: 1px solid #b7ebc4; }
.advice-summary__header { display: flex; align-items: center; gap: 6px; cursor: pointer; user-select: none; }
@@ -194,9 +210,20 @@ body { background: #f0f2f5; display: flex; justify-content: center; align-items:
日一二三四五六
+
+
+ 锻炼日
+ 休息日
+
+
+
+
+ 锻炼日
+ 休息日
+
@@ -368,10 +395,12 @@ function renderWeek() {
var wd = weekDayChars[d.getDay()];
var dayNum = d.getDate();
var isToday = isSameDay(d, today);
- var hasPlan = !!weekPlans[dateStr];
+ var plan = weekPlans[dateStr];
+ var hasPlan = !!plan;
+ var isRest = hasPlan && plan.rest;
var dayEl = document.createElement('div');
- dayEl.className = 'cal-day' + (isToday ? ' today' : '') + (!hasPlan ? ' no-plan' : '');
+ dayEl.className = 'cal-day' + (isToday ? ' today' : '') + (isRest ? ' cal-day--rest' : '') + (!hasPlan ? ' no-plan' : '');
dayEl.setAttribute('data-date', dateStr);
dayEl.onclick = function() { selectDay(this); };
@@ -487,12 +516,14 @@ function renderMonthGrid() {
for (var d = 1; d <= daysInMonth; d++) {
var dateStr = pickerYear + '-' + ('0' + (pickerMonth + 1)).slice(-2) + '-' + ('0' + d).slice(-2);
+ var plan = weekPlans[dateStr];
var el = document.createElement('div');
var cls = 'month-picker__day';
if (dateStr === todayStr) cls += ' month-picker__day--today';
if (dateStr === selectedDate) cls += ' month-picker__day--selected';
+ if (plan) cls += plan.rest ? ' month-picker__day--rest' : ' month-picker__day--plan';
el.className = cls;
- el.textContent = d;
+ el.innerHTML = (plan ? '' : '') + d;
el.onclick = (function(ds) { return function(e) { e.stopPropagation(); pickDay(ds); }; })(dateStr);
grid.appendChild(el);
}
diff --git a/web-admin/weight-management/action-overview-detail.html b/web-admin/weight-management/action-overview-detail.html
index 1f8d97e..b9adf62 100644
--- a/web-admin/weight-management/action-overview-detail.html
+++ b/web-admin/weight-management/action-overview-detail.html
@@ -239,11 +239,10 @@ tbody tr:hover td:nth-child(2){background:#F8FBFF;}
摄入 (千卡) |
消耗 (千卡) |
吃动热量差 (千卡) |
- 当日减重 排名 |
- 减重量 排名 |
- 减重率 排名 |
- 综合分 排名 |
- 行动分 排名 |
+ 当日减重量 排名 |
+ 当日减重率 排名 |
+ 当日综合分 排名 |
+ 当日行动分 排名 |
@@ -386,10 +385,7 @@ function buildDetailData(emp){
// 吃动热量差 = 摄入 - 消耗
var balance = totalIntake - totalBurn;
- // 当日减重排名(1-20之间随机)
- var rank = Math.floor(Math.random() * 20) + 1;
-
- // 活动内累计排名(减重量/减重率/综合分/行动分):初始随机,逐日小幅波动模拟名次变化
+ // 排名(减重量/减重率/综合分/行动分):初始随机,逐日小幅波动模拟名次变化
if(d === 0){
cumWeightLossRank = Math.floor(Math.random() * 20) + 1;
cumWeightLossRateRank = Math.floor(Math.random() * 20) + 1;
@@ -418,7 +414,7 @@ function buildDetailData(emp){
breakfast: breakfast, lunch: lunch, dinner: dinner, snack: snack,
basalMetab: basalMetab, stepBurn: stepBurn, otherBurn: otherBurn,
totalIntake: totalIntake, totalBurn: totalBurn,
- balance: balance, rank: rank,
+ balance: balance,
weightLossRank: cumWeightLossRank, weightLossRateRank: cumWeightLossRateRank,
compositeRank: cumCompositeRank, actionRank: cumActionRank,
latestWeight: latestWeight, latestFat: latestFat, latestWaist: latestWaist
@@ -645,7 +641,7 @@ function renderTable(){
document.getElementById('pageNum').textContent = '第 ' + (currentPage + 1) + '/' + totalPages + ' 页';
if(filtered.length === 0){
- tbody.innerHTML = '| 暂无匹配的每日明细数据 |
';
+ tbody.innerHTML = '| 暂无匹配的每日明细数据 |
';
return;
}
@@ -664,14 +660,9 @@ function renderTable(){
var balCls = d.balance > 0 ? 'change-up' : (d.balance < 0 ? 'change-down' : 'change-zero');
var balSign = d.balance > 0 ? '+' : '';
- // 排名样式
- var rankHtml = '';
- if(d.rank === 1) rankHtml = '1';
- else if(d.rank === 2) rankHtml = '2';
- else if(d.rank === 3) rankHtml = '3';
- else rankHtml = ''+d.rank+'';
- // 活动内累计排名样式(前三名同样高亮)
- function cumRankHtml(v){
+ // 排名样式
+ // 当日排名样式(前三名同样高亮)
+ function cumRankHtml(v){
if(v === 1) return '1';
if(v === 2) return '2';
if(v === 3) return '3';
@@ -696,9 +687,7 @@ function renderTable(){
html += ''+d.totalBurn+' | ';
// 吃动热量差
html += ''+balSign+d.balance+' | ';
- // 当日减重排名
- html += ''+rankHtml+' | ';
- // 活动内累计排名:减重量/减重率/综合分/行动分
+ // 当日排名:减重量/减重率/综合分/行动分
html += ''+cumRankHtml(d.weightLossRank)+' | ';
html += ''+cumRankHtml(d.weightLossRateRank)+' | ';
html += ''+cumRankHtml(d.compositeRank)+' | ';
diff --git a/web-admin/weight-management/doc/PRD.md b/web-admin/weight-management/doc/PRD.md
index 63ad9da..b25ad6a 100644
--- a/web-admin/weight-management/doc/PRD.md
+++ b/web-admin/weight-management/doc/PRD.md
@@ -84,7 +84,7 @@
│ ├── 体脂仪(同上结构)
│ ├── 运动器械(同上结构)
│ ├── 员工监测数据
-│ │ └── 测量记录(含身体成分分析弹窗)
+│ │ └── 测量记录(含测量详情弹窗)
│ ├── 单位数据统计
│ │ └── 内Tab:二级单位/三级单位,数值可点击查看详情
│ └── 员工数据统计
@@ -716,10 +716,10 @@
- 员工信息卡片:姓名、员工编号、性别、年龄、单位、部门、身高
- 日期筛选Tab:全部 / 选时(范围选择)/ 日 / 周 / 月 / 季 / 年
-**表格列(单行表头,19列):**
-- 序号、日期、身高(cm)、体重(kg)、BMI、体脂(%)、腰围(cm)、体重变化(kg)、BMI变化、体脂变化(%)、腰围变化(cm)、摄入(千卡)、消耗(千卡)、吃动热量差(千卡)、当日减重排名、减重量排名、减重率排名、综合分排名、行动分排名
+**表格列(单行表头,18列):**
+- 序号、日期、身高(cm)、体重(kg)、BMI、体脂(%)、腰围(cm)、体重变化(kg)、BMI变化、体脂变化(%)、腰围变化(cm)、摄入(千卡)、消耗(千卡)、吃动热量差(千卡)、当日减重量排名、当日减重率排名、当日综合分排名、当日行动分排名
- 日期列左侧固定
-- 排名列样式:前三名高亮显示(金银铜牌样式),减重量/减重率/综合分/行动分排名为活动内累计排名
+- 排名列样式:前三名高亮显示(金银铜牌样式),减重量/减重率/综合分/行动分排名均为当日排名
**交互说明:**
- 面包屑导航支持返回活动总览
@@ -1256,19 +1256,35 @@

-**功能说明:** 展示单个员工在所有设备上的历史测量记录详情,含身体成分分析弹窗。
+**功能说明:** 展示单个员工在所有设备上的历史测量记录详情,含测量详情弹窗(按设备类型区分字段)。
**页面布局:**
- 员工信息卡片(姓名、员工编号、性别、年龄、单位/部门、本周/本月/本年/累计测量次数统计)
- 筛选条件:测量设备类型(下拉)、测量日期范围
- 测量记录表格:测量时间、测量设备、设备编码、身高(cm)、体重(kg)、BMI、基础代谢(kcal)、体脂肪量(kg)、体脂肪率(%)、体水分量(kg)、蛋白质量(kg)、操作
-**详情弹窗(身体成分分析):**
-- 基础指标:身高(cm)、体重(kg)、BMI、基础代谢、体脂肪量(kg)、体脂肪率(%)
-- 水分与蛋白质:体水分量(kg)、体水分率(%)、蛋白质量(kg)、蛋白质率(%)
-- 肌肉与骨骼:肌肉率(%)、肌肉量(kg)、体骨骼量/骨量(kg)
-- 脂肪分析:皮下脂肪率(%)、内脏脂肪等级、去脂体重(kg)
-- 其他:无机盐量/矿物质量(kg)、细胞内液(kg)、细胞外液(kg)、健康评分
+**详情弹窗(测量详情,按测量设备类型展示对应字段):**
+- 体重秤(同体重秤监测数据详情弹窗口径):
+ - 基础指标:身高(cm)、体重(kg)、BMI、体脂率(%)
+ - 身体成分:体脂肪(kg)、水分率(%)、水分量(kg)、肌肉率(%)、肌肉量(kg)、骨量(kg)、去脂体重(kg)
+ - 体态分析:内脏脂肪、体型、理想体重(kg)、超重百分比(%)、体表面积(m²)
+- 蓝牙称(同蓝牙称监测数据详情弹窗口径):
+ - 基础指标:体重(kg)、BMI、体脂率(%)、身体得分、健康评估
+ - 身体成分:水分率(%)、水分量(kg)、蛋白质率(%)、蛋白质量(kg)、体脂肪(kg)、肌肉量(kg)、肌肉率(%)、骨骼肌量(kg)、骨骼肌率(%)、骨量(kg)
+ - 脂肪分析:内脏脂肪、皮下脂肪率(%)、皮下脂肪量(kg)
+ - 体态管理:理想体重(kg)、去脂体重(kg)、身体年龄、身体类型、推测腰臀比
+ - 体重管控:控制体重(kg)、脂肪控制量(kg)、肌肉控制量(kg)
+ - 细胞液分析:细胞内水量(kg)、细胞外水量(kg)
+ - 进阶成分:无机盐量(kg)、身体细胞量(kg)、骨骼肌质量指数(kg/m²)
+ - 躯干/四肢脂肪:左右臂/左右腿/躯干的脂肪量(kg)与脂肪率(%)
+ - 躯干/四肢肌肉:左右臂/左右腿/躯干的肌肉量(kg)与肌肉率(%)
+- 体脂仪(同体脂仪监测数据详情弹窗口径):
+ - 基础指标:体重(kg)、BMI、体脂率(%)、InBody评分(分)
+ - 身体成分:体水分(L)、蛋白质(kg)、无机盐(kg)、体脂肪(kg)、去脂体重(kg)、骨骼肌量(kg)、骨骼肌指数(kg/m²)
+ - 脂肪分析:内脏脂肪等级、肥胖度(%)
+ - 节段肌肉量:右上肢(kg)、左上肢(kg)、躯干(kg)、右下肢(kg)、左下肢(kg)
+ - 节段体脂肪量:右上肢(kg)、左上肢(kg)、躯干(kg)、右下肢(kg)、左下肢(kg)
+ - 体重管理:目标体重(kg)、体重控制(kg)、脂肪控制(kg)、肌肉控制(kg)、腰臀比
**弹窗截图:**
@@ -1278,7 +1294,7 @@
- 通过URL参数加载指定员工数据
- 表格支持按设备类型和日期范围筛选
- 返回按钮跳转回员工监测数据列表页
-- 点击操作列"详情"打开身体成分分析弹窗
+- 点击操作列"详情"打开测量详情弹窗
---
diff --git a/web-admin/weight-management/doc/screenshots/action-overview-detail.jpg b/web-admin/weight-management/doc/screenshots/action-overview-detail.jpg
index e498370..4d8d751 100644
Binary files a/web-admin/weight-management/doc/screenshots/action-overview-detail.jpg and b/web-admin/weight-management/doc/screenshots/action-overview-detail.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/action-record-modal-checkin.jpg b/web-admin/weight-management/doc/screenshots/action-record-modal-checkin.jpg
index b09331b..605b796 100644
Binary files a/web-admin/weight-management/doc/screenshots/action-record-modal-checkin.jpg and b/web-admin/weight-management/doc/screenshots/action-record-modal-checkin.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/action-record-modal-cumulative.jpg b/web-admin/weight-management/doc/screenshots/action-record-modal-cumulative.jpg
index 9449b11..cd916e8 100644
Binary files a/web-admin/weight-management/doc/screenshots/action-record-modal-cumulative.jpg and b/web-admin/weight-management/doc/screenshots/action-record-modal-cumulative.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/action-record-modal-diet-recorded.jpg b/web-admin/weight-management/doc/screenshots/action-record-modal-diet-recorded.jpg
index f06e358..f2e5e93 100644
Binary files a/web-admin/weight-management/doc/screenshots/action-record-modal-diet-recorded.jpg and b/web-admin/weight-management/doc/screenshots/action-record-modal-diet-recorded.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/action-record-modal-diet.jpg b/web-admin/weight-management/doc/screenshots/action-record-modal-diet.jpg
index 3eda781..eee4a60 100644
Binary files a/web-admin/weight-management/doc/screenshots/action-record-modal-diet.jpg and b/web-admin/weight-management/doc/screenshots/action-record-modal-diet.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/action-record-modal-exercise-recorded.jpg b/web-admin/weight-management/doc/screenshots/action-record-modal-exercise-recorded.jpg
index 3ccfc0d..b5931ad 100644
Binary files a/web-admin/weight-management/doc/screenshots/action-record-modal-exercise-recorded.jpg and b/web-admin/weight-management/doc/screenshots/action-record-modal-exercise-recorded.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/action-record-modal-exercise.jpg b/web-admin/weight-management/doc/screenshots/action-record-modal-exercise.jpg
index 23ac82e..84d9e3c 100644
Binary files a/web-admin/weight-management/doc/screenshots/action-record-modal-exercise.jpg and b/web-admin/weight-management/doc/screenshots/action-record-modal-exercise.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/action-record-modal-unit-detail.jpg b/web-admin/weight-management/doc/screenshots/action-record-modal-unit-detail.jpg
index 6b44f04..d549847 100644
Binary files a/web-admin/weight-management/doc/screenshots/action-record-modal-unit-detail.jpg and b/web-admin/weight-management/doc/screenshots/action-record-modal-unit-detail.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/action-record-modal-weight-recorded.jpg b/web-admin/weight-management/doc/screenshots/action-record-modal-weight-recorded.jpg
index ef6b74f..296e9cd 100644
Binary files a/web-admin/weight-management/doc/screenshots/action-record-modal-weight-recorded.jpg and b/web-admin/weight-management/doc/screenshots/action-record-modal-weight-recorded.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/action-record-modal-weight.jpg b/web-admin/weight-management/doc/screenshots/action-record-modal-weight.jpg
index 8c2c331..784c9dd 100644
Binary files a/web-admin/weight-management/doc/screenshots/action-record-modal-weight.jpg and b/web-admin/weight-management/doc/screenshots/action-record-modal-weight.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/dept-stat-modal-unit-detail.jpg b/web-admin/weight-management/doc/screenshots/dept-stat-modal-unit-detail.jpg
index 85ba874..f791063 100644
Binary files a/web-admin/weight-management/doc/screenshots/dept-stat-modal-unit-detail.jpg and b/web-admin/weight-management/doc/screenshots/dept-stat-modal-unit-detail.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/employee-data-record-modal-detail.jpg b/web-admin/weight-management/doc/screenshots/employee-data-record-modal-detail.jpg
index 2ab7e34..e0a69d1 100644
Binary files a/web-admin/weight-management/doc/screenshots/employee-data-record-modal-detail.jpg and b/web-admin/weight-management/doc/screenshots/employee-data-record-modal-detail.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/employee-data-record.jpg b/web-admin/weight-management/doc/screenshots/employee-data-record.jpg
index 62b73ce..be82931 100644
Binary files a/web-admin/weight-management/doc/screenshots/employee-data-record.jpg and b/web-admin/weight-management/doc/screenshots/employee-data-record.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/employee-stat-modal-usage.jpg b/web-admin/weight-management/doc/screenshots/employee-stat-modal-usage.jpg
index 8069b9b..83fd686 100644
Binary files a/web-admin/weight-management/doc/screenshots/employee-stat-modal-usage.jpg and b/web-admin/weight-management/doc/screenshots/employee-stat-modal-usage.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/history-plan-detail-modal-checkin.jpg b/web-admin/weight-management/doc/screenshots/history-plan-detail-modal-checkin.jpg
index 2a844a9..fe8e327 100644
Binary files a/web-admin/weight-management/doc/screenshots/history-plan-detail-modal-checkin.jpg and b/web-admin/weight-management/doc/screenshots/history-plan-detail-modal-checkin.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/history-plan-list-modal-staff.jpg b/web-admin/weight-management/doc/screenshots/history-plan-list-modal-staff.jpg
index 54f7576..3c9e4de 100644
Binary files a/web-admin/weight-management/doc/screenshots/history-plan-list-modal-staff.jpg and b/web-admin/weight-management/doc/screenshots/history-plan-list-modal-staff.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/personnel-measure-record-modal-cumulative.jpg b/web-admin/weight-management/doc/screenshots/personnel-measure-record-modal-cumulative.jpg
index 22157e1..9b97582 100644
Binary files a/web-admin/weight-management/doc/screenshots/personnel-measure-record-modal-cumulative.jpg and b/web-admin/weight-management/doc/screenshots/personnel-measure-record-modal-cumulative.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/personnel-measure-record-modal-diet.jpg b/web-admin/weight-management/doc/screenshots/personnel-measure-record-modal-diet.jpg
index 816b4c0..3ba1c9d 100644
Binary files a/web-admin/weight-management/doc/screenshots/personnel-measure-record-modal-diet.jpg and b/web-admin/weight-management/doc/screenshots/personnel-measure-record-modal-diet.jpg differ
diff --git a/web-admin/weight-management/employee-data-record.html b/web-admin/weight-management/employee-data-record.html
index bd2728f..219b765 100644
--- a/web-admin/weight-management/employee-data-record.html
+++ b/web-admin/weight-management/employee-data-record.html
@@ -186,11 +186,11 @@
| 序号 | 测量时间 | 测量设备 | 设备编码 | 身高(cm) | 体重(kg) | BMI | 基础代谢(kcal) | 体脂肪量(kg) | 体脂肪率(%) | 体水分量(kg) | 蛋白质量(kg) | 操作 |
- | 1 | 2024-05-10 08:30 | 体重秤 | SC-2024-001 | 175 | 72.5 | 23.7 | 1680 | 13.2 | 18.2 | 40.1 | 11.6 | 详细信息 |
- | 2 | 2024-05-08 07:45 | 体脂仪 | FT-2024-002 | 175 | 72.8 | 23.8 | 1675 | 13.4 | 18.4 | 39.8 | 11.5 | 详细信息 |
- | 3 | 2024-05-06 18:20 | 蓝牙称 | BT-2024-003 | 175 | 73.0 | 23.8 | 1682 | 13.5 | 18.5 | 40.0 | 11.6 | 详细信息 |
- | 4 | 2024-05-04 08:10 | 体重秤 | SC-2024-001 | 175 | 72.3 | 23.6 | 1678 | 13.1 | 18.1 | 40.2 | 11.7 | 详细信息 |
- | 5 | 2024-05-02 09:00 | 体脂仪 | FT-2024-002 | 175 | 73.2 | 23.9 | 1685 | 13.6 | 18.6 | 39.9 | 11.5 | 详细信息 |
+ | 1 | 2026-05-13 08:30 | 体重秤 | SC-2024-001 | 175 | 72.5 | 23.7 | 1,680 | 15.2 | 21.0 | 38.6 | 8.5 | 详细信息 |
+ | 2 | 2026-05-11 07:45 | 体脂仪 | FT-2024-002 | 175 | 72.5 | 23.7 | 1,680 | 15.2 | 21.0 | 38.6 | 8.5 | 详细信息 |
+ | 3 | 2026-05-06 18:20 | 蓝牙称 | BT-2024-003 | 175 | 72.5 | 23.7 | 1,680 | 15.2 | 21.0 | 40.0 | 12.2 | 详细信息 |
+ | 4 | 2026-05-04 08:10 | 体重秤 | SC-2024-001 | 175 | 72.5 | 23.7 | 1,680 | 15.2 | 21.0 | 38.6 | 8.5 | 详细信息 |
+ | 5 | 2026-05-02 09:00 | 体脂仪 | FT-2024-002 | 175 | 72.5 | 23.7 | 1,680 | 15.2 | 21.0 | 38.6 | 8.5 | 详细信息 |
@@ -218,11 +218,11 @@ function toggleSubgroup(h){var p=h.parentElement;var sidebar=p.closest("aside");
(function(){var a=document.querySelector('.sidebar-item.active');if(!a)return;var sidebar=document.querySelector('aside');if(sidebar)sidebar.querySelectorAll('.sidebar-subgroup.open').forEach(function(g){g.classList.remove('open');});var s=a.closest('.sidebar-subgroup');if(s)s.classList.add('open');})();
var records=[
- {device:'体重秤',code:'SC-2024-001',time:'2024-05-10 08:30',data:{"基础指标":{"身高(cm)":"175","体重(kg)":"72.5","BMI":"23.7","基础代谢":"1,680","体脂肪量(kg)":"13.2","体脂肪率(%)":"18.2"},"水分与蛋白质":{"体水分量(kg)":"40.1","体水分率(%)":"55.3","蛋白质量(kg)":"11.6","蛋白质率(%)":"16.0"},"肌肉与骨骼":{"肌肉率(%)":"77.0","肌肉量(kg)":"55.8","体骨骼量/骨量(kg)":"2.9"},"脂肪分析":{"皮下脂肪率(%)":"14.9","内脏脂肪等级":"6","去脂体重(kg)":"59.3"},"其他":{"无机盐量/矿物质量(kg)":"3.5","细胞内液(kg)":"25.2","细胞外液(kg)":"14.9","健康评分":"78"}}},
- {device:'体脂仪',code:'FT-2024-002',time:'2024-05-08 07:45',data:{"基础指标":{"身高(cm)":"175","体重(kg)":"72.8","BMI":"23.8","基础代谢":"1,675","InBody评分(分)":"65"},"体脂分析":{"体脂肪量(kg)":"13.4","体脂肪率(%)":"18.4","内脏脂肪等级":"6","肥胖度(%)":"112","去脂体重(kg)":"59.4"},"体成分":{"体水分(L)":"43.5","蛋白质(kg)":"11.5","无机盐(kg)":"4.05","骨骼肌量(kg)":"33.2","骨骼肌指数(kg)":"8.6"},"体重管理":{"目标体重(kg)":"70.0","体重控制(kg)":"-2.8","脂肪控制(kg)":"-5.4","肌肉控制(kg)":"2.6","腰臀比(%)":"0.88"},"节段脂肪":{"左上肢(kg)":"1.8","左下肢(kg)":"3.5","右上肢(kg)":"1.7","右下肢(kg)":"3.6","躯干(kg)":"2.8"},"节段肌肉":{"左上肢(kg)":"3.3","左下肢(kg)":"9.0","右上肢(kg)":"3.4","右下肢(kg)":"9.2","躯干(kg)":"26.5"}}},
- {device:'蓝牙称',code:'BT-2024-003',time:'2024-05-06 18:20',data:{"基础指标":{"身高(cm)":"175","体重(kg)":"73.0","BMI":"23.8","基础代谢":"1,682","体脂肪量(kg)":"13.5","体脂肪率(%)":"18.5"},"水分与蛋白质":{"体水分量(kg)":"40.0","体水分率(%)":"54.8","蛋白质量(kg)":"11.6","蛋白质率(%)":"15.9"},"肌肉与骨骼":{"体肌肉量(kg)":"55.6","体肌肉率(%)":"76.2","体骨骼量(kg)":"2.9"},"脂肪分析":{"皮下脂肪量(kg)":"11.0","皮下脂肪率(%)":"15.1","除脂肪量(kg)":"59.5"},"细胞液":{"细胞外液量(L)":"14.8","细胞外液率(%)":"37.0","细胞内液量(L)":"25.2","细胞内液率(%)":"63.0"},"其他":{"矿物质量(kg)":"3.4"}}},
- {device:'体重秤',code:'SC-2024-001',time:'2024-05-04 08:10',data:{"基础指标":{"身高(cm)":"175","体重(kg)":"72.3","BMI":"23.6","基础代谢":"1,678","体脂肪量(kg)":"13.1","体脂肪率(%)":"18.1"},"水分与蛋白质":{"体水分量(kg)":"40.2","体水分率(%)":"55.6","蛋白质量(kg)":"11.7","蛋白质率(%)":"16.2"},"肌肉与骨骼":{"肌肉率(%)":"77.3","肌肉量(kg)":"55.9","体骨骼量/骨量(kg)":"3.0"},"脂肪分析":{"皮下脂肪率(%)":"14.7","内脏脂肪等级":"5","去脂体重(kg)":"59.2"},"其他":{"无机盐量/矿物质量(kg)":"3.5","细胞内液(kg)":"25.4","细胞外液(kg)":"14.8","健康评分":"80"}}},
- {device:'体脂仪',code:'FT-2024-002',time:'2024-05-02 09:00',data:{"基础指标":{"身高(cm)":"175","体重(kg)":"73.2","BMI":"23.9","基础代谢":"1,685","InBody评分(分)":"63"},"体脂分析":{"体脂肪量(kg)":"13.6","体脂肪率(%)":"18.6","内脏脂肪等级":"6","肥胖度(%)":"114","去脂体重(kg)":"59.6"},"体成分":{"体水分(L)":"43.8","蛋白质(kg)":"11.5","无机盐(kg)":"4.08","骨骼肌量(kg)":"33.4","骨骼肌指数(kg)":"8.7"},"体重管理":{"目标体重(kg)":"70.0","体重控制(kg)":"-3.2","脂肪控制(kg)":"-5.6","肌肉控制(kg)":"2.4","腰臀比(%)":"0.89"},"节段脂肪":{"左上肢(kg)":"1.9","左下肢(kg)":"3.6","右上肢(kg)":"1.8","右下肢(kg)":"3.7","躯干(kg)":"2.6"},"节段肌肉":{"左上肢(kg)":"3.3","左下肢(kg)":"9.1","右上肢(kg)":"3.5","右下肢(kg)":"9.3","躯干(kg)":"26.8"}}}
+ {device:'体重秤',code:'SC-2024-001',time:'2026-05-13 08:30',data:{"基础指标":{"身高(cm)":"175","体重(kg)":"72.5","BMI":"23.7","体脂率(%)":"21.0"},"身体成分":{"体脂肪(kg)":"15.2","水分率(%)":"53.2","水分量(kg)":"38.6","肌肉率(%)":"42.6","肌肉量(kg)":"30.9","骨量(kg)":"3.1","去脂体重(kg)":"57.3"},"体态分析":{"内脏脂肪":"6","体型":"标准型","理想体重(kg)":"70.2","超重百分比(%)":"3.3","体表面积(m²)":"1.88"}}},
+ {device:'体脂仪',code:'FT-2024-002',time:'2026-05-11 07:45',data:{"基础指标":{"体重(kg)":"72.5","BMI":"23.7","体脂率(%)":"21.0","InBody评分(分)":"82"},"身体成分":{"体水分(L)":"38.6","蛋白质(kg)":"8.5","无机盐(kg)":"4.11","体脂肪(kg)":"15.2","去脂体重(kg)":"57.3","骨骼肌量(kg)":"33.6","骨骼肌指数(kg/m²)":"8.8"},"脂肪分析":{"内脏脂肪等级":"6","肥胖度(%)":"147"},"节段肌肉量":{"右上肢(kg)":"3.50","左上肢(kg)":"3.35","躯干(kg)":"26.9","右下肢(kg)":"9.40","左下肢(kg)":"9.11"},"节段体脂肪量":{"右上肢(kg)":"2.6","左上肢(kg)":"2.7","躯干(kg)":"17.5","右下肢(kg)":"4.8","左下肢(kg)":"4.7"},"体重管理":{"目标体重(kg)":"70.2","体重控制(kg)":"-2.3","脂肪控制(kg)":"-3.1","肌肉控制(kg)":"+0.8","腰臀比":"0.88"}}},
+ {device:'蓝牙称',code:'BT-2024-003',time:'2026-05-06 18:20',data:{"基础指标":{"体重(kg)":"72.5","BMI":"23.7","体脂率(%)":"21.0","身体得分":"76","健康评估":"良好"},"身体成分":{"水分率(%)":"55.2","水分量(kg)":"40.0","蛋白质率(%)":"16.8","蛋白质量(kg)":"12.2","体脂肪(kg)":"15.2","肌肉量(kg)":"52.3","肌肉率(%)":"72.1","骨骼肌量(kg)":"31.6","骨骼肌率(%)":"43.6","骨量(kg)":"3.2"},"脂肪分析":{"内脏脂肪":"6","皮下脂肪率(%)":"18.5","皮下脂肪量(kg)":"13.4"},"体态管理":{"理想体重(kg)":"68.4","去脂体重(kg)":"57.3","身体年龄":"32","身体类型":"标准型","推测腰臀比":"0.85"},"体重管控":{"控制体重(kg)":"4.1","脂肪控制量(kg)":"3.6","肌肉控制量(kg)":"0.5"},"细胞液分析":{"细胞内水量(kg)":"24.6","细胞外水量(kg)":"15.4"},"进阶成分":{"无机盐量(kg)":"4.35","身体细胞量(kg)":"36.8","骨骼肌质量指数(kg/m²)":"10.3"},"躯干/四肢脂肪":{"左臂脂肪量(kg)":"0.9","左臂脂肪率(%)":"21.5","右臂脂肪量(kg)":"0.9","右臂脂肪率(%)":"21.2","左腿脂肪量(kg)":"2.4","左腿脂肪率(%)":"20.8","右腿脂肪量(kg)":"2.4","右腿脂肪率(%)":"20.6","躯干脂肪量(kg)":"8.6","躯干脂肪率(%)":"22.3"},"躯干/四肢肌肉":{"左臂肌肉量(kg)":"2.9","左臂肌肉率(%)":"95.2","右臂肌肉量(kg)":"3.0","右臂肌肉率(%)":"96.1","左腿肌肉量(kg)":"9.8","左腿肌肉率(%)":"98.5","右腿肌肉量(kg)":"9.9","右腿肌肉率(%)":"98.2","躯干肌肉量(kg)":"26.7","躯干肌肉率(%)":"97.4"}}},
+ {device:'体重秤',code:'SC-2024-001',time:'2026-05-04 08:10',data:{"基础指标":{"身高(cm)":"175","体重(kg)":"72.5","BMI":"23.7","体脂率(%)":"21.0"},"身体成分":{"体脂肪(kg)":"15.2","水分率(%)":"53.2","水分量(kg)":"38.6","肌肉率(%)":"42.6","肌肉量(kg)":"30.9","骨量(kg)":"3.1","去脂体重(kg)":"57.3"},"体态分析":{"内脏脂肪":"6","体型":"标准型","理想体重(kg)":"70.2","超重百分比(%)":"3.3","体表面积(m²)":"1.88"}}},
+ {device:'体脂仪',code:'FT-2024-002',time:'2026-05-02 09:00',data:{"基础指标":{"体重(kg)":"72.5","BMI":"23.7","体脂率(%)":"21.0","InBody评分(分)":"82"},"身体成分":{"体水分(L)":"38.6","蛋白质(kg)":"8.5","无机盐(kg)":"4.11","体脂肪(kg)":"15.2","去脂体重(kg)":"57.3","骨骼肌量(kg)":"33.6","骨骼肌指数(kg/m²)":"8.8"},"脂肪分析":{"内脏脂肪等级":"6","肥胖度(%)":"147"},"节段肌肉量":{"右上肢(kg)":"3.50","左上肢(kg)":"3.35","躯干(kg)":"26.9","右下肢(kg)":"9.40","左下肢(kg)":"9.11"},"节段体脂肪量":{"右上肢(kg)":"2.6","左上肢(kg)":"2.7","躯干(kg)":"17.5","右下肢(kg)":"4.8","左下肢(kg)":"4.7"},"体重管理":{"目标体重(kg)":"70.2","体重控制(kg)":"-2.3","脂肪控制(kg)":"-3.1","肌肉控制(kg)":"+0.8","腰臀比":"0.88"}}}
];
function openModal(idx){