diff --git a/src/components/device/device-card/components/current-diag/security-box-circuit-card.vue b/src/components/device/device-card/components/current-diag/security-box-circuit-card.vue index bd33f1b..9476e03 100644 --- a/src/components/device/device-card/components/current-diag/security-box-circuit-card.vue +++ b/src/components/device/device-card/components/current-diag/security-box-circuit-card.vue @@ -13,7 +13,9 @@ import { type Station, } from '@/apis'; import { SecurityBoxCircuitLinkModal } from '@/components'; +import { usePermission } from '@/composables'; import { SELECT_DEVICE_FN_INJECTION_KEY } from '@/constants'; +import { PERMISSION_TYPE_LITERALS } from '@/enums'; import { useDeviceStore, useSettingStore } from '@/stores'; import { parseErrorFeedback } from '@/utils'; import { useMutation } from '@tanstack/vue-query'; @@ -40,6 +42,8 @@ const { lineDevices } = storeToRefs(deviceStore); const settingStore = useSettingStore(); const { useLocalDB } = storeToRefs(settingStore); +const { hasPermission } = usePermission(); + const { ndmDevice, station, circuits } = toRefs(props); const showCard = computed(() => !!circuits.value && circuits.value.length > 0); @@ -223,6 +227,7 @@ const onSelectDropdownOption = (key: string, option: DropdownOption) => { const onContextmenu = (payload: PointerEvent, circuitIndex: number) => { payload.stopPropagation(); payload.preventDefault(); + if (!hasPermission(station.value.code, PERMISSION_TYPE_LITERALS.OPERATION)) return; const { clientX, clientY } = payload; contextmenu.value = { x: clientX, y: clientY, circuitIndex }; showContextmenu.value = true; diff --git a/src/components/device/device-card/components/current-diag/switch-port-card.vue b/src/components/device/device-card/components/current-diag/switch-port-card.vue index 6829da5..2c13903 100644 --- a/src/components/device/device-card/components/current-diag/switch-port-card.vue +++ b/src/components/device/device-card/components/current-diag/switch-port-card.vue @@ -1,7 +1,9 @@