Commit 777e82cde98db7ec64e3440da71929041402e1cd

Authored by ww
1 parent aefaa5cb

perf: 移除权限icon中的console

1   -<script lang="ts" setup>
2   - import { Icon } from '/@/components/Icon';
3   - import { computed, ExtractPropTypes, unref } from 'vue';
4   - import { usePermission } from '/@/hooks/web/usePermission';
5   -
6   - interface AuthIconProps extends ExtractPropTypes<typeof Icon> {
7   - auth?: string;
8   - }
9   -
10   - const props = defineProps<AuthIconProps>();
11   -
12   - const emit = defineEmits(['click']);
13   -
14   - const { hasPermission } = usePermission();
15   -
16   - const getHasPermission = computed(() => {
17   - const { auth } = props;
18   - console.log(auth);
19   - return auth ? hasPermission(auth) : true;
20   - });
21   -
22   - const getBindProps = computed(() => {
23   - return {
24   - ...props,
25   - ...(unref(getHasPermission) ? { onClick: (event: Event) => emit('click', event) } : {}),
26   - };
27   - });
28   -</script>
29   -
30   -<template>
31   - <Icon
32   - v-bind="getBindProps"
33   - class="justify-center items-center"
34   - :class="getHasPermission ? '' : '!cursor-not-allowed !text-gray-200'"
35   - />
36   -</template>
  1 +<script lang="ts" setup>
  2 + import { Icon } from '/@/components/Icon';
  3 + import { computed, ExtractPropTypes, unref } from 'vue';
  4 + import { usePermission } from '/@/hooks/web/usePermission';
  5 +
  6 + interface AuthIconProps extends ExtractPropTypes<typeof Icon> {
  7 + auth?: string;
  8 + }
  9 +
  10 + const props = defineProps<AuthIconProps>();
  11 +
  12 + const emit = defineEmits(['click']);
  13 +
  14 + const { hasPermission } = usePermission();
  15 +
  16 + const getHasPermission = computed(() => {
  17 + const { auth } = props;
  18 + return auth ? hasPermission(auth) : true;
  19 + });
  20 +
  21 + const getBindProps = computed(() => {
  22 + return {
  23 + ...props,
  24 + ...(unref(getHasPermission) ? { onClick: (event: Event) => emit('click', event) } : {}),
  25 + };
  26 + });
  27 +</script>
  28 +
  29 +<template>
  30 + <Icon
  31 + v-bind="getBindProps"
  32 + class="justify-center items-center"
  33 + :class="getHasPermission ? '' : '!cursor-not-allowed !text-gray-200'"
  34 + />
  35 +</template>
... ...