From 8151c3253dc287a79914bc08414af17dfb380c96 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期三, 14 十月 2026 14:34:33 +0800
Subject: [PATCH] refactor(首页): 展示模块改为跟随菜单权限自动隐藏

---
 src/views/mes/home/modules/kpi-cards.vue |   55 +++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 47 insertions(+), 8 deletions(-)

diff --git a/src/views/mes/home/modules/kpi-cards.vue b/src/views/mes/home/modules/kpi-cards.vue
index f104479..e6b7c5f 100644
--- a/src/views/mes/home/modules/kpi-cards.vue
+++ b/src/views/mes/home/modules/kpi-cards.vue
@@ -8,6 +8,10 @@
 
 import { Card, Col, Divider, Row } from 'ant-design-vue';
 
+import { useHomeAccess } from '#/utils/use-home-access';
+
+import { HOME_BLOCK_MENUS } from '../data';
+
 defineOptions({ name: 'MesHomeKpiCards' });
 
 const props = defineProps<{
@@ -17,6 +21,9 @@
 const emit = defineEmits<{
   navigate: [name: string];
 }>();
+
+/** 鑿滃崟娌″紑鐨勬ā鍧楋紝瀵瑰簲 KPI 鍗′笉灞曠ず */
+const { canSeeMenu } = useHomeAccess();
 
 /** 鏄惁鏈夎川閲忔暟鎹紙鍚堟牸鍝� + 涓嶈壇鍝� > 0锛� */
 const hasQualityData = computed(
@@ -40,10 +47,18 @@
 
 <template>
   <Row :gutter="16">
-    <Col :lg="6" :md="12" :sm="12" :xl="6" :xs="24" class="mb-4">
+    <Col
+      v-if="canSeeMenu(HOME_BLOCK_MENUS.workOrder)"
+      :lg="6"
+      :md="12"
+      :sm="12"
+      :xl="6"
+      :xs="24"
+      class="mb-4"
+    >
       <Card
         class="kpi-card cursor-pointer transition-all hover:-translate-y-1 hover:shadow-lg"
-        @click="emit('navigate', 'MesProWorkOrder')"
+        @click="emit('navigate', HOME_BLOCK_MENUS.workOrder)"
       >
         <div class="flex items-center gap-4">
           <div
@@ -71,10 +86,18 @@
         </div>
       </Card>
     </Col>
-    <Col :lg="6" :md="12" :sm="12" :xl="6" :xs="24" class="mb-4">
+    <Col
+      v-if="canSeeMenu(HOME_BLOCK_MENUS.feedback)"
+      :lg="6"
+      :md="12"
+      :sm="12"
+      :xl="6"
+      :xs="24"
+      class="mb-4"
+    >
       <Card
         class="kpi-card cursor-pointer transition-all hover:-translate-y-1 hover:shadow-lg"
-        @click="emit('navigate', 'MesProFeedback')"
+        @click="emit('navigate', HOME_BLOCK_MENUS.feedback)"
       >
         <div class="flex items-center gap-4">
           <div
@@ -100,10 +123,18 @@
         </div>
       </Card>
     </Col>
-    <Col :lg="6" :md="12" :sm="12" :xl="6" :xs="24" class="mb-4">
+    <Col
+      v-if="canSeeMenu(HOME_BLOCK_MENUS.feedback)"
+      :lg="6"
+      :md="12"
+      :sm="12"
+      :xl="6"
+      :xs="24"
+      class="mb-4"
+    >
       <Card
         class="kpi-card cursor-pointer transition-all hover:-translate-y-1 hover:shadow-lg"
-        @click="emit('navigate', 'MesProFeedback')"
+        @click="emit('navigate', HOME_BLOCK_MENUS.feedback)"
       >
         <div class="flex items-center gap-4">
           <div
@@ -135,10 +166,18 @@
         </div>
       </Card>
     </Col>
-    <Col :lg="6" :md="12" :sm="12" :xl="6" :xs="24" class="mb-4">
+    <Col
+      v-if="canSeeMenu(HOME_BLOCK_MENUS.machinery)"
+      :lg="6"
+      :md="12"
+      :sm="12"
+      :xl="6"
+      :xs="24"
+      class="mb-4"
+    >
       <Card
         class="kpi-card cursor-pointer transition-all hover:-translate-y-1 hover:shadow-lg"
-        @click="emit('navigate', 'MesDvMachinery')"
+        @click="emit('navigate', HOME_BLOCK_MENUS.machinery)"
       >
         <div class="flex items-center gap-4">
           <div

--
Gitblit v1.9.3