From 6c15f0d4d5de193c5ed46170a96f97c11672444b Mon Sep 17 00:00:00 2001 From: nanyangbreeze <1955231298@qq.com> Date: Mon, 2 Feb 2026 11:08:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A5=97=E9=A4=90=E8=AE=BE=E7=BD=AE=E5=A5=97?= =?UTF-8?q?=E9=A4=90=E7=AE=A1=E7=90=86=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OrganizationLocationAppServiceImpl.java | 6 +++++- .../basicmanage/pharmacyDepartment/index.vue | 18 ++++++++++-------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/basedatamanage/appservice/impl/OrganizationLocationAppServiceImpl.java b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/basedatamanage/appservice/impl/OrganizationLocationAppServiceImpl.java index 3f1c1553..1be8b9a9 100644 --- a/openhis-server-new/openhis-application/src/main/java/com/openhis/web/basedatamanage/appservice/impl/OrganizationLocationAppServiceImpl.java +++ b/openhis-server-new/openhis-application/src/main/java/com/openhis/web/basedatamanage/appservice/impl/OrganizationLocationAppServiceImpl.java @@ -58,12 +58,14 @@ public class OrganizationLocationAppServiceImpl implements IOrganizationLocation @Override public R organizationLocationInit() { OrgLocInitDto initDto = new OrgLocInitDto(); - // 位置类型 + // 位置类型:药库、药房、耗材库 List chargeItemStatusOptions = new ArrayList<>(); chargeItemStatusOptions .add(new OrgLocInitDto.locationFormOption(LocationForm.CABINET.getValue(), LocationForm.CABINET.getInfo())); chargeItemStatusOptions.add( new OrgLocInitDto.locationFormOption(LocationForm.PHARMACY.getValue(), LocationForm.PHARMACY.getInfo())); + chargeItemStatusOptions.add( + new OrgLocInitDto.locationFormOption(LocationForm.WAREHOUSE.getValue(), LocationForm.WAREHOUSE.getInfo())); // 获取科室下拉选列表 List organizationList = organizationService.getList(OrganizationType.DEPARTMENT.getValue(), null); @@ -89,6 +91,8 @@ public class OrganizationLocationAppServiceImpl implements IOrganizationLocation locationList = locationService.getCabinetList(); } else if (LocationForm.PHARMACY.getValue().equals(locationForm)) { locationList = locationService.getPharmacyList(); + } else if (LocationForm.WAREHOUSE.getValue().equals(locationForm)) { + locationList = locationService.getWarehouseList(); } List locationOptions = locationList.stream() .map(location -> new OrgLocInitDto.locationOption(location.getId(), location.getName())) diff --git a/openhis-ui-vue3/src/views/basicmanage/pharmacyDepartment/index.vue b/openhis-ui-vue3/src/views/basicmanage/pharmacyDepartment/index.vue index 70bd8232..f923ecd6 100644 --- a/openhis-ui-vue3/src/views/basicmanage/pharmacyDepartment/index.vue +++ b/openhis-ui-vue3/src/views/basicmanage/pharmacyDepartment/index.vue @@ -264,14 +264,16 @@ function getDiseaseTreatmentList() { console.log(response, 'response诊疗目录分类查询下拉树结构'); pharmacyDepartmentOptions.value = response.data.locationFormOptions; departmentOptions.value = response.data.departmentOptions; - // 调用 getDiseaseInitLoc 并在 then 回调中赋值 - getDiseaseInitLoc(response.data.locationFormOptions[0].value).then((children) => { - pharmacyDepartmentOptions.value[0].children = children; - }); - - getDiseaseInitLoc(response.data.locationFormOptions[1].value).then((children) => { - pharmacyDepartmentOptions.value[1].children = children; - }); + // 动态加载所有 locationFormOptions 的子节点(包括药库、药房、耗材库) + if (response.data.locationFormOptions && response.data.locationFormOptions.length > 0) { + response.data.locationFormOptions.forEach((option, index) => { + getDiseaseInitLoc(option.value).then((children) => { + if (pharmacyDepartmentOptions.value && pharmacyDepartmentOptions.value[index]) { + pharmacyDepartmentOptions.value[index].children = children; + } + }); + }); + } console.log(pharmacyDepartmentOptions.value); });