From 42af90e39f495545f526623f50a4d15259aed7b8 Mon Sep 17 00:00:00 2001 From: liuyunqin Date: Wed, 8 Jul 2026 19:26:22 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=9B=B4=E6=96=B0=E4=BD=93=E9=87=8D?= =?UTF-8?q?=E7=AE=A1=E7=90=86PRD=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- employee-app/weight-management/doc/PRD.md | 153 +++++++--------------- 1 file changed, 46 insertions(+), 107 deletions(-) diff --git a/employee-app/weight-management/doc/PRD.md b/employee-app/weight-management/doc/PRD.md index 42d01e7..3fc6365 100644 --- a/employee-app/weight-management/doc/PRD.md +++ b/employee-app/weight-management/doc/PRD.md @@ -648,8 +648,8 @@ stateDiagram-v2 **主要UI元素:** - 月历导航(上一月/下一月箭头、月份标签) -- 月历网格(7列):有数据的日期显示双同心圆环图(蓝色外环=摄入、黄色内环=消耗)和净热量差文字 -- 柱状趋势图区域:"本月吃动趋势"标题,双色堆叠柱状图(蓝色=摄入、黄色=消耗),每天一组柱子 +- 月历网格(7列):有数据的日期显示双同心圆环图(摄入、消耗)和净热量差文字 +- 柱状趋势图区域:"本月吃动趋势"标题,双色堆叠柱状图(摄入、消耗),每天一组柱子 - 柱状图悬浮提示弹窗:显示日期、摄入详情(热量/碳水/脂肪/蛋白质)、消耗详情(基础代谢/运动消耗/步行消耗) **交互说明:** @@ -666,41 +666,33 @@ stateDiagram-v2 ![页面截图](screenshots/diet-advice.jpg) -**功能说明:** 为员工提供个性化膳食指导方案,首次进入需完成偏好问卷,之后展示每日热量目标、膳食注意事项、三餐推荐食谱和本周食谱计划。 +**功能说明:** 为员工提供个性化膳食指导方案,首次进入需跳转到膳食偏好设置页面,提交完偏好设置后才可进行膳食推荐。膳食建议页面展示每日热量目标、膳食注意事项、三餐推荐食谱和本周食谱计划。 **页面状态:** -- **引导态(首次进入):** 覆盖全屏的紫色引导问卷 -- **内容态(完成引导后):** 完整膳食建议内容 +- **首次进入:** 膳食偏好设置页面 +- **完成设置后:** 膳食建议页面 -**引导态主要UI元素:** -- Q1:所在地区(必填,省市联动选择器弹窗) -- Q2:口味偏好(必填,单选:清淡/辛辣/咸鲜/酸甜) -- Q3:上班时间(必填:正常白班/早班/晚班/倒班) -- Q4:规避食材(可选,多选:羊肉/海鲜/动物内脏/花生/鸡蛋/牛奶/香菜/辣椒/大蒜/菌菇/其他) -- 提交按钮(必填项未完成时禁用,显示"请先填写必选项";全部完成显示"开始推荐") -**内容态主要UI元素:** +**主要UI元素:** - 导航栏右侧"修改偏好"按钮 -- 每日热量目标卡片(绿色渐变):目标总热量、营养素进度条(蛋白质/碳水/脂肪) +- 每日热量目标卡片:目标总热量、营养素进度条(蛋白质/碳水/脂肪) - 膳食注意事项卡片(可折叠):低钠、低嘌呤、少食多餐、多饮水等提示 -- 今日三餐推荐(4个Tab:早餐/午餐/晚餐/加餐):每餐菜品卡片(图标、名称、份量、热量、标签如"低钠/低嘌呤/当地"、烹饪提示) +- 今日三餐推荐(4个Tab:早餐/午餐/晚餐/加餐):每餐菜品(名称、份量、热量、标签如"低钠/低嘌呤/食堂餐品") - 本周食谱计划(7天Tab切换):每天展示3道推荐菜品 - "保存至本地"按钮 **交互说明:** -- 引导态:完成所有必填项后点击"开始推荐"关闭引导、展示内容 -- 点击"修改偏好"重新打开引导问卷,回填已有选择 +- 点击"修改偏好"跳转到膳食偏好设置页面,回填内容 - 点击菜品卡片打开详情弹窗(含"不喜欢"按钮) -- 点击"不喜欢"弹出二级确认弹窗(含原因快捷选择) +- 点击"不喜欢"弹出二级确认弹窗(含原因填写) - 点击"膳食注意事项"标题折叠/展开 - 点击三餐Tab切换餐次 - 点击周几Tab切换食谱计划日 -- 点击"保存至本地"保存当前膳食方案 +- 点击"保存至本地"以pdf/word文件保存当前膳食方案至本地 - 点击返回按钮返回体重管理主页 **业务规则:** -- 首次进入必须完成偏好问卷才能查看膳食建议 -- 偏好数据保存在 localStorage +- 首次进入必须完成偏好问卷才能进去膳食建议页面 - 修改偏好后膳食建议方案重新生成 --- @@ -709,22 +701,20 @@ stateDiagram-v2 ![页面截图](screenshots/diet-questionnaire.jpg) -**功能说明:** 独立的膳食偏好设置页面,供修改偏好时使用(也可从膳食建议页的"修改偏好"入口进入)。 +**功能说明:** 膳食偏好设置页面 **主要UI元素:** - 顶部引导语("定制你的专属膳食方案") - Q1:所在地区(必填,省-市联动选择器弹窗,预置陕西/甘肃/宁夏/内蒙古等长庆油田覆盖区域) - Q2:口味偏好(必填,多选标签:清淡·原味/鲜香/咸鲜/微辣/麻辣/酸辣/酸甜/酱香·红烧/蒜香·葱香) -- Q3:饮食禁忌(可选):预设标签行(猪肉/牛肉/羊肉等)+ "自定义添加"按钮,打开底部弹窗含快捷选择标签和自由文本输入 +- Q3:饮食禁忌(可选): "自定义添加"按钮,打开底部弹窗含快捷选择标签和自由文本输入 - 提交按钮("请先填写必选项"禁用态→"开始推荐"可用态) **交互说明:** - 点击地区行打开省市联动底部弹窗 - 点击口味偏好标签切换选中/取消 - 点击"自定义添加"打开饮食禁忌添加弹窗 -- 点击提交按钮保存到 localStorage 并跳转到膳食建议页面 -- 点击返回按钮返回上一页 -- 页面初始化时从 localStorage 读取已有偏好回填 +- 点击提交按钮保存后跳转到膳食建议页面 --- @@ -736,9 +726,9 @@ stateDiagram-v2 **主要UI元素:** - 每日消耗目标卡片(橙色渐变):目标总消耗热量,分解条(基础消耗/运动消耗/步行消耗各占比进度) -- 运动注意事项卡片(可折叠):高血压、高尿酸、热身、补水、循序渐进等8条提示 -- 四类运动推荐卡片:有氧运动(30-45分钟/天)、力量训练(20-30分钟/次)、柔韧拉伸(10-15分钟/天)、日常活动(全天累计) -- 每周运动计划(7天Tab栏切换):每天展示3项计划运动(含图标、描述、时长、消耗热量) +- 运动注意事项卡片(可折叠):高血压、高尿酸、热身、补水、循序渐进等提示 +- 四类运动推荐卡片:有氧运动、力量训练、柔韧拉伸、日常活动 +- 每周运动计划(7天Tab栏切换):每天展示3项计划运动(含名称、描述、时长、消耗热量) - "保存至本地"按钮 **交互说明:** @@ -785,90 +775,39 @@ stateDiagram-v2 **功能说明:** 展示体重管理活动的排行榜,支持按减重量/减重率/综合分/行动积分四个维度排名。 -**页面状态:** 通过 URL 参数 `?type=hasact|personal|none` 控制。 +**页面状态:** -**主要UI元素:** -- 活动头部(青绿色渐变横幅):活动名称、参与人数 -- 排名Tab:减重量/减重率/综合分/行动积分 -- 我的排名卡片(hasact模式):个人排名编号、姓名、部门、积分值 -- 排名列表表头:排名/用户/当前Tab对应列名 -- 排名列表(15行):前三名金银铜奖牌、当前用户行高亮 -- 缺省提示(none模式):"单位暂未组织活动" +| UI 区域 | `hasact`(已参加活动) | `personal`(已设置个人目标) | `none`(未参加未设置未组织) | +|---------|-------------------|---------------------|---------------------------| +| 顶部提示条 | ❌ 隐藏 | ❌ 隐藏 | ✅ 显示黄色提示条"单位暂未组织活动" | +| 活动头部(名称+参与人数) | ✅ 显示 | ✅ 显示 | ❌ 隐藏 | +| 排名Tab栏 | ✅ 可切换4个维度 | ✅ 可切换4个维度 | ❌ 隐藏 | +| 我的排名卡片 | ✅ 显示(含排名、姓名、部门、数值) | ❌ 隐藏 | ❌ 隐藏 | +| 排行列表 | ✅ 显示(含"我"的高亮行) | ✅ 显示(不含"我"的高亮行) | ❌ 空列表 | + +**通用UI元素(hasact / personal 模式):** +- 活动头部(青绿色渐变横幅):活动名称"2026年二季度体重管理活动"、副标题"排行榜(共8626人参加)" +- 排名Tab栏(4个Tab):减重量 / 减重率 / 综合分 / 行动积分,切换时列表头文字、个人排名卡数值、排行列表数据同步更新 +- 排行列表表头:排名 / 用户 / 当前维度列名(随Tab变化) +- 排行列表行:排名序号(前3名金银铜奖牌图标,其余数字序号)、用户(姓名脱敏显示如"张·**")、部门(单位·部门格式)、数值(含单位)+ 变化趋势箭头(↑/↓/→);当前用户所在行高亮显示(浅绿色背景) +- 每个维度独立数据集,切换Tab时"我的排名卡片"的排名和数值同步变化 + +**各维度排行榜数据特征:** + +| 维度 | 列表头 | 单位 | 说明 | +|------|--------|------|------| +| 减重量 | 减重量 | kg | 共减重 | +| 减重率 | 减重率 | % | 减重率 | +| 综合分 | 综合分 | 分 | 综合分 | +| 行动积分 | 行动积分 | 分 | 行动积分 | **交互说明:** -- 点击排名Tab切换排名维度 +- 点击排名Tab切换四个排名维度,列表头、个人排名卡、排行列表同步刷新 +- hasact 模式:活动头部、排名Tab、个人排名卡、排行列表全部显示 +- personal 模式:活动头部和排行列表正常显示,但个人排名卡片隐藏 +- none 模式:仅显示黄色提示条"单位暂未组织活动",活动头部、排名Tab、个人排名卡均隐藏,排行列表为空 - 点击返回按钮返回体重管理主页 -- 个人模式下隐藏"我的排名卡片" - -**业务规则:** -- 综合分 = 减重量分×35% + 减重率分×20% + ...(详见活动详情页规则) -- 未参加活动(none模式)显示"单位暂未组织活动",列表为空 --- -## 表单字段表 - -### 膳食偏好设置 - -| 字段名 | 类型 | 必填 | 校验规则 | -|--------|------|------|----------| -| 所在地区 | 省-市联动选择 | 是 | 必选省份和城市 | -| 口味偏好 | 多选标签 | 是 | 至少选1项 | -| 上班时间 | 单选 | 是 | 必选1项 | -| 规避食材 | 多选+自定义输入 | 否 | 可多选或自定义 | - -### 基本信息编辑字段 - -| 字段名 | 类型 | 必填 | 校验规则 | -|--------|------|------|----------| -| 身高 | 标尺选择(100-250cm) | 是 | 步进0.1cm | -| 体力活动 | 单选 | 是 | 五选一 | - -### 指标慢病 - 测量录入 - -| 字段名 | 类型 | 必填 | 校验规则 | -|--------|------|------|----------| -| 体重 | 标尺选择(30-200kg) | 否 | 步进0.1kg,范围30-200 | -| 收缩压 | 标尺选择(60-260mmHg) | 否 | 步进1mmHg | -| 舒张压 | 标尺选择(30-160mmHg) | 否 | 步进1mmHg | -| 空腹血糖 | 标尺选择(1.0-33.3mmol/L) | 否 | 步进0.01mmol/L | -| 尿酸 | 标尺选择(50-1200mmol/L) | 否 | 步进1mmol/L | -| 总胆固醇 | 标尺选择 | 否 | - | -| 甘油三脂 | 标尺选择 | 否 | - | -| 高密度脂蛋白 | 标尺选择 | 否 | - | -| 低密度脂蛋白 | 标尺选择 | 否 | - | -| 慢性疾病确诊信息 | 单选+文本+日期 | 否 | 已确诊时医院名称和年月必填 | - -### 目标管理 - 目标设定 - -| 字段名 | 类型 | 必填 | 校验规则 | -|--------|------|------|----------| -| 活动选择 | 底部弹窗单选 | 否(个人模式) | 单位活动模式下必选 | -| 计划名称 | 文本输入 | 否(个人模式) | 可自动生成 | -| 目标体重 | 标尺选择 | 是 | 步进0.1kg | -| 目标体脂率 | 标尺选择 | 是 | 步进0.1% | -| 目标腰围 | 标尺选择 | 是 | 步进0.1cm | - -### 体重打卡 - 自记测量 - -| 字段名 | 类型 | 必填 | 校验规则 | -|--------|------|------|----------| -| 体重 | 数值输入+步进 | 否 | 一位小数,范围20-300kg | -| 体脂率 | 数值输入+步进 | 否 | 范围0-60% | -| 腰围 | 数值输入+步进 | 否 | 范围30-200cm | - -### 吃打卡 - 菜品录入 - -| 字段名 | 类型 | 必填 | 校验规则 | -|--------|------|------|----------| -| 餐次 | 选择 | 是 | 早餐/午餐/晚餐/加餐 | -| 菜品 | 搜索+分类选择 | 是 | - | -| 份量 | 数值输入 | 是 | 单位:克 | - -### 动打卡 - 运动录入 - -| 字段名 | 类型 | 必填 | 校验规则 | -|--------|------|------|----------| -| 运动项目 | 搜索+分类选择 | 是 | - | -| 时长 | 数值输入 | 是 | 单位:分钟 |