import { Head, Link, useForm, usePage } from '@inertiajs/react'; import { FormErrors, PageTitle, Panel, controlClass, } from '@/components/procurement'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import { conflictScope } from '@/types/conflict'; import type { ConflictDeclaration } from '@/types/conflict'; import { date } from '@/types/procurement'; type Props = { declarations: { data: ConflictDeclaration[]; prev_page_url: string | null; next_page_url: string | null; }; suppliers: { id: number; name: string }[]; requisitions: { id: number; number: string }[]; }; export default function Conflicts({ declarations, suppliers, requisitions, }: Props) { const { auth } = usePage().props; const form = useForm({ scope: 'supplier', supplier_id: '', requisition_id: '', has_conflict: '1', known_since: '', reason: '', }); return ( <>
Um conflito registado mantém o impedimento, mesmo que exista uma declaração posterior de ausência. Não há caducidade automática nem retirada de conflitos nesta etapa: essas condições dependem da política da empresa. A data de conhecimento descreve o facto e não adia o bloqueio.
{ e.preventDefault(); form.transform((data) => ({ ...data, has_conflict: data.has_conflict === '1', supplier_id: data.scope === 'process' ? null : data.supplier_id || null, requisition_id: data.scope === 'supplier' ? null : data.requisition_id || null, })); form.post('/conflitos', { preserveScroll: true, onSuccess: () => form.reset(), }); }} >
{form.data.scope !== 'process' && (
)} {form.data.scope !== 'supplier' && (
)}
form.setData( 'known_since', e.target.value, ) } />