gaoluyang
5 天以前 8151c3253dc287a79914bc08414af17dfb380c96
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