Ken пре 2 недеља
родитељ
комит
1cfe4204fd
1 измењених фајлова са 22 додато и 5 уклоњено
  1. 22 5
      app/Http/Controllers/admin/Menu.php

+ 22 - 5
app/Http/Controllers/admin/Menu.php

@@ -84,9 +84,9 @@ class Menu extends Controller
                 'sort' => 'required|nullable|integer',
             ];
 //            if (empty($id)) {
-                $validator['parent_id'] = ['required', 'integer', 'min:0'];
-                $validator['uri'] = ['required', 'string', 'max:200'];
-                $validator['type'] = ['required', 'integer', 'in:1,2'];
+            $validator['parent_id'] = ['required', 'integer', 'min:0'];
+            $validator['uri'] = ['required', 'string', 'max:200'];
+            $validator['type'] = ['required', 'integer', 'in:1,2'];
 //            }
             $params = request()->validate($validator);
             $ret = MenuService::submit($params);
@@ -114,7 +114,7 @@ class Menu extends Controller
      */
     public function destroy()
     {
-        return $this->error(HttpStatus::CUSTOM_ERROR,'禁止删除');
+        return $this->error(HttpStatus::CUSTOM_ERROR, '禁止删除');
         $id = request()->post('id');
         // 示例:通过 ID 删除菜单
         $info = MenuService::findOne(['id' => $id]);
@@ -150,11 +150,28 @@ class Menu extends Controller
     {
         $search = request()->all();
         $result = MenuService::findAll($search);
-//        $result = list_to_tree($result);
+        $result = list_to_tree($result);
+        $result = $this->treeToList($result);
+
         return $this->success($result);
     }
 
 
+    private function treeToList($result, $newArr = [])
+    {
+
+        foreach ($result as $item) {
+            $data = $item;
+            unset($data['children']);
+            $newArr[] = $item;
+            if (isset($item['children']) && count($item['children']) > 0) {
+                $this->treeToList($item['children'], $newArr);
+            }
+        }
+        return $newArr;
+    }
+
+
     /**
      * @api {get} /admin/menu/mineMenu 我的菜单
      * @apiGroup 菜单管理