feat: add filter and export in report index
This commit is contained in:
parent
ec11eb81e3
commit
ff3173f886
@ -77,7 +77,7 @@ public function headings(): array
|
|||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
['Data Rekap Konten', '', '', '', '', '', ''],
|
['Data Rekap Konten', '', '', '', '', '', ''],
|
||||||
['NO', 'Nama Kerjasama', 'Taanggal Mulai', 'Tanggal Selesai', 'Deskripsi', 'Media', 'Dibuat Pada']
|
['NO', 'Nama Kerjasama', 'Tanggal Mulai', 'Tanggal Selesai', 'Deskripsi', 'Media', 'Dibuat Pada']
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
111
app/Exports/ReportExport.php
Normal file
111
app/Exports/ReportExport.php
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Exports;
|
||||||
|
|
||||||
|
use App\Models\Report;
|
||||||
|
use Maatwebsite\Excel\Concerns\FromCollection;
|
||||||
|
use Carbon\Carbon;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use Maatwebsite\Excel\Concerns\WithHeadings;
|
||||||
|
use Maatwebsite\Excel\Concerns\WithMapping;
|
||||||
|
use Maatwebsite\Excel\Concerns\WithStyles;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Worksheet\Worksheet;
|
||||||
|
|
||||||
|
class ReportExport implements FromCollection, WithHeadings, WithStyles, WithMapping
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* @return \Illuminate\Support\Collection
|
||||||
|
*/
|
||||||
|
|
||||||
|
protected $no = 1;
|
||||||
|
protected $media;
|
||||||
|
protected $year;
|
||||||
|
protected $from_month;
|
||||||
|
protected $to_month;
|
||||||
|
protected $date;
|
||||||
|
|
||||||
|
public function __construct($media, $year, $from_month, $to_month, $date)
|
||||||
|
{
|
||||||
|
$this->media = $media;
|
||||||
|
$this->year = $year;
|
||||||
|
$this->from_month = $from_month;
|
||||||
|
$this->to_month = $to_month;
|
||||||
|
$this->date = $date;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function collection()
|
||||||
|
{
|
||||||
|
if(is_role(['1', '5'])){
|
||||||
|
$query = Report::with(['media.company', 'order.cooperation']);
|
||||||
|
}else if(is_role(['3'])){
|
||||||
|
$mediaId = Auth::user()->company->media->id;
|
||||||
|
$query = Report::with(['media.company', 'order.cooperation'])->where('media_id', '=', $mediaId);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($this->media) && is_array($this->media)) {
|
||||||
|
$query->whereIn('media_id', $this->media);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($this->year) {
|
||||||
|
$query->whereYear('created_at', $this->year);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($this->from_month && $this->to_month) {
|
||||||
|
$start = Carbon::parse($this->from_month)->startOfMonth();
|
||||||
|
$end = Carbon::parse($this->to_month)->endOfMonth();
|
||||||
|
|
||||||
|
$query->whereBetween('created_at', [$start, $end]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($this->date) {
|
||||||
|
$query->whereDate('created_at', $this->date);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $query->get();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function map($report): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
$this->no++,
|
||||||
|
$report->order->cooperation->name,
|
||||||
|
$report->media->name,
|
||||||
|
$report->media->company->name,
|
||||||
|
Carbon::parse($report->publication_date)->locale('id')->translatedFormat('l, d F Y'),
|
||||||
|
Carbon::parse($report->created_at)->locale('id')->translatedFormat('l, d F Y'),
|
||||||
|
$report->status === '0' ? 'Menunggu' : ($report->status === '1' ? 'Diterima' : 'Ditolak'),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function headings(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
['Data Rekap Konten', '', '', '', '', '', '', ''],
|
||||||
|
['NO', 'Nama Kerjasama', 'Media', 'Perusahaan', 'Tanggal Upload', 'Tanggal Melaporkan', 'Status']
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function styles(Worksheet $sheet)
|
||||||
|
{
|
||||||
|
$sheet->mergeCells('A1:G1'); // A1 sampai G1 digabung
|
||||||
|
|
||||||
|
// Set alignment untuk pusat horizontal dan vertikal
|
||||||
|
$sheet->getStyle('A1:G1')->getAlignment()->setHorizontal('center');
|
||||||
|
$sheet->getStyle('A1:G1')->getAlignment()->setVertical('center');
|
||||||
|
|
||||||
|
$sheet->getColumnDimension('A')->setWidth(7); // Set column A width
|
||||||
|
$sheet->getColumnDimension('B')->setAutoSize(true);
|
||||||
|
$sheet->getColumnDimension('C')->setAutoSize(true);
|
||||||
|
$sheet->getColumnDimension('D')->setAutoSize(true);
|
||||||
|
$sheet->getColumnDimension('E')->setAutoSize(true);
|
||||||
|
$sheet->getColumnDimension('F')->setAutoSize(true);
|
||||||
|
$sheet->getColumnDimension('G')->setAutoSize(true);
|
||||||
|
$sheet->getStyle('G:G')->getAlignment()->setWrapText(true);
|
||||||
|
|
||||||
|
$sheet->getColumnDimension('G')->setAutoSize(true);
|
||||||
|
|
||||||
|
// Menambahkan gaya lain jika diperlukan
|
||||||
|
$sheet->getStyle('A1:G1')->getFont()->setBold(true);
|
||||||
|
$sheet->getStyle('A1:G1')->getFont()->setSize(14);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -23,6 +23,7 @@
|
|||||||
use App\Models\MediaOrder;
|
use App\Models\MediaOrder;
|
||||||
use App\Models\News;
|
use App\Models\News;
|
||||||
use App\Models\Order;
|
use App\Models\Order;
|
||||||
|
use App\Models\Report;
|
||||||
use App\Models\Role;
|
use App\Models\Role;
|
||||||
use App\Models\SubClassification;
|
use App\Models\SubClassification;
|
||||||
use App\Models\SubLocation;
|
use App\Models\SubLocation;
|
||||||
@ -2199,6 +2200,121 @@ class="text-dark"
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function reportIndex(Request $request){
|
||||||
|
if ($request->ajax()) {
|
||||||
|
|
||||||
|
$mediaStrArr = $request->input('media', null);
|
||||||
|
$media = explode(',', $mediaStrArr);
|
||||||
|
|
||||||
|
$year = $request->input('year', null);
|
||||||
|
$from_month = $request->input('from_month', null);
|
||||||
|
$to_month = $request->input('to_month', null);
|
||||||
|
$date = $request->input('date', null);
|
||||||
|
|
||||||
|
if(is_role(['1', '5'])){
|
||||||
|
$query = Report::with(['media.company', 'order.cooperation']);
|
||||||
|
}else if(is_role(['3'])){
|
||||||
|
$mediaId = Auth::user()->company->media->id;
|
||||||
|
$query = Report::with(['media.company', 'order.cooperation'])->where('media_id', '=', $mediaId);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($media[0])) {
|
||||||
|
$query->whereIn('media_id', $media);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($year) {
|
||||||
|
$query->whereYear('created_at', $year);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($from_month && $to_month) {
|
||||||
|
$start = Carbon::parse($from_month)->startOfMonth();
|
||||||
|
$end = Carbon::parse($to_month)->endOfMonth();
|
||||||
|
|
||||||
|
$query->whereBetween('created_at', [$start, $end]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($date) {
|
||||||
|
$query->whereDate('created_at', $date);
|
||||||
|
}
|
||||||
|
|
||||||
|
$data = $query->get();
|
||||||
|
|
||||||
|
return DataTables::of($data)
|
||||||
|
->addIndexColumn()
|
||||||
|
->addColumn('cooperation', function ($data) use ($media) {
|
||||||
|
return $data->order->cooperation->name;
|
||||||
|
})
|
||||||
|
->addColumn('media_name', function ($data) {
|
||||||
|
return $data->media->name;
|
||||||
|
})
|
||||||
|
->addColumn('company_name', function ($data) {
|
||||||
|
return $data->media->company->name;
|
||||||
|
})
|
||||||
|
->addColumn('email', function ($data) {
|
||||||
|
return $data->media->company->email;
|
||||||
|
})
|
||||||
|
->addColumn('date', function ($data){
|
||||||
|
return idn_date($data->created_at, 'l, d F Y');
|
||||||
|
})
|
||||||
|
->addColumn('status', function ($data) {
|
||||||
|
switch($data->status){
|
||||||
|
case 0:
|
||||||
|
return '<span class="badge bg-warning" style="display:inline-block;font-size:0.8rem;">Menunggu</span>';
|
||||||
|
case 1:
|
||||||
|
return '<span class="badge bg-success" style="display:inline-block;font-size:0.8rem;">Diterima</span>';
|
||||||
|
case 2:
|
||||||
|
return '<span class="badge bg-danger" style="display:inline-block;font-size:0.8rem;">Ditolak</span> <span class="badge bg-transparent"><a href="javascript:void(0);"
|
||||||
|
class="text-dark"
|
||||||
|
onclick="showDetail('.htmlspecialchars(json_encode(strip_tags($data->rejection_reason))).')"
|
||||||
|
style="margin-top:0.2rem;">
|
||||||
|
<em class="icon ni ni-eye"></em>
|
||||||
|
</a></span>';
|
||||||
|
default:
|
||||||
|
return '<span class="badge bg-secondary" style="display:inline-block;font-size:0.8rem;">Tidak Diketahui</span>';
|
||||||
|
}
|
||||||
|
})
|
||||||
|
->addColumn('action', function ($data){
|
||||||
|
$showUrl = route('dashboard.reports.show.index', ['id' => encrypt_id($data->id)]);
|
||||||
|
|
||||||
|
$printUrl = route('dashboard.reports.print.single', ['id' => encrypt_id($data->id)]);
|
||||||
|
|
||||||
|
$processUrl = route('dashboard.reports.process.index', ['id' => encrypt_id($data->id)]);
|
||||||
|
|
||||||
|
// $rejectUrl = route('dashboard.cooperation.completions.reject', ['id' => encrypt_id($data->id)]);
|
||||||
|
|
||||||
|
$dropdown = '<div class="dropdown" style="display:flex; justify-content:center;">
|
||||||
|
<a class="dropdown-toggle btn btn-icon btn-light" data-bs-toggle="dropdown"><em class="icon ni ni-more-v"></em></a>
|
||||||
|
<div class="dropdown-menu dropdown-menu-datatable-custom dropdown-menu-end">
|
||||||
|
<ul class="link-list-opt">
|
||||||
|
<li><a href="'.$showUrl.'"><em class="icon ni ni-eye"></em><span>Detail</span></a></li>';
|
||||||
|
|
||||||
|
// if (is_role(['1']) && $data->status === '0') {
|
||||||
|
// $dropdown .= '<li><a href="javascript: void(0);" onclick="itemConfirm(\''.$acceptUrl.'\', \'Apakah Anda yakin ingin menerima penyelesaian kerjasama ini?\', \'Ya, terima!\')"><em class="icon ni ni-check"></em><span>Terima</span></a></li>';
|
||||||
|
// }
|
||||||
|
|
||||||
|
if (is_role(['1', '5'])) {
|
||||||
|
$dropdown .= '<li><a href="'.$printUrl.'"><em class="icon ni ni-printer"></em><span>Cetak</span></a></li>';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_role(['1', '5']) && $data->status === '0') {
|
||||||
|
$dropdown .= '<li><a href="'.$processUrl.'"><em class="icon ni ni-loader"></em><span>Proses</span></a></li>';
|
||||||
|
}
|
||||||
|
|
||||||
|
$dropdown .= '</ul>
|
||||||
|
</div>
|
||||||
|
</div>';
|
||||||
|
|
||||||
|
return $dropdown;
|
||||||
|
})
|
||||||
|
|
||||||
|
->rawColumns(['status', 'action'])
|
||||||
|
->make(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
return response()->json(['error' => 'Unauthorized'], 401);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public function cooperationArchive(Request $request){
|
public function cooperationArchive(Request $request){
|
||||||
if ($request->ajax()) {
|
if ($request->ajax()) {
|
||||||
|
|
||||||
|
|||||||
@ -2,15 +2,33 @@
|
|||||||
|
|
||||||
namespace App\Http\Controllers\Dashboard;
|
namespace App\Http\Controllers\Dashboard;
|
||||||
|
|
||||||
|
use App\Exports\ReportExport;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Http\Requests\ReportRequest;
|
use App\Http\Requests\ReportRequest;
|
||||||
use App\Models\Announcement;
|
use App\Models\Announcement;
|
||||||
|
use App\Models\Media;
|
||||||
use App\Models\Report;
|
use App\Models\Report;
|
||||||
|
use Barryvdh\DomPDF\Facade\Pdf;
|
||||||
|
use Carbon\Carbon;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use Maatwebsite\Excel\Facades\Excel;
|
||||||
|
|
||||||
class ReportController extends Controller
|
class ReportController extends Controller
|
||||||
{
|
{
|
||||||
|
|
||||||
|
public function index(Request $request){
|
||||||
|
return view('dashboard.reports.index', [
|
||||||
|
'mediaCollection' => Media::all(),
|
||||||
|
'title' => 'Laporan Bukti Tayang',
|
||||||
|
'media' => $request->input('media', []),
|
||||||
|
'date' => $request->input('date', null),
|
||||||
|
'from_month' => $request->input('from_month', null),
|
||||||
|
'to_month' => $request->input('to_month', null),
|
||||||
|
'year' => $request->input('year', null),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
public function create($id){
|
public function create($id){
|
||||||
return view('dashboard.reports.create', [
|
return view('dashboard.reports.create', [
|
||||||
'title' => 'Buat Laporan',
|
'title' => 'Buat Laporan',
|
||||||
@ -83,6 +101,24 @@ public function show($mediaOrderId, $id){
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function showIndex($id){
|
||||||
|
$report = Report::findOrFail(decrypt_id($id));
|
||||||
|
|
||||||
|
return view('dashboard.reports.index.show', [
|
||||||
|
'title' => 'Detail Penyelesaian Kerjasama',
|
||||||
|
'report' => $report
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function processIndex($id){
|
||||||
|
$report = Report::findOrFail(decrypt_id($id));
|
||||||
|
|
||||||
|
return view('dashboard.reports.index.process', [
|
||||||
|
'title' => 'Detail Penyelesaian Kerjasama',
|
||||||
|
'report' => $report
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
public function accept($id){
|
public function accept($id){
|
||||||
$report = Report::findOrFail(decrypt_id($id));
|
$report = Report::findOrFail(decrypt_id($id));
|
||||||
|
|
||||||
@ -152,6 +188,41 @@ public function rejectAction(Request $request, $mediaOrderId, $id){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function rejectActionIndex(Request $request, $id){
|
||||||
|
$validatedData = $request->validate([
|
||||||
|
'rejection_reason' => ['required'],
|
||||||
|
], [
|
||||||
|
'rejection_reason.required' => 'Alasan penolakan wajib diisi.',
|
||||||
|
]);
|
||||||
|
|
||||||
|
try{
|
||||||
|
$report = Report::findOrFail(decrypt_id($id));
|
||||||
|
|
||||||
|
$rejectedReport = $report->update([
|
||||||
|
'status' => '2',
|
||||||
|
'rejection_reason' => $validatedData['rejection_reason']
|
||||||
|
]);
|
||||||
|
|
||||||
|
// Announcements
|
||||||
|
$announcementData = [
|
||||||
|
'headline' => 'Laporan bukti tayang kerjasama <u>'. $report->order->cooperation->name .'</u> telah <span class="text-danger">ditolak</span>',
|
||||||
|
'content' => '<p>Admin telah menolak laporan bukti tayang Anda.</p>',
|
||||||
|
'enhancer_id' => Auth::id()
|
||||||
|
];
|
||||||
|
$createdAnnouncement = Announcement::create($announcementData);
|
||||||
|
$createdAnnouncement->users()->attach($report->media->company->user->id, ['category' => 'system']);
|
||||||
|
// End Announcements
|
||||||
|
|
||||||
|
if ($rejectedReport) {
|
||||||
|
return redirect()->back()->with('success-status', 'Berhasil menolak laporan bukti tayang.');
|
||||||
|
} else {
|
||||||
|
return redirect()->back()->with('failed-status', 'Gagal menolak laporan bukti tayang');
|
||||||
|
}
|
||||||
|
}catch(\Exception $e){
|
||||||
|
return redirect()->back()->with('failed-status', 'Gagal menolak laporan bukti tayang');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public function destroy($id){
|
public function destroy($id){
|
||||||
try {
|
try {
|
||||||
$report = Report::findOrFail(decrypt_id($id));
|
$report = Report::findOrFail(decrypt_id($id));
|
||||||
@ -175,4 +246,70 @@ public function checkLink(Request $request)
|
|||||||
'exists' => $linkExists
|
'exists' => $linkExists
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function export(Request $request)
|
||||||
|
{
|
||||||
|
try{
|
||||||
|
$export_type = $request->input('export_type', 'excel');
|
||||||
|
|
||||||
|
$media = $request->input('media', null);
|
||||||
|
$year = $request->input('year', null);
|
||||||
|
$from_month = $request->input('from_month', null);
|
||||||
|
$to_month = $request->input('to_month', null);
|
||||||
|
$date = $request->input('date', null);
|
||||||
|
|
||||||
|
if($export_type === 'excel'){
|
||||||
|
$formattedNow = Carbon::parse(now())->locale('id')->translatedFormat('d-m-Y');
|
||||||
|
return Excel::download(new ReportExport($media, $year, $from_month, $to_month, $date), 'reports-'.$formattedNow.'.xlsx');
|
||||||
|
}elseif($export_type === 'pdf'){
|
||||||
|
if(is_role(['1', '5'])){
|
||||||
|
$query = Report::with(['media.company', 'order.cooperation']);
|
||||||
|
}else if(is_role(['3'])){
|
||||||
|
$mediaId = Auth::user()->company->media->id;
|
||||||
|
$query = Report::with(['media.company', 'order.cooperation'])->where('media_id', '=', $mediaId);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($media) && is_array($media)) {
|
||||||
|
$query->whereIn('media_id', $media);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($year) {
|
||||||
|
$query->whereYear('created_at', $year);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($from_month && $to_month) {
|
||||||
|
$start = Carbon::parse($from_month)->startOfMonth();
|
||||||
|
$end = Carbon::parse($to_month)->endOfMonth();
|
||||||
|
|
||||||
|
$query->whereBetween('created_at', [$start, $end]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($date) {
|
||||||
|
$query->whereDate('created_at', $date);
|
||||||
|
}
|
||||||
|
|
||||||
|
$reports = $query->get();
|
||||||
|
|
||||||
|
$pdf = Pdf::loadView('dashboard.reports.prints.collection', compact('reports'));
|
||||||
|
|
||||||
|
return $pdf->stream(slugify('laporan bukti tayang ').'.pdf');
|
||||||
|
}
|
||||||
|
|
||||||
|
}catch(\Exception $e){
|
||||||
|
return redirect()->back()->with('failed-status', 'Gagal melakukan proses export data.');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function singlePrint(){
|
||||||
|
try{
|
||||||
|
$report = Report::with(['media.company', 'order.cooperation'])->first();
|
||||||
|
|
||||||
|
$pdf = Pdf::loadView('dashboard.reports.prints.single', compact('report'));
|
||||||
|
|
||||||
|
return $pdf->stream(slugify('laporan bukti tayang '. $report->title. ' '. $report->media->name).'.pdf');
|
||||||
|
}catch(\Exception $e){
|
||||||
|
return redirect()->back()->with('failed-status', 'Gagal melakukan proses print data.');
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -90,7 +90,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label" for="year">Tahun</label>
|
<label class="form-label" for="year">Tahun</label>
|
||||||
<div class="form-control-wrap">
|
<div class="form-control-wrap">
|
||||||
<input type="number" class="form-control" id="year" placeholder="Data kerjasama pada tahun" name="year" value="{{ old('year', $year ?? '') }}">
|
<input type="number" class="form-control" id="year" placeholder="Contoh: 2025" name="year" value="{{ old('year', $year ?? '') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
@ -130,7 +130,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="form-label" for="year">Tahun</label>
|
<label class="form-label" for="year">Tahun</label>
|
||||||
<div class="form-control-wrap">
|
<div class="form-control-wrap">
|
||||||
<input type="number" class="form-control" id="year" placeholder="Data kerjasama pada tahun" name="year" value="{{ old('year', $year ?? '') }}">
|
<input type="number" class="form-control" id="year" placeholder="Contoh: 2025" name="year" value="{{ old('year', $year ?? '') }}">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
|
|||||||
225
resources/views/dashboard/reports/index.blade.php
Normal file
225
resources/views/dashboard/reports/index.blade.php
Normal file
@ -0,0 +1,225 @@
|
|||||||
|
@include('partials.dashboard.head')
|
||||||
|
@include('partials.dashboard.sidebar', ['page' => 'reports'])
|
||||||
|
@include('partials.dashboard.header')
|
||||||
|
<!-- content @s -->
|
||||||
|
<div class="nk-content ">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="nk-content-inner">
|
||||||
|
<div class="nk-content-body">
|
||||||
|
<div class="nk-block-head nk-block-head-sm">
|
||||||
|
<div class="nk-block-between">
|
||||||
|
<div class="nk-block-head-content">
|
||||||
|
<h3 class="nk-block-title page-title">{{$title}}</h3>
|
||||||
|
</div><!-- .nk-block-head-content -->
|
||||||
|
@if (is_role(['1']))
|
||||||
|
<div class="nk-block-head-content">
|
||||||
|
<div class="toggle-wrap nk-block-tools-toggle">
|
||||||
|
<a href="#" class="btn btn-icon btn-trigger toggle-expand me-n1" data-target="pageMenu"><em class="icon ni ni-more-v"></em></a>
|
||||||
|
<div class="toggle-expand-content" data-content="pageMenu">
|
||||||
|
<ul class="nk-block-tools g-3">
|
||||||
|
{{-- <li>
|
||||||
|
<div class="drodown">
|
||||||
|
<a href="#" class="dropdown-toggle btn btn-white btn-dim btn-outline-light" data-bs-toggle="dropdown"><em class="d-none d-sm-inline icon ni ni-calender-date"></em><span><span class="d-none d-md-inline">Last</span> 30 Days</span><em class="dd-indc icon ni ni-chevron-right"></em></a>
|
||||||
|
<div class="dropdown-menu dropdown-menu-end">
|
||||||
|
<ul class="link-list-opt no-bdr">
|
||||||
|
<li><a href="#"><span>Last 30 Days</span></a></li>
|
||||||
|
<li><a href="#"><span>Last 6 Months</span></a></li>
|
||||||
|
<li><a href="#"><span>Last 1 Years</span></a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li> --}}
|
||||||
|
<li>
|
||||||
|
@if ((filled(value: $media) && $media[0] !== 'nothing') || filled(value: $date) || (filled(value: $from_month) && filled(value: $to_month)) ||filled(value: $year))
|
||||||
|
<span class="mx-1">
|
||||||
|
<a href="{{route('dashboard.reports.index')}}" class="text-secondary">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" class="icon icon-tabler icons-tabler-filled icon-tabler-xbox-x"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M12 2c5.523 0 10 4.477 10 10s-4.477 10 -10 10s-10 -4.477 -10 -10s4.477 -10 10 -10m3.6 5.2a1 1 0 0 0 -1.4 .2l-2.2 2.933l-2.2 -2.933a1 1 0 1 0 -1.6 1.2l2.55 3.4l-2.55 3.4a1 1 0 1 0 1.6 1.2l2.2 -2.933l2.2 2.933a1 1 0 0 0 1.6 -1.2l-2.55 -3.4l2.55 -3.4a1 1 0 0 0 -.2 -1.4" /></svg>
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
|
@endif
|
||||||
|
<div>
|
||||||
|
<a href="javascript: void(0);" class="btn btn-white btn-dim btn-outline-light" data-bs-toggle="modal" data-bs-target="#modalFilter"><em class="d-none d-sm-inline icon ni ni-filter"></em><span><span class="d-none d-md-inline">Filter</a>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div>
|
||||||
|
<a href="javascript: void(0);" class="btn btn-info" data-bs-toggle="modal" data-bs-target="#modalExport"><em class="d-none d-sm-inline icon ni ni-upload"></em><span><span class="d-none d-md-inline">Export</a>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><!-- .nk-block-head-content -->
|
||||||
|
@endif
|
||||||
|
</div><!-- .nk-block-between -->
|
||||||
|
</div><!-- .nk-block-head -->
|
||||||
|
{{-- {{dd($media)}} --}}
|
||||||
|
<div class="nk-block nk-block-lg">
|
||||||
|
<div class="card card-bordered card-preview">
|
||||||
|
<div class="card-inner">
|
||||||
|
<div class="table-responsive">
|
||||||
|
<table class="table table-striped table-bordered nowrap" id="reportsIndexTable" border="1">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th style="width: 10% !important;">No</th>
|
||||||
|
<th>Kerjasama</th>
|
||||||
|
<th>Perusahan</th>
|
||||||
|
<th>Media</th>
|
||||||
|
<th>Tanggal Melapor</th>
|
||||||
|
{{-- <th>Tanggal Mulai Pengajuan</th>
|
||||||
|
<th>Tanggal Akhir Pengajuan</th> --}}
|
||||||
|
<th>Status</th>
|
||||||
|
<th style="width: 10% !important;"></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal fade" id="modalFilter">
|
||||||
|
<div class="modal-dialog" role="document">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title">Filter</h5>
|
||||||
|
<a href="javascript:void(0);" class="close" data-bs-dismiss="modal" aria-label="Close">
|
||||||
|
<em class="icon ni ni-cross"></em>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<form action="{{route('dashboard.reports.index')}}" class="form-validate is-alter" method="get">
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Media</label>
|
||||||
|
<div class="form-control-wrap">
|
||||||
|
<select class="form-select js-select2" multiple="multiple" data-placeholder="Media" name="media[]">
|
||||||
|
@foreach ($mediaCollection as $item)
|
||||||
|
<option value="{{$item->id}}">{{$item->name}}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label" for="year">Tahun</label>
|
||||||
|
<div class="form-control-wrap">
|
||||||
|
<input type="number" class="form-control" id="year" placeholder="Contoh: 2025" name="year" value="{{ old('year', $year ?? '') }}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="form-group col-md-6">
|
||||||
|
<label class="form-label" for="from_month">Dari Bulan</label>
|
||||||
|
<div class="form-control-wrap">
|
||||||
|
<input type="month" class="form-control" id="from_month" placeholder="Data berita pada bulan dan tahun" name="from_month" value="{{ old('from_month', $from_month ?? '') }}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-md-6">
|
||||||
|
<label class="form-label" for="to_month">Sampai Bulan</label>
|
||||||
|
<div class="form-control-wrap">
|
||||||
|
<input type="month" class="form-control" id="to_month" placeholder="Data berita pada bulan dan tahun" name="to_month" value="{{ old('to_month', $to_month ?? '') }}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{-- <div class="form-group">
|
||||||
|
<label class="form-label" for="month">Bulan</label>
|
||||||
|
<div class="form-control-wrap">
|
||||||
|
<input type="month" class="form-control" id="month" placeholder="Data berita pada bulan dan tahun" name="month" value="{{ old('month', $month ?? '') }}">
|
||||||
|
</div>
|
||||||
|
</div> --}}
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label" for="date">Tanggal</label>
|
||||||
|
<div class="form-control-wrap">
|
||||||
|
<input type="date" class="form-control" id="date" placeholder="Data berita pada bulan dan tahun" name="date" value="{{ old('date', $date ?? '') }}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer bg-light">
|
||||||
|
<span class="sub-text">
|
||||||
|
<button type="submit" class="btn btn-sm btn-primary">Filter</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal fade" id="modalExport">
|
||||||
|
<div class="modal-dialog" role="document">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title">Export</h5>
|
||||||
|
<a href="javascript:void(0);" class="close" data-bs-dismiss="modal" aria-label="Close">
|
||||||
|
<em class="icon ni ni-cross"></em>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<form action="{{route('dashboard.reports.export')}}" class="form-validate is-alter" method="post">
|
||||||
|
@csrf
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label" for="year">Tipe Dokumen</label>
|
||||||
|
<div class="form-control-wrap">
|
||||||
|
<ul class="custom-control-group">
|
||||||
|
<li>
|
||||||
|
<div class="custom-control custom-control-sm custom-radio custom-control-pro">
|
||||||
|
<input type="radio" class="custom-control-input" name="export_type" id="exportType1" checked value="excel">
|
||||||
|
<label class="custom-control-label" for="exportType1">Excel</label>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div class="custom-control custom-control-sm custom-radio custom-control-pro">
|
||||||
|
<input type="radio" class="custom-control-input" name="export_type" id="exportType2" value="pdf">
|
||||||
|
<label class="custom-control-label" for="exportType2">PDF</label>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label">Media</label>
|
||||||
|
<div class="form-control-wrap">
|
||||||
|
<select class="form-select js-select2" multiple="multiple" data-placeholder="Media" name="media[]">
|
||||||
|
@foreach ($mediaCollection as $item)
|
||||||
|
<option value="{{$item->id}}">{{$item->name}}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label" for="year">Tahun</label>
|
||||||
|
<div class="form-control-wrap">
|
||||||
|
<input type="number" class="form-control" id="year" placeholder="Contoh: 2025" name="year" value="{{ old('year', $year ?? '') }}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="form-group col-md-6">
|
||||||
|
<label class="form-label" for="from_month">Dari Bulan</label>
|
||||||
|
<div class="form-control-wrap">
|
||||||
|
<input type="month" class="form-control" id="from_month" placeholder="Data berita pada bulan dan tahun" name="from_month" value="{{ old('from_month', $from_month ?? '') }}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group col-md-6">
|
||||||
|
<label class="form-label" for="to_month">Sampai Bulan</label>
|
||||||
|
<div class="form-control-wrap">
|
||||||
|
<input type="month" class="form-control" id="to_month" placeholder="Data berita pada bulan dan tahun" name="to_month" value="{{ old('to_month', $to_month ?? '') }}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label" for="date">Tanggal</label>
|
||||||
|
<div class="form-control-wrap">
|
||||||
|
<input type="date" class="form-control" id="date" placeholder="Data berita pada bulan dan tahun" name="date" value="{{ old('date', $date ?? '') }}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer bg-light">
|
||||||
|
<span class="sub-text">
|
||||||
|
<button type="submit" class="btn btn-sm btn-primary">Export</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- content @e -->
|
||||||
|
@include('partials.dashboard.footer' ,['datatable' => 'report_index'])
|
||||||
183
resources/views/dashboard/reports/index/process.blade.php
Normal file
183
resources/views/dashboard/reports/index/process.blade.php
Normal file
@ -0,0 +1,183 @@
|
|||||||
|
@include('partials.dashboard.head')
|
||||||
|
@include('partials.dashboard.sidebar', ['page' => 'reports'])
|
||||||
|
@include('partials.dashboard.header')
|
||||||
|
<!-- content @s -->
|
||||||
|
<div class="nk-content ">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="nk-content-inner">
|
||||||
|
<div class="nk-content-body">
|
||||||
|
<div class="nk-block nk-block-lg">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-aside-wrap">
|
||||||
|
<div class="card-content">
|
||||||
|
<ul class="nav nav-tabs nav-tabs-mb-icon nav-tabs-card">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link text-primary" href="#"><em class="icon ni ni-info"></em><span>Detail Laporan Bukti Tayang</span></a>
|
||||||
|
</li>
|
||||||
|
</ul><!-- .nav-tabs -->
|
||||||
|
<div class="card-inner">
|
||||||
|
<div class="nk-block">
|
||||||
|
{{-- <div class="nk-block-head">
|
||||||
|
<h5 class="title">Personal Information</h5>
|
||||||
|
<p>Basic info, like your name and address, that you use on Nio Platform.</p>
|
||||||
|
</div> --}}
|
||||||
|
<div class="profile-ud-list">
|
||||||
|
<div class="profile-ud-item">
|
||||||
|
<div class="profile-ud wider">
|
||||||
|
<span class="profile-ud-label">Judul Konten</span>
|
||||||
|
<span class="profile-ud-value">{{$report->title}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="profile-ud-item">
|
||||||
|
<div class="profile-ud wider">
|
||||||
|
<span class="profile-ud-label">Tanggal Publikasi</span>
|
||||||
|
<span class="profile-ud-value">{{idn_date($report->publication_date, 'l, d F Y')}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="profile-ud-item">
|
||||||
|
<div class="profile-ud wider">
|
||||||
|
<span class="profile-ud-label">Link</span>
|
||||||
|
<span class="profile-ud-value">
|
||||||
|
@if ($report->link != '')
|
||||||
|
<a href="{{$report->link}}" target="__blank">{{$report->link}}</a>
|
||||||
|
@else
|
||||||
|
-
|
||||||
|
@endif
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="profile-ud-item">
|
||||||
|
<div class="profile-ud wider">
|
||||||
|
<span class="profile-ud-label">Status</span>
|
||||||
|
<span class="profile-ud-value">
|
||||||
|
@if ($report->status === '0')
|
||||||
|
<span class="profile-ud-value"><span class="badge bg-warning">Menunggu</span></span>
|
||||||
|
@elseif($report->status === '1')
|
||||||
|
<span class="profile-ud-value"><span class="badge bg-success">Menerima</span></span>
|
||||||
|
@elseif($report->status === '2')
|
||||||
|
<span class="profile-ud-value"><span class="badge bg-danger">Ditolak</span></span>
|
||||||
|
@else
|
||||||
|
<span class="profile-ud-value"><span class="badge bg-secondary">Tidak Diketahui</span></span>
|
||||||
|
@endif
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="profile-ud-item">
|
||||||
|
<div class="profile-ud wider">
|
||||||
|
<span class="profile-ud-label">Tanggal Melaporkan</span>
|
||||||
|
<span class="profile-ud-value">{{idn_date($report->created_at, 'l, d F Y')}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><!-- .profile-ud-list -->
|
||||||
|
</div><!-- .nk-block -->
|
||||||
|
<div class="nk-block">
|
||||||
|
<div class="nk-block-head nk-block-head-sm nk-block-between">
|
||||||
|
<span class="profile-ud-label">Deskripsi</span>
|
||||||
|
</div><!-- .nk-block-head -->
|
||||||
|
<div class="bq-note">
|
||||||
|
<div class="bq-note-item">
|
||||||
|
<div class="bq-note-text">
|
||||||
|
{!!$report->description!!}
|
||||||
|
</div>
|
||||||
|
</div><!-- .bq-note-item -->
|
||||||
|
</div><!-- .bq-note -->
|
||||||
|
</div><!-- .nk-block -->
|
||||||
|
<div class="nk-block">
|
||||||
|
<div class="nk-block-head nk-block-head-sm nk-block-between">
|
||||||
|
<span class="profile-ud-label">Gambar</span>
|
||||||
|
</div><!-- .nk-block-head -->
|
||||||
|
<div class="bq-note">
|
||||||
|
<div class="bq-note-item">
|
||||||
|
<div class="bq-note-text">
|
||||||
|
@if (is_file_exists('uploads/reports/'.$report->proof))
|
||||||
|
<img src="{{asset('storage/uploads/reports/'. $report->proof)}}" alt="">
|
||||||
|
@else
|
||||||
|
Tidak ada gambar
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div><!-- .bq-note-item -->
|
||||||
|
</div><!-- .bq-note -->
|
||||||
|
</div><!-- .nk-block -->
|
||||||
|
@if ($report->status !== '2')
|
||||||
|
<div class="nk-block d-flex justify-content-end">
|
||||||
|
<a href="{{route('dashboard.reports.index')}}" class="btn btn-white btn-dim btn-outline-light mx-2"><span>Kembali</span></a>
|
||||||
|
@if ($report->status === '0')
|
||||||
|
<a href="javascript:void(0);" class="btn btn-danger mx-1" data-bs-toggle="modal" data-bs-target="#modalForm">
|
||||||
|
<em class="icon ni ni-cross"></em><span>Tolak</span>
|
||||||
|
</a>
|
||||||
|
<a href="javascript:void(0);"
|
||||||
|
onclick="itemConfirm('{{ route('dashboard.reports.accept', ['id' => encrypt_id($report->id)]) }}', 'Apakah Anda yakin ingin menerima laporan bukti tayang ini?', 'Ya, terima!')"
|
||||||
|
class="btn btn-primary">
|
||||||
|
<em class="icon ni ni-check"></em><span>Terima</span>
|
||||||
|
</a>
|
||||||
|
@endif
|
||||||
|
</div><!-- .nk-block -->
|
||||||
|
@endif
|
||||||
|
</div><!-- .card-inner -->
|
||||||
|
</div><!-- .card-content -->
|
||||||
|
</div><!-- .card-aside-wrap -->
|
||||||
|
</div>
|
||||||
|
@if ($report->status === '2')
|
||||||
|
<div class="card card-bordered card-preview">
|
||||||
|
<ul class="nav nav-tabs nav-tabs-mb-icon nav-tabs-card">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link text-warning" href="#"><em class="icon ni ni-na"></em><span>Data Penolakan</span></a>
|
||||||
|
</li>
|
||||||
|
</ul><!-- .nav-tabs -->
|
||||||
|
<div class="card-inner">
|
||||||
|
{{-- {{dd($mediaCooperationPivot->status != '0')}} --}}
|
||||||
|
<form action="#" method="post">
|
||||||
|
@csrf
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label" for="rejection_reason">Alasan Ditolak </label>
|
||||||
|
<div class="bq-note">
|
||||||
|
<div class="bq-note-item">
|
||||||
|
<div class="bq-note-text">
|
||||||
|
{!!$report->rejection_reason!!}
|
||||||
|
</div>
|
||||||
|
</div><!-- .bq-note-item -->
|
||||||
|
</div><!-- .bq-note -->
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<div class="nk-block d-flex justify-content-end">
|
||||||
|
<a href="{{route('dashboard.reports.index')}}" class="btn btn-white btn-dim btn-outline-light mx-2"><span>Kembali</span></a>
|
||||||
|
</div><!-- .nk-block -->
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
<div class="modal fade" id="modalForm">
|
||||||
|
<div class="modal-dialog" role="document">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title">Tolak Bukti Penyelesaian</h5>
|
||||||
|
<a href="#" class="close" data-bs-dismiss="modal" aria-label="Close">
|
||||||
|
<em class="icon ni ni-cross"></em>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<form action="{{route('dashboard.reports.reject.action.index', ['id' => encrypt_id($report->id)])}}" class="form-validate is-alter" method="post" id="myForm">
|
||||||
|
@csrf
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label" for="full-name">Alasan Menolak</label>
|
||||||
|
<div class="form-control-wrap">
|
||||||
|
<textarea class="tinymce-basic form-control" name="rejection_reason" id="rejection_reason" >{!!old('rejection_reason')!!}</textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer bg-light">
|
||||||
|
<span class="sub-text">
|
||||||
|
<button type="button" class="btn btn-md btn-primary" id="submitButton">Kirim</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- content @e -->
|
||||||
|
@include('partials.dashboard.footer', ['rich_editor' => false])
|
||||||
145
resources/views/dashboard/reports/index/show.blade.php
Normal file
145
resources/views/dashboard/reports/index/show.blade.php
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
@include('partials.dashboard.head')
|
||||||
|
@include('partials.dashboard.sidebar', ['page' => 'reports'])
|
||||||
|
@include('partials.dashboard.header')
|
||||||
|
<!-- content @s -->
|
||||||
|
<div class="nk-content ">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="nk-content-inner">
|
||||||
|
<div class="nk-content-body">
|
||||||
|
<div class="nk-block nk-block-lg">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-aside-wrap">
|
||||||
|
<div class="card-content">
|
||||||
|
<ul class="nav nav-tabs nav-tabs-mb-icon nav-tabs-card">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link text-primary" href="#"><em class="icon ni ni-info"></em><span>Detail Laporan Bukti Tayang</span></a>
|
||||||
|
</li>
|
||||||
|
</ul><!-- .nav-tabs -->
|
||||||
|
<div class="card-inner">
|
||||||
|
<div class="nk-block">
|
||||||
|
{{-- <div class="nk-block-head">
|
||||||
|
<h5 class="title">Personal Information</h5>
|
||||||
|
<p>Basic info, like your name and address, that you use on Nio Platform.</p>
|
||||||
|
</div> --}}
|
||||||
|
<div class="profile-ud-list">
|
||||||
|
<div class="profile-ud-item">
|
||||||
|
<div class="profile-ud wider">
|
||||||
|
<span class="profile-ud-label">Judul Konten</span>
|
||||||
|
<span class="profile-ud-value">{{$report->title}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="profile-ud-item">
|
||||||
|
<div class="profile-ud wider">
|
||||||
|
<span class="profile-ud-label">Tanggal Publikasi</span>
|
||||||
|
<span class="profile-ud-value">{{idn_date($report->publication_date, 'l, d F Y')}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="profile-ud-item">
|
||||||
|
<div class="profile-ud wider">
|
||||||
|
<span class="profile-ud-label">Link</span>
|
||||||
|
<span class="profile-ud-value">
|
||||||
|
@if ($report->link != '')
|
||||||
|
<a href="{{$report->link}}" target="__blank">{{$report->link}}</a>
|
||||||
|
@else
|
||||||
|
-
|
||||||
|
@endif
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="profile-ud-item">
|
||||||
|
<div class="profile-ud wider">
|
||||||
|
<span class="profile-ud-label">Status</span>
|
||||||
|
<span class="profile-ud-value">
|
||||||
|
@if ($report->status === '0')
|
||||||
|
<span class="profile-ud-value"><span class="badge bg-warning">Menunggu</span></span>
|
||||||
|
@elseif($report->status === '1')
|
||||||
|
<span class="profile-ud-value"><span class="badge bg-success">Menerima</span></span>
|
||||||
|
@elseif($report->status === '2')
|
||||||
|
<span class="profile-ud-value"><span class="badge bg-danger">Ditolak</span></span>
|
||||||
|
@else
|
||||||
|
<span class="profile-ud-value"><span class="badge bg-secondary">Tidak Diketahui</span></span>
|
||||||
|
@endif
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="profile-ud-item">
|
||||||
|
<div class="profile-ud wider">
|
||||||
|
<span class="profile-ud-label">Tanggal Melaporkan</span>
|
||||||
|
<span class="profile-ud-value">{{idn_date($report->created_at, 'l, d F Y')}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><!-- .profile-ud-list -->
|
||||||
|
</div><!-- .nk-block -->
|
||||||
|
<div class="nk-block">
|
||||||
|
<div class="nk-block-head nk-block-head-sm nk-block-between">
|
||||||
|
<span class="profile-ud-label">Deskripsi</span>
|
||||||
|
</div><!-- .nk-block-head -->
|
||||||
|
<div class="bq-note">
|
||||||
|
<div class="bq-note-item">
|
||||||
|
<div class="bq-note-text">
|
||||||
|
{!!$report->description!!}
|
||||||
|
</div>
|
||||||
|
</div><!-- .bq-note-item -->
|
||||||
|
</div><!-- .bq-note -->
|
||||||
|
</div><!-- .nk-block -->
|
||||||
|
<div class="nk-block">
|
||||||
|
<div class="nk-block-head nk-block-head-sm nk-block-between">
|
||||||
|
<span class="profile-ud-label">Gambar</span>
|
||||||
|
</div><!-- .nk-block-head -->
|
||||||
|
<div class="bq-note">
|
||||||
|
<div class="bq-note-item">
|
||||||
|
<div class="bq-note-text">
|
||||||
|
@if (is_file_exists('uploads/reports/'.$report->proof))
|
||||||
|
<img src="{{asset('storage/uploads/reports/'. $report->proof)}}" alt="">
|
||||||
|
@else
|
||||||
|
Tidak ada gambar
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div><!-- .bq-note-item -->
|
||||||
|
</div><!-- .bq-note -->
|
||||||
|
</div><!-- .nk-block -->
|
||||||
|
@if ($report->status !== '2')
|
||||||
|
<div class="nk-block d-flex justify-content-end">
|
||||||
|
<a href="{{route('dashboard.reports.index')}}" class="btn btn-white btn-dim btn-outline-light mx-2"><span>Kembali</span></a>
|
||||||
|
</div><!-- .nk-block -->
|
||||||
|
@endif
|
||||||
|
</div><!-- .card-inner -->
|
||||||
|
</div><!-- .card-content -->
|
||||||
|
</div><!-- .card-aside-wrap -->
|
||||||
|
</div>
|
||||||
|
@if ($report->status === '2')
|
||||||
|
<div class="card card-bordered card-preview">
|
||||||
|
<ul class="nav nav-tabs nav-tabs-mb-icon nav-tabs-card">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link text-warning" href="#"><em class="icon ni ni-na"></em><span>Data Penolakan</span></a>
|
||||||
|
</li>
|
||||||
|
</ul><!-- .nav-tabs -->
|
||||||
|
<div class="card-inner">
|
||||||
|
{{-- {{dd($mediaCooperationPivot->status != '0')}} --}}
|
||||||
|
<form action="#" method="post">
|
||||||
|
@csrf
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="form-label" for="rejection_reason">Alasan Ditolak </label>
|
||||||
|
<div class="bq-note">
|
||||||
|
<div class="bq-note-item">
|
||||||
|
<div class="bq-note-text">
|
||||||
|
{!!$report->rejection_reason!!}
|
||||||
|
</div>
|
||||||
|
</div><!-- .bq-note-item -->
|
||||||
|
</div><!-- .bq-note -->
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<div class="nk-block d-flex justify-content-end">
|
||||||
|
<a href="{{route('dashboard.reports.index')}}" class="btn btn-white btn-dim btn-outline-light mx-2"><span>Kembali</span></a>
|
||||||
|
</div><!-- .nk-block -->
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- content @e -->
|
||||||
|
@include('partials.dashboard.footer', ['rich_editor' => false])
|
||||||
177
resources/views/dashboard/reports/prints/collection.blade.php
Normal file
177
resources/views/dashboard/reports/prints/collection.blade.php
Normal file
@ -0,0 +1,177 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="id">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Laporan Bukti Tayang</title>
|
||||||
|
<style>
|
||||||
|
@page {
|
||||||
|
size: A4;
|
||||||
|
margin: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
body::before {
|
||||||
|
content: "";
|
||||||
|
position: fixed;
|
||||||
|
top: 40%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
width: 200px;
|
||||||
|
height: 200px;
|
||||||
|
background-image: url('{{ public_path('assets/defaults/simedkom-logo-circle.png') }}');
|
||||||
|
background-size: contain;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
opacity: 0.03;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
header .icon {
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
header .icon img {
|
||||||
|
width: 150px;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 100%;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
border-bottom: 2px solid #e0e0e0;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header h2 {
|
||||||
|
font-size: 18px;
|
||||||
|
color: #3A59D1;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
width: 100%;
|
||||||
|
border-collapse: collapse;
|
||||||
|
table-layout: fixed;
|
||||||
|
}
|
||||||
|
|
||||||
|
thead {
|
||||||
|
background-color: #f4f4f4;
|
||||||
|
}
|
||||||
|
|
||||||
|
th, td {
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
padding: 6px;
|
||||||
|
vertical-align: top;
|
||||||
|
text-align: left;
|
||||||
|
word-break: break-word;
|
||||||
|
overflow-wrap: break-word;
|
||||||
|
font-size: 11px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.link-cell {
|
||||||
|
max-width: 150px;
|
||||||
|
}
|
||||||
|
|
||||||
|
img.proof-img {
|
||||||
|
width: 80px;
|
||||||
|
height: 80px;
|
||||||
|
object-fit: cover;
|
||||||
|
display: block;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
text-align: right;
|
||||||
|
font-size: 10px;
|
||||||
|
color: #888;
|
||||||
|
margin-top: 30px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header>
|
||||||
|
<div class="icon">
|
||||||
|
<img src="{{ public_path('assets/defaults/simedkom-logo-full.png') }}" alt="Logo">
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
<div class="header">
|
||||||
|
<h2>Laporan Bukti Tayang</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th style="width: 5%;">No</th>
|
||||||
|
<th>Kerja Sama</th>
|
||||||
|
<th>Media</th>
|
||||||
|
<th>Perusahaan</th>
|
||||||
|
<th class="link-cell">Link</th>
|
||||||
|
<th>Tgl Publikasi</th>
|
||||||
|
<th>Tgl Melapor</th>
|
||||||
|
<th>Status</th>
|
||||||
|
<th>Bukti</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@foreach($reports as $i => $report)
|
||||||
|
<tr>
|
||||||
|
<td>{{ $i + 1 }}</td>
|
||||||
|
<td>{{ $report->order->cooperation->name }}</td>
|
||||||
|
<td>{{ $report->media->name }}</td>
|
||||||
|
<td>{{ $report->media->company->name }}</td>
|
||||||
|
<td class="link-cell">
|
||||||
|
@if (filled($report->link))
|
||||||
|
<a href="{{ $report->link }}" target="_blank">{{ $report->link }}</a>
|
||||||
|
@else
|
||||||
|
<i>Tidak ada</i>
|
||||||
|
@endif
|
||||||
|
</td>
|
||||||
|
<td>{{ \Carbon\Carbon::parse($report->publication_date)->locale('id')->translatedFormat('l, d F Y') }}</td>
|
||||||
|
<td>{{ \Carbon\Carbon::parse($report->created_at)->locale('id')->translatedFormat('l, d F Y') }}</td>
|
||||||
|
<td>
|
||||||
|
@if ($report->status === '0')
|
||||||
|
Menunggu
|
||||||
|
@elseif ($report->status === '1')
|
||||||
|
Diterima
|
||||||
|
@elseif ($report->status === '2')
|
||||||
|
Ditolak
|
||||||
|
@endif
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
@php
|
||||||
|
$ext = pathinfo($report->proof, PATHINFO_EXTENSION);
|
||||||
|
@endphp
|
||||||
|
@if($report->proof)
|
||||||
|
@if(in_array(strtolower($ext), ['jpg', 'jpeg', 'png', 'gif', 'webp']))
|
||||||
|
<img class="proof-img" src="{{ public_path('storage/uploads/reports/' . $report->proof) }}" alt="Bukti">
|
||||||
|
@elseif(strtolower($ext) === 'pdf')
|
||||||
|
<a href="{{ asset('storage/uploads/reports/' . $report->proof) }}" target="_blank">Lihat PDF</a>
|
||||||
|
@else
|
||||||
|
Tidak dikenali
|
||||||
|
@endif
|
||||||
|
@else
|
||||||
|
Tidak ada
|
||||||
|
@endif
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<div class="footer">
|
||||||
|
Dicetak pada {{ now()->format('d-m-Y H:i') }} – {{ $app->app_title ?? 'SIMEDKOM' }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
208
resources/views/dashboard/reports/prints/single.blade.php
Normal file
208
resources/views/dashboard/reports/prints/single.blade.php
Normal file
@ -0,0 +1,208 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="id">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Laporan Bukti Tayang {{$report->media->name}}</title>
|
||||||
|
<style>
|
||||||
|
/* Styling tetap sama seperti sebelumnya */
|
||||||
|
body {
|
||||||
|
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
body::before {
|
||||||
|
content: "";
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background-image: url('assets/defaults/simedkom-logo-circle.png');
|
||||||
|
background-size: 300px auto;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: center center;
|
||||||
|
opacity: 0.05;
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
header .icon {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
header .icon img {
|
||||||
|
width: 20% !important;
|
||||||
|
max-width: 200px;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
width: 80%;
|
||||||
|
margin: 20px auto;
|
||||||
|
padding: 20px;
|
||||||
|
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
||||||
|
}
|
||||||
|
.header {
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
padding-bottom: 20px;
|
||||||
|
border-bottom: 2px solid #e0e0e0;
|
||||||
|
}
|
||||||
|
.header h2 {
|
||||||
|
font-size: 24px;
|
||||||
|
color: #3A59D1;
|
||||||
|
}
|
||||||
|
.header h3 {
|
||||||
|
font-size: 20px;
|
||||||
|
color: #555;
|
||||||
|
}
|
||||||
|
.row {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
padding: 5px 0;
|
||||||
|
border-bottom: 1px solid #f1f1f1;
|
||||||
|
}
|
||||||
|
.row:last-child {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
.label {
|
||||||
|
font-weight: bold;
|
||||||
|
width: 35%;
|
||||||
|
color: #444;
|
||||||
|
}
|
||||||
|
.value {
|
||||||
|
width: 60%;
|
||||||
|
color: #555;
|
||||||
|
}
|
||||||
|
.section {
|
||||||
|
margin-bottom: 25px;
|
||||||
|
}
|
||||||
|
.document {
|
||||||
|
margin-top: 10px;
|
||||||
|
padding: 5px 0;
|
||||||
|
}
|
||||||
|
.document img {
|
||||||
|
max-width: 300px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.document .content {
|
||||||
|
background-color: rgba(241, 237, 237, 0.363);
|
||||||
|
padding: 1rem;
|
||||||
|
border-radius: 0.5rem;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center; /* ini yang bikin vertikal align tengah */
|
||||||
|
text-align: center;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.document a {
|
||||||
|
color: #007bff;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
.footer {
|
||||||
|
text-align: right;
|
||||||
|
font-size: 12px;
|
||||||
|
color: #aaa;
|
||||||
|
margin-top: 30px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header>
|
||||||
|
<div class="icon">
|
||||||
|
<img src="{{ public_path('assets/defaults/simedkom-logo-full.png') }}" alt="">
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<div class="container">
|
||||||
|
<div class="header">
|
||||||
|
<h2>Laporan Bukti Tayang</h2>
|
||||||
|
{{-- <h3>{{ $report->content_theme }}</h3> --}}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="section">
|
||||||
|
<div class="row">
|
||||||
|
<div class="label">Kerja Sama</div>
|
||||||
|
<div class="value">{{ $report->order->cooperation->name }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="label">Media</div>
|
||||||
|
<div class="value">{{ $report->media->name }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="label">Perusahaan</div>
|
||||||
|
<div class="value">{{ $report->media->company->name }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="label">Link</div>
|
||||||
|
<div class="value">
|
||||||
|
@if (filled(($report->link)))
|
||||||
|
<a href="{{$report->link}}" target="_blank">{{$report->link}}</a>
|
||||||
|
@else
|
||||||
|
<i>Tidak ada link</i>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="label">Tanggal Publikasi</div>
|
||||||
|
<div class="value">{{ idn_date($report->publication_date, format: 'l, d F Y') }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="label">Tanggal Melaporkan</div>
|
||||||
|
<div class="value">{{ idn_date($report->created_at, 'l, d F Y') }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="label">Status</div>
|
||||||
|
<div class="value">
|
||||||
|
@if ($report->status === '0')
|
||||||
|
Menunggu
|
||||||
|
@elseif ($report->status === '1')
|
||||||
|
Diterima
|
||||||
|
@elseif ($report->status === '2')
|
||||||
|
Ditolak
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- Dokumen --}}
|
||||||
|
<div class="section">
|
||||||
|
|
||||||
|
@php
|
||||||
|
$documents = [
|
||||||
|
'Bukti (Gambar)' => $report->proof,
|
||||||
|
];
|
||||||
|
@endphp
|
||||||
|
|
||||||
|
@foreach($documents as $label => $doc)
|
||||||
|
<div class="document">
|
||||||
|
<strong>{{ $label }}</strong><br>
|
||||||
|
<div class="content">
|
||||||
|
@if($doc)
|
||||||
|
@php
|
||||||
|
$ext = pathinfo($doc, PATHINFO_EXTENSION);
|
||||||
|
@endphp
|
||||||
|
@if(in_array(strtolower($ext), ['jpg', 'jpeg', 'png', 'gif', 'webp']))
|
||||||
|
<img src="{{ public_path('storage/uploads/reports/' . $doc) }}" alt="{{ "Tidak ada " . $label }}">
|
||||||
|
@elseif(strtolower($ext) === 'pdf')
|
||||||
|
<a href="{{ asset('storage/uploads/reports/' . $doc) }}" target="_blank">Lihat Dokumen PDF</a>
|
||||||
|
@else
|
||||||
|
File tidak dikenali.
|
||||||
|
@endif
|
||||||
|
@else
|
||||||
|
Tidak Ada Dokumen
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endforeach
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="footer">
|
||||||
|
Dicetak pada {{ now()->format('d-m-Y H:i') . ' - ' . $app->app_title }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -55,13 +55,19 @@
|
|||||||
@elseif($report->status === '1')
|
@elseif($report->status === '1')
|
||||||
<span class="profile-ud-value"><span class="badge bg-success">Menerima</span></span>
|
<span class="profile-ud-value"><span class="badge bg-success">Menerima</span></span>
|
||||||
@elseif($report->status === '2')
|
@elseif($report->status === '2')
|
||||||
<span class="profile-ud-value"><span class="badge bg-danger">Menolak</span></span>
|
<span class="profile-ud-value"><span class="badge bg-danger">Ditolak</span></span>
|
||||||
@else
|
@else
|
||||||
<span class="profile-ud-value"><span class="badge bg-secondary">Tidak Diketahui</span></span>
|
<span class="profile-ud-value"><span class="badge bg-secondary">Tidak Diketahui</span></span>
|
||||||
@endif
|
@endif
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="profile-ud-item">
|
||||||
|
<div class="profile-ud wider">
|
||||||
|
<span class="profile-ud-label">Tanggal Melaporkan</span>
|
||||||
|
<span class="profile-ud-value">{{idn_date($report->created_at, 'l, d F Y')}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div><!-- .profile-ud-list -->
|
</div><!-- .profile-ud-list -->
|
||||||
</div><!-- .nk-block -->
|
</div><!-- .nk-block -->
|
||||||
<div class="nk-block">
|
<div class="nk-block">
|
||||||
|
|||||||
@ -1010,6 +1010,46 @@
|
|||||||
</script>
|
</script>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
|
@if ($datatable === 'report_index')
|
||||||
|
<script>
|
||||||
|
$(document).ready(function() {
|
||||||
|
$('#reportsIndexTable').DataTable({
|
||||||
|
processing: true,
|
||||||
|
serverSide: true,
|
||||||
|
ajax: {
|
||||||
|
url: '{{ route('dashboard.reports.data.index') }}',
|
||||||
|
type: 'GET',
|
||||||
|
data: function(d) {
|
||||||
|
d.media = '{{ implode(',', $media) }}';
|
||||||
|
d.year = '{{ $year }}';
|
||||||
|
d.from_month = '{{ $from_month }}';
|
||||||
|
d.to_month = '{{ $to_month }}';
|
||||||
|
d.date = '{{ $date }}';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
columns: [
|
||||||
|
{ data: 'DT_RowIndex', name: 'DT_RowIndex', orderable: false, searchable: false },
|
||||||
|
{ data: 'cooperation', name: 'cooperation' },
|
||||||
|
{ data: 'company_name', name: 'company_name' },
|
||||||
|
{ data: 'media_name', name: 'media_name' },
|
||||||
|
{ data: 'date', name: 'date' },
|
||||||
|
{ data: 'status', name: 'status' },
|
||||||
|
{ data: 'action', name: 'action' },
|
||||||
|
{ data: 'created_at', name: 'created_at', visible: false },
|
||||||
|
{ data: 'id', name: 'id', orderable: true, searchable: false, visible: false },
|
||||||
|
],
|
||||||
|
language: datatableLanguage,
|
||||||
|
responsive: true,
|
||||||
|
autoWidth: false,
|
||||||
|
order: [[6, 'desc']],
|
||||||
|
pagingType: "simple",
|
||||||
|
lengthMenu: [[10, 25, 50, 100, -1], ['Tampilkan 10 data', 'Tampilkan 25 data', 'Tampilkan 50 data', 'Tampilkan 100 data', 'Tampilkan semua']],
|
||||||
|
scrollX: true
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endif
|
||||||
|
|
||||||
@if ($datatable === 'cooperation_archive')
|
@if ($datatable === 'cooperation_archive')
|
||||||
<script>
|
<script>
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
|
|||||||
@ -19,4 +19,5 @@
|
|||||||
<script src="https://cdn.datatables.net/1.13.1/js/jquery.dataTables.min.js"></script>
|
<script src="https://cdn.datatables.net/1.13.1/js/jquery.dataTables.min.js"></script>
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.min.css">
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/sweetalert/1.1.3/sweetalert.min.css">
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.css">
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.css">
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|||||||
@ -143,6 +143,12 @@
|
|||||||
<span class="nk-menu-text">Kerjasama Media</span>
|
<span class="nk-menu-text">Kerjasama Media</span>
|
||||||
</a>
|
</a>
|
||||||
</li><!-- .nk-menu-item -->
|
</li><!-- .nk-menu-item -->
|
||||||
|
<li class="nk-menu-item">
|
||||||
|
<a href="{{route('dashboard.reports.index')}}" class="nk-menu-link {{$page === 'reports' ? 'active-page' : ''}}">
|
||||||
|
<span class="nk-menu-icon"><em class="icon ni ni-file-docs"></em></span>
|
||||||
|
<span class="nk-menu-text">Laporan Bukti Tayang</span>
|
||||||
|
</a>
|
||||||
|
</li><!-- .nk-menu-item -->
|
||||||
<li class="nk-menu-item">
|
<li class="nk-menu-item">
|
||||||
<a href="{{route('dashboard.cooperation.completions.index')}}" class="nk-menu-link {{$page === 'cooperation-completions' ? 'active-page' : ''}}">
|
<a href="{{route('dashboard.cooperation.completions.index')}}" class="nk-menu-link {{$page === 'cooperation-completions' ? 'active-page' : ''}}">
|
||||||
<span class="nk-menu-icon"><em class="icon ni ni-clipboad-check"></em></span>
|
<span class="nk-menu-icon"><em class="icon ni ni-clipboad-check"></em></span>
|
||||||
|
|||||||
@ -43,7 +43,7 @@
|
|||||||
<div class="col-auto col-lg-2 text-end lg-pe-5px">
|
<div class="col-auto col-lg-2 text-end lg-pe-5px">
|
||||||
<div class="header-icon">
|
<div class="header-icon">
|
||||||
<div class="header-search-icon icon d-none d-sm-flex">
|
<div class="header-search-icon icon d-none d-sm-flex">
|
||||||
<a href="#" class="search-form-icon header-search-form"><i class="align-middle feather icon-feather-search fs-18 me-5px xl-me-0"></i><span class="align-middle d-none d-xxl-inline-block"> Search</span></a>
|
<a href="#" class="search-form-icon header-search-form"><i class="align-middle feather icon-feather-search fs-18 me-5px xl-me-0"></i><span class="align-middle d-none d-xxl-inline-block"> </span></a>
|
||||||
<div class="search-form-wrapper">
|
<div class="search-form-wrapper">
|
||||||
<button title="Close" type="button" class="search-close">×</button>
|
<button title="Close" type="button" class="search-close">×</button>
|
||||||
<form id="search-form" role="search" method="get" class="search-form text-left" action="{{route('homepage.search')}}" method="get">
|
<form id="search-form" role="search" method="get" class="search-form text-left" action="{{route('homepage.search')}}" method="get">
|
||||||
|
|||||||
@ -445,12 +445,17 @@
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::middleware('role:1,3')->group(function(){
|
Route::middleware('role:1,3,5')->group(function(){
|
||||||
Route::prefix('reports')->name('reports.')->group(function(){
|
Route::prefix('reports')->name('reports.')->group(function(){
|
||||||
Route::controller(ReportController::class)->group(function(){
|
Route::controller(ReportController::class)->group(function(){
|
||||||
Route::get('/', 'index')->name('index');
|
Route::get('/', 'index')->name('index');
|
||||||
|
Route::get('/show/{id}', 'showIndex')->name('show.index');
|
||||||
|
Route::get('/process/{id}', 'processIndex')->name('process.index');
|
||||||
Route::get('/{mediaOrderId}/show/{id}', 'show')->name('show');
|
Route::get('/{mediaOrderId}/show/{id}', 'show')->name('show');
|
||||||
|
|
||||||
|
Route::get('/print/{id}', 'singlePrint')->name('print.single');
|
||||||
|
Route::post('/export', 'export')->name('export');
|
||||||
|
|
||||||
Route::middleware('role:3')->group(function(){
|
Route::middleware('role:3')->group(function(){
|
||||||
Route::get('/create/{id}', 'create')->name('create');
|
Route::get('/create/{id}', 'create')->name('create');
|
||||||
Route::post('/check-link', 'checkLink')->name('check.link');
|
Route::post('/check-link', 'checkLink')->name('check.link');
|
||||||
@ -461,14 +466,16 @@
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::middleware('role:1')->group(function(){
|
Route::middleware('role:1,5')->group(function(){
|
||||||
Route::post('/{id}/accept', 'accept')->name('accept');
|
Route::post('/{id}/accept', 'accept')->name('accept');
|
||||||
Route::get('/{mediaOrderId}/reject/{id}', 'reject')->name('reject');
|
Route::get('/{mediaOrderId}/reject/{id}', 'reject')->name('reject');
|
||||||
Route::post('/{mediaOrderId}/reject/{id}', 'rejectAction')->name('reject.action');
|
Route::post('/{mediaOrderId}/reject/{id}', 'rejectAction')->name('reject.action');
|
||||||
|
Route::post('/reject/{id}', 'rejectActionIndex')->name('reject.action.index');
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Route::get('/data/index', [DatatableController::class, 'reportIndex'])->name('data.index');
|
||||||
Route::get('/admin-media-data/{id}', [DatatableController::class, 'adminMediaReport'])->name('admin.media.data');
|
Route::get('/admin-media-data/{id}', [DatatableController::class, 'adminMediaReport'])->name('admin.media.data');
|
||||||
Route::get('/media-data/{mediaOrderId}/{mediaId}', [DatatableController::class, 'mediaReport'])->name('media.data');
|
Route::get('/media-data/{mediaOrderId}/{mediaId}', [DatatableController::class, 'mediaReport'])->name('media.data');
|
||||||
});
|
});
|
||||||
@ -486,7 +493,7 @@
|
|||||||
Route::put('/{id}', 'update')->name('update');
|
Route::put('/{id}', 'update')->name('update');
|
||||||
Route::delete('/{id}', 'destroy')->name('destroy');
|
Route::delete('/{id}', 'destroy')->name('destroy');
|
||||||
|
|
||||||
Route::middleware('role:1')->group(function(){
|
Route::middleware('role:1,5')->group(function(){
|
||||||
Route::post('/{id}/accept', 'accept')->name('accept');
|
Route::post('/{id}/accept', 'accept')->name('accept');
|
||||||
Route::get('/{mediaOrderId}/reject/{id}', 'reject')->name('reject');
|
Route::get('/{mediaOrderId}/reject/{id}', 'reject')->name('reject');
|
||||||
Route::post('/{mediaOrderId}/reject/{id}', 'rejectAction')->name('reject.action');
|
Route::post('/{mediaOrderId}/reject/{id}', 'rejectAction')->name('reject.action');
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user