Tela principal11
G5-04 / TR-01Adicionado o campo contratoSap em todas as 11 linhas do3▼
- Adicionado o campo contratoSap em todas as 11 linhas do mock SEARCH_RESULTS, com 10 dígitos iniciando em 45 e derivado do número Q- para manter consistência (Q-20303 -> 4500218303, Q-20385 -> 4500218385, Q-20392 -> 4500218392, Q-38542 -> 4500238542, Q-85721 -> 4500285721, Q-39742 -> 4500239742). O número Q- foi preservado. — const SEARCH_RESULTS = [...] (bloco de dados mock)
- Contrato SAP exibido como informação secundária na visão TABELA, dentro da célula que já agrupa Contrato / Ref. / Vigência, usando a mesma classe stack-secondary + v3-meta-label dos campos vizinhos. O Q- continua como primary. — renderTableView() -> td.cell-stack (coluna 'Contrato / Ref. / Vigência')
- Contrato SAP exibido no header do card (visão CARDS), como mais um v5-head-inline entre o código do contrato e a Ref., seguindo exatamente o padrão dos vizinhos (v5-meta-label + strong + v5-head-divider). — renderCardsView() -> headerHTML, header.card-head.v5-card-head
Levantado porInarae-mail 11.1 · 1.2
Favor ajustar no épico/estórias. (@Luiz)Marco · PO
G5-05Recebedor da mercadoria4▼
- Adicionados os campos recebedor (nome) e recebedorCnpj ao mock, consistentes por cidade de destino: Sertãozinho/SP -> Armazéns Gerais Sertãozinho Ltda (18.472.605/0001-92); Bebedouro/SP -> Terminal Agrícola Bebedouro Ltda (24.918.337/0001-45); Limeira/SP -> Depósito Agrícola Limeira Ltda (31.605.284/0001-70); Alfenas/MG -> Armazém Sul de Minas Ltda (09.744.512/0001-38). — const SEARCH_RESULTS = [...]
- Recebedor da mercadoria exibido na visão TABELA como linha terciária da célula de destino (nome + CNPJ), abaixo dos dados do Ship to. — renderTableView() -> td.cell-stack da coluna de destino
- Recebedor da mercadoria exibido na visão CARDS, na nova linha de destino do item (rótulo 'Recebedor da mercadoria' + nome em strong + CNPJ), usando a estrutura v5-item-meta-piece/v5-meta-label idêntica às demais peças da linha. — renderCardsView() -> itemsHTML, nova div .v5-item-line.v5-item-line--bottom.v5-item-line--dest
- Recebedor da mercadoria incluído também no resultado do drawer 'Selecionar contratos', como mais um <span> da lista .drawer-item-meta (mesmo padrão <strong>Rótulo:</strong> valor dos vizinhos), com highlight de busca. — renderDrawerList() -> div.drawer-item-meta
Levantado porInarae-mail 11.2
G5-06Nome do Ship to3▼
- Adicionado o campo shipTo (nome do Ship to) ao mock, consistente com a cidade e a IE já existentes: Sertãozinho/SP -> Usina São Martinho S/A - Filial Sertãozinho; Bebedouro/SP -> Agropecuária Bebedouro Ltda - Unidade Bebedouro; Limeira/SP -> Citrosuco Agro Ltda - Filial Limeira; Alfenas/MG -> Cooperativa Agrícola de Alfenas - Filial Alfenas. — const SEARCH_RESULTS = [...]
- Nome do Ship to ACRESCENTADO na célula de destino da tabela como stack-secondary. A hierarquia atual foi preservada: enviarPara (cidade/UF) continua sendo o stack-primary/cell-strong — nada foi invertido. — renderTableView() -> td.cell-stack de destino; cabeçalho <th>
- Nome do Ship to acrescentado na visão CARDS (nova linha de destino) e no drawer de seleção. A peça 'Rota planta → enviarPara' do card permanece intacta, sem inversão. — renderCardsView() -> .v5-item-line--dest ; renderDrawerList() -> .drawer-item-meta
Levantado porInarae-mail 11.3
Favor ajustar no épico/estórias. (@Luiz)Marco · PO
G5-07CNPJ e IE do Ship to1▼
- Rótulos de CNPJ e IE renomeados para deixar explícito que são dados do SHIP TO (não do Sold to). Premissa B1 aplicada: a IE permanece nesta tela, agora rotulada como IE Ship to. Os valores (cnpj/ie) não mudaram. — renderTableView() -> célula de destino; renderCardsView() -> .v5-item-line--dest; renderDrawerList() -> .drawer-item-meta
Levantado porInarae-mail 11.4
@Inara, qual tem que ser?Marco · PO
Deve ser do Ship to.Alessandra
Modal Selecionar contratos3
G2-01/02Busca do drawer 'Selecionar contratos' passou a cobrir 3▼
- Busca do drawer 'Selecionar contratos' passou a cobrir CNPJ/CPF do Ship to, CNPJ do recebedor, Contrato SAP, Cidade (enviarPara, que já estava no haystack), nome do Ship to, nome do recebedor e IE. O placeholder do campo foi atualizado para comunicar isso. — renderDrawerList() -> const haystack ; <input id="drawerSearch"> placeholder
- O haystack do botão 'Selecionar todos' do drawer foi alinhado ao haystack da listagem, senão 'Selecionar todos' selecionaria um conjunto diferente do que está visível ao buscar por Contrato SAP, Ship to, IE ou recebedor. — listener de click em elDrawerSelectAll -> const haystack
- Número do Contrato SAP incluído no resultado do drawer, na linha 1 do item, como informação secundária logo após o número Q- (com highlight de busca). Adicionado CSS .drawer-item-sap seguindo o padrão de label uppercase 9px do design system. — renderDrawerList() -> .drawer-item-line1 ; bloco CSS após .drawer-item-item
Levantado porInarae-mail 2.1
Transversal7
G6-01Quantidades com 3 casas decimais7▼
- Todos os saldos do mock passaram de 2 para 3 casas decimais. — const SEARCH_RESULTS -> campo saldo (11 linhas)
- Máscara de digitação do Volume passou a aceitar 3 casas decimais em vez de 2. — function maskVolumeDecimal(input)
- Placeholders dos inputs de Volume (visão cards e visão tabela) atualizados. — renderCardsView() input[data-field=volume] e renderTableView() input.v3-cell-num
- Criada a função utilitária fmtQtd3(n) que formata qualquer quantidade em pt-BR com exatamente 3 casas decimais (minimumFractionDigits/maximumFractionDigits = 3), para padronizar todos os totais. — novo bloco imediatamente antes de function updateSummary()
- Total do rodapé fixo (Volume Total) e total do modal de confirmação de envio passaram a usar fmtQtd3. — updateSummary() -> #statVolume ; listener de #agendarBtn -> #submitSummary
- Valor inicial do rodapé (antes de qualquer contrato ser adicionado) ajustado para o formato de 3 casas. — HTML estático, <span class="value" id="statVolume">
- Adicionado normalizador: ao sair do campo Volume (focusout), o valor digitado é reescrito com 3 casas decimais, garantindo que o que o usuário digitou como '10,5' fique '10,500' também no state e no resumo colapsado do card. — novo listener elBody.addEventListener("focusout", ...) logo após o listener de input
Levantado porInarae-mail 1.1
Você quer [dizer] em relação a quantidade do protocolo, agendamento de contrato normal e de protocolo? As quantidades que serão informadas pelo usuário na tela? OU o Saldo do contrato?Marco · PO
Sempre deixar 3 casas decimais em todos os campos de quantidades, para termos todos os ambientes no mesmo formato.Alessandra