From 4988247336cf3e5c0254a7ca4aa18bd3c8fd4947 Mon Sep 17 00:00:00 2001 From: myqnrrhmn Date: Tue, 1 Jul 2025 10:46:37 +0700 Subject: [PATCH] feat: add chart in overview financial role --- .../Dashboard/DatatableController.php | 2 +- .../Dashboard/MediaOrderController.php | 6 +- .../Dashboard/OverviewController.php | 12 + .../index/process.blade.php | 2 +- .../index/show.blade.php | 2 +- .../dashboard/overview/index-copy.blade.php | 286 ++++++++++++++++++ .../views/dashboard/overview/index.blade.php | 39 +++ resources/views/homepage/index.blade.php | 2 +- .../app/overview-statistics.blade.php | 11 + .../partials/dashboard/sidebar.blade.php | 22 +- .../views/partials/homepage/header.blade.php | 2 +- routes/web.php | 4 +- 12 files changed, 362 insertions(+), 28 deletions(-) create mode 100644 resources/views/dashboard/overview/index-copy.blade.php diff --git a/app/Http/Controllers/Dashboard/DatatableController.php b/app/Http/Controllers/Dashboard/DatatableController.php index 22f7bfa..a2b2f6c 100644 --- a/app/Http/Controllers/Dashboard/DatatableController.php +++ b/app/Http/Controllers/Dashboard/DatatableController.php @@ -2180,7 +2180,7 @@ class="text-dark" // $dropdown .= '
  • Terima
  • '; // } - if (is_role(['1']) && $data->status === '0') { + if (is_role(['1', '5']) && $data->status === '0') { $dropdown .= '
  • Proses
  • '; } diff --git a/app/Http/Controllers/Dashboard/MediaOrderController.php b/app/Http/Controllers/Dashboard/MediaOrderController.php index d74979e..b015536 100644 --- a/app/Http/Controllers/Dashboard/MediaOrderController.php +++ b/app/Http/Controllers/Dashboard/MediaOrderController.php @@ -31,7 +31,11 @@ public function store(OrderRequest $request, $id){ $validatedData = $request->validated(); try{ - $validatedData['image'] = store_file($validatedData['image'], '/uploads/media-orders')['randomFileName']; + if($request->hasFile('image')){ + $validatedData['image'] = store_file($validatedData['image'], '/uploads/media-orders')['randomFileName']; + }else{ + $validatedData['image'] = null; + } $cooperation = Cooperation::findOrFail(decrypt_id($id)); $validatedData['cooperation_id'] = $cooperation->id; diff --git a/app/Http/Controllers/Dashboard/OverviewController.php b/app/Http/Controllers/Dashboard/OverviewController.php index e50c27b..cad5b0d 100644 --- a/app/Http/Controllers/Dashboard/OverviewController.php +++ b/app/Http/Controllers/Dashboard/OverviewController.php @@ -5,6 +5,7 @@ use App\Http\Controllers\Controller; use App\Models\ContentRecap; use App\Models\Cooperation; +use App\Models\CooperationCompletion; use App\Models\IssueManagement; use App\Models\Media; use App\Models\MediaMonitoring; @@ -115,6 +116,17 @@ public function index(){ // Data kalender media order $data['mediaOrders'] = Order::with(['cooperation'])->get(); + }else if(is_role(['5'])){ + + // Statistik Penyelesaian Kerjasama + $cooperationCompletion = CooperationCompletion::all(); + $cooperationCompletionCounts = $cooperationCompletion->groupBy('status')->map(function ($group) { + return $group->count(); + }); + + $data['cooperationCompletionWaiting'] = $cooperationCompletionCounts->get('0', 0); + $data['cooperationCompletionAccepted'] = $cooperationCompletionCounts->get('1', 0); + $data['cooperationCompletionRejected'] = $cooperationCompletionCounts->get('2', 0); } return view('dashboard.overview.index', $data); diff --git a/resources/views/dashboard/cooperation-completions/index/process.blade.php b/resources/views/dashboard/cooperation-completions/index/process.blade.php index 51eae0b..b94700c 100644 --- a/resources/views/dashboard/cooperation-completions/index/process.blade.php +++ b/resources/views/dashboard/cooperation-completions/index/process.blade.php @@ -1,5 +1,5 @@ @include('partials.dashboard.head') -@include('partials.dashboard.sidebar', ['page' => 'cooperations']) +@include('partials.dashboard.sidebar', ['page' => 'cooperation-completions']) @include('partials.dashboard.header')
    diff --git a/resources/views/dashboard/cooperation-completions/index/show.blade.php b/resources/views/dashboard/cooperation-completions/index/show.blade.php index 4ba12c6..74cc234 100644 --- a/resources/views/dashboard/cooperation-completions/index/show.blade.php +++ b/resources/views/dashboard/cooperation-completions/index/show.blade.php @@ -1,5 +1,5 @@ @include('partials.dashboard.head') -@include('partials.dashboard.sidebar', ['page' => 'cooperations']) +@include('partials.dashboard.sidebar', ['page' => 'cooperation-completions']) @include('partials.dashboard.header')
    diff --git a/resources/views/dashboard/overview/index-copy.blade.php b/resources/views/dashboard/overview/index-copy.blade.php new file mode 100644 index 0000000..f0752f3 --- /dev/null +++ b/resources/views/dashboard/overview/index-copy.blade.php @@ -0,0 +1,286 @@ +@include('partials.dashboard.head') +@include('partials.dashboard.sidebar', ['page' => 'overview']) +@include('partials.dashboard.header') + +
    +
    +
    +
    +
    +
    +
    +

    Ikhtisar

    +
    + {{-- {{dd($cooperationRequests)}} --}} +
    +
    + + +
    +
    +
    +
    +
    +
    + @if (is_role(['1'])) +
    +
    +
    +
    +
    +
    +
    Statistik Isu
    +
    +
    +
    + +
    +
      +
    • +
      + + Krisis +
      +
    • +
    • +
      + + Negatif +
      +
    • +
    • +
      + + Netral +
      +
    • +
    • +
      + + Positif +
      +
    • +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    Statistik Kanal Monitoring Media
    +
    +
    +
    + +
    +
      +
    • +
      + + Facebook +
      +
    • +
    • +
      + + Twitter +
      +
    • +
    • +
      + + Website +
      +
    • +
    • +
      + + YouTube +
      +
    • +
    • +
      + + Instagram +
      +
    • +
    • +
      + + TikTok +
      +
    • +
    • +
      + + Cetak +
      +
    • +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    Statistik Media Order
    +
    +
    +
    + +
    +
      +
    • +
      + + Menunggu +
      +
    • +
    • +
      + + Diterima +
      +
    • +
    • +
      + + Ditolak +
      +
    • +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    Statistik Kanal Rekap Konten
    +
    +
    +
    + +
    +
      +
    • +
      + + Facebook +
      +
    • +
    • +
      + + Twitter +
      +
    • +
    • +
      + + Website +
      +
    • +
    • +
      + + YouTube +
      +
    • +
    • +
      + + Instagram +
      +
    • +
    • +
      + + TikTok +
      +
    • +
    • +
      + + Cetak +
      +
    • +
    +
    +
    +
    +
    + @elseif (is_role(['5'])) +
    +
    +
    +
    +
    +
    +
    Statistik Penyelesaian Kerjasama
    +
    +
    +
    + +
    +
      +
    • +
      + + Menunggu +
      +
    • +
    • +
      + + Diterima +
      +
    • +
    • +
      + + Ditolak +
      +
    • +
    +
    +
    +
    +
    + @endif +
    +
    + @if (!is_role(['5'])) +
    +
    +
    +
    +
    +
    +
    + @endif +
    +
    +
    +
    + +@include('partials.dashboard.footer', ['overview_page' => true]) diff --git a/resources/views/dashboard/overview/index.blade.php b/resources/views/dashboard/overview/index.blade.php index e5bc06f..9019a95 100644 --- a/resources/views/dashboard/overview/index.blade.php +++ b/resources/views/dashboard/overview/index.blade.php @@ -229,9 +229,47 @@
    + @elseif (is_role(['5'])) +
    +
    +
    +
    +
    +
    +
    Statistik Penyelesaian Kerjasama
    +
    +
    +
    + +
    +
      +
    • +
      + + Menunggu +
      +
    • +
    • +
      + + Diterima +
      +
    • +
    • +
      + + Ditolak +
      +
    • +
    +
    +
    +
    +
    @endif + @if (!is_role(['5']))
    @@ -239,6 +277,7 @@
    + @endif diff --git a/resources/views/homepage/index.blade.php b/resources/views/homepage/index.blade.php index cf0fe13..4ef3746 100644 --- a/resources/views/homepage/index.blade.php +++ b/resources/views/homepage/index.blade.php @@ -17,7 +17,7 @@ Sistem Media Komunikasi Kabupaten Purwakarta
    - Masuk + {{Auth::check() ? 'Dasbor' : 'Masuk'}}
    diff --git a/resources/views/partials/app/overview-statistics.blade.php b/resources/views/partials/app/overview-statistics.blade.php index c1ce3f9..46b0635 100644 --- a/resources/views/partials/app/overview-statistics.blade.php +++ b/resources/views/partials/app/overview-statistics.blade.php @@ -744,6 +744,17 @@ function ecommerceBarS1(selector, set_data) { data: ["{{ $facebookContentRecap }}", "{{ $twitterContentRecap }}", "{{ $websiteContentRecap }}", "{{ $youtubeContentRecap }}", "{{ $instagramContentRecap }}", "{{ $tiktokContentRecap }}", "{{ $cetakContentRecap }}"] }] }; + @elseif(is_role(['5'])) + var cooperationCompletionsStatistics = { + labels: ["Menunggu", "Diterima", "Ditolak"], + dataUnit: 'Data', + legend: false, + datasets: [{ + borderColor: "#fff", + background: ["#FFB200", "#5CB338", "#E50046"], + data: ["{{$cooperationCompletionWaiting}}", "{{$cooperationCompletionAccepted}}", "{{$cooperationCompletionRejected}}"] + }] + }; @endif function ecommerceDoughnutS1(selector, set_data) { diff --git a/resources/views/partials/dashboard/sidebar.blade.php b/resources/views/partials/dashboard/sidebar.blade.php index 73079af..eea7270 100644 --- a/resources/views/partials/dashboard/sidebar.blade.php +++ b/resources/views/partials/dashboard/sidebar.blade.php @@ -149,32 +149,14 @@ Penyelesaian Kerjasama - {{-- @if (is_role(['1'])) -
  • - - - Media Order - -
  • -
  • - - - Laporan - -
  • -
  • - - - Selesai - -
  • - @endif --}} + @if (!is_role(['5']))
  • Arsip
  • + @endif @if (is_role(['1', '2', '4']))
  • Monitoring
    diff --git a/resources/views/partials/homepage/header.blade.php b/resources/views/partials/homepage/header.blade.php index 82b3c64..be2f6df 100644 --- a/resources/views/partials/homepage/header.blade.php +++ b/resources/views/partials/homepage/header.blade.php @@ -60,7 +60,7 @@ diff --git a/routes/web.php b/routes/web.php index b6a66c2..424c5e0 100644 --- a/routes/web.php +++ b/routes/web.php @@ -474,7 +474,7 @@ }); }); - Route::middleware('role:1,3')->group(function(){ + Route::middleware('role:1,3,5')->group(function(){ Route::prefix('cooperation-completions')->name('cooperation.completions.')->group(function(){ Route::controller(CooperationCompletionController::class)->group(function(){ Route::get('/', 'index')->name('index'); @@ -499,7 +499,7 @@ }); }); - Route::middleware('role:1,3')->group(function(){ + Route::middleware('role:1,3,5')->group(function(){ Route::prefix('cooperation-archives')->name('cooperation.archives.')->group(function(){ Route::controller(CooperationArchiveController::class)->group(function(){ Route::get('/', 'index')->name('index');