diff --git a/employee-app/weight-management/doc/PRD.md b/employee-app/weight-management/doc/PRD.md
index 9e426ba..3d5bd98 100644
--- a/employee-app/weight-management/doc/PRD.md
+++ b/employee-app/weight-management/doc/PRD.md
@@ -409,7 +409,7 @@ stateDiagram-v2
**功能说明:** 展示每日饮食摄入记录,含周/月历、总摄入标尺、营养素摄入和三餐/加餐明细。
**主要UI元素:**
-- 周历(含月历弹窗):日期用彩色圆环标记数据来源(智记餐/自记餐/智记+自记餐)
+- 周历(含月历弹窗):日期用彩色圆环标记数据来源(智记餐/自记餐/智记+自记餐),圆环下方显示来源文字标签(智 / 自 / 智+自)
- 月历弹窗:月份标题 + 前后月份切换箭头(◀/▶)+ 当月日期网格(今日/选中态高亮,点选日期后关闭弹窗并切换当日数据)——第 11/13/14/15/18 节各页月历弹窗构成相同

@@ -493,24 +493,25 @@ stateDiagram-v2
**功能说明:** 展示每日运动消耗记录,含周/月历、总消耗标尺、运动统计、变化趋势与运动明细。
**主要UI元素:**
-- 周历(含月历弹窗):日期用彩色圆环标记来源(穿戴/器械/微信/自记/多途径)
+- 周历(含月历弹窗):日期用彩色圆环标记来源(穿戴/器械/微信/自记/多途径),圆环下方显示来源文字标签(穿戴/器械/微信/自记/多途径)
- 总消耗标尺:半圆进度弧,左端基础消耗、右端活动消耗、中心总消耗(实际/推荐),右上"智能运动计划"按钮
- 运动统计三列:今日步数 / 运动次数 / 运动时长
+- 数据来源卡片:四张来源小卡(穿戴·步数 / 器械·千卡 / 微信·步数(右上角"同步"按钮)/ 自记·步数),未记录时显示“尚未记录”,点击自记卡片跳转运动录入页(exercise-checkin-v2.html)
- 变化趋势卡片:时间范围(周/月/季/年/活动期间)+ 三 Tab(步数趋势/消耗趋势/时长趋势)+ 折线图(数据点悬浮提示)
- 运动明细列表:按日期分组,每条含运动名、消耗、运动详情、来源徽章
-- 底部工具栏:"记录运动"按钮
**交互说明:**
- 点击周历日期切换查看当日数据;点击周历标题打开月历弹窗,可在弹窗内切换月份并点选日期
- 点击趋势 Tab 切换趋势图表(步数/消耗/时长);点击时间范围 Tab 切换运动明细列表的时间范围
- 点击折线数据点显示悬浮提示
- 点击"智能运动计划"跳转到智能运动计划页(exercise-advice-v2.html)
-- 点击"记录运动"跳转到运动录入页(exercise-checkin-v2.html)
+- 点击数据来源卡片:穿戴/器械/微信显示当日该来源运动数据,微信卡片右上角"同步"按钮触发微信运动数据同步,自记卡片跳转到运动录入页(exercise-checkin-v2.html)
- 点击返回按钮返回上一页
**业务规则:**
-- 无记录日期统计三列隐藏、标尺置灰
-
+- 日期无记录时,步数/运动/运动时长统计三列隐藏、标尺置灰
+- 原"记录运动"底部按钮已移除,记录入口收敛至数据来源卡片的"自记"卡片
+- 动打卡数据来源共有四种:穿戴设备、微信步数、自记运动、运动器械,记录运动数据时需注意以下两点:1.需要对步数数据特殊处理,步数取穿戴设备、微信步数、自记运动(慢、中、快产生的数据总和)三种来源中的最大值(注意三种来源的步数和热量不能累计)。2.穿戴设备、微信步数数据均存在延迟补录的情况,系统至多允许补录前一天的数据(定时修正前一天的行动状态和排名数据),再早的数据补传后不计入体重管理行动;
---
### 14. 今日饮食建议(diet-advice-v2.html)
@@ -646,14 +647,14 @@ stateDiagram-v2

-**功能说明:** 展示体重/体脂/腰围历史记录,含周/月历、当日最新记录、变化趋势与记录明细,非自记来源记录可跳转详细报告。
+**功能说明:** 展示体重/体脂/腰围历史记录,含周/月历、当日最新记录、数据来源卡片、变化趋势与记录明细,非自记来源记录可跳转详细报告。
**主要UI元素:**
-- 周历(含月历弹窗):日期用彩色圆环标记来源(自记/蓝牙称/身高秤/体脂仪)
+- 周历(含月历弹窗):日期用彩色圆环标记来源(自记/蓝牙称/体重秤/体脂仪),圆环下方显示来源文字标签(自记/蓝牙称/体重秤/体脂仪)
- 当日最新记录区:体重(大字)+ 较上次变化 + BMI(含偏瘦/正常/超重/肥胖标签)+ 体脂率/腰围 + 时间 + 来源标签
+- 数据来源卡片:四张来源小卡(体重秤/蓝牙称/体脂仪/自记,各显示该来源最近一次体重值,无记录显示"尚未记录"),点击体重秤/蓝牙称/体脂仪卡片查看当日该来源体重记录,点击自记卡片打开记录体重弹窗
- 变化趋势卡片:时间范围(周/月/季/年/活动期间)+ 三 Tab(体重变化/体脂变化/腰围变化),各含统计行(平均/最大/最小/变化)+ 折线图(初始线/目标线/推荐范围/实际趋势 + 数据点悬浮提示)
- 记录明细列表:日期 + 时间 + 体重 + 体脂/腰围 + 来源标签;非自记来源带箭头可点击
-- 底部工具栏:"记录体重"按钮
- 记录体重弹窗:记录体重(必填)+ 记录体脂率(开关)+ 记录腰围(开关),滑动尺子调整数值 + 保存

@@ -662,14 +663,15 @@ stateDiagram-v2
- 点击周历日期切换查看当日数据;点击周历标题打开月历弹窗,可在弹窗内切换月份并点选日期
- 点击指标 Tab(体重/体脂/腰围变化)切换趋势图表;点击时间范围 Tab 切换记录明细列表的时间范围
- 点击折线数据点显示悬浮提示
-- 点击非自记记录行跳转到详细报告页(蓝牙称跳 report-detail.html,体脂仪跳 body-fat-report.html,身高秤跳 height-scale-report.html)
-- 点击"记录体重"打开记录弹窗
+- 点击非自记记录行跳转到详细报告页(蓝牙称跳 report-detail.html,体脂仪跳 body-fat-report.html,体重秤跳 height-scale-report.html)
+- 点击数据来源卡片:体重秤/蓝牙称/体脂仪查看当日该来源体重记录(原型中以提示示意),自记卡片打开记录体重弹窗
- 点击返回按钮返回上一页
**业务规则:**
- 无记录日期显示空状态("立即称重"按钮)
- BMI 分档:<18.5 偏瘦 / 18.5-24 正常 / 24-28 超重 / ≥28 肥胖
-- 非自记来源(蓝牙称/身高秤/体脂仪)记录可点击查看详细报告,自记不可点击;蓝牙称跳 report-detail.html,体脂仪跳 body-fat-report.html,身高秤跳 height-scale-report.html
+- 非自记来源(蓝牙称/体重秤/体脂仪)记录可点击查看详细报告,自记不可点击;蓝牙称跳 report-detail.html,体脂仪跳 body-fat-report.html,体重秤跳 height-scale-report.html
+- 原"记录体重"底部按钮已移除,记录入口收敛至数据来源卡片的"自记"卡片;原"身高秤"来源在本页统一更名为"体重秤"(对应报告页 height-scale-report.html 仍为身高秤报告)
- 当日最新记录与上一次记录对比显示变化,无历史记录时显示"首次记录"
---
@@ -694,7 +696,7 @@ stateDiagram-v2
| 蓝牙秤(device=bluetooth) | 基础指标、身体成分、脂肪分析、体态管理、体重管控、细胞液分析(8电极)、进阶成分(8电极)、躯干/四肢脂肪(8电极)、躯干/四肢肌肉(8电极) |
| 体脂仪(device=fat) | 基础指标、体脂分析、体成分、体重管理、节段脂肪、节段肌肉 |
-注:体重记录页中"身高秤"来源的记录已改跳转至独立页面 height-scale-report.html,"体脂仪"来源的记录已改跳转至 body-fat-report.html,本页 device=fat / device=scale 模式保留用于兼容。
+注:体重记录页中"体重秤"(原身高秤)来源的记录已改跳转至独立页面 height-scale-report.html,"体脂仪"来源的记录已改跳转至 body-fat-report.html,本页 device=fat / device=scale 模式保留用于兼容。
**交互说明:**
- 点击返回按钮返回来源页
@@ -732,7 +734,7 @@ stateDiagram-v2
**功能说明:** 展示身高秤单次测量的身体成分报告,含身高、体重及身体成分、体态相关指标。
-**页面状态:** 从体重记录页(weight-detail-v2.html)记录明细列表中身高秤来源的记录跳转进入,页面只读。
+**页面状态:** 从体重记录页(weight-detail-v2.html)记录明细列表中体重秤(原身高秤)来源的记录跳转进入,页面只读。
**主要UI元素:**
- 报告头部(蓝青渐变卡片):测量时间、设备标签「身高秤」、当前体重(大字)、BMI 状态标签、较上次变化
diff --git a/employee-app/weight-management/doc/screenshots/eat-detail.jpg b/employee-app/weight-management/doc/screenshots/eat-detail.jpg
index b1cc424..4e672e7 100644
Binary files a/employee-app/weight-management/doc/screenshots/eat-detail.jpg and b/employee-app/weight-management/doc/screenshots/eat-detail.jpg differ
diff --git a/employee-app/weight-management/doc/screenshots/exercise-detail.jpg b/employee-app/weight-management/doc/screenshots/exercise-detail.jpg
index 5da6339..32cf8cd 100644
Binary files a/employee-app/weight-management/doc/screenshots/exercise-detail.jpg and b/employee-app/weight-management/doc/screenshots/exercise-detail.jpg differ
diff --git a/employee-app/weight-management/doc/screenshots/weight-detail.jpg b/employee-app/weight-management/doc/screenshots/weight-detail.jpg
index ca29b62..322bec0 100644
Binary files a/employee-app/weight-management/doc/screenshots/weight-detail.jpg and b/employee-app/weight-management/doc/screenshots/weight-detail.jpg differ
diff --git a/web-admin/weight-management/action-overview-detail.html b/web-admin/weight-management/action-overview-detail.html
index c3a011f..1f8d97e 100644
--- a/web-admin/weight-management/action-overview-detail.html
+++ b/web-admin/weight-management/action-overview-detail.html
@@ -240,6 +240,10 @@ tbody tr:hover td:nth-child(2){background:#F8FBFF;}
消耗 (千卡) |
吃动热量差 (千卡) |
当日减重 排名 |
+ 减重量 排名 |
+ 减重率 排名 |
+ 综合分 排名 |
+ 行动分 排名 |
@@ -328,6 +332,8 @@ function getParam(name){
/* ===== 生成每日明细Mock数据 ===== */
function buildDetailData(emp){
var data = [];
+ // 活动内累计排名(跨日期循环使用)
+ var cumWeightLossRank = 0, cumWeightLossRateRank = 0, cumCompositeRank = 0, cumActionRank = 0;
// 使用活动起止日期生成每日数据
var dateFrom = new Date(plan.dateFrom);
var dateTo = new Date(plan.dateTo);
@@ -383,6 +389,20 @@ function buildDetailData(emp){
// 当日减重排名(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;
+ cumCompositeRank = Math.floor(Math.random() * 20) + 1;
+ cumActionRank = Math.floor(Math.random() * 20) + 1;
+ } else {
+ function drift(v){ return Math.min(20, Math.max(1, v + (Math.random() < 0.5 ? -1 : 1) * (Math.random() < 0.7 ? 1 : 0))); }
+ cumWeightLossRank = drift(cumWeightLossRank);
+ cumWeightLossRateRank = drift(cumWeightLossRateRank);
+ cumCompositeRank = drift(cumCompositeRank);
+ cumActionRank = drift(cumActionRank);
+ }
+
// 体重记录(最新测量值,带轻微波动)
var latestWeight = +(curWeight + (Math.random() - 0.3) * 0.5).toFixed(1);
var latestFat = +(curFat + (Math.random() - 0.5) * 0.4).toFixed(1);
@@ -399,6 +419,8 @@ function buildDetailData(emp){
basalMetab: basalMetab, stepBurn: stepBurn, otherBurn: otherBurn,
totalIntake: totalIntake, totalBurn: totalBurn,
balance: balance, rank: rank,
+ weightLossRank: cumWeightLossRank, weightLossRateRank: cumWeightLossRateRank,
+ compositeRank: cumCompositeRank, actionRank: cumActionRank,
latestWeight: latestWeight, latestFat: latestFat, latestWaist: latestWaist
});
}
@@ -623,7 +645,7 @@ function renderTable(){
document.getElementById('pageNum').textContent = '第 ' + (currentPage + 1) + '/' + totalPages + ' 页';
if(filtered.length === 0){
- tbody.innerHTML = '| 暂无匹配的每日明细数据 |
';
+ tbody.innerHTML = '| 暂无匹配的每日明细数据 |
';
return;
}
@@ -648,6 +670,13 @@ function renderTable(){
else if(d.rank === 2) rankHtml = '2';
else if(d.rank === 3) rankHtml = '3';
else rankHtml = ''+d.rank+'';
+ // 活动内累计排名样式(前三名同样高亮)
+ function cumRankHtml(v){
+ if(v === 1) return '1';
+ if(v === 2) return '2';
+ if(v === 3) return '3';
+ return ''+v+'';
+ }
html += '';
html += '| '+(i+1)+' | ';
@@ -669,6 +698,11 @@ function renderTable(){
html += ''+balSign+d.balance+' | ';
// 当日减重排名
html += ''+rankHtml+' | ';
+ // 活动内累计排名:减重量/减重率/综合分/行动分
+ html += ''+cumRankHtml(d.weightLossRank)+' | ';
+ html += ''+cumRankHtml(d.weightLossRateRank)+' | ';
+ html += ''+cumRankHtml(d.compositeRank)+' | ';
+ html += ''+cumRankHtml(d.actionRank)+' | ';
html += '
';
});
tbody.innerHTML = html;
diff --git a/web-admin/weight-management/action-overview.html b/web-admin/weight-management/action-overview.html
index 1a4570a..afc86d8 100644
--- a/web-admin/weight-management/action-overview.html
+++ b/web-admin/weight-management/action-overview.html
@@ -101,6 +101,13 @@ thead th{background:#FAFAFA;padding:8px 6px;text-align:center;font-size:var(--fo
thead th.th-parent{background:#F0F2F5;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border);}
thead th.th-divider{border-right:2px solid var(--border);}
+/* 排名可排序列 */
+.th-sortable{cursor:pointer;user-select:none;position:relative;padding-right:18px !important;}
+.th-sortable:hover{color:var(--primary);}
+.th-sortable .sort-icon{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;line-height:1;font-size:9px;color:var(--text-placeholder);}
+.th-sortable .sort-icon span{line-height:1;}
+.th-sortable.asc .sort-icon .sort-up,.th-sortable.desc .sort-icon .sort-down{color:var(--primary);}
+
tbody td{padding:10px 6px;text-align:center;font-size:var(--font-sm);color:var(--text-primary);border-bottom:1px solid #F0F0F0;white-space:nowrap;}
tbody tr:last-child td{border-bottom:none;}
tbody tr:hover{background:#F8FBFF;}
@@ -282,8 +289,11 @@ tbody tr:hover td:last-child{background:#F8FBFF;}
腰围变化 (cm) |
饮食总览 |
运动总览 |
- 减重量 排名 |
- 减重率 排名 |
+
+ 减重量 排名▲▼ |
+ 减重率 排名▲▼ |
+ 综合分 排名▲▼ |
+ 行动分 排名▲▼ |
赛况明细 |
@@ -436,16 +446,45 @@ var selectedPlanId = null;
});
Object.keys(planGroups).forEach(function(pid){
var group = planGroups[pid];
+ group.forEach(function(d){
+ // 综合得分:减重量与减重率加权;行动得分:饮食/运动打卡完整度与日均步数
+ d.compositeScore = Math.round(d.weightLoss * 10 + d.weightLossRate * 2);
+ d.actionScore = Math.max(0, 100 - d.dietMissDays * 3 - d.exMissDays * 3 + Math.round(d.exAvgSteps / 2000));
+ });
group.sort(function(a,b){return b.weightLoss - a.weightLoss;});
group.forEach(function(d,i){d.weightLossRank = i + 1;});
group.sort(function(a,b){return b.weightLossRate - a.weightLossRate;});
group.forEach(function(d,i){d.weightLossRateRank = i + 1;});
+ group.sort(function(a,b){return b.compositeScore - a.compositeScore;});
+ group.forEach(function(d,i){d.compositeRank = i + 1;});
+ group.sort(function(a,b){return b.actionScore - a.actionScore;});
+ group.forEach(function(d,i){d.actionRank = i + 1;});
});
})();
var pageSize = 10;
var currentPage = 0;
var filteredData = overviewData.slice();
+/* ===== 排名列排序(升序/降序/默认切换) ===== */
+var sortField = null;
+var sortAsc = false;
+function toggleSort(field){
+ if(sortField !== field){ sortField = field; sortAsc = true; }
+ else if(sortAsc){ sortAsc = false; }
+ else { sortField = null; sortAsc = false; }
+ document.querySelectorAll('.th-sortable').forEach(function(th){
+ th.classList.remove('asc','desc');
+ if(th.getAttribute('onclick') && th.getAttribute('onclick').indexOf(field) > -1 && sortField){
+ th.classList.add(sortAsc ? 'asc' : 'desc');
+ }
+ });
+ applyFilter();
+}
+function applySort(){
+ if(!sortField) return;
+ filteredData.sort(function(a,b){ return sortAsc ? a[sortField] - b[sortField] : b[sortField] - a[sortField]; });
+}
+
/* ===== 活动搜索选择 ===== */
function searchPlan(){
var keyword = document.getElementById('planSearchInput').value.trim().toLowerCase();
@@ -557,6 +596,7 @@ function applyFilter(){
if(empId && d.empId.toLowerCase().indexOf(empId) === -1) return false;
return true;
});
+ applySort();
currentPage = 0;
renderTable();
}
@@ -584,7 +624,7 @@ function renderTable(){
document.getElementById('pageInfo').textContent = '显示 ' + pageData.length + ' 条,共 ' + filteredData.length + ' 条记录';
document.getElementById('pageNum').textContent = '第 ' + (currentPage + 1) + '/' + totalPages + ' 页';
if(filteredData.length === 0){
- tbody.innerHTML = '| 暂无匹配数据,请选择干预活动后查看 |
';
+ tbody.innerHTML = '| 暂无匹配数据,请选择干预活动后查看 |
';
return;
}
var html = '';
@@ -636,6 +676,8 @@ function renderTable(){
// 排名
html += ''+d.weightLossRank+' | ';
html += ''+d.weightLossRateRank+' | ';
+ html += ''+d.compositeRank+' | ';
+ html += ''+d.actionRank+' | ';
// 赛况明细
html += '查看 | ';
html += '';
diff --git a/web-admin/weight-management/doc/PRD.md b/web-admin/weight-management/doc/PRD.md
index e082ddb..63ad9da 100644
--- a/web-admin/weight-management/doc/PRD.md
+++ b/web-admin/weight-management/doc/PRD.md
@@ -60,7 +60,7 @@
├── 历史活动(侧边栏)
│ └── 活动列表
│ ├── 人员范围弹窗
-│ └── 活动详情(5个Tab:报名管理/每日行动/总览数据/活动排名/活动信息)
+│ └── 活动详情(5个Tab:报名管理/行动记录/总览数据/活动排名/活动信息)
│ └── 人员详情(3个Tab:饮食记录/运动记录/体重记录)
│
├── 人员数据(侧边栏)
@@ -456,7 +456,7 @@
**Tab切换:** 全部 / 未提交任务书 / 已提交待审核 / 已通过待签署 / 已签署(各Tab带数量角标)
-**筛选条件:** 单位部门(二级联动面板)、活动名称(搜索下拉)、姓名(输入框)、员工编号(输入框)、体重(kg)(运算符+值输入,支持等于/大于/小于/大于等于/小于等于/范围)、BMI(运算符+值输入,同上)
+**筛选条件:** 单位部门(二级联动面板)、活动名称(搜索下拉)、姓名(输入框)、员工编号(输入框)
**各Tab表格列:**
@@ -479,7 +479,6 @@
**交互说明:**
- 未选择活动时,查看所有进行中活动被纳入参加范围的员工,选择活动后,查看该活动内被纳入的员工
- Tab切换筛选不同状态的报名记录
-- 体重和BMI筛选支持自定义运算符(等于/大于/小于/大于等于/小于等于/范围),选择"范围"时展开第二个输入框
- 承诺书弹窗展示完整的承诺书内容
- 支持导出列表数据
@@ -493,7 +492,7 @@
**Tab切换:** 全部 / 待审核 / 已通过 / 已通过待签署 / 已驳回(各Tab带数量角标)
-**筛选条件:** 单位部门(二级联动面板)、活动名称(搜索下拉)、姓名(输入框)、员工编号(输入框)、体重(kg)(运算符筛选)、BMI(运算符筛选)
+**筛选条件:** 单位部门(二级联动面板)、活动名称(搜索下拉)、姓名(输入框)、员工编号(输入框)
**各Tab表格列:**
@@ -576,7 +575,12 @@
| 今日体重未记录员工 | 序号、活动名称、姓名、员工编号、性别、年龄、所属单位、所属部门 |
| 今日体重已记录员工 | 同上 + 身高(cm)、体重(kg)、BMI、体脂(%)、腰围(cm)、最后记录时间、数据来源 |
| 活动期间累计行动员工 | 3个子Tab(饮食/运动/体重)+ 表格列:序号、单位、部门、姓名、员工编号、性别、年龄、联系方式、身高(cm)、体重(kg)、BMI、累计记录天数 |
-| 单位活动人数/三测人数 | 序号、活动名称、姓名、员工编号、单位、部门、体重记录、饮食记录、运动记录、三测完成 |
+| 单位活动人数/三测人数 | 序号、活动名称、姓名、员工编号、单位、部门、体重记录、体脂记录、腰围记录、三测完成 |
+
+**三测口径说明(单位详情弹窗):**
+- 三测 = 体重/体脂/腰围,均来自员工的体重测量记录
+- 体重/体脂/腰围中有任一项记录即视为"三测完成";三测完成列:是(绿色标签)/否(红色标签)
+- "三测人数"弹窗仅显示三测完成的员工,活动人数弹窗显示单位所有已参加活动的员工
**弹窗截图:**
@@ -680,15 +684,20 @@
**筛选条件:** 单位部门(二级联动面板)、活动名称(搜索下拉)、姓名(输入框)、员工编号(输入框)
-**表格列(多级表头,36列):**
+**表格列(多级表头,38列):**
- 第一级(rowspan=2):序号、活动名称、姓名、员工编号、性别、年龄、单位、部门、身高(cm)、初始体重(kg)、初始BMI、初始体脂(%)、初始腰围(cm)、目标体重(kg)、目标BMI、目标体脂(%)、目标腰围(cm)、现体重(kg)、现BMI、现体脂(%)、现腰围(cm)、体重变化(kg)、BMI变化、体脂变化(%)、腰围变化(cm)
- 第一级(colspan=4):饮食总览
- 第一级(colspan=4):运动总览
-- 第一级(rowspan=2):减重量排名、减重率排名、赛况明细
+- 第一级(rowspan=2,可排序):减重量排名、减重率排名、综合分排名、行动分排名
+- 第一级(rowspan=2):赛况明细
- 饮食总览子列:缺天、缺餐、日均摄入(千卡)、累计摄入(千卡)
- 运动总览子列:缺天、日均步数、日均消耗(千卡)、累计消耗(千卡)
- 活动名称/姓名/员工编号列左侧固定,赛况明细列右侧固定
+**业务规则:**
+- 排名按活动内计算:综合得分 = 减重量×10 + 减重率×2 加权,行动得分 = 饮食/运动打卡完整度与日均步数折算
+- 4个排名列均支持点击表头排序(升序/降序/默认三态切换),与体重排名页一致
+
**交互说明:**
- 操作列点击"赛况明细"跳转到赛况明细页(action-overview-detail.html)
- 支持导出列表数据、查看导出任务
@@ -707,9 +716,10 @@
- 员工信息卡片:姓名、员工编号、性别、年龄、单位、部门、身高
- 日期筛选Tab:全部 / 选时(范围选择)/ 日 / 周 / 月 / 季 / 年
-**表格列(单行表头,15列):**
-- 序号、日期、身高(cm)、体重(kg)、BMI、体脂(%)、腰围(cm)、体重变化(kg)、BMI变化、体脂变化(%)、腰围变化(cm)、摄入(千卡)、消耗(千卡)、吃动热量差(千卡)、当日减重排名
+**表格列(单行表头,19列):**
+- 序号、日期、身高(cm)、体重(kg)、BMI、体脂(%)、腰围(cm)、体重变化(kg)、BMI变化、体脂变化(%)、腰围变化(cm)、摄入(千卡)、消耗(千卡)、吃动热量差(千卡)、当日减重排名、减重量排名、减重率排名、综合分排名、行动分排名
- 日期列左侧固定
+- 排名列样式:前三名高亮显示(金银铜牌样式),减重量/减重率/综合分/行动分排名为活动内累计排名
**交互说明:**
- 面包屑导航支持返回活动总览
@@ -803,7 +813,7 @@
**页面布局:**
- 面包屑导航:体重管理 / 历史活动 / **活动名称**
- 活动概览卡片:16项指标网格(应参加人数、实际参加人数、未参加人数、完成体重目标人数、完成体脂目标人数、完成腰围目标人数、人均减重(kg)、人均减重率(%)、人均BMI降低、人均体脂降低(%)、人均腰围减少(cm)、人均每日摄入热量(kcal)、人均每日消耗热量(kcal)、人均每日能量缺口、人均综合得分、人均行动得分)
-- 5个主Tab:报名管理 / 每日行动 / 总览数据 / 活动排名 / 活动信息
+- 5个主Tab:报名管理 / 行动记录 / 总览数据 / 活动排名 / 活动信息
**Tab 0 — 报名管理:**
- 状态分段Tab:全部 / 未提交任务书 / 已提交待审核 / 已通过待签署 / 已签署(带数量角标)
@@ -813,12 +823,12 @@
- 状态 ≥ 已通过 增加:审核时间
- 状态 = 已签署 增加:签署时间、承诺书
-**Tab 1 — 每日行动:**
-- 子分段Tab:每日记录 / 三测记录
-- 每日记录筛选:日期范围、单位部门、姓名、员工编号
-- 每日记录表格(28列):序号、姓名、员工编号、性别、年龄、单位、部门、身高(cm)、初始体重(kg)、初始BMI、初始体脂(%)、初始腰围(cm)、目标体重(kg)、目标BMI、目标体脂(%)、目标腰围(cm)、现体重(kg)、现BMI、现体脂(%)、现腰围(cm)、体重变化(kg)、BMI变化、体脂变化(%)、腰围变化(cm)、日期、饮食记录、运动记录、体重记录
-- 三测记录子Tab:体重/饮食/运动 + 全部/已记录/未记录筛选
-- 三测记录表格:序号、姓名、员工编号、性别、年龄、单位、部门、首次记录日期、末次记录日期
+**Tab 1 — 行动记录:**
+- 筛选:日期范围(默认活动期间)、单位部门(二级联动面板)、姓名、员工编号
+- 子分类Tab:体重 / 饮食 / 运动;记录状态筛选:全部 / 已记录 / 未记录
+- 体重子Tab表格(多级表头):序号、姓名、员工编号、性别、年龄、单位、部门、打卡次数(可排序)、打卡天数(可排序)、首次记录日期、末次记录日期、末次记录数据(6子列:身高、体重、BMI、体脂、腰围、记录来源)
+- 饮食/运动子Tab表格(单行表头):序号、姓名、员工编号、性别、年龄、单位、部门、打卡次数(可排序)、打卡天数(可排序)、首次记录日期、末次记录日期
+- 点击打卡次数打开打卡记录弹窗(体重/饮食/运动,同"行动记录"页)
**Tab 2 — 总览数据:**
- 筛选:单位部门、姓名、员工编号
@@ -837,25 +847,15 @@
- 奖励等级信息
**弹窗:**
-- 饮食记录弹窗:序号、餐次、摄入时间、总摄入(千卡)、数据来源
-- 运动记录弹窗:序号、运动类型、运动数据、消耗(千卡)、来源
-- 体重记录弹窗:序号、记录时间、体重(kg)、BMI、体脂率(%)、腰围(cm)、来源
+- 打卡记录弹窗(按当前子分类动态展示):体重 → 序号、记录时间、体重(kg)、BMI、体脂率(%)、腰围(cm)、数据来源;饮食 → 序号、记录时间、餐次、总摄入(千卡)、数据来源;运动 → 序号、记录时间、运动类型、运动数据、消耗(千卡)、来源
- 承诺书弹窗:承诺书样式证书卡片
- 大病人员弹窗:序号、单位、部门、姓名、员工编号、性别、年龄、身高(cm)、体重(kg)、BMI、大病信息
**弹窗截图:**
-**饮食记录弹窗:**
+**打卡记录弹窗(体重子分类):**
-
-
-**运动记录弹窗:**
-
-
-
-**体重记录弹窗:**
-
-
+
**承诺书弹窗:**
@@ -1002,7 +1002,7 @@
**业务规则:**
- 变化列负值绿色(改善),正值红色(恶化)
-- 未设置目标的员工,目标周期和目标指标列显示"-",仅当前指标有实际称重数据
+- 未设置目标的员工,目标周期和目标指标列显示"-",仅当前指标有实际称重数据,详细数据列同样显示"-"(不可查看)
- 姓名和员工编号列做左侧固定
- 详细数据列做右侧固定
@@ -1067,7 +1067,7 @@
|--------|------|------|--------------|
| 设备编码 | 文本输入框 | 是 | 唯一性校验 |
| 设备名称 | 文本输入框 | 是 | 不超过30字符 |
-| 设备厂商 | 下拉选择 | 是 | 预设厂商列表 |
+| 设备厂商 | 下拉选择 | 是 | 预设厂商列表(当前为:蚁熊) |
| 设备型号 | 文本输入框 | 是 | 预设设备型号,与厂商联动 |
| 所属单位 | 下拉选择 | 是 | 从组织机构选择 |
| 布放位置 | 文本输入框 | 是 | 地图选择,可修改详细地址 |
@@ -1140,12 +1140,10 @@
**员工匿名 Tab:** 仅含使用日期筛选,表格列为姓名、使用时间 + 同上10项监测数据列 + 更多信息
-**详情弹窗(身体成分分析,5组指标):**
-- **基础指标:** 身高(cm)、体重(kg)、BMI、基础代谢、体脂肪量(kg)、体脂肪率(%)
-- **水分与蛋白质:** 体水分量(kg)、体水分率(%)、蛋白质量(kg)、蛋白质率(%)
-- **肌肉与骨骼:** 肌肉率(%)、肌肉量(kg)、体骨骼量/骨量(kg)
-- **脂肪分析:** 皮下脂肪率(%)、内脏脂肪等级、去脂体重(kg)
-- **其他:** 无机盐量/矿物质量(kg)、细胞内液(kg)、细胞外液(kg)、健康评分
+**详情弹窗(监测数据详情 - **员工姓名**,3组指标,对齐员工端身高秤报告):**
+- **基础指标:** 身高(cm)、体重(kg)、BMI、体脂率(%)
+- **身体成分:** 体脂肪(kg)、水分率(%)、水分量(kg)、肌肉率(%)、肌肉量(kg)、骨量(kg)、去脂体重(kg)
+- **体态分析:** 内脏脂肪、体型、理想体重(kg)、超重百分比(%)、体表面积(m²)
**弹窗截图:**
@@ -1166,13 +1164,16 @@
**表格列(多级表头,监测数据6子列):** 姓名、员工编号、所属单位、所属部门、性别、年龄、使用时间、身高(cm)、体重(kg)、BMI、基础代谢、体脂肪量(kg)、体脂肪率(%)、更多信息
-**详情弹窗(身体成分分析,6组指标):**
-- **基础指标:** 身高(cm)、体重(kg)、BMI、基础代谢、体脂肪量(kg)、体脂肪率(%)
-- **水分与蛋白质:** 体水分量(kg)、体水分率(%)、蛋白质量(kg)、蛋白质率(%)
-- **肌肉与骨骼:** 体肌肉量(kg)、体肌肉率(%)、体骨骼量(kg)
-- **脂肪分析:** 皮下脂肪量(kg)、皮下脂肪率(%)、除脂肪量(kg)
-- **细胞液:** 细胞外液量(L)、细胞外液率(%)、细胞内液量(L)、细胞内液率(%)
-- **其他:** 矿物质量(kg)
+**详情弹窗(监测数据详情 - **员工姓名**,9组指标,对齐员工端蓝牙秤8电极报告):**
+- **基础指标:** 体重(kg)、BMI、体脂率(%)、身体得分、健康评估
+- **身体成分:** 水分率(%)、水分量(kg)、蛋白质率(%)、蛋白质量(kg)、体脂肪(kg)、肌肉量(kg)、肌肉率(%)、骨骼肌量(kg)、骨骼肌率(%)、骨量(kg)
+- **脂肪分析:** 内脏脂肪、皮下脂肪率(%)、皮下脂肪量(kg)
+- **体态管理:** 理想体重(kg)、去脂体重(kg)、身体年龄、身体类型、推测腰臀比
+- **体重管控:** 控制体重(kg)、脂肪控制量(kg)、肌肉控制量(kg)
+- **细胞液分析:** 细胞内水量(kg)、细胞外水量(kg)
+- **进阶成分:** 无机盐量(kg)、身体细胞量(kg)、骨骼肌质量指数(kg/m²)
+- **躯干/四肢脂肪:** 左/右臂、左/右腿、躯干的脂肪量(kg)与脂肪率(%)
+- **躯干/四肢肌肉:** 左/右臂、左/右腿、躯干的肌肉量(kg)与肌肉率(%)
**弹窗截图:**
@@ -1195,13 +1196,13 @@
**员工匿名 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)
+**详情弹窗(监测数据详情 - **员工姓名**,6组指标,对齐员工端体脂仪InBody报告):**
+- **基础指标:** 体重(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)、腰臀比
**弹窗截图:**
diff --git a/web-admin/weight-management/doc/screenshot.js b/web-admin/weight-management/doc/screenshot.js
index 97837ea..a14308f 100644
--- a/web-admin/weight-management/doc/screenshot.js
+++ b/web-admin/weight-management/doc/screenshot.js
@@ -257,24 +257,10 @@ const MODALS = [
},
{
file: 'history-plan-detail.html',
- desc: '历史活动详情-饮食记录弹窗',
- output: 'history-plan-detail-modal-diet.jpg',
- selector: '#dietOverlay .record-dialog',
- setup: '(() => { openDietDialog(actEmployees[0].empId, actEmployees[0].name, "2026-05-20"); })()',
- },
- {
- file: 'history-plan-detail.html',
- desc: '历史活动详情-运动记录弹窗',
- output: 'history-plan-detail-modal-exercise.jpg',
- selector: '#exerciseOverlay .record-dialog',
- setup: '(() => { openExerciseDialog(actEmployees[0].empId, actEmployees[0].name, "2026-05-20"); })()',
- },
- {
- file: 'history-plan-detail.html',
- desc: '历史活动详情-体重记录弹窗',
- output: 'history-plan-detail-modal-weight.jpg',
- selector: '#weightOverlay .record-dialog',
- setup: '(() => { openWeightDialog(actEmployees[0].empId, actEmployees[0].name, "2026-05-20"); })()',
+ desc: '历史活动详情-打卡记录弹窗',
+ output: 'history-plan-detail-modal-checkin.jpg',
+ selector: '#checkinOverlay .record-dialog',
+ setup: '(() => { var e = actEmployees[0]; openCheckinDialog(e.empId, e.name, e.org, e.dept); })()', // actSub默认weight,渲染体重打卡记录
},
{
file: 'history-plan-detail.html',
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 1008c01..e498370 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-overview.jpg b/web-admin/weight-management/doc/screenshots/action-overview.jpg
index 7883897..e2ae9c0 100644
Binary files a/web-admin/weight-management/doc/screenshots/action-overview.jpg and b/web-admin/weight-management/doc/screenshots/action-overview.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 620ae43..b09331b 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 9f89d0f..9449b11 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 bd16dac..f06e358 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 70e7d1b..3eda781 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 a106ba2..3ccfc0d 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 7d26def..23ac82e 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 cce9de9..6b44f04 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 6fc17f1..ef6b74f 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 92b5cf9..8c2c331 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/action-record.jpg b/web-admin/weight-management/doc/screenshots/action-record.jpg
index bc611a9..d444278 100644
Binary files a/web-admin/weight-management/doc/screenshots/action-record.jpg and b/web-admin/weight-management/doc/screenshots/action-record.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/activity-statistics.jpg b/web-admin/weight-management/doc/screenshots/activity-statistics.jpg
index 1158470..902cd54 100644
Binary files a/web-admin/weight-management/doc/screenshots/activity-statistics.jpg and b/web-admin/weight-management/doc/screenshots/activity-statistics.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/archive-personal-weight-data.jpg b/web-admin/weight-management/doc/screenshots/archive-personal-weight-data.jpg
index 86f75d7..93982bd 100644
Binary files a/web-admin/weight-management/doc/screenshots/archive-personal-weight-data.jpg and b/web-admin/weight-management/doc/screenshots/archive-personal-weight-data.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/bluetooth-device.jpg b/web-admin/weight-management/doc/screenshots/bluetooth-device.jpg
index bd1ab96..bc993a7 100644
Binary files a/web-admin/weight-management/doc/screenshots/bluetooth-device.jpg and b/web-admin/weight-management/doc/screenshots/bluetooth-device.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/bluetooth-monitor-detail-modal-detail.jpg b/web-admin/weight-management/doc/screenshots/bluetooth-monitor-detail-modal-detail.jpg
index 92a1fcb..f0c19b3 100644
Binary files a/web-admin/weight-management/doc/screenshots/bluetooth-monitor-detail-modal-detail.jpg and b/web-admin/weight-management/doc/screenshots/bluetooth-monitor-detail-modal-detail.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 6473ba3..85ba874 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/dept-stat.jpg b/web-admin/weight-management/doc/screenshots/dept-stat.jpg
index eeb1b41..9893e99 100644
Binary files a/web-admin/weight-management/doc/screenshots/dept-stat.jpg and b/web-admin/weight-management/doc/screenshots/dept-stat.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 65f317c..8069b9b 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/employee-stat.jpg b/web-admin/weight-management/doc/screenshots/employee-stat.jpg
index 6f54570..241cd6a 100644
Binary files a/web-admin/weight-management/doc/screenshots/employee-stat.jpg and b/web-admin/weight-management/doc/screenshots/employee-stat.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/fat-device.jpg b/web-admin/weight-management/doc/screenshots/fat-device.jpg
index 2b3bd27..cae8e10 100644
Binary files a/web-admin/weight-management/doc/screenshots/fat-device.jpg and b/web-admin/weight-management/doc/screenshots/fat-device.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/fat-monitor-detail-modal-detail.jpg b/web-admin/weight-management/doc/screenshots/fat-monitor-detail-modal-detail.jpg
index ec6534e..e61e545 100644
Binary files a/web-admin/weight-management/doc/screenshots/fat-monitor-detail-modal-detail.jpg and b/web-admin/weight-management/doc/screenshots/fat-monitor-detail-modal-detail.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/history-personnel-detail.jpg b/web-admin/weight-management/doc/screenshots/history-personnel-detail.jpg
index e6ba864..dae5c08 100644
Binary files a/web-admin/weight-management/doc/screenshots/history-personnel-detail.jpg and b/web-admin/weight-management/doc/screenshots/history-personnel-detail.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
new file mode 100644
index 0000000..2a844a9
Binary files /dev/null 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-detail-modal-diet.jpg b/web-admin/weight-management/doc/screenshots/history-plan-detail-modal-diet.jpg
deleted file mode 100644
index 2ce7676..0000000
Binary files a/web-admin/weight-management/doc/screenshots/history-plan-detail-modal-diet.jpg and /dev/null differ
diff --git a/web-admin/weight-management/doc/screenshots/history-plan-detail-modal-exercise.jpg b/web-admin/weight-management/doc/screenshots/history-plan-detail-modal-exercise.jpg
deleted file mode 100644
index 9dfa2d9..0000000
Binary files a/web-admin/weight-management/doc/screenshots/history-plan-detail-modal-exercise.jpg and /dev/null differ
diff --git a/web-admin/weight-management/doc/screenshots/history-plan-detail-modal-weight.jpg b/web-admin/weight-management/doc/screenshots/history-plan-detail-modal-weight.jpg
deleted file mode 100644
index 8eb7fb0..0000000
Binary files a/web-admin/weight-management/doc/screenshots/history-plan-detail-modal-weight.jpg and /dev/null differ
diff --git a/web-admin/weight-management/doc/screenshots/history-plan-detail.jpg b/web-admin/weight-management/doc/screenshots/history-plan-detail.jpg
index 0be26dd..a7059c7 100644
Binary files a/web-admin/weight-management/doc/screenshots/history-plan-detail.jpg and b/web-admin/weight-management/doc/screenshots/history-plan-detail.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 0a77717..54f7576 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/personal-target-data.jpg b/web-admin/weight-management/doc/screenshots/personal-target-data.jpg
index e7bcf8a..1b79d25 100644
Binary files a/web-admin/weight-management/doc/screenshots/personal-target-data.jpg and b/web-admin/weight-management/doc/screenshots/personal-target-data.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/personal-target-detail.jpg b/web-admin/weight-management/doc/screenshots/personal-target-detail.jpg
index 06d334e..0bbd8cb 100644
Binary files a/web-admin/weight-management/doc/screenshots/personal-target-detail.jpg and b/web-admin/weight-management/doc/screenshots/personal-target-detail.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 4330374..22157e1 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 ea4d09f..816b4c0 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/doc/screenshots/personnel-measure-record.jpg b/web-admin/weight-management/doc/screenshots/personnel-measure-record.jpg
index 62d7fa4..b61b5e1 100644
Binary files a/web-admin/weight-management/doc/screenshots/personnel-measure-record.jpg and b/web-admin/weight-management/doc/screenshots/personnel-measure-record.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/personnel-overview-record.jpg b/web-admin/weight-management/doc/screenshots/personnel-overview-record.jpg
index 968e044..2e2d290 100644
Binary files a/web-admin/weight-management/doc/screenshots/personnel-overview-record.jpg and b/web-admin/weight-management/doc/screenshots/personnel-overview-record.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/recipe-record-modal-add.jpg b/web-admin/weight-management/doc/screenshots/recipe-record-modal-add.jpg
index 034b25d..247a598 100644
Binary files a/web-admin/weight-management/doc/screenshots/recipe-record-modal-add.jpg and b/web-admin/weight-management/doc/screenshots/recipe-record-modal-add.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/recipe-record.jpg b/web-admin/weight-management/doc/screenshots/recipe-record.jpg
index f95e299..195c5c4 100644
Binary files a/web-admin/weight-management/doc/screenshots/recipe-record.jpg and b/web-admin/weight-management/doc/screenshots/recipe-record.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/registration-tracking-modal-promise.jpg b/web-admin/weight-management/doc/screenshots/registration-tracking-modal-promise.jpg
index 2feffcb..cc38c57 100644
Binary files a/web-admin/weight-management/doc/screenshots/registration-tracking-modal-promise.jpg and b/web-admin/weight-management/doc/screenshots/registration-tracking-modal-promise.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/registration-tracking.jpg b/web-admin/weight-management/doc/screenshots/registration-tracking.jpg
index ae24039..a0fe118 100644
Binary files a/web-admin/weight-management/doc/screenshots/registration-tracking.jpg and b/web-admin/weight-management/doc/screenshots/registration-tracking.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/scale-device.jpg b/web-admin/weight-management/doc/screenshots/scale-device.jpg
index 326ad26..dfd1db2 100644
Binary files a/web-admin/weight-management/doc/screenshots/scale-device.jpg and b/web-admin/weight-management/doc/screenshots/scale-device.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/scale-monitor-detail-modal-detail.jpg b/web-admin/weight-management/doc/screenshots/scale-monitor-detail-modal-detail.jpg
index 99787f2..9313f82 100644
Binary files a/web-admin/weight-management/doc/screenshots/scale-monitor-detail-modal-detail.jpg and b/web-admin/weight-management/doc/screenshots/scale-monitor-detail-modal-detail.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/target-weight-review-modal-audit.jpg b/web-admin/weight-management/doc/screenshots/target-weight-review-modal-audit.jpg
index 537d418..0d78472 100644
Binary files a/web-admin/weight-management/doc/screenshots/target-weight-review-modal-audit.jpg and b/web-admin/weight-management/doc/screenshots/target-weight-review-modal-audit.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/target-weight-review.jpg b/web-admin/weight-management/doc/screenshots/target-weight-review.jpg
index 86026ae..e9bbeab 100644
Binary files a/web-admin/weight-management/doc/screenshots/target-weight-review.jpg and b/web-admin/weight-management/doc/screenshots/target-weight-review.jpg differ
diff --git a/web-admin/weight-management/doc/screenshots/weight-ranking.jpg b/web-admin/weight-management/doc/screenshots/weight-ranking.jpg
index 8151ae2..38d4daf 100644
Binary files a/web-admin/weight-management/doc/screenshots/weight-ranking.jpg and b/web-admin/weight-management/doc/screenshots/weight-ranking.jpg differ