Your IP : 216.73.216.79


Current Path : /var/www/html/crm/views/deliveryorder/
Upload File :
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 .= '&nbsp;&nbsp;' . 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}&nbsp;&nbsp;{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 '&nbsp;&nbsp;' . 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 '&nbsp;&nbsp;' . 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>