]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
ERP-282 Нужно сделать интерфейс настройки магазина
authormarina <m.zozirova@gmail.com>
Fri, 24 Jan 2025 07:10:12 +0000 (10:10 +0300)
committermarina <m.zozirova@gmail.com>
Fri, 24 Jan 2025 07:10:12 +0000 (10:10 +0300)
erp24/controllers/CityStoreParamsController.php
erp24/views/city-store-params/index.php
erp24/views/city-store-params/update.php [deleted file]

index d87fe8c314f5d64453cc59c23207dd76ec6097bf..7971652d5053dca66ed573d65d569c55ac386ba9 100644 (file)
@@ -40,24 +40,6 @@ class CityStoreParamsController extends Controller
         ];
     }
 
-    /**
-     * Список всех записей
-     * @return mixed
-     */
-    public function actionIndex()
-    {
-        $dataProvider = new ActiveDataProvider([
-            'query' => CityStoreParams::find(),
-            'pagination' => [
-                'pageSize' => 20,
-            ],
-        ]);
-
-        return $this->render('index', [
-            'dataProvider' => $dataProvider,
-        ]);
-    }
-
     /**
      * Просмотр конкретной записи
      * @param int $id
@@ -72,7 +54,7 @@ class CityStoreParamsController extends Controller
     }
 
 
-    public function actionUpdate()
+    public function actionIndex()
     {
         $model = !empty(Yii::$app->request->post()['CityStoreParams']['id'])
             ? $this->findModel(Yii::$app->request->post()['CityStoreParams']['id'])
@@ -87,7 +69,7 @@ class CityStoreParamsController extends Controller
             }
         }
 
-        return $this->render('update');
+        return $this->render('index');
     }
 
     /**
index 03b8699d95846ddc213f240519d90c499b2982ff..8951153567cca24642851f1340f975b400584e4d 100644 (file)
 <?php
 
-use yii\grid\GridView;
+use kartik\select2\Select2;
+use softark\duallistbox\DualListbox;
+use yii\helpers\ArrayHelper;
 use yii\helpers\Html;
+use yii\helpers\Url;
+use yii_app\records\Admin;
+use yii_app\records\AdminGroup;
+use yii_app\records\MatrixType;
+use yii_app\records\StoreCityList;
+use yii_app\records\StoreType;
 
 /* @var $this yii\web\View */
 /* @var $dataProvider yii\data\ActiveDataProvider */
 
-$this->title = 'Список магазинов с настройками';
+$this->title = 'City Store Params';
 $this->params['breadcrumbs'][] = $this->title;
+
+$this->title = "Настройка параметров магазина";
+$this->params['breadcrumbs'][] = $this->title;
+
+$this->registerJsFile('/js/city-store-params/city-store-params.js', ['position' => \yii\web\View::POS_END]);
 ?>
-<div class="store-index px-3">
 
+<div class="container mt-4 border-bottom">
     <h1><?= Html::encode($this->title) ?></h1>
-    <?= Html::a('СоздаÑ\82Ñ\8c', ['update'], ['class' => 'btn btn-success']) ?>
+    <?= Html::a('Ð\9dазад', ['index'], ['class' => 'btn btn-primary mb-3']) ?>
 
-    <?= GridView::widget([
-        'dataProvider' => $dataProvider,
-        'columns' => [
-            ['class' => 'yii\grid\SerialColumn'],
-            [
-                'attribute' => 'store_id',
-                'value' => function ($data) {
-                    return $data->store->name ?? '';
-                }
-            ],
-            [
-                'attribute' => 'store_type',
-                'value' => function ($data) {
-                    return $data->storeType->name ?? '';
-                }
-            ],
-            [
-                'attribute' => 'address_region',
-                'value' => function ($data) {
-                    return $data->addressRegion->name ?? '';
-                }
-            ],
-            [
-                'attribute' => 'created_by',
-                'value' => function ($data) {
-                    return $data->updatedBy->name_full ?? '';
-                }
-            ],
-            'created_at',
-            [
-                'class' => 'yii\grid\ActionColumn',
-                'template' => '{view} {delete}',
-            ]
-        ],
-        'layout' => '{items}',
-    ]); ?>
+    <div class="row">
+        <div class="col-md-2">
+            <div class="card p-3 bg-light shadow-sm">
+                <?= Html::dropDownList('address_region', null,
+                    ArrayHelper::map(StoreCityList::findAll(['type' => StoreCityList::TYPE_REGION]), 'id', 'name'),
+                    ['prompt' => 'Выберите регион', 'class' => 'form-select', 'id' => 'address_region']);
+                ?>
+                <?= Html::a('Редактировать', [
+                    Url::to('/store-city-list')], ['class' => 'd-block mt-2 text-decoration-none']);
+                ?>
+            </div>
+        </div>
+        <div class="col-md-2">
+            <div class="card p-3 bg-light shadow-sm">
+                <?= Html::dropDownList('address_city', null,
+                    ArrayHelper::map(StoreCityList::findAll(['type' => StoreCityList::TYPE_CITY]), 'id', 'name'),
+                    ['prompt' => 'Выберите город', 'class' => 'form-select', 'id' => 'address_city']);
+                ?>
+            </div>
+        </div>
+        <div class="col-md-2 border-end border-2">
+            <div class="card p-3 bg-light shadow-sm">
+                <?= Html::dropDownList('address_district', null,
+                    ArrayHelper::map(StoreCityList::findAll(['type' => StoreCityList::TYPE_DISTRICT]), 'id', 'name'),
+                    ['prompt' => 'Выберите район', 'class' => 'form-select', 'id' => 'address_district']);
+                ?>
+            </div>
+        </div>
+        <div class="col-md-2 border-end border-2">
+            <div class="card p-3 bg-light shadow-sm">
+                <?= Html::dropDownList('store_type', null,
+                    ArrayHelper::map(StoreType::find()->all(), 'id', 'name'),
+                    ['prompt' => 'Выберите тип магазина', 'class' => 'form-select', 'id' => 'store_type']);
+                ?>
+                <?= Html::a('Редактировать', [\yii\helpers\Url::to('/store-type')], ['class' => 'd-block mt-2 text-decoration-none']); ?>
+            </div>
+        </div>
+        <div class="col-md-2 border-end border-2">
+            <div class="card p-3 bg-light shadow-sm">
+                <?= Html::dropDownList('territorial_manager', null,
+                    ArrayHelper::map(Admin::findAll(['group_id' => AdminGroup::GROUP_BUSH_DIRECTOR]), 'id', 'name_full'),
+                    ['prompt' => 'Выберите территориального управляющего', 'class' => 'form-select', 'id' => 'territorial_manager']);
+                ?>
+            </div>
+        </div>
+    </div>
+    <div class="row mt-3">
+        <div class="col-md-2"></div>
+        <div class="col-md-2"></div>
+        <div class="col-md-2"></div>
+        <div class="col-md-2 border-end border-2">
+            <div class="card p-3 bg-light shadow-sm">
+                <?= Html::dropDownList('bush_chef_florist', null,
+                    ArrayHelper::map(Admin::findAll(['group_id' => \yii_app\records\AdminGroup::GROUP_BUSH_CHEF_FLORIST]), 'id', 'name_full'),
+                    ['prompt' => 'Выберите кустового шеф флориста', 'class' => 'form-select', 'id' => 'bush_chef_florist']);
+                ?>
+            </div>
+        </div>
+        <div class="col-md-2"></div>
+        <div class="col-md-2 d-flex justify-content-center align-items-center">
+            <div class="card p-45 bg-light shadow-sm w-100">
+                <?= Html::button('Применить', ['class' => 'btn btn-primary w-100', 'id' => 'apply-button']); ?>
+            </div>
+        </div>
+    </div>
+</div>
+<?php $form = \yii\widgets\ActiveForm::begin(); ?>
+<div class="container mt-4">
+    <div class="row">
+        <div class="col-md-3">
+            <?= Html::dropDownList('CityStoreParams[selected_store]', null,
+                ArrayHelper::map(\yii_app\records\CityStore::find()->all(), 'id', 'name'), [
+                'multiple' => true,
+                'size' => 16,
+                'class' => 'form-control',
+                'id' => 'selected-store',
+            ]) ?>
+            <?= Html::button('Редактировать', ['class' => 'btn btn-primary w-100 mt-2 py-1', 'id' => 'edit-button']); ?>
+        </div>
+        <div class="col-md-9">
+            <div class="form-group">
+                <div class="row">
+                    <div class="col-md-4 d-flex align-items-center gap-3">
+                        <?= Html::hiddenInput('CityStoreParams[id]') ?>
+                        <?= Html::hiddenInput('CityStoreParams[store_id]') ?>
+                        <?= Html::hiddenInput('CityStoreParams[territorial_manager]') ?>
+                        <?= Html::label('Название', null); ?>
+                        <?= Html::tag('span', null, ['id' => 'store-name', 'class' => 'h5']); ?>
+                    </div>
+                    <div class="col-md-4">
+                        <?= Html::dropDownList('CityStoreParams[store_type]', null, [], ['prompt' => 'Тип магазина', 'class' => 'form-select', 'id' => 'store-type']); ?>
+                        <?= Html::a('Редактировать', [Url::to('/store-type')], ['class' => 'd-block mt-2 text-decoration-none']); ?>
+                    </div>
+                    <div class="col-md-3">
+                        <?= Html::dropDownList('CityStoreParams[bush_id]', null, [], ['prompt' => 'Номер куста', 'class' => 'form-select', 'id' => 'bush-id']); ?>
+                    </div>
+                </div>
+                <div class="row">
+                    <div class="col-md-2 py-6">
+                        <?= Html::label('Адрес', null) ?>
+                    </div>
+                    <div class="col-md-3">
+                        <?= Html::label('Регион'); ?>
+                        <?= Html::dropDownList('CityStoreParams[address_region]', null, [], ['prompt' => 'Регион', 'class' => 'form-select', 'id' => 'region']); ?>
+                    </div>
+                    <div class="col-md-3">
+                        <?= Html::label('Город'); ?>
+                        <?= Html::dropDownList('CityStoreParams[address_city]', null, [], ['prompt' => 'Город', 'class' => 'form-select', 'id' => 'city']); ?>
+                    </div>
+                    <div class="col-md-3">
+                        <?= Html::label('Район'); ?>
+                        <?= Html::dropDownList('CityStoreParams[address_district]', null, [], ['prompt' => 'Район', 'class' => 'form-select', 'id' => 'district']); ?>
+                    </div>
+                </div>
+                <div class="row">
+                    <div class="col-md-2">
+                        <?= Html::label('Территориально управляющий', null); ?>
+                        <?= Html::a('Редактировать', [Url::to('/crud/cluster-admin/')], ['class' => 'd-block mb-5 text-decoration-none']); ?>
+                    </div>
+                    <div class="col-md-9">
+                        <?= Html::tag('span', null, ['id' => 'territorial-manager', 'class' => 'h5']); ?>
+                    </div>
+                </div>
+                <div class="row border-bottom">
+                    <div class="col-md-2">
+                        <?= Html::label('КШФ') ?>
+                    </div>
+                    <div class="col-md-9">
+                        <?= Html::dropDownList('CityStoreParams[bush_chef_florist]', null, [], ['prompt' => 'Кустовой шеф-флорист', 'class' => 'form-select', 'id' => 'bush-chef-florist']); ?>
+                    </div>
+                </div>
+                <div class="row">
+                    <div class="col-md-4">
+                        <?= Html::label('Площадь (M2)', null, ['class' => 'form-label']); ?>
+                        <?= Html::input('text', 'CityStoreParams[store_area]', null, [
+                            'id' => 'store-area',
+                            'class' => 'form-control',
+                            'placeholder' => 'Введите число',
+                            'oninput' => 'validateDecimal(this)'
+                        ]); ?>
+                        <?= Html::label('Витрина (M3)', null, ['class' => 'form-label']); ?>
+                        <?= Html::input('text', 'CityStoreParams[showcase_volume]', null, [
+                            'id' => 'showcase-volume',
+                            'class' => 'form-control',
+                            'placeholder' => 'Введите число',
+                            'oninput' => 'validateDecimal(this)'
+                        ]); ?>
+                        <?= Html::label('Холодильник (M2)', null, ['class' => 'form-label']); ?>
+                        <?= Html::input('text', 'CityStoreParams[freeze_area]', null, [
+                            'id' => 'freeze-area',
+                            'class' => 'form-control',
+                            'placeholder' => 'Введите число',
+                            'oninput' => 'validateDecimal(this)'
+                        ]); ?>
+                        <?= Html::label('Холодильник (M3)', null, ['class' => 'form-label']); ?>
+                        <?= Html::input('text', 'CityStoreParams[freeze_volume]', null, [
+                            'id' => 'freeze-volume',
+                            'class' => 'form-control',
+                            'placeholder' => 'Введите число',
+                            'oninput' => 'validateDecimal(this)'
+                        ]); ?>
+                    </div>
+                    <div class="col-md-8">
+                        <div class="container mt-5">
+                            <?= Html::label('Тип матрицы')?>
+                            <?= Html::a('Редактировать', [Url::to('/matrix-type')], ['class' => 'd-block mb-5 text-decoration-none']); ?>
+                            <?= Select2::widget([
+                                'name' => 'CityStoreParams[matrix_type]',
+                                'data' => [],
+                                'language' => 'ru-RU',
+                                'options' => [
+                                        'id' => 'matrix-type',
+                                    'placeholder' => 'Выберите тип матрицы',
+                                    'multiple' => true,
+                                ],
+                            ]); ?>
+                        </div>
+                    </div>
+                    <div class="d-flex justify-content-end">
+                       <?= Html::submitButton('Сохранить', ['class' => 'btn btn-success']) ?>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <?php \yii\widgets\ActiveForm::end(); ?>
+    </div>
 </div>
diff --git a/erp24/views/city-store-params/update.php b/erp24/views/city-store-params/update.php
deleted file mode 100644 (file)
index 8951153..0000000
+++ /dev/null
@@ -1,216 +0,0 @@
-<?php
-
-use kartik\select2\Select2;
-use softark\duallistbox\DualListbox;
-use yii\helpers\ArrayHelper;
-use yii\helpers\Html;
-use yii\helpers\Url;
-use yii_app\records\Admin;
-use yii_app\records\AdminGroup;
-use yii_app\records\MatrixType;
-use yii_app\records\StoreCityList;
-use yii_app\records\StoreType;
-
-/* @var $this yii\web\View */
-/* @var $dataProvider yii\data\ActiveDataProvider */
-
-$this->title = 'City Store Params';
-$this->params['breadcrumbs'][] = $this->title;
-
-$this->title = "Настройка параметров магазина";
-$this->params['breadcrumbs'][] = $this->title;
-
-$this->registerJsFile('/js/city-store-params/city-store-params.js', ['position' => \yii\web\View::POS_END]);
-?>
-
-<div class="container mt-4 border-bottom">
-    <h1><?= Html::encode($this->title) ?></h1>
-    <?= Html::a('Назад', ['index'], ['class' => 'btn btn-primary mb-3']) ?>
-
-    <div class="row">
-        <div class="col-md-2">
-            <div class="card p-3 bg-light shadow-sm">
-                <?= Html::dropDownList('address_region', null,
-                    ArrayHelper::map(StoreCityList::findAll(['type' => StoreCityList::TYPE_REGION]), 'id', 'name'),
-                    ['prompt' => 'Выберите регион', 'class' => 'form-select', 'id' => 'address_region']);
-                ?>
-                <?= Html::a('Редактировать', [
-                    Url::to('/store-city-list')], ['class' => 'd-block mt-2 text-decoration-none']);
-                ?>
-            </div>
-        </div>
-        <div class="col-md-2">
-            <div class="card p-3 bg-light shadow-sm">
-                <?= Html::dropDownList('address_city', null,
-                    ArrayHelper::map(StoreCityList::findAll(['type' => StoreCityList::TYPE_CITY]), 'id', 'name'),
-                    ['prompt' => 'Выберите город', 'class' => 'form-select', 'id' => 'address_city']);
-                ?>
-            </div>
-        </div>
-        <div class="col-md-2 border-end border-2">
-            <div class="card p-3 bg-light shadow-sm">
-                <?= Html::dropDownList('address_district', null,
-                    ArrayHelper::map(StoreCityList::findAll(['type' => StoreCityList::TYPE_DISTRICT]), 'id', 'name'),
-                    ['prompt' => 'Выберите район', 'class' => 'form-select', 'id' => 'address_district']);
-                ?>
-            </div>
-        </div>
-        <div class="col-md-2 border-end border-2">
-            <div class="card p-3 bg-light shadow-sm">
-                <?= Html::dropDownList('store_type', null,
-                    ArrayHelper::map(StoreType::find()->all(), 'id', 'name'),
-                    ['prompt' => 'Выберите тип магазина', 'class' => 'form-select', 'id' => 'store_type']);
-                ?>
-                <?= Html::a('Редактировать', [\yii\helpers\Url::to('/store-type')], ['class' => 'd-block mt-2 text-decoration-none']); ?>
-            </div>
-        </div>
-        <div class="col-md-2 border-end border-2">
-            <div class="card p-3 bg-light shadow-sm">
-                <?= Html::dropDownList('territorial_manager', null,
-                    ArrayHelper::map(Admin::findAll(['group_id' => AdminGroup::GROUP_BUSH_DIRECTOR]), 'id', 'name_full'),
-                    ['prompt' => 'Выберите территориального управляющего', 'class' => 'form-select', 'id' => 'territorial_manager']);
-                ?>
-            </div>
-        </div>
-    </div>
-    <div class="row mt-3">
-        <div class="col-md-2"></div>
-        <div class="col-md-2"></div>
-        <div class="col-md-2"></div>
-        <div class="col-md-2 border-end border-2">
-            <div class="card p-3 bg-light shadow-sm">
-                <?= Html::dropDownList('bush_chef_florist', null,
-                    ArrayHelper::map(Admin::findAll(['group_id' => \yii_app\records\AdminGroup::GROUP_BUSH_CHEF_FLORIST]), 'id', 'name_full'),
-                    ['prompt' => 'Выберите кустового шеф флориста', 'class' => 'form-select', 'id' => 'bush_chef_florist']);
-                ?>
-            </div>
-        </div>
-        <div class="col-md-2"></div>
-        <div class="col-md-2 d-flex justify-content-center align-items-center">
-            <div class="card p-45 bg-light shadow-sm w-100">
-                <?= Html::button('Применить', ['class' => 'btn btn-primary w-100', 'id' => 'apply-button']); ?>
-            </div>
-        </div>
-    </div>
-</div>
-<?php $form = \yii\widgets\ActiveForm::begin(); ?>
-<div class="container mt-4">
-    <div class="row">
-        <div class="col-md-3">
-            <?= Html::dropDownList('CityStoreParams[selected_store]', null,
-                ArrayHelper::map(\yii_app\records\CityStore::find()->all(), 'id', 'name'), [
-                'multiple' => true,
-                'size' => 16,
-                'class' => 'form-control',
-                'id' => 'selected-store',
-            ]) ?>
-            <?= Html::button('Редактировать', ['class' => 'btn btn-primary w-100 mt-2 py-1', 'id' => 'edit-button']); ?>
-        </div>
-        <div class="col-md-9">
-            <div class="form-group">
-                <div class="row">
-                    <div class="col-md-4 d-flex align-items-center gap-3">
-                        <?= Html::hiddenInput('CityStoreParams[id]') ?>
-                        <?= Html::hiddenInput('CityStoreParams[store_id]') ?>
-                        <?= Html::hiddenInput('CityStoreParams[territorial_manager]') ?>
-                        <?= Html::label('Название', null); ?>
-                        <?= Html::tag('span', null, ['id' => 'store-name', 'class' => 'h5']); ?>
-                    </div>
-                    <div class="col-md-4">
-                        <?= Html::dropDownList('CityStoreParams[store_type]', null, [], ['prompt' => 'Тип магазина', 'class' => 'form-select', 'id' => 'store-type']); ?>
-                        <?= Html::a('Редактировать', [Url::to('/store-type')], ['class' => 'd-block mt-2 text-decoration-none']); ?>
-                    </div>
-                    <div class="col-md-3">
-                        <?= Html::dropDownList('CityStoreParams[bush_id]', null, [], ['prompt' => 'Номер куста', 'class' => 'form-select', 'id' => 'bush-id']); ?>
-                    </div>
-                </div>
-                <div class="row">
-                    <div class="col-md-2 py-6">
-                        <?= Html::label('Адрес', null) ?>
-                    </div>
-                    <div class="col-md-3">
-                        <?= Html::label('Регион'); ?>
-                        <?= Html::dropDownList('CityStoreParams[address_region]', null, [], ['prompt' => 'Регион', 'class' => 'form-select', 'id' => 'region']); ?>
-                    </div>
-                    <div class="col-md-3">
-                        <?= Html::label('Город'); ?>
-                        <?= Html::dropDownList('CityStoreParams[address_city]', null, [], ['prompt' => 'Город', 'class' => 'form-select', 'id' => 'city']); ?>
-                    </div>
-                    <div class="col-md-3">
-                        <?= Html::label('Район'); ?>
-                        <?= Html::dropDownList('CityStoreParams[address_district]', null, [], ['prompt' => 'Район', 'class' => 'form-select', 'id' => 'district']); ?>
-                    </div>
-                </div>
-                <div class="row">
-                    <div class="col-md-2">
-                        <?= Html::label('Территориально управляющий', null); ?>
-                        <?= Html::a('Редактировать', [Url::to('/crud/cluster-admin/')], ['class' => 'd-block mb-5 text-decoration-none']); ?>
-                    </div>
-                    <div class="col-md-9">
-                        <?= Html::tag('span', null, ['id' => 'territorial-manager', 'class' => 'h5']); ?>
-                    </div>
-                </div>
-                <div class="row border-bottom">
-                    <div class="col-md-2">
-                        <?= Html::label('КШФ') ?>
-                    </div>
-                    <div class="col-md-9">
-                        <?= Html::dropDownList('CityStoreParams[bush_chef_florist]', null, [], ['prompt' => 'Кустовой шеф-флорист', 'class' => 'form-select', 'id' => 'bush-chef-florist']); ?>
-                    </div>
-                </div>
-                <div class="row">
-                    <div class="col-md-4">
-                        <?= Html::label('Площадь (M2)', null, ['class' => 'form-label']); ?>
-                        <?= Html::input('text', 'CityStoreParams[store_area]', null, [
-                            'id' => 'store-area',
-                            'class' => 'form-control',
-                            'placeholder' => 'Введите число',
-                            'oninput' => 'validateDecimal(this)'
-                        ]); ?>
-                        <?= Html::label('Витрина (M3)', null, ['class' => 'form-label']); ?>
-                        <?= Html::input('text', 'CityStoreParams[showcase_volume]', null, [
-                            'id' => 'showcase-volume',
-                            'class' => 'form-control',
-                            'placeholder' => 'Введите число',
-                            'oninput' => 'validateDecimal(this)'
-                        ]); ?>
-                        <?= Html::label('Холодильник (M2)', null, ['class' => 'form-label']); ?>
-                        <?= Html::input('text', 'CityStoreParams[freeze_area]', null, [
-                            'id' => 'freeze-area',
-                            'class' => 'form-control',
-                            'placeholder' => 'Введите число',
-                            'oninput' => 'validateDecimal(this)'
-                        ]); ?>
-                        <?= Html::label('Холодильник (M3)', null, ['class' => 'form-label']); ?>
-                        <?= Html::input('text', 'CityStoreParams[freeze_volume]', null, [
-                            'id' => 'freeze-volume',
-                            'class' => 'form-control',
-                            'placeholder' => 'Введите число',
-                            'oninput' => 'validateDecimal(this)'
-                        ]); ?>
-                    </div>
-                    <div class="col-md-8">
-                        <div class="container mt-5">
-                            <?= Html::label('Тип матрицы')?>
-                            <?= Html::a('Редактировать', [Url::to('/matrix-type')], ['class' => 'd-block mb-5 text-decoration-none']); ?>
-                            <?= Select2::widget([
-                                'name' => 'CityStoreParams[matrix_type]',
-                                'data' => [],
-                                'language' => 'ru-RU',
-                                'options' => [
-                                        'id' => 'matrix-type',
-                                    'placeholder' => 'Выберите тип матрицы',
-                                    'multiple' => true,
-                                ],
-                            ]); ?>
-                        </div>
-                    </div>
-                    <div class="d-flex justify-content-end">
-                       <?= Html::submitButton('Сохранить', ['class' => 'btn btn-success']) ?>
-                    </div>
-                </div>
-            </div>
-        </div>
-        <?php \yii\widgets\ActiveForm::end(); ?>
-    </div>
-</div>