]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Вывод таблицы просмотра документа с товарами
authorfomichev <vladimir.fomichev@erp-flowers.ru>
Tue, 10 Dec 2024 15:16:14 +0000 (18:16 +0300)
committerfomichev <vladimir.fomichev@erp-flowers.ru>
Tue, 10 Dec 2024 15:16:14 +0000 (18:16 +0300)
erp24/controllers/WaybillWriteOffsController.php
erp24/views/waybill-write-offs/index.php
erp24/views/waybill-write-offs/view.php [new file with mode: 0644]

index 3ce886d88dfcff8aee1a295850b51dca530f41ce..5245a88804a1687c9f8577838d5cfc9f099a3f97 100644 (file)
@@ -4,6 +4,7 @@ namespace app\controllers;
 
 use yii\data\ActiveDataProvider;
 use yii_app\records\WaybillWriteOffs;
+use yii_app\records\WaybillWriteOffsProducts;
 
 class WaybillWriteOffsController extends \yii\web\Controller
 {
@@ -21,9 +22,23 @@ class WaybillWriteOffsController extends \yii\web\Controller
         ]);
     }
 
-    public function actionView()
+    public function actionView($id)
     {
-        return $this->render('view');
-    }
+        $model = WaybillWriteOffs::findOne($id);
+        if (!$model) {
+            throw new \yii\web\NotFoundHttpException("Документ с ID {$id} не найден.");
+        }
 
+        $productsDataProvider = new \yii\data\ActiveDataProvider([
+            'query' => WaybillWriteOffsProducts::find()->where(['waybill_write_offs_id' => $model->id]),
+            'pagination' => [
+                'pageSize' => 10, // Количество записей на странице
+            ],
+        ]);
+
+        return $this->render('view', [
+            'model' => $model,
+            'productsDataProvider' => $productsDataProvider,
+        ]);
+    }
 }
index 6252b1a1981c5254adf6bce672c8e350ff7b26b8..845ed78d44f59342c73f1c23bae48905c24d427b 100644 (file)
@@ -4,6 +4,7 @@ use yii\grid\GridView;
 use yii\helpers\Html;
 use yii_app\records\Admin;
 use yii_app\records\CityStore;
+use yii_app\records\ExportImportTable;
 
 /** @var yii\data\ActiveDataProvider $dataProvider */
 
@@ -36,7 +37,8 @@ $this->params['breadcrumbs'][] = $this->title;
                 'label' => 'Магазин',
                 'attribute' => 'store_id',
                 'value' => function ($model) {
-                    return CityStore::findOne(\yii_app\records\ExportImportTable::findOne(['export_val' => $model->store_guid])->entity_id)->name;
+                    return CityStore::findOne(ExportImportTable::findOne(['export_val' => $model->store_guid])
+                        ->entity_id)->name;
                 }
             ],
             'quantity',
@@ -49,7 +51,7 @@ $this->params['breadcrumbs'][] = $this->title;
                 'label' => 'Создан пользователем',
                 'attribute' => 'created_admin_id',
                 'value' => function ($model) {
-                    return Admin::findOne( [$model->created_admin_id])->name;
+                    return Admin::findOne([$model->created_admin_id])->name;
                 }
             ],
             [
diff --git a/erp24/views/waybill-write-offs/view.php b/erp24/views/waybill-write-offs/view.php
new file mode 100644 (file)
index 0000000..d665244
--- /dev/null
@@ -0,0 +1,71 @@
+<?php
+
+use yii\widgets\DetailView;
+use yii\grid\GridView;
+use yii\helpers\Html;
+use yii_app\records\Admin;
+use yii_app\records\CityStore;
+use yii_app\records\ExportImportTable;
+
+/** @var yii_app\records\WaybillWriteOffs $model */
+/** @var yii\data\ActiveDataProvider $productsDataProvider */
+
+$this->title = "Детали документа: {$model->number}";
+$this->params['breadcrumbs'][] = ['label' => 'Список документов', 'url' => ['index']];
+$this->params['breadcrumbs'][] = $this->title;
+?>
+<div class="waybill-write-offs-view p-4">
+
+    <h1><?= Html::encode($this->title) ?></h1>
+
+    <!-- Детали документа -->
+    <?= DetailView::widget([
+        'model' => $model,
+        'attributes' => [
+            'id',
+            'guid',
+            'number',
+            'date',
+            [
+                'label' => 'Магазин',
+                'attribute' => 'store_id',
+                'value' => function ($model) {
+                    return CityStore::findOne(ExportImportTable::findOne(['export_val' => $model->store_guid])
+                        ->entity_id)->name;
+                }
+            ],
+            'quantity',
+            'summ',
+            'status',
+            [
+                'label' => 'Создан пользователем',
+                'attribute' => 'created_admin_id',
+                'value' => function ($model) {
+                    return Admin::findOne([$model->created_admin_id])->name;
+                }
+            ],
+            'created_at',
+            'updated_at',
+            'deleted_at',
+        ],
+    ]) ?>
+
+    <h2>Списываемые товары</h2>
+
+    <!-- Таблица с товарами -->
+    <?= GridView::widget([
+        'dataProvider' => $productsDataProvider,
+        'columns' => [
+            ['class' => 'yii\grid\SerialColumn'],
+            'name',
+            'product_id',
+            'product_count',
+            'product_price',
+            'product_self_cost',
+            'summ',
+            'summ_self_cost',
+            'created_at',
+        ],
+    ]) ?>
+
+</div>