/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Key_list::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['FunctionKey' => $this->FunctionKey]); $query->andFilterWhere(['like', 'FunctionKeyNM', $this->FunctionKeyNM]); return $dataProvider; }
use yii\web\JsExpression; use yii\widgets\Pjax; use kartik\export\ExportMenu; use kartik\widgets\ActiveForm; use kartik\widgets\Select2; use kartik\widgets\FileInput; use kartik\widgets\DepDrop; use lukisongroup\hrd\models\Machine; use lukisongroup\hrd\models\Key_list; use lukisongroup\hrd\models\Employe; use yii\widgets\ListView; // use yii\widgets\DetailView; use lukisongroup\assets\AppAssetFusionChart; AppAssetFusionChart::register($this); $aryMachine = ArrayHelper::map(Machine::find()->all(), 'TerminalID', 'MESIN_NM'); $aryKeylist = ArrayHelper::map(Key_list::find()->all(), 'FunctionKey', 'FunctionKeyNM'); $aryEmploye = ArrayHelper::map(Employe::find()->where("STATUS<>3 AND EMP_STS<>3")->all(), function ($model, $defaultValue) { return $model->EMP_NM . '-' . $model->EMP_NM_BLK; }, function ($model, $defaultValue) { return $model->EMP_NM . '-' . $model->EMP_NM_BLK; }); $this->sideCorp = 'User Profile'; /* Title Select Company pada header pasa sidemenu/menu samping kiri */ $this->sideMenu = 'profile'; /* kd_menu untuk list menu pada sidemenu, get from table of database */ $this->title = Yii::t('app', 'Profile'); /* title pada header page */ $this->params['breadcrumbs'][] = $this->title; /* belum di gunakan karena sudah ada list sidemenu, on plan next*/ $JSCode = <<<EOF
public function getKeys() { return $this->hasOne(Key_list::className(), ['FunctionKey' => 'FunctionKey']); }
$this->title = Yii::t('app', 'HRM - Absensi Dashboard'); /* title pada header page */ $this->params['breadcrumbs'][] = $this->title; /* belum di gunakan karena sudah ada list sidemenu, on plan next*/ $aryFlag = [['ID' => 0, 'DESCRIP' => 'Online'], ['ID' => 1, 'DESCRIP' => 'Offline'], ['ID' => 2, 'DESCRIP' => 'USB']]; $valFlag = ArrayHelper::map($aryFlag, 'DESCRIP', 'DESCRIP'); /* * COLUMN LOG ABSENSI * @author ptrnov [piter@lukison.com] * @since 1.2 */ $clmLog = [['class' => 'kartik\\grid\\SerialColumn', 'width' => '10px', 'header' => 'No.', 'hAlign' => 'center', 'headerOptions' => ['style' => ['text-align' => 'center', 'width' => '10px', 'font-family' => 'tahoma', 'font-size' => '8pt', 'background-color' => 'rgba(0, 95, 218, 0.3)']], 'contentOptions' => ['style' => ['text-align' => 'center', 'width' => '10px', 'font-family' => 'tahoma', 'font-size' => '8pt']], 'pageSummaryOptions' => ['style' => ['border-right' => '0px']]], ['attribute' => 'TerminalID', 'filter' => $aryMachine, 'value' => function ($model) { $nmMachine = Machine::find()->where(['TerminalID' => $model['TerminalID']])->one(); return $nmMachine != '' ? $nmMachine['MESIN_NM'] : 'Unknown'; }, 'label' => 'Finger.Machine', 'hAlign' => 'left', 'vAlign' => 'middle', 'headerOptions' => ['style' => ['text-align' => 'center', 'width' => '50px', 'font-family' => 'tahoma, arial, sans-serif', 'font-size' => '9pt', 'background-color' => 'rgba(0, 95, 218, 0.3)']], 'contentOptions' => ['style' => ['text-align' => 'center', 'width' => '50px', 'font-family' => 'tahoma, arial, sans-serif', 'font-size' => '9pt']]], ['attribute' => 'UserID', 'label' => 'Finger', 'hAlign' => 'left', 'vAlign' => 'middle', 'headerOptions' => ['style' => ['text-align' => 'center', 'width' => '50px', 'font-family' => 'tahoma, arial, sans-serif', 'font-size' => '9pt', 'background-color' => 'rgba(0, 95, 218, 0.3)']], 'contentOptions' => ['style' => ['text-align' => 'center', 'width' => '50px', 'font-family' => 'tahoma, arial, sans-serif', 'font-size' => '9pt']]], ['attribute' => 'UserName', 'label' => 'Finger-UserName', 'hAlign' => 'left', 'vAlign' => 'middle', 'noWrap' => true, 'headerOptions' => ['style' => ['text-align' => 'center', 'width' => '80px', 'font-family' => 'tahoma, arial, sans-serif', 'font-size' => '9pt', 'background-color' => 'rgba(0, 95, 218, 0.3)']], 'contentOptions' => ['style' => ['text-align' => 'left', 'width' => '80px', 'font-family' => 'tahoma, arial, sans-serif', 'font-size' => '9pt']]], ['attribute' => 'NAMA', 'label' => 'Employee-Name', 'hAlign' => 'left', 'vAlign' => 'middle', 'noWrap' => true, 'headerOptions' => ['style' => ['text-align' => 'center', 'width' => '80px', 'font-family' => 'tahoma, arial, sans-serif', 'font-size' => '9pt', 'background-color' => 'rgba(0, 95, 218, 0.3)']], 'contentOptions' => ['style' => ['text-align' => 'left', 'width' => '80px', 'font-family' => 'tahoma, arial, sans-serif', 'font-size' => '9pt']]], ['attribute' => 'FunctionKey', 'label' => 'Key', 'filter' => $aryKeylist, 'value' => function ($model) { $nmKeylist = Key_list::find()->where(['FunctionKey' => $model['FunctionKey']])->one(); return $nmKeylist != '' ? $nmKeylist['FunctionKeyNM'] : 'unknown'; }, 'hAlign' => 'left', 'vAlign' => 'middle', 'headerOptions' => ['style' => ['text-align' => 'center', 'width' => '50px', 'font-family' => 'tahoma, arial, sans-serif', 'font-size' => '9pt', 'background-color' => 'rgba(0, 95, 218, 0.3)']], 'contentOptions' => ['style' => ['text-align' => 'center', 'width' => '50px', 'font-family' => 'tahoma, arial, sans-serif', 'font-size' => '9pt']]], ['attribute' => 'DateTime', 'label' => 'DateTime', 'noWrap' => true, 'filterType' => GridView::FILTER_DATE, 'filterWidgetOptions' => ['pluginOptions' => ['format' => 'yyyy-mm-dd', 'autoclose' => true, 'todayHighlight' => true, 'autoWidget' => false]], 'hAlign' => 'left', 'vAlign' => 'middle', 'headerOptions' => ['style' => ['text-align' => 'center', 'width' => '100px', 'font-family' => 'tahoma, arial, sans-serif', 'font-size' => '9pt', 'background-color' => 'rgba(0, 95, 218, 0.3)']], 'contentOptions' => ['style' => ['text-align' => 'center', 'width' => '100px', 'font-family' => 'tahoma, arial, sans-serif', 'font-size' => '9pt']]], ['attribute' => 'FlagAbsence', 'label' => 'Key', 'noWrap' => false, 'filter' => $valFlag, 'hAlign' => 'left', 'vAlign' => 'middle', 'headerOptions' => ['style' => ['text-align' => 'center', 'width' => '80px', 'font-family' => 'tahoma, arial, sans-serif', 'font-size' => '9pt', 'background-color' => 'rgba(0, 95, 218, 0.3)']], 'contentOptions' => ['style' => ['text-align' => 'center', 'width' => '80px', 'font-family' => 'tahoma, arial, sans-serif', 'font-size' => '9pt']]], ['class' => 'kartik\\grid\\ActionColumn', 'dropdown' => true, 'template' => '{karfinger}{edit}{delete}', 'dropdownOptions' => ['class' => 'pull-right dropup'], 'buttons' => ['karfinger' => function ($url, $model, $key) { return '<li>' . Html::a('<span class="fa fa-eye fa-dm"></span>' . Yii::t('app', 'Employee Finger'), ['/hrd/absen-maintain/finger-emp', 'm' => $model['TerminalID'], 'f' => $model['UserID']], ['data-toggle' => "modal", 'data-target' => "#modal-view", 'data-title' => 'RT0' . $model['UserID']]) . '</li>' . PHP_EOL; }, 'edit' => function ($url, $model, $key) { return '<li>' . Html::a('<span class="fa fa-edit fa-dm"></span>' . Yii::t('app', 'Edit'), ['/dashboard/warga-data-rt/edit', 'id' => $model['UserID']], ['data-toggle' => "modal", 'data-target' => "#modal-edit", 'data-title' => 'RT0' . $model['UserID']]) . '</li>' . PHP_EOL; }, 'delete' => function ($url, $model, $key) { return '<li>' . Html::a('<span class="fa fa-remove fa-dm"></span>' . Yii::t('app', 'delete'), ['/dashboard/warga-data-rt/delete', 'id' => $model['UserID']], ['data-method' => 'post', 'data-confirm' => 'Anda yakin ingin menghapus data warga ' . $model['UserID'] . ' ?']) . '</li>' . PHP_EOL; }], 'headerOptions' => ['style' => ['text-align' => 'center', 'width' => '40px', 'font-family' => 'tahoma, arial, sans-serif', 'font-size' => '9pt', 'background-color' => 'rgba(0, 95, 218, 0.3)']], 'contentOptions' => ['style' => ['text-align' => 'center', 'width' => '40px', 'height' => '10px', 'font-family' => 'tahoma, arial, sans-serif', 'font-size' => '9pt']]]]; /* * LOG ABSENSI * @author ptrnov [piter@lukison.com] * @since 1.2 */ $gvAbsenLog = GridView::widget(['id' => 'absenlog', 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'filterRowOptions' => ['style' => 'background-color:rgba(0, 95, 218, 0.3); align:center'], 'showPageSummary' => true, 'columns' => $clmLog, 'pjax' => true, 'pjaxSettings' => ['options' => ['enablePushState' => false, 'id' => 'absenlog']], 'panel' => ['heading' => '<h3 class="panel-title">EMPLOYEE MAINTAIN LOG FINGER</h3>', 'type' => 'warning', 'showFooter' => false], 'toolbar' => [], 'hover' => true, 'responsive' => true, 'responsiveWrap' => true, 'bordered' => true, 'striped' => '4px', 'autoXlFormat' => true, 'export' => false]); ?>