AdminRoleController.php 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Http\Request as Req;
  5. /**
  6. *
  7. */
  8. class AdminRoleController extends Controller {
  9. /**
  10. * @return 管理员角色管理
  11. */
  12. function index(Req $req) {
  13. $id = $req->id;
  14. $dt = \App\Lib\DataTable\DataTable::init();
  15. $dt->setDataSource('/admin/AdminRole/getRole?id=' . $id);
  16. $dt->setLang('system_user');
  17. $dt->addColsFields('id');
  18. $dt->addColsFields('admin_name', array('sort' => false)); //管理员名称
  19. $dt->addColsFields('role_name', array('sort' => false)); //角色名
  20. $dt->enableCheckBox();
  21. $dt->setPriKey('id');
  22. // $dt->setToolBar(array('priv_role'), array('width' => '200'));
  23. return view('admin.AdminRole/index', $dt->render());
  24. }
  25. function getRole(Req $req) {
  26. $list = intval($req->list) ? $req->list : '';
  27. $admin_id = $req->id;
  28. $admin_name = $req->admin_name;
  29. $role_name = $req->role_name;
  30. $where = array();
  31. if (!empty($admin_id)) {
  32. $where[] = array('admin_id', '=', $admin_id);
  33. }
  34. if (!empty($admin_name)) {
  35. $where[] = array('admin_name', '=', $admin_name);
  36. }
  37. if (!empty($role_name)) {
  38. $where[] = array('role_name', '=', $role_name);
  39. }
  40. // print_r($where);
  41. // $filds=$req-
  42. $db = new \App\Models\Role;
  43. $data = $db->getRole($where, $list);
  44. return \App\Lib\DataTable\DataTable::init()->toJson($data['data'], $data['total']);
  45. }
  46. function getEditColsModel() {
  47. return 'System_root';
  48. }
  49. function view(Req $req) {
  50. return $this->Edit($req);
  51. }
  52. //修改权限信息
  53. function Edit(Req $req) {
  54. $id = $req->id;
  55. if (empty($id)) {
  56. abort(404);
  57. }
  58. $root_db = new \App\Models\System_root;
  59. $menu = new \App\Models\NewMenu;
  60. if (!$req->isMethod('post')) {
  61. $root = $root_db->getRootDetails($id, 1);
  62. $menudata = $menu->getMenuAll();
  63. return view('admin.Adminroot/view', ['data' => $root, 'menu' => $menudata]);
  64. } else {
  65. $level = empty($req->level) ? '' : $req->level;
  66. $rootname = empty($req->rootname) ? '' : $req->rootname;
  67. $max_money = empty($req->max_money) ? '' : $req->max_money;
  68. if (empty($level) || empty($rootname) || empty($max_money)) {
  69. return responseToJson(-7010900102); //未提交修改信息
  70. }
  71. $data = array(
  72. 'level' => $level,
  73. 'name' => $rootname,
  74. 'settingmoney' => $max_money,
  75. );
  76. $res = $root_db->editRoot($id, $data);
  77. return responseToJson($res);
  78. }
  79. }
  80. function getlist(Req $req) {
  81. $list = intval($req->limit) > 0 ? $req->limit : 10;
  82. $db = new \App\Models\System_root;
  83. $data = $db->getlist($list);
  84. return \App\Lib\DataTable\DataTable::init()->toJson($data['data'], $data['total']);
  85. }
  86. /**
  87. * 批量删除
  88. * [delete description]
  89. * @return [type] [description]
  90. */
  91. function delete(Req $req) {
  92. $id = $req->input('id');
  93. if (empty($id)) {
  94. return responseToJson(-2001); //id������
  95. }
  96. $ids = explode(',', $id);
  97. if (!is_array($ids) && intval($ids) < 0) {
  98. return responseToJson(-2002); //id����
  99. }
  100. if (is_array($ids) && count($ids) > 0) {
  101. foreach ($ids as $k => $v) {
  102. if (intval($v) < 1) {
  103. unset($ids[$k]);
  104. }
  105. }
  106. }
  107. // echo '敬请期待';die;
  108. $rows = \App\Models\Role::whereIn('id', $ids)->delete();
  109. if (!$rows) {
  110. return responseToJson(-2003); //id����
  111. }
  112. return responseToJson(1); //id����
  113. }
  114. //添加角色1
  115. function addRole(Req $req){
  116. $id = $req->id;
  117. if(intval($id)<0){
  118. abort(404);
  119. }
  120. $admin_db=new \App\Models\System_user;
  121. $role_db=new \App\Models\Role;
  122. $system_role=new \App\Models\System_root;
  123. $data=$role_db->gethasRole($id);
  124. $role_data=$system_role->getAllRole();
  125. foreach ($role_data as $k=>$v){
  126. if(in_array($v['id'],$data)){
  127. unset($role_data[$k]);
  128. }
  129. }
  130. $admin_info=$admin_db->getAdminInfo($id,1);
  131. if (!$req->isMethod('post')) {
  132. return view('admin.AdminRole/addRole',['admin'=>$admin_info,'data'=>$role_data]);
  133. }else{
  134. $role_id=$req->role_id;
  135. if(intval($role_id)<0){
  136. return responseToJson(-7082000322);//请选择添加角色
  137. }
  138. $role_info=$system_role->getInfo($role_id,1);
  139. if($role_info<0){
  140. return responseToJson($role_info);//请选择添加角色
  141. }
  142. $inset_data['role_id']=$role_info['id'];
  143. $inset_data['role_name']=$role_info['name'];
  144. $inset_data['admin_id']=$id;
  145. $inset_data['admin_name']=$admin_info['loginname'];
  146. $res=$role_db->addRole($inset_data);
  147. if($res<0){
  148. return responseToJson($res);
  149. }
  150. return responseToJson(1);
  151. }
  152. }
  153. //获取管理员该管理员所有权限的数组
  154. function getRoot(){
  155. $admin_id=session('adminInfo.admin_id');
  156. //获取所有角色的id
  157. $role_db=new \App\Models\Role;
  158. $role_ids=$role_db->gethasRole($admin_id);
  159. if($role_ids<0){
  160. return $role_ids;
  161. }
  162. //检验是否是超级管理员
  163. $root_db=new \App\Models\System_root;
  164. $res=$root_db->checkSupper($role_ids);
  165. if($res>0){
  166. return 1;
  167. }
  168. //获取权限代码ID
  169. $code_role_db=new \App\Models\Priv_roleModel;
  170. $code_ids=$code_role_db->getAllCode($role_ids);
  171. if($code_ids<0){
  172. return $code_ids;
  173. }
  174. $code_ids=array_unique($code_ids);
  175. //获取权限代码
  176. $code_db=new \App\Models\Priv_codeModel;
  177. $code_data=$code_db->getCode($code_ids);
  178. if($code_data<0){
  179. return $code_data;
  180. }
  181. return $code_data;
  182. }
  183. }
  184. ?>