Explorar o código

[智价云] 角色详情补充菜单权限信息展示

tangyuanwang hai 2 meses
pai
achega
d82cdddd67
Modificáronse 1 ficheiros con 10 adicións e 3 borrados
  1. 10 3
      app/Http/Controllers/Manager/Personnel/Roles.php

+ 10 - 3
app/Http/Controllers/Manager/Personnel/Roles.php

@@ -6,6 +6,7 @@ use App\Http\Controllers\Controller;
 use App\Http\Requests\Manager\Personnel\Roles as Request;
 use App\Models\Manager\Personnel\Roles as RolesModel;
 use App\Models\Manager\Personnel\Employee as EmployeeModel;
+use App\Models\Manager\Personnel\RolesAuthRule as RolesAuthRuleModel;
 
 /**
  * 人员信息管理-角色管理
@@ -22,7 +23,7 @@ class Roles extends Controller
      * @date      2025-12-05
      * 
      */
-    public function list(Request $request, RolesModel $RolesModel)
+    public function list(Request $request, RolesModel $RolesModel,RolesAuthRuleModel $RolesAuthRuleModel)
     {
         $request->scene('list')->validate();
         // 查询条件
@@ -42,9 +43,13 @@ class Roles extends Controller
         $result = $RolesModel->query()
             ->where($map)
             ->orderByDesc('id')
-            ->paginate($limit);
+            ->paginate($limit)->toArray();
         // 分配数据
         if (!$result)  return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => []]);
+        foreach ($result['data'] as $key => $value) {
+            $menu_ids = $RolesAuthRuleModel->where('role_id', $value['id'])->get(['menu_id'])->toArray();
+            $result['data'][$key]['menu_ids'] = !empty($menu_ids)? array_column($menu_ids,'menu_id') : [];
+        }
         // 加载模板
         return        json_send(['code' => 'success', 'msg' => '获取成功', 'data' => $result]);
     }
@@ -86,7 +91,7 @@ class Roles extends Controller
      * @version   1.0
      * @date      2025-12-05
      */
-    public function detail(Request $request, RolesModel $RolesModel)
+    public function detail(Request $request, RolesModel $RolesModel,RolesAuthRuleModel $RolesAuthRuleModel)
     {
         $request->scene('detail')->validate();
         // 接收参数
@@ -94,6 +99,8 @@ class Roles extends Controller
         $map = ['id' => $id];
         $data = $RolesModel->where($map)->first();
         if (!$data)     return json_send(['code' => 'error', 'msg' => '记录不存在']);
+        $menu_ids = $RolesAuthRuleModel->where('role_id', $id)->get(['menu_id'])->toArray();
+        $data->menu_ids = !empty($menu_ids)? array_column($menu_ids,'menu_id') : [];
         // 加载模板
         return json_send(['code' => 'success', 'msg' => '获取成功', 'data' => $data]);
     }