This commit is contained in:
lxd 2025-03-18 18:28:20 +08:00
commit 4f28a5e5a2
2 changed files with 97 additions and 31 deletions

View File

@ -1691,32 +1691,97 @@ const handleSaveAllResults = async () => {
}
}
//
const result = await handleSummarySave()
if (!result) return
ElMessage.success('所有检查结果保存成功')
//
await refreshExamData()
//
if (summaryRef.value) {
await summaryRef.value.saveSummary()
}
} catch (error) {
ElMessage.error(`保存失败: ${error.message || '请检查数据是否完整'}`)
}
//
const result = await handleSummarySave()
if (!result) return
}
//
//
const handleSummarySave = async () => {
//
if (summaryRef.value) {
await summaryRef.value.saveSummary()
ElMessage.success('汇总数据保存成功')
} else {
throw new Error('未找到汇总组件')
try {
// summaryRef
if (summaryRef.value) {
//
await summaryRef.value.saveSummary()
return true
} else {
//
//
let summaryContent = ''
//
if (conclusionData.value.general?.summary) {
summaryContent += '【一般检查】\n' + conclusionData.value.general.summary + '\n\n'
}
//
if (conclusionData.value.ultrasound?.finding || conclusionData.value.ultrasound?.diagnosis) {
summaryContent += '【超声】\n'
if (conclusionData.value.ultrasound.finding) {
summaryContent += '检查所见:' + conclusionData.value.ultrasound.finding + '\n'
}
if (conclusionData.value.ultrasound.diagnosis) {
summaryContent += '检查结果:' + conclusionData.value.ultrasound.diagnosis + '\n'
}
summaryContent += '\n'
}
//
if (conclusionData.value.ecg?.finding || conclusionData.value.ecg?.diagnosis) {
summaryContent += '【心电图】\n'
if (conclusionData.value.ecg.finding) {
summaryContent += '检查所见:' + conclusionData.value.ecg.finding + '\n'
}
if (conclusionData.value.ecg.diagnosis) {
summaryContent += '检查结果:' + conclusionData.value.ecg.diagnosis + '\n'
}
summaryContent += '\n'
}
//
if (conclusionData.value.blood?.summary) {
summaryContent += '【血常规】\n' + conclusionData.value.blood.summary + '\n\n'
}
// 尿
if (conclusionData.value.urine?.summary) {
summaryContent += '【尿常规】\n' + conclusionData.value.urine.summary + '\n\n'
}
//
if (conclusionData.value.biochemical?.summary) {
summaryContent += '【生化】\n' + conclusionData.value.biochemical.summary + '\n\n'
}
//
if (summaryContent.trim()) {
//
const saveData = {
medicalSn: selectedPatient.value?.medicalSn,
summaryResult: summaryContent
}
// API
await PatientApi.updatemedicalSn(saveData)
return true
}
return true // 使
}
} catch (error) {
console.error('汇总保存失败:', error)
ElMessage.error('汇总保存失败: ' + error.message)
return false
}
}

View File

@ -3,7 +3,7 @@
<div class="summary-header">
<div class="title-with-button">
<h3>体检汇总</h3>
<el-button
<!-- <el-button
type="success"
circle
size="small"
@ -11,7 +11,7 @@
class="refresh-button"
>
<el-icon><Refresh /></el-icon>
</el-button>
</el-button> -->
</div>
</div>
@ -72,9 +72,9 @@ const isReadOnly = ref(false)
//
const checkPatientStatus = () => {
if (props.patient && props.patient.status) {
// 2
isReadOnly.value = props.patient.status === 2
if (props.patient?.status) {
//
isReadOnly.value = String(props.patient.status) === '1'
console.log('患者状态:', props.patient.status, '只读模式:', isReadOnly.value)
}
}
@ -303,14 +303,7 @@ const loadPatientItems = async () => {
const formattedText = formatSummaryData()
console.log('格式化后的文本:', formattedText)
editableSummary.value = formattedText
loading.close()
if (formattedText) {
ElMessage.success('体检汇总数据已刷新')
} else {
ElMessage.warning('未找到可用的体检汇总数据')
}
} catch (error) {
console.error('加载汇总数据失败:', error)
ElMessage.error('加载汇总数据失败: ' + error.message)
@ -321,6 +314,10 @@ const loadPatientItems = async () => {
const saving = ref(false)
// PatientApisummaryResult
const saveSummary = async () => {
if (isReadOnly.value) {
ElMessage.warning('已检查患者不可修改汇总内容')
return false
}
if (!editableSummary.value) {
ElMessage.warning('体检汇总内容为空,请检查汇总内容')
return false
@ -400,11 +397,15 @@ onMounted(() => {
//
watch(() => props.patient, (newVal) => {
if (newVal && newVal.medicalSn) {
loadPatientItems()
if (newVal) {
//
checkPatientStatus()
// medicalSn
if (newVal.medicalSn) {
loadPatientItems()
}
}
}, { deep: true })
}, { deep: true, immediate: true })
//
defineExpose({ saveSummary })