Menu.php 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace app\cxinv\controller;
  3. use app\cxinv\model\AdminMenu;
  4. use think\App;use think\facade\Validate;
  5. class Menu extends Base{
  6. protected $noLogin=[
  7. "GetMenuAction" , //功能权限集合 工单调用
  8. ];
  9. public function __construct(App $app) {
  10. parent::__construct($app);
  11. $this->model=new AdminMenu();
  12. }
  13. //获取菜单
  14. public function list(){
  15. $param = $this->request->param(["relaComNo"=>"","level"=>""],"post","trim");
  16. $condition = [
  17. ['status','=',1],
  18. ['is_display','=',1],
  19. ['is_del','=',0]
  20. ];
  21. $action = \app\cxinv\model\UserRole::getAllAction($this->uid,$param['relaComNo'],$this->level);
  22. if(isset($param['level']) && $param['level'] !== '') $condition[] = ['level','in',[0,$param['level']]];
  23. else {
  24. if($this->level == 1) $condition[] = ['level','in',[0,1,2]];
  25. else $condition[] = ['level','in',[0,$this->level]];
  26. }
  27. $list=$this->model->GetMenuByActionArr($action,$condition);
  28. return success("获取成功",$list);
  29. }
  30. public function create(){
  31. $param=$this->request->param(["name"=>"","url"=>"","route"=>"","pid"=>"","level"=>"","img"=>"","is_display"=>"",
  32. "weight"=>"","private"=>"","menu_api"=>"",'id'=>0],"post","trim");
  33. $valid = Validate::rule([
  34. "name|菜单名称"=>"require|max:255",
  35. "url|菜单路由"=>"max:255",
  36. "route|菜单地址"=>"max:255",
  37. "pid|父级id"=>"require|number|egt:0",
  38. "id|菜单id"=>"number|egt:0",
  39. "level|菜单路由"=>"require|number|egt:0",
  40. "is_display|菜单是否显示"=>"require|number|in:0,1",
  41. "weight|菜单排序权重"=>"require|number",
  42. "private|菜单是否私有"=>"require|number|in:0,1",
  43. "img|菜单图标"=>"max:255",
  44. ]);
  45. if(!$valid->check($param)) return error($valid->getError());
  46. $menu=$this->model->findOrEmpty($param['id']);
  47. if($param['id']>0){
  48. if($menu->isEmpty()) return error("菜单不存在");
  49. }
  50. $menu->menu_name = $param['name'];
  51. $menu->menu_url = $param['url'];
  52. $menu->menu_route = $param['route'];
  53. $menu->menu_img = $param['img'];
  54. $menu->pid = $param['pid'];
  55. $menu->is_display = $param['is_display'];
  56. $menu->is_private = $param['private'];
  57. $menu->level = $param['level'];
  58. $menu->weight = $param['weight'];
  59. $menu->menu_api = $param['menu_api'];
  60. $save= $menu->save();
  61. if($save==false) return error("保存失败");
  62. return success('保存成功');
  63. }
  64. //获取功能权限集合
  65. public function GetMenuAction(){
  66. $param = $this->request->param(["level"=>""],"post","trim");
  67. $list=$this->model->GetMenuActionTree();
  68. return success('获取成功',$list);
  69. }
  70. }