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..7c76d027 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 @@ -64,6 +64,8 @@ public class OrganizationLocationAppServiceImpl implements IOrganizationLocation .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..3cb8e0f4 100644 --- a/openhis-ui-vue3/src/views/basicmanage/pharmacyDepartment/index.vue +++ b/openhis-ui-vue3/src/views/basicmanage/pharmacyDepartment/index.vue @@ -261,19 +261,19 @@ const filterNode = (value, data) => { /** 目录分类查询 */ function getDiseaseTreatmentList() { getDiseaseTreatmentInit().then((response) => { - 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; - }); - - console.log(pharmacyDepartmentOptions.value); + pharmacyDepartmentOptions.value = response.data.locationFormOptions || []; + departmentOptions.value = response.data.departmentOptions || []; + // 动态加载所有 locationFormOptions 的子节点(包括药库、药房、耗材库) + if (pharmacyDepartmentOptions.value.length > 0) { + pharmacyDepartmentOptions.value.forEach((option, index) => { + if (!option?.value) return; + getDiseaseInitLoc(option.value).then((children) => { + if (pharmacyDepartmentOptions.value && pharmacyDepartmentOptions.value[index]) { + pharmacyDepartmentOptions.value[index].children = children || []; + } + }); + }); + } }); }