feat: [org-chart] 부서 숨기기 상태 DB 저장

- departments.options JSON 컬럼에 orgchart_hidden 플래그 저장
- 숨기기/복원 시 API 호출하여 영구 저장
- 페이지 로드 시 DB에서 숨김 상태 복원
This commit is contained in:
김보곤
2026-03-06 20:24:51 +09:00
parent eeb56ae206
commit da20e3552f
4 changed files with 44 additions and 1 deletions

View File

@@ -177,6 +177,33 @@ public function orgChartReorderDepts(Request $request): JsonResponse
return response()->json(['success' => true]);
}
/**
* 조직도 - 부서 숨기기/표시 토글
*/
public function orgChartToggleHide(Request $request): JsonResponse
{
$request->validate([
'department_id' => 'required|integer',
'hidden' => 'required|boolean',
]);
$tenantId = session('selected_tenant_id');
$dept = Department::where('tenant_id', $tenantId)
->where('id', $request->department_id)
->first();
if (! $dept) {
return response()->json(['success' => false, 'message' => '부서를 찾을 수 없습니다.'], 404);
}
$options = $dept->options ?? [];
$options['orgchart_hidden'] = $request->hidden;
$dept->options = $options;
$dept->save();
return response()->json(['success' => true]);
}
/**
* 중대재해처벌법 실무 점검
*/

View File

@@ -26,6 +26,7 @@ class Department extends Model
'parent_id' => 'int',
'is_active' => 'bool',
'sort_order' => 'int',
'options' => 'array',
];
protected $hidden = [