docs: 健康体检PRD同步17个页面最新改动并重截16张截图(报告弹窗三页签专业版式、封面图/视频上传提示、同步医院体检项目弹窗、三类计划体检年份锁定、组合模板金额列、批量导入人员、预选统计移除医院Tab、预约信息列后移、实时预约日期默认当日起30日、CTA统计移除问卷列、常规报告补录与确认弹窗、员工费用明细筛选导出、胃肠镜查看报告、结果异常精简);screenshot-prd.js支持传入页面名前缀只重截指定页
@@ -6,6 +6,7 @@
|
||||
- `post-unit-cost-stat.html`:单位体检费用统计列表增加"体检医院"列(部门列之后)并在"体检年份"后增加"签约医院"列(该单位签约的体检医院,可能存在多个,逗号相隔);因一个单位会存在多个体检医院,列表按"单位 × 体检医院"拆行——原 6 条单位年度汇总行拆为 16 条医院明细行(各分组内人数/报告/费用合计与原数据保持一致,计划费用仍按 2062.5 元/人 × 已体检人数口径),分页条数同步更新为 16 条,行配置 ROWS 补充 hospital/signed 字段供弹窗标题使用
|
||||
- `post-unit-cost-stat.html`:列表去掉"总人数"列;"体检报告缺少体检项目信息"弹窗增加"项目费用(元)""折扣后费用(元)"两列(折扣后统一按 8 折示例);统计明细弹窗缺少项目口径的"项目总数"标蓝可点击,点击同样打开体检报告缺少体检项目信息弹窗;员工费用明细弹窗"报告缺少项目数"标蓝可点击(报告不完整时),点击同样打开体检报告缺少体检项目信息弹窗;员工费用明细弹窗顶部新增筛选栏(姓名/员工编号模糊查询、报告完整状态 全部/完整/不完整,查询/重置,打开弹窗时自动重置,无结果显示"暂无数据",合计行随筛选结果汇总)及"导出列表数据"按钮
|
||||
- `PRD.md`:第 51 节"单位体检费用统计"功能说明改为按"单位 × 体检医院"统计(一行是一个体检医院),表格列说明同步补充"体检医院""签约医院"两列并去掉"总人数",统计明细弹窗/缺少项目弹窗说明同步更新
|
||||
- `PRD.md`/`screenshot-prd.js`/截图:按当日 17 个页面改动同步更新 PRD 说明并重截 16 张页面截图;`screenshot-prd.js` 支持传入页面名前缀只重截指定页——具体更新:第 1 节个人体检数据报告弹窗改为常规/胃肠镜/冠脉CTA三页签专业版式;第 4 节操作说明补充封面图(JPG/PNG ≤5MB 1280×720)与视频(MP4 ≤200MB)上传提示;第 10 节医院体检项目新增"同步医院体检项目"多选医院弹窗说明并删除已落地的同步方式补充说明;第 12/27/30 节三类体检计划管理补充"新增模式体检年份锁定当年、隐藏参加人员范围"规则;第 17 节组合模板项目表格增加"金额(元)"列说明并删除已落地的默认费用补充说明;第 22 节指定员工体检医院操作栏增加"批量导入人员""查看导入任务";第 25 节预选信息统计移除"医院"Tab 仅保留部门维度;第 32 节体检预约"体检预约信息"列移至"预约状态"之后;第 36 节医院实时预约人数日期默认改为当日至 30 日后;第 44 节冠脉CTA单位预约统计移除"填写问卷人数"列;第 45 节常规体检报告补充复选框列、"报告模板导入"按钮、体检报告补录弹窗、员工操作确认弹窗及专业版式报告弹窗;第 51 节员工费用明细弹窗补充筛选栏/导出/缺少项目数蓝链;第 62 节胃肠镜体检报告"详情"弹窗改为"查看报告"专业版式、编辑弹窗仅报告图片可修改;第 68 节结果异常移除"异常等级"筛选/列与页首定义说明框
|
||||
|
||||
## [Unreleased] 2026-09-15
|
||||
|
||||
|
||||
@@ -269,7 +269,11 @@
|
||||
- 一级分类→ 二级分类→ 具体项目,重点项目列分三组:
|
||||
- 操作列(冻结):蓝色链接"查看报告"
|
||||
|
||||
**体检报告弹窗:** 标题"姓名 · 体检报告",含体检结论、体检建议、体检项目;每张子表列为项目名称/结果/单位/参考值,异常结果红色标注。支持 ✕/关闭按钮/遮罩/Esc 关闭。
|
||||
**体检报告弹窗:** 标题"姓名 · 体检报告",顶部页签切换三类报告(常规体检 / 胃肠镜体检 / 冠脉CTA体检,默认常规体检),均采用专业报告版式(深色报告头 + 基本信息 + 分节内容):
|
||||
- 常规体检:报告头"健康体检报告",基本信息含姓名/性别/年龄/体检编号/体检日期/体检医院;正文含体检结论(橙色提示框)、体检建议(绿色提示框)及物理检查/内科/外科/化学检查等分科明细;每张子表列为项目名称/结果/单位/参考值,异常结果红色标注
|
||||
- 胃肠镜体检:报告头"胃肠镜检查报告",基本信息含检查编号/检查日期/检查医院;胃镜检查表(食管/胃/十二指肠/诊断结果)、肠镜检查表(结肠/诊断结果/病理诊断)+ 报告图片(胃镜报告/肠镜报告/活检报告,"查看"链接)
|
||||
- 冠脉CTA体检:报告头"冠状动脉CT血管成像报告",基本信息含检查编号/检查日期/检查医院;检查条件(心率/屏气/冠脉分布)、冠状动脉钙化积分(Agatston 总积分)、冠脉分段表格(血管/段、斑块性质标签:钙化/非钙化/混合/无、狭窄程度按分级着色、描述)+ 心脏及心包所见 + 印象(CAD-RADS 评分色块 + 结论列表)+ 建议 + 报告图片
|
||||
- 报告内容按员工自动匹配两套示例档案(正常/异常),支持 ✕/关闭按钮/遮罩/Esc 关闭。
|
||||
|
||||
**业务规则:**
|
||||
- 异常判定:任一项目结果带异常标记即视为异常员工,"异常员工"筛选据此过滤
|
||||
@@ -346,7 +350,7 @@
|
||||
- 讲解类型 *(分段切换:图文讲解/视频讲解;编辑态锁定为只读)
|
||||
- 标题 *(输入框)、简介(多行文本域)、排序(数字,越小越靠前)
|
||||
- 图文讲解专属:操作说明(富文本编辑器)
|
||||
- 视频讲解专属:封面图(上传)、视频文件(上传)
|
||||
- 视频讲解专属:封面图(上传,提示"支持 JPG/PNG 格式,大小不超过 5MB,建议尺寸 1280×720(16:9)")、视频文件(上传,仅 MP4,提示"支持 MP4 格式,大小不超过 200MB,时长建议 10 分钟以内")
|
||||
- 底部:取消、保存
|
||||
|
||||
**预览弹窗:** 视频类型为 16:9 播放器占位;图文类型渲染富文本内容。
|
||||
@@ -490,14 +494,13 @@
|
||||
|
||||
**新增/编辑弹窗:** 医院 *(下拉)、体检项目名称 *、体检项目编码 *;底部取消、保存
|
||||
|
||||
**同步医院体检项目弹窗:** 点击"同步医院体检项目"打开;说明文案"选择医院进行同步医院体检项目,结果可在查看同步任务中查看";选择医院 *(复选列表:全选 + 各医院多选);底部取消、确认同步。
|
||||
|
||||
**同步任务记录弹窗:** 表格列:触发时间、同步人、状态(蓝色"同步中"/绿色"成功"/红色"失败"标签)、同步数据信息("查看详情"链接);底部关闭
|
||||
|
||||
**同步数据信息弹窗:** 点击任务行"查看详情"打开;顶部摘要显示触发时间、同步人、共同步条数;表格列:序号、医院、体检项目编码、体检项目名称、关联体检基本项、关联医院系统项目、同步结果(蓝色"新增"/绿色"更新"标签);底部关闭
|
||||
|
||||
**业务规则:** "同步医院体检项目"确认后生成一条"同步中"任务(同步中即可查看本次明细),完成后变"成功";编辑仅回填医院/编码/名称;删除有确认提示。
|
||||
|
||||
**补充说明**:
|
||||
考虑一下选择指定医院同步和全部医院同步
|
||||
**业务规则:** "同步医院体检项目"支持指定医院同步(可多选)或全选全部医院同步;未选医院时提示"请选择医院";确认后生成一条"同步中"任务(同步中即可查看本次明细),完成后变"成功",增量项目按所选医院过滤;编辑仅回填医院/编码/名称;删除有确认提示。
|
||||
|
||||
---
|
||||
|
||||
@@ -544,11 +547,11 @@
|
||||
**表格列:** 序号、组织单位、体检年份、体检计划名称、承检医院、签约医院、有效标志(绿色标签)、体检计划日期范围、允许预约日期范围(未开启时灰色"未开启")、创建人、创建时间、操作(详情/编辑/删除)
|
||||
|
||||
**新增/编辑抽屉:**
|
||||
- 组织单位 *(下拉)、体检年份 *(下拉)、体检计划名称 *(输入框)
|
||||
- 组织单位 *(下拉)、体检年份 *(下拉,新增模式锁定为当年不可改)、体检计划名称 *(输入框)
|
||||
- 承检医院 *(多选下拉,标签可删)
|
||||
- 签约医院(多选,选项仅限已勾选的承检医院,未选承检医院时禁用并提示"请先选择承检医院")
|
||||
- 体检计划日期范围 *(日期至日期)
|
||||
- 参加人员范围 *(指定人员面板):指定机构(单位-部门两级树多选,部门全选自动收拢为单位级;默认选中组织单位)+ 指定员工(打开二级"选择员工"弹窗)+ 已选员工标签
|
||||
- 参加人员范围 *(指定人员面板,新增模式下隐藏该区域,编辑时显示):指定机构(单位-部门两级树多选,部门全选自动收拢为单位级;默认选中组织单位)+ 指定员工(打开二级"选择员工"弹窗)+ 已选员工标签
|
||||
- 是否开启预约(开关,默认开启)、允许预约日期范围 *(开启时显示)
|
||||
- 底部:取消、确认新增/保存
|
||||
|
||||
@@ -562,7 +565,8 @@
|
||||
- 承检医院变化时同步剔除失效签约医院;
|
||||
- 是否开启预约关闭后,员工在移动端无法进行预约
|
||||
- 机构勾选联动员工弹窗过滤;
|
||||
- 保存校验组织单位/承检医院/计划名称/日期范围/参加人员/预约范围必填且结束≥开始;
|
||||
- 新增模式:体检年份锁定为当年、隐藏参加人员范围区域(新增后通过编辑补充);编辑模式恢复可编辑
|
||||
- 保存校验组织单位/承检医院/计划名称/日期范围/预约范围必填且结束≥开始,参加人员范围仅编辑时校验必选;
|
||||
- 删除有确认提示。
|
||||
- 可供员工预约的日期范围是医院承检日期+单位允许日期范围的交叉日期,并且在可预约日期的前一天/当天(当天可能是刚创建体检计划,但是预约日期也是当天)给员工发送短信,提醒员工进行预约体检
|
||||
|
||||
@@ -668,16 +672,14 @@
|
||||
**新增/编辑组合模板抽屉:**
|
||||
- 组合模板名称 *、体检医院 *(搜索下拉)、性别 *(男/女/通用)、年龄范围 *、女性专项费用(元)(仅性别=女时显示)、折扣类型 *(数值/百分比)、折扣金额 *(数字)
|
||||
- 内嵌 Tab:必检项目 / 自选项目 / 妇科未婚项目 / 妇科已婚项目 / 防癌筛查项目(性别=男隐藏两个妇科 Tab;防癌筛查 Tab 显示"防癌筛查默认费用(元)"输入)
|
||||
- 每个 Tab:+ 添加项目 + 表格(体检项目[可搜索下拉]、项目编码[自动填充只读]、项目标记[一般项目/重点项目]、操作[删除])
|
||||
- 每个 Tab:+ 添加项目 + 表格(体检项目[可搜索下拉]、项目编码[自动填充只读]、项目标记[一般项目/重点项目]、金额(元)[自动填充只读]、操作[删除])
|
||||
- 底部:取消、确认保存
|
||||
|
||||
**复制上一年度模板弹窗:** 上一年度(复制来源,禁用)、本年度(复制目标,禁用)、体检医院 *、模板 *(未选医院时禁用);提示"确认后将把所选医院的上一年度模板复制到本年度,已存在的同名模板将被覆盖。";取消/确认复制
|
||||
|
||||
**组合模板详情弹窗(只读):** 医院名称、体检年份、模板名称、性别、年龄范围、女性专项费用、折扣类型、折扣金额 + 内嵌同名 5 Tab 项目表格(防癌 Tab 末尾显示默认费用);底部关闭
|
||||
|
||||
**业务规则:** 性别联动女性专项费用与妇科 Tab 显隐;折扣类型决定金额落在"折扣数值"或"折扣百分比"列;复制弹窗医院→模板二级联动。
|
||||
|
||||
**补充说明:** 建议增加体检项目的默认费用显示。
|
||||
**业务规则:** 性别联动女性专项费用与妇科 Tab 显隐;折扣类型决定金额落在"折扣数值"或"折扣百分比"列;复制弹窗医院→模板二级联动;选择体检项目后自动带出该项目金额(按项目库单价,妇科/防癌等特殊项目按编码匹配)。
|
||||
|
||||
---
|
||||
|
||||
@@ -796,7 +798,7 @@
|
||||
|
||||
**筛选条件:** 体检年份(年份日历选择控件,默认当年)、单位(下拉)、部门(下拉)、指定体检医院(下拉)、姓名、员工编号、身份证号(输入框)+ 查询/重置按钮
|
||||
|
||||
**操作按钮:** + 添加指定体检医院员工、导出列表数据、查看导出任务、批量删除
|
||||
**操作按钮:** + 添加指定体检医院员工、导出列表数据、查看导出任务、批量导入人员、查看导入任务、批量删除
|
||||
|
||||
**表格列:** 复选框(全选)、姓名、员工编号、性别、年龄、指定体检医院、身份证号、手机号、单位、部门、年度体检、创建日期、操作(删除)
|
||||
|
||||
@@ -848,19 +850,15 @@
|
||||
|
||||

|
||||
|
||||
**功能说明:** 按"部门"和"医院"两个维度统计胃肠镜预选人数;点击预选人数数字弹出人员明细。
|
||||
**功能说明:** 按"部门"维度统计胃肠镜预选人数;点击预选人数数字弹出人员明细。
|
||||
|
||||
**Tab 切换:** 部门 / 医院(各自独立筛选栏与表格)
|
||||
**筛选条件:** 体检年份(年份日历选择控件)、单位部门(下拉)、预选医院(下拉)+ 查询/重置
|
||||
|
||||
**部门 Tab 筛选:** 体检年份(年份日历选择控件)、单位部门(下拉)、预选医院(下拉)+ 查询/重置
|
||||
**医院 Tab 筛选:** 体检年份(年份日历选择控件)、单位(下拉)、预选医院(下拉)+ 查询/重置
|
||||
**操作按钮:** 导出列表数据、查看导出任务
|
||||
|
||||
**操作按钮(两个 Tab 相同):** 导出列表数据、查看导出任务
|
||||
**表格列:** 单位、部门、体检年份、预选计划、预选医院、预选人数(蓝色数字链接)
|
||||
|
||||
**部门 Tab 表格列:** 单位、部门、体检年份、预选计划、预选医院、预选人数(蓝色数字链接)
|
||||
**医院 Tab 表格列:** 预选医院、体检年份、单位、预选人数(蓝色数字链接)
|
||||
|
||||
**预选人数明细弹窗(860px):** 标题"预选人数明细 - {单位部门/医院}";表格列:姓名、员工编号、身份证号、单位、部门、预选医院、提交时间;右上"导出列表数据";底部关闭
|
||||
**预选人数明细弹窗(860px):** 标题"预选人数明细 - {单位部门}";表格列:姓名、员工编号、身份证号、单位、部门、预选医院、提交时间;右上"导出列表数据";底部关闭
|
||||
|
||||
---
|
||||
|
||||
@@ -892,9 +890,9 @@
|
||||
|
||||
**表格列:** 序号、单位、体检年份、体检计划名称、承检医院、有效标志、体检计划日期范围、允许预约日期范围、创建人、创建时间、操作(详情/编辑/删除)
|
||||
|
||||
**新增/编辑抽屉 / 详情弹窗 / 选择员工二级弹窗:** 字段与常规体检计划管理一致(抽屉标题为"新增/编辑胃肠镜体检计划",计划名称示例为"XX 2026年员工胃肠镜体检")。
|
||||
**新增/编辑抽屉 / 详情弹窗 / 选择员工二级弹窗:** 字段与常规体检计划管理一致(抽屉标题为"新增/编辑胃肠镜体检计划",计划名称示例为"XX 2026年员工胃肠镜体检";新增模式体检年份锁定为当年、隐藏参加人员范围区域,编辑模式恢复)。
|
||||
|
||||
**业务规则:** 保存校验(toast 提示)与常规版一致;删除有确认提示。
|
||||
**业务规则:** 保存校验(toast 提示)与常规版一致(参加人员范围仅编辑时校验必选);删除有确认提示。
|
||||
|
||||
---
|
||||
|
||||
@@ -935,7 +933,7 @@
|
||||
|
||||

|
||||
|
||||
**功能说明:** 管理各单位年度冠脉CTA体检计划。页面结构与胃肠镜版完全一致(克隆页)。
|
||||
**功能说明:** 管理各单位年度冠脉CTA体检计划。页面结构与胃肠镜版完全一致(克隆页);新增模式体检年份锁定为当年、隐藏参加人员范围区域,编辑模式恢复(与常规/胃肠镜版一致)。
|
||||
|
||||
|
||||
---
|
||||
@@ -972,7 +970,7 @@
|
||||
|
||||
**操作按钮:** 导出列表数据、查看导出任务、同步医院体检预约信息
|
||||
|
||||
**表格列(两级表头):** 复选框(全选)、姓名、性别、年龄、年龄范围、身份证号、单位、部门、机构分类、员工编号、体检编码、用工形式、婚姻状态、体检类型、防癌项、是否上市员工、体检医院、体检预约信息、体检总费用、体检明细费用(colspan=4:必检费用/选检费用/妇科费用/防癌筛查费用)、预约状态(标签)、预约日期、体检状态(标签)、体检日期、体检年份、体检计划、操作(详情);前 3 列左冻结、操作列右冻结
|
||||
**表格列(两级表头):** 复选框(全选)、姓名、性别、年龄、年龄范围、身份证号、单位、部门、机构分类、员工编号、体检编码、用工形式、婚姻状态、体检类型、防癌项、是否上市员工、体检医院、体检总费用、体检明细费用(colspan=4:必检费用/选检费用/妇科费用/防癌筛查费用)、预约状态(标签)、体检预约信息、预约日期、体检状态(标签)、体检日期、体检年份、体检计划、操作(详情);前 3 列左冻结、操作列右冻结
|
||||
|
||||
**预约跟踪详情弹窗(880px):**
|
||||
- 基本信息:姓名/员工编号/性别/年龄/年龄范围/身份证号/单位/部门/机构分类/体检编码/用工形式/婚姻状态/体检类型/防癌项/是否上市员工
|
||||
@@ -1047,7 +1045,7 @@
|
||||
|
||||
**功能说明:** 按医院+日期查看医院承检能力与当日已预约人数的实时统计,用于监控各医院预约饱和度。
|
||||
|
||||
**筛选条件:** 体检年份(年份日历选择控件,默认当年)、医院(下拉)、日期范围(日期至日期,默认当月 1 号至当月最后一天)
|
||||
**筛选条件:** 体检年份(年份日历选择控件,默认当年)、医院(下拉)、日期范围(日期至日期,默认当日至 30 日后)
|
||||
|
||||
**操作按钮:** 导出列表数据、查看导出任务
|
||||
|
||||
@@ -1166,7 +1164,7 @@
|
||||
|
||||

|
||||
|
||||
**功能说明:** 按单位(二级/三级)统计冠脉CTA体检的应检、问卷填写、预约与参检人数。页面结构与胃肠镜版单位预约统计完全一致(克隆页)。
|
||||
**功能说明:** 按单位(二级/三级)统计冠脉CTA体检的应检、预约与参检人数(冠脉CTA免问卷,无问卷填写列)。页面结构与胃肠镜版单位预约统计类似(克隆页,差异:无"填写问卷人数"列)。
|
||||
|
||||
|
||||
---
|
||||
@@ -1179,17 +1177,19 @@
|
||||
|
||||

|
||||
|
||||
**功能说明:** 常规体检报告列表,支持更新报告数据、报告补录、获取影像报告、导出,并可打开单份报告详情弹窗(结论/建议/分科明细)。
|
||||
**功能说明:** 常规体检报告列表,支持勾选员工后批量更新报告数据/获取影像报告、报告补录、报告模板导入、导出,并可打开单份专业版式报告弹窗(结论/建议/分科明细)。
|
||||
|
||||
**筛选条件:** 体检年份(年份日历选择控件,默认当年)、单位部门(下拉)、姓名、员工编号、身份证号(输入框)+ 查询/重置按钮
|
||||
|
||||
**操作按钮:** 更新体检报告数据、体检报告补录、获取影像报告、导出详细报告、查看导出任务
|
||||
**操作按钮:** 更新体检报告数据、体检报告补录、获取影像报告、报告模板导入、导出详细报告、查看导出任务
|
||||
|
||||
**表格列:** 序号、姓名、员工编号、性别、年龄、身份证号、单位、部门、体检医院、体检类型、体检日期、终审日期、更新日期、是否已读、已读时间、操作(查看报告/查看影像/下载报告)
|
||||
**表格列:** 复选框(全选)、序号、姓名、员工编号、性别、年龄、身份证号、单位、部门、体检医院、体检类型、体检日期、终审日期、更新日期、是否已读、已读时间、操作(查看报告/查看影像/下载报告)
|
||||
|
||||
**体检报告弹窗:**
|
||||
- 每个项目结果表列固定:项目名称/结果/单位/参考值,异常结果红色标注(带 ↑↓ 箭头)
|
||||
- 更新体检报告数据、体检报告补录、获取影像报告按钮:参考之前代码逻辑
|
||||
**体检报告弹窗:** 标题"姓名 · 常规体检报告",专业报告版式:深色报告头"健康体检报告"+ 基本信息区(姓名/性别/年龄/体检编号/体检日期/体检医院);正文含体检结论(橙色提示框)、体检建议(绿色提示框)及物理检查/内科/外科/化学检查等分科明细;每个项目结果表列固定:项目名称/结果/单位/参考值,异常结果红色标注(带 ↑↓ 箭头);底部关闭
|
||||
|
||||
**体检报告补录弹窗(480px):** 体检医院 *(下拉)、身份证号、体检编号、体检年份 *(年份选择控件,默认当年);提示"身份证号与体检编号必须至少填写一项",两者均为空时确定报错"身份证号与体检编号不能都为空,请至少填写一项";底部取消、确定
|
||||
|
||||
**员工操作确认弹窗(420px):** 点击"更新体检报告数据"或"获取影像报告"时触发;未勾选员工则提示"请先选择至少一位员工";已勾选时弹窗列出已选员工("已选择 N 位员工,请确认:姓名、…"),确认后执行操作;底部取消、确定
|
||||
|
||||
---
|
||||
|
||||
@@ -1308,7 +1308,7 @@
|
||||
|
||||
**表格列:** 序号、单位、部门(仅三级单位 Tab)、体检医院、已体检人数、报告完整人数、报告不完整人数、报告缺少项目总数、计划总体检费用(元)、实际总体检费用(元)、体检年份、签约医院(该单位签约的体检医院,可能存在多个,逗号相隔,位于体检年份之后)、操作(员工费用明细);已体检人数/报告完整人数/报告不完整人数/报告缺少项目总数 4 列为蓝色数字链接
|
||||
|
||||
**员工费用明细弹窗:** 标题"「单位」YYYY年 员工费用明细";表格列:序号、姓名、员工编号、部门、体检日期、体检医院、应检项目数(蓝链)、已检项目数(蓝链,附灰色提示"含未检/弃检 N")、报告完整状态(绿"完整"/橙"不完整"标签)、报告缺少项目数、计划体检费用(元)、实际体检费用(元);底部合计行;关闭
|
||||
**员工费用明细弹窗:** 标题"「单位」YYYY年 员工费用明细";顶部筛选栏(姓名/员工编号模糊查询、报告完整状态 全部/完整/不完整 + 查询/重置按钮,打开弹窗时自动重置)及"导出列表数据"按钮;表格列:序号、姓名、员工编号、部门、体检日期、体检医院、应检项目数(蓝链)、已检项目数(蓝链,附灰色提示"含未检/弃检 N")、报告完整状态(绿"完整"/橙"不完整"标签)、报告缺少项目数(不完整时标蓝可点击,打开体检报告缺少体检项目信息弹窗)、计划体检费用(元)、实际体检费用(元);无结果时显示"暂无数据";底部合计行随筛选结果汇总;关闭
|
||||
|
||||
**项目列表弹窗(560px,二层):** 标题"「姓名」应检项目/已检项目(YYYY年)";表头动态:序号、项目名称、项目类别、应检项目费用(元)/项目费用(元)、体检状态(绿"已检"/红"弃检"/橙"未检"标签);底部费用合计行。项目库为 4 档套餐,费用合计恰与额度档 1000/1500/2500/4000 元一致
|
||||
|
||||
@@ -1491,31 +1491,34 @@
|
||||
|
||||

|
||||
|
||||
**功能说明:** 管理员工胃肠镜体检的报告图片,支持查看报告详情(体检项目/病种勾选/体检处理情况/病变情况四类结构化数据)与上传/替换报告图片。提供列表导出导入及列设置。
|
||||
**功能说明:** 管理员工胃肠镜体检的报告图片,支持以专业版式查看报告(胃镜/肠镜所见与诊断、病理诊断、报告图片)及上传/替换报告图片。提供列表导出导入及列设置。
|
||||
|
||||
**筛选条件:** 体检年份(年份日历选择控件,默认当年)、单位部门(下拉,单位/部门两级分组)、体检医院(下拉)、姓名、员工编号、身份证号(输入框)+ 查询/重置按钮
|
||||
|
||||
**操作按钮:** 导出列表数据、导出体检数据、查看导出任务、导入体检数据、查看导入任务、列设置
|
||||
|
||||
**表格列:** 姓名(固定)、员工编号(固定)、性别、年龄、单位(固定)、部门(固定)、身份证号、体检医院、检查日期、胃镜报告(缩略图)、肠镜报告(缩略图)、创建时间、体检年份、操作(编辑/详情)
|
||||
**表格列:** 姓名(固定)、员工编号(固定)、性别、年龄、单位(固定)、部门(固定)、身份证号、体检医院、检查日期、胃镜报告(缩略图)、肠镜报告(缩略图)、创建时间、体检年份、操作(编辑/查看报告)
|
||||
|
||||
**业务规则:**
|
||||
- 报告缩略图:有报告时点击打开详情弹窗;无报告时灰底占位,点击打开编辑弹窗上传
|
||||
- 报告缩略图:有报告时点击打开查看报告弹窗;无报告时灰底占位,点击打开编辑弹窗上传
|
||||
- 列设置气泡:固定列(姓名/员工编号/单位/部门/操作)不可隐藏,其余列可勾选显隐
|
||||
- 上传为模拟交互(选择文件后 toast 提示),保存写回行数据
|
||||
|
||||
**报告详情弹窗(900px):** 标题"姓名 · 胃肠镜报告详情":
|
||||
**查看报告弹窗(宽版):** 标题"姓名 · 胃肠镜检查报告",专业报告版式(与个人体检数据-胃肠镜体检页签一致):深色报告头"胃肠镜检查报告"+ 基本信息区(姓名/性别/年龄/检查编号/检查日期/检查医院);
|
||||
- 胃镜检查表:项目(食管/胃/十二指肠/诊断结果)× 所见/结论
|
||||
- 肠镜检查表:项目(结肠/诊断结果/病理诊断)× 所见/结论
|
||||
- 报告图片:胃镜报告/肠镜报告/活检报告("查看"链接);底部关闭
|
||||
|
||||
**编辑报告弹窗(900px):**
|
||||
- 基本信息两列表单(姓名/身份证号/单位/部门/承检医院/体检年份,只读)
|
||||
- 胃镜报告图片 *、肠镜报告图片 *、活检报告图片 *(图片预览块,无图时虚线框"暂无图片")
|
||||
- 4 个页签:
|
||||
- 胃镜报告图片 *、肠镜报告图片 *、活检报告图片三个图片区(已上传:图片预览 + "重新上传"/"删除"链接;未上传:"上传图片"链接)
|
||||
- 4 个只读页签:
|
||||
- 体检项目:列 #、检查类别、项目编号、项目名称、结果(胃镜/肠镜分段所见描述)
|
||||
- 病种勾选:列 #、项目编号、项目名称、结果(如 SE02.02 糜烂性胃炎、SE02.05 黏膜萎缩)
|
||||
- 体检处理情况:同列结构(如 PE01.01 病理取材、PE01.02 建议复查)
|
||||
- 病变情况:同列结构(如 LE01.01 胃黏膜糜烂、LE01.02 胃黏膜萎缩)
|
||||
- 病种/处理/病变三个页签仅当该员工有胃镜报告时有数据,否则"暂无数据"
|
||||
- 底部关闭
|
||||
|
||||
**编辑报告弹窗(900px):** 基本信息(只读信息网格)+ 胃镜报告图片、肠镜报告图片两个上传区(已上传显示大图预览 + "重新上传""删除"链接;未上传显示"点击上传");取消/保存
|
||||
- 仅报告图片可修改,其余字段只读;底部取消/保存
|
||||
|
||||
---
|
||||
|
||||
@@ -1647,14 +1650,10 @@
|
||||
|
||||

|
||||
|
||||
**功能说明:** 展示体检结果中指标超出正常参考范围的异常记录(危急/异常两级),支持按单位、时间范围、异常等级筛选与导出。
|
||||
**功能说明:** 展示体检结果中指标超出正常参考范围的异常记录,支持按单位、时间范围筛选与导出。
|
||||
|
||||
**筛选条件:** 体检年份(年份日历选择控件,默认当年)、单位(下拉)、时间范围(日期至日期)、异常等级(下拉:全部/危急/异常)+ 查询/重置按钮
|
||||
**筛选条件:** 体检年份(年份日历选择控件,默认当年)、单位(下拉)、时间范围(日期至日期)+ 查询/重置按钮
|
||||
|
||||
**操作按钮:** 导出列表数据、查看导出任务
|
||||
|
||||
**表格列:** 序号、异常等级(红色"危急"/橙色"异常"标签)、员工姓名、员工编号、单位、异常项目、异常值、参考范围、发现时间
|
||||
|
||||
**业务规则:**
|
||||
- 页首异常数据定义说明框(黄色提示框):危急(指标严重偏离正常范围,需立即处理)、异常(指标超出参考范围但未达危急程度);系统自动检测并记录
|
||||
- 异常等级措辞统一不带"值"字(危急/异常),表头数据列"异常值"(指偏离数值本身)不受影响
|
||||
**表格列:** 序号、员工姓名、员工编号、单位、异常项目、异常值、参考范围、发现时间
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
* 健康体检(管理端)PRD 截图生成脚本
|
||||
*
|
||||
* 用法:在 web-admin/health-checkup 目录下执行 node doc/screenshot-prd.js
|
||||
* 可选传入页面名前缀只重截指定页,如 node doc/screenshot-prd.js post-unit-cost-stat pre-plan
|
||||
* 依赖:playwright(npm i playwright && npx playwright install chromium)
|
||||
* 输出:doc/screenshots/*.jpg(与 doc/PRD.md 中  引用一一对应)
|
||||
*
|
||||
@@ -100,6 +101,14 @@ const TASKS = [
|
||||
];
|
||||
|
||||
(async () => {
|
||||
const args = process.argv.slice(2);
|
||||
const tasks = args.length
|
||||
? TASKS.filter(t => args.some(a => t.page.startsWith(a) || t.output.startsWith(a)))
|
||||
: TASKS;
|
||||
if (!tasks.length) {
|
||||
console.error('没有匹配到页面:', args.join(' '));
|
||||
process.exit(1);
|
||||
}
|
||||
fs.mkdirSync(OUT_DIR, { recursive: true });
|
||||
const browser = await chromium.launch();
|
||||
const context = await browser.newContext({
|
||||
@@ -109,7 +118,7 @@ const TASKS = [
|
||||
const page = await context.newPage();
|
||||
|
||||
let failed = 0;
|
||||
for (const task of TASKS) {
|
||||
for (const task of tasks) {
|
||||
const file = path.join(ROOT, task.page);
|
||||
if (!fs.existsSync(file)) {
|
||||
console.error('✗ 缺少文件:', task.page);
|
||||
@@ -134,6 +143,6 @@ const TASKS = [
|
||||
}
|
||||
|
||||
await browser.close();
|
||||
console.log(`\n完成:成功 ${TASKS.length - failed} / ${TASKS.length} 张 → ${OUT_DIR}`);
|
||||
console.log(`\n完成:成功 ${tasks.length - failed} / ${tasks.length} 张 → ${OUT_DIR}`);
|
||||
if (failed > 0) process.exit(1);
|
||||
})();
|
||||
|
||||
|
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB |
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 90 KiB |
|
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 119 KiB |
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 62 KiB |
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 81 KiB |
|
Before Width: | Height: | Size: 110 KiB After Width: | Height: | Size: 178 KiB |
|
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 84 KiB |
|
Before Width: | Height: | Size: 83 KiB After Width: | Height: | Size: 86 KiB |
|
Before Width: | Height: | Size: 77 KiB After Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 81 KiB |
|
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 84 KiB |
|
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 80 KiB |