This commit is contained in:
Andrey Cunha
2026-03-10 23:32:02 -03:00
parent b32415212f
commit 9a0ef21ec8
63 changed files with 4412 additions and 637 deletions
@@ -1,44 +1,21 @@
<div id="dashKPI_${instanceId}"
class="super-widget wcm-widget-class fluig-style-guide"
data-params="DashKPI.instance()">
<div class="dkpi-grid">
<div class="dkpi-card">
<div class="dkpi-title">Atingimento | Geral | CP</div>
<div id="kpi_pct_${instanceId}" class="dkpi-big">0,00%</div>
<div class="dkpi-label">AUDITORIA</div>
</div>
<div class="row">
<div class="col-md-3">
<div class="panel panel-default">
<div class="panel-body">
<h4>Total Auditorias</h4>
<h2 id="kpi_total_${instanceId}">0</h2>
<div class="dkpi-card">
<div class="dkpi-title">Total de Auditorias | Geral | CP</div>
<div class="dkpi-total-row">
<div class="dkpi-bar-bg">
<div id="kpi_total_bar_${instanceId}" class="dkpi-bar-fill"></div>
</div>
<div id="kpi_total_${instanceId}" class="dkpi-total">0</div>
</div>
</div>
</div>
<div class="col-md-3">
<div class="panel panel-success">
<div class="panel-body">
<h4>Conformes</h4>
<h2 id="kpi_ok_${instanceId}">0</h2>
</div>
</div>
</div>
<div class="col-md-3">
<div class="panel panel-danger">
<div class="panel-body">
<h4>Não Conformes</h4>
<h2 id="kpi_nok_${instanceId}">0</h2>
</div>
</div>
</div>
<div class="col-md-3">
<div class="panel panel-info">
<div class="panel-body">
<h4>% Conformidade</h4>
<h2 id="kpi_pct_${instanceId}">0%</h2>
</div>
</div>
</div>
</div>
</div>
@@ -1 +1,84 @@
/* Coloque aqui seu codigo CSS */
div[id^="dashKPI_"] .dkpi-grid {
display: grid;
grid-template-columns: 1fr 1.4fr;
gap: 4px;
}
div[id^="dashKPI_"] .dkpi-card {
background: #ececed;
border-radius: 18px;
padding: 8px 12px;
min-height: 120px;
}
div[id^="dashKPI_"] .dkpi-title {
color: #004a6a;
font-size: 14px;
font-weight: 800;
margin-bottom: 4px;
line-height: 1.08;
}
div[id^="dashKPI_"] .dkpi-big {
font-size: 20px;
font-weight: 800;
text-align: center;
margin-top: 2px;
margin-bottom: 2px;
}
div[id^="dashKPI_"] .dkpi-label {
text-align: center;
color: #44525a;
font-size: 11px;
font-weight: 700;
}
div[id^="dashKPI_"] .dkpi-total-row {
display: flex;
align-items: center;
gap: 10px;
margin-top: 6px;
}
div[id^="dashKPI_"] .dkpi-bar-bg {
flex: 1;
height: 30px;
border-radius: 4px;
background: #e0e5ea;
overflow: hidden;
box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
}
div[id^="dashKPI_"] .dkpi-bar-fill {
width: 0;
height: 100%;
background: linear-gradient(180deg, #1f6f95 0%, #095777 100%);
transition: width 280ms ease;
}
div[id^="dashKPI_"] .dkpi-total {
min-width: 44px;
font-size: 16px;
font-weight: 800;
color: #111111;
text-align: right;
}
@media (max-width: 1300px) {
div[id^="dashKPI_"] .dkpi-grid {
grid-template-columns: 1fr;
}
div[id^="dashKPI_"] .dkpi-title {
font-size: 16px;
}
div[id^="dashKPI_"] .dkpi-big {
font-size: 28px;
}
div[id^="dashKPI_"] .dkpi-total {
font-size: 22px;
}
}
@@ -1,41 +1,32 @@
var DashKPI = SuperWidget.extend({
init:function(){
init: function () {
var self = this;
var self=this;
window.addEventListener("dashboardData", function (e) {
self.calcular(e.detail || []);
});
},
window.addEventListener("dashboardData",function(e){
calcular: function (dados) {
var total = dados.length;
var conformes = dados.filter(function (i) {
return normalizaStatus(i) === "CONFORME";
}).length;
self.calcular(e.detail);
var pct = total ? (conformes / total) * 100 : 0;
var pctTxt = pct.toFixed(2).replace(".", ",") + "%";
$("#kpi_total_" + this.instanceId).text(total);
$("#kpi_pct_" + this.instanceId).text(pctTxt);
var largura = total ? Math.max(12, Math.min(100, pct)) : 0;
$("#kpi_total_bar_" + this.instanceId).css("width", largura + "%");
}
});
},
calcular:function(dados){
var total=dados.length;
var conformes=dados.filter(function(i){
return normalizaStatus(i)=="CONFORME";
}).length;
var nao=dados.filter(function(i){
return normalizaStatus(i)=="NAO_CONFORME";
}).length;
var pct= total ? Math.round((conformes/total)*100) : 0;
$("#kpi_total_"+this.instanceId).text(total);
$("#kpi_ok_"+this.instanceId).text(conformes);
$("#kpi_nok_"+this.instanceId).text(nao);
$("#kpi_pct_"+this.instanceId).text(pct+"%");
}
});
function normalizaStatus(item){
var raw = item.saidaAnalise || item.status || "";
return String(raw).trim().toUpperCase();
function normalizaStatus(item) {
var raw = item.saidaAnalise || item.status || "";
return String(raw).trim().toUpperCase();
}