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 被正确设置