Kaynağa Gözat

公司初始化

cqp 1 ay önce
ebeveyn
işleme
2086c48b29

+ 3 - 1
app/Model/SysMenu.php

@@ -7,9 +7,11 @@ use Illuminate\Database\Eloquent\Model;
 class SysMenu extends Model
 {
     protected $guarded = [];
-    protected $table = "sys_menu"; //指定表
+    protected $table = "sys_menu_copy1"; //指定表
     const CREATED_AT = 'crt_time';
     const UPDATED_AT = 'upd_time';
     protected $dateFormat = 'U';
 
+    const type_zero = 0; // 正常用户菜单
+    const type_one = 1; // 中台菜单
 }

+ 35 - 9
app/Service/MiddleGroundService.php

@@ -304,20 +304,46 @@ class MiddleGroundService extends Service
 
     // 菜单
     public function menuList($data, $user){
-        $sysList = SysMenu::where('del_time',0)
-            ->select('title','icon','uri','parent_id','sort','id','is_authority', 'state')
-            ->orderBy('sort','desc')
-            ->get()
-            ->toArray();
-        $button = SysMenuButton::where('del_time',0)
-            ->select('id','title','sort','func','menu_id')
-            ->get()->toArray();
+        $type = $data['type'] ?? "";
+
+        if(empty($type)){
+            //权限
+            $sysList = SysMenu::where('del_time',0)
+                ->where('type', SysMenu::type_zero)
+                ->select('title','icon','uri','parent_id','sort','id','is_authority', 'state')
+                ->orderBy('sort','desc')
+                ->get()
+                ->toArray();
+            $button = SysMenuButton::where('del_time',0)
+                ->select('id','title','sort','func','menu_id')
+                ->get()->toArray();
+
+            $return = $this->fillMenuButton($button,$sysList, $user);
+        }else{
+            $sysList = SysMenu::where('del_time',0)
+                ->where('type', SysMenu::type_one)
+                ->select('title','icon','uri','parent_id','sort','id','is_authority', 'state')
+                ->orderBy('sort','desc')
+                ->get()
+                ->toArray();
+            //侧边栏
+            $return = $this->returnTwo($sysList, $user);
+        }
 
-        $return = $this->fillMenuButton($button,$sysList, $user);
 
         return [true, $return];
     }
 
+    private function returnTwo($sysList, $user){
+        foreach ($sysList as $key => $value){
+            if($value['state'] <= 0) unset($sysList[$key]);
+        }
+        $list = array_values($sysList);
+        $return = $this->makeTree(0,$list);
+
+        return $this->set_sort_circle($return);;
+    }
+
     public function fillMenuButton($button, $menu, $user)
     {
         // 1. 预处理所有按钮池(合并配置中的特殊按钮)

+ 1 - 0
app/Service/SysMenuService.php

@@ -148,6 +148,7 @@ class SysMenuService extends Service
         $type = $data['type'] ?? "";
 
         $sysList = SysMenu::where('del_time',0)
+            ->where('type', SysMenu::type_zero)
             ->select('title','icon','uri','parent_id','sort','id','is_authority', 'state')
             ->orderBy('sort','desc')
             ->get()