diff --git a/app/Http/Controllers/RdController.php b/app/Http/Controllers/RdController.php index 2b9786f9..4efb4ad5 100644 --- a/app/Http/Controllers/RdController.php +++ b/app/Http/Controllers/RdController.php @@ -151,6 +151,32 @@ public function orgChartReorder(Request $request): JsonResponse return response()->json(['success' => true]); } + /** + * 조직도 - 부서 순서 변경 (드래그 앤 드롭) + */ + public function orgChartReorderDepts(Request $request): JsonResponse + { + $request->validate([ + 'orders' => 'required|array', + 'orders.*.id' => 'required|integer', + 'orders.*.parent_id' => 'nullable|integer', + 'orders.*.sort_order' => 'required|integer', + ]); + + $tenantId = session('selected_tenant_id'); + + foreach ($request->orders as $order) { + Department::where('tenant_id', $tenantId) + ->where('id', $order['id']) + ->update([ + 'parent_id' => $order['parent_id'], + 'sort_order' => $order['sort_order'], + ]); + } + + return response()->json(['success' => true]); + } + /** * 중대재해처벌법 실무 점검 */ diff --git a/resources/views/rd/org-chart.blade.php b/resources/views/rd/org-chart.blade.php index ee7254f0..04782c06 100644 --- a/resources/views/rd/org-chart.blade.php +++ b/resources/views/rd/org-chart.blade.php @@ -21,7 +21,7 @@
- 직원 카드를 드래그하여 부서에 배치하거나, 미배치 영역으로 이동할 수 있습니다. 변경은 즉시 저장됩니다. + 직원 카드를 드래그하여 부서에 배치하거나, 미배치 영역으로 이동할 수 있습니다. 부서 카드도 드래그하여 순서를 변경할 수 있습니다. 변경은 즉시 저장됩니다.
@@ -68,12 +68,13 @@ class="px-3 py-1 border border-gray-200 rounded text-xs focus:outline-none focus
-
+
-

+

@@ -92,19 +93,20 @@ class="px-3 py-1 border border-gray-200 rounded text-xs focus:outline-none focus :style="`width: calc(${(rootDepartments.length - 1)} * 240px)`">
- -
+ +