Priv_roleController.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Http\Request;
  5. use DB;
  6. class Priv_roleController extends Controller {
  7. function add(Request $req) {
  8. $id = $req->id;
  9. if (empty($id)) {
  10. abort(404);
  11. }
  12. $model = new \App\Models\Priv_roleModel();
  13. $data = $model->getRole($id);
  14. if (!$req->isMethod('post')) {
  15. return view('admin.Priv_role/add', ['priv_role' => $data]);
  16. } else {
  17. $model->role_id = trim($req->input('role_id'));
  18. $model->priv_code = trim($req->input('priv_code'));
  19. $model->priv_id = trim($req->input('priv_id'));
  20. $model->role_name = trim($req->input('role_name'));
  21. $model->create_at = date('Y-m-d H:i:s');
  22. $model->save();
  23. return responseToJson(1);
  24. }
  25. }
  26. function addTo(Request $req) {
  27. return view('admin.Priv_role/addTo');
  28. }
  29. function view(Request $req) {
  30. return $this->edit($req);
  31. }
  32. function edit(Request $req) {
  33. $id = $req->id;
  34. if (intval($id) < 1) {
  35. return -1;
  36. }
  37. if (!$req->isMethod('post')) {
  38. $data = \App\Models\Priv_roleModel::where('id', $id)->first();
  39. if (!$data) {
  40. return -2;
  41. }
  42. $data = $data->toArray();
  43. return view('admin.Priv_role/view', array('priv_role' => $data));
  44. } else {
  45. $model = \App\Models\Priv_roleModel::where('id', $id)->first();
  46. $model->role_id = trim($req->input('role_id'));
  47. $model->priv_code = trim($req->input('priv_code'));
  48. $model->priv_id = trim($req->input('priv_id'));
  49. $model->role_name = trim($req->input('role_name'));
  50. $model->save();
  51. return responseToJson(1);
  52. }
  53. }
  54. public function delete(Request $req) {
  55. $id = $req->id;
  56. if (empty($id)) {
  57. return responseToJson(-2001); //id不能为空
  58. }
  59. $ids = explode(',', $id);
  60. if (!is_array($ids) && intval($ids) < 0) {
  61. return responseToJson(-2002); //id错误
  62. }
  63. if (is_array($ids) && count($ids) > 0) {
  64. foreach ($ids as $k => $v) {
  65. if (intval($v) < 1) {
  66. unset($ids[$k]);
  67. }
  68. }
  69. }
  70. $rows = \App\Models\Priv_roleModel::whereIn('id', $ids)->delete();
  71. if (!$rows) {
  72. return responseToJson(-2003); //id错误
  73. }
  74. return responseToJson(1, trans('priv_role.delete_success')); //id错误
  75. }
  76. public function dataSource(Request $req) {
  77. $limit = intval($req->limit) > 0 ? $req->limit : 10;
  78. $page = intval($req->page) > 0 ? $req->page : 1;
  79. $field = !empty($req->field) ? $req->field : '';
  80. $order = !empty($req->order) ? $req->order : 'asc';
  81. $id = intval($req->id) > 0 ? $req->id : '';
  82. DB::connection()->enableQueryLog();
  83. $model = \App\Models\Priv_roleModel::select('dc_priv_role.id','role_id','role_name','priv.priv_code','priv_id','priv.priv_name','dc_priv_role.create_at')->join('dc_priv_code as priv','priv.id','dc_priv_role.priv_id')->where('role_id', $id);
  84. // ->offset(($page - 1) * $limit)
  85. // ->limit($limit);
  86. if (!empty($field) && !empty($order)) {
  87. $model = $model->orderBy($field, $order);
  88. }
  89. $role_name = $req->role_name ? $req->role_name : '';
  90. if (!empty($role_name)) {
  91. $model = $model->where('role_name','like', '%' . $role_name . '%');
  92. }
  93. $priv_code = $req->priv_code ? $req->priv_code : '';
  94. if (!empty($priv_code)) {
  95. $model = $model->where('priv.priv_code','like', "%" . $priv_code . "%");
  96. }
  97. $priv_name = $req->priv_name ? $req->priv_name : '';
  98. if (!empty($priv_name)) {
  99. $model = $model->where('priv_name','like', "%" . $priv_name . "%");
  100. }
  101. /**
  102. $name=$req->name?$req->name:'';
  103. if(!empty($name)){
  104. $model=$model->where('name','like','%'.$name.'%');
  105. }
  106. **/
  107. $data = $model->paginate($limit);
  108. if (!$data) {
  109. return;
  110. }
  111. $data = $data->toArray();
  112. // $count = $model->count();
  113. return \App\Lib\DataTable\DataTable::init()->toJson($data['data'], $data['total']);
  114. }
  115. public function index(Request $req) {
  116. $id = $req->id;
  117. $dt = \App\Lib\DataTable\DataTable::init();
  118. $dt->setLang('priv_role');
  119. $dt->setdataSource('/admin/priv_role/dataSource?id=' . $id);
  120. $dt->addColsFields('id', array('width' => 120));
  121. $dt->addColsFields('priv_name', array('sort' => false));
  122. // $dt->addColsFields('priv_code');
  123. $dt->addColsFields('priv_code', array('sort' => false));
  124. $dt->addColsFields('role_name', array('sort' => false));
  125. $dt->addColsFields('create_at', array('width' => 240));
  126. $dt->enableCheckBox();
  127. $dt->setToolBar();
  128. return view('admin.Priv_role/index', $dt->render());
  129. }
  130. }