From caddfd7efaabf86eb2348ae33d9b7a2281a2b167 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 16 十月 2026 21:04:56 +0800
Subject: [PATCH] fix(user): 导入失败明细改用弹窗展示,用户页字段统一叫「用户账号」

---
 src/views/dashboard/analytics/modules/quick-actions.vue |   25 ++++++++++++++++---------
 1 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/src/views/dashboard/analytics/modules/quick-actions.vue b/src/views/dashboard/analytics/modules/quick-actions.vue
index f84affb..58115d0 100644
--- a/src/views/dashboard/analytics/modules/quick-actions.vue
+++ b/src/views/dashboard/analytics/modules/quick-actions.vue
@@ -1,5 +1,9 @@
 <script lang="ts" setup>
+import { computed } from 'vue';
+
 import { IconifyIcon } from '@vben/icons';
+
+import { useHomeAccess } from '#/utils/use-home-access';
 
 defineOptions({ name: 'DashboardQuickActions' });
 
@@ -18,22 +22,25 @@
 const actions: QuickAction[] = [
   { title: '鐢熶骇宸ュ崟', icon: 'lucide:file-text', route: 'MesProWorkOrder', gradient: 'from-blue-500 to-cyan-500', shadow: 'shadow-blue-500/15' },
   { title: '鐢熶骇鎶ュ伐', icon: 'lucide:check-square', route: 'MesProFeedback', gradient: 'from-emerald-500 to-green-500', shadow: 'shadow-emerald-500/15' },
-  { title: '璐ㄦ绠$悊', icon: 'lucide:clipboard-check', route: 'MesQcRecord', gradient: 'from-orange-500 to-amber-500', shadow: 'shadow-orange-500/15' },
+  { title: '璐ㄦ绠$悊', icon: 'lucide:clipboard-check', route: 'MesQcIqc', gradient: 'from-orange-500 to-amber-500', shadow: 'shadow-orange-500/15' },
   { title: '璁惧鐐规', icon: 'lucide:settings', route: 'MesDvMachinery', gradient: 'from-violet-500 to-purple-500', shadow: 'shadow-violet-500/15' },
-  { title: '鐢熶骇鎺掔▼', icon: 'lucide:calendar-range', route: 'MesProScheduling', gradient: 'from-cyan-500 to-teal-500', shadow: 'shadow-cyan-500/15' },
-  { title: '瀹夌伅鍛煎彨', icon: 'lucide:bell-ring', route: 'MesProAndon', gradient: 'from-red-500 to-rose-500', shadow: 'shadow-red-500/15' },
-  { title: '鐗╂枡搴撳瓨', icon: 'lucide:package-search', route: 'WlsMaterialStock', gradient: 'from-indigo-500 to-blue-500', shadow: 'shadow-indigo-500/15' },
-  { title: '宸ヨ壓璺嚎', icon: 'lucide:route', route: 'MesPdRouting', gradient: 'from-teal-500 to-emerald-500', shadow: 'shadow-teal-500/15' },
-  { title: '鏁版嵁鎶ヨ〃', icon: 'lucide:bar-chart-big', route: 'MesHomeIndex', gradient: 'from-pink-500 to-rose-500', shadow: 'shadow-pink-500/15' },
+  { title: '鐢熶骇鎺掔▼', icon: 'lucide:calendar-range', route: 'MesProTask', gradient: 'from-cyan-500 to-teal-500', shadow: 'shadow-cyan-500/15' },
+  { title: '鐗╂枡搴撳瓨', icon: 'lucide:package-search', route: 'MesWmMaterialStock', gradient: 'from-indigo-500 to-blue-500', shadow: 'shadow-indigo-500/15' },
+  { title: '宸ヨ壓璺嚎', icon: 'lucide:route', route: 'MesProcessDesignRoute', gradient: 'from-teal-500 to-emerald-500', shadow: 'shadow-teal-500/15' },
 ];
+
+const { canSeeMenu } = useHomeAccess();
+const accessibleActions = computed(() =>
+  actions.filter((action) => canSeeMenu(action.route)),
+);
 </script>
 
 <template>
-  <div class="glass-card rounded-2xl p-5">
+  <div v-if="accessibleActions.length" class="glass-card rounded-2xl p-5">
     <h3 class="mb-4 text-sm font-semibold text-gray-800 dark:text-gray-100">蹇嵎鎿嶄綔</h3>
-    <div class="grid grid-cols-3 gap-3 sm:grid-cols-9">
+    <div class="grid grid-cols-4 gap-3 sm:grid-cols-8">
       <div
-        v-for="action in actions"
+        v-for="action in accessibleActions"
         :key="action.route"
         class="group flex cursor-pointer flex-col items-center gap-2 rounded-xl p-3 transition-all duration-300 hover:-translate-y-1"
         @click="emit('navigate', action.route)"

--
Gitblit v1.9.3