Novo git da alteração

This commit is contained in:
2026-03-01 17:27:48 -03:00
parent 8b7a079235
commit 9ec8d6e70b
366 changed files with 50299 additions and 27325 deletions
@@ -270,13 +270,14 @@ var beforeSendValidate = function (numState, nextState) {
function setSelectedZoomItem(selectedItem) {
var name_item = selectedItem.inputId;
var ehItem = name_item.indexOf("___") >= 0;
var indice = "";
if (ehItem){
var valores = name_item.split("___");
name_item = valores[0];
indice = valores[1];
}
var indice = "";
if (ehItem){
var valores = name_item.split("___");
name_item = valores[0];
indice = valores[1];
}
// Carrega o dataset de centro de custo (apenas uma vez)
var dtsCentroCusto = DatasetFactory.getDataset(
"ds_centroCusto",
null,
@@ -284,6 +285,7 @@ function setSelectedZoomItem(selectedItem) {
null
).values;
// --- Define variáveis de gestores apenas uma vez ---
var nomeGestorComercial = dtsCentroCusto[0].gestorCentroCusto;
var emailGestorComercial = dtsCentroCusto[0].emailGestor;
var idGestorComercial = dtsCentroCusto[0].idGestor;
@@ -292,45 +294,42 @@ function setSelectedZoomItem(selectedItem) {
var emailGestorOperacoes = dtsCentroCusto[2].emailGestor;
var idGestorOperacoes = dtsCentroCusto[2].idGestor;
// --- Quando seleciona o ESTABELECIMENTO ---
if (name_item == "estabelecimento") {
let estabelecimento = selectedItem["estabelecimento"];
let cnpj = selectedItem["CNPJ"];
let protheus = selectedItem["CODIGO"]
let cnpj = selectedItem["cnpj"];
let protheus = selectedItem["codigo"];
$("#cnpj").val(cnpj);
$("#protheus").val(protheus);
if (estabelecimento.includes("MATRIZ")) {
} else if (estabelecimento.includes("CD")) {
window["centroCusto"].setValue("Operações");
$("#gestorNome").val(nomeGestorOperacoes);
$("#gestorEmail").val(emailGestorOperacoes);
$("#gestor_cc").val(idGestorOperacoes);
} else {
window["centroCusto"].setValue("Comercial");
$("#gestorNome").val(nomeGestorComercial);
$("#gestorEmail").val(emailGestorComercial);
$("#gestor_cc").val(idGestorComercial);
}
// ❌ Não define centro de custo automaticamente
// Apenas limpa os campos relacionados para evitar dados antigos
window["centroCusto"].clear();
$("#gestorNome").val("");
$("#gestorEmail").val("");
$("#gestor_cc").val("");
}
// --- Quando seleciona o CENTRO DE CUSTO ---
if (name_item == "centroCusto") {
$("#gestorNome").val(selectedItem["gestorCentroCusto"]);
$("#gestorEmail").val(selectedItem["emailGestor"]);
$("#gestor_cc").val(selectedItem["idGestor"]);
}
// --- Quando seleciona o SOLICITANTE ---
if (name_item == "userSolicitante") {
$("#emailSolicitante").val(selectedItem.mail);
}
// --- Quando seleciona uma descrição em linha de item ---
if (name_item == "descricao") {
$("#codigoItem" + "___" + indice).val(selectedItem["descricao"]);
}
}
function removedZoomItem(removedItem) {
var name_item = removedItem.inputId;
var ehItem = name_item.indexOf("___") >= 0;
@@ -1037,16 +1036,18 @@ function consultarProdutos() {
}
function carregaListaProdutos() {
var dataset = DatasetFactory.getDataset('ProdutosTI', null, null, null);
var dataset = DatasetFactory.getDataset('dsProd', null, null, null);
todosProdutos = dataset.values;
paginaAtual = 1;
renderizaProdutos();
}
function renderizaProdutos() {
var filtro = $('#filtroDescricao').val() || '';
var produtosFiltrados = todosProdutos.filter(function(produto) {
return produto['descricao'].toLowerCase().includes(filtro.toLowerCase());
var filtro = ($('#filtroDescricao').val() || '').toString().toLowerCase();
var produtosFiltrados = (todosProdutos || []).filter(function (produto) {
var desc = ((produto && (produto.descricao || produto.Description)) || '').toString().toLowerCase();
return desc.indexOf(filtro) !== -1;
});
var inicio = (paginaAtual - 1) * itensPorPagina;
@@ -1054,16 +1055,20 @@ function renderizaProdutos() {
var produtosPagina = produtosFiltrados.slice(inicio, fim);
var html = '<table class="table table-striped">' +
'<thead><tr><th>Código</th><th>Descrição</th><th>Ação</th></tr></thead><tbody>';
'<thead><tr><th>Código</th><th>Descrição</th><th>Ação</th></tr></thead><tbody>';
produtosPagina.forEach(function (produto) {
var codigo = ((produto && produto.codigo) || '').toString();
var descricao = ((produto && produto.descricao) || '').toString();
produtosPagina.forEach(function(produto) {
var codigo = produto['codigo'];
var descricao = produto['descricao'];
html += '<tr>' +
'<td>' + $('<div>').text(codigo).html() + '</td>' +
'<td>' + $('<div>').text(descricao).html() + '</td>' +
'<td>' +
'<button class="btn btn-sm btn-success btn-selecionar-produto" data-codigo="' + $('<div>').text(codigo).html() + '" data-descricao="' + $('<div>').text(descricao).html() + '">Selecionar</button>' +
'<button class="btn btn-sm btn-success btn-selecionar-produto" ' +
'data-codigo="' + $('<div>').text(codigo).html() + '" ' +
'data-descricao="' + $('<div>').text(descricao).html() + '">' +
'Selecionar</button>' +
'</td>' +
'</tr>';
});
@@ -1071,17 +1076,15 @@ function renderizaProdutos() {
html += '</tbody></table>';
$('#listaProdutos').html(html);
// Ativa o evento DEPOIS de montar a tabela
$('.btn-selecionar-produto').off('click').on('click', function(e) {
$('.btn-selecionar-produto').off('click').on('click', function (e) {
e.stopPropagation();
var $btn = $(this);
var codigo = $btn.attr('data-codigo');
var descricao = $btn.attr('data-descricao');
var codigo = $(this).attr('data-codigo') || '';
var descricao = $(this).attr('data-descricao') || '';
adicionarProdutoTabela(codigo, descricao);
// Altera o botão para "Selecionado"
$btn
$(this)
.removeClass('btn-success')
.addClass('btn-secondary')
.text('Selecionado')
@@ -169,23 +169,23 @@
<span class="required text-danger"><strong> * </strong></span>
<input type="zoom" class="form-control requiredInput" name="estabelecimento" id="estabelecimento"
data-zoom="{
'displayKey':'DESCRICAO',
'datasetId':'dsSysCompany',
'displayKey':'estabelecimento',
'datasetId':'dsFiliais',
'placeholder': 'Pesquisar por nome do estabelecimento.',
'fields':[
{
'field':'CODIGO',
'field':'codigo',
'label':'Filial',
'standard':'true',
'search':'true'
},
{
'field':'DESCRICAO',
'field':'estabelecimento',
'label':'estabelecimento',
'search':'true'
},
{
'field':'BPCS',
'field':'filial',
'label':'bpcs',
'search':'true'
}