pembaikan banyak

This commit is contained in:
fifi97
2021-12-10 13:55:13 +08:00
parent 1f2da63536
commit 44aa893822
18 changed files with 4087 additions and 870 deletions
+16 -1
View File
@@ -33,12 +33,27 @@ class HomeController extends Controller
$harini = Carbon::now();
$harini = new Carbon;
$arrayPembiayaan = array();
$arrayPenyelesaian = array(['name' => 'Penebusan (RM)','data' => []]);
$arrayKeuntungan = array(['name' => 'Keuntungan (RM)','data' => []]);
//Hari Ini
$ringkasanharian = Http::get(config('api.url'). '/api/gadai/laporan/ringkasanharian/'. $auth_user['cawangan'],['tarikh' => $harini->toDateString()])->json();
$ringkasanharian = $ringkasanharian[0];
$keseluruhanupahharian = $ringkasanharian['lelongupahsimpan'] + $ringkasanharian['tebus'][0]['upahsimpan'] + $ringkasanharian['advansur'][0]['upahsimpan'];
return view('home',compact('ringkasanharian','keseluruhanupahharian'));
$financeMonth = Http::get(config('api.url'). '/admin/financeMonth',['kodcaw' => $auth_user['cawangan']])->json();
for($i = 11;$i >= 0; $i--)
{
array_push($arrayPembiayaan,$financeMonth[$i]['pembiayaan']);
array_push($arrayPenyelesaian[0]['data'],$financeMonth[$i]['penebusan']);
array_push($arrayKeuntungan[0]['data'],$financeMonth[$i]['keuntungan']);
}
return view('home',compact('ringkasanharian','keseluruhanupahharian','arrayPembiayaan','arrayPenyelesaian','arrayKeuntungan'));
}
}
+69 -133
View File
@@ -15,181 +15,117 @@ class PetiBesiController extends Controller
// $this->middleware('auth');
// }
public function periksaAliranTunai(Request $request)
public function periksaPetiBesi(Request $request)
{
$auth_user = Auth::user();
$current = Carbon::now();
$current = new Carbon();
$alirantunai = Http::get(config('api.url') . '/api/GetTunaiByTarikh/' . $request->kodcaw,['kodlaluan' => $request->teller, 'tarikh' => $request->tarikh])->json();
$keluar = $alirantunai['keluar'];
$baki = $alirantunai['baki'];
$masuk = $alirantunai['masuk'];
$bakiawal = $alirantunai['bakiawal'];
$pendahuluan = $alirantunai['tambah'];
$serahan = $alirantunai['kurang'];
$addtunai = Http::get(config('api.url') . '/api/getAddTunaiDateKodlaluan/' . $request->kodcaw,['kodlaluan' => $request->teller, 'tarikh' => $request->tarikh])->json();
$gadai = Http::get(config('api.url'). '/api/gadai/laporan/'. $request->kodcaw .'/'. $request->tarikh)->json();
$tebus = Http::get(config('api.url'). '/api/tebus/laporan/'. $request->kodcaw .'/'. $request->tarikh)->json();
$ansuran = Http::get(config('api.url'). '/api/ansuran/laporan/'. $request->kodcaw,['tarikh' => $request->tarikh])->json();
$tuntutbaki = Http::get(config('api.url'). '/api/TuntutBakiTarikhTeller/'. $request->kodcaw,['teller' => $request->teller, 'tarikh' => $request->tarikh])->json();
$advansur = Http::get(config('api.url').'/api/AdvansurSearchByTarikh/'.$request->kodcaw,['kodlaluan' => $request->teller, 'tarikh' => $request->tarikh ])->json();
$lelong = Http::get(config('api.url').'/api/lelong/tarikh/'.$request->kodcaw,['tarikh' => $request->tarikh])->json();
$petibesi = Http::get(config('api.url').'/api/laporanpetibesi/' . $request->kodcaw . '/' . $request->tarikh)->json();
$petibesisebelum = Http::get(config('api.url').'/admin/PetibesiSebelumTarikh/' . $request->kodcaw,['tarikh' => $request->tarikh])->json();
$lelongan = 0;
if(strtoupper($request->teller) === 'LELONG')
{
$lelongan = floatval($lelong);
}else{
$lelongan = 0;
}
$sebelumbakiakhir = $petibesisebelum[0]['bakiakhir'];
$bakiawal = $petibesi['bakiawal'];
$keluar = $petibesi['keluar'];
$masuk = $petibesi['masuk'];
$pendahuluan = $petibesi['pendahuluan'];
$serahan = $petibesi['serahan'];
$panjartot = $petibesi['totpanjar'];
$baki = $petibesi['bakiakhir'];
$addtunai = Http::get(config('api.url') . '/api/getAddTunaiDate/' . $request->kodcaw,['tarikh' => $request->tarikh])->json();
$gldetail = Http::get(config('api.url'). '/admin/GlDetailTarikh/' . $request->kodcaw,['tarikh' => $request->tarikh])->json();
$panjar = Http::get(config('api.url'). '/admin/PanjarTarikh/' . $request->kodcaw,['tarikh' => $request->tarikh])->json();
$pendahuluankepadateller = 0;
$serahandaripadateller = 0;
$totalserahan = 0;
$totalpendahuluan = 0;
foreach($addtunai as $index1=>$at)
{
if($at['tambah'] > 0)
{
$totalpendahuluan += $at['tambah'];
$pendahuluankepadateller += $at['tambah'];
}
if($at['kurang'] > 0)
{
$totalserahan += $at['kurang'];
$serahandaripadateller += $at['kurang'];
}
}
$totalgadai = 0;
$totalgadaibarcodescanned = 0;
foreach($gadai as $index1=>$gad)
$serahanpkb = 0;
$pendahuluanpkb = 0;
foreach($gldetail as $index1=>$gl)
{
if($gad['teller'] === $request->teller)
if($gl['pendahuluan'] > 0)
{
if($gad['semakbarcode'] == 'Lulus')
$totalgadaibarcodescanned += $gad['pinjaman'];
$totalgadai += $gad['pinjaman'];
$pendahuluanpkb += $gl['pendahuluan'];
}
}
$totaltebus = 0;
$totaltebusbarcodescanned = 0;
foreach($tebus as $index1=>$teb)
if($gl['serahan'] > 0)
{
if($teb['teller'] === $request->teller)
{
if($teb['tagterima'] === 1){
if($teb['jenistebus'] === 'S')
{
$totaltebusbarcodescanned += $teb['gadaibakipjm'] + $teb['bakiupah'];
}else{
$totaltebusbarcodescanned += $teb['bakipjm'];
}
}
if($teb['jenistebus'] === 'S')
{
$totaltebus += $teb['gadaibakipjm'] + $teb['bakiupah'];
}else{
$totaltebus += $teb['bakipjm'];
}
}
$serahanpkb += $gl['serahan'];
}
}
$totalansuran = 0;
foreach($ansuran as $index1=>$ans)
$totalpanjar = 0;
foreach($panjar as $index2=>$pan)
{
if($ans['teller'] === $request->teller)
$totalansuran += $ans['duit_masuk'];
$totalpanjar += $pan['bayaran'];
}
$totalupahlama = 0;
foreach($advansur as $index1=>$upahlama)
{
$totalupahlama += $upahlama['upahDibayar'];
}
$totaltuntutbaki = 0;
$bakilelong = 0;
$rugilelong = 0;
foreach($tuntutbaki as $index1=>$tb)
{
if($tb['jenis'] == 'T')
{
$bakilelong += $tb['jumlah'];
}else{
$rugilelong += -($tb['jumlah']);
}
$totaltuntutbaki += $tb['jumlah'];
}
$penebusan = floatval($totaltebus) + floatval($totalansuran) + floatval($totalupahlama);
$penebusanbarcodescanned = floatval($totaltebusbarcodescanned) + floatval($totalansuran) + floatval($totalupahlama);
$gadaian = floatval($totalgadai);
if(strtoupper($request->teller) === 'LELONG'){
$penebusanbarcodescanned = floatval($lelongan);
$bakisemasa = floatval($bakiawal) + floatval($lelongan) - floatval($totalserahan);
}else{
$bakisemasa = floatval($bakiawal) + floatval($totalpendahuluan) + floatval($penebusan) - (floatval($gadaian) + floatval($totalserahan)) - floatval($totaltuntutbaki);
}
$errorpendahuluan = false; $errorserahan = false; $errorpenebusan = false; $errorgadaian = false; $errorbaki = false;
if(number_format($penebusanbarcodescanned,2) !== number_format($masuk,2))
$errorpenebusan = true;
if(number_format(round($bakisemasa,2),2) !== number_format(round($baki,2),2))
$errorbaki = true;
if(number_format($totalpendahuluan,2) != number_format($pendahuluan,2))
$errorpendahuluan = true;
$formulabakiakhir = floatval($sebelumbakiakhir) - floatval($pendahuluankepadateller) + floatval($serahandaripadateller) - floatval($totalpanjar) + floatval($pendahuluanpkb) - floatval($serahanpkb);
if(number_format($totalserahan,2) != number_format($serahan,2))
$errorserahan = true;
$errorbakiawal = false; $errorpendahuluanteller = false; $errorserahanteller = false; $errorserahanpkb = false; $errorpendahuluanpkb = false; $errorpanjar = false; $errorbakiakhir = false;
if(number_format($totalgadaibarcodescanned,2) != number_format($keluar,2))
$errorgadaian = true;
if(number_format($sebelumbakiakhir,2) !== number_format($bakiawal,2))
$errorbakiawal = true;
if(number_format($pendahuluankepadateller,2) !== number_format($keluar,2))
$errorpendahuluanteller = true;
if(number_format(round($serahandaripadateller,2),2) !== number_format(round($masuk,2),2))
$errorserahanteller = true;
if(number_format($serahanpkb,2) != number_format($serahan,2))
$errorserahanpkb = true;
if($errorpenebusan === false && $errorgadaian === false && $errorbaki === false)
if(number_format($pendahuluanpkb,2) != number_format($pendahuluan,2))
$errorpendahuluanpkb = true;
if(number_format($totalpanjar,2) != number_format($panjartot,2))
$errorpanjar = true;
if(number_format($formulabakiakhir,2) != number_format($baki,2))
$errorbakiakhir = true;
if($errorbakiawal === false && $errorpendahuluanteller === false && $errorserahanteller === false && $errorserahanpkb === false && $errorpendahuluanpkb === false && $errorpanjar === false && $errorbakiakhir === false)
{
return response('sama');
}else{
$arraykemaskini = ['pendahuluan' => round($totalpendahuluan,2),'serahan' => round($totalserahan,2), 'penebusan' => round($penebusanbarcodescanned,2), 'gadaian' => round($totalgadaibarcodescanned,2), 'bakisemasa' => round($bakisemasa,2),'bakiawal' => round($bakiawal,2)];
$arraykemaskini = ['bakiawal' => round($sebelumbakiakhir,2),'pendahuluanteller' => round($pendahuluankepadateller,2),'serahanteller' => round($serahandaripadateller,2), 'serahanpkb' => round($serahanpkb,2), 'pendahuluanpkb' => round($pendahuluanpkb,2), 'panjar' => round($totalpanjar,2),'bakiakhir' => round($formulabakiakhir,2)];
return response()->json($arraykemaskini);
}
}
public function kemaskiniAliranTunai(Request $request)
public function kemaskiniPetiBesi(Request $request)
{
$auth_user = Auth::user();
$alirantunai = Http::get(config('api.url') . '/api/GetTunaiByTarikh/' . $request->kodcaw,['kodlaluan' => $request->teller, 'tarikh' => $request->tarikh])->json();
$keluar = $alirantunai['keluar'];
$baki = $alirantunai['baki'];
$masuk = $alirantunai['masuk'];
$bakiawal = $alirantunai['bakiawal'];
$pendahuluan = $alirantunai['tambah'];
$serahan = $alirantunai['kurang'];
$updateTunai = Http::put( config('api.url').'/api/updateTunaiGTByTarikh/'.$request->kodcaw, [
'kodlaluan' => $request->teller,
'tarikh' => $request->tarikh,
'keluar'=> $request->gadaian,
'masuk'=> $request->penebusan,
'bakiakhir'=> $request->bakiakhir
$updatePB = Http::put( config('api.url').'/api/UpdatePetiBesi/', [
'bakiawal' => $request->bakiawal,
'keluar' => $request->keluar,
'masuk' => $request->masuk,
'pendahuluan' => $request->pendahuluan,
'serahan' => $request->serahan,
'panjar' => $request->panjar,
'bakiakhir' => $request->bakiakhir
]);
if($updateTunai->status() == 200)
if($updatePB->status() == 200)
{
return response('berjaya');
}else{
+5
View File
@@ -7500,6 +7500,11 @@
"integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==",
"dev": true
},
"vue-toastification": {
"version": "1.7.14",
"resolved": "https://registry.npmjs.org/vue-toastification/-/vue-toastification-1.7.14.tgz",
"integrity": "sha512-khZR8t3NWZ/JJ2MZxXLbesHrRJ8AKa75PY5Zq8yMifF9x8lHq8ljYkC0d2PD9yahooygQB5tcFyRDkbbIPx8hw=="
},
"watchpack": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.0.tgz",
+2 -1
View File
@@ -39,6 +39,7 @@
"vue-apexcharts": "^1.6.2",
"vue-axios": "^3.4.0",
"vue-class-component": "^7.2.6",
"vue-property-decorator": "^9.1.2"
"vue-property-decorator": "^9.1.2",
"vue-toastification": "^1.7.14"
}
}
+3489 -419
View File
File diff suppressed because one or more lines are too long
+25 -10
View File
@@ -12,31 +12,46 @@ import VueAxios from 'vue-axios'
import axios from 'axios'
import JwPagination from 'jw-vue-pagination'
import { createPopper } from "@popperjs/core"
import Toast from "vue-toastification"
import "vue-toastification/dist/index.css"
require('./bootstrap');
window.Vue = require('vue').default;
window.Alpine = Alpine;
/**
* The following block of code may be used to automatically register your
* Vue components. It will recursively scan this directory for the Vue
* components and automatically register them with their "basename".
*
* Eg. ./components/ExampleComponent.vue -> <example-component></example-component>
*/
// const files = require.context('./', true, /\.vue$/i)
// files.keys().map(key => Vue.component(key.split('/').pop().split('.')[0], files(key).default))
const options = {
transition: "Vue-Toastification__fade",
position: "bottom-center",
timeout: 2000,
closeOnClick: true,
maxToasts: 20,
pauseOnHover: true,
draggable: true,
draggablePercent: 0.6,
closeButton: "button",
showCloseButtonOnHover: false,
icon: true,
newestOnTop: true
};
Vue.use (VueApexCharts)
Vue.use (Alpine)
Vue.use(VueCompositionAPI)
Vue.use(VueAxios, axios)
Vue.component('jw-pagination', JwPagination)
Vue.use(createPopper)
Vue.use(Toast, options);
Alpine.start()
Vue.component('chart', require('./components/Chart.vue').default)
//Chart
Vue.component('pemb-chart', require('./components/Chart/PembiayaanChart.vue').default)
Vue.component('peny-chart', require('./components/Chart/PenyelesaianChart.vue').default)
Vue.component('keun-chart', require('./components/Chart/KeuntunganChart.vue').default)
Vue.component('sidebar', require('./components/Sidebar.vue').default)
Vue.component('breadcrumb', require('./components/Breadcrumb.vue').default)
Vue.component('dashboard', require('./pages/dashboard.vue').default)
+4 -1
View File
@@ -1,7 +1,10 @@
<template>
<div class="mx-auto">
<a class="text-yellow-200 rounded bg-gray-400 px-6 py-3 font-bold mr-4 uppercase md:invisible xl:visible">
CAWANGAN : {{this.cawangan.details_caw }}
CAWANGAN : {{this.cawangan.details_caw }}
</a>
<a class="text-yellow-200 rounded bg-gray-400 px-4 py-3 font-bold mr-4 uppercase md:invisible xl:visible">
<i class="fas fa-1x fa-user-lock"></i>
</a>
</div>
</template>
@@ -2,8 +2,8 @@
<div class="mx-auto rounded-lg">
<apexchart
width="550" type="bar"
:options="options" :series="series">
width="550" type="line"
:options="options" :series="this.keun">
</apexchart>
</div>
@@ -11,12 +11,24 @@
</template>
<script>
const formatter = new Intl.NumberFormat('en-US', {
minimumFractionDigits: 2
});
export default {
name: 'Chart',
props:{
kodcaw: String,
keun: Array
},
data: () => ({
options: {
chart: {
id: 'vuechart-example'
id: 'keuntungan-bulanan',
zoom: {
enabled: false
}
},
xaxis: {
categories: [
@@ -33,10 +45,17 @@ export default {
"Nov",
"Dec"
]
}
},
yaxis: {
labels: {
formatter: function (value) {
return 'RM ' + formatter.format(value);
}
},
},
},
series: [{
name: 'series-1',
name: 'Keuntungan (RM)',
data: [55, 62, 89, 66, 98, 72, 101, 75, 94, 120, 117, 139]
}]
})
@@ -0,0 +1,85 @@
<template>
<div class="mx-auto rounded-lg">
<apexchart id="pembchart"
width="550" type="line"
:options="options" :series="series">
</apexchart>
</div>
</template>
<script>
const formatter = new Intl.NumberFormat('en-US', {
minimumFractionDigits: 2
});
export default {
name: 'Chart',
props:{
kodcaw: String
},
data: () => ({
options: {
chart: {
id: 'pembiayaan-bulanan',
zoom: {
enabled: false
}
},
xaxis: {
categories: [
"Jan",
"Feb",
"Mac",
"Apr",
"Mei",
"Jun",
"Jul",
"Ogo",
"Sep",
"Okt",
"Nov",
"Dis"
]
},
yaxis: {
labels: {
formatter: function (value) {
return 'RM ' + formatter.format(value);
}
},
},
},
series: [{
name: 'Pembiayaan (RM)',
data: [55, 62, 89, 66, 98, 72, 101, 75, 94, 120, 117, 139]
}]
}),
created() {
this.axios.get('http://localhost:8000/admin/financeMonth', {
params: {
kodcaw: this.kodcaw
}
}).then(response => {
let pembiayaan = [];
response.data.map(function(value, key) {
pembiayaan.push(value.pembiayaan)
});
this.$apexcharts.exec('pembiayaan-bulanan', 'updateSeries', [{
data: pembiayaan.reverse()
}])
}).catch(error => {
console.log(error)
})
}
}
</script>
@@ -0,0 +1,63 @@
<template>
<div class="mx-auto rounded-lg">
<apexchart
width="550" type="line"
:options="options" :series="this.peny">
</apexchart>
</div>
</template>
<script>
const formatter = new Intl.NumberFormat('en-US', {
minimumFractionDigits: 2
});
export default {
name: 'Chart',
props:{
kodcaw: String,
peny: Array
},
data: () => ({
options: {
chart: {
id: 'penyelesaian-bulanan',
zoom: {
enabled: false
}
},
xaxis: {
categories: [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec"
]
},
yaxis: {
labels: {
formatter: function (value) {
return 'RM ' + formatter.format(value);
}
},
},
},
series: [{
name: 'Tebus (RM)',
data: [55, 62, 89, 66, 98, 72, 101, 75, 94, 120, 117, 139]
}]
}),
}
</script>
+81 -35
View File
@@ -43,11 +43,11 @@
</tr>
</thead>
<tbody>
<tr v-for="(petibesi,i) in active" :key="i">
<tr v-for="(petibesi,i) in active.vault" :key="i">
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
<div class="flex items-center">
<div class="ml-3">
<p class="text-gray-900 whitespace-no-wrap" v-text="(i+1)">
<p class="text-gray-900 whitespace-no-wrap" v-text="(i+1+active.mulaPage)">
</p>
</div>
</div>
@@ -63,7 +63,7 @@
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
<div class="flex items-center">
<div class="ml-3">
<p class="text-gray-900 whitespace-no-wrap" v-text="petibesi.bakiawal">
<p class="text-gray-900 whitespace-no-wrap" v-text="formatterfunction(petibesi.bakiawal)">
</p>
</div>
</div>
@@ -71,7 +71,7 @@
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
<div class="flex items-center">
<div class="ml-3">
<p class="text-gray-900 whitespace-no-wrap" v-text="petibesi.keluar">
<p class="text-gray-900 whitespace-no-wrap" v-text="formatterfunction(petibesi.keluar)">
</p>
</div>
</div>
@@ -79,7 +79,7 @@
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
<div class="flex items-center">
<div class="ml-3">
<p class="text-gray-900 whitespace-no-wrap" v-text="petibesi.masuk">
<p class="text-gray-900 whitespace-no-wrap" v-text="formatterfunction(petibesi.masuk)">
</p>
</div>
</div>
@@ -87,7 +87,7 @@
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
<div class="flex items-center">
<div class="ml-3">
<p class="text-gray-900 whitespace-no-wrap" v-text="petibesi.pendahuluan">
<p class="text-gray-900 whitespace-no-wrap" v-text="formatterfunction(petibesi.pendahuluan)">
</p>
</div>
</div>
@@ -95,7 +95,7 @@
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
<div class="flex items-center">
<div class="ml-3">
<p class="text-gray-900 whitespace-no-wrap" v-text="petibesi.serahan">
<p class="text-gray-900 whitespace-no-wrap" v-text="formatterfunction(petibesi.serahan)">
</p>
</div>
</div>
@@ -103,7 +103,7 @@
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
<div class="flex items-center">
<div class="ml-3">
<p class="text-gray-900 whitespace-no-wrap" v-text="petibesi.totpanjar">
<p class="text-gray-900 whitespace-no-wrap" v-text="formatterfunction(petibesi.totpanjar)">
</p>
</div>
</div>
@@ -111,7 +111,7 @@
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
<div class="flex items-center">
<div class="ml-3">
<p class="text-gray-900 whitespace-no-wrap" v-text="petibesi.bakiakhir">
<p class="text-gray-900 whitespace-no-wrap" v-text="formatterfunction(petibesi.bakiakhir)">
</p>
</div>
</div>
@@ -119,7 +119,7 @@
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
<div class="flex items-center">
<div class="ml-3">
<button class="border border-yellow-600 text-yellow-600 font-montserrat py-2 px-4 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-card-checklist" viewBox="0 0 16 16">
<button @click="action(petibesi.tarikh,petibesi.kodcaw)" class="border border-yellow-600 text-yellow-600 font-montserrat py-2 px-4 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-card-checklist" viewBox="0 0 16 16">
<path d="M14.5 3a.5.5 0 0 1 .5.5v9a.5.5 0 0 1-.5.5h-13a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h13zm-13-1A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h13a1.5 1.5 0 0 0 1.5-1.5v-9A1.5 1.5 0 0 0 14.5 2h-13z"/>
<path d="M7 5.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm-1.496-.854a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0l-.5-.5a.5.5 0 1 1 .708-.708l.146.147 1.146-1.147a.5.5 0 0 1 .708 0zM7 9.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm-1.496-.854a.5.5 0 0 1 0 .708l-1.5 1.5a.5.5 0 0 1-.708 0l-.5-.5a.5.5 0 0 1 .708-.708l.146.147 1.146-1.147a.5.5 0 0 1 .708 0z"/>
</svg>
@@ -165,31 +165,44 @@
</div>
<div>
<nav class="relative z-0 inline-flex rounded-md shadow-sm -space-x-px" aria-label="Pagination">
<a href="#" class="relative inline-flex items-center px-2 py-2 rounded-l-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">
<a href="#" @click="setActive(0)" class="relative inline-flex items-center px-2 py-2 rounded-l-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">
<span class="sr-only">First Page</span>
<ChevronDoubleLeftIcon class="h-5 w-5" aria-hidden="true" />
</a>
<a href="#" @click="setPrevious()" class="relative inline-flex items-center px-2 py-2 rounded-l-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">
<span class="sr-only">Previous</span>
<ChevronLeftIcon class="h-5 w-5" aria-hidden="true" />
</a>
<!-- Current: "z-10 bg-indigo-50 border-indigo-500 text-indigo-600", Default: "bg-white border-gray-300 text-gray-500 hover:bg-gray-50" -->
<template v-for="(row,i) in rows">
<a v-if="((i+1) < activePage && (i+1) > activePage - 2) || (i+1) == 1 && activePage !=1" @click="setActive(i)" :key="'Z'+i" href="#" class="bg-white border-gray-300 text-gray-500 hover:bg-gray-50 relative inline-flex items-center px-4 py-2 border text-sm font-medium">
{{ i + 1 }}
</a>
<span v-if="activePage > 3 && (i+1) == 1" :key="'B'+i" class="relative inline-flex items-center px-4 py-2 border border-gray-300 bg-white text-sm font-medium text-gray-700">
...
</span>
<a v-if="(i+1) == activePage" :key="i" href="#" aria-current="page" class="z-10 bg-indigo-50 border-indigo-500 text-indigo-600 relative inline-flex items-center px-4 py-2 border text-sm font-medium">
{{ activePage }}
</a>
<a v-if="(i+1) > activePage && (i+1) < activePage + 3" :key="'A'+i" @click="setActive(i)" href="#" class="bg-white border-gray-300 text-gray-500 hover:bg-gray-50 relative inline-flex items-center px-4 py-2 border text-sm font-medium">
<a v-if="((i+1) > activePage && (i+1) < activePage + 3) && activePage != (rows-1)" :key="'A'+i" @click="setActive(i)" href="#" class="bg-white border-gray-300 text-gray-500 hover:bg-gray-50 relative inline-flex items-center px-4 py-2 border text-sm font-medium">
{{ i + 1 }}
</a>
<span v-if="(i+1) == activePage + 3" :key="'B'+i" class="relative inline-flex items-center px-4 py-2 border border-gray-300 bg-white text-sm font-medium text-gray-700">
...
</span>
<a v-else-if="(i+1) > (rows-3)" :key="'C' + i" @click="setActive(i)" href="#" class="bg-white border-gray-300 text-gray-500 hover:bg-gray-50 relative inline-flex items-center px-4 py-2 border text-sm font-medium">
{{ i + 1}}
<a v-else-if="(i+1) == (rows) && (activePage != (rows-1) && (i+1) != (rows))" :key="'C' + i" @click="setActive(i)" href="#" class="bg-white border-gray-300 text-gray-500 hover:bg-gray-50 relative inline-flex items-center px-4 py-2 border text-sm font-medium">
{{ i + 1}}
</a>
</template>
<a href="#" class="relative inline-flex items-center px-2 py-2 rounded-r-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">
<a href="#" @click="setNext()" class="relative inline-flex items-center px-2 py-2 rounded-r-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">
<span class="sr-only">Next</span>
<ChevronRightIcon class="h-5 w-5" aria-hidden="true" />
</a>
<a href="#" @click="setActiveLastPage()" class="relative inline-flex items-center px-2 py-2 rounded-r-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">
<span class="sr-only">Next</span>
<ChevronDoubleRightIcon class="h-5 w-5" aria-hidden="true" />
</a>
</nav>
</div>
</div>
@@ -199,14 +212,19 @@
</template>
<script>
import { ChevronLeftIcon, ChevronRightIcon } from '@vue-hero-icons/solid'
import modal from './util/Modal.vue'
import { ChevronLeftIcon, ChevronRightIcon,ChevronDoubleRightIcon,ChevronDoubleLeftIcon } from '@vue-hero-icons/solid'
import modal from './util/PetiBesiModal.vue'
const formatter = new Intl.NumberFormat('en-US', {
minimumFractionDigits: 2
});
export default {
components: {
ChevronLeftIcon,
ChevronRightIcon,
ChevronDoubleLeftIcon,
ChevronDoubleRightIcon,
modal
},
@@ -220,7 +238,8 @@ export default {
return {
index: 0,
leftToRight: true,
alirantunai:[],
aliranpetibesi:[],
PaginationLimit: 2,
perPage: 5,
totalPage: 0,
currentPage: 1,
@@ -231,6 +250,7 @@ export default {
computed:{
active() {
let jumsplit = this.activePage*this.perPage
let mulaPage = jumsplit - (this.perPage)
@@ -239,13 +259,35 @@ export default {
let vault = this.petibesi.slice(mulaPage, jumsplit)
return vault
}
return {vault,mulaPage,jumsplit}
},
rows() {
this.totalPage = this.$props.petibesi.length
let totaldibahagi = parseInt(this.totalPage/this.perPage)
return totaldibahagi
}
},
methods: {
setActive(index){
this.activePage = index + 1
},
setActiveLastPage(){
let totaldibahagi = parseInt(this.totalPage/this.perPage)
this.activePage = totaldibahagi
},
setPrevious(){
if(this.activePage > 1)
this.activePage = this.activePage - 1
},
setNext(){
let totaldibahagi = parseInt(this.totalPage/this.perPage)
if(this.activePage < totaldibahagi)
this.activePage = this.activePage + 1
},
setItem(index) {
// Update LTR before changing $data.index
@@ -253,33 +295,37 @@ export default {
this.$data.index = index;
this.activePage = 1;
},
action(tarikhteller,kodcawteller,tel){
axios.get('/api/check/periksaalirantunai', {
action(tarikh,kodcaw){
axios.get('/api/check/periksapetibesi', {
params: {
tarikh: tarikhteller,
kodcaw: kodcawteller,
teller: tel
tarikh: tarikh,
kodcaw: kodcaw
}
}).then(response => {
if(response.data === 'sama')
{
alert('sama')
this.$toast("Nilai Tunai sama dengan nilat tunai")
}else{
this.alirantunai = response.data;
this.aliranpetibesi = response.data;
this.$refs.modal.showModal = true;
this.$refs.modal.serahan = this.alirantunai.serahan;
this.$refs.modal.bakiawal = this.alirantunai.bakiawal;
this.$refs.modal.bakiakhir = this.alirantunai.bakisemasa;
this.$refs.modal.pendahuluan = this.alirantunai.pendahuluan;
this.$refs.modal.penebusan = this.alirantunai.penebusan;
this.$refs.modal.gadaian = this.alirantunai.gadaian;
this.$refs.modal.panjar = formatter.format(this.aliranpetibesi.panjar);
this.$refs.modal.bakiawal = formatter.format(this.aliranpetibesi.bakiawal);
this.$refs.modal.bakiakhir = formatter.format(this.aliranpetibesi.bakiakhir);
this.$refs.modal.pendteller = formatter.format(this.aliranpetibesi.pendahuluanteller);
this.$refs.modal.serteller = formatter.format(this.aliranpetibesi.serahanteller);
this.$refs.modal.serahan = formatter.format(this.aliranpetibesi.serahanpkb);
this.$refs.modal.pendahuluan = formatter.format(this.aliranpetibesi.pendahuluanpkb);
}
});
},
formatterfunction(value){
return formatter.format(value)
}
}
}
+21 -13
View File
@@ -91,7 +91,7 @@
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
<div class="flex items-center">
<div class="ml-3">
<p class="text-gray-900 whitespace-no-wrap" v-text="tunai.bakiawal">
<p class="text-gray-900 whitespace-no-wrap" v-text="formatterfunction(tunai.bakiawal)">
</p>
</div>
</div>
@@ -99,7 +99,7 @@
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
<div class="flex items-center">
<div class="ml-3">
<p class="text-gray-900 whitespace-no-wrap" v-text="tunai.tambah">
<p class="text-gray-900 whitespace-no-wrap" v-text="formatterfunction(tunai.tambah)">
</p>
</div>
</div>
@@ -107,7 +107,7 @@
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
<div class="flex items-center">
<div class="ml-3">
<p class="text-gray-900 whitespace-no-wrap" v-text="tunai.kurang">
<p class="text-gray-900 whitespace-no-wrap" v-text="formatterfunction(tunai.kurang)">
</p>
</div>
</div>
@@ -115,7 +115,7 @@
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
<div class="flex items-center">
<div class="ml-3">
<p class="text-gray-900 whitespace-no-wrap" v-text="tunai.keluar">
<p class="text-gray-900 whitespace-no-wrap" v-text="formatterfunction(tunai.keluar)">
</p>
</div>
</div>
@@ -123,7 +123,7 @@
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
<div class="flex items-center">
<div class="ml-3">
<p class="text-gray-900 whitespace-no-wrap" v-text="tunai.masuk">
<p class="text-gray-900 whitespace-no-wrap" v-text="formatterfunction(tunai.masuk)">
</p>
</div>
</div>
@@ -131,7 +131,7 @@
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
<div class="flex items-center">
<div class="ml-3">
<p class="text-gray-900 whitespace-no-wrap" v-text="tunai.baki">
<p class="text-gray-900 whitespace-no-wrap" v-text="formatterfunction(tunai.baki)">
</p>
</div>
</div>
@@ -248,6 +248,9 @@ import { ChevronLeftIcon, ChevronRightIcon } from '@vue-hero-icons/solid'
import modal from './util/Modal.vue'
import pagination from './pagination.vue'
const formatter = new Intl.NumberFormat('en-US', {
minimumFractionDigits: 2
});
export default {
components: {
@@ -325,21 +328,26 @@ export default {
if(response.data === 'sama')
{
alert('sama')
this.$toast("Nilai Tunai sama dengan nilat tunai");
}else{
this.alirantunai = response.data;
this.$refs.modal.showModal = true;
this.$refs.modal.serahan = this.alirantunai.serahan;
this.$refs.modal.bakiawal = this.alirantunai.bakiawal;
this.$refs.modal.bakiakhir = this.alirantunai.bakisemasa;
this.$refs.modal.pendahuluan = this.alirantunai.pendahuluan;
this.$refs.modal.penebusan = this.alirantunai.penebusan;
this.$refs.modal.gadaian = this.alirantunai.gadaian;
this.$refs.modal.serahan = formatter.format(this.alirantunai.serahan);
this.$refs.modal.bakiawal = formatter.format(this.alirantunai.bakiawal);
this.$refs.modal.bakiakhir = formatter.format(this.alirantunai.bakisemasa);
this.$refs.modal.pendahuluan = formatter.format(this.alirantunai.pendahuluan);
this.$refs.modal.penebusan = formatter.format(this.alirantunai.penebusan);
this.$refs.modal.gadaian = formatter.format(this.alirantunai.gadaian);
}
});
},
formatterfunction: function(value){
return formatter.format(value)
}
}
}
+17 -34
View File
@@ -18,18 +18,18 @@
</div>
<!--body-->
<div class="relative p-6 flex-auto">
<p class="my-4 text-blueGray-500 text-lg leading-relaxed">
<!-- <p class="my-4 text-blueGray-500 text-lg leading-relaxed">
</p>
</p> -->
<h3 class="font-bold mb-3 text-center text-2xl border-4 border-red-500 mx-auto w-2/4 py-2 rounded-lg"><b class="text-red-500">Formula </b> <span class="mx-2"><i class="fas fa-angle-double-right"></i></span> AW + PE + TS - GA - SE = AK</h3>
<div class="flex flex-no-wrap">
<div class="bg-blue-300 text-white h-26 flex-auto rounded-2xl ml-2">
<div class="flex flex-row">
<div class="bg-blue-500 px-4 py-6 rounded-l-2xl">
<svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="currentColor" class="bi bi-cash" viewBox="0 0 16 16">
<path d="M8 10a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"/>
<path d="M0 4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V4zm3 0a2 2 0 0 1-2 2v4a2 2 0 0 1 2 2h10a2 2 0 0 1 2-2V6a2 2 0 0 1-2-2H3z"/>
</svg>
<div class="bg-blue-500 px-3 py-6 rounded-l-2xl">
<h2 class="font-bold text-lg">AW</h2>
</div>
<div class="my-auto mx-auto">
<p class="font-bold uppercase text-black text-2xl">{{ this.bakiawal }}</p>
@@ -39,10 +39,8 @@
<div class="bg-blue-300 text-white h-26 flex-auto rounded-2xl ml-2">
<div class="flex flex-row">
<div class="bg-blue-500 px-4 py-6 rounded-l-2xl">
<svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" class="h-6 w-6" viewBox="0 0 20 20" fill="currentColor">
<path fill-rule="evenodd" d="M6 2a2 2 0 00-2 2v12a2 2 0 002 2h8a2 2 0 002-2V4a2 2 0 00-2-2H6zm1 2a1 1 0 000 2h6a1 1 0 100-2H7zm6 7a1 1 0 011 1v3a1 1 0 11-2 0v-3a1 1 0 011-1zm-3 3a1 1 0 100 2h.01a1 1 0 100-2H10zm-4 1a1 1 0 011-1h.01a1 1 0 110 2H7a1 1 0 01-1-1zm1-4a1 1 0 100 2h.01a1 1 0 100-2H7zm2 1a1 1 0 011-1h.01a1 1 0 110 2H10a1 1 0 01-1-1zm4-4a1 1 0 100 2h.01a1 1 0 100-2H13zM9 9a1 1 0 011-1h.01a1 1 0 110 2H10a1 1 0 01-1-1zM7 8a1 1 0 000 2h.01a1 1 0 000-2H7z" clip-rule="evenodd" />
</svg>
<div class="bg-blue-500 px-3 py-6 rounded-l-2xl">
<h2 class="font-bold text-lg">AK</h2>
</div>
<div class="my-auto mx-auto">
<p class="font-bold uppercase text-black text-2xl">{{ this.bakiakhir }}</p>
@@ -56,10 +54,7 @@
<div class="flex flex-row">
<div class="bg-green-500 px-4 py-6 rounded-l-2xl">
<svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="currentColor" class="bi bi-box-arrow-right" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M10 12.5a.5.5 0 0 1-.5.5h-8a.5.5 0 0 1-.5-.5v-9a.5.5 0 0 1 .5-.5h8a.5.5 0 0 1 .5.5v2a.5.5 0 0 0 1 0v-2A1.5 1.5 0 0 0 9.5 2h-8A1.5 1.5 0 0 0 0 3.5v9A1.5 1.5 0 0 0 1.5 14h8a1.5 1.5 0 0 0 1.5-1.5v-2a.5.5 0 0 0-1 0v2z"/>
<path fill-rule="evenodd" d="M15.854 8.354a.5.5 0 0 0 0-.708l-3-3a.5.5 0 0 0-.708.708L14.293 7.5H5.5a.5.5 0 0 0 0 1h8.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3z"/>
</svg>
<h2 class="font-bold text-lg">PE</h2>
</div>
<div class="my-auto mx-auto">
@@ -71,11 +66,7 @@
<div class="bg-red-300 text-white h-26 flex-auto rounded-2xl ml-2">
<div class="flex flex-row">
<div class="bg-red-500 px-4 py-6 rounded-l-2xl">
<svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="currentColor" class="bi bi-box-arrow-left" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M6 12.5a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5v2a.5.5 0 0 1-1 0v-2A1.5 1.5 0 0 1 6.5 2h8A1.5 1.5 0 0 1 16 3.5v9a1.5 1.5 0 0 1-1.5 1.5h-8A1.5 1.5 0 0 1 5 12.5v-2a.5.5 0 0 1 1 0v2z"/>
<path fill-rule="evenodd" d="M.146 8.354a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L1.707 7.5H10.5a.5.5 0 0 1 0 1H1.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3z"/>
</svg>
<h2 class="font-bold text-lg">SE</h2>
</div>
<div class="my-auto mx-auto">
<p class="font-bold uppercase text-black text-2xl">{{ this.serahan }}</p>
@@ -88,12 +79,7 @@
<div class="bg-green-300 text-white h-26 flex-auto rounded-2xl ml-2">
<div class="flex flex-row">
<div class="bg-green-500 px-4 py-6 rounded-l-2xl">
<svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="currentColor" class="bi bi-plus-square" viewBox="0 0 16 16">
<path d="M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z"/>
<path d="M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z"/>
</svg>
<h2 class="font-bold text-lg">TS</h2>
</div>
<div class="my-auto mx-auto">
<p class="font-bold uppercase text-black text-2xl">{{ this.penebusan }}</p>
@@ -104,10 +90,7 @@
<div class="bg-red-300 text-white h-26 flex-auto rounded-2xl ml-2">
<div class="flex flex-row">
<div class="bg-red-500 px-4 py-6 rounded-l-2xl">
<svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="currentColor" class="bi bi-dash-square" viewBox="0 0 16 16">
<path d="M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z"/>
<path d="M4 8a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7A.5.5 0 0 1 4 8z"/>
</svg>
<h2 class="font-bold text-lg">GA</h2>
</div>
<div class="my-auto mx-auto">
<p class="font-bold uppercase text-black text-2xl">{{ this.gadaian }}</p>
@@ -120,11 +103,11 @@
</div>
<!--footer-->
<div class="flex items-center justify-end p-6 border-t border-solid border-blueGray-200 rounded-b">
<button class="text-red-500 bg-transparent border border-solid border-red-500 hover:bg-red-500 hover:text-white active:bg-red-600 font-bold uppercase text-sm px-6 py-3 rounded outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type="button" v-on:click="toggleModal()">
Close
<button class="bg-gray-500 hover:bg-gray-700 text-white font-bold py-2 px-4 border border-gray-700 rounded mr-1" type="button" v-on:click="toggleModal()">
Batal
</button>
<button class="text-red-500 background-transparent font-bold uppercase px-6 py-2 text-sm outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type="button" v-on:click="toggleModal()">
Save Changes
<button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 border border-blue-700 rounded" type="button" v-on:click="toggleModal()">
Kemaskini
</button>
</div>
</div>
@@ -0,0 +1,171 @@
<template>
<div>
<div v-if="showModal" class="overflow-x-hidden overflow-y-auto fixed inset-0 z-50 outline-none focus:outline-none justify-center items-center flex">
<div class="relative w-screen my-6 mx-auto max-w-6xl">
<!--content-->
<div class="border-0 rounded-lg shadow-lg relative flex flex-col w-full bg-white outline-none focus:outline-none">
<!--header-->
<div class="flex items-start bg-gray-200 justify-between p-5 border-b border-solid border-blueGray-200 rounded-t">
<h3 class="text-3xl font-semibold">
Pemeriksaan Peti Besi
</h3>
<button class="p-1 ml-auto border-0 text-black opacity-5 float-right text-3xl leading-none font-semibold outline-none focus:outline-none" v-on:click="toggleModal()">
<span class=" text-black opacity-5 h-6 w-6 text-2xl block outline-none focus:outline-none">
×
</span>
</button>
</div>
<!--body-->
<div class="relative p-6 flex-auto">
<!-- <p class="my-4 text-blueGray-500 text-lg leading-relaxed">
</p> -->
<h3 class="font-bold mb-3 text-center text-2xl border-4 border-red-500 mx-auto w-2/4 py-2 rounded-lg"><b class="text-red-500">Formula </b> <span class="mx-2"><i class="fas fa-angle-double-right"></i></span> AW + ST + PE - PT - SE - PJ = AK</h3>
<div class="flex flex-no-wrap">
<div class="bg-blue-300 text-white h-26 flex-auto rounded-2xl ml-2">
<div class="flex flex-row">
<div class="bg-blue-500 px-3 py-6 rounded-l-2xl">
<h2 class="font-bold text-lg">AW</h2>
</div>
<div class="my-auto mx-auto">
<p class="font-bold uppercase text-black text-2xl">{{ this.bakiawal }}</p>
</div>
</div>
</div>
<div class="bg-red-300 text-white h-26 flex-auto rounded-2xl ml-2">
<div class="flex flex-row">
<div class="bg-red-500 px-3 py-6 rounded-l-2xl">
<h2 class="font-bold text-lg">PT</h2>
</div>
<div class="my-auto mx-auto">
<p class="font-bold uppercase text-black text-2xl">{{ this.pendteller }}</p>
</div>
</div>
</div>
</div>
<div class="flex flex-wrap mt-3">
<div class="bg-green-300 text-white h-26 flex-auto rounded-2xl ml-2">
<div class="flex flex-row">
<div class="bg-green-500 px-4 py-6 rounded-l-2xl">
<h2 class="font-bold text-lg">ST</h2>
</div>
<div class="my-auto mx-auto">
<p class="font-bold uppercase text-black text-2xl">{{ this.serteller }}</p>
</div>
</div>
</div>
<div class="bg-red-300 text-white h-26 flex-auto rounded-2xl ml-2">
<div class="flex flex-row">
<div class="bg-red-500 px-4 py-6 rounded-l-2xl">
<h2 class="font-bold text-lg">SE</h2>
</div>
<div class="my-auto mx-auto">
<p class="font-bold uppercase text-black text-2xl">{{ this.serahan }}</p>
</div>
</div>
</div>
</div>
<div class="flex flex-wrap mt-3">
<div class="bg-green-300 text-white h-26 flex-auto rounded-2xl ml-2">
<div class="flex flex-row">
<div class="bg-green-500 px-4 py-6 rounded-l-2xl">
<h2 class="font-bold text-lg">PE</h2>
</div>
<div class="my-auto mx-auto">
<p class="font-bold uppercase text-black text-2xl">{{ this.pendahuluan }}</p>
</div>
</div>
</div>
<div class="bg-red-300 text-white h-26 flex-auto rounded-2xl ml-2">
<div class="flex flex-row">
<div class="bg-red-500 px-4 py-6 rounded-l-2xl">
<h2 class="font-bold text-lg">PJ</h2>
</div>
<div class="my-auto mx-auto">
<p class="font-bold uppercase text-black text-2xl">{{ this.panjar }}</p>
</div>
</div>
</div>
</div>
<div class="flex flex-wrap mt-3">
<div class="bg-green-300 text-white h-26 flex-auto rounded-2xl ml-2">
<div class="flex flex-row">
<div class="bg-green-500 px-4 py-6 rounded-l-2xl">
<h2 class="font-bold text-lg">AK</h2>
</div>
<div class="my-auto mx-auto">
<p class="font-bold uppercase text-black text-2xl">{{ this.bakiakhir }}</p>
</div>
</div>
</div>
</div>
</div>
<!--footer-->
<div class="flex items-center justify-end p-6 border-t border-solid border-blueGray-200 rounded-b">
<button class="bg-gray-500 hover:bg-gray-700 text-white font-bold py-2 px-4 border border-gray-700 rounded mr-1" type="button" v-on:click="toggleModal()">
Batal
</button>
<button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 border border-blue-700 rounded" type="button" v-on:click="kemaskinifunc()">
Kemaskini
</button>
</div>
</div>
</div>
</div>
<div v-if="showModal" class="opacity-25 fixed inset-0 z-40 bg-black"></div>
</div>
</template>
<script>
export default {
name: "modal",
data() {
return {
showModal: false,
bakiawal: 0,
bakiakhir: 0,
pendahuluan: 0,
serahan: 0,
pendteller: 0,
serteller: 0,
panjar: 0
}
},
methods: {
toggleModal: function(){
this.showModal = !this.showModal;
},
kemaskinifunc: function(){
axios.put('https://api.com/v1/resource/{id}',
{
bakiawal: this.bakiawal,
keluar: this.pendteller,
masuk: this.serteller,
pendahuluan: this.pendahuluan,
serahan: this.serahan,
panjar: this.panjar,
bakiakhir: this.bakiakhir
},
)
console.log('kemaskini')
}
}
}
</script>
+1 -1
View File
@@ -9,7 +9,7 @@
<main>
<div class="pt-6 px-4">
{{-- <breadcrumb></breadcrumb> --}}
<breadcrumb :items="[{ 'title' : 'Tunai', 'icon' : 'fas fa-money-bill-wave' }]"></breadcrumb>
<tunai-component :items="{{ json_encode($teller) }}" :arraytunai="{{ json_encode($arraytunai) }}"></tunai-component>
+11 -215
View File
@@ -28,7 +28,7 @@
<div class="flex items-center">
<div class="flex-shrink-0">
<span class="text-2xl sm:text-3xl leading-none font-bold text-gray-900">RM {{ ($ringkasanharian['tebus'][0]['jumlahpinjaman']) ? number_format($ringkasanharian['tebus'][0]['jumlahpinjaman'],2) : "0.00" }}</span>
<h3 class="text-base font-normal text-gray-500">Penebusan</h3>
<h3 class="text-base font-normal text-gray-500">Penebusan Hari Ini</h3>
</div>
{{-- <div class="ml-5 w-0 flex items-center justify-end flex-1 text-green-500 text-base font-bold">
32.9%
@@ -42,7 +42,7 @@
<div class="flex items-center">
<div class="flex-shrink-0">
<span class="text-2xl sm:text-3xl leading-none font-bold text-gray-900">RM {{ number_format($keseluruhanupahharian,2) }}</span>
<h3 class="text-base font-normal text-gray-500">Keuntungan</h3>
<h3 class="text-base font-normal text-gray-500">Keuntungan Hari Ini</h3>
</div>
{{-- <div class="ml-5 w-0 flex items-center justify-end flex-1 text-red-500 text-base font-bold">
-2.7%
@@ -61,14 +61,14 @@
{{-- <span class="text-2xl sm:text-3xl leading-none font-bold text-gray-900">$45,385</span> --}}
<h3 class="text-base font-normal text-gray-500">Pembiayaan Bulanan</h3>
</div>
<div class="flex items-center justify-end flex-1 text-green-500 text-base font-bold">
{{-- <div class="flex items-center justify-end flex-1 text-green-500 text-base font-bold">
12.5%
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" d="M5.293 7.707a1 1 0 010-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L11 5.414V17a1 1 0 11-2 0V5.414L6.707 7.707a1 1 0 01-1.414 0z" clip-rule="evenodd"></path>
</svg>
</div>
</div> --}}
</div>
<div class="mx-auto mt-10"><chart></chart></div>
<div class="mx-auto mt-10"><pemb-chart kodcaw={{ Auth::user()->cawangan }}></pemb-chart></div>
</div>
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 2xl:col-span-1">
<div class="flex items-center justify-between mb-4">
@@ -76,14 +76,14 @@
{{-- <span class="text-2xl sm:text-3xl leading-none font-bold text-gray-900">$45,385</span> --}}
<h3 class="text-base font-normal text-gray-500">Penyelesaian Bulanan</h3>
</div>
<div class="flex items-center justify-end flex-1 text-green-500 text-base font-bold">
{{-- <div class="flex items-center justify-end flex-1 text-green-500 text-base font-bold">
12.5%
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" d="M5.293 7.707a1 1 0 010-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L11 5.414V17a1 1 0 11-2 0V5.414L6.707 7.707a1 1 0 01-1.414 0z" clip-rule="evenodd"></path>
</svg>
</div>
</div> --}}
</div>
<div class="mx-auto mt-10"><chart></chart></div>
<div class="mx-auto mt-10"><peny-chart :peny='{!! json_encode($arrayPenyelesaian) !!}' kodcaw={{ Auth::user()->cawangan }}></peny-chart></div>
</div>
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 2xl:col-span-1">
@@ -92,221 +92,17 @@
{{-- <span class="text-2xl sm:text-3xl leading-none font-bold text-gray-900">$45,385</span> --}}
<h3 class="text-base font-normal text-gray-500">Keuntungan Bulanan</h3>
</div>
<div class="flex items-center justify-end flex-1 text-green-500 text-base font-bold">
{{-- <div class="flex items-center justify-end flex-1 text-green-500 text-base font-bold">
12.5%
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" d="M5.293 7.707a1 1 0 010-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L11 5.414V17a1 1 0 11-2 0V5.414L6.707 7.707a1 1 0 01-1.414 0z" clip-rule="evenodd"></path>
</svg>
</div>
</div> --}}
</div>
<div class="mx-auto mt-10"><chart></chart></div>
<div class="mx-auto mt-10"><keun-chart :keun='{!! json_encode($arrayKeuntungan) !!}' kodcaw={{ Auth::user()->cawangan }}></keun-chart></div>
</div>
</div>
<div class="grid grid-cols-1 2xl:grid-cols-2 xl:gap-4 my-4">
<div class="bg-white shadow rounded-lg mb-4 p-4 sm:p-6 h-full">
<div class="flex items-center justify-between mb-4">
<h3 class="text-xl font-bold leading-none text-gray-900">Latest Customers</h3>
<a href="#" class="text-sm font-medium text-cyan-600 hover:bg-gray-100 rounded-lg inline-flex items-center p-2">
View all
</a>
</div>
<div class="flow-root">
<ul role="list" class="divide-y divide-gray-200">
<li class="py-3 sm:py-4">
<div class="flex items-center space-x-4">
<div class="flex-shrink-0">
<img class="h-8 w-8 rounded-full" src="https://demo.themesberg.com/windster/images/users/neil-sims.png" alt="Neil image">
</div>
<div class="flex-1 min-w-0">
<p class="text-sm font-medium text-gray-900 truncate">
Neil Sims
</p>
<p class="text-sm text-gray-500 truncate">
<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="17727a767e7b57607e7973646372653974787a">[email&#160;protected]</a>
</p>
</div>
<div class="inline-flex items-center text-base font-semibold text-gray-900">
$320
</div>
</div>
</li>
<li class="py-3 sm:py-4">
<div class="flex items-center space-x-4">
<div class="flex-shrink-0">
<img class="h-8 w-8 rounded-full" src="https://demo.themesberg.com/windster/images/users/bonnie-green.png" alt="Neil image">
</div>
<div class="flex-1 min-w-0">
<p class="text-sm font-medium text-gray-900 truncate">
Bonnie Green
</p>
<p class="text-sm text-gray-500 truncate">
<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d4b1b9b5bdb894a3bdbab0a7a0b1a6fab7bbb9">[email&#160;protected]</a>
</p>
</div>
<div class="inline-flex items-center text-base font-semibold text-gray-900">
$3467
</div>
</div>
</li>
<li class="py-3 sm:py-4">
<div class="flex items-center space-x-4">
<div class="flex-shrink-0">
<img class="h-8 w-8 rounded-full" src="https://demo.themesberg.com/windster/images/users/michael-gough.png" alt="Neil image">
</div>
<div class="flex-1 min-w-0">
<p class="text-sm font-medium text-gray-900 truncate">
Michael Gough
</p>
<p class="text-sm text-gray-500 truncate">
<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="57323a363e3b17203e3933242332257934383a">[email&#160;protected]</a>
</p>
</div>
<div class="inline-flex items-center text-base font-semibold text-gray-900">
$67
</div>
</div>
</li>
<li class="py-3 sm:py-4">
<div class="flex items-center space-x-4">
<div class="flex-shrink-0">
<img class="h-8 w-8 rounded-full" src="https://demo.themesberg.com/windster/images/users/thomas-lean.png" alt="Neil image">
</div>
<div class="flex-1 min-w-0">
<p class="text-sm font-medium text-gray-900 truncate">
Thomes Lean
</p>
<p class="text-sm text-gray-500 truncate">
<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="284d45494144685f41464c5b5c4d5a064b4745">[email&#160;protected]</a>
</p>
</div>
<div class="inline-flex items-center text-base font-semibold text-gray-900">
$2367
</div>
</div>
</li>
<li class="pt-3 sm:pt-4 pb-0">
<div class="flex items-center space-x-4">
<div class="flex-shrink-0">
<img class="h-8 w-8 rounded-full" src="https://demo.themesberg.com/windster/images/users/lana-byrd.png" alt="Neil image">
</div>
<div class="flex-1 min-w-0">
<p class="text-sm font-medium text-gray-900 truncate">
Lana Byrd
</p>
<p class="text-sm text-gray-500 truncate">
<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a2c7cfc3cbcee2d5cbccc6d1d6c7d08cc1cdcf">[email&#160;protected]</a>
</p>
</div>
<div class="inline-flex items-center text-base font-semibold text-gray-900">
$367
</div>
</div>
</li>
</ul>
</div>
</div>
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8 ">
<h3 class="text-xl leading-none font-bold text-gray-900 mb-10">Acquisition Overview</h3>
<div class="block w-full overflow-x-auto">
<table class="items-center w-full bg-transparent border-collapse">
<thead>
<tr>
<th class="px-4 bg-gray-50 text-gray-700 align-middle py-3 text-xs font-semibold text-left uppercase border-l-0 border-r-0 whitespace-nowrap">Top Channels</th>
<th class="px-4 bg-gray-50 text-gray-700 align-middle py-3 text-xs font-semibold text-left uppercase border-l-0 border-r-0 whitespace-nowrap">Users</th>
<th class="px-4 bg-gray-50 text-gray-700 align-middle py-3 text-xs font-semibold text-left uppercase border-l-0 border-r-0 whitespace-nowrap min-w-140-px"></th>
</tr>
</thead>
<tbody class="divide-y divide-gray-100">
<tr class="text-gray-500">
<th class="border-t-0 px-4 align-middle text-sm font-normal whitespace-nowrap p-4 text-left">Organic Search</th>
<td class="border-t-0 px-4 align-middle text-xs font-medium text-gray-900 whitespace-nowrap p-4">5,649</td>
<td class="border-t-0 px-4 align-middle text-xs whitespace-nowrap p-4">
<div class="flex items-center">
<span class="mr-2 text-xs font-medium">30%</span>
<div class="relative w-full">
<div class="w-full bg-gray-200 rounded-sm h-2">
<div class="bg-cyan-600 h-2 rounded-sm" style="width: 30%"></div>
</div>
</div>
</div>
</td>
</tr>
<tr class="text-gray-500">
<th class="border-t-0 px-4 align-middle text-sm font-normal whitespace-nowrap p-4 text-left">Referral</th>
<td class="border-t-0 px-4 align-middle text-xs font-medium text-gray-900 whitespace-nowrap p-4">4,025</td>
<td class="border-t-0 px-4 align-middle text-xs whitespace-nowrap p-4">
<div class="flex items-center">
<span class="mr-2 text-xs font-medium">24%</span>
<div class="relative w-full">
<div class="w-full bg-gray-200 rounded-sm h-2">
<div class="bg-orange-300 h-2 rounded-sm" style="width: 24%"></div>
</div>
</div>
</div>
</td>
</tr>
<tr class="text-gray-500">
<th class="border-t-0 px-4 align-middle text-sm font-normal whitespace-nowrap p-4 text-left">Direct</th>
<td class="border-t-0 px-4 align-middle text-xs font-medium text-gray-900 whitespace-nowrap p-4">3,105</td>
<td class="border-t-0 px-4 align-middle text-xs whitespace-nowrap p-4">
<div class="flex items-center">
<span class="mr-2 text-xs font-medium">18%</span>
<div class="relative w-full">
<div class="w-full bg-gray-200 rounded-sm h-2">
<div class="bg-teal-400 h-2 rounded-sm" style="width: 18%"></div>
</div>
</div>
</div>
</td>
</tr>
<tr class="text-gray-500">
<th class="border-t-0 px-4 align-middle text-sm font-normal whitespace-nowrap p-4 text-left">Social</th>
<td class="border-t-0 px-4 align-middle text-xs font-medium text-gray-900 whitespace-nowrap p-4">1251</td>
<td class="border-t-0 px-4 align-middle text-xs whitespace-nowrap p-4">
<div class="flex items-center">
<span class="mr-2 text-xs font-medium">12%</span>
<div class="relative w-full">
<div class="w-full bg-gray-200 rounded-sm h-2">
<div class="bg-pink-600 h-2 rounded-sm" style="width: 12%"></div>
</div>
</div>
</div>
</td>
</tr>
<tr class="text-gray-500">
<th class="border-t-0 px-4 align-middle text-sm font-normal whitespace-nowrap p-4 text-left">Other</th>
<td class="border-t-0 px-4 align-middle text-xs font-medium text-gray-900 whitespace-nowrap p-4">734</td>
<td class="border-t-0 px-4 align-middle text-xs whitespace-nowrap p-4">
<div class="flex items-center">
<span class="mr-2 text-xs font-medium">9%</span>
<div class="relative w-full">
<div class="w-full bg-gray-200 rounded-sm h-2">
<div class="bg-indigo-600 h-2 rounded-sm" style="width: 9%"></div>
</div>
</div>
</div>
</td>
</tr>
<tr class="text-gray-500">
<th class="border-t-0 align-middle text-sm font-normal whitespace-nowrap p-4 pb-0 text-left">Email</th>
<td class="border-t-0 align-middle text-xs font-medium text-gray-900 whitespace-nowrap p-4 pb-0">456</td>
<td class="border-t-0 align-middle text-xs whitespace-nowrap p-4 pb-0">
<div class="flex items-center">
<span class="mr-2 text-xs font-medium">7%</span>
<div class="relative w-full">
<div class="w-full bg-gray-200 rounded-sm h-2">
<div class="bg-purple-500 h-2 rounded-sm" style="width: 7%"></div>
</div>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</main>
<footer class="bg-white md:flex md:items-center md:justify-between shadow rounded-lg p-4 md:p-6 xl:p-8 my-6 mx-4">
+2 -2
View File
@@ -237,9 +237,9 @@
</div>
@endif
@else
<a class="text-gray-900 font-bold mr-4 md:invisible xl:visible">
{{-- <a class="text-gray-900 font-bold mr-4 md:invisible xl:visible">
{{ Auth::user()->name }}
</a>
</a> --}}
<div class="hidden lg:flex items-center">
<button onclick="event.preventDefault();
+1
View File
@@ -20,5 +20,6 @@ Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
Route::group(['prefix' => 'check'], function () {
Route::get('/periksaalirantunai', 'App\Http\Controllers\AliranTunaiController@periksaAliranTunai');
Route::get('/periksapetibesi', 'App\Http\Controllers\PetiBesiController@periksaPetiBesi');
Route::get('/kemaskinialirantunai', 'App\Http\Controllers\AliranTunaiController@kemaskiniAliranTunai');
});