| Current Path : /var/www/html/crm/views/product/ |
| Current File : /var/www/html/crm/views/product/overview.php |
<?php
use yii\widgets\ActiveForm;
use yii\helpers\Html;
use yii\grid\GridView;
use yii\helpers\Url;
use app\models\Menu;
use app\models\ParamList;
use app\models\Brand;
use app\models\ProductCategory;
use app\models\Vendor;
use app\models\Company;
use app\models\Product;
use app\models\StockLog;
use app\models\DeliveryOrder;
use app\models\Grn;
use app\models\Invoice;
use yii\helpers\ArrayHelper;
/* @var $this yii\web\View */
/* @var $searchModel app\models\ProductSearch */
/* @var $dataProvider yii\data\ActiveDataProvider */
$Menu = new Menu();
$this->title = $Menu->getmenutitle($menu_id);
$this->registerCss(".tooltip-inner {max-width: 100% !important;text-align : left;}
/*.kt-svg-icon {height: 16px;width: 16px;}
.table-custom tbody td{padding-bottom:0;}*/");
?>
<div class="kt-subheader kt-grid__item" id="kt_subheader">
<div class="kt-container kt-container--fluid ">
<div class="kt-subheader__main">
<h3 class="kt-subheader__title"><?= $this->title ?></h3>
<div class="kt-subheader__breadcrumbs">
<?= $Menu->getbreadcrumbs($menu_id, ''); ?>
<span class="kt-subheader__breadcrumbs-separator"></span><span class="kt-subheader__breadcrumbs-link"><?= $this->title ?> List</span>
</div>
</div>
</div>
</div>
<div class="kt-container kt-grid__item kt-grid__item--fluid">
<div class="kt-portlet kt-portlet--mobile">
<div class="kt-portlet__head">
<?php $form = ActiveForm::begin(['action' => ['overview'], 'method' => 'get', 'options' => ['class' => 'form-inline form-search mt-4 mb-4']]); ?>
<?=
$form->field($searchModel, 'searchvendor')->dropDownList(ArrayHelper::map(Vendor::find()->where(['=', 'status', '1'])->orderBy(['name' => SORT_ASC])->all(), 'uuid', 'name'), [
'title' => '- Choose vendor -',
'class' => 'form-control kt-selectpicker mr-2',
'data-width' => '300px',
'data-live-search' => 'false',
'multiple' => true])->label(false);
?>
<?=
$form->field($searchModel, 'searchbrand')->dropDownList(ArrayHelper::map(Brand::find()->orderBy(['name' => SORT_ASC])->all(), 'uuid', 'name'), [
'title' => '- Choose brand -',
'class' => 'form-control kt-selectpicker mr-2',
'data-width' => '300px',
'data-live-search' => 'false',
'multiple' => true])->label(false);
?>
<?= $form->field($searchModel, 'searchstring')->textInput(['placeholder' => "Enter keyword here..."])->label(false); ?>
<?= $form->field($searchModel, 'searchcompany')->hiddenInput()->label(false); ?>
<div class="form-group">
<?= Html::submitButton('Search', ['class' => 'btn btn-brand']) ?>
<?= Html::a('Reset', ['overview'], ['class' => 'btn btn-outline-brand']) ?>
</div>
<?php ActiveForm::end(); ?>
</div>
<div class="kt-portlet__body p-0">
<?=
GridView::widget([
'dataProvider' => $dataProvider,
'tableOptions' => ['class' => 'table mb-0 table-borderless table-striped table-hover table-custom'],
'pager' => [
'firstPageLabel' => '<i class="fa fa-angle-double-left kt-font-brand"></i>',
'lastPageLabel' => '<i class="fa fa-angle-double-right kt-font-brand"></i>',
'prevPageLabel' => '<i class="fa fa-angle-left kt-font-brand"></i>',
'nextPageLabel' => '<i class="fa fa-angle-right kt-font-brand"></i>',
'maxButtonCount' => 3,
'options' => ['tag' => 'ul', 'class' => 'kt-pagination--brand kt-pagination__links p-3',],
'activePageCssClass' => 'kt-pagination__link--active',
'prevPageCssClass' => 'kt-pagination__link--prev',
'nextPageCssClass' => 'kt-pagination__link--next',
'firstPageCssClass' => 'kt-pagination__link--first',
'lastPageCssClass' => 'kt-pagination__link--last',
],'columns' => [
[
'class' => 'yii\grid\SerialColumn',
'headerOptions' => ['class' => 'text-center', 'width' => '1%'],
'contentOptions' => ['class' => 'text-center'],
], [
'header' => 'Product',
'format' => 'raw',
'value' => function($model) {
$ParamList = new ParamList();
$Brand = new Brand();
$Vendor = new Vendor();
$Company = new Company();
$tooltip = "SKU : " . $model->sku . "<br>
UoM : " . $ParamList->getlabel(9, $model->uom) . "<br>
Brand : " . $Brand->getname($model->brand_id) . "<br>Vendor : " . $Vendor->getname($model->vendor_id) . "<br>
Company : " . $Company->getname($model->com_id);
return $model->name . "<span class='kt-font-info' data-toggle='tooltip' data-placement='top' data-html='true' title='" . $tooltip . "'>
<i class='fas fa-info-circle'></i>
</span>";
}
], [
'header' => 'Available',
'format' => 'raw',
//'headerOptions' => ['width' => '20%'],
'value' => function ($model) {
$StockLog = new StockLog();
$total = $StockLog->balancestockbyowner($model->id);
$output = '<div class="float-left text-center"><div class="kt-badge kt-badge--brand kt-badge--inline kt-badge--unified-brand mr-1">
Total : <span class="font-weight-bold ml-1">' . number_format($total) . '</span>
</div><br>';
$output .= Html::a('<i class="fas fa-plus"></i>', [
'stockin/create',
'com_id' => $model->com_id,
'vendor_id' => $model->vendor_id,
'product_id' => $model->id,
'brand_id' => $model->brand_id], ['title' => 'Stock-In', 'target' => '_blank', 'class' => 'kt-font-brand mr-2']);
$output .= Html::a('<i class="fas fa-sliders-h"></i>', ['stockout/create',
'product_id' => $model->id,
'product_name' => $model->name,
'owner_type' => 'vendor',
'owner_id' => $model->vendor_id
], ['title' => 'Stock Adjustment', 'target' => '_blank', 'class' => 'kt-font-brand mr-2']);
$output .= '</div>';
return $total;
},
], [
'header' => 'In-Transit',
'format' => 'raw',
'headerOptions' => ['class' => 'text-center'],
'contentOptions' => ['class' => 'text-center'],
'value' => function ($model) {
$DeliveryOrder = new DeliveryOrder();
$total = $DeliveryOrder->intransitqty($model->id, '');
$output = '';
if ($total != 0) {
$output = Html::a(number_format($total), Url::to([
'deliveryorder/index',
'DeliveryOrderSearch[searchstring]' => $model->name,
'DeliveryOrderSearch[status]' => 'In-Transit',
'DeliveryOrderSearch[searchcompany]' => '']), ['target' => '_blank',]);
}
return $output;
},
], [
'header' => 'Return',
'format' => 'raw',
'headerOptions' => ['class' => 'text-center'],
'contentOptions' => ['class' => 'text-center'],
'value' => function ($model) {
$Grn = new Grn();
$total = $Grn->returnqty($model->id, '');
$pending_label = $Grn->pendinglabel($model->id, '');
$output = '';
if ($total != 0) {
$output = Html::a(number_format($total), Url::to([
'grn/return',
'GrnSearch[searchstring]' => $model->name]), ['target' => '_blank',]);
}
return $output . $pending_label;
},
],
[
'header' => 'Consigned',
'format' => 'raw',
'headerOptions' => ['class' => 'text-center'],
'contentOptions' => ['class' => 'text-center'],
'value' => function ($model) {
$DeliveryOrder = new DeliveryOrder();
$total = $DeliveryOrder->consignedqty($model->id, '');
$output = '';
if ($total != 0) {
$output = Html::a(number_format($total), Url::to([
'deliveryorder/index',
'DeliveryOrderSearch[searchstring]' => $model->name,
'DeliveryOrderSearch[status]' => 'Consigned',
'DeliveryOrderSearch[searchcompany]' => '']), ['target' => '_blank',]);
}
return $output;
},
], [
'header' => 'Offline Sales',
'format' => 'raw',
'headerOptions' => ['class' => 'text-center'],
'contentOptions' => ['class' => 'text-center'],
'value' => function ($model) {
$total = Yii::$app->db->createCommand("SELECT SUM(quantity) FROM (" .
Yii::$app->sales->getProductOfflineSalesQuery('', '', '', $model->id) . ") t")->queryScalar();
$output = '';
if ($total != 0) {
$output = Html::a(number_format($total), Url::to([
'excel/downloadproductsales',
'product_id' => $model->id,
'company_id' => '',
'start_dt' => '',
'end_dt' => '']), ['target' => '_blank',]);
}
return $output;
},
], [
'header' => 'Log',
'format' => 'raw',
'value' => function ($model) {
return '<a href="index.php?r=stocklog/index&StockLogSearch[searchkeyword]=' . urlencode($model->name) . '"><i class="fas fa-info-circle"></i></a>';
}
]
],
]);
?>
</div>
</div>
</div>
<?php $this->registerJs("setleftmenu(10,55,'');"); ?>