diff --git a/src/components/layout/Sidebar.vue b/src/components/layout/Sidebar.vue index 68eb8db..1ee8f5d 100644 --- a/src/components/layout/Sidebar.vue +++ b/src/components/layout/Sidebar.vue @@ -68,7 +68,14 @@ const menuItems = ref([ { label: 'Productos', icon: 'pi pi-shopping-cart', - to: '/products' + to: '/products', + permission: [ + 'products.index', + 'products.show', + 'products.store', + 'products.update', + 'products.destroy', + ], }, { label: 'Requisiciones', diff --git a/src/modules/catalog/components/units/unidades-equvalencia.html b/src/modules/catalog/components/units/unidades-equvalencia.html deleted file mode 100644 index eec2585..0000000 --- a/src/modules/catalog/components/units/unidades-equvalencia.html +++ /dev/null @@ -1,449 +0,0 @@ - - - - - - - - - - - - - - - - - - - -
- -
-
- Architectural ERP - -
-
- - -
- User Profile Avatar -
-
-
- -
- -
-
-

Gestión de Equivalencias

-

Configura las relaciones entre diferentes unidades de - medida para el control de stock.

-
- -
- -
- -
-
-
- search - -
-
- - - - - -
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Unidad Origen - Operador - Factor - Unidad Destino - Acciones
-
-
- inventory_2 -
- Caja (Master) -
-
x12.00 -
- Pieza -
-
-
- - -
-
-
-
- scale -
- Kilogramo -
-
/1000.00 -
- Gramo -
-
-
- - -
-
-
-
- widgets -
- Pallet -
-
x48.00 -
- Caja -
-
-
- - -
-
-
- -
- Mostrando 1 a 3 de 24 entradas -
- - - - - -
-
-
- -
-
-
- add_box -

Agregar Nueva - Equivalencia

-
-
-
- - -
-
-
- - -
-
- - -
-
-
- - -
-
- - -
-
-
- -
-
- Info Rápida - info -
-

- Asegúrese de que las unidades base correspondan a las medidas de inventario físico para - mantener la precisión en los conteos cíclicos. -

-
-
-
-
- - -
- - - \ No newline at end of file diff --git a/src/modules/products/components/ProductForm.vue b/src/modules/products/components/ProductForm.vue index facc074..cf7352a 100644 --- a/src/modules/products/components/ProductForm.vue +++ b/src/modules/products/components/ProductForm.vue @@ -10,6 +10,10 @@ import { useComercialClassificationStore } from '../../catalog/stores/comercialC import { useUnitOfMeasureStore } from '../../catalog/stores/unitOfMeasureStore'; import { satCodeProductsService, type SatCodeProduct } from '../../catalog/services/sat-code-products.services'; import type { Product, CreateProductData } from '../types/product'; +import { useAuth } from '@/modules/auth/composables/useAuth'; + +// Auth/Permissions +const { hasPermission } = useAuth(); // Props interface Props { @@ -32,6 +36,11 @@ const emit = defineEmits<{ const clasificationsStore = useComercialClassificationStore(); const unitOfMeasureStore = useUnitOfMeasureStore(); +// Computed permission to store or update +const canSaveProduct = computed(() => { + return props.isEditing ? hasPermission('products.update') : hasPermission('products.store'); +}); + // Form data const formData = ref({ code: '', @@ -700,11 +709,12 @@ const onUpload = (event: any) => { outlined @click="handleCancel" /> -