added view detail expense for up country & meeting seminar

This commit is contained in:
Jagad R R
2025-01-04 13:53:53 +07:00
parent 2cd0ed39f9
commit fbde09292d
7 changed files with 312 additions and 0 deletions
@@ -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
+2
View File
@@ -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');