<h3>DETALLE DE LOS BIENES O ELEMENTOS A ADQUIRIR</h3> </div> <div class="content form-group"> <?php if ($tipoModificacion == 2) { echo '<button type="button" class="btn btn-success btn-lg md-trigger" onclick="" data-modal="agregar-producto"> <i class="fa fa-plus-circle"></i> Agregar Producto </button>'; } echo \yii\grid\GridView::widget(['dataProvider' => $provider, 'id' => 'tablaProductos', 'rowOptions' => function ($model, $key, $index, $grid) { return ['id' => 'producto' . $index, 'class' => 'productoFila']; }, 'columns' => [['class' => 'yii\\grid\\SerialColumn'], ['label' => 'ID', 'format' => 'raw', 'visible' => false, 'value' => function ($data) { return trim($data->idordencompradetalle); }], ['label' => 'CODIGO', 'format' => 'raw', 'value' => function ($data) { return Html::label('0' . trim($data->idproducto)); }], ['label' => 'PRODUCTO', 'format' => 'raw', 'value' => function ($data) { $producto = \app\modules\siap\models\Producto::findOne($data->idproducto); if ($producto) { return Html::label(trim($producto->descripcion)); } else { return Html::label(''); } }], ['label' => 'CANTIDAD', 'format' => 'raw', 'value' => function ($data) { return Html::input('number', 'cantidad', $data->cantidad, ['class' => 'form-control', 'min' => '1', 'oninvalid' => 'La cantidad debe ser un numero, igual o mayor a 1.', 'style' => 'width: 60px', 'readonly' => 'readonly']); }], ['label' => 'PRECIO', 'format' => 'raw', 'value' => function ($data) { return '<div class="input-group">' . Html::input('number', 'precio', $data->punitario, ['class' => 'form-control sin-spinner', 'readonly' => 'readonly']) . '<span class="input-group-addon">Bs</span>.</div>'; }], ['label' => 'IVA', 'format' => 'raw', 'value' => function ($data) { return '<div class="input-group">' . Html::input('number', 'iva', $data->iva, ['class' => 'form-control sin-spinner', 'readonly' => 'readonly']) . '<span class="input-group-addon">%</span>.</div>'; }], ['label' => 'MONTO IVA', 'format' => 'raw', 'value' => function ($data) { return '<div class="input-group">' . Html::input('number', 'montoIva', $data->punitario * $data->iva / 100, ['class' => 'form-control sin-spinner', 'readonly' => 'readonly']) . '<span class="input-group-addon">Bs</span>.</div>'; }], ['label' => 'DESCUENTO', 'format' => 'raw', 'value' => function ($data) { return '<div class="input-group">' . Html::input('number', 'descuento', $data->descuento, ['class' => 'form-control', 'min' => '0', 'oninvalid' => 'Descuento debe ser un numero, mayor que 0..', 'readonly' => 'readonly']) . '<span class="input-group-addon">Bs</span>.</div>';
public function actionListaProductos($search = null, $id = null) { $out = ['more' => false]; if (!is_null($search)) { // $productos = ProductoSearch::find()->select(['idproducto', 'descripcion'])->where('descripcion ILIKE \'%'.$search.'%\'')->all(); // $data = []; // foreach ($productos as $producto ) // $data[ trim($producto->idproducto) ] = trim($producto->descripcion); // $out['results'] = $data; $query = new Query(); $query->select('idproducto as id, descripcion as text')->from('producto')->where("descripcion ILIKE '%" . $search . "%'")->limit(20); $command = $query->createCommand(); $data = $command->queryAll(); $out['results'] = array_values($data); } elseif ($id > 0) { $producto = Producto::findOne($id); if ($producto) { $out['results'] = ['id' => $id, 'text' => $producto->descripcion]; } // City::find($id)->name]; } else { $out['results'] = ['id' => 0, 'text' => 'No se encontraron resultados.']; } echo Json::encode($out); }