| Current Path : /var/www/html/dyna-project/views/dashboard/ |
| Current File : /var/www/html/dyna-project/views/dashboard/index.php |
<?php
use yii\helpers\Html;
use yii\grid\GridView;
use app\models\ParamList;
use yii\helpers\Url;
use app\models\User;
use app\models\Tasks;
use app\models\Projects;
use yii\widgets\ActiveForm;
use app\models\Pic;
$ParamList = new ParamList();
/* @var $this yii\web\View */
/* @var $searchModel app\models\ProjectsSearch */
/* @var $dataProvider yii\data\ActiveDataProvider */
$Projects = new Projects();
$this->title = 'Projects';
$this->params['breadcrumbs'][] = $this->title;
$this->registerCss(".control-label{margin-right:1em;}
.kt-widget1 .kt-widget1__item .kt-widget1__number {font-size: 2.5em;}");
$this->registerJs("$('#date-search').datepicker({
rtl: KTUtil.isRTL(),
todayHighlight: true,
orientation: 'bottom left',
format: 'yyyy-mm-dd',
clearBtn: false,
todayHighlight: true,
});");
?>
<div class="kt-subheader kt-grid__item" id="kt_subheader">
<div class="kt-container ">
<div class="kt-subheader__main">
<h3 class="kt-subheader__title">Dashboard Projects</h3>
<div class="kt-subheader__breadcrumbs">
<span class="kt-subheader__breadcrumbs-separator"></span>
<span class="kt-subheader__breadcrumbs-link"> Dashboard</span>
<span class="kt-subheader__breadcrumbs-separator"></span>
<span class="kt-subheader__breadcrumbs-link"> Projects List</span>
</div>
</div>
</div>
</div>
<div class="projects-index">
<div class="kt-container kt-grid__item kt-grid__item--fluid">
<?php if (Yii::$app->user->identity->role != 'CLIENT') { ?>
<div class="kt-portlet">
<div class="kt-portlet__body kt-portlet__body--fit">
<div class="row row-no-padding row-col-separator-xl">
<div class="col-md-12 col-lg-12 col-xl-3">
<!--begin:: Widgets/Stats2-1 -->
<div class="kt-widget1">
<div class="kt-widget1__item">
<div class="kt-widget1__info">
<span class="kt-widget1__desc">Total</span>
<h3 class="kt-widget1__title">Overall Projects</h3>
</div>
<a href="<?= Url::to(['dashboard/index', 'ProjectsSearch[progress]' => 'All']) ?>">
<span class="kt-widget1__number kt-font-brand">
<?= $Projects->getsummary1(); ?>
</span>
</a>
</div>
</div>
<!--end:: Widgets/Stats2-1 -->
</div>
<div class="col-md-12 col-lg-12 col-xl-3">
<!--begin:: Widgets/Stats2-2 -->
<div class="kt-widget1">
<div class="kt-widget1__item">
<div class="kt-widget1__info">
<span class="kt-widget1__desc">Total</span>
<h3 class="kt-widget1__title">On-Going Projects</h3>
</div>
<a href="<?= Url::to(['dashboard/index', 'ProjectsSearch[progress]' => 'On-going']) ?>">
<span class="kt-widget1__number kt-font-brand">
<?= $Projects->getsummary2(); ?>
</span>
</a>
</div>
</div>
<!--end:: Widgets/Stats2-2 -->
</div>
<div class="col-md-12 col-lg-12 col-xl-3">
<!--begin:: Widgets/Stats2-3 -->
<div class="kt-widget1">
<div class="kt-widget1__item">
<div class="kt-widget1__info">
<span class="kt-widget1__desc">Total</span>
<h3 class="kt-widget1__title">Completed Projects</h3>
</div>
<a href="<?= Url::to(['dashboard/index', 'ProjectsSearch[progress]' => 'Complete']) ?>">
<span class="kt-widget1__number kt-font-brand">
<?= $Projects->getsummary3(); ?>
</span>
</a>
</div>
</div>
<!--end:: Widgets/Stats2-3 -->
</div>
<div class="col-md-12 col-lg-12 col-xl-3">
<!--begin:: Widgets/Stats2-3 -->
<div class="kt-widget1">
<div class="kt-widget1__item">
<div class="kt-widget1__info">
<span class="kt-widget1__desc">Total</span>
<h3 class="kt-widget1__title">Overdue Projects</h3>
</div>
<a href="<?= Url::to(['dashboard/index', 'ProjectsSearch[progress]' => 'Overdue']) ?>">
<span class="kt-widget1__number kt-font-brand">
<?= $Projects->getsummary4(); ?>
</span>
</a>
</div>
</div>
<!--end:: Widgets/Stats2-3 -->
</div>
</div>
</div>
</div>
<?php } ?>
<div class="kt-portlet kt-portlet--mobile">
<div class="kt-portlet__head">
<div class="tasks-search mb-4 mt-4" style="width:100%;">
<?php $form = ActiveForm::begin(['action' => ['index'], 'method' => 'get', 'options' => ['class' => 'form-inline form-search']]); ?>
<div class="form-group">
<label class="kt-font-bold control-label">Project Date</label>
<div class="input-daterange input-group" id="date-search">
<?= Html::activeTextInput($searchModel, 'search_startdt', ['placeholder' => 'Start date', 'class' => 'form-control', 'readonly' => true]); ?>
<div class="input-group-append"><span class="input-group-text"><i class="la la-ellipsis-h"></i></span></div>
<?= Html::activeTextInput($searchModel, 'search_enddt', ['placeholder' => 'End date', 'class' => 'form-control', 'readonly' => true]); ?>
</div>
</div>
<div class="form-group ml-2">
<?=
$form->field($searchModel, 'progress')
->dropDownList([
'Pending' => 'Not Started',
'On-going' => 'On-going',
'Complete' => 'Complete',
'Overdue' => 'Overdue'
], [
'class' => 'form-control',
'prompt' => '-- Project status--',
'style' => 'width:250px'])->label(false);
?>
</div>
<div class="form-group ml-2">
<?=
$form->field($searchModel, 'cat')
->dropDownList($ParamList->getparamlist2(37), [
'class' => 'form-control',
'prompt' => '-- Project category --',
'style' => 'width:250px'
])->label(false);
?>
</div>
<div class="form-group">
<?= Html::submitButton('Search', ['class' => 'btn btn-success']) ?>
<?= Html::a('Show All', ['index', 'ProjectsSearch[progress]' => 'All'], ['class' => 'btn btn-outline-success']) ?>
</div>
<?php ActiveForm::end(); ?>
</div>
</div>
<div class="kt-portlet__body p-0">
<?=
GridView::widget([
'dataProvider' => $dataProvider,
'summary' => '',
'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' => 'p-4 kt-pagination--brand kt-pagination__links',],
'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 align-middle', 'width' => '1%'],
'contentOptions' => ['class' => 'text-center align-middle'],
], [
'header' => 'Project Details',
'headerOptions' => ['width' => '30%'],
'format' => 'raw',
'value' => function ($model) {
$ParamList = new ParamList();
$duedays = '';
if ($model->progress != 'complete')
$duedays = '<span class="ml-4">' . $model->getduedays($model->end_dt) . '</span>';
return '<span class="kt-badge kt-badge--inline kt-badge--warning">' . $ParamList->getlabel(37, $model->cat) . '</span>
<div><b>' . $model->name . '</b></div>
<small>Project period : ' . date("d M Y", strtotime($model->start_dt)) . ' until ' . date("d M Y", strtotime($model->end_dt)) . $duedays . '</small>';
}
], [
'header' => 'Project Status',
'headerOptions' => ['class' => 'text-center'],
'contentOptions' => ['class' => 'align-middle'],
'format' => 'raw',
'value' => function ($model) {
return $model->displayprogress($model->progress, $model->end_dt, $model->id);
}
], [
'header' => 'Progress By Phase',
'contentOptions' => ['class' => 'align-middle'],
'format' => 'raw',
'value' => function ($model) {
$Tasks = new Tasks();
return $Tasks->displayprogressbar($model->id) . $Tasks->displayphasestatus($model->id);
}
], [
'header' => 'Person In-Charge',
'contentOptions' => ['class' => 'align-middle'],
'format' => 'raw',
'value' => function ($model) {
$output = '';
$User = new User();
$modelPic = Pic::find()->where(['project_id' => $model->id])->andwhere(['status' => '1'])->orderBy(['id' => SORT_ASC])->all();
if (!empty($modelPic)) {
foreach ($modelPic as $rowPic) {
$output .= '<div style="float:left;">' . Html::a($User->getuserdetails2($rowPic->user_id), ['tasks/dashboard', 'TasksSearch[assign_to]' => $rowPic->user_id, 'TasksSearch[search_keyword]' => $model->name]) . '</div>';
}
}
return $output;
}
],
[
'class' => 'yii\grid\ActionColumn',
'header' => 'Details',
'headerOptions' => ['class' => 'text-center'],
'contentOptions' => ['class' => 'text-center align-middle text-nowrap'],
'template' => '{details} {chart} {chart2}',
'buttons' => [
'details' => function ($url, $model) {
return Html::a('<i class="fas fa-info"></i>', $url, ['title' => 'Details', 'class' => 'btn btn-outline-brand btn-icon btn-circle btn-sm']);
}, 'chart' => function ($url, $model) {
return Html::a('<i class="fas fa-align-left"></i>', ['tasks/chart', 'id' => $model->id], ['title' => 'Gantt Chart', 'class' => 'btn btn-outline-danger btn-icon btn-circle btn-sm']);
}, 'chart2' => function ($url, $model) {
return Html::a('<i class="fas fa-chart-line"></i>', ['tasks/chartcurve', 'id' => $model->id], ['title' => 'S-Curve Chart', 'class' => 'btn btn-outline-warning btn-icon btn-circle btn-sm']);
}],
]
],
]);
?>
</div>
</div>
</div>
</div>