]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Скрываем если нет плановых показателей
authorfomichev <vladimir.fomichev@erp-flowers.ru>
Mon, 31 Mar 2025 06:22:39 +0000 (09:22 +0300)
committerfomichev <vladimir.fomichev@erp-flowers.ru>
Mon, 31 Mar 2025 06:22:39 +0000 (09:22 +0300)
erp24/records/BouquetForecast.php
erp24/views/bouquet/_form.php
erp24/web/js/bouquet/bouquet.js

index 66b38a034bdaec1b626d59638fbc1f2112a4e22c..69323d97604b142b30ee6dcd329de4a7b387c907 100644 (file)
@@ -118,7 +118,7 @@ class BouquetForecast extends ActiveRecord
             ->asArray()
             ->all();
 
-        if (empty($list)) {
+        /*if (empty($list)) {
             $list = $defaultModel::find()
                 ->andWhere($defaultCondition)
                 ->select([
@@ -129,7 +129,7 @@ class BouquetForecast extends ActiveRecord
                 ->orderBy($defaultModel === CityStore::class ? 'id' : 'sequence_number')
                 ->asArray()
                 ->all();
-        }
+        }*/
 
         return $list;
     }
index a2c0ba7a945b1ee188daddcbbe180c9b23fe5e04..1e9dc3409fa8f62c9cdce895e644a07bae978e84 100644 (file)
@@ -260,7 +260,7 @@ $form = ActiveForm::begin([
                 <?= Html::label("Оффлайн магазины", null, ['class' => 'text-center font-weight-bold pt-4 h6']) ?>
             </div>
             <div class="row">
-                <div class="container border p-3" style="max-height: 185px; background-color: white; overflow: auto;">
+                <div id="offline-container" class="container border p-3" style="max-height: 185px; background-color: white; overflow: auto;">
                     <?php foreach ($storesTypeList as $item) { ?>
                         <div class="row align-items-center mb-2">
                             <div class="col-md-8">
@@ -278,7 +278,7 @@ $form = ActiveForm::begin([
                 <?= Html::label("Интернет магазины", null, ['class' => 'text-center font-weight-bold pt-3 h6']) ?>
             </div>
             <div class="row">
-                <div class="container border p-3" style="max-height: 185px;background-color: white; overflow: auto;">
+                <div id="online-container" class="container border p-3" style="max-height: 185px;background-color: white; overflow: auto;">
                     <?php foreach ($onlineStoresList as $item) { ?>
                         <div class="row align-items-center mb-2">
                             <div class="col-md-8">
@@ -296,7 +296,7 @@ $form = ActiveForm::begin([
                 <?= Html::label("Маркетплейсы", null, ['class' => 'text-center font-weight-bold pt-3 h6']) ?>
             </div>
             <div class="row">
-                <div class="container border p-3" style="max-height: 185px; background-color: white; overflow: auto;">
+                <div id="marketplace-container" class="container border p-3" style="max-height: 185px; background-color: white; overflow: auto;">
                     <?php foreach ($marketplaceList as $item) { ?>
                         <div class="row align-items-center mb-2">
                             <div class="col-md-8">
index 316b0a2e0d032fe0863d1019cae21ae8bd478207..3c6f784911546e24c19b140381a3a338f915a156 100644 (file)
@@ -71,15 +71,24 @@ $(document).ready(function () {
             $.ajax({
                 url: '/bouquet/get-sales-data',
                 type: 'POST',
-                data: {year: year, month: month, id: id},
+                data: { year: year, month: month, id: id },
                 dataType: 'json',
                 success: function (response) {
-                    if (response) {
-                        ['offline', 'online', 'marketplace'].forEach(type => {
-                            $.each(response[type], function (_, value) {
-                                let inputSelector = `input[name='BouquetForecast[type_sales_value][${type}][${value.id}]']`;
-                                $(inputSelector).val(value.value);
-                            });
+                    if (response && response.success) {
+                        ['offline', 'online', 'marketplace'].forEach(function(type) {
+                            let container = $('#' + type + '-container');
+                            if (!response[type] || response[type].length === 0) {
+                                container.html('<p class="text-center text-muted">Для периода нет плановых данных</p>');
+                            } else {
+                                let newHtml = '';
+                                $.each(response[type], function (_, item) {
+                                    newHtml += '<div class="row align-items-center mb-2">';
+                                    newHtml += '<div class="col-md-8"><label class="col-form-label">' + item.name + '</label></div>';
+                                    newHtml += '<div class="col-md-4"><input type="number" name="BouquetForecast[type_sales_value][' + type + '][' + item.id + ']" value="' + item.value + '" class="form-control"></div>';
+                                    newHtml += '</div>';
+                                });
+                                container.html(newHtml);
+                            }
                         });
                     }
                 },