}
+
+ $availableItems = ArrayHelper::map(
+ Products1c::find()
+ ->where([
+ 'view' => Products1c::IS_VISIBLE,
+ 'tip' => Products1c::TYPE_PRODUCTS
+ ])
+ ->all(),
+ 'id',
+ 'name'
+ );
$storesTypeList = BouquetForecast::getStoresList(null, BouquetForecast::OFFLINE_STORES, StoreType::class, []);
$marketplaceList = BouquetForecast::getStoresList(null, BouquetForecast::MARKETPLACE, CityStore::class, ['visible' => CityStore::IS_VISIBLE]);
$onlineStoresList = BouquetForecast::getStoresList(null, BouquetForecast::ONLINE_STORES, CityStore::class, ['visible' => CityStore::IS_VISIBLE]);
'onlineStoresList' => $onlineStoresList,
'marketplaceList' => $marketplaceList,
'storesTypeList' => $storesTypeList,
+ 'availableItems' => $availableItems,
]);
}
use yii_app\records\BouquetComposition;
use yii_app\records\MatrixType;
+
/** @var yii\web\View $this */
/** @var yii_app\records\BouquetComposition $model */
/** @var array $bouquetCompositionProducts */
</div>
</div>
</div>
+<?php if ($model) { ?>
<div class="row">
- <div class="col-md-4">
- <div class="row pt-3 pb-2">
- <div class="col-md-4 text-center font-weight-bold">Название</div>
- <div class="col-md-2 text-center font-weight-bold">Кол-во</div>
- <div class="col-md-1 text-center font-weight-bold">% списания</div>
- <div class="col-md-2 text-center font-weight-bold">мрж-ть</div>
- <div class="col-md-1 text-center font-weight-bold">% в сборке</div>
- <div class="col-md-2 text-center font-weight-bold">ср.шт. в сборке</div>
- </div>
-
- <div class="row bg-white border rounded shadow-sm" style="height: 400px; overflow-y: auto; overflow-x: hidden;">
- <?php foreach ($bouquetCompositionProducts as $product) { ?>
- <div class="row border-bottom ms-1 py-2">
- <div class="col-md-4 text-center"><?= $product->product->name ?></div>
- <div class="col-md-2 text-center"><?= $product->count ?></div>
- <div class="col-md-1 text-center">10%</div>
- <div class="col-md-2 text-center">30%</div>
- <div class="col-md-1 text-center">10%</div>
- <div class="col-md-2 text-center">3.2%</div>
- </div>
- <?php } ?>
- </div>
- <?php if (!empty($model)): ?>
- <div class="row pt-3">
- <div class="col-md-8">
- <strong>Нижегородская область</strong>
- <div class='self-cost pt-3' style='display: flex; gap: 10px;'>
- Себестоимость: <?= $model->getSelfCost() ?> <br>
- Наценка: <?= $model->getMarkUp() ?> <br>
- Цена: <?= $model->getCost() ?><br>
- </div>
- </div>
- <div class="col-md-4">
- <?= Html::a('Редактировать', Url::to("/bouquet/update?id=$model->id"), ['class' => $model ? 'btn btn-warning w-100' : 'btn btn-warning w-100 disabled']) ?>
- </div>
- </div>
- <?php endif; ?>
+ <div class="col-md-5">
+ <?=$this->render('_product_list', [
+ 'model' => $model,
+ 'bouquetCompositionProducts' => $bouquetCompositionProducts
+ ]);
+ ?>
+ </div>
+<?php } else {?>
+ <div class="row justify-content-center align-items-center">
+ <?= $this->render('_product_edit', [
+ 'availableItems' => $availableItems,
+ 'selectedItems' => [],
+ 'isCreate' => true,
+ ]);?>
</div>
- <div class="col-md-5">
+ <div class="row">
+<?php }?>
+
+
+
+
+ <div class="col-md-4">
<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>
--- /dev/null
+<?php use app\widgets\DualList;
+use yii\helpers\Html;
+use yii\widgets\ActiveForm;
+
+//$form = ActiveForm::begin(['id' => 'dual-list-form']); ?>
+<?= DualList::widget([
+ 'name' => 'products',
+ 'availableLabel' => 'Выбор',
+ 'selectedLabel' => 'Состав букета',
+ 'availableItems' => $availableItems,
+ 'selectedItems' => $selectedItems,
+ 'ajaxUrl' => '/bouquet/get-list',
+ 'showQuantity' => true,
+ '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'])
+ ?>
+ </div>
+ </div>
+<?php //ActiveForm::end(); ?>
\ No newline at end of file
--- /dev/null
+<div class="row pt-3 pb-2">
+ <div class="col-md-4 text-center font-weight-bold">Название</div>
+ <div class="col-md-2 text-center font-weight-bold">Кол-во</div>
+ <div class="col-md-1 text-center font-weight-bold">% списания</div>
+ <div class="col-md-2 text-center font-weight-bold">мрж-ть</div>
+ <div class="col-md-1 text-center font-weight-bold">% в сборке</div>
+ <div class="col-md-2 text-center font-weight-bold">ср.шт. в сборке</div>
+</div>
+
+<div class="row bg-white border rounded shadow-sm" style="height: 400px; overflow-y: auto; overflow-x: hidden;">
+ <?php use yii\helpers\Html;
+ use yii\helpers\Url;
+
+ foreach ($bouquetCompositionProducts as $product) { ?>
+ <div class="row border-bottom ms-1 py-2">
+ <div class="col-md-4 text-center"><?= $product->product->name ?></div>
+ <div class="col-md-2 text-center"><?= $product->count ?></div>
+ <div class="col-md-1 text-center">10%</div>
+ <div class="col-md-2 text-center">30%</div>
+ <div class="col-md-1 text-center">10%</div>
+ <div class="col-md-2 text-center">3.2%</div>
+ </div>
+ <?php } ?>
+</div>
+
+<div class="row pt-3">
+ <div class="col-md-8">
+ <strong>Нижегородская область</strong>
+ <div class='self-cost pt-3' style='display: flex; gap: 10px;'>
+ Себестоимость: <?= $model->getSelfCost() ?> <br>
+ Наценка: <?= $model->getMarkUp() ?> <br>
+ Цена: <?= $model->getCost() ?><br>
+ </div>
+ </div>
+ <div class="col-md-4">
+ <?= Html::a('Редактировать', Url::to("/bouquet/update?id=$model->id"), ['class' => $model ? 'btn btn-warning w-100' : 'btn btn-warning w-100 disabled']) ?>
+ </div>
+</div>
\ No newline at end of file
'photoFiles' => [],
'videoUrls' => [],
'processUrls' => [],
+ 'availableItems' => $availableItems,
'model' => null
]); ?>
</div>
</div>
<div class="col-md-8">
<div class="row mb-5"></div>
- <?php $form = ActiveForm::begin(['id' => 'dual-list-form']); ?>
- <?= DualList::widget([
- 'name' => 'products',
- 'availableLabel' => 'Выбор',
- 'selectedLabel' => 'Состав букета',
+ <?= $this->render('_product_edit', [
'availableItems' => $availableItems,
'selectedItems' => $selectedItems,
- 'ajaxUrl' => '/bouquet/get-list',
- 'showQuantity' => true,
- 'triggerButton' => 'apply-button',
- 'filterFields' => ['size', 'color', 'species', 'category', 'type-num']
- ]) ?>
+ 'isCreate' => true,
+ ]); ?>
</div>
-
- </div>
- <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">
- <?= Html::submitButton('Сохранить', ['class' => 'btn btn-success w-100']) ?>
- </div>
- </div>
- <?php ActiveForm::end(); ?>
-</div>