listData = HighestEmpLevelLog::lists($this->condition, $this->params, [ 'select' => 'LL.*, CU.USER_NAME, ADM.ADMIN_NAME', 'orderBy' => 'LL.CREATED_AT DESC, LL.ID DESC', 'from' => HighestEmpLevelLog::tableName() . ' AS LL', 'join' => [ ['LEFT JOIN', Admin::tableName() . ' AS ADM', 'LL.ADMIN_ID=ADM.ID'], ['LEFT JOIN', User::tableName() . ' AS CU', 'LL.USER_ID=CU.ID'], ], 'page' => $this->page, 'pageSize' => $this->pageSize, ]); } /** * 要展示和导出的所有字段 * @return array */ public function getColumn() { $empLevelConfig = Cache::getEmpLevelConfig(); if (!$this->columns) { $this->columns = [ 'ID' => null, 'USER_ID' => null, 'USER_NAME' => [ 'header' => Yii::t('ctx', 'memberCode'), ], 'FROM_HIGHEST_EMP_LV_NAME' => [ 'header' => Yii::t('ctx', 'levelBeforeModification'), 'value' => function($row) use($empLevelConfig) { return $empLevelConfig[$row['FROM_ID']]['LEVEL_NAME'] ?? ''; }, 'valueOther' => [ 'tag'=>['type'=>'warning', 'size' => 'small', 'class'=>'no-border'] ], ], 'TO_HIGHEST_EMP_LV_NAME' => [ 'header' => Yii::t('ctx', 'modifiedLevel'), 'value' => function($row) use($empLevelConfig) { return $empLevelConfig[$row['TO_ID']]['LEVEL_NAME'] ?? ''; }, 'valueOther' => [ 'tag'=>['type'=>'warning', 'size' => 'small', 'class'=>'no-border'] ], ], 'ADMIN_NAME' => [ 'header' => Yii::t('ctx', 'operationAdministrator'), ], 'CREATED_AT' => [ 'header' => Yii::t('ctx', 'createAt'), 'value' => function($row) { return (new DateTime([ 'value' => $row['CREATED_AT'], ]))->result(); }, ], ]; } return $this->columns; } /** * 前台用于筛选的类型集合 * @return mixed */ public function getFilterTypes() { if (!$this->filterTypes) { $this->filterTypes = [ 'USER_NAME'=> ['isUserTable' => false,'name'=> Yii::t('ctx', 'memberCode')], 'CREATED_AT' => ['isUserTable' => false, 'name' => Yii::t('ctx', 'createAt'), 'other' => 'date'], 'ADMIN_NAME' => ['isUserTable' => false, 'name' => Yii::t('ctx', 'operationAdministrator')], ]; } return $this->filterTypes; } }