| Current Path : /var/www/html/crm/views/deliveryorder/ |
| Current File : /var/www/html/crm/views/deliveryorder/index.php |
<?php
use yii\helpers\Html;
use yii\grid\GridView;
use yii\helpers\Url;
use app\models\Menu;
use app\models\Company;
use app\models\Invoice;
use app\models\DeliveryOrder;
use app\models\User;
/* @var $this yii\web\View */
/* @var $searchModel app\models\DeliveryOrderSearch */
/* @var $dataProvider yii\data\ActiveDataProvider */
$Menu = new Menu();
$this->title = $Menu->getmenutitle($menu_id);
$this->registerCss(".table-custom tbody td{padding:0.5rem;}.summary{padding-top:1em;}");
?>
<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="user-index">
<div class="kt-container kt-grid__item kt-grid__item--fluid">
<div class="kt-portlet kt-portlet--mobile">
<div class="kt-portlet__head"><?php echo $this->render('_search', ['model' => $searchModel]); ?></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' => '3%'],
'contentOptions' => ['class' => 'text-center'],
], [
'attribute' => 'doc_dt',
'headerOptions' => ['class' => 'head-sort'],
'format' => 'raw',
'value' => function ($model) {
return date("d M Y", strtotime($model->doc_dt));
},
], [
'attribute' => 'doc_no',
'headerOptions' => ['class' => 'head-sort'],
], [
'attribute' => 'status',
'headerOptions' => ['class' => 'head-sort'],
'format' => 'raw',
'value' => function ($model) {
if ($model->status == 'Consigned')
return Html::a($model->status, 'uploads/signed_do/' . $model->uploaded_file, ['target' => '_blank']);
else
return $model->status;
},
],
[
'attribute' => 'company_id',
'format' => 'raw',
'value' => function ($model) {
$Company = new Company();
return $Company->getname($model->company_id);
},
], [
'attribute' => 'customer_name',
'headerOptions' => ['class' => 'head-sort'],
], [
'attribute' => 'sales_pic',
'format' => 'raw',
'value' => function ($model) {
$User = new User();
return $User->getusernickname($model->sales_pic);
},
],
[
'header' => 'Invoice',
'format' => 'raw',
'value' => function ($model) {
$Invoice = new Invoice;
$checkInvoice = $Invoice->checkinvoice($model->id);
$output = '';
if ($checkInvoice == '') {
$output = Html::button('Generate', ['class' => 'btn btn-outline-warning btn-sm', 'onclick' => 'generate_invoice(' . $model->id . ',' . $model->company_id . ')']);
} else {
$output .= Html::a('Download', Url::to(['invoice/download', 'uuid' => $checkInvoice]), ['class' => 'btn btn-outline-danger btn-sm', 'target' => '_blank', 'title' => 'Download Invoice',]);
$output .= ' ' . Html::a('Update', Url::to(['invoice/update', 'uuid' => $checkInvoice, 'returnUrl' => 'deliveryorder']), ['class' => 'btn btn-outline-success btn-sm', 'title' => 'Update Invoice',]);
}
return $output;
}
],
[
'class' => 'yii\grid\ActionColumn',
'header' => 'Action',
//'headerOptions' => ['class' => 'text-center', 'width' => '9%'],
//'contentOptions' => ['class' => 'text-center'],
'template' => '{download}{update}{upload} {delete}',
'buttons' => [
'download' => function ($url, $model) {
$url = Url::to(['deliveryorder/download', 'uuid' => $model->uuid]);
return Html::a('<span class="kt-font-brand icon-custom"><i class="fas fa-file-download fa-lg"></i></span>', $url, ['target' => '_blank', 'title' => 'Download',]);
},
'update' => function ($url, $model) {
if ($model->status != 'Consigned') {
$url = Url::to(['deliveryorder/update', 'uuid' => $model->uuid]);
return ' ' . Html::a('<span class="kt-font-success icon-custom"><i class="far fa-edit fa-lg"></i></span>', $url, ['title' => 'Update',]);
} else {
return '';
}
}, 'log' => function ($url, $model) {
$url = Url::to(['deliveryorder/log', 'uuid' => $model->uuid]);
return Html::a('<span class="kt-font-warning icon-custom"><i class="fas fa-history fa-lg"></i></span>', $url, ['title' => 'Change Log',]);
}, 'upload' => function ($url, $model) {
if ($model->status == 'In-Transit') {
$url = Url::to(['deliveryorder/upload', 'uuid' => $model->uuid]);
return ' ' . Html::a('<span class="kt-font-dark icon-custom"><i class="fas fa-upload fa-lg"></i>', $url, ['title' => 'Upload signed DO',]);
} else {
return '';
}
}, 'delete' => function ($url, $model) {
return '<span class="kt-font-danger icon-custom" title="Delete Product"><i class="far fa-trash-alt" style="cursor:pointer;" onclick="deletedo(' . $model->id . ')"></i></span>';
},],
],
],
]);
?>
</div>
</div>
</div>
</div>
<script>
function generate_invoice(do_no, com_id) {
if (do_no !== '') {
$.ajax({
url: "index.php?r=invoice/create",
method: "POST",
data: {"do_no": do_no, "com_id": com_id},
success: function (response) {
if (response === 'success') {
swal.fire({
position: 'center-center',
type: 'success',
title: 'Invoice has been generated',
showConfirmButton: false,
timer: 1500,
}).then(function (result) {
location.reload();
});
}
},
});
}
}
function deletedo(id) {
Swal.fire({
title: 'Are you sure to delete this DO?',
text: "You won't be able to revert this!",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, delete it!'
}).then((result) => {
if (result.value) {
$.ajax({
url: "index.php?r=deliveryorder/delete",
method: "POST",
data: {"id": id},
success: function (response) {
if (response === 'success') {
swal.fire({
position: 'center-center',
type: 'success',
title: 'You DO has been deleted',
showConfirmButton: false,
timer: 1500, }).then(function (result) {
location.reload();
});
}
},
});
}
}
)
}
</script>