пример данных: кнопка демо + demo-postupleniya.xlsx

This commit is contained in:
shumilina_a 2026-09-18 10:13:21 +00:00
parent a3a65ca72b
commit a9f9ba61a0
2 changed files with 45 additions and 2 deletions

BIN
demo-postupleniya.xlsx Normal file

Binary file not shown.

View File

@ -98,6 +98,12 @@
<div class="kt-ai-files" id="fileList"></div>
</div>
<div class="kt-ai-actions" id="demoBar" style="margin-top:var(--kt-ai-space-4)">
<button class="kt-ai-btn" data-variant="ghost" onclick="loadDemo()">Показать пример данных</button>
<button class="kt-ai-btn" data-variant="ghost" style="display:none" id="demoClear" onclick="clearDemo()">Очистить пример</button>
<span style="color:var(--kt-ai-fg-muted);font-size:var(--kt-ai-text-sm)">или загрузите свои файлы .xlsx</span>
</div>
<div id="results"></div>
</div>
@ -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() {
'</div>' +
'<div class="kt-ai-actions">' +
'<button class="kt-ai-btn" data-variant="ghost" onclick="window.print()">Печать / экспортировать в PDF</button>' +
'<span style="color:var(--kt-ai-fg-muted);font-size:var(--kt-ai-text-sm)">Итого контрагентов: ' + names.length + ' · записей: ' + rows.length + '</span>' +
' '<span style="color:var(--kt-ai-fg-muted);font-size:var(--kt-ai-text-sm)">Итого контрагентов: ' + names.length + ' · записей: ' + rows.length +
(demoOn ? " · пример данных" : "") + '</span>' +
'</div>';
document.getElementById("demoClear").style.display = demoOn ? "" : "none";
}
document.getElementById("drop").addEventListener("dragover", function (e) { e.preventDefault(); this.classList.add("over"); });