Improve the frontend 3
This commit is contained in:
@@ -15,7 +15,7 @@ import { useTriggerDailyScheduler } from '../../../../api';
|
||||
import type { PurchaseOrderStatus, PurchaseOrderPriority, PurchaseOrderDetail } from '../../../../api/services/purchase_orders';
|
||||
import { useTenantStore } from '../../../../stores/tenant.store';
|
||||
import { useUserById } from '../../../../api/hooks/user';
|
||||
import toast from 'react-hot-toast';
|
||||
import { showToast } from '../../../../utils/toast';
|
||||
|
||||
const ProcurementPage: React.FC = () => {
|
||||
// State
|
||||
@@ -59,7 +59,6 @@ const ProcurementPage: React.FC = () => {
|
||||
const approvePOMutation = useApprovePurchaseOrder();
|
||||
const rejectPOMutation = useRejectPurchaseOrder();
|
||||
const updatePOMutation = useUpdatePurchaseOrder();
|
||||
const triggerSchedulerMutation = useTriggerDailyScheduler();
|
||||
|
||||
// Filter POs
|
||||
const filteredPOs = useMemo(() => {
|
||||
@@ -129,11 +128,11 @@ const ProcurementPage: React.FC = () => {
|
||||
poId: po.id,
|
||||
data: { status: 'SENT_TO_SUPPLIER' }
|
||||
});
|
||||
toast.success('Orden enviada al proveedor');
|
||||
showToast.success('Orden enviada al proveedor');
|
||||
refetchPOs();
|
||||
} catch (error) {
|
||||
console.error('Error sending PO to supplier:', error);
|
||||
toast.error('Error al enviar orden al proveedor');
|
||||
showToast.error('Error al enviar orden al proveedor');
|
||||
}
|
||||
};
|
||||
|
||||
@@ -144,11 +143,11 @@ const ProcurementPage: React.FC = () => {
|
||||
poId: po.id,
|
||||
data: { status: 'CONFIRMED' }
|
||||
});
|
||||
toast.success('Orden confirmada');
|
||||
showToast.success('Orden confirmada');
|
||||
refetchPOs();
|
||||
} catch (error) {
|
||||
console.error('Error confirming PO:', error);
|
||||
toast.error('Error al confirmar orden');
|
||||
showToast.error('Error al confirmar orden');
|
||||
}
|
||||
};
|
||||
|
||||
@@ -162,10 +161,10 @@ const ProcurementPage: React.FC = () => {
|
||||
poId: selectedPOId,
|
||||
notes: approvalNotes || undefined
|
||||
});
|
||||
toast.success('Orden aprobada exitosamente');
|
||||
showToast.success('Orden aprobada exitosamente');
|
||||
} else {
|
||||
if (!approvalNotes.trim()) {
|
||||
toast.error('Debes proporcionar una razón para rechazar');
|
||||
showToast.error('Debes proporcionar una razón para rechazar');
|
||||
return;
|
||||
}
|
||||
await rejectPOMutation.mutateAsync({
|
||||
@@ -173,7 +172,7 @@ const ProcurementPage: React.FC = () => {
|
||||
poId: selectedPOId,
|
||||
reason: approvalNotes
|
||||
});
|
||||
toast.success('Orden rechazada');
|
||||
showToast.success('Orden rechazada');
|
||||
}
|
||||
setShowApprovalModal(false);
|
||||
setShowDetailsModal(false);
|
||||
@@ -181,18 +180,18 @@ const ProcurementPage: React.FC = () => {
|
||||
refetchPOs();
|
||||
} catch (error) {
|
||||
console.error('Error in approval action:', error);
|
||||
toast.error('Error al procesar aprobación');
|
||||
showToast.error('Error al procesar aprobación');
|
||||
}
|
||||
};
|
||||
|
||||
const handleTriggerScheduler = async () => {
|
||||
try {
|
||||
await triggerSchedulerMutation.mutateAsync(tenantId);
|
||||
toast.success('Scheduler ejecutado exitosamente');
|
||||
showToast.success('Scheduler ejecutado exitosamente');
|
||||
refetchPOs();
|
||||
} catch (error) {
|
||||
console.error('Error triggering scheduler:', error);
|
||||
toast.error('Error al ejecutar scheduler');
|
||||
showToast.error('Error al ejecutar scheduler');
|
||||
}
|
||||
};
|
||||
|
||||
@@ -715,16 +714,6 @@ const ProcurementPage: React.FC = () => {
|
||||
title="Órdenes de Compra"
|
||||
description="Gestiona órdenes de compra y aprovisionamiento"
|
||||
actions={[
|
||||
{
|
||||
id: 'trigger-scheduler',
|
||||
label: triggerSchedulerMutation.isPending ? 'Ejecutando...' : 'Ejecutar Scheduler',
|
||||
icon: Play,
|
||||
onClick: handleTriggerScheduler,
|
||||
variant: 'outline',
|
||||
size: 'sm',
|
||||
disabled: triggerSchedulerMutation.isPending,
|
||||
loading: triggerSchedulerMutation.isPending
|
||||
},
|
||||
{
|
||||
id: 'create-po',
|
||||
label: 'Nueva Orden',
|
||||
@@ -857,7 +846,7 @@ const ProcurementPage: React.FC = () => {
|
||||
onSuccess={() => {
|
||||
setShowCreatePOModal(false);
|
||||
refetchPOs();
|
||||
toast.success('Orden de compra creada exitosamente');
|
||||
showToast.success('Orden de compra creada exitosamente');
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user