Role.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?php
  2. namespace app\supplier\controller\auth;
  3. use app\supplier\controller\Controller;
  4. use app\supplier\model\auth\Role as RoleModel;
  5. use app\supplier\model\supplier\Access as AccessModel;
  6. /**
  7. * 管理后台角色
  8. */
  9. class Role extends Controller
  10. {
  11. /**
  12. * 角色列表
  13. */
  14. public function index()
  15. {
  16. $model = new RoleModel();
  17. $list = $model->getTreeData($this->getSupplierId());
  18. return $this->renderSuccess('', compact('list'));
  19. }
  20. /**
  21. * 新增get数据
  22. */
  23. public function addInfo()
  24. {
  25. $menu = (new AccessModel())->getList();
  26. $model = new RoleModel();
  27. // 角色列表
  28. $roleList = $model->getTreeData($this->getSupplierId());
  29. return $this->renderSuccess('', compact('menu', 'roleList'));
  30. }
  31. /**
  32. * 新增
  33. */
  34. public function add()
  35. {
  36. if($this->request->isGet()){
  37. return $this->addInfo();
  38. }
  39. $data = $this->postData();
  40. $data['shop_supplier_id'] = $this->getSupplierId();
  41. $model = new RoleModel();
  42. if ($model->add($data)) {
  43. return $this->renderSuccess('添加成功');
  44. }
  45. return $this->renderError($model->getError() ?:'添加失败');
  46. }
  47. /**
  48. * 修改get数据
  49. */
  50. public function editInfo($role_id)
  51. {
  52. $menu = (new AccessModel())->getList();
  53. $model = RoleModel::detail($role_id);
  54. $select_menu = array_column($model->toArray()['access'], 'access_id');
  55. // 角色列表
  56. $roleList = $model->getTreeData($this->getSupplierId());
  57. return $this->renderSuccess('', compact('model', 'roleList', 'menu', 'select_menu'));
  58. }
  59. /**
  60. * 修改
  61. */
  62. public function edit($role_id)
  63. {
  64. if($this->request->isGet()){
  65. return $this->editInfo($role_id);
  66. }
  67. $data = $this->postData();
  68. if (isset($data['access_id']) && count($data['access_id']) == 0) {
  69. return $this->renderError('请选择权限');
  70. }
  71. $model = RoleModel::detail($role_id);
  72. // 更新记录
  73. if ($model->edit($data)) {
  74. return $this->renderSuccess('更新成功');
  75. }
  76. return $this->renderError($model->getError() ?:'更新失败');
  77. }
  78. /**
  79. * 删除
  80. */
  81. public function delete($role_id)
  82. {
  83. $model = new RoleModel();
  84. if($model->del($role_id)){
  85. return $this->renderSuccess('删除成功');
  86. }
  87. return $this->renderError($model->getError() ?:'删除失败');
  88. }
  89. }