From: fomichev Date: Fri, 17 Apr 2026 09:40:36 +0000 (+0300) Subject: Фикс по фильтры X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=08dc00415ebfa7352d610f2ef800c83af1bcaece;p=erp24_rep%2Fyii-erp24%2F.git Фикс по фильтры --- diff --git a/erp24/views/product-mapping/_filters.php b/erp24/views/product-mapping/_filters.php index 818691fb..d9b2bcb1 100644 --- a/erp24/views/product-mapping/_filters.php +++ b/erp24/views/product-mapping/_filters.php @@ -15,7 +15,7 @@ use yii\helpers\Html;
- + > @@ -40,7 +40,7 @@ use yii\helpers\Html;
- + + + + + + + Поиск по названию +
- - diff --git a/erp24/web/js/product-mapping/index.js b/erp24/web/js/product-mapping/index.js index 4feb7753..304c87fe 100644 --- a/erp24/web/js/product-mapping/index.js +++ b/erp24/web/js/product-mapping/index.js @@ -10,6 +10,7 @@ window.pmInit = function (cfg) { var pmModal = new bootstrap.Modal(document.getElementById('pm-modal')); var editingId = null; var searchTimer = null; + var cascadeXhr = null; var loaderHtml = '
'; function collectFilters() { @@ -34,6 +35,11 @@ window.pmInit = function (cfg) { } function reloadList(extraParams) { + // Отменяем незавершённый cascade AJAX — сервер вернёт актуальные данные + if (cascadeXhr) { + cascadeXhr.abort(); + cascadeXhr = null; + } var params = collectFilters(); if (extraParams) { $.extend(params, extraParams); @@ -65,7 +71,9 @@ window.pmInit = function (cfg) { $('#pm-filter-subcategory').html('').prop('disabled', !category); $('#pm-filter-species').html('').prop('disabled', true); if (category) { - $.get(cfg.urls.cascade, {category: category}, function (data) { + // Показываем подкатегории быстро, до полного reload списка + cascadeXhr = $.get(cfg.urls.cascade, {category: category}, function (data) { + cascadeXhr = null; var html = ''; $.each(data.subcategories, function (_, sub) { html += ''; @@ -82,7 +90,8 @@ window.pmInit = function (cfg) { var sub = $(this).val(); $('#pm-filter-species').html('').prop('disabled', !sub); if (cat && sub) { - $.get(cfg.urls.cascade, {category: cat, subcategory: sub}, function (data) { + cascadeXhr = $.get(cfg.urls.cascade, {category: cat, subcategory: sub}, function (data) { + cascadeXhr = null; var html = ''; $.each(data.species, function (_, sp) { html += '';