From a9f9ba61a0db337997936a41dfbd5daa48f863a4 Mon Sep 17 00:00:00 2001 From: shumilina_a Date: Fri, 18 Sep 2026 10:13:21 +0000 Subject: [PATCH] =?UTF-8?q?=D0=BF=D1=80=D0=B8=D0=BC=D0=B5=D1=80=20=D0=B4?= =?UTF-8?q?=D0=B0=D0=BD=D0=BD=D1=8B=D1=85:=20=D0=BA=D0=BD=D0=BE=D0=BF?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=B4=D0=B5=D0=BC=D0=BE=20+=20demo-postupleniya?= =?UTF-8?q?.xlsx?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- demo-postupleniya.xlsx | Bin 0 -> 5300 bytes index.html | 47 +++++++++++++++++++++++++++++++++++++++-- 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 demo-postupleniya.xlsx diff --git a/demo-postupleniya.xlsx b/demo-postupleniya.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..c19e80145b208df92abb131610c5171bbbe8f318 GIT binary patch literal 5300 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

gwMs z|4-Sx48F|rf51Xml@Pn&|H1job}kd?A3HQysqVkfN>2+PD^>vjMA)A!w!~Xd{(Aa9 DN**Xh literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 3d0e6eb..637e001 100644 --- a/index.html +++ b/index.html @@ -98,6 +98,12 @@

+
+ + + или загрузите свои файлы .xlsx +
+
@@ -109,6 +115,41 @@ var YEAR_COLORS = ["8B95A5", "3E9BBF", "00B8CC"]; var COUNTERPARTY_COLORS = ["00B8CC", "F4B942", "7C6FE8", "4CC38A", "F472A0", "5B8DEF", "D96C4F", "8A8A92"]; var files = []; var rows = []; +var demoOn = false; + +var DEMO = [ + { year: 2023, name: "KT Bank", amount: 12500000 }, + { year: 2023, name: "Halyk Pay", amount: 8400000 }, + { year: 2023, name: "Kaspi Online", amount: 15200000 }, + { year: 2023, name: "Beeline Payments", amount: 3600000 }, + { year: 2023, name: "Qysqali", amount: 2100000 }, + { year: 2024, name: "KT Bank", amount: 14800000 }, + { year: 2024, name: "Halyk Pay", amount: 9900000 }, + { year: 2024, name: "Kaspi Online", amount: 18700000 }, + { year: 2024, name: "Beeline Payments", amount: 4100000 }, + { year: 2024, name: "Qysqali", amount: 2450000 }, + { year: 2025, name: "KT Bank", amount: 17300000 }, + { year: 2025, name: "Halyk Pay", amount: 11200000 }, + { year: 2025, name: "Kaspi Online", amount: 22400000 }, + { year: 2025, name: "Beeline Payments", amount: 3800000 }, + { year: 2025, name: "Qysqali", amount: 2900000 }, + { year: 2025, name: "Paytech Almaty", amount: 1500000 } +]; + +function loadDemo() { + if (demoOn) return; + demoOn = true; + rows = rows.concat(DEMO); + render(); +} + +function clearDemo() { + demoOn = false; + rows = rows.filter(function (r) { + return !DEMO.some(function (d) { return d.year === r.year && d.name === r.name && d.amount === r.amount; }); + }); + render(); +} var fmt = new Intl.NumberFormat("ru-RU", { maximumFractionDigits: 0 }); @@ -197,7 +238,7 @@ function rebuildRows() { } function resetData() { - files = []; rows = []; + files = []; rows = []; demoOn = false; renderFileList(); render(); } @@ -349,8 +390,10 @@ function render() { '' + '
' + '' + - 'Итого контрагентов: ' + names.length + ' · записей: ' + rows.length + '' + + ' 'Итого контрагентов: ' + names.length + ' · записей: ' + rows.length + + (demoOn ? " · пример данных" : "") + '' + '
'; + document.getElementById("demoClear").style.display = demoOn ? "" : "none"; } document.getElementById("drop").addEventListener("dragover", function (e) { e.preventDefault(); this.classList.add("over"); });