]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
ERP-302 Редактирование букета
authormarina <m.zozirova@gmail.com>
Thu, 20 Feb 2025 10:49:10 +0000 (13:49 +0300)
committermarina <m.zozirova@gmail.com>
Thu, 20 Feb 2025 10:49:10 +0000 (13:49 +0300)
erp24/views/bouquet/_form.php
erp24/views/bouquet/_product_edit.php
erp24/views/bouquet/create.php
erp24/views/bouquet/update.php
erp24/views/bouquet/view.php
erp24/widgets/DualList.php

index 5b8d67956e0025dcbfc59435ad3f4b66f8b2fc33..1e3f793f9444f0a8d819574b07c44e02bad6d410 100644 (file)
@@ -77,26 +77,26 @@ $form = ActiveForm::begin([
     </div>
 
     <div class="row">
-    <div class="col-md-5">
-        <?php if ($model) { ?>
-    <?=$this->render('_product_list', [
-        'model' => $model,
-        'bouquetCompositionProducts' => $bouquetCompositionProducts
-    ]);
-    ?>
-
-<?php } else {?>
-    <?= $this->render('_product_edit', [
-        'availableItems' => $availableItems,
-        'selectedItems' => [],
-        'isCreate' => true,
-    ]);?>
-<?php }?>
-
-    </div>
+        <div class="col-md-4">
+            <?php if ($model) { ?>
+                <?= $this->render('_product_list', [
+                    'model' => $model,
+                    'bouquetCompositionProducts' => $bouquetCompositionProducts
+                ]);
+                ?>
+
+            <?php } else { ?>
+                <?= $this->render('_product_edit', [
+                    'availableItems' => $availableItems,
+                    'selectedItems' => [],
+                    'isCreate' => true,
+                    'listContainerSize' => ['width' => '300px', 'height' => '300px']
+                ]); ?>
+            <?php } ?>
 
+        </div>
 
-        <div class="col-md-4">
+        <div class="col-md-5">
             <div class="row w-100 w-md-75 w-lg-50">
                 <?php $model = new BouquetComposition(); ?>
                 <div class="row mb-2"><?= Html::label("Фото", null, ['class' => 'text-center font-weight-bold pt-5 h5']) ?></div>
index 3a8f7d96067982d4eeb1097130fe5778dc679407..a8351654dbb71156ea134f6b7b67143329032e17 100644 (file)
@@ -10,23 +10,27 @@ use yii\widgets\ActiveForm;
     'availableItems' => $availableItems,
     'selectedItems' => $selectedItems,
     'ajaxUrl' => '/bouquet/get-list',
+
     'showQuantity' => true,
+    'listContainerSize' => $listContainerSize,
     'triggerButton' => 'apply-button',
     'filterFields' => ['size', 'color', 'species', 'category', 'type-num']
 ]) ?>
-    <div class="row">
-        <div class="col-md-3">
-            <div class="pt-2">
-                <p class="mb-1"><strong>Себестоимость:</strong> <span class="cost-value">0</span> ₽</p>
-                <p class="mb-1"><strong>Наценка:</strong> <span class="markup-value">0</span> %</p>
-                <p class="mb-0"><strong>Цена:</strong> <span class="price-value">0</span> ₽</p>
-            </div>
-        </div>
-        <div class="col-md-6"></div>
-        <div class="col-md-2 d-flex justify-content-end align-items-end mx-7 px-3 w-100">
-            <?php if (!$isCreate)
-                echo Html::submitButton('Сохранить', ['class' => 'btn btn-success w-100'])
-            ?>
+<br>
+<div class="row">
+    <div class="col-md-3">
+        <div class="pt-2">
+            <p class="mb-1"><strong>Себестоимость:</strong> <span class="cost-value">0</span> ₽</p>
+            <p class="mb-1"><strong>Наценка:</strong> <span class="markup-value">0</span> %</p>
+            <p class="mb-0"><strong>Цена:</strong> <span class="price-value">0</span> ₽</p>
         </div>
     </div>
+    <div class="col-md-6"></div>
+    <?php if (!$isCreate) {?>
+    <div class="col-md-2 d-flex justify-content-end align-items-end px-3 w-100">
+        <?= Html::submitButton('Сохранить', ['class' => 'btn btn-success w-100']) ?>
+    </div>
+    <?php } ?>
+
+</div>
 <?php //ActiveForm::end(); ?>
\ No newline at end of file
index d89196711f1b831ce2fd28235a42591f2c54e94b..be17ce0d43278a49d70f10ed02bece16c648c8b2 100644 (file)
@@ -17,7 +17,7 @@ $this->params['breadcrumbs'][] = ['label' => 'Букеты', 'url' => ['index']]
 $this->params['breadcrumbs'][] = $this->title;
 ?>
 
-<div class="bouquet-create border-bottom-4 p-4">
+<div class="bouquet-create border-bottom-4 p-6">
     <?= $this->render('_form', [
         'onlineStoresList' => $onlineStoresList,
         'bouquetCompositionProducts' => [],
index c541ead84ce29f68dd9aea9b409a1135723becb6..bacbf3700f83e17eb00c985971ec9bd00ba720a5 100644 (file)
@@ -49,6 +49,7 @@ $this->registerJsFile('/js/bouquet/bouquet.js', ['position' => \yii\web\View::PO
             <?= $this->render('_product_edit', [
                 'availableItems' => $availableItems,
                 'selectedItems' => $selectedItems,
-                'isCreate' => true,
+                'isCreate' => false,
+                'listContainerSize' => [],
             ]); ?>
         </div>
index 2b49b7261263fa4b928d27ba83f3226d1d36d703..b126225c807fd4615f5b157fb328dc9b08c82f60 100644 (file)
@@ -17,7 +17,7 @@ $this->params['breadcrumbs'][] = ['label' => 'Букеты', 'url' => ['index']]
 $this->params['breadcrumbs'][] = $this->title;
 ?>
 
-<div class="bouquet-view border-bottom-4 p-4">
+<div class="bouquet-view border-bottom-4 p-7">
     <?= $this->render('_form', [
         'model' => $model,
         'onlineStoresList' => $onlineStoresList,
index 59befdb7d6f6f196c18e1a0ef7fe053caa221bf8..97b915d964b55b1d4b0339c4c7d468b0c31e3e55 100644 (file)
@@ -14,6 +14,8 @@ class DualList extends Widget
     public $selectedItems = [];
     public $filterFields = [];
     public $ajaxUrl;
+    public $listContainerSize = ['width' => '450px', 'height' => '220px'];
+
     public $showQuantity = false;
 
 // Новое свойство для кнопки, вызывающей загрузку
@@ -31,6 +33,8 @@ class DualList extends Widget
     protected function renderDualListBox()
     {
         $id = $this->getId();
+        $width = isset($this->listContainerSize['width']) ? $this->listContainerSize['width'] : '450px';
+        $height = isset($this->listContainerSize['height']) ? $this->listContainerSize['height'] : '220px';
 
         $css = <<<CSS
 <style>
@@ -116,13 +120,47 @@ class DualList extends Widget
         border: 1px solid #ccc;
         border-radius: 4px;
     }
+
+    .list-container {
+        width: {$width} !important;
+        height: auto !important; /* Высота контейнера динамическая */
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        position: relative;
+    }
+
+    .section-label {
+        width: 100% !important;
+        text-align: center;
+        font-size: 19px;
+    }
+
+    .filter-input {
+        width: 100% !important;
+        margin-bottom: 10px;
+        padding: 5px;
+        border: 1px solid #ccc;
+        border-radius: 4px;
+    }
+
+    .dual-list {
+        width: 100% !important;
+        height: {$height} !important;
+        background: white;
+        border: 1px solid #ddd;
+        padding: 5px;
+        text-align: left;
+        overflow-y: auto;
+        border-radius: 5px;
+    }
+
     .count-label {
         position: absolute;
-        bottom: 5px;
+        bottom: -20px;
         right: 5px;
-        font-size: 12px;
-        color: #555;
     }
+
     .section-label {
         font-weight: bold;
         margin-bottom: 5px;