Files
his/openhis-ui-vue3/src/views/doctorstation/components/prescription/test.md

21 KiB
Raw Blame History

门诊手术安排界面PRD文档

一、页面概述

页面名称:门诊手术安排界面 页面目标:提供手术室手术安排信息的录入、查询、编辑和删除功能,支持手术排班全流程管理 适用场景:门诊医生或手术室管理人员安排手术时使用 页面类型:表单页+列表页组合(主列表+弹窗表单)

**原型图地址:**https://static.pm-ai.cn/prototype/20260106/28ca9ee6ac20cfd8c867d3989ffd88f9/index.html

核心功能

  1. 手术申请单查询与筛选功能
  2. 手术安排信息新增与编辑功能
  3. 手术信息详细展示与表单填写
  4. 手术数据导出功能
  5. 手术申请单与手术安排单的关联操作 用户价值:通过该界面,医护人员可以高效完成手术排期工作,确保手术资源合理分配,减少人工操作错误,提高手术室管理效率,实现手术全流程的数字化管理。

流程图:

flowchart TD
    node_start(["Start"]) --> A["进入门诊手术安排界面"]
    A --> B["顶部筛选区域操作"]
    B --> C{"选择操作类型"}
    C -- "查询" --> D["填写查询条件"]
    D --> E["点击查询按钮"]
    E --> F{"查询结果?"}
    F -- "有数据" --> G["显示手术安排列表"]
    F -- "无数据" --> H["显示无数据提示"]
    G --> I["底部分页操作"]
    I -- "编辑" --> J["打开带数据的弹窗"]
    J --> K["修改字段"]
    K --> L["点击保存"]
    L --> M{"验证通过?"}
    M -- "是" --> N["更新表格数据"]
    M -- "否" --> O["显示错误提示"]
    I -- "查看" --> P["打开只读详情弹窗"]
    P --> Q{"是否要删除?"}
    Q -- "是" --> T["弹出确认对话框"]
    Q -- "否" --> S["关闭详情弹窗"]
    I -- "删除" --> T["弹出确认对话框"]
    T --> U{"确认删除?"}
    U -- "是" --> V["更新列表显示"]
    U -- "否" --> S
    C -- "新增" --> W["打开空白手术安排弹窗"]
    W --> X["填写手术信息"]
    X --> Y{"是否关联手术申请?"}
    Y -- "是" --> Z["打开手术申请查询弹窗"]
    Z --> AA["填写查询条件并查询"]
    AA --> AB{"验证通过?"}
    AB -- "是" --> AC["保存数据到op_schedule表"]
    AB -- "否" --> AD["高亮错误字段提示"]
    AC --> AE["新增记录到表格首行"]
    Y -- "否" --> AF["直接填写表单"]
    AF --> AG["填写手术安排信息"]
    AG --> L["点击保存"]
    C -- "重置" --> AH["清空所有筛选条件"]
    C -- "导出" --> AI["收集当前表格数据"]
    AI --> AJ["生成CSV文件并下载"]

二、整体布局分析

页面宽度:自适应布局 主要区域划分

  1. 顶部筛选操作区
  2. 中间表格列表区
  3. 底部分页区
  4. 手术安排弹窗(模态框)
  5. 手术申请查询弹窗(模态框) 布局方式:上下布局为主,弹窗采用居中模态框布局

布局特点:上下布局风格的组件 响应式要求

  • 桌面端:完整展示所有筛选条件和表格列

三、页面区域详细描述

1. 顶部筛选区

区域位置:页面顶部 区域尺寸100%宽度内边距16px 区域功能:手术申请单的筛选和快捷操作 包含元素

  • 安排时间选择器
    • 元素类型:日期选择输入框
    • 默认值:空
    • 交互行为:点击弹出日期选择器
  • 卫生机构下拉框
    • 元素类型:下拉选择框
    • 默认值:当前登录用户所属机构名称
    • 选项:默认当前登录用户所属机构名称
  • 申请科室下拉框
    • 元素类型:下拉选择框
    • 默认值:“请选择”
    • 选项:取值于科室管理的科室分类字段:门诊
  • 姓名/拼音码输入框
    • 元素类型:文本输入框
    • 默认值:空
    • 占位文本:“姓名/拼音码”
  • 查询按钮
    • 元素类型:主要操作按钮
    • 样式:蓝色背景,白色文字
    • 交互行为:点击执行表格数据筛选
  • 重置按钮
    • 元素类型:次要按钮
    • 样式:灰色背景,黑色文字
    • 交互行为:点击清空所有筛选条件
  • 新增按钮
    • 元素类型:主要操作按钮
    • 样式:蓝色背景,白色文字
    • 交互行为:点击打开新增手术安排弹窗
  • 导出表格按钮
    • 元素类型:成功状态按钮
    • 样式:绿色背景,白色文字
    • 交互行为点击导出当前表格数据为CSV文件

2. 中部表格区

区域位置:筛选区下方 区域尺寸100%宽度,自适应高度 区域功能:展示手术安排列表数据,提供行操作功能 包含元素

  • 手术安排数据表格
    • 列1ID - 数字 - 示例值100
    • 列2卫生机构 - 文本 - 示例值:“演示医院”
    • 列3姓名 - 文本 - 示例值:“张明娟”
    • 列4就诊卡号 - 文本 - 示例值“27364”
    • 列5手术单号 - 文本 - 示例值“202510270001”
    • 列6手术名称 - 文本 - 示例值:“肠系膜固定术”
    • 列7申请科室 - 文本 - 示例值“ICU”
    • 列8手术类型 - 文本 - 示例值:“急诊”
    • 列9手术性质 - 文本 - 示例值:“急诊手术”
    • 列10主刀医生 - 文本 - 示例值:“杨海”
    • 列11麻醉方法 - 文本 - 示例值:“静吸复合全麻”
    • 列12安排时间 - 日期时间 - 示例值“2025-10-27 16:09:39”
    • 列13操作人 - 文本 - 示例值:“演示测试”
    • 列14操作 - 操作按钮组
      • 编辑按钮:铅笔图标,点击打开编辑手术安排弹窗
      • 查看按钮:眼睛图标,点击打开查看手术安排弹窗
      • 删除按钮垃圾桶图标点击取消当前行手术安排记录op_schedule.oper_status 3-取消)
  • 表格交互:
    • 行悬停效果:浅灰色背景
    • 行选中效果:蓝色边框和浅蓝色背景

3. 底部分页区

区域位置:页面底部 区域功能:显示数据总量和分页控制 包含元素

  • 总数显示
    • 元素类型:文本
    • 内容格式“总数X”
  • 分页按钮组
    • 上一页按钮:"<"符号
    • 页码按钮:当前页码,激活状态为蓝色背景
    • 下一页按钮:">"符号

4. 手术安排弹窗(模态框)

区域位置:居中覆盖全屏 区域尺寸:自适应 区域功能:展示和编辑手术安排详细信息 包含元素

  • 弹窗头部
    • 标题:“手术安排”
    • 操作按钮组:【查找】、【刷新】、【返回】、【保存】

【刷新】--重置手术安排界面的内容

  • 表单内容区
    • 病人基本信息组:就诊卡号、姓名、性别、年龄等(只读,从手术申请界面引入病人信息)
    • 手术申请信息组:手术单号、手术名称、申请科室等(只读,从手术申请界面引入病人手术申请信息)
    • 手术安排组:安排时间、手术台次、手术间号等(填写)
    • 医护人员组:主刀医生、助手、护士等(填写)
    • 手术过程组:入室时间、麻醉时间、手术时间等(填写)
    • 备注信息组:对话信息、备注等(填写)
  • 表单元素特点:
    • 只读字段:灰色背景,不可编辑
    • 必填字段:标有"*"号
    • 时间选择器:带时钟图标
    • 单选按钮组:水平排列
    • 宽文本域:可垂直调整高度

5. 手术申请查询弹窗(模态框)

区域位置:居中覆盖全屏 区域功能:查询并选择手术申请单 包含元素

  • 查询条件区
    • 申请时间范围选择器
    • 申请科室下拉框
    • 主刀医生下拉框
    • 关键词搜索框
    • 查询按钮
  • 结果表格区
    • 列1ID - 数字 - 示例值142
    • 列2姓名 - 文本 - 示例值:“张一山”
    • 列3手术单号 - 文本 - 示例值“202504290001”
    • 列4手术名称 - 文本 - 示例值:“腋臭切除术”
    • 列5申请科室 - 文本 - 示例值:“外科”
    • 列6手术类型 - 文本 - 示例值:“急诊”
    • 列7手术等级 - 文本 - 示例值:“一级手术”
    • 列8主刀医生 - 文本 - 示例值:“演示测试”
  • 底部操作区
    • 取消按钮
    • 确认按钮

四、交互功能详细说明

1. 手术申请查询功能

触发方式:点击"查找"按钮 执行流程

  1. 打开手术申请查询弹窗
  2. 填写查询条件(可多条件组合)
  3. 点击"查询"按钮获取结果
  4. 选择需要的手术申请记录
  5. 点击"确认"按钮带回数据(手术安排界面) 反馈机制
  • 查询无结果时显示提示信息
  • 未选择记录时点击确认提示"请先选择一条手术申请记录" 异常处理
  • 网络异常时显示错误提示
  • 查询超时自动重试一次

2. 新增手术安排功能

触发方式:点击"新增"按钮 执行流程

  1. 打开空白的"手术安排"弹窗
  2. 填写各项手术信息(可点击"查找"按钮关联手术申请)
  3. 点击"保存"按钮提交数据—写入手术安排表op_schedule
  4. 新记录添加到表格首行

·· ①、写入手术安排表op_schedule

②、更新门诊手术申请单主表(outp_surgery_apply confirm_time、confirm_op_id、status字段

UPDATE outp_surgery_apply

SET confirm_time = NOW(),

confirm_op_id = #{confirmOpId},

status = 1 -- 更新状态为已排程

WHERE apply_id = #{applyId};

反馈机制

  • 必填字段未填写时提示
  • 保存成功显示提示信息 异常处理
  • 手术单号重复时提示并允许修改
  • 表单验证不通过时高亮错误字段

3. 编辑手术安排功能

触发方式:点击行操作中的"编辑"按钮 执行流程

  1. 打开带数据的"手术安排"弹窗
  2. 修改需要调整的字段
  3. 点击"保存"按钮更新数据
  4. 表格中对应行数据更新 反馈机制
  • 保存成功显示"手术安排已更新"提示 异常处理
  • 数据冲突时提示并允许重新加载

4. 删除手术申请单

触发方式:点击表格行中的"删除"按钮 执行流程

  1. 弹出确认对弹框输入取消原因
  2. 确认后执行删除
  3. 更新列表数据

①、更新手术安排表op_schedulestatus字段

UPDATE op_schedule

SET status = 3 *-- 更新状态为已取消*

WHERE schedule_id = *#{scheduleId};*

②、更新门诊手术申请单主表(**outp_surgery_apply** cancel_timecancel_reason status字段

UPDATE outp_surgery_apply

SET cancel_time = NOW(),

cancel_reason = *#{cancelReason},*

status = 2,

updated_time = NOW()

WHERE apply_id = *#{applyId};*

反馈机制

  • 成功:提示"已取消ID为XX的手术安排"
  • 失败:提示具体错误原因 异常处理
  • 数据已被引用:提示"该手术申请已被引用,无法取消"

5. 数据导出功能

触发方式:点击"导出表格"按钮 执行流程

  1. 收集当前表格显示的数据(含筛选结果)
  2. 生成CSV格式文件
  3. 自动下载文件 反馈机制
  • 下载完成后显示"表格数据已导出为CSV文件"提示 异常处理
  • 数据量过大时分批处理
  • 导出失败时提示具体原因

五、数据结构说明

关键数据字段

手术安排表op_schedule

字段名称 数据类型 是否为空 说明/典型值 外键/来源
schedule_id BIGINT N 排程号(主键) 自增
apply_id BIGINT N 关联申请单 → outp_surgery_apply.apply_id
patient_id BIGINT N 患者号 患者档案表主键
visit_id BIGINT N 就诊号 本次就诊记录表的主键
oper_code VARCHAR(12) N 手术编码 取值手术申请单
oper_name VARCHAR(200) N 手术名称 取值手术申请单
preoperative_diagnosis VARCHAR(200) N 术前诊断名称 取值手术申请单的术前诊断
postoperative_diagnosis VARCHAR(200) Y 术后诊断名称 术后医护填写,取值于系统管理-》诊断目录的字典库
schedule_date DATE N 实际排程日期 护士选择
sequence_no INT N 台次(当天第几台) 护士录入
is_first_surgery TINYINT N 是否首次手术0=否1=是)
is_allergy_medication TINYINT N 是否过敏药物 0=否1=是)
allergy_remark VARCHAR(500) Y 过敏药物备注(详细描述
surgery_nature VARCHAR(20) N 手术性质(如:择期、急诊、计划性) 下拉选项取值于字典管理:手术性质
surgery_site VARCHAR(20) N 手术部位(如:右腕部、左膝关节) 下拉选项取值于字典管理:手术部位
admission_time DATETIME Y 入室时间 患者进入手术室区域的时间
entry_time DATETIME Y 进室时间 患者进入具体手术间的时间
room_code VARCHAR(10) N 手术间号 → his_or_room.room_code
table_no CHAR(1) N 手术台A/B 下拉选项取值于字典管理:手术台
anes_method VARCHAR(8) N 麻醉方法 取值手术申请单(可改)
anes_doctor1_code VARCHAR(12) N 麻醉医生1 下拉选项取值于用户管理表角色是医生(存主键)
anes_doctor2_code VARCHAR(12) N 麻醉医生2 下拉选项取值于用户管理表角色是医生(存主键)
anes_doctor3_code VARCHAR(12) N 麻醉医生3 下拉选项取值于用户管理表角色是医生(存主键)
scrub_nurse_code VARCHAR(12) N 洗手护士 下拉选项取值于用户管理表角色是护士(存主键)
circu_nurse1_code VARCHAR(12) N 巡回护士1 下拉选项取值于用户管理表角色是护士(存主键)
circu_nurse2_code VARCHAR(12) N 巡回护士2 下拉选项取值于用户管理表角色是护士(存主键)
scrub_nurse1_code VARCHAR(12) N 器械护士1 下拉选项取值于用户管理表角色是护士(存主键)
scrub_nurse2_code VARCHAR(12) N 器械护士2 下拉选项取值于用户管理表角色是护士(存主键)
surgeon_code VARCHAR(12) N 主刀医生 下拉选项:默认取值手术申请单(可改)
assistant1_code VARCHAR(12) Y 助手1 下拉选项:默认取值手术申请单(可改)
assistant2_code VARCHAR(12) Y 助手2 下拉选项:默认取值手术申请单(可改)
Assistant3_code VARCHAR(12) Y 助手3 下拉选项:默认取值手术申请单(可改)
start_time DATETIME Y 切开时间 麻醉记录单回写
end_time DATETIME Y 手术结束时间 麻醉记录单回写
anes_start DATETIME Y 麻醉开始时间 麻醉记录单回写
anes_end DATETIME Y 麻醉结束时间 麻醉记录单回写
oper_status TINYINT N 手术状态0-待手术1-进行中2-完成3-取消) 状态机
implant_flag TINYINT N 实际植入标志0/1 手术中确认
implant_serial VARCHAR(300) Y 植入物序列号批号 扫码录入
blood_loss INT Y 出血量ml 手术记录回写
blood_trans INT Y 输血量ml 手术记录回写
infection_diagnosis VARCHAR(200) Y 感染诊断名称 常在患者出现感染症状后填写
isolation_type VARCHAR(50) Y 隔离种类
patient_weight DECIMAL(5,2) Y 患者体重单位kg
patient_height DECIMAL(5,2) Y 患者身高单位cm
communication_info VARCHAR(500) Y 手术相关对话信息
remark VARCHAR(500) Y 手术相关备注
create_time DATETIME N 排程创建时间 now()系统自动写入
creator_id VARCHAR(12) N 排程护士 创建手术安排时系统自动写入

六、开发实现要点

样式规范

  • 主色调:#1890FF操作按钮/选中状态)
  • 辅助色:#00BA7C成功状态
  • 字体14px/1.5 使用系统默认字体栈

技术要求

  1. 时间控件需兼容操作
  2. 表格支持万级数据量流畅滚动

注意事项

  1. 手术间选择需实时校验冲突
  2. 医生选择器需要支持拼音首字母检索
  3. 所有时间字段需统一处理时区问题

七、特殊交互说明

  1. 手术间号选择联动
    • 显示该手术间号当前时间段的手术安排情况
    • 下拉选项取值于手术室维护的基础数据。
  2. 紧急手术标记
    • 急诊手术类型需显示红色角标
    • 自动优先排在手术申请队列最上方
  3. 术后诊断名称
    • 做成调取诊断目录字典库填写(可以通过拼音首字母/名称进行查找)

取值于如下如:

![image-20260108164514158](C:UsersChenXianJAppDataRoamingTypora ypora-user-imagesimage-20260108164514158.png)