fix: 全仓截图脚本与截图质量修复(assistant/expert/health-monitor 多处截图脚本中 index-v2.html 等失效页面引用改回现存文件名并清理孤儿任务与无引用截图;weight-main-v2 初始化改为解析 ?type= 参数修复设计总览六种目标状态截图雷同问题,蓝牙秤截图任务补 #paired 参数并重拍 weight-main 系列与 bluetooth-scale 共10张截图、删除 weight-main-menu;专家端与管理端补拍 PRD 引用但从未生成的视频进行中截图 video-in-progress.jpg 与 video-detail-in-progress.jpg;体重管理 PRD 修复两处截图断链,设计总览主页节移除切换菜单卡片,各模块 CHANGELOG 同步记录)
@@ -4,6 +4,17 @@
|
||||
|
||||
---
|
||||
|
||||
## [2026-09-07] fix: 截图脚本失效页面引用修复
|
||||
|
||||
**涉及文件(1个修改):**
|
||||
- `doc/screenshot-final.mjs` — 根页/健康排查/穿戴监测/环境监测 4 处任务仍引用 `index-v2.html`,相关页面早已统一改名为 `index.html`,脚本再运行会直接 ERR_FILE_NOT_FOUND 中断;全部改回现存文件名
|
||||
|
||||
**变更说明:**
|
||||
- 全仓截图体检:本模块 `doc/screenshots/` 内 `-outdoor` 与不带后缀的 base 图字节相同,系脚本为 PRD(引用 base 名)与设计总览(引用场景名)各设一条任务的别名重复,outdoor 本就是页面默认态,文档展示无问题,未改动
|
||||
- `employee-app/health-monitor/screenshots/`(模块根下旧截图目录)已无任何引用,属历史遗留,未纳入本次改动
|
||||
|
||||
---
|
||||
|
||||
## [2026-08-28] fix: 设备详情页水质/花粉Tab隐藏右上角综合指数与等级文字
|
||||
|
||||
**涉及文件(4个修改):**
|
||||
|
||||
@@ -19,11 +19,11 @@ const root = path.resolve(__dirname, '..');
|
||||
// - 'auto' : 短页面 → 最低 844;长页面 → 真实 scroll 高度
|
||||
const tasks = [
|
||||
// ========== 主页 / 健康现状 ==========
|
||||
{ html: 'index-v2.html', out: 'index', mode: 'auto' },
|
||||
{ html: 'index.html', out: 'index', mode: 'auto' },
|
||||
{ html: 'health-status.html', out: 'health-status', mode: 'auto' },
|
||||
|
||||
// ========== 健康排查 ==========
|
||||
{ html: 'health-checkup/index-v2.html', out: 'health-checkup/index', mode: 'auto' },
|
||||
{ html: 'health-checkup/index.html', out: 'health-checkup/index', mode: 'auto' },
|
||||
{ html: 'health-checkup/activity-detail.html', out: 'health-checkup/activity-detail', mode: 'auto', query: '?activityStatus=ongoing' },
|
||||
{ html: 'health-checkup/activity-detail.html', out: 'health-checkup/activity-detail-participated', mode: 'auto', query: '?activityStatus=ongoing&participated=1&submitTime=2026-05-20%2014:32' },
|
||||
{ html: 'health-checkup/activity-detail.html', out: 'health-checkup/activity-detail-ended', mode: 'auto', query: '?activityStatus=ended' },
|
||||
@@ -32,7 +32,7 @@ const tasks = [
|
||||
{ html: 'health-checkup/questionnaire-fill.html', out: 'health-checkup/questionnaire-fill', mode: 'auto' },
|
||||
|
||||
// ========== 穿戴监测 ==========
|
||||
{ html: 'wearable/index-v2.html', out: 'wearable/index', mode: 'auto' },
|
||||
{ html: 'wearable/index.html', out: 'wearable/index', mode: 'auto' },
|
||||
{ html: 'wearable/heart-rate.html', out: 'wearable/heart-rate', mode: 'auto' },
|
||||
{ html: 'wearable/heart-rate-alerts.html', out: 'wearable/heart-rate-alerts', mode: 'auto' },
|
||||
{ html: 'wearable/blood-oxygen.html', out: 'wearable/blood-oxygen', mode: 'auto' },
|
||||
@@ -51,17 +51,17 @@ const tasks = [
|
||||
{ html: 'wearable/exercise.html', out: 'wearable/exercise-month', mode: 'auto', click: { sel: '.tab-item', text: '月' } },
|
||||
|
||||
// ========== 环境监测首页(4 Tab) - 严格 390×844 ==========
|
||||
{ html: 'environment/index-v2.html', out: 'environment/index', mode: 'fixed', envTab: 'outdoor' },
|
||||
{ html: 'environment/index-v2.html', out: 'environment/index-outdoor', mode: 'fixed', envTab: 'outdoor' },
|
||||
{ html: 'environment/index-v2.html', out: 'environment/index-indoor', mode: 'fixed', envTab: 'indoor' },
|
||||
{ html: 'environment/index-v2.html', out: 'environment/index-water', mode: 'fixed', envTab: 'water' },
|
||||
{ html: 'environment/index-v2.html', out: 'environment/index-pollen', mode: 'fixed', envTab: 'pollen' },
|
||||
{ html: 'environment/index.html', out: 'environment/index', mode: 'fixed', envTab: 'outdoor' },
|
||||
{ html: 'environment/index.html', out: 'environment/index-outdoor', mode: 'fixed', envTab: 'outdoor' },
|
||||
{ html: 'environment/index.html', out: 'environment/index-indoor', mode: 'fixed', envTab: 'indoor' },
|
||||
{ html: 'environment/index.html', out: 'environment/index-water', mode: 'fixed', envTab: 'water' },
|
||||
{ html: 'environment/index.html', out: 'environment/index-pollen', mode: 'fixed', envTab: 'pollen' },
|
||||
|
||||
// ========== 环境监测首页 - 底部弹窗 - 严格 390×844 ==========
|
||||
{ html: 'environment/index-v2.html', out: 'environment/index-outdoor-sheet', mode: 'fixed', envTab: 'outdoor', clickMarker: true },
|
||||
{ html: 'environment/index-v2.html', out: 'environment/index-indoor-sheet', mode: 'fixed', envTab: 'indoor', clickMarker: true },
|
||||
{ html: 'environment/index-v2.html', out: 'environment/index-water-sheet', mode: 'fixed', envTab: 'water', clickMarker: true },
|
||||
{ html: 'environment/index-v2.html', out: 'environment/index-pollen-sheet', mode: 'fixed', envTab: 'pollen', clickMarker: true },
|
||||
{ html: 'environment/index.html', out: 'environment/index-outdoor-sheet', mode: 'fixed', envTab: 'outdoor', clickMarker: true },
|
||||
{ html: 'environment/index.html', out: 'environment/index-indoor-sheet', mode: 'fixed', envTab: 'indoor', clickMarker: true },
|
||||
{ html: 'environment/index.html', out: 'environment/index-water-sheet', mode: 'fixed', envTab: 'water', clickMarker: true },
|
||||
{ html: 'environment/index.html', out: 'environment/index-pollen-sheet', mode: 'fixed', envTab: 'pollen', clickMarker: true },
|
||||
|
||||
// ========== 环境监测设备详情 / 报警数据 ==========
|
||||
{ html: 'environment/device-detail.html', out: 'environment/device-detail', mode: 'auto', query: '?tab=outdoor&id=OA001' },
|
||||
|
||||
@@ -4,6 +4,21 @@
|
||||
|
||||
---
|
||||
|
||||
## [2026-09-07] fix: 修复设计总览主页六种目标状态截图雷同问题
|
||||
|
||||
**问题与原因:**
|
||||
- 设计总览"体重管理主页"节 6 张状态截图(已签署/审核中/待签署/已驳回/个人目标/无目标)实际为同一张默认状态图:截图脚本按 `?type=hasact-review` 等 URL 参数请求页面,但 `weight-main-v2.html` 底部硬编码 `setPageType('hasact-signed')`,未读取查询参数
|
||||
- 连带发现"蓝牙设备"节 `bluetooth-scale.jpg` 与 `bluetooth-scale-empty.jpg` 也相同:该页默认即空状态,设备列表需 URL 带 `#paired` 才展示,而脚本默认任务未加 hash、空状态任务的 eval 又是对已是空状态的页面重复置空
|
||||
|
||||
**涉及文件:**
|
||||
- `employee-app/weight-management/weight-main-v2.html`(修改):初始化改为解析 `?type=` 参数(对齐 goal-detail-v2.html 的取参写法),非法值回退 `hasact-signed`
|
||||
- `employee-app/weight-management/doc/design-overview.html`(修改):体重管理主页节移除"目标类型切换菜单"卡片(9 屏 → 8 屏),节副标题去掉"+ 切换菜单"
|
||||
- `employee-app/weight-management/doc/PRD.md`(修改):全仓排查时顺带修复两处截图断链——目标详情节"修改目标审核中"指向 `goal-detail.jpg`(脚本产出的审核中状态图即此文件名),吃记录节"餐次下拉浮层"指向 `eat-checkin-meals.jpg`(原名少了一个 s)
|
||||
- `screenshot-weight.mjs`(修改):bluetooth-scale 默认任务加 `query: '#paired'`,bluetooth-scale-empty 任务去掉无效 eval;删除 weight-main-menu 截图任务
|
||||
- `employee-app/weight-management/doc/screenshots/` 下 10 张截图(重拍):weight-main 系列 8 张 + bluetooth-scale 两张,MD5 校验六状态各不相同,目录内已无重复截图;`weight-main-menu.jpg`(删除)
|
||||
|
||||
---
|
||||
|
||||
## [2026-08-27] refactor: 删除膳食偏好设置页(diet-questionnaire.html)
|
||||
|
||||
**涉及文件:**
|
||||
|
||||
@@ -242,7 +242,7 @@ stateDiagram-v2
|
||||
|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
**功能说明:** 展示单个活动目标或个人目标的完整信息,含审核状态、目标数据、变化趋势、排行榜与体重报告。
|
||||
|
||||
@@ -413,7 +413,7 @@ stateDiagram-v2
|
||||
- 导航栏:标题为当前日期,右上角"拍照识别"按钮(取景框图标 + 文字,跳转拍照识别页)
|
||||
- 餐次选择 + 搜索行:餐次下拉(点击展开下拉浮层选择:早餐/午餐/晚餐/加餐,当前餐次高亮)+ 餐品搜索框
|
||||
|
||||

|
||||

|
||||
- 双列布局:左侧餐品分类("已记录"置顶,下接常用/主食/肉蛋奶/蔬菜/水果/饮品/零食)、右侧菜品列表(emoji + 名称 + 千卡/参考份量 + "+"按钮)
|
||||
- "已记录"分类列表:汇总展示各餐次已记录餐品(emoji + 名称 + 餐次标签 + 智记/自记标签 + 千卡/克数,自记条目可删除),支持搜索过滤
|
||||
|
||||
|
||||
@@ -202,9 +202,9 @@ body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-
|
||||
<section class="section" id="sec-main">
|
||||
<div class="section__header">
|
||||
<h2 class="section__title">二、体重管理主页(核心中枢)</h2>
|
||||
<span class="section__count">9 屏</span>
|
||||
<span class="section__count">8 屏</span>
|
||||
</div>
|
||||
<div class="sub-title">体重管理主页(weight-main-v2.html)· 目标状态 + 记录弹窗 + 切换菜单</div>
|
||||
<div class="sub-title">体重管理主页(weight-main-v2.html)· 目标状态 + 记录弹窗</div>
|
||||
<div class="scroll-row">
|
||||
<div class="card" onclick="openLightbox('screenshots/weight-main.jpg','主页 · 活动已签署')">
|
||||
<div class="card__img"><img src="screenshots/weight-main.jpg" alt=""></div>
|
||||
@@ -246,11 +246,6 @@ body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-
|
||||
<div class="card__label">记录成功弹窗</div>
|
||||
<div class="card__tags"><span class="tag tag--modal">弹窗</span></div>
|
||||
</div>
|
||||
<div class="card" onclick="openLightbox('screenshots/weight-main-menu.jpg','主页 · 目标类型切换菜单')">
|
||||
<div class="card__img"><img src="screenshots/weight-main-menu.jpg" alt=""></div>
|
||||
<div class="card__label">目标类型切换菜单</div>
|
||||
<div class="card__tags"><span class="tag tag--modal">浮层</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 101 KiB |
|
Before Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 96 KiB |
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 112 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 105 KiB |
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 99 KiB |
@@ -1310,7 +1310,13 @@ function bindRulerDrag(ruler, cfg, idx) {
|
||||
document.addEventListener('mouseup', onEnd);
|
||||
document.addEventListener('touchend', onEnd);
|
||||
}
|
||||
setPageType('hasact-signed');
|
||||
/* 初始状态支持 ?type= 参数(用于演示与截图),非法值回退默认 */
|
||||
(function() {
|
||||
var m = location.search.match(new RegExp('[?&]type=([^&]*)'));
|
||||
var type = m ? decodeURIComponent(m[1]) : 'hasact-signed';
|
||||
var valid = ['hasact-signed', 'hasact-review', 'hasact-approved', 'hasact-rejected', 'personal', 'none'];
|
||||
setPageType(valid.indexOf(type) >= 0 ? type : 'hasact-signed');
|
||||
})();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||