From: fomichev Date: Fri, 4 Apr 2025 13:29:08 +0000 (+0300) Subject: Получение подкатегорий и видов X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=98eea660d6afacc039759e2d8aeb3b74c7825220;p=erp24_rep%2Fyii-erp24%2F.git Получение подкатегорий и видов --- diff --git a/erp24/controllers/CategoryPlanController.php b/erp24/controllers/CategoryPlanController.php index fb7fb5a8..8bf55e87 100644 --- a/erp24/controllers/CategoryPlanController.php +++ b/erp24/controllers/CategoryPlanController.php @@ -360,4 +360,55 @@ class CategoryPlanController extends Controller { ]); } + /** + * Возвращает список подкатегорий для выбранной категории. + * @param string $category + * @return array JSON-ответ со списком подкатегорий + */ + public function actionGetSubcategories($category) + { + Yii::$app->response->format = Response::FORMAT_JSON; + $subcategories = Products1cNomenclature::find() + ->select('subcategory') + ->distinct() + ->where(['category' => $category]) + ->orderBy('subcategory') + ->asArray() + ->all(); + + $out = []; + foreach ($subcategories as $item) { + if (!empty($item['subcategory'])) { + $out[] = ['id' => $item['subcategory'], 'name' => $item['subcategory']]; + } + } + return $out; + } + + /** + * Возвращает список видов для выбранной подкатегории. + * @param string $subcategory + * @return array JSON-ответ со списком видов + */ + public function actionGetSpecies($subcategory) + { + \Yii::$app->response->format = Response::FORMAT_JSON; + $species = Products1cNomenclature::find() + ->select('species') + ->distinct() + ->where(['subcategory' => $subcategory]) + ->orderBy('species') + ->asArray() + ->all(); + + $out = []; + foreach ($species as $item) { + if (!empty($item['species'])) { + $out[] = ['id' => $item['species'], 'name' => $item['species']]; + } + } + return $out; + } + + } diff --git a/erp24/views/category-plan/show-history-data.php b/erp24/views/category-plan/show-history-data.php index 06de4d2e..4c29a4ef 100644 --- a/erp24/views/category-plan/show-history-data.php +++ b/erp24/views/category-plan/show-history-data.php @@ -51,6 +51,50 @@ use yii_app\records\Products1cNomenclature; + Выберите подкатегорию'); + $.each(data, function(i, item) { + subcat.append(''); + }); + // При изменении категории сбрасываем виды + var species = $('#dynamicmodel-species'); + species.empty(); + species.append(''); + } + }); + }); + + // При изменении подкатегории выполняем AJAX-запрос для подгрузки видов + $('#dynamicmodel-subcategory').on('change', function(){ + var subcategory = $(this).val(); + $.ajax({ + url: '/category-plan/get-species', + data: {subcategory: subcategory}, + success: function(data) { + var species = $('#dynamicmodel-species'); + species.empty(); + species.append(''); + $.each(data, function(i, item) { + species.append(''); + }); + } + }); + }); +JS; + $this->registerJs($script); + ?> +