feat(surgery): 增加手术室确认信息和次要手术功能

- 添加手术室确认时间和确认人字段显示
- 实现次要手术的添加、编辑和删除功能
- 增加急诊标志和植入高值耗材开关选项
- 添加手术费用和麻醉费用计算功能
- 实现手术和麻醉项目的远程搜索功能
- 增加第一助手和第二助手选择功能
- 优化医生列表加载逻辑,支持多接口获取
- 添加按钮图标提升界面体验
- 修复encounterId为空时的接口调用问题
This commit is contained in:
2026-01-07 17:00:06 +08:00
parent 09ca077559
commit 0b4b63dfbe
19 changed files with 1368 additions and 91 deletions

View File

@@ -105,6 +105,22 @@
<!-- 手术等级string - 三级手术 - 不可操作 -->
<el-table-column label="手术等级" align="center" prop="surgeryLevel_dictText" width="90" />
<!-- 急诊标志bool - / - 不可操作 -->
<el-table-column label="急诊" align="center" prop="emergencyFlag" width="70">
<template #default="scope">
<el-tag v-if="scope.row.emergencyFlag === 1" type="danger" size="small"></el-tag>
<el-tag v-else type="info" size="small"></el-tag>
</template>
</el-table-column>
<!-- 植入高值耗材标志bool - / - 不可操作 -->
<el-table-column label="植入耗材" align="center" prop="implantFlag" width="80">
<template #default="scope">
<el-tag v-if="scope.row.implantFlag === 1" type="warning" size="small"></el-tag>
<el-tag v-else type="info" size="small"></el-tag>
</template>
</el-table-column>
<!-- 计划时间datetime - 2025-09-20 08:00:00 - 不可操作 -->
<el-table-column label="计划时间" align="center" prop="plannedTime" width="160">
<template #default="scope">
@@ -490,6 +506,41 @@
<el-input v-model="form.complications" type="textarea" placeholder="请输入并发症描述" :rows="3" :disabled="isViewMode" />
</el-form-item>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="急诊标志" prop="emergencyFlag">
<el-radio-group v-model="form.emergencyFlag" :disabled="isViewMode">
<el-radio :value="0"></el-radio>
<el-radio :value="1"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="植入高值耗材标志" prop="implantFlag">
<el-radio-group v-model="form.implantFlag" :disabled="isViewMode">
<el-radio :value="0"></el-radio>
<el-radio :value="1"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="手术室确认人" prop="operatingRoomConfirmUser">
<el-input v-model="form.operatingRoomConfirmUser" placeholder="手术室确认人" :disabled="isViewMode" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="手术室确认时间" prop="operatingRoomConfirmTime">
<el-date-picker
v-model="form.operatingRoomConfirmTime"
type="datetime"
placeholder="选择手术室确认时间"
value-format="YYYY-MM-DDTHH:mm:ss"
style="width: 100%"
:disabled="isViewMode"
/>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注信息" :rows="2" :disabled="isViewMode" />
</el-form-item>
@@ -564,7 +615,11 @@ const form = ref({
incisionLevel: undefined,
healingLevel: undefined,
complications: undefined,
remark: undefined
remark: undefined,
emergencyFlag: 0,
implantFlag: 0,
operatingRoomConfirmTime: undefined,
operatingRoomConfirmUser: undefined
})
const surgeryRef = ref()
const total = ref(0)
@@ -957,6 +1012,14 @@ function handleEdit(row) {
form.value.complications = data.complications
form.value.remark = data.remark
form.value.statusEnum = data.statusEnum
form.value.emergencyFlag = data.emergencyFlag || 0
form.value.implantFlag = data.implantFlag || 0
form.value.operatingRoomConfirmTime = data.operatingRoomConfirmTime
form.value.operatingRoomConfirmUser = data.operatingRoomConfirmUser
form.value.emergencyFlag = data.emergencyFlag || 0
form.value.implantFlag = data.implantFlag || 0
form.value.operatingRoomConfirmTime = data.operatingRoomConfirmTime
form.value.operatingRoomConfirmUser = data.operatingRoomConfirmUser
// 打印赋值后的表单数据
console.log('赋值后的表单数据:', {
@@ -1054,6 +1117,14 @@ function handleView(row) {
form.value.complications = data.complications
form.value.remark = data.remark
form.value.statusEnum = data.statusEnum
form.value.emergencyFlag = data.emergencyFlag || 0
form.value.implantFlag = data.implantFlag || 0
form.value.operatingRoomConfirmTime = data.operatingRoomConfirmTime
form.value.operatingRoomConfirmUser = data.operatingRoomConfirmUser
form.value.emergencyFlag = data.emergencyFlag || 0
form.value.implantFlag = data.implantFlag || 0
form.value.operatingRoomConfirmTime = data.operatingRoomConfirmTime
form.value.operatingRoomConfirmUser = data.operatingRoomConfirmUser
// 打印赋值后的表单数据
console.log('【查看模式】赋值后的表单数据:', {
@@ -1139,7 +1210,11 @@ function reset() {
form.value.healingLevel = undefined
form.value.complications = undefined
form.value.remark = undefined
form.value.emergencyFlag = 0
form.value.implantFlag = 0
form.value.operatingRoomConfirmTime = undefined
form.value.operatingRoomConfirmUser = undefined
if (surgeryRef.value) {
surgeryRef.value.resetFields()
}