]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Правка вывода фильтров
authorAlexander Smirnov <fredeom@mail.ru>
Fri, 5 Jul 2024 11:03:42 +0000 (14:03 +0300)
committerAlexander Smirnov <fredeom@mail.ru>
Fri, 5 Jul 2024 11:03:42 +0000 (14:03 +0300)
erp24/controllers/TimetableFactController.php
erp24/views/timetable-fact/index.php

index 16a76f5e2351d9abf59e827425511a3d505e49ac..d0b46cb24e869daa857fb6cc32abafe09226a94c 100644 (file)
@@ -49,9 +49,9 @@ class TimetableFactController extends Controller
     public function actionIndex()
     {
         $model = DynamicModel::validateData([
-            'store_id' => null, 'date_start' => null, 'date_end' => null, 'group_id' => null, 'autoclosed' => false, 'sort' => null,
+            'store_id' => null, 'date_start' => null, 'date_end' => null, 'group_id' => null, 'admin_id' => null, 'autoclosed' => false, 'sort' => null,
         ], [
-           [['store_id', 'date_start', 'date_end', 'group_id', 'autoclosed', 'sort'], 'safe']
+           [['store_id', 'date_start', 'date_end', 'group_id', 'admin_id', 'autoclosed', 'sort'], 'safe']
         ]);
         $model->load(Yii::$app->request->get());
         $timetableFactModelQuery = TimetableFactModel::find();
@@ -67,6 +67,9 @@ class TimetableFactController extends Controller
         if ($model->group_id && $model->group_id > 0) {
             $timetableFactModelQuery->andWhere(['d_id' => $model->group_id]);
         }
+        if ($model->admin_id && $model->admin_id > 0) {
+            $timetableFactModelQuery->andWhere(['admin_id' => $model->admin_id]);
+        }
         if ($model->autoclosed) {
             $timetableFactModelQuery->andWhere(['autoclosed' => '1']);
         }
@@ -74,11 +77,23 @@ class TimetableFactController extends Controller
             $timetableFactModelQuery->orderBy(['date_shift' => SORT_DESC]);
         }
 
-        $stores = ArrayHelper::map(CityStore::find()->all(), 'id', 'name');
-        $stores = [0 => 'Любой', ...$stores];
+        $storeArr = CityStore::find()->all();
+        $stores = [0 => 'Любой'];
+        foreach ($storeArr as $store) {
+            $stores[$store->id] = $store->name;
+        }
 
-        $adminGroup = ArrayHelper::map(AdminGroup::find()->where(['id' => AdminGroup::getGroupsForEmployeeOnCashbox()])->all(), 'id', 'name');
-        $adminGroup = [0 => 'Любая', ...$adminGroup];
+        $adminGroupArr = AdminGroup::find()->where(['id' => AdminGroup::getGroupsForEmployeeOnCashbox()])->all();
+        $adminGroups = [0 => 'Любая'];
+        foreach ($adminGroupArr as $adminGroup) {
+            $adminGroups[$adminGroup->id] = $adminGroup->name;
+        }
+
+        $adminsArr = Admin::find()->where(['group_id' => AdminGroup::getGroupsForEmployeeOnCashbox()])->all();
+        $admins = [0 => 'Любой'];
+        foreach ($adminsArr as $admin) {
+            $admins[$admin->id] = $admin->name;
+        }
 
         $dataProvider = new ActiveDataProvider([
             'query' => $timetableFactModelQuery,
@@ -99,7 +114,8 @@ class TimetableFactController extends Controller
             'dataProvider' => $dataProvider,
             'model' => $model,
             'stores' => $stores,
-            'adminGroup' => $adminGroup,
+            'adminGroups' => $adminGroups,
+            'admins' => $admins,
         ]);
     }
 
index 0196325736fbca43bd8fff4f06c8895d25ea5c57..75ba0fe69b88d225d868a3ddddf4678c7c4e372a 100644 (file)
@@ -11,7 +11,8 @@ use yii\grid\GridView;
 /** @var yii\data\ActiveDataProvider $dataProvider */
 /** @var \yii\base\DynamicModel $model */
 /** @var array $stores */
-/** @var array $adminGroup */
+/** @var array $adminGroups */
+/** @var array $admins */
 
 $this->title = Yii::t('app', 'Фактический табель сотрудников (Новый!)');
 $this->params['breadcrumbs'][] = $this->title;
@@ -23,8 +24,8 @@ $this->params['breadcrumbs'][] = $this->title;
     <?php $form = ActiveForm::begin(['method' => 'GET']) ?>
 
     <div class="row">
-        <div class="col-12">
-            Магазин: <div style="display:inline-block"><?= $form->field($model, 'store_id')->widget(Select2::class, [
+        <div class="col-11 d-flex align-items-center justify-content-around">
+            <div class="mb-3">Магазин:</div> <div style="display:inline-block"><?= $form->field($model, 'store_id')->widget(Select2::class, [
                     'data' => $stores,
                     'language' => 'ru',
                     'options' => ['placeholder' => 'Магазин...'],
@@ -32,8 +33,7 @@ $this->params['breadcrumbs'][] = $this->title;
                         'allowClear' => true
                     ],
                 ])->label(false) ?></div>
-            &nbsp;&nbsp;&nbsp;
-            Дата до: <div style="display:inline-block"><?= $form->field($model, 'date_start')->widget(DateTimePicker::class, [
+        <div class="mb-3">Дата до:</div> <div style="display:inline-block"><?= $form->field($model, 'date_start')->widget(DateTimePicker::class, [
                     'language' => 'ru',
                     'template' => '{input}',
                     'clientOptions' => [
@@ -42,8 +42,7 @@ $this->params['breadcrumbs'][] = $this->title;
                         'todayBtn' => true
                     ],
                 ])->label(false) ?></div>
-            &nbsp;&nbsp;&nbsp;
-                после: <div style="display:inline-block"><?= $form->field($model, 'date_end')->widget(DateTimePicker::class, [
+        <div class="mb-3">после:</div> <div style="display:inline-block"><?= $form->field($model, 'date_end')->widget(DateTimePicker::class, [
                     'language' => 'ru',
                     'template' => '{input}',
                     'clientOptions' => [
@@ -52,19 +51,24 @@ $this->params['breadcrumbs'][] = $this->title;
                         'todayBtn' => true
                     ],
                 ])->label(false) ?></div>
-            &nbsp;&nbsp;&nbsp;
-            Группа: <div style="display:inline-block"><?= $form->field($model, 'group_id')->widget(Select2::class, [
-                    'data' => $adminGroup,
+        <div class="mb-3">Группа:</div> <div style="display:inline-block"><?= $form->field($model, 'group_id')->widget(Select2::class, [
+                    'data' => $adminGroups,
                     'language' => 'ru',
                     'options' => ['placeholder' => 'Должность...'],
                     'pluginOptions' => [
                         'allowClear' => true
                     ],
                 ])->label(false) ?></div>
-            &nbsp;&nbsp;&nbsp;
-            Автоматическое закрытие: <div style="display:inline-block"><?= $form->field($model, 'autoclosed')->checkbox([0 => 'unchecked', 1 => 'checked'], [])->label(false) ?></div>
-            &nbsp;&nbsp;&nbsp;
-            <?= Html::submitButton('Применить', ['class' => 'btn btn-secondary btn-sm'])?>
+        <div class="mb-3">Сотрудник:</div> <div style="display:inline-block"><?= $form->field($model, 'admin_id')->widget(Select2::class, [
+                'data' => $admins,
+                'language' => 'ru',
+                'options' => ['placeholder' => 'Сотрудник...'],
+                'pluginOptions' => [
+                    'allowClear' => true
+                ],
+            ])->label(false) ?></div>
+        <div class="mb-3" title="Автоматическое закрытие">Авт. закр.:</div> <div style="display:inline-block"><?= $form->field($model, 'autoclosed')->checkbox([0 => 'unchecked', 1 => 'checked'], [])->label(false) ?></div>
+        <div class="mb-4"><?= Html::submitButton('Применить', ['class' => 'btn btn-secondary btn-sm'])?></div>
         </div>
     </div>
 
@@ -77,8 +81,9 @@ $this->params['breadcrumbs'][] = $this->title;
             [
                 'attribute' => 'admin_id',
                 'label' => 'Пользователь',
+                'format' => 'raw',
                 'value' => function ($data) {
-                    return $data->admin->name;
+                    return '<span title="#' . $data->admin_id . '">' . $data->admin->name . "</span>";
                 }
             ],
             [