|
@@ -20,43 +20,86 @@ class Menu extends Base
|
|
|
// $this->post =$this->request->post();
|
|
|
}
|
|
|
|
|
|
- public function list()
|
|
|
- {
|
|
|
- $uid = $this->uid;
|
|
|
- if($uid==''){
|
|
|
- return error_show(101,'未找到用户信息');
|
|
|
- }
|
|
|
- $role =$this->checkRole();
|
|
|
-// var_dump($role);
|
|
|
- if(empty($role)){
|
|
|
- return app_show(0,"获取成功",[]);
|
|
|
+// public function list()
|
|
|
+// {
|
|
|
+// $uid = $this->uid;
|
|
|
+// if($uid==''){
|
|
|
+// return error_show(101,'未找到用户信息');
|
|
|
+// }
|
|
|
+// $role =$this->checkRole();
|
|
|
+//// var_dump($role);
|
|
|
+// if(empty($role)){
|
|
|
+// return app_show(0,"获取成功",[]);
|
|
|
+// }
|
|
|
+// $data= Db::name("view_menu")->where('aid',"in",explode(",",$role['action_conllect']))->where(['status'=>1,"cstatus"=>1,"is_display"=>1])
|
|
|
+// ->order("weight desc,id asc,cweight desc,cid asc")->select();
|
|
|
+// $list=[];
|
|
|
+// $act=[];
|
|
|
+// foreach ($data as $value){
|
|
|
+// $list[$value["id"]]['menu_name']=$value['menu_name'];
|
|
|
+// $list[$value["id"]]['menu_img']=$value['menu_img'];
|
|
|
+// $list[$value["id"]]['menu_route']=$value['menu_route'];
|
|
|
+// $list[$value["id"]]['is_display']=$value['is_display'];
|
|
|
+// $list[$value["id"]]['status']=$value['status'];
|
|
|
+// $temp=[];
|
|
|
+// $temp['menu_name']=$value['cname'];
|
|
|
+// $temp['menu_img']=$value['cmenu_img'];
|
|
|
+// $temp['menu_route']=$value['cmenu_route'];
|
|
|
+// $temp['menu_url']=$value['cmenu_url'];
|
|
|
+// $temp['status']=$value['cstatus'];
|
|
|
+// $temp['is_private']=$value['cprivate'];
|
|
|
+// $temp['is_display']=$value['cis_display'];
|
|
|
+// $list[$value["id"]]['child'][$value['cid']]=$temp;
|
|
|
+// $act[$value['id']][$value['cid']][]=$value['acode'];
|
|
|
+// $list[$value["id"]]['child'][$value['cid']]['action']= $act[$value['id']][$value['cid']];
|
|
|
+// }
|
|
|
+// array_walk($list,function (&$value){
|
|
|
+// $value['child']= array_values($value['child']);
|
|
|
+// });
|
|
|
+// return app_show(0,"获取成功",array_values($list));
|
|
|
+// }
|
|
|
+ public function MenuList(){
|
|
|
+ $condition =["status"=>1,"is_del"=>0];
|
|
|
+ if($this->level=='') return json_show(10000,"账户角色账户已禁用",[]);
|
|
|
+ if ($this->level!=1){
|
|
|
+ $role = Db::name("role_action")->where("role_id","=",$this->roleid)->find();
|
|
|
+
|
|
|
+ if($role==false) return json_show(0,"获取成功",[]);
|
|
|
+
|
|
|
+ $action = Db::name("action")
|
|
|
+ ->where(['id'=>explode(",",$role['action_conllect']),"status"=>1,"is_del"=>0])
|
|
|
+ ->column("id,menuid,action_code");
|
|
|
+ if (empty($action)) return json_show(0,"获取成功",[]);
|
|
|
+
|
|
|
+ $MenuAction=[];
|
|
|
+ foreach ($action as $value){
|
|
|
+ $MenuAction[$value['menuid']][]=$value['action_code'];
|
|
|
+ }
|
|
|
+
|
|
|
+ $menuid= array_column($action,"menuid");
|
|
|
+ $condition['id']=$menuid;
|
|
|
+ }else{
|
|
|
+ $action = Db::name("action")->where(["status"=>1,"is_del"=>0])->column("id,action_code,menuid");
|
|
|
+ $MenuAction=[];
|
|
|
+ foreach ($action as $value){
|
|
|
+ $MenuAction[$value['menuid']][]=$value['action_code'];
|
|
|
+ }
|
|
|
+ $menuid= array_column($action,"menuid");
|
|
|
+ $condition['id']=$menuid;
|
|
|
}
|
|
|
- $data= Db::name("view_menu")->where('aid',"in",explode(",",$role['action_conllect']))->where(['status'=>1,"cstatus"=>1,"is_display"=>1])
|
|
|
- ->order("weight desc,id asc,cweight desc,cid asc")->select();
|
|
|
+ $menuAll =Db::name("admin_menu")
|
|
|
+ ->where($condition)
|
|
|
+ ->where("level",">=",$this->level)
|
|
|
+ ->column("id,menu_name,menu_img,menu_route,menu_url,pid,is_show,is_private,menu_type,level,status,weight");
|
|
|
$list=[];
|
|
|
- $act=[];
|
|
|
- foreach ($data as $value){
|
|
|
- $list[$value["id"]]['menu_name']=$value['menu_name'];
|
|
|
- $list[$value["id"]]['menu_img']=$value['menu_img'];
|
|
|
- $list[$value["id"]]['menu_route']=$value['menu_route'];
|
|
|
- $list[$value["id"]]['is_display']=$value['is_display'];
|
|
|
- $list[$value["id"]]['status']=$value['status'];
|
|
|
- $temp=[];
|
|
|
- $temp['menu_name']=$value['cname'];
|
|
|
- $temp['menu_img']=$value['cmenu_img'];
|
|
|
- $temp['menu_route']=$value['cmenu_route'];
|
|
|
- $temp['menu_url']=$value['cmenu_url'];
|
|
|
- $temp['status']=$value['cstatus'];
|
|
|
- $temp['is_private']=$value['cprivate'];
|
|
|
- $temp['is_display']=$value['cis_display'];
|
|
|
- $list[$value["id"]]['child'][$value['cid']]=$temp;
|
|
|
- $act[$value['id']][$value['cid']][]=$value['acode'];
|
|
|
- $list[$value["id"]]['child'][$value['cid']]['action']= $act[$value['id']][$value['cid']];
|
|
|
- }
|
|
|
- array_walk($list,function (&$value){
|
|
|
- $value['child']= array_values($value['child']);
|
|
|
- });
|
|
|
- return app_show(0,"获取成功",array_values($list));
|
|
|
+ foreach ($menuAll as $value){
|
|
|
+ $value['action']=$MenuAction[$value['id']]??[];
|
|
|
+ makeMenu($value,$list);
|
|
|
+ }
|
|
|
+ $keys =array_column($list, 'weight');
|
|
|
+ array_multisort($keys,SORT_DESC,$list);
|
|
|
+ $list=MenuTree($list,0);
|
|
|
+ return json_show(0,"获取成功",$list);
|
|
|
}
|
|
|
|
|
|
/**
|