5 use yii\widgets\ActiveForm;
9 use yii\widgets\DetailView;
10 use yii\helpers\ArrayHelper;
11 //use app\models\Status;
13 use app\models\Locations;
14 use app\models\Regions;
15 use app\models\LocationsSearch;
16 use app\models\RegionsSearch;
18 /* @var $this yii\web\View */
19 /* @var $searchModel app\models\ItemsSearch */
20 /* @var $dataProvider yii\data\ActiveDataProvider */
22 $this->title = Yii::t('items', 'Items');
23 $this->params[ 'breadcrumbs' ][] = $this->title;
25 // Создание сортированного списка для выбора расположения оборудования
26 $locations = ArrayHelper::map(LocationsSearch::noinvent()->orderBy('name')->all(), 'id', 'name');
27 foreach ($locations as $key => $val) {
28 $locations[ $key ] = $val . ' (' .
29 Regions::findOne(['id' => Locations::findOne(['id' => $key])->region_id])->name .
33 $regions = ArrayHelper::map(RegionsSearch::noinvent()->orderBy('name')->all(), 'id', 'name');
35 <script src="https://github.com/mebjas/html5-qrcode/releases/download/V1.2.3/html5-qrcode.min.js"></script>
37 function docReady(fn) {
38 // see if DOM is already available
39 if (document.readyState === "complete"
40 || document.readyState === "interactive")
42 // call on next available tick
47 document.addEventListener("DOMContentLoaded", fn);
56 $('#btnsend').click();
62 function onScanSuccess(qrCodeMessage)
64 var resultContainer = document.getElementById('check-qrcheck');
65 if (qrCodeMessage !== lastResult)
67 lastResult = qrCodeMessage;
69 = decodeURIComponent(escape(`${qrCodeMessage}`));
75 var html5QrcodeScanner = new Html5QrcodeScanner(
76 "qr-reader", { fps: 10, qrbox: 250 });
77 html5QrcodeScanner.render(onScanSuccess);
84 <!-- ?= odaialali\qrcodereader\QrReader::widget([
86 'successCallback' => "function(data){ $('#qrInput').val(data) }"
88 <div class="col-md-4" id="qr-reader"></div>
91 <?php Pjax::begin(); ?>
93 <div class="row"><br /><br />
94 <div class="col-md-8"><?= $message ?></div>
97 <?php $form = ActiveForm::begin([ 'options' => [ 'data-pjax' => true ]]); ?>
99 <?= $form->field($model,
100 // Поле ввода QR-кода
102 [ 'template' => '<div class="row"><div class="col-md-2">{label}</div><div class="col-md-5">{input}</div><div class="col-md-2">' .
103 Html::submitButton(Yii::t('app', 'Register'), [ 'id' => 'btnsend', 'class' => 'btn btn-success' ]) .
104 '</div><div class="col-md-8">{error}</div></div>' ])
107 <?= $form->field($model,
108 // Поле выбора региона
110 [ 'template' => '<div class="row"><div class="col-md-2">{label}</div><div class="col-md-5">{input}</div><div class="col-md-2">' .
111 '</div><div class="col-md-8">{error}</div></div>' ])
112 ->dropDownList($regions, [ 'onchange' => 'getData();', 'class' => 'form-control', 'prompt' => Yii::t('regions', 'Select region') ]) ?>
114 <?= $form->field($model,
115 // Поле выбора места размещения
117 [ 'template' => '<div class="row"><div class="col-md-2">{label}</div><div class="col-md-5">{input}</div><div class="col-md-2">' .
118 '</div><div class="col-md-8">{error}</div></div>' ])
119 ->dropDownList($locations, [ 'onchange' => 'getData();', 'class' => 'form-control', 'prompt' => Yii::t('locations', 'Select location') ]) ?>
122 <?php $form = ActiveForm::end(); ?>
124 <?= GridView::widget([
125 'dataProvider' => $dataProvider, // Источник данных
126 'filterModel' => $searchModel,
137 // Название подразделения
138 [ 'attribute' => 'regionName',
139 'value' => function($data)
141 return $data->regionName . ' (' . $data->locationName . ')';
148 /* // Операционная система
149 [ 'attribute' => 'os',
150 'value' => function ($data)
152 return showUrlUpdate($data->os, $data->id);
158 [ 'attribute' => 'mac',
159 'value' => function ($data)
161 return showUrlUpdate($data->mac, $data);
167 [ 'attribute' => 'product',
168 'value' => function ($data)
170 return showUrlUpdate($data->product, $data);
176 [ 'attribute' => 'modelnumber',
177 'value' => function ($data)
179 return showUrlUpdate($data->modelnumber, $data);
185 [ 'attribute' => 'comment',
186 'value' => function ($data)
188 return showUrlUpdate($data->comment, $data);
196 <?php Pjax::end(); ?>