From 5efd20a863905f0a25c727c3d83c69e40f7f99b1 Mon Sep 17 00:00:00 2001 From: XieYongHong <18010623010@163.com> Date: Wed, 7 Jun 2023 10:57:37 +0800 Subject: [PATCH] feat: task#2060 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: 15017 * fix: 修改bug(13663、15022、13672) * fix: 修改操作栏的距离 * fix: bug#15019 * fix: 修改菜单配置 * fix: 修改网络组件的集群控制 * fix: 修改用户管理的类型展示问题 * fix:修改15034 * feat: 优化社区版运维管理-仪表盘-数据加载 * feat: task#2060 --- src/store/menu.ts | 13 +++++-- src/utils/menu.ts | 12 ++++++ src/views/home/components/DeviceCountCard.vue | 3 +- src/views/link/DashBoard/components/Cpu.vue | 16 ++++++-- src/views/link/DashBoard/components/Jvm.vue | 14 +++++-- .../link/DashBoard/components/TopCard.vue | 2 + src/views/link/DashBoard/index.vue | 7 ++-- .../system/Role/Detail/Permiss/index.vue | 2 +- .../Role/Detail/components/PermissTree.vue | 37 +++++++++++-------- 9 files changed, 73 insertions(+), 33 deletions(-) diff --git a/src/store/menu.ts b/src/store/menu.ts index 509f182a..bc5f8d45 100644 --- a/src/store/menu.ts +++ b/src/store/menu.ts @@ -1,12 +1,13 @@ import { defineStore } from 'pinia' import { queryOwnThree } from '@/api/system/menu' -import { filterAsyncRouter, findCodeRoute, MenuItem } from '@/utils/menu' +import {filterAsyncRouter, filterCommunityMenus, findCodeRoute, MenuItem} from '@/utils/menu' import { cloneDeep, isArray } from 'lodash-es' import { usePermissionStore } from './permission' import router from '@/router' import { onlyMessage } from '@/utils/comm' import { AccountMenu, NotificationRecordCode, NotificationSubscriptionCode } from '@/router/menu' import { MESSAGE_SUBSCRIBE_MENU_CODE, USER_CENTER_MENU_CODE } from '@/utils/consts' +import {isNoCommunity} from "@/utils/utils"; const defaultOwnParams = [ { @@ -95,15 +96,19 @@ export const useMenuStore = defineStore({ const resp = await queryOwnThree({ paging: false, terms: defaultOwnParams }) if (resp.success) { const permission = usePermissionStore() + let resultData = resp.result + if (!isNoCommunity) { + resultData = filterCommunityMenus(resultData) + } permission.permissions = {} - const { menusData, silderMenus } = filterAsyncRouter(resp.result) + const { menusData, silderMenus } = filterAsyncRouter(resultData) // 是否存在通知订阅 - const hasMessageSub = resp.result.some((item: { code: string }) => item.code === MESSAGE_SUBSCRIBE_MENU_CODE) + const hasMessageSub = resultData.some((item: { code: string }) => item.code === MESSAGE_SUBSCRIBE_MENU_CODE) if (!hasMessageSub) { AccountMenu.children = AccountMenu.children.filter((item: { code: string }) => ![NotificationSubscriptionCode, NotificationRecordCode].includes(item.code) ) } - this.menus = findCodeRoute([...resp.result, AccountMenu]) + this.menus = findCodeRoute([...resultData, AccountMenu]) Object.keys(this.menus).forEach((item) => { const _item = this.menus[item] if (_item.buttons?.length) { diff --git a/src/utils/menu.ts b/src/utils/menu.ts index f457d5a8..a524603e 100644 --- a/src/utils/menu.ts +++ b/src/utils/menu.ts @@ -1,5 +1,7 @@ import { cloneDeep } from 'lodash-es' import { BlankLayoutPage, BasicLayoutPage } from 'components/Layout' +import { isNoCommunity } from '@/utils/utils' + const pagesComponent = import.meta.glob('../views/**/*.vue'); /** @@ -206,6 +208,16 @@ const findDetailRoutes = (routes: any[]): any[] => { return newRoutes } +const filterMenus = ['device/DashBoard'] +export const filterCommunityMenus = (menuData: any[]) => { + return menuData.filter(item => { + if (item.children) { + item.children = filterCommunityMenus(item.children) + } + return !filterMenus.includes(item.code) + }) +} + export const findCodeRoute = (asyncRouterMap: any[]) => { const routeMeta = {} diff --git a/src/views/home/components/DeviceCountCard.vue b/src/views/home/components/DeviceCountCard.vue index 437378c7..0e77fdf0 100644 --- a/src/views/home/components/DeviceCountCard.vue +++ b/src/views/home/components/DeviceCountCard.vue @@ -1,7 +1,7 @@