fix(consultation): 解决会诊流程中的多个功能问题

- 在 deptappthoursManage.js 中添加 status 参数以仅获取已启动的机构
- 为 consultationapplication 组件添加已确认和已签名状态选项
- 扩展操作列宽度并添加打印功能按钮
- 优化 handlePrint 方法以支持行参数和性别枚举转换
- 为 consultationconfirmation 组件添加必填验证和编辑权限控制
- 修复会诊确认医师信息回显逻辑
- 在 inspectionApplication 组件中修复表格行点击事件和检验项目加载
- 禁用非紧急标记的编辑权限以解决Bug #268
- 为 surgeryApplication 组件添加响应码验证和错误处理
- 在 consultation 组件中添加表单验证清除功能
- 为 PackageManagement 组件实现动态机构选项加载
- 重构 PackageSettings 组件的套餐金额显示和只读模式
- 为检查项目设置组件添加套餐筛选和下级类型选择功能
- 实现检验套餐的编辑和查看模式切换功能
This commit is contained in:
2026-03-26 18:22:21 +08:00
parent c509a804ec
commit 91a0b48662
20 changed files with 631 additions and 266 deletions

View File

@@ -69,6 +69,8 @@
<el-option label="全部" value="" />
<el-option label="未提交" value="0" />
<el-option label="提交" value="10" />
<el-option label="已确认" value="20" />
<el-option label="已签名" value="30" />
<el-option label="结束" value="40" />
</el-select>
</el-form-item>
@@ -137,8 +139,15 @@
<el-checkbox :model-value="scope.row.consultationStatus === 40" disabled />
</template>
</el-table-column>
<el-table-column label="操作" width="200" fixed="right" align="center">
<el-table-column label="操作" width="250" fixed="right" align="center">
<template #default="scope">
<el-button
type="success"
size="small"
:icon="Printer"
@click="handlePrint(scope.row)"
title="打印"
/>
<el-button
type="primary"
size="small"
@@ -493,22 +502,26 @@ const handleCurrentChange = (val) => {
loadData()
}
const handlePrint = async () => {
if (!currentRow.value) {
const handlePrint = async (row) => {
// 优先使用传入的 row如果没有传入则使用 currentRow
const printRow = row || currentRow.value
if (!printRow) {
ElMessage.warning('请先选择一条记录')
return
}
try {
// 构建打印数据
const printData = {
patientName: currentRow.value.patientName || '',
gender: currentRow.value.genderText || '',
age: currentRow.value.age || '',
deptName: currentRow.value.department || '',
diagnosis: currentRow.value.provisionalDiagnosis || '',
consultationReason: currentRow.value.consultationPurpose || '',
applyTime: currentRow.value.applyTime || '',
applyDoctor: currentRow.value.requestingPhysician || ''
patientName: printRow.patientName || '',
gender: printRow.genderEnum === 1 ? '男' : '女',
age: printRow.age || '',
deptName: printRow.department || '',
diagnosis: printRow.provisionalDiagnosis || '',
consultationReason: printRow.consultationPurpose || '',
applyTime: printRow.consultationRequestDate || '',
applyDoctor: printRow.requestingPhysician || ''
}
await simplePrint(PRINT_TEMPLATE.CONSULTATION, printData)
} catch (error) {