pembukaan bajet dalam cawangan
This commit is contained in:
@@ -2287,12 +2287,12 @@ class KhazanahController extends Controller
|
|||||||
return view('khazanah.panjar',compact('cawangan_info','api_url','usercawangan','denominasi'));
|
return view('khazanah.panjar',compact('cawangan_info','api_url','usercawangan','denominasi'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function unjuran()
|
public function bajet()
|
||||||
{
|
{
|
||||||
$auth_user = Auth::user();
|
$auth_user = Auth::user();
|
||||||
$api_url = config('api.url');
|
$api_url = config('api.url');
|
||||||
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
|
$cawangan_info = Http::withOptions(['verify' => config('app.api_verify')])->get(config('api.url') . '/api/cawangan/'. $auth_user['cawangan'])->json();
|
||||||
return view('khazanah.unjuran',compact('cawangan_info','api_url'));
|
return view('khazanah.bajet',compact('cawangan_info','api_url'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Vendored
+14
File diff suppressed because one or more lines are too long
@@ -177,7 +177,7 @@
|
|||||||
<a href="{{ url('kelulusan') }}" id="btnkelulusan" class="btn btn-info btn-lg btn-block mb-3">Kelulusan</a>
|
<a href="{{ url('kelulusan') }}" id="btnkelulusan" class="btn btn-info btn-lg btn-block mb-3">Kelulusan</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<a href="{{ url('unjuran') }}" class="btn btn-danger btn-lg btn-block mb-3">Unjuran</a>
|
<a href="{{ url('bajet') }}" class="btn btn-info btn-lg btn-block mb-3">Bajet</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<a href="{{ url('permohonan') }}" class="btn btn-info btn-lg btn-block mb-3">Permohonan</a>
|
<a href="{{ url('permohonan') }}" class="btn btn-info btn-lg btn-block mb-3">Permohonan</a>
|
||||||
|
|||||||
@@ -0,0 +1,293 @@
|
|||||||
|
@extends('layouts.app')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<div class="col-12 container">
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="card">
|
||||||
|
|
||||||
|
<nav aria-label="breadcrumb">
|
||||||
|
<ol class="breadcrumb pb-3">
|
||||||
|
<li class="breadcrumb-item"><a href="{{ route('home') }}">Home</a></li>
|
||||||
|
<li class="breadcrumb-item active" aria-current="page">Bajet</li>
|
||||||
|
</ol>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<div class="card-body text-center">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="card bg-light mb-3 col-4">
|
||||||
|
<div class="card-header font-weight-bold">Pembiayaan</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="progress mb-2">
|
||||||
|
<div id="pembprogress" class="progress-bar progress-bar-striped progress-bar-animated" role="progressbar" style="width: 75%;" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100">75%</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="d-flex justify-content-between">
|
||||||
|
<div>
|
||||||
|
<span class="col-5 font-weight-bold">HARIAN</span>
|
||||||
|
<span class="col-1">:</span>
|
||||||
|
<span id="pembharian" class="col-5">HARIAN</span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<span id="pembpercent">-100%</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="d-flex justify-content-between">
|
||||||
|
<div>
|
||||||
|
<span class="col-5 font-weight-bold">BAJET</span>
|
||||||
|
<span class="col-1">:</span>
|
||||||
|
<span id="pembbajet" class="col-5"></span>
|
||||||
|
</div>
|
||||||
|
<span>varians</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card bg-light mb-3 col-4">
|
||||||
|
<div class="card-header font-weight-bold">Penebusan</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="progress mb-2">
|
||||||
|
<div class="progress-bar progress-bar-striped progress-bar-animated" role="progressbar" style="width: 25%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100">25%</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="d-flex justify-content-between">
|
||||||
|
<div>
|
||||||
|
<span class="col-5 font-weight-bold">HARIAN</span>
|
||||||
|
<span class="col-1">:</span>
|
||||||
|
<span id="penbharian" class="col-5">HARIAN</span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<span id="penbpercent">-100%</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="d-flex justify-content-between">
|
||||||
|
<div>
|
||||||
|
<span class="col-5 font-weight-bold">BAJET</span>
|
||||||
|
<span class="col-1">:</span>
|
||||||
|
<span id="penbbajet" class="col-5"></span>
|
||||||
|
</div>
|
||||||
|
<span>varians</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card bg-light mb-3 col-4">
|
||||||
|
<div class="card-header font-weight-bold">Keuntungan</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="progress mb-2">
|
||||||
|
<div class="progress-bar progress-bar-striped progress-bar-animated" role="progressbar" style="width: 25%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100">25%</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="d-flex justify-content-between">
|
||||||
|
<span>HARIAN :</span>
|
||||||
|
<span>-100%</span>
|
||||||
|
</div>
|
||||||
|
<div class="d-flex justify-content-between">
|
||||||
|
<span>BAJET :</span>
|
||||||
|
<span>dasdsa</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="mt-3">
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="card bg-light mb-3 col-4">
|
||||||
|
<span class="font-weight-bold mt-2 mb-2">Pembiayaan Bulanan</span>
|
||||||
|
<div class="card-body">
|
||||||
|
<div id="chartpembiayaan">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card bg-light mb-3 col-4">
|
||||||
|
<span class="font-weight-bold mt-2 mb-2">Penebusan Bulanan</span>
|
||||||
|
<div class="card-body">
|
||||||
|
<div id="chartpenebusan">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card bg-light mb-3 col-4">
|
||||||
|
<span class="font-weight-bold mt-2 mb-2">Keuntungan Bulanan</span>
|
||||||
|
<div class="card-body">
|
||||||
|
<div id="chartkeuntungan">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
|
||||||
|
|
||||||
|
const formatter = new Intl.NumberFormat('en-US', {
|
||||||
|
minimumFractionDigits: 2
|
||||||
|
});
|
||||||
|
|
||||||
|
var options = {
|
||||||
|
series: [ {
|
||||||
|
name: 'Actual',
|
||||||
|
data: []
|
||||||
|
}],
|
||||||
|
chart: {
|
||||||
|
id: 'pembiayaan-bulanan',
|
||||||
|
height: 350,
|
||||||
|
type: 'bar'
|
||||||
|
},
|
||||||
|
yaxis: {
|
||||||
|
labels: {
|
||||||
|
formatter: function (value) {
|
||||||
|
return 'RM ' + formatter.format(value);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
plotOptions: {
|
||||||
|
bar: {
|
||||||
|
columnWidth: '60%',
|
||||||
|
dataLabels: {
|
||||||
|
position: 'top',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
colors: ['#3498db'],
|
||||||
|
dataLabels: {
|
||||||
|
enabled: true,
|
||||||
|
style: {
|
||||||
|
colors: ['#333']
|
||||||
|
},
|
||||||
|
offsetY: -30,
|
||||||
|
formatter: function (val, opt) {
|
||||||
|
let total = ((val - opt.w.globals.seriesGoals[0][opt.dataPointIndex][0]['value']) / opt.w.globals.seriesGoals[0][opt.dataPointIndex][0]['value']) * 100
|
||||||
|
|
||||||
|
if(isNaN(total))
|
||||||
|
{
|
||||||
|
return 0.00
|
||||||
|
}else{
|
||||||
|
if(isFinite(total))
|
||||||
|
{
|
||||||
|
if(total == -100)
|
||||||
|
{
|
||||||
|
return 0.00
|
||||||
|
}else{
|
||||||
|
return total.toFixed(2)
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
return 0.00
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
legend: {
|
||||||
|
show: true,
|
||||||
|
showForSingleSeries: true,
|
||||||
|
customLegendItems: ['Actual', 'Expected'],
|
||||||
|
markers: {
|
||||||
|
fillColors: ['#3498db', '#e74c3c']
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
$( document ).ready(function() {
|
||||||
|
let api_url = "{{ $api_url }}";
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
method:'get',
|
||||||
|
url: api_url + '/admin/pembiayaanBulanan',
|
||||||
|
datatype:'json',
|
||||||
|
data:{
|
||||||
|
'kodcaw': "{{ $cawangan_info['kodcaw'] }}",
|
||||||
|
},
|
||||||
|
success:function(data){
|
||||||
|
datapembiayaan(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
method:'get',
|
||||||
|
url: api_url + '/admin/penebusanBulanan',
|
||||||
|
datatype:'json',
|
||||||
|
data:{
|
||||||
|
'kodcaw': "{{ $cawangan_info['kodcaw'] }}",
|
||||||
|
},
|
||||||
|
success:function(data){
|
||||||
|
datapenebusan(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
method:'get',
|
||||||
|
url: api_url + '/admin/keuntunganBulanan',
|
||||||
|
datatype:'json',
|
||||||
|
data:{
|
||||||
|
'kodcaw': "{{ $cawangan_info['kodcaw'] }}",
|
||||||
|
},
|
||||||
|
success:function(data){
|
||||||
|
datakeuntungan(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
method:'get',
|
||||||
|
url: api_url + '/admin/pembiayaanToday',
|
||||||
|
datatype:'json',
|
||||||
|
data:{
|
||||||
|
'kodcaw': "{{ $cawangan_info['kodcaw'] }}",
|
||||||
|
},
|
||||||
|
success:function(data){
|
||||||
|
console.log(data);
|
||||||
|
$('#pembharian').text('RM' + formatter.format(data[0].gadaiToday));
|
||||||
|
$('#pembbajet').text('RM' + formatter.format(data[0].bajetharian.toFixed(2)));
|
||||||
|
$('#pembpercent').text(data[0].percentDiff + '%');
|
||||||
|
$('#pembprogress').text(100 - data[0].percentcum + '%');
|
||||||
|
$("#pembprogress").css("width",100 - data[0].percentcum);
|
||||||
|
// this.gadaianremaining = formatter.format(data[0].remaining.toFixed(2)),
|
||||||
|
// this.percentcumgadai = (100 - data[0].percentcum)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
function datapembiayaan(datapemb)
|
||||||
|
{
|
||||||
|
let chartpemb = new ApexCharts(document.querySelector("#chartpembiayaan"), options);
|
||||||
|
chartpemb.render();
|
||||||
|
chartpemb.updateSeries([{
|
||||||
|
data: datapemb
|
||||||
|
}]);
|
||||||
|
}
|
||||||
|
|
||||||
|
function datapenebusan(datapen)
|
||||||
|
{
|
||||||
|
var chartpen = new ApexCharts(document.querySelector("#chartpenebusan"), options);
|
||||||
|
chartpen.render();
|
||||||
|
chartpen.updateSeries([{
|
||||||
|
data: datapen
|
||||||
|
}]);
|
||||||
|
}
|
||||||
|
|
||||||
|
function datakeuntungan(datakeun)
|
||||||
|
{
|
||||||
|
var charkeun = new ApexCharts(document.querySelector("#chartkeuntungan"), options);
|
||||||
|
charkeun.render();
|
||||||
|
charkeun.updateSeries([{
|
||||||
|
data: datakeun
|
||||||
|
}]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
@endsection
|
||||||
@@ -1,69 +0,0 @@
|
|||||||
@extends('layouts.app')
|
|
||||||
|
|
||||||
@section('content')
|
|
||||||
<div class="container">
|
|
||||||
<div class="row justify-content-center">
|
|
||||||
<div class="col-md-12">
|
|
||||||
<div class="card">
|
|
||||||
|
|
||||||
<nav aria-label="breadcrumb">
|
|
||||||
<ol class="breadcrumb pb-3">
|
|
||||||
<li class="breadcrumb-item"><a href="{{ route('home') }}">Home</a></li>
|
|
||||||
<li class="breadcrumb-item active" aria-current="page">Unjuran</li>
|
|
||||||
</ol>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
<div class="card-body text-center">
|
|
||||||
|
|
||||||
<div class="row mb-4">
|
|
||||||
<div class="col-2 justify-content-start">
|
|
||||||
</div>
|
|
||||||
<div class="col-8 mt-3 justify-content-center">
|
|
||||||
</div>
|
|
||||||
<div class="col-2">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="mt-3">
|
|
||||||
|
|
||||||
<table class='table table-striped table-hover' id='table-unjuran' style="width:100%;">
|
|
||||||
<thead class="thead-dark">
|
|
||||||
<tr>
|
|
||||||
<th>Bil</th>
|
|
||||||
<th>Nama</th>
|
|
||||||
<th>No K/P</th>
|
|
||||||
<th>No Rujukan</th>
|
|
||||||
<th>Pinjaman</th>
|
|
||||||
<th>Upah</th>
|
|
||||||
<th>Bayaran</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>1</td>
|
|
||||||
<td>31231</td>
|
|
||||||
<td>2321</td>
|
|
||||||
<td>32</td>
|
|
||||||
<td>32</td>
|
|
||||||
<td>32</td>
|
|
||||||
<td>32</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
var tableunjuran = $('#table-unjuran').DataTable({
|
|
||||||
"scrollX": true
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
@endsection
|
|
||||||
@@ -32,6 +32,7 @@
|
|||||||
<script src="{{ asset('js/jquery.min.js') }}"></script>
|
<script src="{{ asset('js/jquery.min.js') }}"></script>
|
||||||
<script src="{{ asset('vendor/bootstrap/js/bootstrap.min.js') }}"></script>
|
<script src="{{ asset('vendor/bootstrap/js/bootstrap.min.js') }}"></script>
|
||||||
<script src="{{ asset('js/select2.min.js') }}"></script>
|
<script src="{{ asset('js/select2.min.js') }}"></script>
|
||||||
|
<script src="{{ asset('js/apexcharts.js') }}"></script>
|
||||||
<script src="{{ asset('js/numeral.min.js') }}"></script>
|
<script src="{{ asset('js/numeral.min.js') }}"></script>
|
||||||
<script src="{{ asset('js/sweetalert.min.js') }}"></script>
|
<script src="{{ asset('js/sweetalert.min.js') }}"></script>
|
||||||
<script src="{{ asset('js/popper.min.js') }}"></script>
|
<script src="{{ asset('js/popper.min.js') }}"></script>
|
||||||
|
|||||||
+1
-1
@@ -162,7 +162,7 @@ Route::get('/dashboarddate',['as'=>'khazanah.dashboarddate','uses'=>'KhazanahCon
|
|||||||
Route::get('/capaian',['as'=>'khazanah.capaian','uses'=>'KhazanahController@capaian'])->middleware('auth','khazanah');
|
Route::get('/capaian',['as'=>'khazanah.capaian','uses'=>'KhazanahController@capaian'])->middleware('auth','khazanah');
|
||||||
Route::get('/alirantunai',['as'=>'khazanah.alirantunai','uses'=>'KhazanahController@alirantunai'])->middleware('auth','khazanah');
|
Route::get('/alirantunai',['as'=>'khazanah.alirantunai','uses'=>'KhazanahController@alirantunai'])->middleware('auth','khazanah');
|
||||||
Route::get('/pelangganan',['as'=>'khazanah.pelangganan','uses'=>'KhazanahController@pelanggan'])->middleware('auth','khazanah');
|
Route::get('/pelangganan',['as'=>'khazanah.pelangganan','uses'=>'KhazanahController@pelanggan'])->middleware('auth','khazanah');
|
||||||
Route::get('/unjuran',['as'=>'khazanah.unjuran','uses'=>'KhazanahController@unjuran'])->middleware('auth','khazanah');
|
Route::get('/bajet',['as'=>'khazanah.bajet','uses'=>'KhazanahController@bajet'])->middleware('auth','khazanah');
|
||||||
Route::get('/panjar',['as'=>'khazanah.panjar','uses'=>'KhazanahController@panjar'])->middleware('auth','khazanah');
|
Route::get('/panjar',['as'=>'khazanah.panjar','uses'=>'KhazanahController@panjar'])->middleware('auth','khazanah');
|
||||||
Route::get('/getkelulusan',['as'=>'khazanah.getkelulusan','uses'=>'KhazanahController@getkelulusan'])->middleware('auth','teller');
|
Route::get('/getkelulusan',['as'=>'khazanah.getkelulusan','uses'=>'KhazanahController@getkelulusan'])->middleware('auth','teller');
|
||||||
Route::post('/createkelulusan',['as'=>'khazanah.createkelulusan','uses'=>'KhazanahController@createkelulusan'])->middleware('auth','teller');
|
Route::post('/createkelulusan',['as'=>'khazanah.createkelulusan','uses'=>'KhazanahController@createkelulusan'])->middleware('auth','teller');
|
||||||
|
|||||||
Reference in New Issue
Block a user