слайд 2 по тарифам с РДТ

This commit is contained in:
Sholpan 2026-08-18 09:39:06 +00:00
parent 16bde65510
commit 1d8639580d

View File

@ -117,39 +117,30 @@ function buildSlides() {
{ {
title: "2. Тарифы МСБ в разрезе РДТ (Август 2026)", title: "2. Тарифы МСБ в разрезе РДТ (Август 2026)",
custom: function() { custom: function() {
var sections = RDT_DATA.map(function(rdt) { var tariffs = [
var bastau5kSum = rdt.bastau8 + rdt.bastau50; { name: "Paynet 5 (1 500 ₸)", data: RDT_DATA.map(function(r) { return {rdt: r.name, val: r.paynet}; }), total: TOTALS.paynet, color: "#00b8cc" },
var total = rdt.paynet + bastau5kSum + rdt.bastauCamCall + rdt.bastauCam100 + rdt.horeca; { name: "BASTAU 8/50 (5 000 ₸)", data: RDT_DATA.map(function(r) { return {rdt: r.name, val: r.bastau8 + r.bastau50}; }), total: TOTALS.bastau5k, color: "#0ea5e9" },
{ name: "BASTAU CAM/CALL 50 (7 500 ₸)", data: RDT_DATA.map(function(r) { return {rdt: r.name, val: r.bastauCamCall}; }), total: TOTALS.bastau7_5k, color: "#10b981" },
{ name: "BASTAU CAM 100 (10 000 ₸)", data: RDT_DATA.map(function(r) { return {rdt: r.name, val: r.bastauCam100}; }), total: TOTALS.bastau10k, color: "#f59e0b" },
{ name: "HoReCa KT (15 000 ₸)", data: RDT_DATA.map(function(r) { return {rdt: r.name, val: r.horeca}; }), total: TOTALS.horeca, color: "#ef4444" }
];
return tariffs.map(function(t) {
var maxVal = Math.max.apply(null, t.data.map(function(d) { return d.val; })) || 1;
var sortedData = t.data.sort(function(a,b) { return b.val - a.val; });
var bars = sortedData.map(function(d) {
var pct = maxVal > 0 ? (d.val / maxVal * 100) : 0;
return '<div class="bar-row">' +
'<div class="bar-label">' + d.rdt + '</div>' +
'<div class="bar-container"><div class="bar" style="width:' + pct + '%; background:' + t.color + '"></div></div>' +
'<div class="bar-value">' + d.val + '</div></div>';
}).join('');
return '<div class="rdt-section">' + return '<div class="rdt-section">' +
'<div class="rdt-title">' + rdt.name + ' — ' + total + ' точек</div>' + '<div class="rdt-title" style="color:' + t.color + '">' + t.name + ' — ' + t.total + ' точек всего</div>' +
'<div class="tariff-row"><span class="tariff-name">Paynet 5 (1 500 ₸)</span><span class="tariff-val">' + rdt.paynet + '</span></div>' + bars +
'<div class="tariff-row"><span class="tariff-name">BASTAU 8/50 (5 000 ₸)</span><span class="tariff-val">' + bastau5kSum + ' (8+' + rdt.bastau50 + ')</span></div>' +
'<div class="tariff-row"><span class="tariff-name">BASTAU CAM/CALL 50 (7 500 ₸)</span><span class="tariff-val">' + rdt.bastauCamCall + '</span></div>' +
'<div class="tariff-row"><span class="tariff-name">BASTAU CAM 100 (10 000 ₸)</span><span class="tariff-val">' + rdt.bastauCam100 + '</span></div>' +
'<div class="tariff-row"><span class="tariff-name">HoReCa KT (15 000 ₸)</span><span class="tariff-val">' + rdt.horeca + '</span></div>' +
'</div>'; '</div>';
}).join(''); }).join('');
var maxRdt = Math.max.apply(null, RDT_DATA.map(function(r) {
return r.paynet + (r.bastau8 + r.bastau50) + r.bastauCamCall + r.bastauCam100 + r.horeca;
}));
var rdtBars = RDT_DATA.sort(function(a,b) {
return (b.paynet+(b.bastau8+b.bastau50)+b.bastauCamCall+b.bastauCam100+b.horeca) -
(a.paynet+(a.bastau8+a.bastau50)+a.bastauCamCall+a.bastauCam100+a.horeca);
})
.map(function(rdt) {
var total = rdt.paynet + (rdt.bastau8 + rdt.bastau50) + rdt.bastauCamCall + rdt.bastauCam100 + rdt.horeca;
var pct = maxRdt > 0 ? (total / maxRdt * 100) : 0;
return '<div class="bar-row">' +
'<div class="bar-label">' + rdt.name + '</div>' +
'<div class="bar-container"><div class="bar" style="width:' + pct + '%"></div></div>' +
'<div class="bar-value">' + total + ' точек</div></div>';
}).join('');
return '<div style="display:grid; grid-template-columns: 1fr 1fr; gap:20px;">' +
'<div><h2 style="margin-bottom:12px;">По РДТ</h2>' + rdtBars + '</div>' +
'<div>' + sections + '</div>' +
'</div>';
} }
} }
]; ];