]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Добавил фильтр активности
authorfomichev <vladimir.fomichev@erp-flowers.ru>
Fri, 25 Oct 2024 13:14:33 +0000 (16:14 +0300)
committerfomichev <vladimir.fomichev@erp-flowers.ru>
Fri, 25 Oct 2024 13:14:33 +0000 (16:14 +0300)
erp24/views/crud/cluster-admin/index.php
erp24/views/crud/cluster-admin/view.php
erp24/web/js/crud/cluster-admin/index.js [new file with mode: 0644]
erp24/web/js/crud/cluster-admin/view.js [new file with mode: 0644]

index e75a4608592deecbd48eea23b608f53f554bc860..3e44de9b0a99a12ae8d746fbe2a89e9ab45dcb5c 100644 (file)
@@ -10,7 +10,7 @@ use yii\grid\GridView;
 /* @var $clusterMapping array */
 /* @var $clustersList array */
 /* @var $admins array */
-
+$this->registerJsFile('/js/crud/cluster-admin/index.js', ['position' => \yii\web\View::POS_END]);
 $this->title = 'Привязка Куст-Кустовой';
 $this->params['breadcrumbs'][] = $this->title;
 ?>
@@ -97,30 +97,3 @@ $this->params['breadcrumbs'][] = $this->title;
 
     </div>
 
-<?php
-
-/*$this->registerJs("
-    $('.transfer-select').on('change', function () {
-    let adminId = $(this).val();
-    let clusterId = $(this).data('id');
-
-    if (adminId) {
-        $.post({
-            url: 'move-admin',  // Укажите правильный маршрут для назначения администратора
-            data: { admin_id: adminId, cluster_id: clusterId },
-            success: function(response) {
-                if (response.success) {
-                    alert('Администратор успешно назначен');
-                   window.location.reload();
-                } else {
-                    alert('Ошибка при назначении администратора');
-                }
-            },
-            error: function() {
-                alert('Ошибка при запросе');
-            }
-        });
-    }
-});
-");*/
-?>
\ No newline at end of file
index cddfa8928b9fb214f8653d0ae7afed2f2ac56e4e..ff90984629078d281d0f759fafcda5a546b19036 100644 (file)
@@ -4,12 +4,15 @@ use yii\helpers\Html;
 use yii\widgets\DetailView;
 use yii\grid\GridView;
 use yii\data\ArrayDataProvider;
-
+use yii\widgets\ActiveForm;
 /** @var yii\web\View $this */
 /** @var yii_app\records\Cluster $cluster */
 /** @var array $clusterAdmins */
 /** @var yii_app\records\Admin $user */
 
+
+$this->registerJsFile('/js/crud/cluster-admin/view.js', ['position' => \yii\web\View::POS_END]);
+
 $this->title = "Детали кластера: " . $cluster->name;
 $this->params['breadcrumbs'][] = ['label' => 'Cluster Admins', 'url' => ['index']];
 $this->params['breadcrumbs'][] = $this->title;
@@ -20,6 +23,15 @@ $this->params['breadcrumbs'][] = $this->title;
     <?= Html::a('Назад', ['index'], ['class' => 'btn btn-danger my-2']) ?>
     <h1><?= Html::encode($this->title) ?></h1>
 
+ <?php
+ $form = ActiveForm::begin(['method' => 'get', 'id' => 'filter-form']); ?>
+   <?=  Html::checkbox('only_active', Yii::$app->request->get('only_active'), [
+       'label' => 'Показать только активные',
+       'id' => 'only-active-checkbox'
+   ]); ?>
+
+    <?php   ActiveForm::end(); ?>
+
     <p>
         <?php if (in_array($user->group_id, [81])): ?> <!-- Проверяем, принадлежит ли пользователь к группе 81 -->
             <?= Html::a('Создать новую привязку', ['create', 'cluster_id' => $cluster->id], ['class' => 'btn btn-success']) ?>
@@ -30,9 +42,13 @@ $this->params['breadcrumbs'][] = $this->title;
 
     <h2>Привязки кустового к кусту</h2>
 
+
+    <?php
+    $onlyActive = Yii::$app->request->get('only_active');
+    $filteredData = $onlyActive ? array_filter($clusterAdmins, fn($model) => $model['active'] == 1)  : $clusterAdmins; ?>
     <?= GridView::widget([
         'dataProvider' => new ArrayDataProvider([
-            'allModels' => $clusterAdmins,
+            'allModels' => $filteredData,
             'pagination' => [
                 'pageSize' => 10,
             ],
@@ -81,4 +97,5 @@ $this->params['breadcrumbs'][] = $this->title;
         ],
     ]); ?>
 
-</div>
\ No newline at end of file
+</div>
+
diff --git a/erp24/web/js/crud/cluster-admin/index.js b/erp24/web/js/crud/cluster-admin/index.js
new file mode 100644 (file)
index 0000000..3edd322
--- /dev/null
@@ -0,0 +1,28 @@
+document.addEventListener('DOMContentLoaded', function () {
+
+    $('.transfer-select').on('change', function () {
+        var adminId = $(this).val();
+        var clusterId = $(this).data('id');
+
+        if (adminId) {
+            $.post({
+                url: 'move-admin',  // Укажите правильный маршрут для назначения администратора
+                data: { admin_id: adminId, cluster_id: clusterId },
+                success: function(response) {
+                    if (response.success) {
+                        alert('Администратор успешно назначен');
+                        window.location.reload();
+                    } else {
+                        alert('Ошибка при назначении администратора');
+                    }
+                },
+                error: function() {
+                    alert('Ошибка при запросе');
+                }
+            });
+        }
+    });
+
+
+});
+
diff --git a/erp24/web/js/crud/cluster-admin/view.js b/erp24/web/js/crud/cluster-admin/view.js
new file mode 100644 (file)
index 0000000..7e28475
--- /dev/null
@@ -0,0 +1,18 @@
+document.addEventListener('DOMContentLoaded', function () {
+
+    $('#only-active-checkbox').on('change', function() {
+        var form = $('#filter-form');
+        var isChecked = $(this).is(':checked');
+
+        if (isChecked) {
+            form.find('input[name="only_active"]').val(1);
+        } else {
+            form.find('input[name="only_active"]').remove();
+        }
+
+        form.submit();
+
+    });
+
+
+});
\ No newline at end of file