]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Вывод
authorVladimir Fomichev <vladimir.fomichev@erp-flowers.ru>
Tue, 9 Sep 2025 14:25:35 +0000 (17:25 +0300)
committerVladimir Fomichev <vladimir.fomichev@erp-flowers.ru>
Tue, 9 Sep 2025 14:25:35 +0000 (17:25 +0300)
erp24/controllers/MatrixBouquetActualityController.php
erp24/controllers/MatrixTypeController.php
erp24/records/MatrixType.php
erp24/views/matrix-bouquet-actuality/index.php
erp24/views/matrix-type/index.php

index 6468a78f98269177fe4181f68a0fd99335534ded..d61004518b1c490b8b9b61c7c65a79be86421f8b 100644 (file)
@@ -130,7 +130,7 @@ class MatrixBouquetActualityController extends Controller
                 ]);
             }
 
-            if ($filter->date_from || $filter->date_to || $filter->is_archive !== null && $filter->is_archive !== '') {
+            if ($filter->date_from || $filter->date_to || (int)$filter->is_archive == 1) {
                 $hasDateFrom = !empty($filter->date_from);
                 $hasDateTo = !empty($filter->date_to);
 
@@ -150,7 +150,7 @@ class MatrixBouquetActualityController extends Controller
                 $dateExists = MatrixBouquetActuality::find()
                     ->alias('a')
                     ->where('a.bouquet_id = bc.id');
-                if ($filter->is_archive !== null && $filter->is_archive !== '') {
+                if ((int)$filter->is_archive == 1) {
                     $dateExists->andWhere(['a.is_archive' => (int)$filter->is_archive]);
                 }
 
@@ -173,7 +173,7 @@ class MatrixBouquetActualityController extends Controller
                 }
 
                 $query->with(['actualities' => function ($subQuery) use ($filter, $hasDateFrom, $hasDateTo, $dateFrom, $dateTo) {
-                    if ($filter->is_archive !== null && $filter->is_archive !== '') {
+                    if ((int)$filter->is_archive == 1) {
                         $subQuery->andWhere(['is_archive' => (int)$filter->is_archive]);
                     }
 
@@ -200,17 +200,20 @@ class MatrixBouquetActualityController extends Controller
             $rows = [];
             foreach ($bouquets as $bouquet) {
                 $acts = $bouquet->actualities;
+                $price = $bouquet->priceRel;
                 if ($acts) {
                     foreach ($acts as $act) {
                         $rows[] = [
                             'product' => $bouquet,
                             'actuality' => $act,
+                            'price' => $price,
                         ];
                     }
                 } else {
                     $rows[] = [
                         'product' => $bouquet,
                         'actuality' => null,
+                        'price' => $price,
                     ];
                 }
             }
index d527cf251e82a7ca938037af9b626d7fd891239e..fc234124a2136e673816a88e3950032948d45072 100644 (file)
@@ -121,12 +121,15 @@ class MatrixTypeController extends Controller
         return ['success'=>false,'message'=>current($model->getFirstErrors()) ?: 'Ошибка сохранения'];
     }
 
-    public function actionCreateChild($parent_id)
+    public function actionCreateChild($parent_id = null)
     {
         Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
         $child = new MatrixType();
         $child->load(Yii::$app->request->post(), '');
-        $child->parent_id = (int)$parent_id ?? null;
+        if (!empty($parent_id)) {
+            $child->parent_id = (int)$parent_id;
+        }
+
 
         if ($child->save()) {
             Yii::$app->session->setFlash('success', 'Запись создана', false);
index 2af17a876900a3a50ad3675576763103471128ac..59854073718dfff985a634c4f8fdee3c69f1cc8b 100644 (file)
@@ -55,9 +55,11 @@ class MatrixType extends \yii\db\ActiveRecord
         return [
             [['name'], 'filter', 'filter' => 'trim'],
             [['name'], 'required'],
-            [['created_by', 'updated_by', 'deleted_by', 'active', 'parent_id', 'deleted'], 'integer'],
+            [['created_by', 'updated_by', 'deleted_by', 'active',  'deleted'], 'integer'],
             [['created_at', 'updated_at', 'deleted_at'], 'safe'],
             [['name'], 'string', 'max' => 255],
+            [['parent_id'], 'integer'],
+            [['parent_id'], 'default', 'value' => null],
             // Уникальность имени в рамках одной группы
             [
                 ['name', 'parent_id'],
index 26c733a63bb0399243ab31381941caedcdd35295..74c85e05250afce4c42f79c94eda39556abbc7e0 100644 (file)
@@ -221,11 +221,11 @@ foreach ($subgroups as $sg) {
             [
                 'attribute' => 'price',
                 'label' => 'Цена',
-                'value' => function($row) { return $row['price']; },
+                'value' => function($row) { return $row['price']->price; },
                 'format' => ['decimal', 2],
             ],
             [
-                'label' => 'Актуальность ассортимента',
+                'label' => 'Актуальность',
                 'format' => 'raw',
                 'contentOptions' => ['style'=>'white-space:nowrap; min-width:100px;'],
                 'value' => function ($row, $k, $i) use ($months) {
@@ -266,17 +266,17 @@ foreach ($subgroups as $sg) {
                 'contentOptions' => ['style'=>'width:160px; text-align:center;'],
                 'value' => function ($row, $key, $index) {
                     $product = $row['product'];
-                    $btnArchOn = Html::button('+ Добавить интервал', [
-                        'class' => 'btn btn-xs btn-outline-primary ms-2 add-actuality-row',
+                    $btnArchOn = Html::button('В архив', [
+                        'class' => 'btn btn-xs btn-danger ms-2 add-actuality-row',
                         'type' => 'button',
-                        'title' => 'Ð\94обавиÑ\82Ñ\8c Ð¸Ð½Ñ\82еÑ\80вал',
+                        'title' => 'Ð\92 Ð°Ñ\80Ñ\85ив',
                         'data-guid' => $product->id,
                         'data-name' => $product->name,
                     ]);
-                    $btnArchOff = Html::button('+ Добавить интервал', [
-                        'class' => 'btn btn-xs btn-outline-primary ms-2 add-actuality-row',
+                    $btnArchOff = Html::button('Из архива', [
+                        'class' => 'btn btn-xs btn-secondary ms-2 add-actuality-row',
                         'type' => 'button',
-                        'title' => 'Ð\94обавиÑ\82Ñ\8c Ð¸Ð½Ñ\82еÑ\80вал',
+                        'title' => 'Ð\98з Ð°Ñ\80Ñ\85ива',
                         'data-guid' => $product->id,
                         'data-name' => $product->name,
                     ]);
index 944ff8e2951523e87f69e8406ac0f2c1c241821e..3ffdd0eb5b7b2d9d389344f06a23271d6dd84c6f 100644 (file)
@@ -45,9 +45,9 @@ $this->registerJsFile('/js/matrix-type/index.js', ['position' => \yii\web\View::
                         <h5 class="modal-title">Создание новой группы</h5>
                         <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"><i class="fa fa-times"></i></button>
                     </div>
-                    <form class="ajax-form" data-action="<?= Url::to(['matrix-type/create-child', 'parent_id' => 0]) ?>" data-success="created" data-parent-id="<?= 0 ?>">
+                    <form class="ajax-form" data-action="<?= Url::to(['matrix-type/create-child']) ?>" data-success="created" data-parent-id="<?= 0 ?>">
                         <div class="modal-body">
-                            <input type="hidden" name="parent_id" value="<?= 0 ?>">
+
                             <div class="mb-3">
                                 <label for="nameCreateGropField" class="form-label">Название</label>
                                 <input id="nameCreateGropField" type="text" name="name" class="form-control" required>