att
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user