]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
ERP-358 Сверстать интерфейс автопм
authormarina <m.zozirova@gmail.com>
Wed, 26 Mar 2025 14:11:40 +0000 (17:11 +0300)
committermarina <m.zozirova@gmail.com>
Wed, 26 Mar 2025 14:11:40 +0000 (17:11 +0300)
erp24/composer.json
erp24/views/shipment/auto-planogramma.php

index 5640f82facbbb7b55a6c00b329dbf3edf25668ec..02825c64541a8462f937c85d4526eb109a6bc5b5 100644 (file)
@@ -39,8 +39,7 @@
         "vlucas/phpdotenv": "^5.6",
         "softark/yii2-dual-listbox": "^1.0",
         "kartik-v/yii2-widget-depdrop": "dev-master",
-        "kartik-v/yii2-export": "@dev",
-        "sjaakp/yii2-bandoneon": "*"
+        "kartik-v/yii2-export": "@dev"
     },
     "require-dev": {
         "yiisoft/yii2-debug": "~2.1.0",
index 7d289a303f0c06aca34996dc4b9291c0d2497e28..ca62371890a43121bb57ca7e43e1e3235a1ad7d4 100644 (file)
@@ -11,6 +11,7 @@ use yii_app\records\StoreCityList;
 use yii_app\records\StoreDynamic;
 use yii_app\records\StoreType;
 use sjaakp\bandoneon\Bandoneon;
+use yii\jui\Accordion;
 
 /* @var $categories \yii_app\records\Products1cNomenclature */
 
@@ -35,86 +36,9 @@ $dataProvider = new ArrayDataProvider([
     'pagination' => false,
 ]);
 
-$tooltipText = "Оффлайн: 50&#10;Флаумак (off-line): 20&#10;Флаумак (on-line): 10&#10;Флаумак (market): 10&#10;Изумительная (off-line): 30&#10;Списания: 20";
+$tooltipText = "Оффлайн: 50&#10;Флаумак (off-line): 20&#10;Флаумак (on-line): 10&#10;Флаумак (market): 10&#10;Изумительная (off-line): 30&#10;Списания: 20";?>
 
-$columns = [];
-foreach ($addresses as $address) {
-    $columns[] = [
-        'attribute' => $address,
-        'label' => $address,
-        'format' => 'raw',
-        'headerOptions' => ['style' => 'writing-mode: sideways-lr; text-align: center; white-space: nowrap; font-weight: bold; transform-origin: left bottom; padding-right: 7%;'],
-        'value' => function ($model, $key, $index) use ($address, $tooltipText) {
-            return '<span style="display: flex; flex-direction: column; gap: 10px;">
-                <span style="display: flex; align-items: center; gap: 5px;">
-                    ' . Html::input('text', '', $model[$address], [
-                    'class' => 'btn btn-primary',
-                    'data-bs-toggle' => 'tooltip',
-                    'data-bs-placement' => 'top',
-                    'title' => $tooltipText,
-                    'style' => 'background:#e73535;'
-                ]) . '
-                    <button style="border: none; background: transparent; cursor: pointer;">
-                        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
-                            <path d="M20 11v5a1 1 0 0 1-2 0v-4H7.414l1.293 1.293a1 1 0 0 1-1.414 1.414l-3-3a1 1 0 0 1 0-1.416l3-3a1 1 0 0 1 1.414 1.416L7.414 10H19a1 1 0 0 1 1 1z" 
-                                  fill="grey" stroke="none"/>
-                        </svg>
-                    </button>
-                </span>
-
-                <span style="display: flex; align-items: center; gap: 5px;">
-                    ' . Html::input('text', '', $model[$address], [
-                    'class' => 'btn btn-primary',
-                    'data-bs-toggle' => 'tooltip',
-                    'data-bs-placement' => 'top',
-                    'title' => $tooltipText,
-                    'style' => 'background:yellowgreen;'
-                ]) . '
-                    <button style="border: none; background: transparent; cursor: pointer;">
-                        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
-                            <path d="M20 11v5a1 1 0 0 1-2 0v-4H7.414l1.293 1.293a1 1 0 0 1-1.414 1.414l-3-3a1 1 0 0 1 0-1.416l3-3a1 1 0 0 1 1.414 1.416L7.414 10H19a1 1 0 0 1 1 1z" 
-                                  fill="red" stroke="none"/>
-                        </svg>
-                    </button>
-                </span>
-                                <span style="display: flex; align-items: center; gap: 5px;">
-                    ' . Html::input('text', '', $model[$address], [
-                    'class' => 'btn btn-primary',
-                    'data-bs-toggle' => 'tooltip',
-                    'data-bs-placement' => 'top',
-                    'title' => $tooltipText,
-                    'style' => 'background:#3280cd;'
-                ]) . '
-                    <button style="border: none; background: transparent; cursor: pointer;">
-                        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
-                            <path d="M20 11v5a1 1 0 0 1-2 0v-4H7.414l1.293 1.293a1 1 0 0 1-1.414 1.414l-3-3a1 1 0 0 1 0-1.416l3-3a1 1 0 0 1 1.414 1.416L7.414 10H19a1 1 0 0 1 1 1z" 
-                                  fill="red" stroke="none"/>
-                        </svg>
-                    </button>
-                </span>
-                             <span style="display: flex; align-items: center; gap: 5px;">
-                    ' . Html::input('text', '', $model[$address], [
-                    'class' => 'btn btn-primary',
-                    'data-bs-toggle' => 'tooltip',
-                    'data-bs-placement' => 'top',
-                    'title' => $tooltipText,
-                    'style' => 'background:yellowgreen;'
-                ]) . '
-                    <button style="border: none; background: transparent; cursor: pointer;">
-                        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
-                            <path d="M20 11v5a1 1 0 0 1-2 0v-4H7.414l1.293 1.293a1 1 0 0 1-1.414 1.414l-3-3a1 1 0 0 1 0-1.416l3-3a1 1 0 0 1 1.414 1.416L7.414 10H19a1 1 0 0 1 1 1z" 
-                                  fill="grey" stroke="none"/>
-                        </svg>
-                    </button>
-                </span>
-
-                
-            </span>';
-        },
-    ];
-}
-?>
-<h1 class="ms-3 mb-4"><?=Html::encode("Автопланограмма")?></h1>
+<h1 class="ms-3 mb-4"><?= Html::encode("Автопланограмма") ?></h1>
 <div class="autopolnogramma p-3 px-4">
     <div class="filters">
         <div class="row">
@@ -229,11 +153,21 @@ foreach ($addresses as $address) {
                     <?= Html::button('Сохранить', ['class' => 'btn btn-success btn-save', 'style' => 'width:100%']); ?>
                 </div>
             </div>
+            <div class="row">
+                <div class="d-flex justify-content-center">
+                    <button class="btn btn-light" type="button" data-bs-toggle="collapse"
+                            data-bs-target="#filter-container"
+                            aria-expanded="true">
+                        <span data-bs-collapse-icon="open">▲</span>
+                        <span data-bs-collapse-icon="closed">▼</span>
+                    </button>
+                </div>
+            </div>
         </div>
     </div>
-    <div class="col-md-3 py-7">
-        <div class="row">
-
+    < class="content">
+    <div class="row">
+        <div class="col-md-3">
             <div class="row" style="display: flex;align-items: flex-start; position: relative;">
                 <?= Html::label("год: 2025 неделя: 05") ?><br>
                 <?= Html::label("январь - февраль") ?><br>
@@ -250,65 +184,81 @@ foreach ($addresses as $address) {
                     <?= Html::a('Corrected', '#', ['class' => 'btn btn-success', 'style' => 'width:25%']) ?>
                 </div>
             </div>
-            <div class="row mt-3">
-                <div class="list-group">
-                    <?php Bandoneon::begin(); ?>
-
-                    <?php foreach ($categories as $category):
-                        $subcategories = is_string($category['subcategories'])
-                            ? json_decode($category['subcategories'], true)
-                            : $category['subcategories']; ?>
-
-                        <div class="list-group-item list-group-item-action fw-bold">
-                            <?= htmlspecialchars($category['category']) ?>
-                        </div>
-
-                        <?php if (!empty($subcategories)):
-                        Bandoneon::begin();
-                        foreach ($subcategories as $subcategory => $products): ?>
-
-                            <div class="list-group-item list-group-item-action ms-3 fw-semibold">
-                                <?= htmlspecialchars($subcategory) ?>
-                            </div>
-
-                            <?php if (!empty($products)): ?>
-                                <div class="ms-4">
-                                    <?php foreach ($products as $product): ?>
-                                        <div class="list-group-item list-group-item-action">
-                                            <?= htmlspecialchars($product) ?>
-                                        </div>
-                                    <?php endforeach; ?>
-                                </div>
-                            <?php endif; ?>
-
-                        <?php endforeach;
-                        Bandoneon::end();
-                    endif;
-                    endforeach; ?>
-
-                    <?php Bandoneon::end(); ?>
+        </div>
+        <div class="col-md-9" style="overflow-x: auto; white-space: nowrap; display: flex;">
+            <?php foreach ($addresses as $address) { ?>
+                <div class="col-md-2">
+                    <?= Html::label($address, null, [
+                        'style' => 'writing-mode: sideways-lr; text-align: center; white-space: nowrap; 
+                            font-weight: bold; transform-origin: left bottom; padding-right: 7%;'
+                    ]) ?>
                 </div>
-            </div>
-
+            <?php } ?>
         </div>
     </div>
+    <div class="row">
+        <div class="col-md-3">
+            <div class="list-group">
+                <!-- Срезка -->
+                <a class="list-group-item list-group-item-action" data-bs-toggle="collapse" href="#cutting">Срезка ▲</a>
+                <div class="collapse show" id="cutting">
+                    <!-- Розы -->
+                    <a class="list-group-item list-group-item-action" data-bs-toggle="collapse" href="#roses">Розы ▶</a>
+                    <div class="collapse ms-3" id="roses">
+                        <div class="d-flex align-items-center justify-content-between">
+                            <span>Розы 40 Эк</span>
+                            <?= Html::input('number', 'roses_40', '', ['class' => 'form-control', 'style' => 'width: 70px;']) ?>
+                        </div>
+                        <div class="d-flex align-items-center justify-content-between">
+                            <span>Розы 80 Эк</span>
+                            <?= Html::input('number', 'roses_80', '', ['class' => 'form-control', 'style' => 'width: 70px;']) ?>
+                        </div>
+                    </div>
+                    <!-- Экзотика -->
+                    <div class="d-flex align-items-center justify-content-between">
+                        <span>Экзотика</span>
+                        <?= Html::input('number', 'exotic', '', ['class' => 'form-control', 'style' => 'width: 70px;']) ?>
+                    </div>
+                    <!-- Зелень -->
+                    <div class="d-flex align-items-center justify-content-between">
+                        <span>Зелень</span>
+                        <?= Html::input('number', 'greens', '', ['class' => 'form-control', 'style' => 'width: 70px;']) ?>
+                    </div>
+                </div>
 
-    <div class="col-md-9 text-center">
-        <div class="d-flex justify-content-center">
-            <button class="btn btn-light" type="button" data-bs-toggle="collapse" data-bs-target="#filter-container"
-                    aria-expanded="true">
-                <span>▲</span>
-            </button>
+                <!-- Горшечные растения -->
+                <a class="list-group-item list-group-item-action">Горшечные растения ▲</a>
+            </div>
+        </div>
+        <div class="col-md-9" style="overflow-x: auto; white-space: nowrap; display: flex;">
+            <?php foreach ($addresses as $address) { ?>
+                <div class="col-md-2 d-flex align-items-center">
+                    <div class="row">
+                        <div class="d-flex align-items-center">
+                            <div class="row">
+                                <div class="col-md-8">
+                                    <?= Html::input('text', '', 50, [
+                                        'class' => 'btn btn-primary',
+                                        'data-bs-toggle' => 'tooltip',
+                                        'data-bs-placement' => 'top',
+                                        'title' => $tooltipText,
+                                        'style' => 'background:#e73535;    width: 120%;'
+                                    ]) ?>
+                                </div>
+                                <div class="col-md-4">
+                                    <button style="border: none; background: transparent; cursor: pointer; margin-left: 5px;">
+                                        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"
+                                             viewBox="0 0 24 24">
+                                            <path d="M20 11v5a1 1 0 0 1-2 0v-4H7.414l1.293 1.293a1 1 0 0 1-1.414 1.414l-3-3a1 1 0 0 1 0-1.416l3-3a1 1 0 0 1 1.414 1.416L7.414 10H19a1 1 0 0 1 1 1z"
+                                                  fill="grey" stroke="none"/>
+                                        </svg>
+                                    </button>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            <?php } ?>
         </div>
-        <?= GridView::widget([
-            'dataProvider' => $dataProvider,
-            'layout' => '{items}', // Только таблица, без пагинации
-            'tableOptions' => ['class' => 'table table-bordered mt-2'],
-            'columns' => $columns,
-        ]);
-
-        ?>
-
     </div>
 </div>
-</div>