This commit is contained in:
2026-04-15 14:40:55 -03:00
parent 3f085c11db
commit 83d8335180
71 changed files with 16697 additions and 6261 deletions
@@ -79,7 +79,7 @@
</div>
<h1 id="rcorners"> Lançamento de documento </h1>
<h1 id="rcorners"> Lançamento de documento </h1>
<div class="container activity-all">
@@ -90,7 +90,7 @@
<h2>
<i class="flaticon flaticon-account-box" aria-hidden="true"></i> &nbsp;Dados do documento&nbsp;
</h2>
<h6>Dados referentes ao documento que será lançado.</h6>
<h6>Dados referentes ao documento que será lançado.</h6>
<br>
</div>
@@ -103,21 +103,20 @@
<input type="text" name="data_abertura" id="data_abertura" class="form-control" readonly />
</div>
<div class="form-group col-md-3 col-xs-12 divEmitidoPor alertaCampo">
<label for="emitido_por"> Emitido por
<label for="emitido_por"> Origem
<strong class="required text-danger"> * </strong>
</label>
<select name="emitido_por" id="emitido_por" class="form-control">
<option value="">Selecionar emissor do documento</option>
<option value="fornecedor">Fornecedor</option>
<option value="colaborador">Colaborador</option>
</select>
<p class="help-block" id="emitidoPor"
style="display: none; position: absolute; font-size: 12px;">Preenchimento
obrigatório</p>
obrigatório</p>
</div>
<div class="form-group col-md-3 col-xs-12 divResposavelPelaEmissao divEntidadeResponsavel alertaCampo">
<label for="entidade_responsavel"> Nome do responsável pela emissão</label>
<label for="entidade_responsavel"> Empresa emitente</label>
<span class="required text-danger"><strong> * </strong></span>
<input
type="text"
@@ -133,24 +132,9 @@
/>
<p class="help-block" id="entidadeResponsavel"
style="display: none; position: absolute; font-size: 12px;">
Preenchimento obrigatório
Preenchimento obrigatório
</p>
</div>
<div class="form-group col-md-3 col-xs-12">
<label> E-mail do usuário </label>
<input
type="email"
name="emailSolicitante"
id="emailSolicitante"
class="form-control"
placeholder="Inserir e-mail do solicitante. Ex: joaodasilva@mail.com"
data-protection="E-mail do solicitante"
data-protection-anonymizable
data-protection-sensitive
data-protection-mail
data-protection-class-legitimate-interests="Dado coletado para o funcionamento do processo"
/>
</div>
</div>
</div>
</div><br>
@@ -161,13 +145,13 @@
<label for="tipo_cadastro"> Tipo de cadastro </label><span
class="required text-danger"><strong> * </strong></span>
<select name="tipo_cadastro" id="tipo_cadastro" class="form-control">
<option value="">Selecionar opção</option>
<option value="">Selecionar opção</option>
<option value="cpf">CPF</option>
<option value="cnpj">CNPJ</option>
</select>
<p class="help-block" id="tipoCadastro"
style="display: none; position: absolute; font-size: 12px;">Preenchimento
obrigatório</p>
obrigatório</p>
</div>
<div class="form-group col-md-3 col-xs-12 divCnpj alertaCampoj">
<label for="cnpj"> CNPJ </label> <span class="required text-danger"><strong> *
@@ -176,7 +160,7 @@
mask="00.000.000/0000-00" class="form-control" readonly />
<p class="help-block" id="errorCnpj"
style="display: none; position: absolute; font-size: 12px;">Preenchimento
obrigatório</p>
obrigatório</p>
<p class="help-block" style="color: #cc3d3d;" id="mensagemErroCnpj"></p>
</div>
@@ -199,7 +183,7 @@
/>
<p class="help-block" id="errorCpf"
style="display: none; position: absolute; font-size: 12px;">
Preenchimento obrigatório
Preenchimento obrigatório
</p>
<p class="help-block" style="color: #cc3d3d" id="mensagemErroCpf"></p>
</div>
@@ -207,9 +191,9 @@
<label for="tipo_documento"> Tipo de documento </label>
<select name="tipo_documento" id="tipo_documento" class="form-control">
<option value="">Selecionar tipo de documento</option>
<option value="energia">Documento de energia</option>
<option value="agua">Documento de água</option>
<option value="internet">Documento de Internet</option>
<option value="energia">Nota de Energia Elétrica</option>
<option value="agua">Nota de Consumo de Água</option>
<option value="internet">Nota de Uso de Internet</option>
</select>
</div>
</div>
@@ -220,13 +204,13 @@
<div class="form-field">
<div class="form-input">
<div class="form-group col-md-6 col-xs-12 divNumeroDocumento alertaCampo">
<label> Número do documento </label><span class="required text-danger"><strong> *
<label> Número do documento </label><span class="required text-danger"><strong> *
</strong></span>
<input type="text" name="numero_documento" id="numero_documento"
placeholder="Inserir número do documento" class="form-control" />
<p class="help-block" id="numeroDocumento"
style="display: none; position: absolute; font-size: 12px;">Preenchimento
obrigatório</p>
obrigatório</p>
</div>
<div class="form-group col-md-6 col-xs-12">
<label for="valor_contrato"> Valor do documento (se houver)</label>
@@ -239,6 +223,27 @@
</div><br>
</div>
</div>
<div class="row">
<div class="form-field">
<div class="form-input">
<div class="form-group col-md-6 col-xs-12 divautorizadorResponsavel alertaCampo">
<label for="autorizador_responsavel"> Nome do Autorizador </label>
<span class="required text-danger"><strong> * </strong></span>
<input
type="text"
name="autorizador_responsavel"
id="autorizador_responsavel"
placeholder="Digite seu nome"
class="form-control"
/>
<p class="help-block" id="autorizadorResponsavel"
style="display: none; position: absolute; font-size: 12px;">
Preenchimento obrigatorio
</p>
</div>
</div>
</div>
</div>
<div class="row">
<div class="form-field">
<div class="form-input">
@@ -246,8 +251,8 @@
<label id="labelAnexaCota">Anexar documento</label>
<span class="required text-danger"> <strong> * </strong>
</span>
<p id="descAnexaCota">Utilize a aba anexos para anexar o documento ou o botão
abaixo. <strong> Anexo obrigatório. </strong></p>
<p id="descAnexaCota">Utilize a aba anexos para anexar o documento ou o botão
abaixo. <strong> Anexo obrigatório. </strong></p>
<input type="button" class="btn btn-primary" id="anexaDocumento"
value="Anexar documento" onclick="showCamera('anexo_documento');"
style="margin-top: 25px;" />
@@ -259,21 +264,21 @@
<br>
<h2><i class="flaticon flaticon-message-question" aria-hidden="true">
</i> &nbsp;Descrição dos serviços
</i> &nbsp;Descrição dos serviços
&nbsp;
</h2>
<h6>Descrição detalhada dos serviços prestados e as possíveis informações complementares.</h6>
<h6>Descrição detalhada dos serviços prestados e as possíveis informações complementares.</h6>
<br>
<div class="row">
<div class="form-field">
<div class="form-input">
<div class="form-group col-md-12 col-xs-12 divJustificativa alertaCampo">
<label for="justificativa"> Descrição dos serviços </label> <span
<label for="justificativa"> Descrição dos serviços </label> <span
class="required text-danger"><strong> * </strong></span>
<textarea class="form-control" rows="3" id="justificativa" name="justificativa"
placeholder="Descreva os serviços prestados."></textarea>
<p class="help-block" id="msgJustificativa" style="display: none;">Preenchimento
obrigatório</p>
obrigatório</p>
</div>
</div>
</div>
@@ -342,11 +347,7 @@
<p class="help-block" id="prefixoAnalista" style="display: none;">Preenchimento obrigatorio</p>
</div>
<div class="form-group col-md-4 col-xs-12 divNumeroAnalista alertaCampo">
<<<<<<< HEAD
<label for="NUMERO">Número <span class="required text-danger"><strong>*</strong></span></label>
=======
<label for="NUMERO">Número <span class="required text-danger"><strong>*</strong></span></label>
>>>>>>> 0bf4065e684532d46f9466f40b5418f98a0903e3
<input type="text" name="NUMERO" id="NUMERO" class="form-control" placeholder="010203045" />
<p class="help-block" id="numeroAnalista" style="display: none;">Preenchimento obrigatorio</p>
</div>
@@ -373,11 +374,7 @@
<p class="help-block" id="naturezaAnalista" style="display: none;">Preenchimento obrigatorio</p>
</div>
<div class="form-group col-md-3 col-xs-12 divCodFornAnalista alertaCampo">
<<<<<<< HEAD
<label for="COD_FORN">Código do fornecedor <span class="required text-danger"><strong>*</strong></span></label>
=======
<label for="COD_FORN">Código do fornecedor <span class="required text-danger"><strong>*</strong></span></label>
>>>>>>> 0bf4065e684532d46f9466f40b5418f98a0903e3
<input type="text" name="COD_FORN" id="COD_FORN" class="form-control" placeholder="00000914" />
<p class="help-block" id="codFornAnalista" style="display: none;">Preenchimento obrigatorio</p>
</div>
@@ -394,11 +391,7 @@
<div class="form-field">
<div class="form-input">
<div class="form-group col-md-3 col-xs-12 divEmissaoAnalista alertaCampo">
<<<<<<< HEAD
<label for="EMISSAO">Emissão <span class="required text-danger"><strong>*</strong></span></label>
=======
<label for="EMISSAO">Emissão <span class="required text-danger"><strong>*</strong></span></label>
>>>>>>> 0bf4065e684532d46f9466f40b5418f98a0903e3
<input type="text" name="EMISSAO" id="EMISSAO" class="form-control" placeholder="20260402" />
<p class="help-block" id="emissaoAnalista" style="display: none;">Preenchimento obrigatorio</p>
</div>
@@ -413,13 +406,8 @@
<p class="help-block" id="vencRealAnalista" style="display: none;">Preenchimento obrigatorio</p>
</div>
<div class="form-group col-md-3 col-xs-12 divValorAnalista alertaCampo">
<<<<<<< HEAD
<label for="VALORtotal">Valor <span class="required text-danger"><strong>*</strong></span></label>
<input type="number" step="0.01" name="VALORtotal" id="VALORtotal" class="form-control" placeholder="1500.75" />
=======
<label for="VALOR">Valor <span class="required text-danger"><strong>*</strong></span></label>
<input type="number" step="0.01" name="VALOR" id="VALOR" class="form-control" placeholder="1500.75" />
>>>>>>> 0bf4065e684532d46f9466f40b5418f98a0903e3
<input type="text" name="VALORtotal" id="VALORtotal" class="form-control" placeholder="1.500,75" />
<p class="help-block" id="valorAnalista" style="display: none;">Preenchimento obrigatorio</p>
</div>
</div>
@@ -740,8 +728,23 @@
document.querySelector("#valor").addEventListener("input", function () {
mascaraApenasNumeros(this)
mascaraValorMoedaBr(this)
});
document.querySelector("#valor").addEventListener("blur", function () {
formataValorMoedaBr(this)
});
document.querySelector("#VALORtotal").addEventListener("input", function () {
mascaraValorMoedaBr(this)
});
document.querySelector("#VALORtotal").addEventListener("blur", function () {
formataValorMoedaBr(this)
});
if ($("#valor").val()) {
formataValorMoedaBr(document.querySelector("#valor"));
}
if ($("#VALORtotal").val()) {
formataValorMoedaBr(document.querySelector("#VALORtotal"));
}
if ($("#tipo_cadastro").val() == "cpf") {
@@ -963,6 +966,7 @@
var campoCnpj = $("#cnpj").val();
var campoCpf = $("#cpf").val();
var campoNumeroDocumento = $("#numero_documento").val();
var campoAutorizadorResponsavel = $("#autorizador_responsavel").val();
var campoPastaGed = $("#pasta_ged").val();
var campoExpiracaoValidade = $("#expiracao_validade").val();
var campoJustificativa = $("#justificativa").val();
@@ -1025,6 +1029,12 @@
erro++;
}
if (campoAutorizadorResponsavel == undefined || campoAutorizadorResponsavel == "" || campoAutorizadorResponsavel == null) {
$(".divautorizadorResponsavel").addClass("has-error");
$("#autorizadorResponsavel").show();
erro++;
}
if (campoRadioGed == "publica_ged") {
@@ -1062,7 +1072,7 @@
{ valor: $("#EMISSAO").val(), classe: ".divEmissaoAnalista", help: "#emissaoAnalista" },
{ valor: $("#VENCIMENTO").val(), classe: ".divVencimentoAnalista", help: "#vencimentoAnalista" },
{ valor: $("#VENC_REAL").val(), classe: ".divVencRealAnalista", help: "#vencRealAnalista" },
{ valor: $("#VALOR").val(), classe: ".divValorAnalista", help: "#valorAnalista" },
{ valor: $("#VALORtotal").val(), classe: ".divValorAnalista", help: "#valorAnalista" },
{ valor: $("#HISTORICO").val(), classe: ".divHistoricoAnalista", help: "#historicoAnalista" },
{ valor: $("#CENTRO_CUSTO").val(), classe: ".divCentroCustoAnalista", help: "#centroCustoAnalista" }
];
@@ -1170,11 +1180,78 @@
}
const mascaraApenasNumeros = (field) => {
valor = field.value;
valor = valor.replace(/\D/g, ""); /**Substitui o que não é dígito por "", /g é [Global][1]*/
valor = valor.replace()
field.value = valor;
const mascaraValorMoedaBr = (field) => {
var raw = (field.value || "").toString().replace(/[^\d,]/g, "");
if (!raw) {
field.value = "";
return;
}
var commaIndex = raw.indexOf(",");
var inteiro = "";
var decimal = "";
if (commaIndex >= 0) {
inteiro = raw.substring(0, commaIndex).replace(/\D/g, "");
decimal = raw.substring(commaIndex + 1).replace(/\D/g, "").slice(0, 2);
} else {
inteiro = raw.replace(/\D/g, "");
}
inteiro = inteiro.replace(/^0+(?=\d)/, "");
if (!inteiro) inteiro = "0";
inteiro = inteiro.replace(/\B(?=(\d{3})+(?!\d))/g, ".");
field.value = commaIndex >= 0 ? (inteiro + "," + decimal) : inteiro;
};
const normalizarValorMoedaBr = (value) => {
var raw = (value || "").toString().trim();
if (!raw) return "0,00";
var cleaned = raw.replace(/\s/g, "").replace(/[^\d,\.]/g, "");
var inteiro = "";
var decimal = "";
if (cleaned.indexOf(",") >= 0) {
var commaParts = cleaned.split(",");
inteiro = (commaParts.shift() || "").replace(/\D/g, "");
decimal = commaParts.join("").replace(/\D/g, "").slice(0, 2);
} else if (cleaned.indexOf(".") >= 0) {
var dotParts = cleaned.split(".");
var isDecimalDot = dotParts.length === 2 && dotParts[1].length > 0 && dotParts[1].length <= 2;
if (isDecimalDot) {
inteiro = (dotParts[0] || "").replace(/\D/g, "");
decimal = (dotParts[1] || "").replace(/\D/g, "").slice(0, 2);
} else {
inteiro = cleaned.replace(/\D/g, "");
}
} else {
inteiro = cleaned.replace(/\D/g, "");
}
inteiro = inteiro.replace(/^0+(?=\d)/, "");
if (!inteiro) inteiro = "0";
if (!decimal) decimal = "00";
if (decimal.length === 1) decimal = decimal + "0";
return inteiro + "," + decimal;
};
const formataValorMoedaBr = (field) => {
var normalized = normalizarValorMoedaBr(field.value);
var parts = normalized.split(",");
var inteiro = (parts[0] || "").replace(/\D/g, "");
var decimal = (parts[1] || "").replace(/\D/g, "").slice(0, 2);
inteiro = inteiro.replace(/^0+(?=\d)/, "");
if (!inteiro) inteiro = "0";
if (!decimal) decimal = "00";
if (decimal.length === 1) decimal = decimal + "0";
inteiro = inteiro.replace(/\B(?=(\d{3})+(?!\d))/g, ".");
field.value = inteiro + "," + decimal;
};
const mascaraCPF = (field) => {