当我汇总报告的各列时,我得到了NaN。另外,我的查询检索1行,但网格显示2行。
关于如何解决此问题的任何想法?预先感谢!
$.each(data["resultado"], function(key, item) {
totalPago += item.MontoPagado;
item.MontoPagado = item.MontoPagado.formatMoney(2, '.', ',');
self.TotalPagado(totalPago);
// Billete Mil
totalMil += item.mil;
self.tMil(totalMil);
console.log(item);
//Billete Quinientos
totalQuinientos += item.Quinientos;
self.tQuinientos(totalQuinientos);
//Billete Doscientos
totalDoscientos += item.doscientos;
self.tDoscientos(totalDoscientos);
//Billete Cien
totalCien += item.cien;
self.tCien(totalCien);
//Billete Cincuenta
totalCincuenta += item.cincuenta;
self.tCincuenta(totalCincuenta);
self.listaReporte.push(item);
});
self.TotalPagado(totalPago.formatMoney(2, '.', ','));
self.tMil(totalMil);
self.tQuinientos(totalQuinientos);
self.tDoscientos(totalDoscientos);
self.tCien(totalCien);
self.tCincuenta(totalCincuenta);
答案 0 :(得分:0)
面额都在Denominacion
对象内部,因此您需要使用item.Denominacion.mil
,item.Denominacion.Quinientos
等。
Number.prototype.formatMoney = function(c, d, t) {
var n = this,
c = isNaN(c = Math.abs(c)) ? 2 : c,
d = d == undefined ? "." : d,
t = t == undefined ? "," : t,
s = n < 0 ? "-" : "",
i = String(parseInt(n = Math.abs(Number(n) || 0).toFixed(c))),
j = (j = i.length) > 3 ? j % 3 : 0;
return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
};
var data = {
"estatus": true,
"mensaje": "",
"resultado": [{
"Fecha": "2018-05-05T00:00:00",
"IDEmpleado": 456,
"NombreCompleto": "Jose Luis",
"MontoPagado": 2079.26,
"Denominacion": {
"dosmil": 0,
"mil": 2,
"Quinientos": 0,
"doscientos": 0,
"cien": 0,
"cincuenta": 1,
"veinticinco": 1,
"diez": 0,
"cinco": 0,
"uno": 4,
"dosmilTotal": 0,
"milTotal": 0,
"quinientosTotal": 0,
"doscientosTotal": 0,
"cienTotal": 0,
"cincuentaTotal": 0,
"veinticincoTotal": 0,
"diezTotal": 0,
"cincoTotal": 0,
"unoTotal": 0
}
}]
};
var totalPago = 0;
var totalDosmil = 0;
var totalMil = 0;
var totalQuinientos = 0;
var totalDoscientos = 0;
var totalCien = 0;
var totalCincuenta = 0;
data["resultado"].forEach(function(item) {
totalPago += item.MontoPagado;
item.MontoPagado = item.MontoPagado.formatMoney(2, '.', ',');
// Billete Mil
totalMil += item.Denominacion.mil;
//console.log(item);
//Billete Quinientos
totalQuinientos += item.Denominacion.Quinientos;
//Billete Doscientos
totalDoscientos += item.Denominacion.doscientos;
//Billete Cien
totalCien += item.Denominacion.cien;
//Billete Cincuenta
totalCincuenta += item.Denominacion.cincuenta;
});
console.log(totalPago.formatMoney(2, '.', ','));
console.log(totalMil);
console.log(totalQuinientos);
console.log(totalDoscientos);
console.log(totalCien);
console.log(totalCincuenta);