From 5c1e0a47eea514f59f697133fe8a01bcbf6f7a78 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 15 十月 2026 10:31:28 +0800
Subject: [PATCH] refactor(首页): 展示模块跟随菜单权限自动隐藏
---
src/views/dashboard/analytics/modules/alert-panel.vue | 17 ++++++++++++++---
1 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/src/views/dashboard/analytics/modules/alert-panel.vue b/src/views/dashboard/analytics/modules/alert-panel.vue
index 8ac16f2..b7b19d1 100644
--- a/src/views/dashboard/analytics/modules/alert-panel.vue
+++ b/src/views/dashboard/analytics/modules/alert-panel.vue
@@ -2,7 +2,7 @@
import type { MesHomeApi } from '#/api/mes/home';
import type { EchartsUIType } from '@vben/plugins/echarts';
-import { onMounted, ref } from 'vue';
+import { computed, onMounted, ref } from 'vue';
import { CountTo } from '@vben/common-ui';
import { IconifyIcon } from '@vben/icons';
@@ -11,6 +11,8 @@
import { Spin } from 'ant-design-vue';
import { getWorkOrderStatusDistribution } from '#/api/mes/home';
+
+import { useHomeAccess } from '#/utils/use-home-access';
defineOptions({ name: 'DashboardAlertPanel' });
@@ -22,11 +24,19 @@
navigate: [name: string];
}>();
+const { canQuery, canSeeMenu } = useHomeAccess();
+
+/** 宸ュ崟鐘舵�佸垎甯冨彇鑷敓浜ц鍗曪紝鎺ュ彛鏉冮檺鍜岃彍鍗曢兘瑕佹湁 */
+const canViewStatus = computed(
+ () => canQuery('mes:home:query') && canSeeMenu('MesProWorkOrder'),
+);
+
const chartRef = ref<EchartsUIType>();
const { renderEcharts } = useEcharts(chartRef);
const loading = ref(false);
async function loadStatus() {
+ if (!canViewStatus.value) return;
loading.value = true;
try {
const data = await getWorkOrderStatusDistribution();
@@ -68,8 +78,9 @@
<!-- 棰勮鍗$墖琛� -->
<div class="grid grid-cols-1 gap-3">
<div
+ v-if="canSeeMenu('MesDvRepair')"
class="glass-tilt group cursor-pointer overflow-hidden rounded-2xl border-0 p-4"
- @click="emit('navigate', 'MesProRepair')"
+ @click="emit('navigate', 'MesDvRepair')"
>
<div class="relative z-10 flex items-center gap-3">
<div class="flex size-10 items-center justify-center rounded-lg bg-amber-50 text-amber-600 shadow-sm dark:bg-amber-500/15 dark:text-amber-400">
@@ -87,7 +98,7 @@
</div>
<!-- 宸ュ崟鐘舵�佸浘 -->
- <div class="glass-tilt rounded-2xl p-5">
+ <div v-if="canViewStatus" class="glass-tilt rounded-2xl p-5">
<h4 class="mb-3 text-sm font-semibold text-gray-800 dark:text-gray-100">
宸ュ崟鐘舵�佸垎甯�
</h4>
--
Gitblit v1.9.3