слайд 2 по тарифам с РДТ
This commit is contained in:
parent
16bde65510
commit
1d8639580d
51
index.html
51
index.html
@ -117,39 +117,30 @@ function buildSlides() {
|
||||
{
|
||||
title: "2. Тарифы МСБ в разрезе РДТ (Август 2026)",
|
||||
custom: function() {
|
||||
var sections = RDT_DATA.map(function(rdt) {
|
||||
var bastau5kSum = rdt.bastau8 + rdt.bastau50;
|
||||
var total = rdt.paynet + bastau5kSum + rdt.bastauCamCall + rdt.bastauCam100 + rdt.horeca;
|
||||
var tariffs = [
|
||||
{ name: "Paynet 5 (1 500 ₸)", data: RDT_DATA.map(function(r) { return {rdt: r.name, val: r.paynet}; }), total: TOTALS.paynet, color: "#00b8cc" },
|
||||
{ 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">' +
|
||||
'<div class="rdt-title">' + rdt.name + ' — ' + total + ' точек</div>' +
|
||||
'<div class="tariff-row"><span class="tariff-name">Paynet 5 (1 500 ₸)</span><span class="tariff-val">' + rdt.paynet + '</span></div>' +
|
||||
'<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 class="rdt-title" style="color:' + t.color + '">' + t.name + ' — ' + t.total + ' точек всего</div>' +
|
||||
bars +
|
||||
'</div>';
|
||||
}).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>';
|
||||
}
|
||||
}
|
||||
];
|
||||
|
||||
Loading…
Reference in New Issue
Block a user