first commit
This commit is contained in:
parent
37e2f60dfd
commit
baa9370eff
|
@ -12,17 +12,19 @@ class AdminController extends Controller
|
||||||
{
|
{
|
||||||
public function user(Request $request)
|
public function user(Request $request)
|
||||||
{
|
{
|
||||||
$data = new User;
|
$data = User::whereIn('name', ['owner', 'akuntan']);
|
||||||
|
|
||||||
if($request->get('search')){
|
if ($request->get('search')) {
|
||||||
$data = $data->where('name','LIKE', '%'.$request->get('search').'%')
|
$data = $data->where(function ($query) use ($request) {
|
||||||
->orWhere('user','LIKE','%'.$request->get('search').'%');
|
$query->where('name', 'LIKE', '%' . $request->get('search') . '%')
|
||||||
|
->orWhere('user', 'LIKE', '%' . $request->get('search') . '%');
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
$data = $data->get();
|
$data = $data->get();
|
||||||
return view('admin.user', compact('data', 'request'));
|
return view('admin.user', compact('data', 'request'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function create(){
|
public function create(){
|
||||||
return view('admin.create');
|
return view('admin.create');
|
||||||
}
|
}
|
||||||
|
@ -60,12 +62,12 @@ public function delete(Request $request, $id){
|
||||||
|
|
||||||
public function edit(Request $request, $id){
|
public function edit(Request $request, $id){
|
||||||
$data = User::find($id);
|
$data = User::find($id);
|
||||||
dd($data);
|
// dd($data);
|
||||||
return view('admin.edit', compact('data'));
|
return view('admin.edit', compact('data'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function update(Request $request, $id){
|
public function update(Request $request, $id){
|
||||||
// dd($request->all());
|
// dd($request->status);
|
||||||
$validator = Validator::make($request->all(),[
|
$validator = Validator::make($request->all(),[
|
||||||
'nama' => 'required',
|
'nama' => 'required',
|
||||||
'status' => 'required',
|
'status' => 'required',
|
||||||
|
@ -76,7 +78,6 @@ public function update(Request $request, $id){
|
||||||
|
|
||||||
$data['user'] = $request->nama;
|
$data['user'] = $request->nama;
|
||||||
$data['name'] = $request->status;
|
$data['name'] = $request->status;
|
||||||
|
|
||||||
if($request->password){
|
if($request->password){
|
||||||
$data['password'] = Hash::make($request->password);
|
$data['password'] = Hash::make($request->password);
|
||||||
}
|
}
|
||||||
|
@ -88,4 +89,34 @@ public function update(Request $request, $id){
|
||||||
|
|
||||||
return redirect()->route('admin.user')->with('success', 'Berhasil mengubah data pengguna!');
|
return redirect()->route('admin.user')->with('success', 'Berhasil mengubah data pengguna!');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function useradmin(Request $request)
|
||||||
|
{
|
||||||
|
$d = auth()->user();
|
||||||
|
return view('admin.admin', compact('d'));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function updateprofile(Request $request, $id){
|
||||||
|
// dd($request->status);
|
||||||
|
$validator = Validator::make($request->all(),[
|
||||||
|
'nama' => 'required',
|
||||||
|
'status' => 'required',
|
||||||
|
'password' => 'nullable'
|
||||||
|
]);
|
||||||
|
|
||||||
|
if($validator->fails()) return redirect()->back()->withInput()->withErrors($validator)->with('failed', 'Salah mengisi data pengguna!');
|
||||||
|
|
||||||
|
$data['user'] = $request->nama;
|
||||||
|
$data['name'] = $request->status;
|
||||||
|
if($request->password){
|
||||||
|
$data['password'] = Hash::make($request->password);
|
||||||
|
}
|
||||||
|
|
||||||
|
$user = User::find($id);
|
||||||
|
$user->update($data);
|
||||||
|
|
||||||
|
$user->syncRoles($request->status);
|
||||||
|
|
||||||
|
return redirect()->route('admin.user.updateprofile')->with('success', 'Berhasil mengubah data pengguna!');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,68 @@
|
||||||
|
@extends('layouts.main')
|
||||||
|
@section('content')
|
||||||
|
<div class="content-wrapper">
|
||||||
|
<!-- Content Header (Page header) -->
|
||||||
|
<div class="content-header">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row mb-2">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<h1 class="m-0">Pengguna</h1>
|
||||||
|
</div><!-- /.col -->
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<ol class="breadcrumb float-sm-right">
|
||||||
|
<li class="breadcrumb-item">Admin</a></li>
|
||||||
|
<li class="breadcrumb-item active">Pengguna</li>
|
||||||
|
</ol>
|
||||||
|
</div><!-- /.col -->
|
||||||
|
</div><!-- /.row -->
|
||||||
|
</div><!-- /.container-fluid -->
|
||||||
|
</div>
|
||||||
|
<!-- /.content-header -->
|
||||||
|
|
||||||
|
<!-- Main content -->
|
||||||
|
<section class="content">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="card card-primary card-outline">
|
||||||
|
<div class="card-body box-profile">
|
||||||
|
|
||||||
|
<h3 class="profile-username text-center">{{ $d->user }}</h3>
|
||||||
|
|
||||||
|
<p class="text-muted text-center">{{ $d->name }}</p>
|
||||||
|
<a href="#" class="btn btn-info btn-block" data-toggle="modal" data-target="#modalEdit{{ $d->id }}"><b>Ubah Profil</b></a>
|
||||||
|
@include('admin.editprofil')
|
||||||
|
</div>
|
||||||
|
<!-- /.card-body -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /.col -->
|
||||||
|
</div>
|
||||||
|
<!-- /.row -->
|
||||||
|
</div>
|
||||||
|
<!-- /.container-fluid -->
|
||||||
|
</section>
|
||||||
|
<!-- /.content -->
|
||||||
|
</div>
|
||||||
|
@endsection
|
||||||
|
@section('scripts')
|
||||||
|
@if($message = Session::get('failed'))
|
||||||
|
<script>
|
||||||
|
Swal.fire({
|
||||||
|
icon: "error",
|
||||||
|
title: "Oops...",
|
||||||
|
text: "{{ $message }}",
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
@if($message = Session::get('success'))
|
||||||
|
<script>
|
||||||
|
Swal.fire({
|
||||||
|
icon: "success",
|
||||||
|
// title: "Oops...",
|
||||||
|
text: "{{ $message }}",
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endif
|
||||||
|
@endsection
|
|
@ -0,0 +1,46 @@
|
||||||
|
<div class="modal fade" id="modalEdit{{ $d->id }}" data-backdrop="static" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog modal-dialog-centered modal-dialog-scrollable">
|
||||||
|
<form action="{{ route('admin.user.update',['id' => $d->id]) }}" method="post" enctype="multipart/form-data">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title" id="staticBackdropLabel">Edit Data Pengguna</h5>
|
||||||
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||||
|
<span aria-hidden="true">×</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
@csrf
|
||||||
|
@method('put')
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="exampleInputName" class="form-label">Nama Pengguna</label>
|
||||||
|
<input type="text" class="form-control" name="nama" value="{{ $d->user }}" id="exampleInputName">
|
||||||
|
@error('nama')
|
||||||
|
<small>{{ $message }}</small>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="exampleInputName" class="form-label">Status</label>
|
||||||
|
<select class="custom-select" name="status" id="inputGroupSelect02">
|
||||||
|
<option value="{{ $d->name }}" selected>{{ $d->name }}</option>
|
||||||
|
</select>
|
||||||
|
@error('status')
|
||||||
|
<small>{{ $message }}</small>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="exampleInputPassword1" class="form-label">Password</label>
|
||||||
|
<input type="password" class="form-control" name="password" id="exampleInputPassword1">
|
||||||
|
@error('password')
|
||||||
|
<small>{{ $message }}</small>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Tutup</button>
|
||||||
|
<button type="submit" class="btn btn-primary">Edit</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -1,14 +1,14 @@
|
||||||
@extends('layouts.main')
|
@extends('layouts.main')
|
||||||
@section('css')
|
@section('css')
|
||||||
<style>
|
<style>
|
||||||
.select2-container--default .select2-selection--single {
|
.select2-container--default .select2-selection--single {
|
||||||
width: 100% !important;
|
width: 100% !important;
|
||||||
height: calc(1.5em + .75rem + 2px);
|
height: calc(1.5em + .75rem + 2px);
|
||||||
border: 1px solid #ced4da;
|
border: 1px solid #ced4da;
|
||||||
border-radius: .25rem;
|
border-radius: .25rem;
|
||||||
padding: .375rem .75rem;
|
padding: .375rem .75rem;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
@endsection
|
@endsection
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
|
@ -57,45 +57,45 @@
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
@foreach($data->detail_jurnal as $i => $detail)
|
@foreach($data->detail_jurnal as $i => $detail)
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<select class="form-control select2" name="inputs[{{ $i }}][akun]" style="width: 100%" required>
|
<select class="form-control select2" name="inputs[{{ $i }}][akun]" style="width: 100%" required>
|
||||||
<option selected value="{{ $detail->akun->id }}">{{ $detail->akun->nama_akun }} [{{ $detail->akun->kode_akun }}]</option>
|
<option selected value="{{ $detail->akun->id }}">{{ $detail->akun->nama_akun }} [{{ $detail->akun->kode_akun }}]</option>
|
||||||
@foreach ($akun as $item)
|
@foreach ($akun as $item)
|
||||||
<option value="{{ $item->id }}">{{ $item->nama_akun }} [{{ $item->kode_akun }}]</option>
|
<option value="{{ $item->id }}">{{ $item->nama_akun }} [{{ $item->kode_akun }}]</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div class="form-group">
|
||||||
|
<select class="form-control select2" name="inputs[{{ $i }}][transaksi]" style="width: 100%" required>
|
||||||
|
<option selected value="{{ $detail->transaksi->id }}">{{ $detail->transaksi->nama_transaksi_perkiraan }}</option>
|
||||||
|
@foreach ($transaksi as $item)
|
||||||
|
<option value="{{ $item->id }}" data-value="{{ $item->jumlah }}">{{ $item->nama_transaksi_perkiraan }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div class="input-group mb-3">
|
||||||
|
<div class="input-group-prepend">
|
||||||
|
<span class="input-group-text">Rp.</span>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
<input type="text" class="form-control debit-input" name="inputs[{{ $i }}][debit]" value="{{ number_format($detail->debit, 0, ',', '.') }}" min="0" {{ $detail->debit ? '' : 'disabled' }}>
|
||||||
<td>
|
</div>
|
||||||
<div class="form-group">
|
</td>
|
||||||
<select class="form-control select2" name="inputs[{{ $i }}][transaksi]" style="width: 100%" required>
|
<td>
|
||||||
<option selected value="{{ $detail->transaksi->id }}">{{ $detail->transaksi->nama_transaksi_perkiraan }}</option>
|
<div class="input-group mb-3">
|
||||||
@foreach ($transaksi as $item)
|
<div class="input-group-prepend">
|
||||||
<option value="{{ $item->id }}">{{ $item->nama_transaksi_perkiraan }}</option>
|
<span class="input-group-text">Rp.</span>
|
||||||
@endforeach
|
|
||||||
</select>
|
|
||||||
</div>
|
</div>
|
||||||
</td>
|
<input type="text" class="form-control kredit-input" name="inputs[{{ $i }}][kredit]" value="{{ number_format($detail->kredit, 0, ',', '.') }}" min="0" {{ $detail->kredit ? '' : 'disabled' }}>
|
||||||
<td>
|
</div>
|
||||||
<div class="input-group mb-3">
|
</td>
|
||||||
<div class="input-group-prepend">
|
<td><button type="button" class="btn btn-outline-danger remove-table-row"><i class="fas fa-minus"></i></button></td>
|
||||||
<span class="input-group-text">Rp.</span>
|
</tr>
|
||||||
</div>
|
|
||||||
<input type="text" class="form-control debit-input" name="inputs[{{ $i }}][debit]" value="{{ number_format($detail->debit, 0, ',', '.') }}" min="0">
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<div class="input-group mb-3">
|
|
||||||
<div class="input-group-prepend">
|
|
||||||
<span class="input-group-text">Rp.</span>
|
|
||||||
</div>
|
|
||||||
<input type="text" class="form-control kredit-input" name="inputs[{{ $i }}][kredit]" value="{{ number_format($detail->kredit, 0, ',', '.') }}" min="0">
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td><button type="button" class="btn btn-outline-danger remove-table-row"><i class="fas fa-minus"></i></button></td>
|
|
||||||
</tr>
|
|
||||||
@endforeach
|
@endforeach
|
||||||
</tbody>
|
</tbody>
|
||||||
<tfoot>
|
<tfoot>
|
||||||
|
@ -126,6 +126,7 @@
|
||||||
@section('scripts')
|
@section('scripts')
|
||||||
<script>
|
<script>
|
||||||
var i = {{ $data->detail_jurnal->count() - 1 }};
|
var i = {{ $data->detail_jurnal->count() - 1 }};
|
||||||
|
let isDebitTurn = true;
|
||||||
|
|
||||||
function initializeSelect2() {
|
function initializeSelect2() {
|
||||||
$('.select2').select2({
|
$('.select2').select2({
|
||||||
|
@ -133,52 +134,75 @@ function initializeSelect2() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function updateFieldsBasedOnTransaksi() {
|
||||||
|
$('select[name^="inputs["][name$="[transaksi]"]').off('change').on('change', function() {
|
||||||
|
var $this = $(this);
|
||||||
|
var $row = $this.closest('tr');
|
||||||
|
var transaksiValue = $this.find(':selected').data('value');
|
||||||
|
var $debitInput = $row.find('.debit-input');
|
||||||
|
var $kreditInput = $row.find('.kredit-input');
|
||||||
|
|
||||||
|
if (transaksiValue) {
|
||||||
|
var formattedValue = new Intl.NumberFormat('id-ID', {
|
||||||
|
style: 'decimal',
|
||||||
|
}).format(transaksiValue).replace(/,/g, '.');
|
||||||
|
|
||||||
|
if (isDebitTurn) {
|
||||||
|
$debitInput.val(formattedValue);
|
||||||
|
$debitInput.prop('disabled', false);
|
||||||
|
$kreditInput.val('');
|
||||||
|
$kreditInput.prop('disabled', true);
|
||||||
|
} else {
|
||||||
|
$kreditInput.val(formattedValue);
|
||||||
|
$kreditInput.prop('disabled', false);
|
||||||
|
$debitInput.val('');
|
||||||
|
$debitInput.prop('disabled', true);
|
||||||
|
}
|
||||||
|
|
||||||
|
isDebitTurn = !isDebitTurn;
|
||||||
|
} else {
|
||||||
|
$debitInput.val('');
|
||||||
|
$debitInput.prop('disabled', true);
|
||||||
|
$kreditInput.val('');
|
||||||
|
$kreditInput.prop('disabled', true);
|
||||||
|
}
|
||||||
|
|
||||||
|
hitungTotal();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function toggleAndFormatInputs() {
|
function toggleAndFormatInputs() {
|
||||||
$('.debit-input').each(function() {
|
$('.debit-input').off('input').on('input', function() {
|
||||||
var $this = $(this);
|
var $this = $(this);
|
||||||
var $row = $this.closest('tr');
|
var $row = $this.closest('tr');
|
||||||
var $kreditInput = $row.find('.kredit-input');
|
var $kreditInput = $row.find('.kredit-input');
|
||||||
|
|
||||||
if ($this.val() && parseInt($this.val().replace(/\D/g, '')) > 0) {
|
if ($this.val()) {
|
||||||
$kreditInput.prop('disabled', true);
|
$kreditInput.prop('disabled', true);
|
||||||
} else {
|
} else {
|
||||||
$kreditInput.prop('disabled', false);
|
$kreditInput.prop('disabled', false);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this.on('input', function() {
|
formatCurrency($this);
|
||||||
if ($this.val()) {
|
hitungTotal();
|
||||||
$kreditInput.prop('disabled', true);
|
|
||||||
} else {
|
|
||||||
$kreditInput.prop('disabled', false);
|
|
||||||
}
|
|
||||||
|
|
||||||
formatCurrency($this);
|
|
||||||
hitungTotal();
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
$('.kredit-input').each(function() {
|
$('.kredit-input').off('input').on('input', function() {
|
||||||
var $this = $(this);
|
var $this = $(this);
|
||||||
var $row = $this.closest('tr');
|
var $row = $this.closest('tr');
|
||||||
var $debitInput = $row.find('.debit-input');
|
var $debitInput = $row.find('.debit-input');
|
||||||
|
|
||||||
if ($this.val() && parseInt($this.val().replace(/\D/g, '')) > 0) {
|
if ($this.val()) {
|
||||||
$debitInput.prop('disabled', true);
|
$debitInput.prop('disabled', true);
|
||||||
} else {
|
} else {
|
||||||
$debitInput.prop('disabled', false);
|
$debitInput.prop('disabled', false);
|
||||||
}
|
}
|
||||||
|
|
||||||
$this.on('input', function() {
|
formatCurrency($this);
|
||||||
if ($this.val()) {
|
hitungTotal();
|
||||||
$debitInput.prop('disabled', true);
|
|
||||||
} else {
|
|
||||||
$debitInput.prop('disabled', false);
|
|
||||||
}
|
|
||||||
|
|
||||||
formatCurrency($this);
|
|
||||||
hitungTotal();
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
updateFieldsBasedOnTransaksi();
|
||||||
}
|
}
|
||||||
|
|
||||||
function formatCurrency(input) {
|
function formatCurrency(input) {
|
||||||
|
@ -216,6 +240,7 @@ function hitungTotal() {
|
||||||
|
|
||||||
$('#add').click(function() {
|
$('#add').click(function() {
|
||||||
++i;
|
++i;
|
||||||
|
isDebitTurn = !isDebitTurn;
|
||||||
$('#jurnal tbody').append(
|
$('#jurnal tbody').append(
|
||||||
`<tr>
|
`<tr>
|
||||||
<td>
|
<td>
|
||||||
|
@ -223,7 +248,7 @@ function hitungTotal() {
|
||||||
<select class="form-control select2" name="inputs[${i}][akun]" style="width: 100%" required>
|
<select class="form-control select2" name="inputs[${i}][akun]" style="width: 100%" required>
|
||||||
<option selected disabled>Pilih Akun</option>
|
<option selected disabled>Pilih Akun</option>
|
||||||
@foreach ($akun as $item)
|
@foreach ($akun as $item)
|
||||||
<option value="{{ $item->id }}">{{ $item->nama_akun }} [{{ $item->kode_akun }}]</option>
|
<option value="{{ $item->id }}">{{ $item->nama_akun }} [{{ $item->kode_akun }}]</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
@ -233,7 +258,7 @@ function hitungTotal() {
|
||||||
<select class="form-control select2" name="inputs[${i}][transaksi]" style="width: 100%" required>
|
<select class="form-control select2" name="inputs[${i}][transaksi]" style="width: 100%" required>
|
||||||
<option selected disabled>Pilih Transaksi</option>
|
<option selected disabled>Pilih Transaksi</option>
|
||||||
@foreach ($transaksi as $item)
|
@foreach ($transaksi as $item)
|
||||||
<option value="{{ $item->id }}">{{ $item->nama_transaksi_perkiraan }}</option>
|
<option value="{{ $item->id }}" data-value="{{ $item->jumlah }}">{{ $item->nama_transaksi_perkiraan }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
@ -243,7 +268,7 @@ function hitungTotal() {
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text">Rp.</span>
|
<span class="input-group-text">Rp.</span>
|
||||||
</div>
|
</div>
|
||||||
<input type="text" class="form-control debit-input" name="inputs[${i}][debit]" min="0">
|
<input type="text" class="form-control debit-input" name="inputs[${i}][debit]" min="0" ${!isDebitTurn ? 'disabled' : ''}>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
@ -251,7 +276,7 @@ function hitungTotal() {
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text">Rp.</span>
|
<span class="input-group-text">Rp.</span>
|
||||||
</div>
|
</div>
|
||||||
<input type="text" class="form-control kredit-input" name="inputs[${i}][kredit]" min="0">
|
<input type="text" class="form-control kredit-input" name="inputs[${i}][kredit]" min="0" ${isDebitTurn ? 'disabled' : ''}>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td><button type="button" class="btn btn-outline-danger remove-table-row"><i class="fas fa-minus"></i></button></td>
|
<td><button type="button" class="btn btn-outline-danger remove-table-row"><i class="fas fa-minus"></i></button></td>
|
||||||
|
@ -259,7 +284,7 @@ function hitungTotal() {
|
||||||
);
|
);
|
||||||
toggleAndFormatInputs();
|
toggleAndFormatInputs();
|
||||||
initializeSelect2();
|
initializeSelect2();
|
||||||
hitungTotal($this);
|
hitungTotal();
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).on('click', '.remove-table-row', function() {
|
$(document).on('click', '.remove-table-row', function() {
|
||||||
|
@ -271,7 +296,7 @@ function hitungTotal() {
|
||||||
toggleAndFormatInputs();
|
toggleAndFormatInputs();
|
||||||
initializeSelect2();
|
initializeSelect2();
|
||||||
hitungTotal();
|
hitungTotal();
|
||||||
|
|
||||||
$('#jurnalForm').submit(function(event) {
|
$('#jurnalForm').submit(function(event) {
|
||||||
var totalDebit = parseInt($('#totalDebit').text().replace(/\D/g, ''));
|
var totalDebit = parseInt($('#totalDebit').text().replace(/\D/g, ''));
|
||||||
var totalKredit = parseInt($('#totalKredit').text().replace(/\D/g, ''));
|
var totalKredit = parseInt($('#totalKredit').text().replace(/\D/g, ''));
|
||||||
|
@ -281,7 +306,7 @@ function hitungTotal() {
|
||||||
alert('Total debit dan kredit harus sama!');
|
alert('Total debit dan kredit harus sama!');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@if($message = Session::get('failed'))
|
@if($message = Session::get('failed'))
|
||||||
Swal.fire({
|
Swal.fire({
|
||||||
icon: "error",
|
icon: "error",
|
||||||
|
|
|
@ -74,9 +74,9 @@
|
||||||
<select class="form-control select2" name="inputs[0][transaksi]" style="width: 100%;" required>
|
<select class="form-control select2" name="inputs[0][transaksi]" style="width: 100%;" required>
|
||||||
<option selected disabled>Pilih Transaksi</option>
|
<option selected disabled>Pilih Transaksi</option>
|
||||||
@foreach ($transaksi as $item)
|
@foreach ($transaksi as $item)
|
||||||
<option value="{{ $item->id }}">{{ $item->nama_transaksi_perkiraan }}</option>
|
<option value="{{ $item->id }}" data-value="{{ $item->jumlah }}">{{ $item->nama_transaksi_perkiraan }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
@ -130,12 +130,51 @@ function initializeSelect2() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let isDebitTurn = true;
|
||||||
|
|
||||||
|
function updateFieldsBasedOnTransaksi() {
|
||||||
|
$('select[name^="inputs["][name$="[transaksi]"]').off('change').on('change', function() {
|
||||||
|
var $this = $(this);
|
||||||
|
var $row = $this.closest('tr');
|
||||||
|
var transaksiValue = $this.find(':selected').data('value');
|
||||||
|
var $debitInput = $row.find('.debit-input');
|
||||||
|
var $kreditInput = $row.find('.kredit-input');
|
||||||
|
|
||||||
|
if (transaksiValue) {
|
||||||
|
var formattedValue = new Intl.NumberFormat('id-ID', {
|
||||||
|
style: 'decimal',
|
||||||
|
}).format(transaksiValue).replace(/,/g, '.');
|
||||||
|
|
||||||
|
if (isDebitTurn) {
|
||||||
|
$debitInput.val(formattedValue);
|
||||||
|
$debitInput.prop('disabled', false);
|
||||||
|
$kreditInput.val('');
|
||||||
|
$kreditInput.prop('disabled', true);
|
||||||
|
} else {
|
||||||
|
$kreditInput.val(formattedValue);
|
||||||
|
$kreditInput.prop('disabled', false);
|
||||||
|
$debitInput.val('');
|
||||||
|
$debitInput.prop('disabled', true);
|
||||||
|
}
|
||||||
|
|
||||||
|
isDebitTurn = !isDebitTurn;
|
||||||
|
} else {
|
||||||
|
$debitInput.val('');
|
||||||
|
$debitInput.prop('disabled', true);
|
||||||
|
$kreditInput.val('');
|
||||||
|
$kreditInput.prop('disabled', true);
|
||||||
|
}
|
||||||
|
|
||||||
|
hitungTotal();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function toggleAndFormatInputs() {
|
function toggleAndFormatInputs() {
|
||||||
$('.debit-input').off('input').on('input', function() {
|
$('.debit-input').off('input').on('input', function() {
|
||||||
var $this = $(this);
|
var $this = $(this);
|
||||||
var $row = $this.closest('tr');
|
var $row = $this.closest('tr');
|
||||||
var $kreditInput = $row.find('.kredit-input');
|
var $kreditInput = $row.find('.kredit-input');
|
||||||
|
|
||||||
if ($this.val()) {
|
if ($this.val()) {
|
||||||
$kreditInput.prop('disabled', true);
|
$kreditInput.prop('disabled', true);
|
||||||
} else {
|
} else {
|
||||||
|
@ -160,6 +199,8 @@ function toggleAndFormatInputs() {
|
||||||
formatCurrency($this);
|
formatCurrency($this);
|
||||||
hitungTotal();
|
hitungTotal();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
updateFieldsBasedOnTransaksi();
|
||||||
}
|
}
|
||||||
|
|
||||||
function formatCurrency(input) {
|
function formatCurrency(input) {
|
||||||
|
@ -214,7 +255,7 @@ function hitungTotal() {
|
||||||
<select class="form-control select2" name="inputs[${i}][transaksi]" style="width: 100%;" required>
|
<select class="form-control select2" name="inputs[${i}][transaksi]" style="width: 100%;" required>
|
||||||
<option selected disabled>Pilih Transaksi</option>
|
<option selected disabled>Pilih Transaksi</option>
|
||||||
@foreach ($transaksi as $item)
|
@foreach ($transaksi as $item)
|
||||||
<option value="{{ $item->id }}">{{ $item->nama_transaksi_perkiraan }}</option>
|
<option value="{{ $item->id }}" data-value="{{ $item->jumlah }}">{{ $item->nama_transaksi_perkiraan }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
@ -224,7 +265,7 @@ function hitungTotal() {
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text">Rp.</span>
|
<span class="input-group-text">Rp.</span>
|
||||||
</div>
|
</div>
|
||||||
<input type="text" class="form-control debit-input" name="inputs[${i}][debit]" min="0">
|
<input type="text" class="form-control debit-input" name="inputs[${i}][debit]" min="0" disabled>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
@ -232,12 +273,13 @@ function hitungTotal() {
|
||||||
<div class="input-group-prepend">
|
<div class="input-group-prepend">
|
||||||
<span class="input-group-text">Rp.</span>
|
<span class="input-group-text">Rp.</span>
|
||||||
</div>
|
</div>
|
||||||
<input type="text" class="form-control kredit-input" name="inputs[${i}][kredit]" min="0">
|
<input type="text" class="form-control kredit-input" name="inputs[${i}][kredit]" min="0" disabled>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td><button type="button" class="btn btn-outline-danger remove-table-row"><i class="fas fa-minus"></i></button></td>
|
<td><button type="button" class="btn btn-outline-danger remove-table-row"><i class="fas fa-minus"></i></button></td>
|
||||||
</tr>`
|
</tr>`
|
||||||
);
|
);
|
||||||
|
|
||||||
toggleAndFormatInputs();
|
toggleAndFormatInputs();
|
||||||
initializeSelect2();
|
initializeSelect2();
|
||||||
hitungTotal($this);
|
hitungTotal($this);
|
||||||
|
@ -248,7 +290,7 @@ function hitungTotal() {
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
toggleAndFormatInputs();
|
toggleAndFormatInputs();
|
||||||
initializeSelect2();
|
initializeSelect2();
|
||||||
hitungTotal();
|
hitungTotal();
|
||||||
|
|
||||||
|
@ -261,18 +303,11 @@ function hitungTotal() {
|
||||||
alert('Total debit dan kredit harus sama!');
|
alert('Total debit dan kredit harus sama!');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@if($message = Session::get('failed'))
|
@if($message = Session::get('failed'))
|
||||||
Swal.fire({
|
Swal.fire({
|
||||||
icon: "error",
|
icon: "error",
|
||||||
title: "Oops...",
|
title: "Oops",
|
||||||
text: "{{ $message }}",
|
|
||||||
});
|
|
||||||
@endif
|
|
||||||
|
|
||||||
@if($message = Session::get('success'))
|
|
||||||
Swal.fire({
|
|
||||||
icon: "success",
|
|
||||||
text: "{{ $message }}",
|
text: "{{ $message }}",
|
||||||
});
|
});
|
||||||
@endif
|
@endif
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
</div><!-- /.col -->
|
</div><!-- /.col -->
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<ol class="breadcrumb float-sm-right">
|
<ol class="breadcrumb float-sm-right">
|
||||||
<li class="breadcrumb-item"><a href="#">Akuntan</a></li>
|
<li class="breadcrumb-item">Akuntan</a></li>
|
||||||
<li class="breadcrumb-item active">Dashboard</li>
|
<li class="breadcrumb-item active">Dashboard</li>
|
||||||
</ol>
|
</ol>
|
||||||
</div><!-- /.col -->
|
</div><!-- /.col -->
|
||||||
|
|
|
@ -12,6 +12,14 @@
|
||||||
</p>
|
</p>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a href="{{ route('admin.user.admin') }}" class="nav-link {{ \Route::is('admin.user.admin') ? 'active' : '' }}">
|
||||||
|
<i class="nav-icon far fa-user"></i>
|
||||||
|
<p>
|
||||||
|
Profil Admin
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
@endcan
|
@endcan
|
||||||
|
|
||||||
@can('view_akuntan')
|
@can('view_akuntan')
|
||||||
|
|
|
@ -35,6 +35,7 @@
|
||||||
Route::get('/edit/{id}', [AdminController::class, 'edit'])->name('user.edit');
|
Route::get('/edit/{id}', [AdminController::class, 'edit'])->name('user.edit');
|
||||||
Route::put('/update/{id}', [AdminController::class, 'update'])->name('user.update');
|
Route::put('/update/{id}', [AdminController::class, 'update'])->name('user.update');
|
||||||
Route::delete('/delete/{id}', [AdminController::class, 'delete'])->name('user.delete');
|
Route::delete('/delete/{id}', [AdminController::class, 'delete'])->name('user.delete');
|
||||||
|
Route::get('/user/profile', [AdminController::class, 'useradmin'])->name('user.admin');
|
||||||
});
|
});
|
||||||
|
|
||||||
// akuntan
|
// akuntan
|
||||||
|
|
Loading…
Reference in New Issue