diff --git a/snowy-admin-web/src/views/sys/role/grantMobileResourceForm.vue b/snowy-admin-web/src/views/sys/role/grantMobileResourceForm.vue index 568a62be..50c0d396 100644 --- a/snowy-admin-web/src/views/sys/role/grantMobileResourceForm.vue +++ b/snowy-admin-web/src/views/sys/role/grantMobileResourceForm.vue @@ -109,15 +109,20 @@ // 获取表格数据 spinningLoading.value = true const res = await roleApi.roleMobileMenuTreeSelector() - const param = { - id: resultDataModel.id + if (res && res.length > 0) { + const param = { + id: resultDataModel.id + } + // 获取回显数据 + const resEcho = await roleApi.roleOwnMobileMenu(param) + spinningLoading.value = false + echoDatalist.value = echoModuleData(res, resEcho) + moduleId.value = res[0].id + loadDatas.value = echoDatalist.value[0].menu + } else { + spinningLoading.value = false + loadDatas.value = [] } - // 获取回显数据 - const resEcho = await roleApi.roleOwnMobileMenu(param) - spinningLoading.value = false - echoDatalist.value = echoModuleData(res, resEcho) - moduleId.value = res[0].id - loadDatas.value = echoDatalist.value[0].menu } } const checkFieldKeys = ['button'] diff --git a/snowy-plugin/snowy-plugin-mobile/src/main/java/vip/xiaonuo/mobile/modular/resource/service/impl/MobileMenuServiceImpl.java b/snowy-plugin/snowy-plugin-mobile/src/main/java/vip/xiaonuo/mobile/modular/resource/service/impl/MobileMenuServiceImpl.java index 69d08608..1fbd871d 100644 --- a/snowy-plugin/snowy-plugin-mobile/src/main/java/vip/xiaonuo/mobile/modular/resource/service/impl/MobileMenuServiceImpl.java +++ b/snowy-plugin/snowy-plugin-mobile/src/main/java/vip/xiaonuo/mobile/modular/resource/service/impl/MobileMenuServiceImpl.java @@ -211,21 +211,20 @@ public class MobileMenuServiceImpl extends ServiceImpl mobileModuleList = CollectionUtil.newArrayList(); List mobileMenuList = CollectionUtil.newArrayList(); List mobileButtonList = CollectionUtil.newArrayList(); + if (ObjectUtil.isEmpty(allModuleAndMenuList)) { + // 返回空列表 + return CollectionUtil.newArrayList(); + } allModuleAndMenuList.forEach(mobileMenu -> { if (mobileMenu.getCategory().equals(MobileResourceCategoryEnum.MODULE.getValue())) mobileModuleList.add(mobileMenu); if (mobileMenu.getCategory().equals(MobileResourceCategoryEnum.MENU.getValue())) mobileMenuList.add(mobileMenu); if (mobileMenu.getCategory().equals(MobileResourceCategoryEnum.BUTTON.getValue())) mobileMenuList.add(mobileMenu); }); List leafMenuList = CollectionUtil.newArrayList(); - MobileMenu rootMobileMenu = new MobileMenu(); - rootMobileMenu.setId("0"); - rootMobileMenu.setParentId("-1"); - rootMobileMenu.setSortCode(-1); - mobileMenuList.add(rootMobileMenu); List> treeNodeList = mobileMenuList.stream().map(mobileMenu -> new TreeNode<>(mobileMenu.getId(), mobileMenu.getParentId(), mobileMenu.getTitle(), mobileMenu.getSortCode())).collect(Collectors.toList()); - List> treeList = TreeUtil.build(treeNodeList, "-1"); + List> treeList = TreeUtil.build(treeNodeList, "0"); mobileMenuList.forEach(mobileMenu -> { boolean isLeafMenu = this.getChildListById(mobileMenuList, mobileMenu.getId(), false).size() == 0; if(isLeafMenu) {