diff --git a/demo-postupleniya.xlsx b/demo-postupleniya.xlsx new file mode 100644 index 0000000..c19e801 Binary files /dev/null and b/demo-postupleniya.xlsx differ 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"); });