251
手术管理-》门诊手术安排:【新增手术安排】界面安排时间字段的时分秒无法选值和未显示 252 手术管理-》门诊手术安排:【新增手术安排】界面的麻醉方法字段未默认取值于手术申请的麻醉方式字段的值 254 手术管理-》门诊手术管理:【新增手术安排】界面的切口类型字段下拉选项未取值 277 门诊医生站-》手术申请TAB页面:【新增】/【编辑】界面点击【提交申请】提示成功也提示失败
This commit is contained in:
@@ -636,7 +636,7 @@ function getList() {
|
||||
surgeryList.value = res.data.records || []
|
||||
}).catch(error => {
|
||||
console.error('获取手术列表失败:', error)
|
||||
proxy.$message.error('数据加载失败,请稍后重试')
|
||||
proxy.$modal.msgError('数据加载失败,请稍后重试')
|
||||
surgeryList.value = []
|
||||
}).finally(() => {
|
||||
loading.value = false
|
||||
@@ -715,14 +715,14 @@ function loadDoctorList() {
|
||||
// 新增
|
||||
function handleAdd() {
|
||||
if (!props.patientInfo?.encounterId) {
|
||||
proxy.$message.warning('请先选择患者')
|
||||
proxy.$modal.msgWarning('请先选择患者')
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
title.value = '新增手术申请'
|
||||
open.value = true
|
||||
reset()
|
||||
|
||||
|
||||
// 自动填充患者信息
|
||||
form.value.patientId = props.patientInfo.patientId
|
||||
form.value.encounterId = props.patientInfo.encounterId
|
||||
@@ -737,7 +737,7 @@ function handleAdd() {
|
||||
if (doctorList.value.length === 0) {
|
||||
loadDoctorList()
|
||||
}
|
||||
|
||||
|
||||
// 加载诊断信息
|
||||
loadDiagnosisInfo()
|
||||
}
|
||||
@@ -1049,32 +1049,33 @@ function submitForm() {
|
||||
// 新增手术
|
||||
addSurgery(form.value).then((res) => {
|
||||
if (res.code === 200) {
|
||||
proxy.$modal.msgSuccess('新增成功')
|
||||
//保存麻醉方式
|
||||
proxy.$modal.msgSuccess(res.msg || '新增成功')
|
||||
// 保存麻醉方式
|
||||
sessionStorage.setItem('anesthesiaType', form.value.anesthesiaTypeEnum)
|
||||
open.value = false
|
||||
getList()
|
||||
} else {
|
||||
proxy.$modal.msgError(res.msg || '新增手术失败')
|
||||
proxy.$modal.msgError(res.msg || '新增手术失败,请检查表单信息')
|
||||
}
|
||||
}).catch(error => {
|
||||
console.error('新增手术失败:', error)
|
||||
proxy.$modal.msgError('新增手术失败,请稍后重试')
|
||||
proxy.$modal.msgError('新增手术失败,请检查表单信息')
|
||||
})
|
||||
} else {
|
||||
// 修改手术
|
||||
updateSurgery(form.value).then((res) => {
|
||||
if (res.code === 200) {
|
||||
proxy.$modal.msgSuccess('修改成功')
|
||||
proxy.$modal.msgSuccess(res.msg || '修改成功')
|
||||
// 保存麻醉方式
|
||||
sessionStorage.setItem('anesthesiaType', form.value.anesthesiaTypeEnum)
|
||||
open.value = false
|
||||
getList()
|
||||
} else {
|
||||
proxy.$modal.msgError(res.msg || '修改手术失败')
|
||||
proxy.$modal.msgError(res.msg || '更新手术失败,请检查表单信息')
|
||||
}
|
||||
}).catch(error => {
|
||||
console.error('更新手术失败:', error)
|
||||
proxy.$modal.msgError('更新手术失败,请稍后重试')
|
||||
proxy.$modal.msgError('更新手术失败,请检查表单信息')
|
||||
})
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="安排时间" align="center" prop="scheduleDate" width="140">
|
||||
<template #default="scope">
|
||||
{{ parseTime(scope.row.scheduleDate, '{y}-{m}-{d}') }}
|
||||
{{ parseTime(scope.row.scheduleDate, '{y}-{m}-{d} {h}:{i}:{s}') }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作人" align="center" width="100" prop="createByName" />
|
||||
@@ -259,7 +259,6 @@
|
||||
placeholder="选择安排时间"
|
||||
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>
|
||||
@@ -446,7 +445,7 @@
|
||||
v-for="item in anesthesiaList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
:value="Number(item.value)"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@@ -611,7 +610,7 @@
|
||||
v-for="item in incisionTypeList"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
:value="Number(item.value)"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@@ -748,17 +747,15 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="手术等级" align="center" width="90">
|
||||
<template #default="scope">
|
||||
{{ getSurgeryLevelName(scope.row.descJson?.surgeryLevel) }}
|
||||
{{ getSurgeryLevelName(scope.row.surgeryLevel || scope.row.descJson?.surgeryLevel) }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="麻醉方式" align="center" width="90">
|
||||
<template #default="scope">
|
||||
{{ getAnesthesiaName(scope.row.anesthesiaTypeEnum) }}
|
||||
</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>
|
||||
|
||||
<!-- 底部分页区 -->
|
||||
@@ -889,6 +886,9 @@ const form = reactive({
|
||||
allergyRemark: undefined,
|
||||
surgeryNature: undefined,
|
||||
surgerySite: undefined,
|
||||
incisionLevel: undefined,
|
||||
surgeryLevel: undefined,
|
||||
|
||||
admissionTime: undefined,
|
||||
entryTime: undefined,
|
||||
roomCode: undefined,
|
||||
@@ -1707,44 +1707,6 @@ 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 ''
|
||||
@@ -1780,12 +1742,12 @@ function confirmApply() {
|
||||
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.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.operName = selectedRow.descJson?.surgeryName//手术名称
|
||||
form.preoperativeDiagnosis = selectedRow.preoperativeDiagnosis || selectedRow.descJson?.preoperativeDiagnosis
|
||||
form.patientName = selectedRow.name// 患者姓名对应填入患者姓名
|
||||
form.gender = selectedRow.gender//患者性别
|
||||
form.birthDay = selectedRow.birthDay//患者出生日期
|
||||
@@ -1795,17 +1757,14 @@ function confirmApply() {
|
||||
form.applyTime = selectedRow.applyTime//申请时间
|
||||
form.surgeryType = selectedRow.surgeryTypeEnum//手术类型
|
||||
form.surgeryNature = selectedRow.surgeryTypeEnum//手术性质
|
||||
form.surgeonCode = selectedRow.mainSurgeonId//主刀医生 id
|
||||
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)
|
||||
}
|
||||
form.anesMethod = selectedRow.anesthesiaTypeEnum != null ? Number(selectedRow.anesthesiaTypeEnum) : undefined //麻醉方法
|
||||
form.incisionType = selectedRow.incisionLevel != null ? Number(selectedRow.incisionLevel) : undefined //切口类型
|
||||
form.surgeryLevel = selectedRow.surgeryLevel != null ? Number(selectedRow.surgeryLevel) : (selectedRow.descJson?.surgeryLevel != null ? Number(selectedRow.descJson.surgeryLevel) : undefined) //手术等级
|
||||
form.surgerySite = selectedRow.descJson?.surgerySite //手术部位
|
||||
form.isolationType = selectedRow.descJson?.isolationType //隔离类型
|
||||
showApplyDialog.value = false
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user