diff --git a/index.cfm b/index.cfm
index ecf2c44..9d84ed3 100644
--- a/index.cfm
+++ b/index.cfm
@@ -71,7 +71,7 @@

-
Сверка договоров — LLM v1.0.76 — Lucee
+
Сверка договоров — LLM v1.0.77 — Lucee
@@ -234,6 +234,26 @@ fileInput.addEventListener('change', async function() {
fileQueue[rowIdx].doc_id = resp.DOC_ID;
fileQueue[rowIdx].status = '✓';
fileQueue[rowIdx].uploaded = true;
+
+ // Авто-парсинг сразу после загрузки
+ var t0 = Date.now();
+ fileQueue[rowIdx].status = '⏳ парсинг...';
+ renderTable();
+ try {
+ var pr = await fetch('/parser.cfm?doc_id=' + resp.DOC_ID);
+ var pd = await pr.json();
+ var elapsed = ((Date.now() - t0) / 1000).toFixed(1);
+ if (pd.OK && pd.STATUS === 'parsed') {
+ fileQueue[rowIdx].parsed = true;
+ fileQueue[rowIdx].parseInfo = pd;
+ fileQueue[rowIdx].status = '✓ ' + pd.ELEMENT_COUNT + ' эл. (' + elapsed + 'с)';
+ } else {
+ fileQueue[rowIdx].status = '✗ ' + (pd.ERROR_COUNT > 0 ? (pd.ERRORS && pd.ERRORS[0] || 'ошибка') : 'ошибка') + '';
+ fileQueue[rowIdx].parseInfo = pd;
+ }
+ } catch(pe) {
+ fileQueue[rowIdx].status = '✗ парсинг: сеть';
+ }
} catch(err) {
fileQueue[rowIdx].status = '✗ ' + err.message + '';
}
@@ -244,8 +264,15 @@ fileInput.addEventListener('change', async function() {
fileInput.value = '';
fileInput.disabled = false;
- parseBtn.disabled = (contractId === null);
+ parseBtn.disabled = false;
parseBtn.innerHTML = ' Парсинг';
+ // Показать кнопки LLM после авто-парсинга
+ var llmBtn = document.getElementById('llmBtn');
+ llmBtn.style.display = 'flex';
+ llmBtn.disabled = false;
+ var llmBtnV2 = document.getElementById('llmBtnV2');
+ llmBtnV2.style.display = 'flex';
+ llmBtnV2.disabled = false;
lucide.createIcons();
});