From: fomichev Date: Wed, 2 Jul 2025 07:10:38 +0000 (+0300) Subject: Блокировка таблицы X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=bfff67a4cdeb446105b8b1a24efdf3af559c838d;p=erp24_rep%2Fyii-erp24%2F.git Блокировка таблицы --- diff --git a/erp24/views/category-plan/index.php b/erp24/views/category-plan/index.php index 214469ad..f0c91af8 100644 --- a/erp24/views/category-plan/index.php +++ b/erp24/views/category-plan/index.php @@ -26,7 +26,7 @@ use yii_app\records\StoreType; /* @var $categoryPlan array */ $this->registerJsFile('/js/category-plan/index.js', ['position' => \yii\web\View::POS_END]); - +$this->registerCssFile('/css/category-plan/style.css'); $this->registerCss(' input[readonly] { background: lightgray; @@ -158,7 +158,7 @@ input[readonly] {
- 'btn btn-secondary'])?> + 'btn btn-secondary', 'id' => 'filter-btn'])?>
@@ -188,6 +188,7 @@ input[readonly] { 'btn btn-danger m-2', 'name' => 'delete', + 'disabled' => true, 'id' => 'delete', 'value' => 1, 'data' => [ diff --git a/erp24/web/css/category-plan/style.css b/erp24/web/css/category-plan/style.css new file mode 100644 index 00000000..e660c78c --- /dev/null +++ b/erp24/web/css/category-plan/style.css @@ -0,0 +1,15 @@ +.block_table { + position:relative; + +} +.block_table::before { + content: ''; + position: absolute; + top: 0; left: 0; + width: 100%; + height: 100%; + background: rgba(255, 255, 255, 0.3); + z-index: 9999; + pointer-events: all; + filter: blur(1px); +} \ No newline at end of file diff --git a/erp24/web/js/category-plan/index.js b/erp24/web/js/category-plan/index.js index 775c1b05..d2047ad4 100644 --- a/erp24/web/js/category-plan/index.js +++ b/erp24/web/js/category-plan/index.js @@ -161,6 +161,7 @@ $(document).ready(() => { if (store_id && changes[store_id]) { updateChangesLog(store_id); $('#rebuild').prop('disabled', false); + $('#delete').prop('disabled', false); } @@ -176,8 +177,10 @@ $(document).ready(() => { 'DynamicModel[store_id]': store_id, 'delete': 1 }; + $('#categoryPlan').addClass('block_table'); $('#rebuild').prop('disabled', true).text('Пересчёт запущен...'); $('#delete').prop('disabled', true); + $('#filter-btn').prop('disabled', true); $.ajax({ url: '/category-plan/index', method: 'GET', @@ -191,15 +194,19 @@ $(document).ready(() => { }, error: function () { alert('Ошибка при удалении автоплана.'); + $('#categoryPlan').removeClass('block_table'); + $('#rebuild').prop('disabled', false).text('Пересчитать автопланнограмму'); + $('#delete').prop('disabled', false); } }); }); $('#rebuild').on('click', function (event) { event.preventDefault(); - + $('#categoryPlan').addClass('block_table'); $('#rebuild').prop('disabled', true).text('Пересчёт запущен...'); $('#delete').prop('disabled', true); + $('#filter-btn').prop('disabled', true); $.ajax({ url: '/category-plan/rebuild', type: 'GET', @@ -212,18 +219,25 @@ $(document).ready(() => { success: function (data) { if (data.status == 'running') { alert('Другая задача запущена!'); + $('#categoryPlan').removeClass('block_table'); + $('#rebuild').prop('disabled', false).text('Пересчитать автопланнограмму'); + $('#delete').prop('disabled', false); + $('#filter-btn').prop('disabled', false); return; } if (data.status == 'started') { startTaskPolling(); - $('#rebuild').prop('disabled', true); + console.log(data.data); } }, error: function () { alert('Ошибка запуска пересчёта!'); - $('#rebuild').prop('disabled', false).text('Пересчитать автопланограмму'); + $('#categoryPlan').removeClass('block_table'); + $('#rebuild').prop('disabled', false).text('Пересчитать автопланнограмму'); + $('#delete').prop('disabled', false); + $('#filter-btn').prop('disabled', false); } }); }); @@ -245,23 +259,30 @@ function startTaskPolling() { if (data.status === 'running' || data.status === 'pending') { $('#rebuild').prop('disabled', true).text('Пересчёт запущен...'); $('#delete').prop('disabled', true); + $('#filter-btn').prop('disabled', true); + $('#changes-hint').hide(); + $('#categoryPlan').addClass('block_table'); } if (data.status === 'done') { clearInterval(taskPollInterval); taskPollInterval = null; localStorage.removeItem('planChanges'); + $('#categoryPlan').removeClass('block_table'); $('#rebuild').prop('disabled', false).text('Пересчитать автопланограмму'); $('#delete').prop('disabled', false); $('#changes-hint').remove(); $('#changes').hide(); + $('#filter-btn').prop('disabled', false); alert('Персчет автопланнограммы успешно завершен'); } if (data.status === 'error') { clearInterval(taskPollInterval); taskPollInterval = null; + $('#categoryPlan').removeClass('block_table'); $('#rebuild').prop('disabled', false).text('Пересчитать автопланограмму'); $('#delete').prop('disabled', false); + $('#filter-btn').prop('disabled', false); alert('Персчет автопланнограммы завершилася с ошибкой: ' + (data.error || '')); } }