AdminController.php 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. <?php
  2. namespace app\modules\admin\controllers;
  3. use app\common\controllers\BController;
  4. use app\modules\admin\models\Admin;
  5. use Yii;
  6. class AdminController extends BController
  7. {
  8. public $layout = 'main';
  9. public function actionList()
  10. {
  11. if (Yii::$app->request->isAjax) {
  12. $query = Admin::find();
  13. $data = [];
  14. $params = Yii::$app->request->get('Admin',[]);
  15. $query = mergeParams($query,$params);
  16. $countQuery = clone $query;
  17. //分页
  18. if(isset($_GET['limit'])){ $query->limit(intval($_GET['limit']));}
  19. if(isset($_GET['offset'])){ $query->offset(intval($_GET['offset']));}
  20. //排序
  21. if(isset($_GET['sort'])&&isset($_GET['sortOrder']))
  22. {
  23. $sortWay = $_GET['sortOrder']=='asc'?SORT_ASC:SORT_DESC;
  24. $resultList = $query->orderBy([$_GET['sort']=>$sortWay])->all();
  25. }
  26. else
  27. {
  28. $resultList = $query->all();
  29. }
  30. foreach($resultList as $result)
  31. {
  32. $data[] = array('admin_id'=>$result->admin_id,'user_name'=>$result->user_name,'real_name'=>$result->real_name,'avatar'=>getFileUrl($result->avatar),'role_id'=>Admin::roleOptions($result->role_id),'disabled'=>$result->disabled);
  33. }
  34. $result = ["total"=>$countQuery->count(),"totalNotFiltered"=>$countQuery->count(),"rows"=>$data];
  35. echo_json($result);
  36. }
  37. $this->tableTitle = array(
  38. array('field'=>'admin_id','title'=>Admin::getAttributeName('admin_id'),'align'=>'center','sortable'=>true,'class'=>'col-md-2'),
  39. array('field'=>'real_name','title'=>Admin::getAttributeName('real_name'),'align'=>'center','class'=>'col-md-2'),
  40. array('field'=>'role_id','title'=>Admin::getAttributeName('role_id'),'align'=>'center','class'=>'col-md-2'),
  41. array('field'=>'disabled','title'=>Admin::getAttributeName('disabled'),'align'=>'center','formatter'=>'switchFormatter','class'=>'col-md-2'),
  42. array('field'=>'operate','title'=>Admin::getAttributeName('operate'),'align'=>'center','events'=>'window.operateEvents','formatter'=>'operateFormatter','class'=>'col-md-2'),
  43. );
  44. $this->tableConfig = array('table'=>Admin::shortTableName(),'url'=>$this->createRealUrl(['admin/admin/list']),'setFieldUrl'=>$this->createRealUrl(['admin/admin/setfield']),'idField'=>Admin::modelPrimaryKey(),'checkbox'=>0,'dropmenu'=>1,'pagination'=>true,'pagesize'=>20,'refresh'=>true);
  45. return $this->render('list',array('model'=>new Admin()));
  46. }
  47. function actionAdd()
  48. {
  49. $model = new Admin(['scenario' => 'add']);
  50. if(Yii::$app->request->isAjax&&$model->load(Yii::$app->request->post())){
  51. $exist = Admin::find()->where("user_name='".$model->user_name."'")->exists();
  52. if($exist)
  53. {
  54. $msgdata = ['error' => 1,'msg' => '已存在该账号,添加失败'];
  55. echo_json($msgdata);
  56. }
  57. $password = password($model->user_pwd);
  58. $model->encrypt = $password['encrypt'];
  59. if(!$model->validate())
  60. {
  61. $msgdata = ['error' => 1,'msg' => $model->returnFirstError()];
  62. }
  63. else
  64. {
  65. $model->user_pwd = $password['password'];
  66. if($model->save(false))
  67. {
  68. $msgdata = ['error' => 0,'msg' => '操作成功'];
  69. }
  70. else
  71. {
  72. $msgdata = ['error' => 1,'msg' => $model->returnFirstError()];
  73. }
  74. }
  75. echo_json($msgdata);
  76. }
  77. return $this->renderAjax('add',array('model'=>$model));
  78. }
  79. function actionEdit()
  80. {
  81. $admin_id = $this->getKeyId('admin_id');
  82. $model = Admin::findOne($admin_id);
  83. $model->setScenario('edit');
  84. $old_pwd = $model->user_pwd;
  85. check_record_exists($model);
  86. if(Yii::$app->request->isAjax&&$model->load(Yii::$app->request->post())){
  87. if(!$model->validate())
  88. {
  89. $msgdata = ['error' => 1,'msg' => $model->returnFirstError()];
  90. }
  91. else
  92. {
  93. if(empty($model->user_pwd))
  94. {
  95. $model->user_pwd = $old_pwd;
  96. }
  97. else
  98. {
  99. $password = password($model->user_pwd);
  100. $model->encrypt = $password['encrypt'];
  101. $model->user_pwd = $password['password'];
  102. }
  103. if($model->save(false))
  104. {
  105. $msgdata = ['error' => 0,'msg' => '操作成功'];
  106. }
  107. else
  108. {
  109. $msgdata = ['error' => 1,'msg' => '操作失败'];
  110. }
  111. }
  112. echo_json($msgdata);
  113. }
  114. $model->user_pwd = '';
  115. return $this->renderAjax('edit',array('model'=>$model));
  116. }
  117. //删除
  118. public function actionDel()
  119. {
  120. $admin_id = $this->getKeyId('admin_id');
  121. $model = Admin::findOne($admin_id);
  122. check_record_exists($model);
  123. if($model->delete())
  124. {
  125. $msgdata = ['error' => 0,'msg' => '操作成功!'];
  126. }
  127. else
  128. {
  129. $msgdata = ['error' => 1,'msg' => '操作失败!'];
  130. }
  131. echo_json($msgdata);
  132. }
  133. }