add crud signer

This commit is contained in:
KhatamNugraha
2023-08-21 15:48:15 +07:00
parent 969fd88aa4
commit 0fbd2a0423
14 changed files with 684 additions and 35 deletions

View File

@ -16,6 +16,7 @@ return new class extends Migration
Schema::table('', function (Blueprint $table) { Schema::table('', function (Blueprint $table) {
Schema::create('fasilitas', function (Blueprint $table) { Schema::create('fasilitas', function (Blueprint $table) {
$table->id(); $table->id();
$table->string('nomor_cif');
$table->string('nomor_rekening'); $table->string('nomor_rekening');
$table->string('jenis_fasilitas'); $table->string('jenis_fasilitas');
$table->string('saldo'); $table->string('saldo');

View File

@ -0,0 +1,32 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('fasilitas', function (Blueprint $table) {
$table->string('nomor_cif');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('fasilitas', function (Blueprint $table) {
});
}
};

View File

@ -0,0 +1,33 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('fasilitas', function (Blueprint $table) {
$table->string('cabang');
$table->string('periode');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('fasilitas', function (Blueprint $table) {
});
}
};

View File

@ -0,0 +1,40 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('signers', function (Blueprint $table) {
$table->id();
$table->string('nomor_cif');
$table->string('deputy_director_name');
$table->string('executive_officer_name');
$table->string('keterangan');
$table->string('status', 1)->default('1');
$table->timestamps();
$table->softDeletes();
$table->unsignedBigInteger("created_by")->nullable();
$table->unsignedBigInteger("updated_by")->nullable();
$table->unsignedBigInteger("deleted_by")->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('signers');
}
};

View File

@ -0,0 +1,32 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('fasilitas', function (Blueprint $table) {
$table->string('signer_id');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('fasilitas', function (Blueprint $table) {
});
}
};

30
Entities/Signer.php Normal file
View File

@ -0,0 +1,30 @@
<?php
namespace Modules\Konfirmasibank\Entities;
use Spatie\Activitylog\LogOptions;
use Spatie\Activitylog\Traits\LogsActivity;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class Signer extends Model
{
use HasFactory;
protected $primaryKey = 'id';
//public $incrementing = false;
protected $fillable = [
"'id',
'nomor_cif'
'deputy_director_name',
'executive_officer_name',
'keterangan',
'status',"
];
}

View File

@ -10,6 +10,7 @@
use Modules\Konfirmasibank\Entities\ViewAccount; use Modules\Konfirmasibank\Entities\ViewAccount;
use Modules\Konfirmasibank\Entities\LimitReference; use Modules\Konfirmasibank\Entities\LimitReference;
use Modules\Konfirmasibank\Entities\Fasilitas; use Modules\Konfirmasibank\Entities\Fasilitas;
use Modules\Konfirmasibank\Entities\Signer;
use Dompdf\Dompdf; use Dompdf\Dompdf;
use Carbon\Carbon; use Carbon\Carbon;
use Illuminate\Support\Facades\View; use Illuminate\Support\Facades\View;
@ -31,6 +32,8 @@
} }
public function index(Request $request) public function index(Request $request)
{ {
// dd($request);
$data = []; $data = [];
// Tanggal awal // Tanggal awal
// Contoh tanggal saat ini // Contoh tanggal saat ini
@ -41,18 +44,23 @@
// Menambahkan 5 tahun ke tanggal saat ini // Menambahkan 5 tahun ke tanggal saat ini
$pastYear = $today->subYear(3)->format('Y'); $pastYear = $today->subYear(3)->format('Y');
$signer = Signer::all();
$data['currentYear'] = $currentYear; $data['currentYear'] = $currentYear;
$data['pastYear'] = $pastYear; $data['pastYear'] = $pastYear;
$data['signer'] = $signer;
// dd($data); // dd($data);
return view('konfirmasibank::pages.index',compact('data')); return view('konfirmasibank::pages.index',compact('data'));
} }
public function create(){ public function create(){
return view('konfirmasibank::pages.index',compact('data')); return view('konfirmasibank::pages.index',compact('data'));
} }
public function getData(Request $request) public function getData(Request $request)
{ {
$data = []; $data = [];
@ -60,12 +68,14 @@
$Accounts = $Account->getSearchAccount($request->cif, $request->kodecabang,$request->periode)->get(); $Accounts = $Account->getSearchAccount($request->cif, $request->kodecabang,$request->periode)->get();
foreach ($Accounts as $key => $account) { foreach ($Accounts as $key => $account) {
$data[$key]['CUSTOMER_NO'] = $account->CUSTOMER_NO;
$data[$key]['ACCOUNT_NUMBER'] = $account->ACCOUNT_NUMBER; $data[$key]['ACCOUNT_NUMBER'] = $account->ACCOUNT_NUMBER;
$data[$key]['COMPANY_NAME'] = $account->COMPANY_NAME; $data[$key]['COMPANY_NAME'] = $account->COMPANY_NAME;
$data[$key]['SHORT_TITLE'] = $account->SHORT_TITLE; $data[$key]['SHORT_TITLE'] = $account->SHORT_TITLE;
$data[$key]['WORKING_BALANCE'] = $account->WORKING_BALANCE; $data[$key]['WORKING_BALANCE'] = $account->WORKING_BALANCE;
$data[$key]['PRODUCT'] = $account->PRODUCT; $data[$key]['PRODUCT'] = $account->PRODUCT;
$data[$key]['CURRENCY'] = $account->CURRENCY; $data[$key]['CURRENCY'] = $account->CURRENCY;
$data[$key]['BATCH_DATE'] = $account->BATCH_DATE;
$data[$key]['MATURITY_DATE'] = $account->MATURITY_DATE ?? '-'; $data[$key]['MATURITY_DATE'] = $account->MATURITY_DATE ?? '-';
} }
return json_encode($data); return json_encode($data);
@ -80,6 +90,8 @@
abort(403, 'Sorry !! You are Unauthorized to view any master data !'); abort(403, 'Sorry !! You are Unauthorized to view any master data !');
} }
dd($request);
$account = explode("," , $request['acc_no']); $account = explode("," , $request['acc_no']);
$ViewAccount = new ViewAccount; $ViewAccount = new ViewAccount;
@ -170,17 +182,89 @@
} }
public function signer(Request $request){
if (is_null($this->user) || !$this->user->can('konfirmasibank.create')) {
abort(403, 'Sorry !! You are Unauthorized to view any master data !');
}
public function addFasilitas(Request $request){ $data = [];
// $signer = Signer::paginate(10);
$signer = Signer::where('status',1)->paginate(10);
$data['signer'] = $signer;
// dd( $data['signer']);
return view('konfirmasibank::pages.index_signer',compact('data'));
}
public function postSigner(Request $request){
if (is_null($this->user) || !$this->user->can('konfirmasibank.create')) {
abort(403, 'Sorry !! You are Unauthorized to create any konfirmasibank.create !');
}
$currentDate = Carbon::now();
$validated = $request->validate([
'deputy_director' => 'required|string',
'executive_officer' => 'required|string'
]);
if ($validated) {
try {
// Create New User
$signer = new Signer();
$signer->deputy_director_name = $request->deputy_director;
$signer->executive_officer_name = $request->executive_officer;
$signer->created_at = $currentDate;
$signer->status = 1;
$signer->save();
// return redirect()->route('konfirmasibank.addFasilitas')->with('success', 'Data berhasil ditambahkan');
echo json_encode(['status' => 'success', 'message' => ' Add signer successfully .']);
} catch (Exception $e) {
return json_encode([
'status' => 'error',
'message' => $e->getMessage()
]);
}
}
return false;
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
*
* @return Response
*/
public function editSigner(Request $request)
{
if (is_null($this->user) || !$this->user->can('konfirmasibank.update')) {
abort(403, 'Sorry !! You are Unauthorized to edit any role !');
}
$signer = Signer::find($request->id);
return json_encode( $signer);
}
public function fasilitas(Request $request){
if (is_null($this->user) || !$this->user->can('konfirmasibank.create')) { if (is_null($this->user) || !$this->user->can('konfirmasibank.create')) {
abort(403, 'Sorry !! You are Unauthorized to view any master data !'); abort(403, 'Sorry !! You are Unauthorized to view any master data !');
} }
$data = []; $data = [];
$fasilitas = Fasilitas::where('status', 1)->where('created_by',$this->user->id)->paginate(10);
$fasilitas = Fasilitas::paginate(10)->appends($request->query()['cus_no_fasilitas'],$request->query()['company_name'],$request->query()['batch_date'], $request->query()['status']);
// dd($fasilitas);
$limitReference = LimitReference::all(); $limitReference = LimitReference::all();
$data['queryParam'] = $request->query();
$data['fasilitas'] = $fasilitas; $data['fasilitas'] = $fasilitas;
$data['limitReference'] = $limitReference; $data['limitReference'] = $limitReference;
@ -190,12 +274,54 @@
public function updateSigner(Request $request)
{
if (is_null($this->user) || !$this->user->can('konfirmasibank.update')) {
abort(403, 'Sorry !! You are Unauthorized to edit any role !');
}
$today = Carbon::now();
$validator = Validator::make($request->all(), [
'deputy_director' => 'required|string',
'executive_officer' => 'required|string'
]);
if ($validator->fails()) {
return response()->json(['errors' => $validator->errors()], 422); // Return validation errors as JSON
}
if ($validator) {
try {
$signer = Signer::findOrFail($request->id);
$signer->deputy_director_name = $request->deputy_director;
$signer->executive_officer_name = $request->executive_officer;
$signer->updated_at = $today;
$signer->save();
echo json_encode(['status' => 'success', 'message' => ' signer updated successfully.']);
} catch (Exception $e) {
echo json_encode(['status' => 'error', 'message' => ' signer updated failed.']);
}
return;
}
echo json_encode(['status' => 'error', 'message' => ' signer updated failed.']);
}
public function postFasilitas(Request $request){ public function postFasilitas(Request $request){
if (is_null($this->user) || !$this->user->can('konfirmasibank.create')) { if (is_null($this->user) || !$this->user->can('konfirmasibank.create')) {
abort(403, 'Sorry !! You are Unauthorized to create any konfirmasibank.create !'); abort(403, 'Sorry !! You are Unauthorized to create any konfirmasibank.create !');
} }
$validated = $request->validate([ $validated = $request->validate([
'nomor_rekening' => 'required|string|max:10|unique:fasilitas,nomor_rekening', 'nomor_rekening' => 'required|string|max:10|unique:fasilitas,nomor_rekening',
'jenis_fasilitas' => 'required|string', 'jenis_fasilitas' => 'required|string',
@ -210,6 +336,7 @@
try { try {
// Create New User // Create New User
$fasilitas = new Fasilitas(); $fasilitas = new Fasilitas();
$fasilitas->nomor_cif = $request->nomor_cif;
$fasilitas->nomor_rekening = $request->nomor_rekening; $fasilitas->nomor_rekening = $request->nomor_rekening;
$fasilitas->jenis_fasilitas = $request->jenis_fasilitas; $fasilitas->jenis_fasilitas = $request->jenis_fasilitas;
$fasilitas->saldo = $request->saldo; $fasilitas->saldo = $request->saldo;
@ -220,7 +347,8 @@
$fasilitas->keterangan = $request->keterangan; $fasilitas->keterangan = $request->keterangan;
$fasilitas->save(); $fasilitas->save();
return redirect()->route('konfirmasibank.addFasilitas')->with('success', 'Data berhasil ditambahkan'); // return redirect()->route('konfirmasibank.addFasilitas')->with('success', 'Data berhasil ditambahkan');
echo json_encode(['status' => 'success', 'message' => ' Data berhasil ditambahkan.']);
} catch (Exception $e) { } catch (Exception $e) {
return json_encode([ return json_encode([
@ -274,7 +402,6 @@
// Validation Data\ // Validation Data\
$validator = Validator::make($request->all(), [ $validator = Validator::make($request->all(), [
'nomor_rekening' => 'required|string|max:10|unique:fasilitas,nomor_rekening',
'jenis_fasilitas' => 'required|string', 'jenis_fasilitas' => 'required|string',
'saldo' => 'required|string', 'saldo' => 'required|string',
'start_date' => 'required|string', 'start_date' => 'required|string',
@ -340,5 +467,23 @@
} }
} }
public function destroySigner(Request $request)
{
if (is_null($this->user) || !$this->user->can('konfirmasibank.delete')) {
abort(403, 'Sorry !! You are Unauthorized to delete any konfirmasibank module !');
}
$signer = Signer::findOrFail($request->id);
try {
$signer->status = 0;
$signer->save();
echo json_encode(['status' => 'success', 'message' => ' Signer deleted successfully.']);
} catch (Exception $e) {
echo json_encode(['status' => 'error', 'message' => ' Signer deleted failed.']);
}
}
} }

View File

@ -56,16 +56,22 @@
class="path2"></span></i> class="path2"></span></i>
Export Report Export Report
</button> </button>
<a href="{{ route($route[0] . '.addFasilitas') }}" type="button" class="btn btn-light-info btn-sm fasilitasButton " style="margin-left:5px;display:none">
<i class="ki-duotone ki-plus fs-2"><span class="path1"></span><span
class="path2"></span></i>
Fasilitas
</a>
</div> </div>
</div> </div>
</div> </div>
</form> </form>
<form class="formFasilitas" action="{{ route($route[0].'.fasilitas') }}" >
@csrf
<input type="hidden" style="margin-bottom: 5px" name="cus_no_fasilitas" id="cus_no_fasilitas" />
<input type="hidden" style="margin-bottom: 5px" name="batch_date" id="batch_date" />
<input type="hidden" style="margin-bottom: 5px" name="company_name" id="company_name" />
<input type="hidden" style="margin-bottom: 5px" name="status" value="1" />
<button type="submit" class="btn btn-light-info btn-sm fasilitasButton " style="margin-left:5px;display:none">
<i class="ki-duotone ki-plus fs-2"><span class="path1"></span><span class="path2"></span></i>
Fasilitas
</a>
</form>
</div> </div>
</div> </div>
</div> </div>
@ -198,6 +204,11 @@
}); });
$(".fasilitasButton").show(); $(".fasilitasButton").show();
var kdcabang = $("#kodecabang").val();
var periode = $("#periode").val();
$("#cus_no_fasilitas").val(items[0]['CUSTOMER_NO']);
$("#company_name").val(kdcabang);
$("#batch_date").val(periode);
}, },
error: function (error) { error: function (error) {

View File

@ -20,7 +20,8 @@
@include('konfirmasibank::pages.table_fasilitas') @include('konfirmasibank::pages.table_fasilitas')
</div> </div>
<div class="d-flex justify-content-end "> <div class="d-flex justify-content-end ">
<a href="{{ route($route[0] . '.index') }}" type="button" class="btn btn-danger btn-sm " style="">
<a href="{{ route($route[0] . '.index') }}" type="button" class="btn btn-danger btn-sm redirectButton" style="margin-top:10px">
<i class="ki-duotone ki-exit-left fs-2"><span class="path1"></span><span <i class="ki-duotone ki-exit-left fs-2"><span class="path1"></span><span
class="path2"></span></i> class="path2"></span></i>
Kembali Kembali
@ -46,20 +47,20 @@
<!-- Modal body --> <!-- Modal body -->
<div class="modal-body"> <div class="modal-body">
<form class="form-horizontal" id="myFormInput" action="{{ route($route[0] . '.postFasilitas') }}"> <form class="form-horizontal" id="inputFasilitas" action="{{ route($route[0] . '.postFasilitas') }}" method="POST">
@csrf @csrf
<!-- Add your form fields here --> <!-- Add your form fields here -->
<div class="form-group row"> <div class="form-group row">
<label for="inputName" class="col-sm-3 col-form-label">No Rekening</label> <label for="inputName" class="col-sm-3 col-form-label">No Rekening</label>
<div class="col-sm-9"> <div class="col-sm-9">
<input type="text" class="form-control form-control-sm " name="nomor_rekening" <input type="hidden" class="form-control form-control-sm " name="nomor_cif" value="{{$data['fasilitas'][0]['nomor_cif']}}">
placeholder="Nomor Rekening"> <input type="text" class="form-control form-control-sm " name="nomor_rekening" placeholder="Nomor Rekening">
</div> </div>
</div> </div>
<div class="form-group row"> <div class="form-group row">
<label for="inputName" class="col-sm-3 col-form-label">Jenis Fasilitas</label> <label for="inputName" class="col-sm-3 col-form-label">Jenis Fasilitas</label>
<div class="col-sm-9"> <div class="col-sm-9">
<select class="form-select form-select-sm" aria-label="Small select example"> <select class="form-select form-select-sm" aria-label="Small select example" name="jenis_fasilitas">
<option selected>Pilih Jenis Fasilitas</option> <option selected>Pilih Jenis Fasilitas</option>
@foreach ($data['limitReference'] as $item) @foreach ($data['limitReference'] as $item)
<option value="{{$item->SHORT_NAME}}">{{$item->SHORT_NAME}}</option> <option value="{{$item->SHORT_NAME}}">{{$item->SHORT_NAME}}</option>
@ -115,7 +116,7 @@
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-secondary btn-sm closeButton" <button type="button" class="btn btn-secondary btn-sm closeButton"
data-dismiss="modal">Close</button> data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary btn-sm" id="submitFormBtn">Submit</button> <button type="button" class="btn btn-primary btn-sm" id="submitFasilitas">Submit</button>
</div> </div>
</form> </form>
</div> </div>
@ -233,10 +234,11 @@
}); });
// Handle form submission when the "Submit" button inside the modal is clicked // Handle form submission when the "Submit" button inside the modal is clicked
$("#submitFormBtn").click(function(e) { $("#submitFasilitas").click(function(e) {
// Serialize the form data // Serialize the form data
e.preventDefault(); e.preventDefault();
var formData = $("#myFormInput").serialize(); var formData = $("#inputFasilitas").serialize();
// Send an AJAX request to the form submission route // Send an AJAX request to the form submission route
$.ajax({ $.ajax({
type: 'POST', type: 'POST',
@ -244,13 +246,14 @@
data: formData, data: formData,
dataType: 'json', dataType: 'json',
success: function(response) { success: function(response) {
alert('tes');
// Handle success response (e.g., show a success message) // Handle success response (e.g., show a success message)
$("#myModal").modal('hide');
var _data = JSON.parse(data); var _data = JSON.parse(data);
toastr.success(_data.message); toastr.success(_data.message);
form[0].reset();
$('#table4').ajax.reload();
// Optionally, close the modal // Optionally, close the modal
$("#myModal").modal('hide'); location.reload();
}, },
error: function(xhr, status, error) { error: function(xhr, status, error) {
// Handle error response (if applicable) // Handle error response (if applicable)
@ -288,9 +291,10 @@
$('input[name="due_date"]').val(response.due_date); $('input[name="due_date"]').val(response.due_date);
$('input[name="jangka_waktu"]').val(response.jangka_waktu); $('input[name="jangka_waktu"]').val(response.jangka_waktu);
$('input[name="fixed_rate"]').val(response.fixed_rate); $('input[name="fixed_rate"]').val(response.fixed_rate);
$('#ket').val(response.keterangan); $('#ket').val(response.keterangan);
$('#id').val(response.id); $('#id').val(response.id);
$("#myModalEdit").modal('show'); $(".myModalEdit").modal('show');
}, },
error: function(xhr, status, error) { error: function(xhr, status, error) {
// Handle error response (if applicable) // Handle error response (if applicable)
@ -364,7 +368,6 @@
}) })
}); });
</script> </script>
@endpush @endpush

View File

@ -0,0 +1,264 @@
<x-default-layout>
@php
$route = explode('.', Route::currentRouteName());
@endphp
<!--begin::Card-->
<meta name="csrf-token" content="{{ csrf_token() }}" />
<div class="card card-xxl-stretch mb-5 mb-xl-8">
<!--begin::Card body-->
<div class="card-body pt-6">
<div class="d-flex justify-content-end ">
<button type="button" class="btn btn-primary btn-sm " style="margin-right:35px" id="openModalBtnSigner">
<i class="ki-duotone ki-exit-down fs-2"><span class="path1"></span><span class="path2"></span></i>
Tambah
</button>
</div>
<div class="card-body pt-6">
<div class="table-responsive " style="overflow-x:auto;">
<div id="user_table">
@include('konfirmasibank::pages.table_signer')
</div>
<div class="d-flex justify-content-end ">
<a href="{{ route($route[0] . '.index') }}" type="button" class="btn btn-danger btn-sm redirectButton"
style="margin-top:10px">
<i class="ki-duotone ki-exit-left fs-2"><span class="path1"></span><span class="path2"></span></i>
Kembali
</a>
</div>
</div>
</div>
<!--end::Card body-->
</div>
<!-- Modal -->
<div class="modal fade" id="signerModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<!-- Modal header -->
<div class="modal-header">
<h5 class="modal-title" id="myModalLabel">Tambah Signer</h5>
<button type="button" class="closeButton" data-dismiss="modal" aria-label="Close"
style="display:none">
<span aria-hidden="true">&times;</span>
</button>
</div>
<!-- Modal body -->
<div class="modal-body">
<form class="form-horizontal" id="formSigner" action="{{ route($route[0] . '.postSigner') }}"
method="POST">
@csrf
<!-- Add your form fields here -->
<div class="form-group row">
<label for="inputName" class="col-sm-4 col-form-label">Deputy Director</label>
<div class="col-sm-8">
<input type="text" class="form-control form-control-sm " name="deputy_director" placeholder="Nama Deputy Director">
</div>
</div>
<div class="form-group row">
<label for="inputName" class="col-sm-4 col-form-label">Executive Officer</label>
<div class="col-sm-8">
<input type="text" class="form-control form-control-sm " name="executive_officer" placeholder="Nama Executive Officer">
</div>
</div>
<!-- Modal footer -->
<div class="modal-footer">
<button type="button" class="btn btn-secondary btn-sm closeButtonSigner"
data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary btn-sm" id="submitSigner">Submit</button>
</div>
</form>
</div>
</div>
</div>
</div>
<!-- Modal -->
<div class="modal fade" id="myModalEditSigner" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<!-- Modal header -->
<div class="modal-header">
<h5 class="modal-title" id="myModalLabel">Edit Signer</h5>
<button type="button" class="closeButton" data-dismiss="modal" aria-label="Close"
style="display:none">
<span aria-hidden="true">&times;</span>
</button>
</div>
<!-- Modal body -->
<div class="modal-body">
<form class="form-horizontal" id="formUpdateSigner" action="{{ route($route[0] . '.updateSigner') }}"
method="POST">
@csrf
<!-- Add your form fields here -->
<div class="form-group row">
<label for="inputName" class="col-sm-4 col-form-label">Deputy Director</label>
<div class="col-sm-8">
<input type="hidden" class="form-control form-control-sm " name="id" placeholder="Nama Deputy Director">
<input type="text" class="form-control form-control-sm " name="deputy_director" placeholder="Nama Deputy Director">
</div>
</div>
<div class="form-group row">
<label for="inputName" class="col-sm-4 col-form-label">Executive Officer</label>
<div class="col-sm-8">
<input type="text" class="form-control form-control-sm " name="executive_officer" placeholder="Nama Executive Officer">
</div>
</div>
<!-- Modal footer -->
<div class="modal-footer">
<button type="button" class="btn btn-secondary btn-sm closeButtonUpdateSigner"
data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary btn-sm" id="submitFormUpdateSigner">Submit</button>
</div>
</form>
</div>
</div>
</div>
</div>
@push('customscript')
<script>
$(document).ready(function() {
// Open the modal when the "Open Modal" button is clicked
$("#openModalBtnSigner").click(function() {
$("#signerModal").modal('show');
});
$(".closeButtonUpdateSigner").click(function() {
$("#myModalEditSigner").modal('hide');
});
// Handle form submission when the "Submit" button inside the modal is clicked
$("#submitSigner").click(function(e) {
// Serialize the form data
e.preventDefault();
var formData = $("#formSigner").serialize();
// Send an AJAX request to the form submission route
$.ajax({
type: 'POST',
url: "{{ route('konfirmasibank.postSigner') }}",
data: formData,
dataType: 'json',
success: function(response) {
$("#signerModal").modal('hide');
var _data = JSON.parse(data);
toastr.success(_data.message);
},
error: function(xhr, status, error) {
// Handle error response (if applicable)
var errors = data.responseJSON.errors;
$.each(errors, function(key, value) {
toastr.error(value);
});
}
});
});
$(".btnEditSigner").click(function(e) {
// Serialize the form data
e.preventDefault();
var id = $(this).data('id');
var dataToSend = {
_token: $('meta[name="csrf-token"]').attr('content'),
id: id
};
// Send an AJAX request to the form submission route
$.ajax({
type: 'POST',
url: "{{ route('konfirmasibank.editSigner') }}",
data: dataToSend,
dataType: 'json',
success: function(response) {
$('input[name="executive_officer"]').val(response.executive_officer_name);
$('input[name="deputy_director"]').val(response.deputy_director_name);
$('input[name="id"]').val(id);
$("#myModalEditSigner").modal('show');
},
error: function(xhr, status, error) {
// Handle error response (if applicable)
var errors = data.responseJSON.errors;
$.each(errors, function(key, value) {
toastr.error(value);
});
}
});
});
$("#submitFormUpdateSigner").click(function(e) {
// Serialize the form data
e.preventDefault();
var formData = $("#formUpdateSigner").serialize();
$.ajax({
type: "POST",
url: "{{ route('konfirmasibank.updateSigner') }}",
data: formData, // serializes the form's elements.
success: function(data) {
$("#myModalEditSigner").modal('hide');
var _data = JSON.parse(data);
toastr.success(_data.message);
location.reload();
},
error: function(data, textStatus, errorThrown) {
var errors = data.responseJSON.errors;
$.each(errors, function(key, value) {
toastr.error(value);
});
}
});
});
$(".btnDeleteSigner").click(function(e) {
// var form = $(this).closest("form");
var id = $(this).data('id');
var dataToSend = {
_token: $('meta[name="csrf-token"]').attr('content'),
id: id
};
e.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: "You won't be able to revert this!",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, delete it!'
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
type: "POST",
url: "{{ route('konfirmasibank.destroySigner') }}",
data: dataToSend, // serializes the form's elements.
success: function(data) {
toastr.success('has been deleted.', 'Success!', {
timeOut: 5000
});
location.reload();
}
});
}
})
})
});
</script>
@endpush
</x-default-layout>

View File

@ -48,6 +48,7 @@
</tr> </tr>
</tbody> </tbody>
</table> </table>
<div class="d-flex"> {{ $data['fasilitas']->appends(['cus_no_fasilitas' =>''.$data['fasilitas'][0]['nomor_rekening'].'','company_name' =>''.$data['queryParam']['company_name'].'' ,'batch_date' =>''.$data['queryParam']['batch_date'].'','status'=>1])->links('pagination::bootstrap-5') }}
{!! $data['fasilitas']->links() !!} {{-- {!! $data['fasilitas']->links('pagination::bootstrap-5') !!} --}}
</div> {{-- {!! $data['fasilitas']->links() !!} --}}

View File

@ -0,0 +1,45 @@
<table class="table table-striped " id="table4">
<thead>
<tr>
<th class="text-center">No</th>
<th class="text-center">Deputy Director</th>
<th class="text-center">Executive Officer</th>
<th class="text-center" width="100px">Aksi</th>
</tr>
</thead>
<tbody id="dataBody">
@php
$no = 1;
@endphp
@if (count($data['signer']) > 0)
@foreach ($data['signer'] as $item)
<tr class="row-none">
<td class="text-center">{{($no++ )}}</td>
<td class="text-center">{{$item['deputy_director_name']}}</td>
<td class="text-center">{{$item['executive_officer_name']}}</td>
<td class="text-center">
<a href="#" class="kt_edit_form btn btn-icon btn-bg-light btn-active-light-warning btn-sm me-1 btnEditSigner" data-id="{{$item['id']}}">{!!getIcon("pencil", "fs-1 text-warning","duotune") !!}</a>
<a href="#" class="kt_edit_form btn btn-icon btn-bg-light btn-active-light-danger btn-sm me-1 btnDeleteSigner"data-id="{{$item['id']}}">{!! getIcon("trash", "fs-1 text-danger","duotune") !!}</a>
</td>
</tr>
@endforeach
@else
<tr class="row-none">
<td colspan="10" class="text-center">Tidak Ada Data Yang Ditampilkan</td>
</tr>
@endif
<tr style="display:none" class="loading1">
<td colspan="10" class="text-center">
<div class="spinner-border" role="status">
<span class="visually-hidden">Loading...</span>
</div>
</td>
</tr>
</tbody>
</table>
{{ $data['signer']->appends(['status'=>1])->links('pagination::bootstrap-5') }}
{{-- {!! $data['fasilitas']->links('pagination::bootstrap-5') !!} --}}
{{-- {!! $data['fasilitas']->links() !!} --}}

View File

@ -21,6 +21,12 @@
<span class="menu-title">Data Nasabah</span> <span class="menu-title">Data Nasabah</span>
</a> </a>
<!--end:Menu link--> <!--end:Menu link-->
<a class="menu-link {{ isset($route[1]) && $route[1] == 'konfirmasibank' ? 'active' : '' }}" href="{{ route('konfirmasibank.signer') }}">
<span class="menu-bullet">
<span class="bullet bullet-dot"></span>
</span>
<span class="menu-title">Signer</span>
</a>
</div> </div>
<!--end:Menu item--> <!--end:Menu item-->
</div> </div>

View File

@ -21,10 +21,16 @@ Route::group(['middleware' => ['auth', 'verified']], function () {
Route::get('konfirmasibank/fasilitas', 'KonfirmasiBankController@fasilitas')->name('konfirmasibank.fasilitas'); Route::get('konfirmasibank/fasilitas', 'KonfirmasiBankController@fasilitas')->name('konfirmasibank.fasilitas');
Route::get('konfirmasibank/getData',array('as'=>'getData','uses'=>'KonfirmasiBankController@getData')); Route::get('konfirmasibank/getData',array('as'=>'getData','uses'=>'KonfirmasiBankController@getData'));
Route::post('konfirmasibank/export', [KonfirmasiBankController::class, 'export'])->name('konfirmasibank.export'); Route::post('konfirmasibank/export', [KonfirmasiBankController::class, 'export'])->name('konfirmasibank.export');
Route::get('konfirmasibank/addFasilitas',[KonfirmasiBankController::class,'addFasilitas'])->name('konfirmasibank.addFasilitas');
Route::get('konfirmasibank/fasilitas',[KonfirmasiBankController::class,'fasilitas'])->name('konfirmasibank.fasilitas');
Route::get('konfirmasibank/create',[KonfirmasiBankController::class,'create'])->name('konfirmasibank.create'); Route::get('konfirmasibank/create',[KonfirmasiBankController::class,'create'])->name('konfirmasibank.create');
Route::post('konfirmasibank/postFasilitas','KonfirmasiBankController@postFasilitas')->name('konfirmasibank.postFasilitas'); Route::post('konfirmasibank/postFasilitas','KonfirmasiBankController@postFasilitas')->name('konfirmasibank.postFasilitas');
Route::post('konfirmasibank/editFasilitas','KonfirmasiBankController@editFasilitas')->name('konfirmasibank.editFasilitas'); Route::post('konfirmasibank/editFasilitas','KonfirmasiBankController@editFasilitas')->name('konfirmasibank.editFasilitas');
Route::post('konfirmasibank/update','KonfirmasiBankController@updateFasilitas')->name('konfirmasibank.updateFasilitas'); Route::post('konfirmasibank/update','KonfirmasiBankController@updateFasilitas')->name('konfirmasibank.updateFasilitas');
Route::post('konfirmasibank/destroy','KonfirmasiBankController@destroyFasilitas')->name('konfirmasibank.destroyFasilitas'); Route::post('konfirmasibank/destroy','KonfirmasiBankController@destroyFasilitas')->name('konfirmasibank.destroyFasilitas');
Route::get('konfirmasibank/signer', [KonfirmasiBankController::class, 'signer'])->name('konfirmasibank.signer');
Route::post('konfirmasibank/postSigner', [KonfirmasiBankController::class, 'postSigner'])->name('konfirmasibank.postSigner');
Route::post('konfirmasibank/editSigner','KonfirmasiBankController@editSigner')->name('konfirmasibank.editSigner');
Route::post('konfirmasibank/updateSigner','KonfirmasiBankController@updateSigner')->name('konfirmasibank.updateSigner');
Route::post('konfirmasibank/destroySigner','KonfirmasiBankController@destroySigner')->name('konfirmasibank.destroySigner');
}); });