function ScreenPortal() { const { ACTIVE_QUOTATION: Q, SUPPLIERS, BRL } = window.SCP; const sup = SUPPLIERS.find(s => s.id === 'F-04'); const [prices, setPrices] = useState({}); const [skips, setSkips] = useState({}); const [sent, setSent] = useState(false); const setPrice = (id, v) => setPrices(p => ({ ...p, [id]: v })); const toggleSkip = (id) => setSkips(p => ({ ...p, [id]: !p[id] })); const total = Q.items.reduce((s, it) => s + (skips[it.id] ? 0 : (parseFloat(prices[it.id]) || 0) * it.qty), 0); return (

Cotação Recebida

Preencha seus preços para cada item e envie sua proposta. Nenhum cadastro necessário.

Aberta
Empresa{window.SCP.COMPANY.name}
Número{Q.id}
Prazo limite{Q.deadline}
Comprador{Q.buyer}
{Q.obs &&
{Q.obs}
}
{!sent ? ( <>

Itens solicitados

{Q.items.length} itens
{Q.items.map(it => { const skip = skips[it.id]; const price = parseFloat(prices[it.id]) || 0; return ( ); })}
Produto Qtd Seu preço unitário Subtotal Não trabalho
{it.name}
{it.unit}
{it.qty}
R$ setPrice(it.id, e.target.value)} />
0 && !skip ? 'oklch(0.92 0.14 160)' : 'var(--fg-3)' }}> {price > 0 && !skip ? BRL(price * it.qty) : '—'} toggleSkip(it.id)} />
Total da proposta {total > 0 ? BRL(total) : '—'}

Observações (opcional)