Perbaikan minor
This commit is contained in:
@@ -0,0 +1,88 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Http\Setup\Gate;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Models\NamaPos;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class MasterGateController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Display a listing of the resource.
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
|
||||||
|
$Gate = NamaPos::all();
|
||||||
|
return view ('setup.gate.gate', compact('Gate'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for creating a new resource.
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function create()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Store a newly created resource in storage.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function store(Request $request)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display the specified resource.
|
||||||
|
*
|
||||||
|
* @param int $id
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function show($id)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for editing the specified resource.
|
||||||
|
*
|
||||||
|
* @param int $id
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function edit($id)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the specified resource in storage.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @param int $id
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function update(Request $request, $id)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the specified resource from storage.
|
||||||
|
*
|
||||||
|
* @param int $id
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function destroy($id)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,90 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Http\Setup\Gate;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Models\ConfigHardware;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\Log;
|
||||||
|
|
||||||
|
class MasterGateHardwareController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Display a listing of the resource.
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for creating a new resource.
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function create()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Store a newly created resource in storage.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function store(Request $request)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display the specified resource.
|
||||||
|
*
|
||||||
|
* @param int $id
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function show($id)
|
||||||
|
{
|
||||||
|
Log::info($id);
|
||||||
|
$gateDetails = ConfigHardware::where('id_pos', $id)->first();
|
||||||
|
return $gateDetails;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for editing the specified resource.
|
||||||
|
*
|
||||||
|
* @param int $id
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function edit($id)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the specified resource in storage.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @param int $id
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function update(Request $request, $id)
|
||||||
|
{
|
||||||
|
Log::info($id);
|
||||||
|
Log::info($request->all());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the specified resource from storage.
|
||||||
|
*
|
||||||
|
* @param int $id
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function destroy($id)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers\Http\Setup\Gate;
|
||||||
|
|
||||||
|
use App\Http\Controllers\Controller;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class MasterGateParameterController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Display a listing of the resource.
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for creating a new resource.
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function create()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Store a newly created resource in storage.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function store(Request $request)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display the specified resource.
|
||||||
|
*
|
||||||
|
* @param int $id
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function show($id)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for editing the specified resource.
|
||||||
|
*
|
||||||
|
* @param int $id
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function edit($id)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the specified resource in storage.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @param int $id
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function update(Request $request, $id)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the specified resource from storage.
|
||||||
|
*
|
||||||
|
* @param int $id
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function destroy($id)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -35,7 +35,12 @@ public function dataStiker(Request $request)
|
|||||||
->leftJoin('stasiunkerja as b', 'a.unit_kerja', '=', 'b.kode')
|
->leftJoin('stasiunkerja as b', 'a.unit_kerja', '=', 'b.kode')
|
||||||
->leftJoin('jenis_langganan as c', 'a.jenis_langganan', '=', 'c.id')
|
->leftJoin('jenis_langganan as c', 'a.jenis_langganan', '=', 'c.id')
|
||||||
->leftJoin('pegawai as p', 'a.operator', '=', 'p.nomer')
|
->leftJoin('pegawai as p', 'a.operator', '=', 'p.nomer')
|
||||||
->select('a.*', 'c.nama as jenis_langganan','b.nama as stasiunkerja','p.nama as petugas')
|
// ->leftJoin('tarif_stiker as ts','ts.id_mobil','=','a.jenis_mobil')
|
||||||
|
->leftJoin('tarif_stiker as ts', function ($join) {
|
||||||
|
$join->on('ts.id_mobil', '=', 'a.jenis_mobil')
|
||||||
|
->on('ts.jenis_langganan', '=', 'a.jenis_member');
|
||||||
|
})
|
||||||
|
->select('a.*', 'c.nama as jenis_langganan','b.nama as stasiunkerja','p.nama as petugas','ts.tarif')
|
||||||
->whereBetween('a.tgl_edited', [
|
->whereBetween('a.tgl_edited', [
|
||||||
$validated['tanggalAwal'] . ' 00:00:00',
|
$validated['tanggalAwal'] . ' 00:00:00',
|
||||||
$validated['tanggalAkhir'] . ' 23:59:59'
|
$validated['tanggalAkhir'] . ' 23:59:59'
|
||||||
|
|||||||
@@ -52,10 +52,18 @@ public function store(Request $request, MakeStikerServices $makeStiker)
|
|||||||
'tanggal_selesai' => 'required|date|after:tanggal_mulai',
|
'tanggal_selesai' => 'required|date|after:tanggal_mulai',
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
$blnKemarin = Carbon::now()->subMonth()->format('Y-m');
|
||||||
|
$start = Carbon::now()->subMonth()->startOfMonth();
|
||||||
|
$end = Carbon::now()->subMonth()->endOfMonth();
|
||||||
$tanggalMulai = Carbon::parse($request->tanggal_mulai);
|
$tanggalMulai = Carbon::parse($request->tanggal_mulai);
|
||||||
$tanggalSelesai = Carbon::parse($request->tanggal_selesai);
|
$tanggalSelesai = Carbon::parse($request->tanggal_selesai);
|
||||||
$sticker = TransaksiStiker::select('notrans')->whereIn('jenis_langganan', $request->jenis_langganan)->get();
|
$sticker = TransaksiStiker::select('notrans')
|
||||||
|
->whereIn('jenis_langganan', $request->jenis_langganan)
|
||||||
|
// ->whereRaw("to_char(tgl_edited, 'YYYY-MM') = ?", [$blnKemarin])
|
||||||
|
->whereBetween('tgl_edited', [$start, $end])
|
||||||
|
->get();
|
||||||
// $sticker = DB::table('mergetransaksistikerdetail')->whereIn('jenis_langganan', $request->jenis_langganan)->get();
|
// $sticker = DB::table('mergetransaksistikerdetail')->whereIn('jenis_langganan', $request->jenis_langganan)->get();
|
||||||
|
$jumlah = $sticker->count();
|
||||||
foreach ($sticker as $row) {
|
foreach ($sticker as $row) {
|
||||||
// $makeStiker->stikerExtend($sticker);
|
// $makeStiker->stikerExtend($sticker);
|
||||||
$makeStiker->stikerExtend(
|
$makeStiker->stikerExtend(
|
||||||
@@ -67,7 +75,8 @@ public function store(Request $request, MakeStikerServices $makeStiker)
|
|||||||
|
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'status' => true,
|
'status' => true,
|
||||||
'message' => 'Stiker berhasil diproses'
|
'message' => 'Stiker berhasil diproses',
|
||||||
|
'jumlah' => $jumlah,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -79,10 +88,20 @@ public function store(Request $request, MakeStikerServices $makeStiker)
|
|||||||
*/
|
*/
|
||||||
public function show($id, Request $request)
|
public function show($id, Request $request)
|
||||||
{
|
{
|
||||||
Log::info($request->pilihannya);
|
Log::info($id);
|
||||||
$selected = $request->pilihannya;
|
$start = Carbon::now()->subMonth()->startOfMonth();
|
||||||
|
$end = Carbon::now()->subMonth()->endOfMonth();
|
||||||
|
Log::info($start);
|
||||||
|
Log::info($end);
|
||||||
|
|
||||||
|
$blnKemarin = Carbon::now()->subMonth()->format('Y-m');
|
||||||
|
Log::info($blnKemarin);
|
||||||
|
// $selected = $request->pilihannya;
|
||||||
|
$selected = $id;
|
||||||
$count = DB::table('transaksi_stiker')
|
$count = DB::table('transaksi_stiker')
|
||||||
->whereIn('jenis_langganan', $selected)
|
->where('jenis_langganan', $selected)
|
||||||
|
// ->whereRaw("to_char(tgl_edited, 'YYYY-MM') = ?", [$blnKemarin])
|
||||||
|
->whereBetween('tgl_edited', [$start, $end])
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
$jumlah = $count->count();
|
$jumlah = $count->count();
|
||||||
|
|||||||
@@ -8,6 +8,27 @@
|
|||||||
<span class="menu-title">Dashboard</span>
|
<span class="menu-title">Dashboard</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
@if(app()->environment('local'))
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="#" class="nav-link">
|
||||||
|
<i class="mdi mdi-account-multiple menu-icon"></i>
|
||||||
|
<span class="menu-title">Setup</span>
|
||||||
|
<i class="menu-arrow"></i>
|
||||||
|
</a>
|
||||||
|
<div class="submenu">
|
||||||
|
<ul>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="/setup/master/gate">Master Pintu/Pos</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="/transaksi/stiker">Master Kendaraan</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="/transaksi/member">Master Tarif</a></li>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="/transaksi/member">Master Shift</a></li>
|
||||||
|
<hr>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="/transaksi/member">Master Petugas/Pegawai</a></li>
|
||||||
|
<hr>
|
||||||
|
<li class="nav-item"><a class="nav-link" href="/transaksi/member">Master Stiker</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
@endif
|
||||||
@if(app()->environment('local'))
|
@if(app()->environment('local'))
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a href="#" class="nav-link">
|
<a href="#" class="nav-link">
|
||||||
|
|||||||
@@ -148,6 +148,11 @@ class="btn btn-light btn-lg w-100">
|
|||||||
let pendapatan = 0;
|
let pendapatan = 0;
|
||||||
let jmlTrans = 0;
|
let jmlTrans = 0;
|
||||||
let pdfData = [];
|
let pdfData = [];
|
||||||
|
let today = new Date().toISOString().split('T')[0];
|
||||||
|
console.log(today);
|
||||||
|
|
||||||
|
$('#tanggalMulai').val(new Date().toISOString().split('T')[0]);
|
||||||
|
$('#tanggalSelesai').val(new Date().toISOString().split('T')[0]);
|
||||||
|
|
||||||
$('#btnProses').on('click', function () {
|
$('#btnProses').on('click', function () {
|
||||||
|
|
||||||
@@ -192,6 +197,9 @@ class="btn btn-light btn-lg w-100">
|
|||||||
console.log(response);
|
console.log(response);
|
||||||
const tbody = $('#tbodyResult');
|
const tbody = $('#tbodyResult');
|
||||||
tbody.empty();
|
tbody.empty();
|
||||||
|
pendapatan = 0;
|
||||||
|
jmlTrans = 0;
|
||||||
|
$('#jmlTrans').text('');
|
||||||
|
|
||||||
// $.each(response.data, function (i, row) {
|
// $.each(response.data, function (i, row) {
|
||||||
|
|
||||||
@@ -234,7 +242,7 @@ class="btn btn-light btn-lg w-100">
|
|||||||
|
|
||||||
$.each(response.data, function (i, row) {
|
$.each(response.data, function (i, row) {
|
||||||
|
|
||||||
pendapatan += parseInt(row.harga || 0, 10);
|
pendapatan += parseInt(row.tarif || 0, 10);
|
||||||
jmlTrans += 1;
|
jmlTrans += 1;
|
||||||
awalDate = row.awal.toString('YYYY-MM-DD');
|
awalDate = row.awal.toString('YYYY-MM-DD');
|
||||||
tbody.append(`
|
tbody.append(`
|
||||||
@@ -252,7 +260,7 @@ class="btn btn-light btn-lg w-100">
|
|||||||
</td>
|
</td>
|
||||||
<td class="text-center">${row.nopol ?? '-'}</td>
|
<td class="text-center">${row.nopol ?? '-'}</td>
|
||||||
<td>${row.jenis_member ?? '-'}</td>
|
<td>${row.jenis_member ?? '-'}</td>
|
||||||
<td>${row.harga ?? ''}</td>
|
<td>${row.tarif ?? ''}</td>
|
||||||
<td>${row.tgl_edited ?? ''}</td>
|
<td>${row.tgl_edited ?? ''}</td>
|
||||||
<td class="text-end">${row.petugas ?? ''}</td>
|
<td class="text-end">${row.petugas ?? ''}</td>
|
||||||
</tr>
|
</tr>
|
||||||
@@ -261,7 +269,7 @@ class="btn btn-light btn-lg w-100">
|
|||||||
});
|
});
|
||||||
|
|
||||||
$('#pendapatan').text('Rp. ' + rupiah(pendapatan));
|
$('#pendapatan').text('Rp. ' + rupiah(pendapatan));
|
||||||
$('#jmlTrans').text('Rp. ' + rupiah(jmlTrans));
|
$('#jmlTrans').text(rupiah(jmlTrans));
|
||||||
// console.log(jmlTrans);
|
// console.log(jmlTrans);
|
||||||
|
|
||||||
btn.prop('disabled', false).text('Proses');
|
btn.prop('disabled', false).text('Proses');
|
||||||
@@ -333,7 +341,7 @@ function rupiah(angka) {
|
|||||||
);
|
);
|
||||||
|
|
||||||
doc.text(`Jumlah Pendapatan : ${rupiah(pendapatan)}`, marginLeft, 38);
|
doc.text(`Jumlah Pendapatan : ${rupiah(pendapatan)}`, marginLeft, 38);
|
||||||
doc.text(`Jumlah Transaksi : ${rupiah(jmlTrans)}`, marginLeft, 38);
|
doc.text(`Jumlah Transaksi : ${jmlTrans}`, marginLeft, 38);
|
||||||
|
|
||||||
// garis pemisah
|
// garis pemisah
|
||||||
doc.line(marginLeft, 40, pageWidth - marginRight, 40);
|
doc.line(marginLeft, 40, pageWidth - marginRight, 40);
|
||||||
|
|||||||
315
resources/views/setup/gate/gate.blade.php
Normal file
315
resources/views/setup/gate/gate.blade.php
Normal file
@@ -0,0 +1,315 @@
|
|||||||
|
@extends('layouts.master')
|
||||||
|
|
||||||
|
@section('styles')
|
||||||
|
<style>
|
||||||
|
.card-body label {
|
||||||
|
font-size: 13px;
|
||||||
|
color: #6c757d;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-body .form-control,
|
||||||
|
.card-body .form-select {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#search-button {
|
||||||
|
font-weight: 600;
|
||||||
|
letter-spacing: .3px;
|
||||||
|
}
|
||||||
|
.table-garis, .garis {
|
||||||
|
border: 0.1px solid black; /* Sets a 1px solid black border */
|
||||||
|
border-collapse: collapse;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
.table-selectable tbody tr {
|
||||||
|
cursor: pointer;
|
||||||
|
transition: 0.15s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-selectable tbody tr:hover {
|
||||||
|
background-color: #f2f6ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-selectable tbody tr.selected {
|
||||||
|
background-color: #0d6efd !important;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table-selectable tbody tr.selected td {
|
||||||
|
color: #fff !important;
|
||||||
|
} */
|
||||||
|
</style>
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<!-- partial -->
|
||||||
|
<div class="container-fluid page-body-wrapper">
|
||||||
|
<div class="main-panel">
|
||||||
|
<div class="content-wrapper">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-2">
|
||||||
|
</div>
|
||||||
|
<div class="col-12 col-md-8 grid-margin justify-content-center stretch-card">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h4 class="card-title">Daftar Pintu/Pos</h4>
|
||||||
|
<div class="table-responsive mb-2">
|
||||||
|
<table class="table table-bordered table-selectable" id="example" data-url="{{ route('getMember') }}">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th class="p-3" width="5%">No.</th>
|
||||||
|
<th style="text-align: center;">Nama Pintu</th>
|
||||||
|
<th style="text-align: center;">Mode Pintu</th>
|
||||||
|
<th style="text-align: center;">Grace Periode</th>
|
||||||
|
<th style="text-align: center;">Manless?</th>
|
||||||
|
<th style="text-align: center;">Pengaturan</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@foreach ($Gate as $pintu)
|
||||||
|
@php
|
||||||
|
if ($pintu->jenis === 0 ) {
|
||||||
|
$jenis = 'Masuk';
|
||||||
|
} elseif ($pintu->jenis === 1) {
|
||||||
|
$jenis = 'Keluar';
|
||||||
|
}
|
||||||
|
|
||||||
|
$isManless = $pintu->manless === 1
|
||||||
|
? '<span class="d-inline-block rounded-circle bg-success" style="width:12px;height:12px;"></span>'
|
||||||
|
: '<span class="d-inline-block rounded-circle bg-danger" style="width:12px;height:12px;"></span>';
|
||||||
|
@endphp
|
||||||
|
<tr>
|
||||||
|
<td class="text-center">{{ $loop->iteration }}</td>
|
||||||
|
{{-- <td class="text-center" width="7%">{{ $pintu->id }}</td> --}}
|
||||||
|
<td>{{ $pintu->nama }} <strong> - ({{ $pintu->id }})</strong></td>
|
||||||
|
<td width="10%">{{
|
||||||
|
match($pintu->jenis) {
|
||||||
|
0 => 'Masuk',
|
||||||
|
1 => 'Keluar',
|
||||||
|
2 => 'Transit',
|
||||||
|
3 => 'Emergency',
|
||||||
|
default => '-'
|
||||||
|
}
|
||||||
|
}}</td>
|
||||||
|
<td class="text-center" width="7%"><span class="d-inline-block rounded-circle
|
||||||
|
{{ $pintu->grace_period === 1 ? 'bg-success' : 'bg-danger' }}"
|
||||||
|
style="width:12px;height:12px;">
|
||||||
|
</span></td>
|
||||||
|
<td class="text-center" width="7%"><span class="d-inline-block rounded-circle
|
||||||
|
{{ $pintu->manless === 1 ? 'bg-success' : 'bg-danger' }}"
|
||||||
|
style="width:12px;height:12px;">
|
||||||
|
</span>
|
||||||
|
</td>
|
||||||
|
<td class="text-center" width="12%">
|
||||||
|
<a class="btn btn-warning btn-sm parameter-button" id="parameter" data-bs-toggle="modal" data-bs-target=".bd-ubah-modal-lg">Pos</a>
|
||||||
|
<button class="btn btn-primary btn-sm hardware-button" data-id="{{ $pintu->id }}" data-nama="{{ $pintu->nama }}">Hardware</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="d-flex justify-content-center align-items-center mt-2">
|
||||||
|
<div>
|
||||||
|
<button class="btn btn-primary btn-sm add-button" data-bs-toggle="modal" data-bs-target=".bd-example-modal-lg">Tambah</button>
|
||||||
|
{{-- </div>
|
||||||
|
<div id="rowActions" class="d-none"> --}}
|
||||||
|
<button class="btn btn-warning btn-sm edit-button" id="btnEdit" data-bs-toggle="modal" data-bs-target=".bd-ubah-modal-lg">Tambah</button>
|
||||||
|
<button class="btn btn-danger btn-sm" id="btnDelete">Hapus</button>
|
||||||
|
<button class="btn btn-info btn-sm" id="btnDetail">Detail</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- ADD MEMMBER MODAL -->
|
||||||
|
{{-- @include('stiker.tambah-stiker')
|
||||||
|
@include('stiker.ubah-stiker') --}}
|
||||||
|
<!-- END MEMMBER MODAL -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-2">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@section('javascript')
|
||||||
|
<!--********* Scripts *********-->
|
||||||
|
<!-- Datatable -->
|
||||||
|
<!--********* Scripts *********-->
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.5/jquery.validate.js"></script>
|
||||||
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/metisMenu/3.0.7/metisMenu.min.js"></script>
|
||||||
|
<script src="{{asset ('vendor/moment/moment.min.js') }}"></script>
|
||||||
|
<script src="{{asset ('vendor/bootstrap-daterangepicker/daterangepicker.js') }}"></script>
|
||||||
|
<script src="{{asset ('vendor/bootstrap-select/dist/js/bootstrap-select.min.js') }}"></script>
|
||||||
|
<script src="{{asset ('vendor/sweetalert2/dist/sweetalert2.min.js') }}"></script>
|
||||||
|
<script src="{{asset ('js/custom.min.js') }}"></script>
|
||||||
|
<script src="{{asset ('js/dlabnav-init.js') }}"></script>
|
||||||
|
<script src="{{asset ('js/member/index.js') }}"></script>
|
||||||
|
<script src="{{asset ('js/member/member-register.js') }}"></script>
|
||||||
|
<script>
|
||||||
|
$(document).ready(function () {
|
||||||
|
|
||||||
|
$(document).on('click', '.hardware-button', function () {
|
||||||
|
let row = $(this).closest('tr');
|
||||||
|
|
||||||
|
// kalau sudah ada baris edit, hapus dulu
|
||||||
|
$('.edit-row').remove();
|
||||||
|
|
||||||
|
let id = $(this).data('id');
|
||||||
|
let nama = $(this).data('nama');
|
||||||
|
$.ajax({
|
||||||
|
url: "{{ route('hardware.show', '') }}/" + id,
|
||||||
|
type: 'GET',
|
||||||
|
success: function (r) {
|
||||||
|
console.log(r);
|
||||||
|
|
||||||
|
let colSpan = row.children('td').length;
|
||||||
|
|
||||||
|
// Field yang mau ditampilkan (pilih sendiri mau yang mana)
|
||||||
|
let fields = [
|
||||||
|
['printer1_avail', 'Printer Status'],
|
||||||
|
['printer1_conn', 'Printer Connection'],
|
||||||
|
['printer1_spd', 'Printer Speed/Baudrate'],
|
||||||
|
['video1_avail', 'Kamera Status'],
|
||||||
|
['video1_conn', 'Video URL/Path'],
|
||||||
|
['sound_avail', 'Sound Status'],
|
||||||
|
['bg_avail', 'BGate Status'],
|
||||||
|
['bg_conn', 'BGate Connection'],
|
||||||
|
['bank_reader_avail', 'Reader BANK Status'],
|
||||||
|
['bank_reader_comm', 'Reader BANK Connection'],
|
||||||
|
['bank_reader_key', 'Reader BANK Key/Parameter'],
|
||||||
|
];
|
||||||
|
|
||||||
|
let rows = '';
|
||||||
|
|
||||||
|
for (let i = 0; i < fields.length; i ++) {
|
||||||
|
|
||||||
|
let f1 = fields[i];
|
||||||
|
|
||||||
|
rows += `
|
||||||
|
<tr>
|
||||||
|
<td class="fw-semibold text-muted">${f1[1]}</td>
|
||||||
|
<td>
|
||||||
|
<span class="view-mode">${formatValue(f1[0], r[f1[0]])}</span>
|
||||||
|
<input type="text"
|
||||||
|
class="form-control form-control-sm edit-mode d-none"
|
||||||
|
data-key="${f1[0]}"
|
||||||
|
value="${r[f1[0]] ?? ''}">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
`;
|
||||||
|
}
|
||||||
|
|
||||||
|
let editHtml = `
|
||||||
|
<tr class="edit-row" data-id="${id}">
|
||||||
|
<td colspan="${colSpan}">
|
||||||
|
<div class="card shadow-sm">
|
||||||
|
<div class="card-header d-flex justify-content-between align-items-center">
|
||||||
|
<strong>Hardware Configuration</strong>
|
||||||
|
<div>
|
||||||
|
<button class="btn btn-sm btn-primary btn-edit">Edit</button>
|
||||||
|
<button class="btn btn-sm btn-success btn-save d-none">Save</button>
|
||||||
|
<button class="btn btn-sm btn-secondary btn-cancel d-none">Cancel</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-body p-2">
|
||||||
|
<table class="table table-bordered table-sm align-middle mb-0">
|
||||||
|
<thead class="table-light">
|
||||||
|
<tr>
|
||||||
|
<th width="15%">Setting</th>
|
||||||
|
<th width="85%">Value</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
${rows}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
`;
|
||||||
|
|
||||||
|
row.after(editHtml);
|
||||||
|
},
|
||||||
|
error: function (xhr) {
|
||||||
|
console.error(xhr.responseText);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// MODE EDIT
|
||||||
|
$(document).on('click', '.btn-edit', function () {
|
||||||
|
|
||||||
|
$('.view-mode').addClass('d-none');
|
||||||
|
$('.edit-mode').removeClass('d-none');
|
||||||
|
|
||||||
|
$('.btn-edit').addClass('d-none');
|
||||||
|
$('.btn-save, .btn-cancel').removeClass('d-none');
|
||||||
|
});
|
||||||
|
|
||||||
|
// CANCEL
|
||||||
|
$(document).on('click', '.btn-cancel', function () {
|
||||||
|
|
||||||
|
$('.edit-mode').addClass('d-none');
|
||||||
|
$('.view-mode').removeClass('d-none');
|
||||||
|
|
||||||
|
$('.btn-save, .btn-cancel').addClass('d-none');
|
||||||
|
$('.btn-edit').removeClass('d-none');
|
||||||
|
});
|
||||||
|
|
||||||
|
// SAVE
|
||||||
|
$(document).on('click', '.btn-save', function () {
|
||||||
|
|
||||||
|
let dataToSend = {};
|
||||||
|
|
||||||
|
$('.edit-mode').each(function () {
|
||||||
|
let key = $(this).data('key');
|
||||||
|
dataToSend[key] = $(this).val();
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(dataToSend);
|
||||||
|
let gateId = $('.edit-row').data('id');
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: "{{ route('hardware.update', '') }}/" + gateId,
|
||||||
|
type: "PUT",
|
||||||
|
data: {
|
||||||
|
_token: "{{ csrf_token() }}",
|
||||||
|
data: dataToSend
|
||||||
|
},
|
||||||
|
success: function () {
|
||||||
|
|
||||||
|
$('.edit-mode').each(function () {
|
||||||
|
let val = $(this).val();
|
||||||
|
$(this).siblings('.view-mode').text(val);
|
||||||
|
});
|
||||||
|
|
||||||
|
$('.btn-cancel').click();
|
||||||
|
alert('Berhasil disimpan 🔥');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
function formatValue(key, value) {
|
||||||
|
|
||||||
|
// kalau field *_avail kita kasih badge
|
||||||
|
if (key.includes('_avail')) {
|
||||||
|
|
||||||
|
if (value == 1) {
|
||||||
|
return `<span class="badge rounded-pill bg-success px-3">ON</span>`;
|
||||||
|
} else {
|
||||||
|
return `<span class="badge rounded-pill bg-danger px-3">OFF</span>`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// default
|
||||||
|
return value ?? '-';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
@endsection
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>Plih Jenis Langganan yang akan di proses : </label> <!-- biar sejajar -->
|
<label>Plih Jenis Langganan yang akan di proses : </label> <!-- biar sejajar -->
|
||||||
<select name="jenisLangganan[]" class="form-control js-example-basic-multiple" multiple="multiple">
|
<select id="jenisLangganan" name="jenisLangganan[]" class="form-control js-example-basic-multiple" multiple="multiple">
|
||||||
@foreach ($jenisLangganan as $jStiker )
|
@foreach ($jenisLangganan as $jStiker )
|
||||||
<option value="{{ $jStiker->id }}">{{ $jStiker->nama }}</option>
|
<option value="{{ $jStiker->id }}">{{ $jStiker->nama }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
@@ -105,12 +105,11 @@ class="progress-bar progress-bar-striped progress-bar-animated"
|
|||||||
}
|
}
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: "{{ route('stiker-extend.show', 0) }}",
|
url: "{{ url('tools/stiker-extend') }}/" + selected,
|
||||||
type: 'GET',
|
type: 'GET',
|
||||||
data: {
|
// data: {
|
||||||
pilihannya : selected,
|
// pilihannya : selected,
|
||||||
_token: "{{ csrf_token() }}"
|
// },
|
||||||
},
|
|
||||||
success: function(res) {
|
success: function(res) {
|
||||||
console.log(res);
|
console.log(res);
|
||||||
},
|
},
|
||||||
@@ -144,6 +143,7 @@ class="progress-bar progress-bar-striped progress-bar-animated"
|
|||||||
const mulai = $('#tanggalMulai').val();
|
const mulai = $('#tanggalMulai').val();
|
||||||
const selesai = $('#tanggalSelesai').val();
|
const selesai = $('#tanggalSelesai').val();
|
||||||
|
|
||||||
|
|
||||||
if (!jenisLangganan || jenisLangganan.length === 0) {
|
if (!jenisLangganan || jenisLangganan.length === 0) {
|
||||||
alert('Pilih minimal 1 jenis langganan');
|
alert('Pilih minimal 1 jenis langganan');
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -5,6 +5,9 @@
|
|||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
use App\Http\Controllers\Apps\ModifiedTransaksi;
|
use App\Http\Controllers\Apps\ModifiedTransaksi;
|
||||||
use App\Http\Controllers\DashboardController;
|
use App\Http\Controllers\DashboardController;
|
||||||
|
use App\Http\Controllers\Http\Setup\Gate\MasterGateController;
|
||||||
|
use App\Http\Controllers\Http\Setup\Gate\MasterGateHardwareController;
|
||||||
|
use App\Http\Controllers\Http\Setup\Gate\MasterGateParameterController;
|
||||||
use App\Http\Controllers\LostiketController;
|
use App\Http\Controllers\LostiketController;
|
||||||
use App\Http\Controllers\MemberProductController;
|
use App\Http\Controllers\MemberProductController;
|
||||||
use App\Http\Controllers\MemberStikerController;
|
use App\Http\Controllers\MemberStikerController;
|
||||||
@@ -44,6 +47,14 @@
|
|||||||
Route::group(['middleware' => 'auth'], function () {
|
Route::group(['middleware' => 'auth'], function () {
|
||||||
Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard');
|
Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard');
|
||||||
|
|
||||||
|
Route::prefix('/setup')->group(function () {
|
||||||
|
Route::prefix('master')->group(function () {
|
||||||
|
Route::resource('gate', MasterGateController::class);
|
||||||
|
Route::resource('gate-details', MasterGateParameterController::class);
|
||||||
|
Route::resource('gate-hardware', MasterGateHardwareController::class)->names('hardware');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
Route::prefix('/transaksi')->group(function () {
|
Route::prefix('/transaksi')->group(function () {
|
||||||
Route::resource('parkir', TransaksiParkirController::class)->names('transaksiparkir');
|
Route::resource('parkir', TransaksiParkirController::class)->names('transaksiparkir');
|
||||||
Route::get('stiker', [StikerController::class, 'index']);
|
Route::get('stiker', [StikerController::class, 'index']);
|
||||||
|
|||||||
Reference in New Issue
Block a user