diff --git a/src/views/Department-entry/Drawer-Template.vue b/src/views/Department-entry/Drawer-Template.vue
new file mode 100644
index 0000000..8e190a0
--- /dev/null
+++ b/src/views/Department-entry/Drawer-Template.vue
@@ -0,0 +1,172 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/Department-entry/Medical-examination-vehicle.vue b/src/views/Department-entry/Medical-examination-vehicle.vue
index b1b6a7f..b2d5105 100644
--- a/src/views/Department-entry/Medical-examination-vehicle.vue
+++ b/src/views/Department-entry/Medical-examination-vehicle.vue
@@ -255,7 +255,14 @@
-
检查所见
+
+
+ 检查所见
+
+ 诊断模板
+
+
+
+
+
+
@@ -35,6 +33,7 @@ import { PatientitemsApi } from '@/api/inspect/inspectpatientitems'
import { PatientApi } from '@/api/inspect/inspectpatient'
import { ElLoading, ElMessage } from 'element-plus'
import { Refresh } from '@element-plus/icons-vue'
+import TemplateDrawer from '@/views/Department-entry/Drawer-Template.vue'
const props = defineProps({
patient: {
@@ -75,7 +74,6 @@ const checkPatientStatus = () => {
if (props.patient?.status) {
// 同时处理字符串和数字类型的状态值
isReadOnly.value = String(props.patient.status) === '1'
- console.log('患者状态:', props.patient.status, '只读模式:', isReadOnly.value)
}
}
@@ -132,7 +130,6 @@ const formatSummaryData = () => {
// 从DOM中获取各个标签页的数据
const getDataFromDOM = () => {
- console.log('尝试从DOM中获取数据...')
try {
const parentDoc = window.parent ? window.parent.document : document
@@ -160,7 +157,6 @@ const getDataFromDOM = () => {
for (const selector of selectorList) {
const element = parentDoc.querySelector(selector)
if (element) {
- console.log(`找到元素 ${selector}:`, element)
return element.value || ''
}
}
@@ -177,28 +173,15 @@ const getDataFromDOM = () => {
const urineSummary = getElementValue(selectors.urine)
const biochemicalSummary = getElementValue(selectors.biochemical)
- console.log('从DOM获取的数据:')
- console.log('一般检查小结:', generalSummary)
- console.log('超声检查所见:', ultrasoundFinding)
- console.log('超声检查结果:', ultrasoundDiagnosis)
- console.log('心电图检查所见:', ecgFinding)
- console.log('心电图检查结果:', ecgDiagnosis)
- console.log('血常规小结:', bloodSummary)
- console.log('尿常规小结:', urineSummary)
- console.log('生化小结:', biochemicalSummary)
-
// 如果没有找到一般检查小结,尝试从体检小结文本框获取
if (!generalSummary) {
- console.log('尝试从体检小结文本框获取数据...')
const generalTextarea =
parentDoc.querySelector('#体检小结') ||
parentDoc.querySelector('.体检小结') ||
parentDoc.querySelector('[placeholder*="体检小结"]')
if (generalTextarea) {
- console.log('找到体检小结文本框:', generalTextarea)
const generalText = generalTextarea.value || ''
- console.log('体检小结内容:', generalText)
// 更新汇总数据
return {
@@ -242,17 +225,14 @@ const loadPatientItems = async () => {
background: 'rgba(255, 255, 255, 0.7)'
})
- console.log('当前患者信息:', props.patient)
// 检查患者状态
checkPatientStatus()
// 优先使用props中的conclusionData
if (props.conclusionData) {
- console.log('从props获取conclusionData:', props.conclusionData)
summaryData.value = props.conclusionData
} else if (window.parent?.conclusionData) {
- console.log('父窗口conclusionData:', window.parent.conclusionData)
const parentData = window.parent.conclusionData
// 复制父组件的数据到本地
@@ -271,20 +251,17 @@ const loadPatientItems = async () => {
biochemical: { summary: parentData.biochemical?.summary || '' }
}
- console.log('从父窗口获取的汇总数据:', summaryData.value)
} else {
console.warn('父窗口中没有找到conclusionData,尝试从全局变量获取')
// 尝试从全局变量获取
if (window.conclusionData) {
- console.log('从全局变量获取conclusionData:', window.conclusionData)
summaryData.value = window.conclusionData
} else {
console.warn('全局变量中没有找到conclusionData,尝试从props获取')
// 尝试从props中获取数据
if (props.reportData && props.reportData.conclusionData) {
- console.log('从props.reportData中获取数据:', props.reportData.conclusionData)
summaryData.value = props.reportData.conclusionData
} else {
// 尝试直接从父组件的DOM中获取数据
@@ -301,7 +278,6 @@ const loadPatientItems = async () => {
// 格式化汇总数据并设置为可编辑文本
const formattedText = formatSummaryData()
- console.log('格式化后的文本:', formattedText)
editableSummary.value = formattedText
loading.close()
} catch (error) {
@@ -336,7 +312,6 @@ const saveSummary = async () => {
summaryResult: editableSummary.value
}
- console.log('保存汇总数据:', saveData)
// 调用API保存数据
const response = await PatientApi.updatemedicalSn(saveData)
@@ -371,8 +346,6 @@ const queryPatientData = async () => {
try {
const response = await PatientApi.getByMedicalSn(props.patient.medicalSn)
if (response && response.code === 200 && response.data) {
- console.log('查询到的患者数据:', response.data)
-
// 更新患者信息
if (response.data.summaryResult) {
editableSummary.value = response.data.summaryResult
@@ -381,7 +354,6 @@ const queryPatientData = async () => {
// 如果患者状态已更新,检查是否需要设置只读
if (response.data.status) {
isReadOnly.value = response.data.status === 2
- console.log('更新后的患者状态:', response.data.status, '只读模式:', isReadOnly.value)
}
}
} catch (error) {
@@ -407,6 +379,29 @@ watch(() => props.patient, (newVal) => {
}
}, { deep: true, immediate: true })
+// 抽屉可见性控制
+const drawerVisible = ref(false)
+
+// 打开模板抽屉
+const openTemplateDrawer = () => {
+ if (isReadOnly.value) {
+ ElMessage.warning('已检查患者不可修改汇总内容')
+ return
+ }
+ drawerVisible.value = true
+}
+
+// 插入选中的模板内容
+const insertTemplate = (templateContent) => {
+ if (isReadOnly.value) return
+
+ // 在当前光标位置或末尾插入模板内容
+ editableSummary.value += templateContent
+
+ // 可选:插入后关闭抽屉
+ drawerVisible.value = false
+}
+
// 暴露保存汇总方法给父组件调用
defineExpose({ saveSummary })
diff --git a/src/views/inspect/inspecttemplate/TemplateForm.vue b/src/views/inspect/inspecttemplate/TemplateForm.vue
index 49ebec8..652a08e 100644
--- a/src/views/inspect/inspecttemplate/TemplateForm.vue
+++ b/src/views/inspect/inspecttemplate/TemplateForm.vue
@@ -10,6 +10,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/inspect/inspecttemplate/index.vue b/src/views/inspect/inspecttemplate/index.vue
index 9b93d25..6f90c28 100644
--- a/src/views/inspect/inspecttemplate/index.vue
+++ b/src/views/inspect/inspecttemplate/index.vue
@@ -71,6 +71,7 @@
+
{
try {
const data = await TemplateApi.getTemplatePage(queryParams)
list.value = data.list
- total.value = data.totall
+ total.value = data.total
} finally {
loading.value = false
}