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); });