fix(consultation): 解决会诊流程中的多个功能问题
- 在 deptappthoursManage.js 中添加 status 参数以仅获取已启动的机构 - 为 consultationapplication 组件添加已确认和已签名状态选项 - 扩展操作列宽度并添加打印功能按钮 - 优化 handlePrint 方法以支持行参数和性别枚举转换 - 为 consultationconfirmation 组件添加必填验证和编辑权限控制 - 修复会诊确认医师信息回显逻辑 - 在 inspectionApplication 组件中修复表格行点击事件和检验项目加载 - 禁用非紧急标记的编辑权限以解决Bug #268 - 为 surgeryApplication 组件添加响应码验证和错误处理 - 在 consultation 组件中添加表单验证清除功能 - 为 PackageManagement 组件实现动态机构选项加载 - 重构 PackageSettings 组件的套餐金额显示和只读模式 - 为检查项目设置组件添加套餐筛选和下级类型选择功能 - 实现检验套餐的编辑和查看模式切换功能
This commit is contained in:
@@ -257,8 +257,9 @@
|
||||
v-model="form.scheduleDate"
|
||||
type="datetime"
|
||||
placeholder="选择安排时间"
|
||||
value-format="YYYY-MM-DD"
|
||||
format="YYYY-MM-DD"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
format="YYYY-MM-DD HH:mm:ss"
|
||||
:default-time="new Date(2026, 0, 1, 8, 0, 0)"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -751,6 +752,13 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="主刀医生" align="center" width="100" prop="mainSurgeonName" />
|
||||
<el-table-column label="状态" align="center" width="90">
|
||||
<template #default="scope">
|
||||
<el-tag :type="getStatusTagType(scope.row.statusEnum)">
|
||||
{{ getStatusText(scope.row.statusEnum) }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<!-- 底部分页区 -->
|
||||
@@ -1699,6 +1707,44 @@ function getAnesthesiaName(anesMethod) {
|
||||
return anesthesia ? anesthesia.label : ''
|
||||
}
|
||||
|
||||
// 获取状态标签类型
|
||||
function getStatusTagType(statusEnum) {
|
||||
const typeMap = {
|
||||
0: 'info', // 新开/待排期
|
||||
1: 'warning', // 已排期
|
||||
2: 'primary', // 手术中
|
||||
3: 'success', // 已完成
|
||||
4: 'danger', // 已取消
|
||||
5: 'info' // 暂停
|
||||
}
|
||||
return typeMap[statusEnum] || 'info'
|
||||
}
|
||||
|
||||
// 获取状态文本
|
||||
function getStatusText(statusEnum) {
|
||||
const textMap = {
|
||||
0: '待排期',
|
||||
1: '已排期',
|
||||
2: '手术中',
|
||||
3: '已完成',
|
||||
4: '已取消',
|
||||
5: '暂停'
|
||||
}
|
||||
return textMap[statusEnum] || '未知'
|
||||
}
|
||||
|
||||
// 将麻醉名称映射为枚举值
|
||||
function mapAnesthesiaNameToValue(name) {
|
||||
if (!name) return undefined
|
||||
if (name.includes('局部')) return '1'
|
||||
if (name.includes('区域')) return '2'
|
||||
if (name.includes('全身') || name.includes('全麻')) return '3'
|
||||
if (name.includes('脊椎')) return '4'
|
||||
if (name.includes('硬膜外')) return '5'
|
||||
if (name.includes('表面')) return '6'
|
||||
return undefined
|
||||
}
|
||||
|
||||
// 根据出生日期计算年龄
|
||||
function calculateAge(birthDay) {
|
||||
if (!birthDay) return ''
|
||||
@@ -1731,6 +1777,37 @@ function confirmApply() {
|
||||
proxy.$modal.msgWarning('请先选择一条手术申请记录')
|
||||
return
|
||||
}
|
||||
const selectedRow = selectedRows[0]
|
||||
// 填充手术申请信息到表单
|
||||
form.surgeryNo = selectedRow.surgeryNo // 手术单号对应填入手术单号
|
||||
form.applyId=selectedRow.applyId// 手术申请 id
|
||||
form.patientId = selectedRow.patientId// 患者 id
|
||||
form.visitId = selectedRow.encounterId // id 对应填入就诊 id
|
||||
form.operCode = selectedRow.surgeryNo // 手术单号作为手术编码
|
||||
form.operName = selectedRow.descJson.surgeryName//手术名称
|
||||
form.preoperativeDiagnosis = selectedRow.descJson?.preoperativeDiagnosis || ''
|
||||
form.patientName = selectedRow.name// 患者姓名对应填入患者姓名
|
||||
form.gender = selectedRow.gender//患者性别
|
||||
form.birthDay = selectedRow.birthDay//患者出生日期
|
||||
form.age = calculateAge(selectedRow.birthDay)//计算患者年龄
|
||||
form.applyDeptName = selectedRow.applyDeptName//申请部门名称
|
||||
form.applyDoctorName = selectedRow.applyDoctorName//申请医生
|
||||
form.applyTime = selectedRow.applyTime//申请时间
|
||||
form.surgeryType = selectedRow.surgeryTypeEnum//手术类型
|
||||
form.surgeryNature = selectedRow.surgeryTypeEnum//手术性质
|
||||
form.surgeonCode = selectedRow.mainSurgeonId//主刀医生 id
|
||||
form.surgeonName = selectedRow.mainSurgeonName//主刀医生姓名
|
||||
form.feeType = selectedRow.feeType//费用类别
|
||||
// Bug #252 修复:继承手术申请的麻醉方式
|
||||
if (selectedRow.descJson?.anesthesiaName) {
|
||||
form.anesMethod = mapAnesthesiaNameToValue(selectedRow.descJson.anesthesiaName)
|
||||
}
|
||||
// Bug #253/#254 修复:继承手术申请的切口类型
|
||||
if (selectedRow.descJson?.incisionLevel) {
|
||||
form.incisionType = String(selectedRow.descJson.incisionLevel)
|
||||
}
|
||||
showApplyDialog.value = false
|
||||
}
|
||||
const selectedRow = selectedRows[0]
|
||||
// 填充手术申请信息到表单
|
||||
form.surgeryNo = selectedRow.surgeryNo // 手术单号对应填入手术单号
|
||||
|
||||
Reference in New Issue
Block a user