tuqin
12 小时以前 52d8fdefc85591abe9ee6c8cd382f91698013ebf
src/views/dashboard/analytics/modules/quick-actions.vue
@@ -4,26 +4,26 @@
defineOptions({ name: 'DashboardQuickActions' });
const emit = defineEmits<{
  navigate: [name: string];
  navigate: [path: string];
}>();
interface QuickAction {
  title: string;
  icon: string;
  route: string;
  path: string;
  gradient: string;
  shadow: string;
}
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: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: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:users', path: '/hrm/employee', gradient: 'from-blue-500 to-cyan-500', shadow: 'shadow-blue-500/15' },
  { title: '员工合同', icon: 'lucide:file-signature', path: '/hrm/employee-contract', gradient: 'from-emerald-500 to-green-500', shadow: 'shadow-emerald-500/15' },
  { title: '考勤管理', icon: 'lucide:calendar-check', path: '/hrm/attendance/rule', gradient: 'from-orange-500 to-amber-500', shadow: 'shadow-orange-500/15' },
  { title: '薪酬管理', icon: 'lucide:wallet', path: '/hrm/salary/calculation', gradient: 'from-violet-500 to-purple-500', shadow: 'shadow-violet-500/15' },
  { title: '加班工资管理', icon: 'lucide:clock', path: '/hrm/salary/overtime-wage', gradient: 'from-cyan-500 to-teal-500', shadow: 'shadow-cyan-500/15' },
  { title: '售后工单', icon: 'lucide:wrench', path: '/aftersales/ticket', gradient: 'from-indigo-500 to-blue-500', shadow: 'shadow-indigo-500/15' },
  { title: '退货申请', icon: 'lucide:undo-2', path: '/aftersales/return', gradient: 'from-pink-500 to-rose-500', shadow: 'shadow-pink-500/15' },
  { title: '问题库', icon: 'lucide:book-open', path: '/aftersales/problem', gradient: 'from-teal-500 to-emerald-500', shadow: 'shadow-teal-500/15' },
];
</script>
@@ -33,9 +33,9 @@
    <div class="grid grid-cols-4 gap-3 sm:grid-cols-8">
      <div
        v-for="action in actions"
        :key="action.route"
        :key="action.path"
        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)"
        @click="emit('navigate', action.path)"
      >
        <div
          class="flex size-10 items-center justify-center rounded-xl bg-gradient-to-br transition-shadow duration-300 group-hover:shadow-lg"