update
parent
e63821138b
commit
accbd3ff4f
|
|
@ -18,11 +18,12 @@ class FrontController extends Controller
|
|||
|
||||
$data = [];
|
||||
// $data['template'] = TabelData::where('show_dashboard',1)->limit(4)->inRandomOrder()->get();
|
||||
$data['template'] = TabelData::limit(4)->inRandomOrder()->get();
|
||||
$data['template'] = TabelData::limit(6)->orderBy('created_at','DESC')->get();
|
||||
$data['dataset'] = Dataset::orderBy('DatasetId','DESC')->limit(4)->get();
|
||||
// $data['instansi'] = Instansi::all();
|
||||
$data['count'] = [
|
||||
'dataset' => Dataset::count(),
|
||||
'dataset_tambahan' => DatasetTambahan::count(),
|
||||
'resource' => TabelData::count(),
|
||||
'instansi' => Instansi::count(),
|
||||
];
|
||||
|
|
|
|||
|
|
@ -190,7 +190,12 @@ class DatasetController extends Controller
|
|||
$dataset->data = null;
|
||||
$dataset->file = null;
|
||||
$dataset->deskripsi = $request->deskripsi;
|
||||
if((session('group_id') == 1) || (session('group_alias') == 'admin')){
|
||||
$dataset->status = 1;
|
||||
}else{
|
||||
$dataset->status = 0;
|
||||
}
|
||||
|
||||
$dataset->created_by = auth()->user()->id;
|
||||
$dataset->save();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -72,26 +72,28 @@ class DatasetTambahanController extends Controller
|
|||
$action = '';
|
||||
|
||||
if((permission('is_create', $this->route.'.*','module',false)) || (permission('is_update', $this->route.'.*','module',false))){
|
||||
$action .= '<div class="flex gap-3 justify-center items-center flex-row">';
|
||||
$action .= '<div class="flex gap-1 justify-center items-center flex-row">';
|
||||
if($row->created_by == auth()->user()->id){
|
||||
$action .= '<a href="'.url('opendata/dataset-tambahan/update/'.encode_id($row->DatasetTambahanId)).'" data-toggle="tooltip" title="Ubah Data" class="btn btn-sm btn-block bg-primary"><i class="ri-pencil-line text-white"></i></a>';
|
||||
$action .= '<a href="'.url('opendata/dataset-tambahan/update/'.encode_id($row->DatasetTambahanId)).'" data-toggle="tooltip" title="Ubah Data" class="p-2 rounded text-white bg-blue-500"><i class="ri-pencil-line text-white"></i></a>';
|
||||
}
|
||||
$action .= '<a href="'.url('opendata/dataset-tambahan/view/'.encode_id($row->DatasetTambahanId)).'" data-toggle="tooltip" title="Lihat Data" class="btn btn-sm btn-block bg-info"><i class="ri-eye-line text-white"></i></a>';
|
||||
$action .= '<a href="'.url('opendata/dataset-tambahan/view/'.encode_id($row->DatasetTambahanId)).'" data-toggle="tooltip" title="Lihat Data" class="p-2 rounded text-white bg-blue-900"><i class="ri-eye-line text-white"></i></a>';
|
||||
if((session('group_id') == 1) || (session('group_alias') == 'admin')){
|
||||
// $action .= '<a href="#" data-href="'.url('management/user/forcelogin/'.encode_id($row->id)).'" data-toggle="tooltip" title="Force Login" class="forcelogin btn btn-sm btn-block bg-success"><i class="ri-user-2-line text-white"></i></a>';
|
||||
// $action .= '<a href="#" data-href="'.url('management/user/forcelogin/'.encode_id($row->id)).'" data-toggle="tooltip" title="Force Login" class="forcelogin p-2 rounded text-white bg-success"><i class="ri-user-2-line text-white"></i></a>';
|
||||
if($row->status == 1){
|
||||
$action .= '<a href="#" data-href="'.url('opendata/dataset-tambahan/delete/'.encode_id($row->DatasetTambahanId)).'" data-toggle="tooltip" title="Hapus Data" class="remove_data btn btn-sm btn-block bg-danger"><i class="ri-delete-bin-line text-white"></i></a>';
|
||||
$action .= '<a href="#" data-href="'.url('opendata/dataset-tambahan/delete/'.encode_id($row->DatasetTambahanId)).'" data-toggle="tooltip" title="Hapus Data" class="remove_data p-2 rounded text-white bg-red-500"><i class="ri-delete-bin-line text-white"></i></a>';
|
||||
}else{
|
||||
$action .= '<a href="#" data-href="'.url('opendata/dataset-tambahan/aktif/'.encode_id($row->DatasetTambahanId)).'" data-toggle="tooltip" title="Aktifkan Data" class="aktif_data btn btn-sm btn-block bg-success"><i class="ri-check-line text-white"></i></a>';
|
||||
$action .= '<a href="#" data-href="'.url('opendata/dataset-tambahan/aktif/'.encode_id($row->DatasetTambahanId)).'" data-toggle="tooltip" title="Aktifkan Data" class="aktif_data p-2 rounded text-white bg-emerald-500"><i class="ri-check-line text-white"></i></a>';
|
||||
}
|
||||
}
|
||||
$action .= '</div>';
|
||||
}
|
||||
$status = '';
|
||||
if($row->status == 1){
|
||||
$status = '<small class="p-1 w-full bg-success text-white rounded" title="Aktif"><i class="ri-check-line"></i></small>';
|
||||
}else{
|
||||
$status = '<small class="p-1 w-full bg-danger text-white rounded" title="Tidak Aktif"><i class="ri-close-line"></i></small>';
|
||||
$status = '<small class="p-1 w-full bg-emerald-500 text-white rounded" title="Valid">Valid</small>';
|
||||
}elseif($row->status == 0){
|
||||
$status = '<small class="p-1 w-full bg-yellow-500 text-white rounded" title="Tidak Valid">Menunggu Verifikasi</small>';
|
||||
}elseif($row->status == 2){
|
||||
$status = '<small class="p-1 w-full bg-red-500 text-white rounded" title="Tidak Valid">Verifikasi Ditolak</small>';
|
||||
}
|
||||
|
||||
$_data[] = [
|
||||
|
|
@ -100,6 +102,7 @@ class DatasetTambahanController extends Controller
|
|||
'name' => @$row->name,
|
||||
'publik' => @$row->publik,
|
||||
'tahun' => @$row->tahun,
|
||||
'template' => @$row->tabelData->name,
|
||||
'created_at' => date('d-m-Y',strtotime(@$row->created_at)),
|
||||
'instansi' => @$row->instansi->name,
|
||||
'action' => @$action,
|
||||
|
|
@ -134,10 +137,10 @@ class DatasetTambahanController extends Controller
|
|||
if(@$request->file){
|
||||
$file = $request->file('file');
|
||||
$path = $file->getRealPath();
|
||||
$spreadsheet = IOFactory::load($path);
|
||||
$sheet = $spreadsheet->getActiveSheet();
|
||||
$rows = $sheet->toArray();
|
||||
$header = $rows[4]; // Baris pertama sebagai header
|
||||
// $spreadsheet = IOFactory::load($path);
|
||||
// $sheet = $spreadsheet->getActiveSheet();
|
||||
// $rows = $sheet->toArray();
|
||||
// $header = $rows[4]; // Baris pertama sebagai header
|
||||
if (@$request->hasFile('file')) {
|
||||
$file = $request->file('file');
|
||||
$destinationPath = public_path('uploads/dataset');
|
||||
|
|
@ -147,9 +150,9 @@ class DatasetTambahanController extends Controller
|
|||
$fileMime = $file->getClientMimeType();
|
||||
$fileExtension = $file->getClientOriginalExtension();
|
||||
$fileSize = $file->getSize();
|
||||
if(($fileExtension != 'xls') && ($fileExtension != 'xlsx')){
|
||||
if(($fileExtension != 'xls') && ($fileExtension != 'xlsx') && ($fileExtension != 'pdf') && ($fileExtension != 'docx')){
|
||||
return redirect()->back()->with([
|
||||
'message' => 'Maaf File Harus Berupa xls,xlsx!',
|
||||
'message' => 'Maaf File Harus Berupa pdf,docx,xls,xlsx!',
|
||||
'type' => "error"
|
||||
]);
|
||||
}
|
||||
|
|
@ -164,21 +167,21 @@ class DatasetTambahanController extends Controller
|
|||
|
||||
|
||||
|
||||
for ($i = 5; $i < count($rows); $i++) {
|
||||
$row = $rows[$i];
|
||||
// for ($i = 5; $i < count($rows); $i++) {
|
||||
// $row = $rows[$i];
|
||||
|
||||
// Skip baris kosong
|
||||
if (collect($row)->filter()->isEmpty()) continue;
|
||||
// // Skip baris kosong
|
||||
// if (collect($row)->filter()->isEmpty()) continue;
|
||||
|
||||
$assoc = [];
|
||||
foreach ($header as $j => $columnName) {
|
||||
if($columnName != null){
|
||||
$assoc[strtolower(str_replace(' ','_',$columnName))] = $row[$j] ?? null;
|
||||
}
|
||||
}
|
||||
// $assoc = [];
|
||||
// foreach ($header as $j => $columnName) {
|
||||
// if($columnName != null){
|
||||
// $assoc[strtolower(str_replace(' ','_',$columnName))] = $row[$j] ?? null;
|
||||
// }
|
||||
// }
|
||||
|
||||
$data[] = $assoc;
|
||||
}
|
||||
// $data[] = $assoc;
|
||||
// }
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -208,6 +211,11 @@ class DatasetTambahanController extends Controller
|
|||
$insert->deskripsi = $request->deskripsi;
|
||||
$insert->tahun = $request->tahun;
|
||||
$insert->tahun_data = $request->tahun_data;
|
||||
if((session('group_id') == 1) || (session('group_alias') == 'admin')){
|
||||
$insert->status = 1;
|
||||
}else{
|
||||
$insert->status = 0;
|
||||
}
|
||||
$insert->save();
|
||||
}else{
|
||||
// dd($request->all());
|
||||
|
|
|
|||
|
|
@ -11,6 +11,10 @@ class DatasetTambahan extends Model
|
|||
protected $primaryKey = 'DatasetTambahanId';
|
||||
protected $guarded = [];
|
||||
|
||||
function tabelData() {
|
||||
return $this->belongsTo('App\Models\Master\TabelData','template_id');
|
||||
}
|
||||
|
||||
function instansi() {
|
||||
return $this->belongsTo('App\Models\Master\Instansi','instansi_id');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,28 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::table('dataset-tambahan', function (Blueprint $table) {
|
||||
$table->year('tahun_data')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::table('dataset-tambahan', function (Blueprint $table) {
|
||||
//
|
||||
});
|
||||
}
|
||||
};
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
||||
<nav class="flex mb-4 text-sm font-medium text-slate-500" aria-label="Breadcrumb">
|
||||
<ol class="flex items-center space-x-2">
|
||||
<li><a href="dataset.html" class="hover:text-blue-600 transition-colors">Dataset</a></li>
|
||||
<li><a href="dataset.html" class="hover:text-blue-600 transition-colors">Dataset Utama</a></li>
|
||||
<li><i data-lucide="chevron-right" class="w-4 h-4 text-slate-300"></i></li>
|
||||
<li class="text-slate-900 truncate max-w-[200px] md:max-w-none">{{ $dataset->name }}</li>
|
||||
</ol>
|
||||
|
|
@ -17,6 +17,7 @@
|
|||
<span class="text-slate-400 text-xs flex items-center"><i data-lucide="calendar" class="w-3 h-3 mr-1"></i> Terbit: {{ date('d M Y',strtotime($dataset->created_at)) }}</span>
|
||||
</div>
|
||||
<h2 class="text-2xl md:text-3xl font-extrabold text-slate-900 tracking-tight leading-tight">{{ $dataset->name }}</h2>
|
||||
<h2 class="mt-3 text-md text-blue-500 tracking-tight leading-tight">{{ $dataset->instansi->name }}</h2>
|
||||
</div>
|
||||
<div class="flex gap-2">
|
||||
<a href="{{url('opendata/dataset/download/'.encode_id(@$dataset->DatasetId))}}" class="flex-1 md:flex-none bg-blue-600 text-white px-6 py-3 rounded-xl font-bold hover:bg-blue-700 transition-all flex items-center justify-center shadow-lg shadow-blue-100">
|
||||
|
|
@ -76,7 +77,7 @@
|
|||
<div class="space-y-6">
|
||||
<!-- Metadata Card -->
|
||||
<section class="bg-white p-6 rounded-3xl border border-slate-200 shadow-sm">
|
||||
<h3 class="text-sm font-bold text-slate-400 uppercase tracking-widest mb-6">Informasi Metadata</h3>
|
||||
<h3 class="text-sm font-bold text-slate-900 uppercase tracking-widest mb-6 flex items-center"><i data-lucide="info" class="w-5 h-5 mr-2 text-blue-600"></i> Informasi Metadata</h3>
|
||||
<div class="space-y-4">
|
||||
<div class="flex justify-between items-center py-2 border-b border-slate-50">
|
||||
<span class="text-sm text-slate-500">Tahun Data</span>
|
||||
|
|
@ -87,9 +88,13 @@
|
|||
<span class="text-sm font-bold text-slate-900">{{ $dataset->tahun }}</span>
|
||||
</div>
|
||||
<div class="flex justify-between items-center py-2 border-b border-slate-50">
|
||||
<span class="text-sm text-slate-500">Kategori</span>
|
||||
<span class="text-sm font-bold text-slate-900">{{ @$dataset->tabelData->kategori ?? '-' }}</span>
|
||||
</div>
|
||||
{{-- <div class="flex justify-between items-center py-2 border-b border-slate-50">
|
||||
<span class="text-sm text-slate-500">Organisasi</span>
|
||||
<span class="text-sm font-bold text-blue-600 underline">{{ $dataset->instansi->name }}</span>
|
||||
</div>
|
||||
</div> --}}
|
||||
{{-- <div class="flex justify-between items-center py-2 border-b border-slate-50">
|
||||
<span class="text-sm text-slate-500">Dilihat</span>
|
||||
<span class="text-sm font-bold text-slate-900">1.240 Kali</span>
|
||||
|
|
|
|||
|
|
@ -1,106 +1,74 @@
|
|||
@extends('layouts.app')
|
||||
@section('css')
|
||||
@endsection
|
||||
@extends('layouts.appNew')
|
||||
@section('content')
|
||||
<section class="container relative pt-[150px] py-20 pb-0 px-5 flex flex-col gap-5">
|
||||
<div class="relative flex justify-between items-center content-center mb-10">
|
||||
<div>
|
||||
<h1 class="">Home / <a href="{{ url('dataset') }}">Dataset</a> / <span class="bold">{{ $dataset->name }}</span></h1>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="container pb-10 pt-10 px-5">
|
||||
<div class="flex flex-col gap-6">
|
||||
<div class="bg-white rounded-[20px] shadow-lg p-5 py-10 gap-6 flex">
|
||||
<div class="flex flex-col gap-3 items-center text-center w-1/4">
|
||||
{{-- <img src="{{ asset('uploads/'.@$dataset->instansi->logo) }}" alt="" width="50" class=""> --}}
|
||||
<img src="{{ asset('logodki.png') }}" alt="" width="50" class="">
|
||||
<h1 class="font-bold">{{ $dataset->instansi->name }}</h1>
|
||||
<a href="{{asset('uploads/'.$dataset->file)}}" class="rounded-full text-[12px] bg-success text-white px-2 py-1">Download <i class="ri-download-line"></i></a>
|
||||
</div>
|
||||
<div class="flex items-center justify-between w-3/4">
|
||||
<div class="flex flex-col gap-3">
|
||||
<div class="">
|
||||
<h5 class="font-bold">{{ $dataset->name }}</h5>
|
||||
</div>
|
||||
<div>
|
||||
<p>{{ $dataset->deskripsi }}</p>
|
||||
</div>
|
||||
<div class="mt-1 flex flex-row gap-2 items-center">
|
||||
<span class="rounded-full text-[10px] bg-[#103760] text-white px-2 py-1">{{$dataset->tahun}}</span>
|
||||
<span class="rounded-full text-[10px] hidden lg:block bg-[#103760] text-white px-2 py-1">{{$dataset->template->name}}</span>
|
||||
</div>
|
||||
<div class="flex gap-1">
|
||||
<span>Bagikan : </span>
|
||||
<a href=""><i class="p-1 rounded-full bg-[#aaa] text-white ri-facebook-line"></i></a>
|
||||
<a href=""><i class="p-1 rounded-full bg-[#aaa] text-white ri-whatsapp-line"></i></a>
|
||||
<a href=""><i class="p-1 rounded-full bg-[#aaa] text-white ri-twitter-line"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
$data = json_decode($dataset->data);
|
||||
?>
|
||||
@if(@$data)
|
||||
<div class="bg-white rounded-[20px] shadow-lg p-5 py-10 gap-6 flex">
|
||||
<div style="overflow-x:auto; width:100%!important;">
|
||||
<table id="table"
|
||||
data-toggle="table"
|
||||
data-search="false"
|
||||
data-pagination="true"
|
||||
data-side-pagination="server"
|
||||
data-url="{{ url('dataset/Griddetail?id='.@$keyId) }}"
|
||||
>
|
||||
<thead>
|
||||
<tr class="bg-primary-light text-primary">
|
||||
@if (!empty($data))
|
||||
@foreach ($data[0] as $k => $key)
|
||||
<th data-field="{{$k}}" class="gridjs-td gridjs-th text-xs">{{ ucwords(str_replace('_', ' ', $k)) }}</th>
|
||||
@endforeach
|
||||
@endif
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
<!-- Header / Breadcrumb -->
|
||||
<header class="pt-32 pb-8 bg-white border-b border-slate-200">
|
||||
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
||||
<nav class="flex mb-4 text-sm font-medium text-slate-500" aria-label="Breadcrumb">
|
||||
<ol class="flex items-center space-x-2">
|
||||
<li><a href="dataset.html" class="hover:text-blue-600 transition-colors">Dataset Tambahan</a></li>
|
||||
<li><i data-lucide="chevron-right" class="w-4 h-4 text-slate-300"></i></li>
|
||||
<li class="text-slate-900 truncate max-w-[200px] md:max-w-none">{{ $dataset->name }}</li>
|
||||
|
||||
</ol>
|
||||
</nav>
|
||||
<div class="flex flex-col md:flex-row md:items-start justify-between gap-6">
|
||||
<div class="max-w-3xl">
|
||||
<div class="flex items-center space-x-3 mb-3">
|
||||
{{-- <span class="bg-blue-100 text-blue-700 text-[10px] font-extrabold px-2 py-0.5 rounded uppercase">Udara</span> --}}
|
||||
<span class="text-slate-400 text-xs flex items-center"><i data-lucide="calendar" class="w-3 h-3 mr-1"></i> Terbit: {{ date('d M Y',strtotime($dataset->created_at)) }}</span>
|
||||
</div>
|
||||
</section>
|
||||
<section class="relative bg-[#F0F0F0] ">
|
||||
<div class="container px-10 py-10">
|
||||
<div class="relative flex justify-between items-center content-center mb-10">
|
||||
<div>
|
||||
<h1 class="font-bold poppins-bold text-xl">Dataset Terbaru</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-6">
|
||||
@foreach($lainnya as $dataSet)
|
||||
<a href="{{ url('dataset-tambahan/detail/'.encode_id($dataSet->DatasetTambahanId)) }}" class="transition duration-300 ease-in-out hover:-translate-y-100 hover:scale-410">
|
||||
<div class="bg-white rounded-[20px] shadow-lg p-5 py-10 gap-6 flex">
|
||||
<div class="flex flex-col gap-3 items-center text-center">
|
||||
<div class="flex flex-col items-center gap-3">
|
||||
<img src="{{ asset('logodki.png') }}" alt="" width="50" class="">
|
||||
{{-- <img src="{{ asset('uploads/'.@$dataSet->instansi->logo) }}" alt="" width="50" class=""> --}}
|
||||
<h1 class="font-bold">{{ $dataSet->instansi->name }}</h1>
|
||||
</div>
|
||||
<div class="">
|
||||
<h5 class="font-bold">{{ $dataSet->name }}</h5>
|
||||
</div>
|
||||
<div>
|
||||
<p>{{ substr($dataSet->deskripsi,0,50) }}</p>
|
||||
</div>
|
||||
<div class="mt-1 flex flex-row gap-2 items-center">
|
||||
<span class="rounded-full text-[10px] bg-[#E9811A] text-white px-2 py-1">{{$dataSet->tahun}}</span>
|
||||
<span class="rounded-full text-[10px] hidden lg:block bg-[#E9811A] text-white px-2 py-1">{{ substr($dataSet->template->name,0,25) }}...</span>
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="text-2xl md:text-3xl font-extrabold text-slate-900 tracking-tight leading-tight">{{ $dataset->name }}</h2>
|
||||
<h2 class="mt-3 text-md text-blue-500 tracking-tight leading-tight">{{ $dataset->instansi->name }}</h2>
|
||||
</div>
|
||||
<div class="flex gap-2">
|
||||
<a href="{{url('opendata/dataset/download/'.encode_id(@$dataset->DatasetId))}}" class="flex-1 md:flex-none bg-blue-600 text-white px-6 py-3 rounded-xl font-bold hover:bg-blue-700 transition-all flex items-center justify-center shadow-lg shadow-blue-100">
|
||||
<i data-lucide="download" class="w-5 h-5 mr-2"></i> Unduh Data
|
||||
</a>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- Main Content -->
|
||||
<main class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-10">
|
||||
<div class="grid lg:grid-cols-3 gap-8">
|
||||
|
||||
<!-- Left Column: Details & Preview -->
|
||||
<div class="lg:col-span-2 space-y-8">
|
||||
|
||||
<!-- Description Section -->
|
||||
<section class="bg-white p-8 rounded-3xl border border-slate-200 shadow-sm">
|
||||
<h3 class="text-lg font-bold mb-4 flex items-center text-slate-900">
|
||||
<i data-lucide="info" class="w-5 h-5 mr-2 text-blue-600"></i> Deskripsi Dataset
|
||||
</h3>
|
||||
<p class="text-slate-600 leading-relaxed">
|
||||
{{ $dataset->deskripsi }}
|
||||
</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<!-- Right Column: Metadata & Format -->
|
||||
<div class="space-y-6">
|
||||
<!-- Metadata Card -->
|
||||
<section class="bg-white p-6 rounded-3xl border border-slate-200 shadow-sm">
|
||||
<h3 class="text-sm font-bold text-slate-900 uppercase tracking-widest mb-6 flex items-center"><i data-lucide="info" class="w-5 h-5 mr-2 text-blue-600"></i> Informasi Metadata</h3>
|
||||
<div class="space-y-4">
|
||||
<div class="flex justify-between items-center py-2 border-b border-slate-50">
|
||||
<span class="text-sm text-slate-500">Tahun Data</span>
|
||||
<span class="text-sm font-bold text-slate-900">{{ $dataset->tahun_data }}</span>
|
||||
</div>
|
||||
<div class="flex justify-between items-center py-2 border-b border-slate-50">
|
||||
<span class="text-sm text-slate-500">Tahun Input Data</span>
|
||||
<span class="text-sm font-bold text-slate-900">{{ $dataset->tahun }}</span>
|
||||
</div>
|
||||
<div class="flex justify-between items-center py-2 border-b border-slate-50">
|
||||
<span class="text-sm text-slate-500">Kategori</span>
|
||||
<span class="text-sm font-bold text-slate-900">{{ @$dataset->tabelData->kategori ?? '-' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
@endsection
|
||||
|
|
@ -101,14 +101,15 @@
|
|||
<h4 class="text-lg font-bold text-slate-900 mb-2">{{ $dataSet->name }}</h4>
|
||||
<p class="text-sm text-slate-500 line-clamp-2 mb-4">{{ substr($dataSet->deskripsi,0,150) }}...</p>
|
||||
<div class="flex flex-wrap gap-2">
|
||||
<span class="flex items-center bg-slate-100 text-slate-600 px-2 py-1 rounded text-[10px] font-bold">XLSX</span>
|
||||
<span class="flex items-center bg-slate-100 text-slate-600 px-2 py-1 rounded text-[10px] font-bold uppercase">{{ @explode('.',@$dataSet->file)[1] }}</span>
|
||||
<span class="flex items-center bg-yellow-100 text-yellow-600 px-2 py-1 rounded text-[10px] font-bold uppercase">{{ @$dataSet->tabelData->kategori ?? '-' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-row md:flex-col justify-end gap-2 md:w-32">
|
||||
<a href="{{asset('uploads/'.$dataset->file)}}" class="flex-1 md:w-full bg-blue-600 text-white py-2 px-4 rounded-xl text-sm font-bold hover:bg-blue-700 transition-all flex items-center justify-center">
|
||||
<a href="{{asset('uploads/'.@$dataSet->file)}}" class="flex-1 md:w-full bg-blue-600 text-white py-2 px-4 rounded-xl text-sm font-bold hover:bg-blue-700 transition-all flex items-center justify-center">
|
||||
<i data-lucide="download" class="w-4 h-4 mr-2"></i> Unduh
|
||||
</a>
|
||||
<a href="{{ url('dataset-tambahan/detail/'.encode_id($dataSet->DatasetId)) }}" class="flex-1 md:w-full border border-slate-200 text-slate-700 py-2 px-4 rounded-xl text-sm font-bold hover:bg-slate-50 transition-all flex items-center justify-center">
|
||||
<a href="{{ url('dataset-tambahan/detail/'.encode_id($dataSet->DatasetTambahanId)) }}" class="flex-1 md:w-full border border-slate-200 text-slate-700 py-2 px-4 rounded-xl text-sm font-bold hover:bg-slate-50 transition-all flex items-center justify-center">
|
||||
<i data-lucide="eye" class="w-4 h-4 mr-2"></i> Detail
|
||||
</a>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
||||
<div class="flex flex-col md:flex-row md:items-center justify-between gap-6">
|
||||
<div>
|
||||
<h2 class="text-3xl font-extrabold text-slate-900 tracking-tight">Eksplorasi Dataset</h2>
|
||||
<h2 class="text-3xl font-extrabold text-slate-900 tracking-tight">Eksplorasi Dataset Utama</h2>
|
||||
<p class="text-slate-600 mt-2">Temukan data mentah kinerja lingkungan hidup</p>
|
||||
</div>
|
||||
<div class="relative w-full md:w-96 hidden">
|
||||
|
|
@ -102,6 +102,7 @@
|
|||
<p class="text-sm text-slate-500 line-clamp-2 mb-4">{{ substr($dataSet->deskripsi,0,150) }}...</p>
|
||||
<div class="flex flex-wrap gap-2">
|
||||
<span class="flex items-center bg-slate-100 text-slate-600 px-2 py-1 rounded text-[10px] font-bold">XLSX</span>
|
||||
<span class="flex items-center bg-yellow-100 text-yellow-600 px-2 py-1 rounded text-[10px] font-bold uppercase">{{ @$dataSet->tabelData->kategori ?? '-' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-row md:flex-col justify-end gap-2 md:w-32">
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@
|
|||
</div>
|
||||
<div>
|
||||
<p class="text-xs text-slate-500 font-medium">Dataset Tambahan</p>
|
||||
<p class="font-bold text-xl">{{ $count['resource'] }}</p>
|
||||
<p class="font-bold text-xl">{{ $count['dataset_tambahan'] }}</p>
|
||||
</div>
|
||||
</div>
|
||||
{{-- <span class="text-[10px] font-bold px-2 py-1 rounded-md bg-blue-100 text-blue-700">Cukup</span> --}}
|
||||
|
|
@ -155,8 +155,8 @@
|
|||
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
||||
<div class="flex flex-col md:flex-row justify-between items-end mb-12 gap-6">
|
||||
<div class="max-w-xl">
|
||||
<h3 class="text-3xl font-bold text-slate-900 mb-4 tracking-tight">Dokumen Publikasi</h3>
|
||||
<p class="text-slate-600">Akses seluruh arsip Dokumen Informasi Kinerja Pengelolaan Lingkungan Hidup Daerah dari tahun ke tahun</p>
|
||||
<h3 class="text-3xl font-bold text-slate-900 mb-4 tracking-tight">Dataset Utama Terbaru</h3>
|
||||
<p class="text-slate-600">Akses seluruh arsip Dataset Kinerja Pengelolaan Lingkungan Hidup Daerah dari tahun ke tahun</p>
|
||||
</div>
|
||||
{{-- <div class="flex space-x-2">
|
||||
<button class="year-filter px-4 py-2 text-sm font-semibold bg-blue-600 text-white rounded-lg" data-year="all">Semua Tahun</button>
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@
|
|||
<!-- Desktop Menu -->
|
||||
<div class="hidden md:flex items-center space-x-8">
|
||||
<a href="{{ url('/') }}" class="font-medium text-slate-700 hover:text-blue-600 transition-colors">Beranda</a>
|
||||
<a href="{{ url('dataset') }}" class="font-medium text-slate-700 hover:text-blue-600 transition-colors">Dataset</a>
|
||||
<a href="{{ url('dataset') }}" class="font-medium text-slate-700 hover:text-blue-600 transition-colors">Dataset Utama</a>
|
||||
<a href="{{ url('dataset-tambahan') }}" class="font-medium text-slate-700 hover:text-blue-600 transition-colors">Dataset Tambahan</a>
|
||||
{{-- <a href="#" class="font-medium text-slate-700 hover:text-blue-600 transition-colors">Informasi</a> --}}
|
||||
<a href="{{ url('login') }}" class="flex items-center space-x-2 bg-blue-600 text-white px-5 py-2 rounded-xl font-semibold hover:bg-blue-700 transition-all shadow-lg shadow-blue-200">
|
||||
|
|
@ -71,7 +71,7 @@
|
|||
<!-- Mobile Menu -->
|
||||
<div id="mobile-menu" class="hidden md:hidden bg-white border-t border-slate-100 p-4 space-y-4 shadow-xl">
|
||||
<a href="{{ url('/') }}" class="block font-medium py-2">Beranda</a>
|
||||
<a href="{{ url('dataset') }}" class="block font-medium py-2">Dataset</a>
|
||||
<a href="{{ url('dataset') }}" class="block font-medium py-2">Dataset Utama</a>
|
||||
<a href="{{ url('dataset-tambahan') }}" class="block font-medium py-2">Dataset Tambahan</a>
|
||||
<a href="{{ url('/login') }}" class="w-full bg-blue-600 text-white px-5 py-3 rounded-xl font-bold">Login</a>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -49,10 +49,10 @@
|
|||
<div class="flex gap-4">
|
||||
<label class="mb-3 w-1/2 font-semibold required">Unggah Berkas</label>
|
||||
<div class="flex flex-col w-full justify-center items-start gap-2">
|
||||
<input type="file" accept=".xls,.xlsx" value="{{@$item->file ? @$item->file : old('file')}}" name="file" class="p-2 border rounded w-full @error('file') is-invalid @enderror" placeholder="Masukan File Dataset" {{@$item->file ? '' : 'required'}}>
|
||||
<small><i>Masukan Ekstensi File : .pdf,.xls,.xlsx</i></small>
|
||||
<input type="file" accept=".pdf,.docx,.xls,.xlsx" value="{{@$item->file ? @$item->file : old('file')}}" name="file" class="p-2 border rounded w-full @error('file') is-invalid @enderror" placeholder="Masukan File Dataset" {{@$item->file ? '' : 'required'}}>
|
||||
<small><i>Masukan Ekstensi File : .pdf,.docx,.xls,.xlsx</i></small>
|
||||
@if(@$item->file)
|
||||
<a href="{{asset('uploads/'.$item->file)}}" class="btn bg-success text-white mt-3"><i class="ri-download-line"></i> Download File</a>
|
||||
<a href="{{asset('uploads/'.$item->file)}}" class="p-2 bg-emerald-500 rounded text-white mt-3"><i class="ri-download-line"></i> Download File</a>
|
||||
@endif
|
||||
</div>
|
||||
@error('file')
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@
|
|||
<th class="text-[10px] border font-bold text-slate-900 text-center" data-field="instansi">Nama Instansi</th>
|
||||
<th class="text-[10px] border font-bold text-slate-900 text-center" data-field="name">Nama Dataset</th>
|
||||
<th class="text-[10px] border font-bold text-slate-900 text-center" data-field="template">Sumber Data Terkait</th>
|
||||
<th class="text-[10px] border font-bold text-slate-900 text-center" data-field="status">Status</th>
|
||||
<th class="text-[10px] border font-bold text-slate-900 text-center" data-field="tahun">Tahun Sistem</th>
|
||||
<th class="text-[10px] border font-bold text-slate-900 text-center" data-field="created_at">Tanggal Input</th>
|
||||
</tr>
|
||||
|
|
|
|||
|
|
@ -2,60 +2,76 @@
|
|||
@section('css')
|
||||
@endsection
|
||||
@section('content')
|
||||
<div class="flex flex-col gap-6">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<div class="flex justify-between items-center">
|
||||
<h4 class="card-title">{{$title}}</h4>
|
||||
<div class="flex-1 overflow-y-auto p-8 custom-scrollbar">
|
||||
<div class="p-8 bg-white rounded-3xl border border-slate-200 shadow-sm overflow-hidden">
|
||||
<div class="flex justify-between items-center mb-5">
|
||||
<h5 class="text-lg text-slate-700 font-bold">Informasi Dataset</h5>
|
||||
<a href="{{route($route.'.index')}}" class="bg-blue-500 rounded py-2 px-3 text-white flex items-center"><i data-lucide="arrow-left" class="w-4 h-4 mr-2"></i><span>Kembali</span></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="p-6">
|
||||
<div class="grid lg:grid-cols-2 gap-3 mb-3">
|
||||
<div class="flex flex-between gap-3 bg-secondary/10 items-center p-2 rounded">
|
||||
<hr>
|
||||
<div class="grid lg:grid-cols-2 gap-3 mb-3 mt-5">
|
||||
<div class="flex flex-between gap-3 bg-gray-100 items-center p-2 rounded">
|
||||
<div class="p-2">
|
||||
<i class="ri-building-4-line text-primary text-xl"></i>
|
||||
<i data-lucide="building" class="w-4 h-4 mr-2"></i>
|
||||
</div>
|
||||
<div class="flex flex-col">
|
||||
<div class="text-sm"><b>Instansi</b></div>
|
||||
<div class="text-xs">{{$item->instansi->name}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-between gap-3 bg-secondary/10 items-center p-2 rounded">
|
||||
<div class="flex flex-between gap-3 bg-gray-100 items-center p-2 rounded">
|
||||
<div class="p-2">
|
||||
<i class="ri-database-2-line text-primary text-xl"></i>
|
||||
<i data-lucide="database" class="w-4 h-4 mr-2"></i>
|
||||
</div>
|
||||
<div class="flex flex-col">
|
||||
<div class="text-sm"><b>Sumber Data</b></div>
|
||||
<div class="text-xs">{{$item->template->name}}</div>
|
||||
<div class="text-xs">{{$item->tabelData->name}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-between gap-3 bg-secondary/10 items-center p-2 rounded">
|
||||
<div class="flex flex-between gap-3 bg-gray-100 items-center p-2 rounded">
|
||||
<div class="p-2">
|
||||
<i class="ri-database-2-line text-primary text-xl"></i>
|
||||
<i data-lucide="database" class="w-4 h-4 mr-2"></i>
|
||||
</div>
|
||||
<div class="flex flex-col">
|
||||
<div class="text-sm"><b>Nama Dataset</b></div>
|
||||
<div class="text-xs">{{$item->name}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-between gap-3 bg-gray-100 items-center p-2 rounded">
|
||||
<div class="p-2">
|
||||
<i data-lucide="database" class="w-4 h-4 mr-2"></i>
|
||||
</div>
|
||||
<div class="flex items-center gap-3">
|
||||
<div class="text-sm"><b>File</b></div>
|
||||
<div>
|
||||
<a download href="{{url('uploads/'.@$item->file)}}" class="p-1 bg-blue-500 rounded text-white flex items-center"><i data-lucide="download" class="w-4 h-4 mr-2"></i>Download File</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-between gap-3 bg-gray-100 items-center p-2 rounded">
|
||||
<div class="p-2">
|
||||
<i data-lucide="database" class="w-4 h-4 mr-2"></i>
|
||||
</div>
|
||||
<div class="flex flex-col">
|
||||
<div class="text-sm"><b>Tahun Sistem SLHD</b></div>
|
||||
<div class="text-xs">{{$item->tahun}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-between gap-3 bg-gray-100 items-center p-2 rounded">
|
||||
<div class="p-2">
|
||||
<i data-lucide="database" class="w-4 h-4 mr-2"></i>
|
||||
</div>
|
||||
<div class="flex flex-col">
|
||||
<div class="text-sm"><b>Tahun Data</b></div>
|
||||
<div class="text-xs">{{@$item->tahun_data}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="grid lg-grid-cols-1 gap-3">
|
||||
<div class="flex flex-between gap-3 bg-secondary/10 items-center p-2 rounded">
|
||||
<div class="flex flex-between gap-3 bg-gray-100 items-center p-2 rounded">
|
||||
<div class="p-2">
|
||||
<i class="ri-database-2-line text-primary text-xl"></i>
|
||||
</div>
|
||||
<div class="flex flex-row gap-2">
|
||||
<div class="text-sm">
|
||||
<b>File</b>
|
||||
</div>
|
||||
<div>
|
||||
<a href="{{asset('uploads/'.@$item->file)}}" class="p-1 bg-primary rounded text-white text-xs"><i class="ri-download-line"></i> Download File</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-between gap-3 bg-secondary/10 items-center p-2 rounded">
|
||||
<div class="p-2">
|
||||
<i class="ri-information-line text-primary text-xl"></i>
|
||||
<i data-lucide="info" class="w-4 h-4 mr-2"></i>
|
||||
</div>
|
||||
<div class="flex flex-col">
|
||||
<div class="text-sm"><b>Deskripsi</b></div>
|
||||
|
|
@ -63,7 +79,35 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@if(@$item->status == 0)
|
||||
<hr class="mt-3">
|
||||
<h5 class="text-xl font-bold mt-3">Form Verifikasi Dataset</h5>
|
||||
<form action="{{ url('opendata/dataset/verifikasi/'.encode_id($item->DatasetId)) }}" method="POST">
|
||||
{{ csrf_field() }}
|
||||
<div class="mt-2">
|
||||
<select name="verifikasi" class="w-full p-2 bg-white border" id="">
|
||||
<option value="1">Verifikasi</option>
|
||||
<option value="2">Tolak Verifikasi</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="mt-2">
|
||||
<textarea name="catatan" class="w-full p-2 bg-white border" id="" cols="30" rows="10" placeholder="Masukan Catatan"></textarea>
|
||||
</div>
|
||||
<div class="mt-2">
|
||||
<button class="p-2 bg-blue-500 rounded text-white">Simpan</button>
|
||||
</div>
|
||||
</form>
|
||||
@endif
|
||||
@if($item->status == '2')
|
||||
<hr class="mt-3">
|
||||
<h5 class="text-xl font-bold my-3">Catatan Verifikasi Dataset</h5>
|
||||
@foreach ($catatan as $valCatatan)
|
||||
<div class="flex flex-col gap-3 bg-gray-100 p-2 mb-2 rounded">
|
||||
<div class="text-[10px]">{{$valCatatan->created_at}}</div>
|
||||
<div class="text-sm">{{$valCatatan->catatan}}</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@
|
|||
<i data-lucide="database" class="w-4 h-4 mr-2"></i>
|
||||
</div>
|
||||
<div class="flex items-center gap-3">
|
||||
<div class="text-sm">File</div>
|
||||
<div class="text-sm"><b>File</b></div>
|
||||
<div>
|
||||
<a href="{{url('opendata/dataset/download/'.encode_id(@$item->DatasetId))}}" class="p-1 bg-blue-500 rounded text-white flex items-center"><i data-lucide="download" class="w-4 h-4 mr-2"></i>Download File</a>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue