Menu.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <?php
  2. namespace app\admin\controller;
  3. use app\admin\common\AdminController;
  4. use app\common\api\MenuApi;
  5. /**
  6. * Description of Menu
  7. *
  8. * @author sgq
  9. */
  10. class Menu extends AdminController {
  11. /**
  12. * @auth {{/menu}}
  13. * @return type
  14. */
  15. function index() {
  16. return view();
  17. }
  18. /**
  19. * @auth {{/menu/list}}
  20. * @return type
  21. */
  22. function list() {
  23. $menus = MenuApi::getList($this->request->param());
  24. return json($menus);
  25. }
  26. /**
  27. * @auth {{/menu/add}}
  28. * @return type
  29. */
  30. function add() {
  31. if ($this->request->isPost()) {
  32. try {
  33. $params = $this->request->param();
  34. validate(\app\admin\validate\Menu::class)->check($params);
  35. if (MenuApi::save($this->request->param())) {
  36. return json(["msg" => "添加成功"]);
  37. }
  38. return json(["msg" => "添加失败"]);
  39. } catch (\think\Exception $e) {
  40. return json(["msg" => $e->getMessage()]);
  41. }
  42. }
  43. return view();
  44. }
  45. /**
  46. * @auth {{/menu/edit}}
  47. * @return type
  48. */
  49. function edit() {
  50. $params = $this->request->param();
  51. $id = $params["id"];
  52. if ($this->request->isPost()) {
  53. try {
  54. if (!$id)
  55. return json(["msg" => "没有选择菜单"]);
  56. validate(\app\admin\validate\Menu::class)->check($params);
  57. if (MenuApi::save($this->request->param())) {
  58. return json(["msg" => "修改成功"]);
  59. }
  60. return json(["msg" => "修改失败"]);
  61. } catch (\think\Exception $e) {
  62. return json(["msg" => $e->getMessage()]);
  63. }
  64. }
  65. $menu = MenuApi::getOne($id);
  66. return view("", ["menu" => $menu]);
  67. }
  68. /**
  69. * @auth {{/menu/remove}}
  70. * @return type
  71. */
  72. function delete() {
  73. if ($this->request->isPost()) {
  74. $id = $this->request->param("id");
  75. if (MenuApi::delete($id))
  76. return json(["msg" => "删除成功"]);
  77. return json(["msg" => "删除失败"]);
  78. }
  79. }
  80. function selectMenuTreeList() {
  81. $list = \app\common\api\MenuApi::getAllMenus("id,code,pcode,name,num,levels,ismenu");
  82. foreach ($list as $key => $item) {
  83. if ($item["pcode"] == "0") {
  84. $list[$key]["open"] = true;
  85. }
  86. }
  87. $format_list[] = ["code" => 0, "pcode" => "", "name" => "顶级", "open" => true, "children" => $list];
  88. return $format_list;
  89. }
  90. /**
  91. * 树形
  92. * @return type
  93. */
  94. function treelist() {
  95. $id = $this->request->param("id");
  96. $list = getTreeList(\app\common\api\MenuApi::getPrivilagesByRoleid($id));
  97. $format_list = [];
  98. foreach ($list as $item) {
  99. $format_list[] = [
  100. "checked" => $item["checked"],
  101. "id" => $item["id"],
  102. "isOpen" => true,
  103. "name" => $item["name"],
  104. "open" => $item["pid"] == 0 ? true : false,
  105. "pId" => $item["pid"]
  106. ];
  107. }
  108. return $format_list;
  109. }
  110. }