{#if loading}
{:else if error}
{error}
{:else if pedido}
{#if editingSei}
{:else}

SEI: {pedido.numeroSei || 'sem número SEI'}

{#if pedido.status === 'em_rascunho' || pedido.status === 'precisa_ajustes'} {/if}
{/if} {#if editingDfd}
{:else}
DFD: {pedido.numeroDfd || 'sem número DFD'} {#if pedido.status === 'em_rascunho' || pedido.status === 'precisa_ajustes'} {/if}
{/if}
{formatStatus(pedido.status)} {#if !pedido.numeroSei}
⚠️ Este pedido não possui número SEI. Um número SEI deve ser informado antes de enviar para aceite.
{/if} {#if !pedido.numeroDfd}
⚠️ Este pedido não possui número DFD. Um número DFD deve ser informado antes de enviar para aceite.
{/if} {#if pedido.status === 'precisa_ajustes' && pedido.descricaoAjuste}
Ajustes solicitados: {pedido.descricaoAjuste}
{/if}
{#if permissions?.canSendToAcceptance} {/if} {#if permissions?.canStartAnalysis} {/if} {#if permissions?.canConclude} {/if} {#if permissions?.canRequestAdjustments} {/if} {#if permissions?.canCompleteAdjustments} {/if} {#if permissions?.canCancel} {/if}

Documentos do Pedido

{#if showAddPedidoDocumento}
{ const f = e.currentTarget.files?.[0] ?? null; pedidoDocumentoFile = f; }} />
{/if}
{#if pedidoDocumentos.length === 0}

Nenhum documento anexado ao pedido.

{:else}
{#each pedidoDocumentos as doc (doc._id)} {/each}
Descrição Arquivo Tamanho Enviado por Data Ações
{doc.descricao} {doc.nome} {#if doc.origemSolicitacaoId} (origem: solicitação) {/if} {formatBytes(doc.tamanho)} {doc.criadoPorNome ?? 'Desconhecido'} {new Date(doc.criadoEm).toLocaleString('pt-BR')}
{/if}
{#if requests.length > 0}

Solicitações Pendentes

{#each requests as req (req._id)} {@const data = parseRequestData(req.dados)} {/each}
Tipo Solicitante Detalhes Ações
{#if req.tipo === 'adicao'} Adição {:else if req.tipo === 'alteracao_quantidade'} Alteração Qtd {:else if req.tipo === 'exclusao'} Exclusão {:else if req.tipo === 'alteracao_detalhes'} {describeChangedDetails(data)} {/if} {req.solicitadoPorNome} {#if req.tipo === 'adicao'} {getObjetoName(data.objetoId)} - {data.quantidade}x ({data.modalidade}) {:else if req.tipo === 'alteracao_quantidade'} {#if data.itemId} {@const item = items.find((i) => i._id === data.itemId)} {item ? getObjetoName(item.objetoId) : 'Item desconhecido'} (Nova Qtd: {data.novaQuantidade}) {:else} Qtd: {data.novaQuantidade} {/if} {:else if req.tipo === 'exclusao'} {#if data.itemId} {@const item = items.find((i) => i._id === data.itemId)} Remover: {item ? getObjetoName(item.objetoId) : 'Item desconhecido'} {:else} Remover Item {/if} {:else if req.tipo === 'alteracao_detalhes'} {#if data.itemId} {@const item = items.find((i) => i._id === data.itemId)} Alterar detalhes de: {item ? getObjetoName(item.objetoId) : 'Item desconhecido'} {:else} Alteração de detalhes do item {/if} {/if}
{#if req.tipo === 'adicao'} {@const canAddDoc = !!currentFuncionarioId && req.solicitadoPor === currentFuncionarioId} {/if} {#if permissions?.canManageRequests} {:else} Aguardando Análise {/if}
{/if}

Itens do Pedido

{#if pedido.status === 'em_rascunho' || pedido.status === 'precisa_ajustes' || pedido.status === 'em_analise' || pedido.status === 'aguardando_aceite'} {/if}
{#if showAddItem}
(newItem.valorEstimado = maskCurrencyBRL(e.currentTarget.value))} class="input input-bordered focus:input-primary input-sm w-full" placeholder="R$ 0,00" />
{#if newItem.objetoId && permissions?.canEditAta}
{/if}
{/if}
{#if hasSelection}
{selectedCount} {selectedCount === 1 ? '1 item selecionado' : `${selectedCount} itens selecionados`}
{/if} {#each groupedItems as group (group.name)}
Adicionado por: {group.name}
{#if (pedido.status === 'em_rascunho' || pedido.status === 'precisa_ajustes') && currentFuncionarioId && group.items[0]?.adicionadoPor === currentFuncionarioId} {/if} {#each group.items as item (item._id)} {#if (pedido.status === 'em_rascunho' || pedido.status === 'precisa_ajustes') && currentFuncionarioId && item.adicionadoPor === currentFuncionarioId} {/if} {/each}
{ const checked = e.currentTarget.checked; for (const groupItem of group.items) { if (checked) { selectedItemIds.add(groupItem._id); } else { selectedItemIds.delete(groupItem._id); } } }} aria-label={`Selecionar todos os itens de ${group.name}`} /> Objeto Qtd Valor Est. Modalidade Ação Ata Total Ações
toggleItemSelection(item._id)} aria-label={`Selecionar item ${getObjetoName(item.objetoId)}`} /> {getObjetoName(item.objetoId)} {#if pedido.status === 'em_rascunho' || pedido.status === 'precisa_ajustes' || pedido.status === 'em_analise' || pedido.status === 'aguardando_aceite'} handleUpdateQuantity(item._id, parseInt(e.currentTarget.value) || 1)} class="input input-bordered input-sm w-20" /> {:else} {item.quantidade} {/if} {#if pedido.status === 'em_rascunho' || pedido.status === 'precisa_ajustes' || pedido.status === 'em_analise' || pedido.status === 'aguardando_aceite'} setEditingField( item._id, 'valorEstimado', maskCurrencyBRL(e.currentTarget.value) )} onblur={() => persistItemChanges(item)} placeholder="R$ 0,00" /> {:else} {maskCurrencyBRL(item.valorEstimado) || 'R$ 0,00'} {/if} {#if permissions?.canEditModalidade} {:else} {formatModalidade(item.modalidade as Modalidade) || '-'} {/if} {#if pedido.status === 'em_rascunho' || pedido.status === 'precisa_ajustes' || pedido.status === 'em_analise' || pedido.status === 'aguardando_aceite'} {:else} {getAcaoName(item.acaoId)} {/if} {#if permissions?.canEditAta} {:else if item.ataId} {#each getAtasForObjeto(item.objetoId) as ata (ata._id)} {#if ata._id === item.ataId} Ata {ata.numero} {/if} {/each} {:else} - {/if} R$ {calculateItemTotal(item.valorEstimado, item.quantidade) .toFixed(2) .replace('.', ',')} {#if pedido.status === 'em_rascunho' || pedido.status === 'precisa_ajustes' || pedido.status === 'em_analise' || pedido.status === 'aguardando_aceite'} {/if}
{/each} {#if items.length === 0}
Nenhum item adicionado.
{:else}
Total Geral: R$ {totalGeral.toFixed(2).replace('.', ',')}
{/if}
{#if showDetailsModal && selectedObjeto} {/if}

Histórico

{#if history.length === 0}

Nenhum histórico disponível.

{:else} {#each history as entry (entry._id)}
{getHistoryIcon(entry.acao)}

{formatHistoryEntry(entry)}

{new Date(entry.data).toLocaleString('pt-BR', { day: '2-digit', month: '2-digit', year: 'numeric', hour: '2-digit', minute: '2-digit' })}

{/each} {/if}
{/if} {#if showSplitResultModal && novoPedidoIdParaNavegar} {/if} {#if showSplitConfirmationModal} {/if} {#if showSolicitacaoDocsModal && solicitacaoDocsRequestId} {/if} {#if showRequestAdjustmentsModal} {/if} (confirmModal.open = false)} />