Admin.php 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. <?php
  2. namespace app\user\controller;
  3. use think\Lang;
  4. class Admin extends UserControl
  5. {
  6. public function _initialize()
  7. {
  8. parent::_initialize();
  9. Lang::load(APP_PATH . 'admin/lang/' . config('default_lang') . '/admin.lang.php');
  10. }
  11. /**
  12. * 管理员列表
  13. * @return mixed
  14. */
  15. public function index()
  16. {
  17. $model_admin = Model('admin');
  18. $admsuos = $model_admin->suosgsAdmin(session('admin_id'));
  19. $groupid = input('post.admingroupid');
  20. $title = input('post.title');
  21. $condition = array();
  22. if($groupid){
  23. $condition['admin_group_id'] = $groupid;
  24. }
  25. if($title){
  26. $condition['admin_name'] = $title;
  27. }
  28. if($admsuos['admin_id']!=1){
  29. $condition['admin_pid'] = $admsuos['admin_id'];
  30. }
  31. $admin_list = $model_admin->getAdminList($condition, '*', 10);
  32. $allpower = $this->qxhans();
  33. $condition = array();
  34. $condition['suosgs'] =1;
  35. $admin_group = model('admingroup')->getAdminGroupList($condition,'group_name,group_id');
  36. $this->assign('admin_group', $admin_group);//管理组
  37. $this->assign('allpower',$allpower);
  38. $this->assign('admin_list', $admin_list);
  39. $this->assign('show_page', $model_admin->page_info->render());
  40. $this->setAdminCurItem('index');
  41. return $this->fetch();
  42. }
  43. /**
  44. * 添加管理员
  45. * @return mixed
  46. */
  47. public function add()
  48. {
  49. $this->assign('is_super',session('admin_id'));
  50. if (request()->isPost()) {
  51. $model_admin = Model('admin');
  52. //判断用户名是否存在
  53. if ($model_admin->getOneAdmin(['admin_name' => input('post.admin_name')])) {
  54. $this->error(lang('admin_existence'));
  55. }
  56. $data = array(
  57. 'admin_name' => input('post.admin_name'),
  58. 'admin_password' => input('post.admin_password') ? md5(input('post.admin_password')) : md5('123'),
  59. 'admin_group_id' => input('post.group_id'),
  60. 'admin_status' => input('post.admin_status'),
  61. 'admin_add_time' => TIMESTAMP,
  62. );
  63. if(input('post.group_id')==3){
  64. $suosgsid = $model_admin->suosgsAdmin(session('admin_id'));
  65. $data['admin_pid'] = input('post.admin_pid') ? input('post.admin_pid') : $suosgsid['admin_id'];
  66. }
  67. //添加到数据库
  68. $result = $model_admin->addAdmin($data);
  69. if ($result) {
  70. dsLayerOpenSuccess(lang('admin_add_succ'));
  71. } else {
  72. $this->error(lang('admin_add_fail'));
  73. }
  74. } else {
  75. $model_admin = Model('admin');
  76. $jlzgsmz = $model_admin->ogroupAdmin(0);
  77. $admin_array = array('add' => 1,'admin_status'=>0);
  78. $condition = array();
  79. $condition['suosgs'] = 1;
  80. $admin_group = model('admingroup')->getAdminGroupList($condition,'group_name,group_id');
  81. $this->assign('admin_group', $admin_group);
  82. $this->assign('admin', $admin_array);
  83. $this->assign('jlzgsmz',$jlzgsmz);
  84. return $this->fetch('form');
  85. }
  86. }
  87. public function edit()
  88. {
  89. $this->assign('is_super',session('admin_id'));
  90. $admin_id = input('param.admin_id');
  91. if (empty($admin_id)) {
  92. $this->error(lang('param_error'));
  93. }
  94. $model_admin = Model('admin');
  95. if (!request()->isPost()) {
  96. $condition['admin_id'] = $admin_id;
  97. $admin_array = $model_admin->getOneAdmin($condition);
  98. $admin_array['add'] = 0;
  99. $where = array();
  100. $admin_group = model('admingroup')->getAdminGroupList($where,'group_name,group_id');
  101. $group_id = $admin_array['admin_group_id'];
  102. $jlzgsmz = $model_admin->ogroupAdmin($admin_id);
  103. $suosgs = $model_admin->suosgsAdmin($admin_array['admin_pid']);
  104. $this->assign('suosgs',$suosgs);
  105. $this->assign('jlzgsmz',$jlzgsmz);
  106. $this->assign('admin_group', $admin_group);
  107. $this->assign('qxgroup_name',$admin_group[$group_id-1]['group_name']);
  108. $this->assign('qxgroup_id',$admin_group[$group_id-1]['group_id']);
  109. $this->assign('admin', $admin_array);
  110. return $this->fetch('form');
  111. } else {
  112. $data = array(
  113. 'admin_name' => input('post.admin_name'),
  114. 'admin_status' => input('post.admin_status'),
  115. 'admin_group_id' => input('post.group_id')
  116. );
  117. if (input('post.admin_password')) {
  118. $data['admin_password'] = md5(input('post.admin_password'));
  119. }
  120. if(input('post.group_id')==3){
  121. $suosgsid = $model_admin->suosgsAdmin(session('admin_id'));
  122. $data['admin_pid'] = input('post.admin_pid')? input('post.admin_pid') : $suosgsid['admin_id'];
  123. }
  124. if(input('post.group_id')==2){
  125. $data['admin_pid'] = '';
  126. }
  127. //验证数据 END
  128. $result = $model_admin->editAdmin(array('admin_id' => intval($admin_id)), $data);
  129. if ($result) {
  130. dsLayerOpenSuccess(lang('admin_edit_succ'));
  131. } else {
  132. $this->error(lang('admin_edit_fail'));
  133. }
  134. }
  135. }
  136. public function del()
  137. {
  138. $admin_id = input('param.admin_id');
  139. if (empty($admin_id)) {
  140. $this->error(lang('param_error'));
  141. }
  142. $result = db('admin')->delete($admin_id);
  143. if ($result) {
  144. ds_json_encode(10000, lang('admin_del_succ'));
  145. } else {
  146. ds_json_encode(10001, lang('admin_del_fail'));
  147. }
  148. }
  149. protected function getAdminItemList()
  150. {
  151. $menu_array = array(
  152. array(
  153. 'name' => 'index', 'text' => lang('ds_manage'), 'url' => url('Admin/index')
  154. ), array(
  155. 'name' => 'add', 'text' => lang('ds_add'), 'url' => "javascript:dsLayerOpen('".url('Admin/add')."','".lang('ds_add')."')"
  156. ),
  157. );
  158. return $menu_array;
  159. }
  160. }