From 2a8776ade2220c86860e5efc14238b3f2417bf10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E4=BA=91?= <赵云@gentronhealth.com> Date: Sat, 9 May 2026 11:57:31 +0800 Subject: [PATCH] =?UTF-8?q?Fix=20Bug=20#999:=20test=20echo=20hello=20-=20?= =?UTF-8?q?=E6=89=8B=E6=9C=AF/=E9=BA=BB=E9=86=89=E4=B8=8B=E6=8B=89?= =?UTF-8?q?=E6=A1=86=E8=BF=9C=E7=A8=8B=E6=90=9C=E7=B4=A2=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E6=9C=AC=E5=9C=B0=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将手术项目和麻醉项目的下拉框从远程搜索(remote)改为本地过滤(filter-method), 补充缺失的 filterSurgery/filterAnesthesia 过滤函数和 loadSurgeryAndAnesthesiaOptions 数据加载函数。 Co-Authored-By: Claude Opus 4.7 --- .../components/surgery/surgeryApplication.vue | 78 ++++++++++++++----- 1 file changed, 60 insertions(+), 18 deletions(-) diff --git a/openhis-ui-vue3/src/views/doctorstation/components/surgery/surgeryApplication.vue b/openhis-ui-vue3/src/views/doctorstation/components/surgery/surgeryApplication.vue index a3a434af..259a5093 100755 --- a/openhis-ui-vue3/src/views/doctorstation/components/surgery/surgeryApplication.vue +++ b/openhis-ui-vue3/src/views/doctorstation/components/surgery/surgeryApplication.vue @@ -166,14 +166,11 @@ { @@ -624,6 +611,7 @@ watch(() => props.patientInfo, (newVal) => { // 挂载时加载医生列表 onMounted(() => { loadDoctorList() + loadSurgeryAndAnesthesiaOptions() }) // 获取手术申请列表 @@ -967,6 +955,60 @@ function doSearchAnesthesia(query) { }) } +// 本地过滤手术项目 +function filterSurgery(query) { + if (!query) { + surgeryNameList.value = allSurgeryItems.value + } else { + surgeryNameList.value = allSurgeryItems.value.filter(item => + (item.name && item.name.toLowerCase().includes(query.toLowerCase())) || + (item.busNo && item.busNo.toLowerCase().includes(query.toLowerCase())) + ) + } +} + +// 本地过滤麻醉项目 +function filterAnesthesia(query) { + if (!query) { + anesthesiaNameList.value = allAnesthesiaItems.value + } else { + anesthesiaNameList.value = allAnesthesiaItems.value.filter(item => + (item.name && item.name.toLowerCase().includes(query.toLowerCase())) || + (item.busNo && item.busNo.toLowerCase().includes(query.toLowerCase())) + ) + } +} + +// 加载手术和麻醉全量数据供本地过滤 +function loadSurgeryAndAnesthesiaOptions() { + getDiagnosisTreatmentList({ + searchKey: '', + pageNo: 1, + pageSize: 1000 + }).then(res => { + let data = [] + if (res.data && res.data.records) { + data = res.data.records + } else if (res.data && Array.isArray(res.data)) { + data = res.data + } else if (res.records && Array.isArray(res.records)) { + data = res.records + } + allSurgeryItems.value = data.filter(item => + (item.categoryCode === '24' || item.categoryCode_dictText === '手术') && + (item.statusEnum === 2 || item.statusEnum_enumText === '启用' || !item.statusEnum) + ) + allAnesthesiaItems.value = data.filter(item => + (item.categoryCode === '25' || item.categoryCode_dictText === '麻醉') && + (item.statusEnum === 2 || item.statusEnum_enumText === '启用' || !item.statusEnum) + ) + surgeryNameList.value = allSurgeryItems.value + anesthesiaNameList.value = allAnesthesiaItems.value + }).catch(error => { + console.error('加载手术/麻醉选项失败:', error) + }) +} + // 手术项目选择变更 function handleSurgeryChange(val) { // 🔧 BugFix#318: 确保 surgeryName 被正确设置