added view detail expense for up country & meeting seminar
This commit is contained in:
@@ -77,6 +77,20 @@ class FormMeetingSeminarController extends Controller
|
|||||||
return response()->json($form);
|
return response()->json($form);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function view($id)
|
||||||
|
{
|
||||||
|
$this->checkAuthorization(auth()->user(), ['forms.country.view']);
|
||||||
|
|
||||||
|
$form = FormMeetingSeminar::with('user')->findOrFail($id);
|
||||||
|
$form->bukti_allowance = $form->bukti_allowance ? NextCloudHelper::getFileUrl($form->bukti_allowance) : null;
|
||||||
|
$form->bukti_transport_ankot = $form->bukti_transport_ankot ? NextCloudHelper::getFileUrl($form->bukti_transport_ankot) : null;
|
||||||
|
$form->bukti_hotel = $form->bukti_hotel ? NextCloudHelper::getFileUrl($form->bukti_hotel) : null;
|
||||||
|
|
||||||
|
return view('backend.pages.forms.meeting.view', [
|
||||||
|
'form' => $form,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
public function create()
|
public function create()
|
||||||
{
|
{
|
||||||
$this->checkAuthorization(auth()->user(), ['forms.meeting.create']);
|
$this->checkAuthorization(auth()->user(), ['forms.meeting.create']);
|
||||||
|
|||||||
@@ -78,6 +78,22 @@ class FormUpCountryController extends Controller
|
|||||||
return response()->json($form);
|
return response()->json($form);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function view($id)
|
||||||
|
{
|
||||||
|
$this->checkAuthorization(auth()->user(), ['forms.country.view']);
|
||||||
|
|
||||||
|
$form = FormUpCountry::with(['rayon', 'user'])->findOrFail($id);
|
||||||
|
$form->bukti_allowance = $form->bukti_allowance ? NextCloudHelper::getFileUrl($form->bukti_allowance) : null;
|
||||||
|
$form->bukti_transport_dalkot = $form->bukti_transport_dalkot ? NextCloudHelper::getFileUrl($form->bukti_transport_dalkot) : null;
|
||||||
|
$form->bukti_transport_ankot = $form->bukti_transport_ankot ? NextCloudHelper::getFileUrl($form->bukti_transport_ankot) : null;
|
||||||
|
$form->bukti_hotel = $form->bukti_hotel ? NextCloudHelper::getFileUrl($form->bukti_hotel) : null;
|
||||||
|
|
||||||
|
return view('backend.pages.forms.upcountry.view', [
|
||||||
|
'form' => $form,
|
||||||
|
'rayons' => Rayon::all()
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
public function create()
|
public function create()
|
||||||
{
|
{
|
||||||
$this->checkAuthorization(auth()->user(), ['forms.country.create']);
|
$this->checkAuthorization(auth()->user(), ['forms.country.create']);
|
||||||
|
|||||||
@@ -187,6 +187,12 @@
|
|||||||
</td>
|
</td>
|
||||||
@endif
|
@endif
|
||||||
<td>
|
<td>
|
||||||
|
@if (auth()->user()->can('forms.meeting.view'))
|
||||||
|
<a href="{{ route('forms.meeting.view', $item->id) }}" class="btn btn-primary btn-sm">
|
||||||
|
<i class="fas fa-eye text-white"></i>
|
||||||
|
</a>
|
||||||
|
@endif
|
||||||
|
|
||||||
@if (auth()->user()->can('forms.meeting.edit'))
|
@if (auth()->user()->can('forms.meeting.edit'))
|
||||||
<a href="{{ route('forms.meeting.edit', $item->id) }}" class="btn btn-warning btn-sm">
|
<a href="{{ route('forms.meeting.edit', $item->id) }}" class="btn btn-warning btn-sm">
|
||||||
<i class="fas fa-edit text-white"></i>
|
<i class="fas fa-edit text-white"></i>
|
||||||
|
|||||||
@@ -0,0 +1,116 @@
|
|||||||
|
@extends('layouts.app')
|
||||||
|
|
||||||
|
@section('title')
|
||||||
|
Dashboard
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@section('admin-content')
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/autonumeric@4.6.0/dist/autoNumeric.min.js"></script>
|
||||||
|
|
||||||
|
<section class="content-header">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<h1>Lihat Expense Meeting & Seminar</h1>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<ol class="breadcrumb float-sm-right">
|
||||||
|
<li class="breadcrumb-item"><a href="{{ route('dashboard.index') }}">Dashboard</a></li>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="card card-primary card-outline">
|
||||||
|
<div class="card-body">
|
||||||
|
<form method="POST" enctype="multipart/form-data">
|
||||||
|
@csrf
|
||||||
|
@method('PUT')
|
||||||
|
@include('backend.layouts.partials.messages')
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">No Expense</label>
|
||||||
|
<input type="text" class="form-control" name="expense_number" value="{{ $form->expense_number }}" readonly>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Allowance</label>
|
||||||
|
<input type="text" class="form-control" name="allowance" id="allowance" value="{{ $form->allowance }}" readonly>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Bukti Allowance</label><br>
|
||||||
|
<a href="{{ $form->bukti_allowance }}" target="_blank">Lihat Bukti</a>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Transport Antar Kota</label>
|
||||||
|
<input type="text" class="form-control" name="transport_ankot" id="transport_ankot" value="{{ $form->transport_ankot }}" readonly>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Bukti Transport Antar Kota</label><br>
|
||||||
|
<a href="{{ $form->bukti_transport_ankot }}" target="_blank">Lihat Bukti</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Hotel</label>
|
||||||
|
<input type="text" class="form-control" name="hotel" id="hotel" value="{{ $form->hotel }}" readonly>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Bukti Hotel</label><br>
|
||||||
|
<a href="{{ $form->bukti_hotel }}" target="_blank">Lihat Bukti</a>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Total</label>
|
||||||
|
<input type="text" class="form-control" name="total" id="total" value="{{ $form->total }}" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- back button --}}
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<a href="{{ route('forms.meeting') }}" class="btn btn-secondary">Kembali</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
new AutoNumeric('#allowance', {
|
||||||
|
digitGroupSeparator: '.', // Pemisah ribuan
|
||||||
|
decimalCharacter: ',', // Karakter desimal (tidak digunakan karena tanpa desimal)
|
||||||
|
currencySymbol: 'Rp.', // Simbol mata uang
|
||||||
|
decimalPlaces: 0, // Tidak ada angka desimal
|
||||||
|
unformatOnSubmit: true // Nilai asli tanpa format saat dikirimkan
|
||||||
|
});
|
||||||
|
|
||||||
|
new AutoNumeric('#transport_ankot', {
|
||||||
|
digitGroupSeparator: '.', // Pemisah ribuan
|
||||||
|
decimalCharacter: ',', // Karakter desimal (tidak digunakan karena tanpa desimal)
|
||||||
|
currencySymbol: 'Rp.', // Simbol mata uang
|
||||||
|
decimalPlaces: 0, // Tidak ada angka desimal
|
||||||
|
unformatOnSubmit: true // Nilai asli tanpa format saat dikirimkan
|
||||||
|
});
|
||||||
|
|
||||||
|
new AutoNumeric('#hotel', {
|
||||||
|
digitGroupSeparator: '.', // Pemisah ribuan
|
||||||
|
decimalCharacter: ',', // Karakter desimal (tidak digunakan karena tanpa desimal)
|
||||||
|
currencySymbol: 'Rp.', // Simbol mata uang
|
||||||
|
decimalPlaces: 0, // Tidak ada angka desimal
|
||||||
|
unformatOnSubmit: true // Nilai asli tanpa format saat dikirimkan
|
||||||
|
});
|
||||||
|
|
||||||
|
new AutoNumeric('#total', {
|
||||||
|
digitGroupSeparator: '.', // Pemisah ribuan
|
||||||
|
decimalCharacter: ',', // Karakter desimal (tidak digunakan karena tanpa desimal)
|
||||||
|
currencySymbol: 'Rp.', // Simbol mata uang
|
||||||
|
decimalPlaces: 0, // Tidak ada angka desimal
|
||||||
|
unformatOnSubmit: true // Nilai asli tanpa format saat dikirimkan
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endsection
|
||||||
@@ -193,6 +193,12 @@
|
|||||||
</td>
|
</td>
|
||||||
@endif
|
@endif
|
||||||
<td>
|
<td>
|
||||||
|
@if (auth()->user()->can('forms.country.view'))
|
||||||
|
<a href="{{ route('forms.up-country.view', $item->id) }}" class="btn btn-primary btn-sm">
|
||||||
|
<i class="fas fa-eye text-white"></i>
|
||||||
|
</a>
|
||||||
|
@endif
|
||||||
|
|
||||||
@if (auth()->user()->can('forms.country.edit'))
|
@if (auth()->user()->can('forms.country.edit'))
|
||||||
<a href="{{ route('forms.up-country.edit', $item->id) }}" class="btn btn-warning btn-sm">
|
<a href="{{ route('forms.up-country.edit', $item->id) }}" class="btn btn-warning btn-sm">
|
||||||
<i class="fas fa-edit text-white"></i>
|
<i class="fas fa-edit text-white"></i>
|
||||||
|
|||||||
@@ -0,0 +1,152 @@
|
|||||||
|
@extends('layouts.app')
|
||||||
|
|
||||||
|
@section('title')
|
||||||
|
Dashboard
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@section('admin-content')
|
||||||
|
<script src="https://cdn.jsdelivr.net/npm/autonumeric@4.6.0/dist/autoNumeric.min.js"></script>
|
||||||
|
<section class="content-header">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<h1>Lihat Expense Up Country</h1>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<ol class="breadcrumb float-sm-right">
|
||||||
|
<li class="breadcrumb-item"><a href="{{ route('dashboard.index') }}">Dashboard</a></li>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="card card-primary card-outline">
|
||||||
|
<div class="card-body">
|
||||||
|
<form method="POST" enctype="multipart/form-data">
|
||||||
|
@csrf
|
||||||
|
@method('PUT')
|
||||||
|
@include('backend.layouts.partials.messages')
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">No Expense</label>
|
||||||
|
<input type="text" class="form-control" name="expense_number" value="{{ $form->expense_number }}" readonly>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Pilih Rayon</label>
|
||||||
|
<select class="form-control form-control-md" name="rayon_id" readonly>
|
||||||
|
<option value="">Pilih Rayon</option>
|
||||||
|
@foreach ($rayons as $rayon)
|
||||||
|
<option value="{{ $rayon->id }}" {{ $form->rayon_id == $rayon->id ? 'selected' : '' }}>{{ $rayon->name }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Tanggal</label>
|
||||||
|
<input type="date" class="form-control" name="tanggal" value="{{ $form->tanggal }}" readonly>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Tujuan</label>
|
||||||
|
<input type="text" class="form-control" name="tujuan" value="{{ $form->tujuan }}" readonly>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Jarak (km)</label>
|
||||||
|
<input type="number" class="form-control" name="jarak" value="{{ $form->jarak }}" readonly>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Allowance</label>
|
||||||
|
<input type="string" class="form-control" name="allowance" id="allowance" value="{{ $form->allowance }}" readonly>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Bukti Allowance</label><br>
|
||||||
|
<a href="{{ $form->bukti_allowance }}" target="_blank">Lihat Bukti</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-lg-6">
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Transport Dalam Kota</label>
|
||||||
|
<input type="string" class="form-control" name="transport_dalkot" id="transport_dalkot" value="{{ $form->transport_dalkot }}" readonly>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Bukti Transport Dalam Kota</label><br>
|
||||||
|
<a href="{{ $form->bukti_transport_dalkot }}" target="_blank">Lihat Bukti</a>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Transport Antar Kota</label>
|
||||||
|
<input type="string" class="form-control" name="transport_ankot" id="transport_ankot" value="{{ $form->transport_ankot }}" readonly>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Bukti Transport Antar Kota</label><br>
|
||||||
|
<a href="{{ $form->bukti_transport_ankot }}" target="_blank">Lihat Bukti</a>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Hotel</label>
|
||||||
|
<input type="string" class="form-control" name="hotel" id="hotel" value="{{ $form->hotel }}" readonly>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Bukti Hotel</label><br>
|
||||||
|
<a href="{{ $form->bukti_hotel }}" target="_blank">Lihat Bukti</a>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label class="form-label">Total</label>
|
||||||
|
<input type="text" class="form-control" name="total" id="total" value="{{ $form->total }}" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{-- back button --}}
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<a href="{{ route('forms.up-country') }}" class="btn btn-secondary">Kembali</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
new AutoNumeric('#allowance', {
|
||||||
|
digitGroupSeparator: '.', // Pemisah ribuan
|
||||||
|
decimalCharacter: ',', // Karakter desimal (tidak digunakan karena tanpa desimal)
|
||||||
|
currencySymbol: 'Rp.', // Simbol mata uang
|
||||||
|
decimalPlaces: 0, // Tidak ada angka desimal
|
||||||
|
unformatOnSubmit: true // Nilai asli tanpa format saat dikirimkan
|
||||||
|
});
|
||||||
|
|
||||||
|
new AutoNumeric('#transport_dalkot', {
|
||||||
|
digitGroupSeparator: '.', // Pemisah ribuan
|
||||||
|
decimalCharacter: ',', // Karakter desimal (tidak digunakan karena tanpa desimal)
|
||||||
|
currencySymbol: 'Rp.', // Simbol mata uang
|
||||||
|
decimalPlaces: 0, // Tidak ada angka desimal
|
||||||
|
unformatOnSubmit: true // Nilai asli tanpa format saat dikirimkan
|
||||||
|
});
|
||||||
|
|
||||||
|
new AutoNumeric('#transport_ankot', {
|
||||||
|
digitGroupSeparator: '.', // Pemisah ribuan
|
||||||
|
decimalCharacter: ',', // Karakter desimal (tidak digunakan karena tanpa desimal)
|
||||||
|
currencySymbol: 'Rp.', // Simbol mata uang
|
||||||
|
decimalPlaces: 0, // Tidak ada angka desimal
|
||||||
|
unformatOnSubmit: true // Nilai asli tanpa format saat dikirimkan
|
||||||
|
});
|
||||||
|
|
||||||
|
new AutoNumeric('#hotel', {
|
||||||
|
digitGroupSeparator: '.', // Pemisah ribuan
|
||||||
|
decimalCharacter: ',', // Karakter desimal (tidak digunakan karena tanpa desimal)
|
||||||
|
currencySymbol: 'Rp.', // Simbol mata uang
|
||||||
|
decimalPlaces: 0, // Tidak ada angka desimal
|
||||||
|
unformatOnSubmit: true // Nilai asli tanpa format saat dikirimkan
|
||||||
|
});
|
||||||
|
|
||||||
|
new AutoNumeric('#total', {
|
||||||
|
digitGroupSeparator: '.', // Pemisah ribuan
|
||||||
|
decimalCharacter: ',', // Karakter desimal (tidak digunakan karena tanpa desimal)
|
||||||
|
currencySymbol: 'Rp.', // Simbol mata uang
|
||||||
|
decimalPlaces: 0, // Tidak ada angka desimal
|
||||||
|
unformatOnSubmit: true // Nilai asli tanpa format saat dikirimkan
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endsection
|
||||||
@@ -77,6 +77,7 @@ Route::middleware(['auth:admin', 'menu'])->group(function () {
|
|||||||
// Up Country
|
// Up Country
|
||||||
Route::get('/up-country', [FormUpCountryController::class, 'index'])->name('forms.up-country');
|
Route::get('/up-country', [FormUpCountryController::class, 'index'])->name('forms.up-country');
|
||||||
Route::get('/up-country/detail/{id}', [FormUpCountryController::class, 'detail'])->name('forms.up-country.detail');
|
Route::get('/up-country/detail/{id}', [FormUpCountryController::class, 'detail'])->name('forms.up-country.detail');
|
||||||
|
Route::get('/up-country/view/{id}', [FormUpCountryController::class, 'view'])->name('forms.up-country.view');
|
||||||
Route::get('/up-country/create', [FormUpCountryController::class, 'create'])->name('forms.up-country.create');
|
Route::get('/up-country/create', [FormUpCountryController::class, 'create'])->name('forms.up-country.create');
|
||||||
Route::post('/up-country/store', [FormUpCountryController::class, 'store'])->name('forms.up-country.store');
|
Route::post('/up-country/store', [FormUpCountryController::class, 'store'])->name('forms.up-country.store');
|
||||||
Route::get('/up-country/edit/{id}', [FormUpCountryController::class, 'edit'])->name('forms.up-country.edit');
|
Route::get('/up-country/edit/{id}', [FormUpCountryController::class, 'edit'])->name('forms.up-country.edit');
|
||||||
@@ -114,6 +115,7 @@ Route::middleware(['auth:admin', 'menu'])->group(function () {
|
|||||||
// Meeting & Seminar
|
// Meeting & Seminar
|
||||||
Route::get('/meeting-seminar', [FormMeetingSeminarController::class, 'index'])->name('forms.meeting');
|
Route::get('/meeting-seminar', [FormMeetingSeminarController::class, 'index'])->name('forms.meeting');
|
||||||
Route::get('/meeting-seminar/detail/{id}', [FormMeetingSeminarController::class, 'detail'])->name('forms.meeting.detail');
|
Route::get('/meeting-seminar/detail/{id}', [FormMeetingSeminarController::class, 'detail'])->name('forms.meeting.detail');
|
||||||
|
Route::get('/meeting-seminar/view/{id}', [FormMeetingSeminarController::class, 'view'])->name('forms.meeting.view');
|
||||||
Route::get('/meeting-seminar/create', [FormMeetingSeminarController::class, 'create'])->name('forms.meeting.create');
|
Route::get('/meeting-seminar/create', [FormMeetingSeminarController::class, 'create'])->name('forms.meeting.create');
|
||||||
Route::post('/meeting-seminar/store', [FormMeetingSeminarController::class, 'store'])->name('forms.meeting.store');
|
Route::post('/meeting-seminar/store', [FormMeetingSeminarController::class, 'store'])->name('forms.meeting.store');
|
||||||
Route::get('/meeting-seminar/edit/{id}', [FormMeetingSeminarController::class, 'edit'])->name('forms.meeting.edit');
|
Route::get('/meeting-seminar/edit/{id}', [FormMeetingSeminarController::class, 'edit'])->name('forms.meeting.edit');
|
||||||
|
|||||||
Reference in New Issue
Block a user