diff --git a/application/admin/controller/User.php b/application/admin/controller/User.php index cc96fee..6d3dfe3 100644 --- a/application/admin/controller/User.php +++ b/application/admin/controller/User.php @@ -12,6 +12,113 @@ use app\admin\model\UserData; class User extends Base { + public function index(){ + $data = []; + $dataObj = \app\admin\model\User::all(); + foreach ( $dataObj as $value ){ + $userInfo = $value->toArray(); + $userData = UserData::get(['uid' => $userInfo[$this->primaryKey]])->toArray(); + $userInfo['loginTimes'] = $userData['loginTimes']; + $userInfo['lastLoginTime'] = $userData['lastLoginTime']; + $userInfo['lastLoginIp'] = $userData['lastLoginIp']; + $data[] = $userInfo; + } + $table = [ + 'tempType' => 'table', + 'header' => [ + [ + 'field' => 'username', + 'info' => '用户账号' + ], + [ + 'field' => 'nickname', + 'info' => '用户昵称' + ], + [ + 'field' => 'loginTimes', + 'info' => '登录次数' + ], + [ + 'field' => 'lastLoginTime', + 'info' => '最后登录时间' + ], + [ + 'field' => 'lastLoginIp', + 'info' => '最后登录IP' + ], + [ + 'field' => 'status', + 'info' => '状态' + ] + ], + 'topButton' => [ + [ + 'href' => url('User/add'), + 'class'=> 'btn-success', + 'info'=> '新增', + 'icon' => 'fa fa-plus', + 'confirm' => 0, + ] + ], + 'rightButton' => [ + [ + 'info' => '启用', + 'href' => url('User/open'), + 'class'=> 'btn-success', + 'param'=> [$this->primaryKey], + 'icon' => 'fa fa-check', + 'confirm' => 0, + 'show' => ['status', 0] + ], + [ + 'info' => '禁用', + 'href' => url('User/close'), + 'class'=> 'btn-warning', + 'param'=> [$this->primaryKey], + 'icon' => 'fa fa-close', + 'confirm' => 0, + 'show' => ['status', 1] + ], + [ + 'info' => '授权', + 'href' => url('User/group'), + 'class'=> 'btn-default', + 'param'=> [$this->primaryKey], + 'icon' => 'fa fa-lock', + 'confirm' => 0, + ], + [ + 'info' => '删除', + 'href' => url('User/del'), + 'class'=> 'btn-danger ajax-delete', + 'param'=> [$this->primaryKey], + 'icon' => 'fa fa-trash', + 'confirm' => 1, + ] + ], + 'typeRule' => [ + 'lastLoginTime' => [ + 'module' => 'date', + ], + 'status' => [ + 'module' => 'label', + 'rule' => [ + [ + 'info' => '禁用', + 'class' => 'label label-danger' + ], + [ + 'info' => '启用', + 'class' => 'label label-success' + ] + ] + ] + ], + 'data' => $data + ]; + $this->result($table, ReturnCode::GET_TEMPLATE_SUCCESS); + } + /** * 用户登录函数 * @return mixed|void diff --git a/application/admin/model/UserData.php b/application/admin/model/UserData.php index ad509f0..d3a86d8 100644 --- a/application/admin/model/UserData.php +++ b/application/admin/model/UserData.php @@ -18,6 +18,10 @@ class UserData extends Model { return request()->ip(1); } + protected function getLastLoginIpAttr( $value ){ + return long2ip($value); + } + protected function setLastLoginTimeAttr(){ return time(); } diff --git a/public/admin/static/js/template.js b/public/admin/static/js/template.js index 424d41c..280554d 100644 --- a/public/admin/static/js/template.js +++ b/public/admin/static/js/template.js @@ -19,9 +19,9 @@ var Y = date.getFullYear() + '-'; var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-'; var D = (date.getDate()+1 < 10 ? '0'+(date.getDate()+1) : date.getDate()+1) + ' '; - var h = date.getHours() + ':'; - var m = date.getMinutes() + ':'; - var s = date.getSeconds(); + var h = (date.getHours() < 10 ? '0'+date.getHours() : date.getHours()) + ':'; + var m = (date.getMinutes() < 10 ? '0'+date.getMinutes() : date.getMinutes()) + ':'; + var s = date.getSeconds() < 10 ? '0'+date.getSeconds() : date.getSeconds(); return Y+M+D+h+m+s; }; diff --git a/public/admin/static/js/template/table.js b/public/admin/static/js/template/table.js index 478e956..dee09bb 100644 --- a/public/admin/static/js/template/table.js +++ b/public/admin/static/js/template/table.js @@ -130,7 +130,7 @@ * @returns {string} */ function createButton( buttonValue, dataValue ) { - var paramStr = '', buttonStr = ''; + var paramStr = '', buttonStr = '', iconStr = ''; if( buttonValue.confirm ){ buttonValue.class += ' confirm'; }else{ @@ -140,9 +140,14 @@ paramStr = prepareParamStr( buttonValue, dataValue ); } if( buttonValue.icon ){ - buttonStr = ''; + iconStr = ''; + } + if( buttonValue.show ){ + if( dataValue[buttonValue.show[0]] == buttonValue.show[1] ){ + buttonStr = ''; + } }else{ - buttonStr = ''; + buttonStr = ''; } return buttonStr; }