Membuat Fitur Dashboard Admin & Memperbaiki Sidebar
-Memperbaiki fitur event click dashboard admin dan mahasiswa -Membuat fitur dashboard admin dengan chart pie untuk rm dan km. Serta menambahkan fitur bar chart untuk total mahasiswa per angkatan
This commit is contained in:
parent
0c68b44dff
commit
79fcc4e6b5
|
@ -3,21 +3,36 @@
|
|||
namespace App\Http\Controllers\AdminBackend;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Hasil;
|
||||
use App\Models\User;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class AdminDashboardController extends Controller
|
||||
{
|
||||
//
|
||||
public function index(){
|
||||
return view('admin_backend.admin_dashboard');
|
||||
public function index()
|
||||
{
|
||||
$angkatanCounts = User::select('angkatan', DB::raw('count(*) as total'))
|
||||
->groupBy('angkatan')
|
||||
->orderBy('angkatan', 'desc')
|
||||
->get();
|
||||
$kmCounts = Hasil::select('km_class', DB::raw('count(*) as total'))
|
||||
->groupBy('km_class')
|
||||
->orderByRaw("FIELD(km_class, 'High', 'Medium', 'Low')")
|
||||
->get();
|
||||
$rmCounts = Hasil::select('rm_class', DB::raw('count(*) as total'))
|
||||
->groupBy('rm_class')
|
||||
->orderByRaw("FIELD(rm_class, 'High', 'Medium', 'Low')")
|
||||
->get();
|
||||
return view('admin_backend.admin_dashboard', compact('angkatanCounts', 'kmCounts', 'rmCounts'));
|
||||
}
|
||||
|
||||
public function hasRole($id)
|
||||
{
|
||||
foreach ($this->users as $user)
|
||||
{
|
||||
if ($user->kelas_user == $id) return true;
|
||||
}
|
||||
// foreach ($this->users as $user) {
|
||||
// if ($user->kelas_user == $id) return true;
|
||||
// }
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ class AdminPeriodController extends Controller
|
|||
|
||||
public function index()
|
||||
{
|
||||
$periods = Periode::get();
|
||||
$periods = Periode::orderBy('id', 'desc')->get();
|
||||
$selectPeriod = PilihPeriode::first();
|
||||
if (!$selectPeriod->id_periode) {
|
||||
$selectPeriod->id_periode = 'Belum Ditambahkan';
|
||||
|
@ -23,7 +23,7 @@ public function index()
|
|||
} else {
|
||||
$checkPeriod->semester = 'Genap';
|
||||
}
|
||||
$selectPeriod->id_periode = $checkPeriod->semester . ' ' . $checkPeriod->tahun;
|
||||
$selectPeriod->period = $checkPeriod->semester . ' ' . $checkPeriod->tahun;
|
||||
}
|
||||
|
||||
return view('admin_backend.admin_period', compact('periods', 'selectPeriod'));
|
||||
|
|
|
@ -13,6 +13,9 @@ public function update(Request $request)
|
|||
{
|
||||
$id = $request->id_periode;
|
||||
$pilihPeriode = PilihPeriode::first();
|
||||
if ($pilihPeriode->id_periode == $id) {
|
||||
return redirect()->route('adminPeriod.index')->with('error', 'Periode kuesioner yang dipilih sama dengan sebelumnya');
|
||||
}
|
||||
$pilihPeriode->id_periode = $id;
|
||||
$pilihPeriode->aktif = '0';
|
||||
$pilihPeriode->update();
|
||||
|
|
|
@ -51,10 +51,8 @@ @media (max-width: 1199px) {
|
|||
#main {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
.right {
|
||||
float: right;
|
||||
width: max-content;
|
||||
|
|
|
@ -7,645 +7,145 @@
|
|||
<h1>Admin Dashboard</h1>
|
||||
<nav>
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="/admin">Home</a></li>
|
||||
<li class="breadcrumb-item">Home</li>
|
||||
<li class="breadcrumb-item active">Admin Dashboard</li>
|
||||
</ol>
|
||||
</nav>
|
||||
</div><!-- End Page Title -->
|
||||
|
||||
<section class="section dashboard">
|
||||
<div class="row">
|
||||
|
||||
<!-- Left side columns -->
|
||||
<div class="col-lg-8">
|
||||
<div class="row">
|
||||
|
||||
<!-- Sales Card -->
|
||||
<div class="col-xxl-4 col-md-6">
|
||||
<div class="card info-card sales-card">
|
||||
|
||||
<div class="filter">
|
||||
<a class="icon" href="#" data-bs-toggle="dropdown"><i class="bi bi-three-dots"></i></a>
|
||||
<ul class="dropdown-menu dropdown-menu-end dropdown-menu-arrow">
|
||||
<li class="dropdown-header text-start">
|
||||
<h6>Filter</h6>
|
||||
</li>
|
||||
|
||||
<li><a class="dropdown-item" href="#">Today</a></li>
|
||||
<li><a class="dropdown-item" href="#">This Month</a></li>
|
||||
<li><a class="dropdown-item" href="#">This Year</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Sales <span>| Today</span></h5>
|
||||
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="card-icon rounded-circle d-flex align-items-center justify-content-center">
|
||||
<i class="bi bi-cart"></i>
|
||||
</div>
|
||||
<div class="ps-3">
|
||||
<h6>145</h6>
|
||||
<span class="text-success small pt-1 fw-bold">12%</span> <span class="text-muted small pt-2 ps-1">increase</span>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div><!-- End Sales Card -->
|
||||
|
||||
<!-- Revenue Card -->
|
||||
<div class="col-xxl-4 col-md-6">
|
||||
<div class="card info-card revenue-card">
|
||||
|
||||
<div class="filter">
|
||||
<a class="icon" href="#" data-bs-toggle="dropdown"><i class="bi bi-three-dots"></i></a>
|
||||
<ul class="dropdown-menu dropdown-menu-end dropdown-menu-arrow">
|
||||
<li class="dropdown-header text-start">
|
||||
<h6>Filter</h6>
|
||||
</li>
|
||||
|
||||
<li><a class="dropdown-item" href="#">Today</a></li>
|
||||
<li><a class="dropdown-item" href="#">This Month</a></li>
|
||||
<li><a class="dropdown-item" href="#">This Year</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Revenue <span>| This Month</span></h5>
|
||||
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="card-icon rounded-circle d-flex align-items-center justify-content-center">
|
||||
<i class="bi bi-currency-dollar"></i>
|
||||
</div>
|
||||
<div class="ps-3">
|
||||
<h6>$3,264</h6>
|
||||
<span class="text-success small pt-1 fw-bold">8%</span> <span class="text-muted small pt-2 ps-1">increase</span>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div><!-- End Revenue Card -->
|
||||
|
||||
<!-- Customers Card -->
|
||||
<div class="col-xxl-4 col-xl-12">
|
||||
|
||||
<div class="card info-card customers-card">
|
||||
|
||||
<div class="filter">
|
||||
<a class="icon" href="#" data-bs-toggle="dropdown"><i class="bi bi-three-dots"></i></a>
|
||||
<ul class="dropdown-menu dropdown-menu-end dropdown-menu-arrow">
|
||||
<li class="dropdown-header text-start">
|
||||
<h6>Filter</h6>
|
||||
</li>
|
||||
|
||||
<li><a class="dropdown-item" href="#">Today</a></li>
|
||||
<li><a class="dropdown-item" href="#">This Month</a></li>
|
||||
<li><a class="dropdown-item" href="#">This Year</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Customers <span>| This Year</span></h5>
|
||||
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="card-icon rounded-circle d-flex align-items-center justify-content-center">
|
||||
<i class="bi bi-people"></i>
|
||||
</div>
|
||||
<div class="ps-3">
|
||||
<h6>1244</h6>
|
||||
<span class="text-danger small pt-1 fw-bold">12%</span> <span class="text-muted small pt-2 ps-1">decrease</span>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div><!-- End Customers Card -->
|
||||
|
||||
<!-- Reports -->
|
||||
<div class="col-12">
|
||||
<div class="container-fluid row">
|
||||
<!-- RM Pie Chart -->
|
||||
<div class="col-6">
|
||||
<div class=" card">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Knowledge of Metacognitif (KM)</h5>
|
||||
<div id="kmPieChart"></div>
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
let kmCounts = @json($kmCounts);
|
||||
|
||||
<div class="filter">
|
||||
<a class="icon" href="#" data-bs-toggle="dropdown"><i class="bi bi-three-dots"></i></a>
|
||||
<ul class="dropdown-menu dropdown-menu-end dropdown-menu-arrow">
|
||||
<li class="dropdown-header text-start">
|
||||
<h6>Filter</h6>
|
||||
</li>
|
||||
|
||||
<li><a class="dropdown-item" href="#">Today</a></li>
|
||||
<li><a class="dropdown-item" href="#">This Month</a></li>
|
||||
<li><a class="dropdown-item" href="#">This Year</a></li>
|
||||
</ul>
|
||||
let kmClass = kmCounts.map(function(item) {
|
||||
return item.km_class.toString();
|
||||
});
|
||||
let kmTotal = kmCounts.map(function(item) {
|
||||
return item.total;
|
||||
});
|
||||
new ApexCharts(document.querySelector("#kmPieChart"), {
|
||||
series: kmTotal,
|
||||
chart: {
|
||||
height: 350,
|
||||
type: 'pie',
|
||||
toolbar: {
|
||||
show: false
|
||||
}
|
||||
},
|
||||
labels: ['High', 'Medium', 'Low'],
|
||||
colors: ['#00e396', '#F8DC1A', '#FA240C']
|
||||
}).render();
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- KM Pie Chart -->
|
||||
<div class="col-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Reports <span>/Today</span></h5>
|
||||
<h5 class="card-title">Regulation of Metacognitif (RM)</h5>
|
||||
<div id="rmPieChart"></div>
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
let rmCounts = @json($rmCounts);
|
||||
|
||||
<!-- Line Chart -->
|
||||
<div id="reportsChart"></div>
|
||||
let rmClass = rmCounts.map(function(item) {
|
||||
return item.rm_class.toString();
|
||||
});
|
||||
let rmTotal = rmCounts.map(function(item) {
|
||||
return item.total;
|
||||
});
|
||||
new ApexCharts(document.querySelector("#rmPieChart"), {
|
||||
series: [13, 43, 22],
|
||||
chart: {
|
||||
height: 350,
|
||||
type: 'pie',
|
||||
toolbar: {
|
||||
show: false
|
||||
}
|
||||
},
|
||||
labels: ['High', 'Medium', 'Low'],
|
||||
colors: ['#00e396', '#F8DC1A', '#FA240C']
|
||||
}).render();
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Jumlah Mahasiswa per Angkatan</h5>
|
||||
<div id="barChart"></div>
|
||||
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
new ApexCharts(document.querySelector("#reportsChart"), {
|
||||
let angkatanCounts = @json($angkatanCounts);
|
||||
|
||||
let categories = angkatanCounts.map(function(item) {
|
||||
return item.angkatan.toString();
|
||||
});
|
||||
let data = angkatanCounts.map(function(item) {
|
||||
return item.total;
|
||||
});
|
||||
new ApexCharts(document.querySelector("#barChart"), {
|
||||
series: [{
|
||||
name: 'Sales',
|
||||
data: [31, 40, 28, 51, 42, 82, 56],
|
||||
}, {
|
||||
name: 'Revenue',
|
||||
data: [11, 32, 45, 32, 34, 52, 41]
|
||||
}, {
|
||||
name: 'Customers',
|
||||
data: [15, 11, 32, 18, 9, 24, 11]
|
||||
data: data
|
||||
}],
|
||||
chart: {
|
||||
height: 350,
|
||||
type: 'area',
|
||||
type: 'bar',
|
||||
// height: 400,
|
||||
toolbar: {
|
||||
show: false
|
||||
}
|
||||
},
|
||||
},
|
||||
markers: {
|
||||
size: 4
|
||||
},
|
||||
colors: ['#4154f1', '#2eca6a', '#ff771d'],
|
||||
fill: {
|
||||
type: "gradient",
|
||||
gradient: {
|
||||
shadeIntensity: 1,
|
||||
opacityFrom: 0.3,
|
||||
opacityTo: 0.4,
|
||||
stops: [0, 90, 100]
|
||||
plotOptions: {
|
||||
bar: {
|
||||
borderRadius: 4,
|
||||
horizontal: true,
|
||||
}
|
||||
},
|
||||
dataLabels: {
|
||||
enabled: false
|
||||
},
|
||||
stroke: {
|
||||
curve: 'smooth',
|
||||
width: 2
|
||||
enabled: true, // Aktifkan dataLabels
|
||||
formatter: function(val) {
|
||||
return val; // Menampilkan nilai data pada teks
|
||||
}
|
||||
},
|
||||
xaxis: {
|
||||
type: 'datetime',
|
||||
categories: ["2018-09-19T00:00:00.000Z", "2018-09-19T01:30:00.000Z", "2018-09-19T02:30:00.000Z", "2018-09-19T03:30:00.000Z", "2018-09-19T04:30:00.000Z", "2018-09-19T05:30:00.000Z", "2018-09-19T06:30:00.000Z"]
|
||||
},
|
||||
tooltip: {
|
||||
x: {
|
||||
format: 'dd/MM/yy HH:mm'
|
||||
},
|
||||
categories: categories,
|
||||
}
|
||||
}).render();
|
||||
});
|
||||
</script>
|
||||
<!-- End Line Chart -->
|
||||
|
||||
<!-- End Bar Chart -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div><!-- End Reports -->
|
||||
|
||||
<!-- Recent Sales -->
|
||||
<div class="col-12">
|
||||
<div class="card recent-sales overflow-auto">
|
||||
|
||||
<div class="filter">
|
||||
<a class="icon" href="#" data-bs-toggle="dropdown"><i class="bi bi-three-dots"></i></a>
|
||||
<ul class="dropdown-menu dropdown-menu-end dropdown-menu-arrow">
|
||||
<li class="dropdown-header text-start">
|
||||
<h6>Filter</h6>
|
||||
</li>
|
||||
|
||||
<li><a class="dropdown-item" href="#">Today</a></li>
|
||||
<li><a class="dropdown-item" href="#">This Month</a></li>
|
||||
<li><a class="dropdown-item" href="#">This Year</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Recent Sales <span>| Today</span></h5>
|
||||
|
||||
<table class="table table-borderless datatable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">#</th>
|
||||
<th scope="col">Customer</th>
|
||||
<th scope="col">Product</th>
|
||||
<th scope="col">Price</th>
|
||||
<th scope="col">Status</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row"><a href="#">#2457</a></th>
|
||||
<td>Brandon Jacob</td>
|
||||
<td><a href="#" class="text-primary">At praesentium minu</a></td>
|
||||
<td>$64</td>
|
||||
<td><span class="badge bg-success">Approved</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><a href="#">#2147</a></th>
|
||||
<td>Bridie Kessler</td>
|
||||
<td><a href="#" class="text-primary">Blanditiis dolor omnis similique</a></td>
|
||||
<td>$47</td>
|
||||
<td><span class="badge bg-warning">Pending</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><a href="#">#2049</a></th>
|
||||
<td>Ashleigh Langosh</td>
|
||||
<td><a href="#" class="text-primary">At recusandae consectetur</a></td>
|
||||
<td>$147</td>
|
||||
<td><span class="badge bg-success">Approved</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><a href="#">#2644</a></th>
|
||||
<td>Angus Grady</td>
|
||||
<td><a href="#" class="text-primar">Ut voluptatem id earum et</a></td>
|
||||
<td>$67</td>
|
||||
<td><span class="badge bg-danger">Rejected</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><a href="#">#2644</a></th>
|
||||
<td>Raheem Lehner</td>
|
||||
<td><a href="#" class="text-primary">Sunt similique distinctio</a></td>
|
||||
<td>$165</td>
|
||||
<td><span class="badge bg-success">Approved</span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div><!-- End Recent Sales -->
|
||||
|
||||
<!-- Top Selling -->
|
||||
<div class="col-12">
|
||||
<div class="card top-selling overflow-auto">
|
||||
|
||||
<div class="filter">
|
||||
<a class="icon" href="#" data-bs-toggle="dropdown"><i class="bi bi-three-dots"></i></a>
|
||||
<ul class="dropdown-menu dropdown-menu-end dropdown-menu-arrow">
|
||||
<li class="dropdown-header text-start">
|
||||
<h6>Filter</h6>
|
||||
</li>
|
||||
|
||||
<li><a class="dropdown-item" href="#">Today</a></li>
|
||||
<li><a class="dropdown-item" href="#">This Month</a></li>
|
||||
<li><a class="dropdown-item" href="#">This Year</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="card-body pb-0">
|
||||
<h5 class="card-title">Top Selling <span>| Today</span></h5>
|
||||
|
||||
<table class="table table-borderless">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Preview</th>
|
||||
<th scope="col">Product</th>
|
||||
<th scope="col">Price</th>
|
||||
<th scope="col">Sold</th>
|
||||
<th scope="col">Revenue</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row"><a href="#"><img src="{{ asset('admin_backend/assets/img/product-1.jpg')}}" alt=""></a></th>
|
||||
<td><a href="#" class="text-primary fw-bold">Ut inventore ipsa voluptas nulla</a></td>
|
||||
<td>$64</td>
|
||||
<td class="fw-bold">124</td>
|
||||
<td>$5,828</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><a href="#"><img src="{{ asset('admin_backend/assets/img/product-2.jpg')}}" alt=""></a></th>
|
||||
<td><a href="#" class="text-primary fw-bold">Exercitationem similique doloremque</a></td>
|
||||
<td>$46</td>
|
||||
<td class="fw-bold">98</td>
|
||||
<td>$4,508</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><a href="#"><img src="{{ asset('admin_backend/assets/img/product-3.jpg')}}" alt=""></a></th>
|
||||
<td><a href="#" class="text-primary fw-bold">Doloribus nisi exercitationem</a></td>
|
||||
<td>$59</td>
|
||||
<td class="fw-bold">74</td>
|
||||
<td>$4,366</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><a href="#"><img src="{{ asset('admin_backend/assets/img/product-4.jpg')}}" alt=""></a></th>
|
||||
<td><a href="#" class="text-primary fw-bold">Officiis quaerat sint rerum error</a></td>
|
||||
<td>$32</td>
|
||||
<td class="fw-bold">63</td>
|
||||
<td>$2,016</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><a href="#"><img src="{{ asset('admin_backend/assets/img/product-5.jpg')}}" alt=""></a></th>
|
||||
<td><a href="#" class="text-primary fw-bold">Sit unde debitis delectus repellendus</a></td>
|
||||
<td>$79</td>
|
||||
<td class="fw-bold">41</td>
|
||||
<td>$3,239</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div><!-- End Top Selling -->
|
||||
|
||||
</div>
|
||||
</div><!-- End Left side columns -->
|
||||
|
||||
<!-- Right side columns -->
|
||||
<div class="col-lg-4">
|
||||
|
||||
<!-- Recent Activity -->
|
||||
<div class="card">
|
||||
<div class="filter">
|
||||
<a class="icon" href="#" data-bs-toggle="dropdown"><i class="bi bi-three-dots"></i></a>
|
||||
<ul class="dropdown-menu dropdown-menu-end dropdown-menu-arrow">
|
||||
<li class="dropdown-header text-start">
|
||||
<h6>Filter</h6>
|
||||
</li>
|
||||
|
||||
<li><a class="dropdown-item" href="#">Today</a></li>
|
||||
<li><a class="dropdown-item" href="#">This Month</a></li>
|
||||
<li><a class="dropdown-item" href="#">This Year</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Recent Activity <span>| Today</span></h5>
|
||||
|
||||
<div class="activity">
|
||||
|
||||
<div class="activity-item d-flex">
|
||||
<div class="activite-label">32 min</div>
|
||||
<i class='bi bi-circle-fill activity-badge text-success align-self-start'></i>
|
||||
<div class="activity-content">
|
||||
Quia quae rerum <a href="#" class="fw-bold text-dark">explicabo officiis</a> beatae
|
||||
</div>
|
||||
</div><!-- End activity item-->
|
||||
|
||||
<div class="activity-item d-flex">
|
||||
<div class="activite-label">56 min</div>
|
||||
<i class='bi bi-circle-fill activity-badge text-danger align-self-start'></i>
|
||||
<div class="activity-content">
|
||||
Voluptatem blanditiis blanditiis eveniet
|
||||
</div>
|
||||
</div><!-- End activity item-->
|
||||
|
||||
<div class="activity-item d-flex">
|
||||
<div class="activite-label">2 hrs</div>
|
||||
<i class='bi bi-circle-fill activity-badge text-primary align-self-start'></i>
|
||||
<div class="activity-content">
|
||||
Voluptates corrupti molestias voluptatem
|
||||
</div>
|
||||
</div><!-- End activity item-->
|
||||
|
||||
<div class="activity-item d-flex">
|
||||
<div class="activite-label">1 day</div>
|
||||
<i class='bi bi-circle-fill activity-badge text-info align-self-start'></i>
|
||||
<div class="activity-content">
|
||||
Tempore autem saepe <a href="#" class="fw-bold text-dark">occaecati voluptatem</a> tempore
|
||||
</div>
|
||||
</div><!-- End activity item-->
|
||||
|
||||
<div class="activity-item d-flex">
|
||||
<div class="activite-label">2 days</div>
|
||||
<i class='bi bi-circle-fill activity-badge text-warning align-self-start'></i>
|
||||
<div class="activity-content">
|
||||
Est sit eum reiciendis exercitationem
|
||||
</div>
|
||||
</div><!-- End activity item-->
|
||||
|
||||
<div class="activity-item d-flex">
|
||||
<div class="activite-label">4 weeks</div>
|
||||
<i class='bi bi-circle-fill activity-badge text-muted align-self-start'></i>
|
||||
<div class="activity-content">
|
||||
Dicta dolorem harum nulla eius. Ut quidem quidem sit quas
|
||||
</div>
|
||||
</div><!-- End activity item-->
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div><!-- End Recent Activity -->
|
||||
|
||||
<!-- Budget Report -->
|
||||
<div class="card">
|
||||
<div class="filter">
|
||||
<a class="icon" href="#" data-bs-toggle="dropdown"><i class="bi bi-three-dots"></i></a>
|
||||
<ul class="dropdown-menu dropdown-menu-end dropdown-menu-arrow">
|
||||
<li class="dropdown-header text-start">
|
||||
<h6>Filter</h6>
|
||||
</li>
|
||||
|
||||
<li><a class="dropdown-item" href="#">Today</a></li>
|
||||
<li><a class="dropdown-item" href="#">This Month</a></li>
|
||||
<li><a class="dropdown-item" href="#">This Year</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="card-body pb-0">
|
||||
<h5 class="card-title">Budget Report <span>| This Month</span></h5>
|
||||
|
||||
<div id="budgetChart" style="min-height: 400px;" class="echart"></div>
|
||||
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
var budgetChart = echarts.init(document.querySelector("#budgetChart")).setOption({
|
||||
legend: {
|
||||
data: ['Allocated Budget', 'Actual Spending']
|
||||
},
|
||||
radar: {
|
||||
// shape: 'circle',
|
||||
indicator: [{
|
||||
name: 'Sales',
|
||||
max: 6500
|
||||
},
|
||||
{
|
||||
name: 'Administration',
|
||||
max: 16000
|
||||
},
|
||||
{
|
||||
name: 'Information Technology',
|
||||
max: 30000
|
||||
},
|
||||
{
|
||||
name: 'Customer Support',
|
||||
max: 38000
|
||||
},
|
||||
{
|
||||
name: 'Development',
|
||||
max: 52000
|
||||
},
|
||||
{
|
||||
name: 'Marketing',
|
||||
max: 25000
|
||||
}
|
||||
]
|
||||
},
|
||||
series: [{
|
||||
name: 'Budget vs spending',
|
||||
type: 'radar',
|
||||
data: [{
|
||||
value: [4200, 3000, 20000, 35000, 50000, 18000],
|
||||
name: 'Allocated Budget'
|
||||
},
|
||||
{
|
||||
value: [5000, 14000, 28000, 26000, 42000, 21000],
|
||||
name: 'Actual Spending'
|
||||
}
|
||||
]
|
||||
}]
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
</div><!-- End Budget Report -->
|
||||
|
||||
<!-- Website Traffic -->
|
||||
<div class="card">
|
||||
<div class="filter">
|
||||
<a class="icon" href="#" data-bs-toggle="dropdown"><i class="bi bi-three-dots"></i></a>
|
||||
<ul class="dropdown-menu dropdown-menu-end dropdown-menu-arrow">
|
||||
<li class="dropdown-header text-start">
|
||||
<h6>Filter</h6>
|
||||
</li>
|
||||
|
||||
<li><a class="dropdown-item" href="#">Today</a></li>
|
||||
<li><a class="dropdown-item" href="#">This Month</a></li>
|
||||
<li><a class="dropdown-item" href="#">This Year</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="card-body pb-0">
|
||||
<h5 class="card-title">Website Traffic <span>| Today</span></h5>
|
||||
|
||||
<div id="trafficChart" style="min-height: 400px;" class="echart"></div>
|
||||
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", () => {
|
||||
echarts.init(document.querySelector("#trafficChart")).setOption({
|
||||
tooltip: {
|
||||
trigger: 'item'
|
||||
},
|
||||
legend: {
|
||||
top: '5%',
|
||||
left: 'center'
|
||||
},
|
||||
series: [{
|
||||
name: 'Access From',
|
||||
type: 'pie',
|
||||
radius: ['40%', '70%'],
|
||||
avoidLabelOverlap: false,
|
||||
label: {
|
||||
show: false,
|
||||
position: 'center'
|
||||
},
|
||||
emphasis: {
|
||||
label: {
|
||||
show: true,
|
||||
fontSize: '18',
|
||||
fontWeight: 'bold'
|
||||
}
|
||||
},
|
||||
labelLine: {
|
||||
show: false
|
||||
},
|
||||
data: [{
|
||||
value: 1048,
|
||||
name: 'Search Engine'
|
||||
},
|
||||
{
|
||||
value: 735,
|
||||
name: 'Direct'
|
||||
},
|
||||
{
|
||||
value: 580,
|
||||
name: 'Email'
|
||||
},
|
||||
{
|
||||
value: 484,
|
||||
name: 'Union Ads'
|
||||
},
|
||||
{
|
||||
value: 300,
|
||||
name: 'Video Ads'
|
||||
}
|
||||
]
|
||||
}]
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
</div>
|
||||
</div><!-- End Website Traffic -->
|
||||
|
||||
<!-- News & Updates Traffic -->
|
||||
<div class="card">
|
||||
<div class="filter">
|
||||
<a class="icon" href="#" data-bs-toggle="dropdown"><i class="bi bi-three-dots"></i></a>
|
||||
<ul class="dropdown-menu dropdown-menu-end dropdown-menu-arrow">
|
||||
<li class="dropdown-header text-start">
|
||||
<h6>Filter</h6>
|
||||
</li>
|
||||
|
||||
<li><a class="dropdown-item" href="#">Today</a></li>
|
||||
<li><a class="dropdown-item" href="#">This Month</a></li>
|
||||
<li><a class="dropdown-item" href="#">This Year</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="card-body pb-0">
|
||||
<h5 class="card-title">News & Updates <span>| Today</span></h5>
|
||||
|
||||
<div class="news">
|
||||
<div class="post-item clearfix">
|
||||
<img src="{{ asset('admin_backend/assets/img/news-1.jpg')}}" alt="">
|
||||
<h4><a href="#">Nihil blanditiis at in nihil autem</a></h4>
|
||||
<p>Sit recusandae non aspernatur laboriosam. Quia enim eligendi sed ut harum...</p>
|
||||
</div>
|
||||
|
||||
<div class="post-item clearfix">
|
||||
<img src="{{ asset('admin_backend/assets/img/news-2.jpg')}}" alt="">
|
||||
<h4><a href="#">Quidem autem et impedit</a></h4>
|
||||
<p>Illo nemo neque maiores vitae officiis cum eum turos elan dries werona nande...</p>
|
||||
</div>
|
||||
|
||||
<div class="post-item clearfix">
|
||||
<img src="{{ asset('admin_backend/assets/img/news-3.jpg')}}" alt="">
|
||||
<h4><a href="#">Id quia et et ut maxime similique occaecati ut</a></h4>
|
||||
<p>Fugiat voluptas vero eaque accusantium eos. Consequuntur sed ipsam et totam...</p>
|
||||
</div>
|
||||
|
||||
<div class="post-item clearfix">
|
||||
<img src="{{ asset('admin_backend/assets/img/news-4.jpg')}}" alt="">
|
||||
<h4><a href="#">Laborum corporis quo dara net para</a></h4>
|
||||
<p>Qui enim quia optio. Eligendi aut asperiores enim repellendusvel rerum cuder...</p>
|
||||
</div>
|
||||
|
||||
<div class="post-item clearfix">
|
||||
<img src="{{ asset('admin_backend/assets/img/news-5.jpg')}}" alt="">
|
||||
<h4><a href="#">Et dolores corrupti quae illo quod dolor</a></h4>
|
||||
<p>Odit ut eveniet modi reiciendis. Atque cupiditate libero beatae dignissimos eius...</p>
|
||||
</div>
|
||||
|
||||
</div><!-- End sidebar recent posts-->
|
||||
|
||||
</div>
|
||||
</div><!-- End News & Updates -->
|
||||
|
||||
</div><!-- End Right side columns -->
|
||||
|
||||
</div>
|
||||
</section>
|
||||
|
||||
</main><!-- End #main -->
|
||||
</main>
|
||||
<!-- End #main -->
|
||||
@endsection
|
||||
@section('script')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$("#sidebar-dashboard").removeClass("collapsed");
|
||||
});
|
||||
</script>
|
||||
@endsection
|
|
@ -106,3 +106,12 @@
|
|||
|
||||
</main><!-- End #main -->
|
||||
@endsection
|
||||
@section('script')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$("#sidebar-listperson").removeClass("collapsed");
|
||||
$("#users-nav").addClass("show");
|
||||
$("#sidebar-item-listadmin").addClass("active");
|
||||
});
|
||||
</script>
|
||||
@endsection
|
|
@ -59,3 +59,13 @@
|
|||
|
||||
</main><!-- End #main -->
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$("#sidebar-listperson").removeClass("collapsed");
|
||||
$("#users-nav").addClass("show");
|
||||
$("#sidebar-item-listuser").addClass("active");
|
||||
});
|
||||
</script>
|
||||
@endsection
|
|
@ -19,7 +19,7 @@
|
|||
<div class="d-flex justify-content-center">
|
||||
<div class="border border-2 rounded p-2 text-center">
|
||||
<h6>Periode Terpilih</h6>
|
||||
<div class="pt-2 border-bottom"><h6 style="font-weight: bold">{{ $selectPeriod->id_periode }}</h6></div>
|
||||
<div class="pt-2 border-bottom"><h6 style="font-weight: bold">{{ $selectPeriod->period }}</h6></div>
|
||||
<div class="pt-2">
|
||||
<input value="0" type="radio" class="form-check-input ms-2" id="radioTutup" name="optionActive" required>
|
||||
<label class="form-check-label ps-1 pe-2" for="radioTutup">Tutup Kuesioner</label>
|
||||
|
@ -62,7 +62,11 @@
|
|||
<form action="{{ route('adminSelectPeriod') }}" method="POST" class="edit-periode">
|
||||
@csrf
|
||||
<input type="text" class="form-control d-none" name="id_periode" value="{{ $period->id }}">
|
||||
<button type="submit" class="btn btn-primary btn-sm"><i class="bi bi-check-lg me-1"></i> Pilih</button>
|
||||
@if ($period->id==$selectPeriod->id_periode)
|
||||
<button type="submit" class="btn btn-primary btn-sm" disabled><i class="bi bi-check-all bi-lg me-1"></i> Pilih</button>
|
||||
@else
|
||||
<button type="submit" class="btn btn-light btn-sm border"><i class="bi bi-check-lg me-1"></i> Pilih</button>
|
||||
@endif
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -269,5 +273,8 @@
|
|||
}
|
||||
})
|
||||
});
|
||||
$(document).ready(function() {
|
||||
$("#sidebar-period").removeClass("collapsed");
|
||||
});
|
||||
</script>
|
||||
@endsection
|
|
@ -4,3 +4,11 @@
|
|||
<div>ini profile admin</div>
|
||||
</main>
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$("#sidebar-profile").removeClass("collapsed");
|
||||
});
|
||||
</script>
|
||||
@endsection
|
|
@ -165,5 +165,9 @@
|
|||
})
|
||||
});
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
$("#sidebar-questionnaire").removeClass("collapsed");
|
||||
});
|
||||
</script>
|
||||
@endsection
|
|
@ -33,5 +33,9 @@
|
|||
@endsection
|
||||
|
||||
@section('script')
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$("#sidebar-result").removeClass("collapsed");
|
||||
});
|
||||
</script>
|
||||
@endsection
|
|
@ -6,52 +6,52 @@
|
|||
<span>Dosen</span>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="#">
|
||||
<a id="sidebar-dashboard" class="nav-link collapsed" href="{{ route('adminDashboard.index') }}">
|
||||
<i class="bi bi-grid"></i>
|
||||
<span>Dashboard</span>
|
||||
</a>
|
||||
</li><!-- End Dashboard Nav -->
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="{{ route('adminQuestionnaire.index')}}">
|
||||
<a id="sidebar-questionnaire" class="nav-link collapsed" href="{{ route('adminQuestionnaire.index')}}">
|
||||
<i class="bi bi-pencil"></i>
|
||||
<span>Kuesioner</span>
|
||||
</a>
|
||||
</li><!-- End Kuesioner Page Nav -->
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="{{ route('adminPeriod.index')}}">
|
||||
<a id="sidebar-period" class="nav-link collapsed" href="{{ route('adminPeriod.index')}}">
|
||||
<i class="bi bi-calendar4"></i>
|
||||
<span>Periode</span>
|
||||
</a>
|
||||
</li><!-- End Profile Page Nav -->
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="{{ route('adminResult.index')}}">
|
||||
<a id="sidebar-result" class="nav-link collapsed" href="{{ route('adminResult.index')}}">
|
||||
<i class="bi bi-book"></i>
|
||||
<span>Hasil</span>
|
||||
</a>
|
||||
</li><!-- End Profile Page Nav -->
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="{{ route('adminProfile.index')}}">
|
||||
<a id="sidebar-profile" class="nav-link collapsed" href="{{ route('adminProfile.index')}}">
|
||||
<i class="bi bi-person-badge-fill"></i>
|
||||
<span>Profile</span>
|
||||
</a>
|
||||
</li><!-- End Profile Page Nav -->
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" data-bs-target="#users-nav" data-bs-toggle="collapse" href="/admin">
|
||||
<a id="sidebar-listperson" class="nav-link collapsed" data-bs-target="#users-nav" data-bs-toggle="collapse" href="/admin">
|
||||
<i class="bi bi-person"></i><span>User</span><i class="bi bi-chevron-down ms-auto"></i>
|
||||
</a>
|
||||
<ul id="users-nav" class="nav-content collapse" data-bs-parent="#sidebar-nav">
|
||||
<li>
|
||||
<a href="/listuser">
|
||||
<a id="sidebar-item-listuser" href="/listuser">
|
||||
<i class="bi bi-circle"></i><span>List User</span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/listadmin">
|
||||
<a id="sidebar-item-listadmin" href="/listadmin">
|
||||
<i class="bi bi-circle"></i><span>List Admin</span>
|
||||
</a>
|
||||
</li>
|
||||
|
|
|
@ -12,3 +12,10 @@
|
|||
</div>
|
||||
</main>
|
||||
@endsection
|
||||
@section('script')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$("#sidebar-questionnaire").removeClass("collapsed");
|
||||
});
|
||||
</script>
|
||||
@endsection
|
|
@ -12,3 +12,11 @@
|
|||
</div>
|
||||
</main>
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$("#sidebar-questionnaire").removeClass("collapsed");
|
||||
});
|
||||
</script>
|
||||
@endsection
|
|
@ -649,3 +649,11 @@
|
|||
|
||||
</main><!-- End #main -->
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$("#sidebar-dashboard").removeClass("collapsed");
|
||||
});
|
||||
</script>
|
||||
@endsection
|
|
@ -10,21 +10,21 @@
|
|||
<span class="d-flex flex-column align-items-center">Teknik Informatika</span>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link " href="/dashboard">
|
||||
<a id="sidebar-dashboard" class="nav-link collapsed" href="/dashboard">
|
||||
<i class="bi bi-grid"></i>
|
||||
<span>Dashboard</span>
|
||||
</a>
|
||||
</li><!-- End Dashboard Nav -->
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="{{ route('user.questionnaire.check')}}">
|
||||
<a id="sidebar-questionnaire" class="nav-link collapsed" href="{{ route('user.questionnaire.check')}}">
|
||||
<i class="bi bi-pencil"></i>
|
||||
<span>Kuesioner</span>
|
||||
</a>
|
||||
</li><!-- End Kuesioner Page Nav -->
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="/profile">
|
||||
<a id="sidebar-profile" class="nav-link collapsed" href="/profile">
|
||||
<i class="bi bi-person"></i>
|
||||
<span>Profil</span>
|
||||
</a>
|
||||
|
|
|
@ -173,6 +173,9 @@
|
|||
<script src="{{ asset('backend/assets/js/main.js')}}"></script>
|
||||
<script src="{{ asset('css/sweealert2.all.min.js')}}"></script>
|
||||
|
||||
@yield('script')
|
||||
|
||||
|
||||
@if (session('success'))
|
||||
<script>
|
||||
const Toast = Swal.mixin({
|
||||
|
|
|
@ -13,3 +13,11 @@
|
|||
</div>
|
||||
</main>
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$("#sidebar-questionnaire").removeClass("collapsed");
|
||||
});
|
||||
</script>
|
||||
@endsection
|
|
@ -53,3 +53,11 @@
|
|||
</div>
|
||||
</main>
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$("#sidebar-questionnaire").removeClass("collapsed");
|
||||
});
|
||||
</script>
|
||||
@endsection
|
|
@ -180,3 +180,11 @@
|
|||
|
||||
</main><!-- End #main -->
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$("#sidebar-profile").removeClass("collapsed");
|
||||
});
|
||||
</script>
|
||||
@endsection
|
|
@ -57,3 +57,11 @@
|
|||
|
||||
</main>
|
||||
@endsection
|
||||
|
||||
@section('script')
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$("#sidebar-questionnaire").removeClass("collapsed");
|
||||
});
|
||||
</script>
|
||||
@endsection
|
Loading…
Reference in New Issue