fix overall
This commit is contained in:
@@ -22,7 +22,7 @@ class AliranTunaiController extends Controller
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
$alirantunai = Http::get(config('api.url') . '/admin/GetTunaiByTarikh/' . $request->kodcaw,['kodlaluan' => $request->teller, 'tarikh' => $request->tarikh])->json(); //
|
||||
$alirantunai = Http::get($request->hostname . '/admin/GetTunaiByTarikh/' . $request->kodcaw,['kodlaluan' => $request->teller, 'tarikh' => $request->tarikh])->json(); //
|
||||
// dd($alirantunai);
|
||||
$keluar = $alirantunai['keluar'];
|
||||
$baki = $alirantunai['baki'];
|
||||
@@ -31,13 +31,13 @@ class AliranTunaiController extends Controller
|
||||
$pendahuluan = $alirantunai['tambah'];
|
||||
$serahan = $alirantunai['kurang'];
|
||||
|
||||
$addtunai = Http::get(config('api.url') . '/admin/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'). '/admin/TuntutBakiTarikhTeller/'. $request->kodcaw,['teller' => $request->teller, 'tarikh' => $request->tarikh])->json();//
|
||||
$advansur = Http::get(config('api.url').'/admin/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();//
|
||||
$addtunai = Http::get($request->hostname . '/admin/getAddTunaiDateKodlaluan/' . $request->kodcaw,['kodlaluan' => $request->teller, 'tarikh' => $request->tarikh])->json();//
|
||||
$gadai = Http::get($request->hostname. '/api/gadai/laporan/'. $request->kodcaw .'/'. $request->tarikh)->json();
|
||||
$tebus = Http::get($request->hostname. '/api/tebus/laporan/'. $request->kodcaw .'/'. $request->tarikh)->json();
|
||||
$ansuran = Http::get($request->hostname. '/api/ansuran/laporan/'. $request->kodcaw,['tarikh' => $request->tarikh])->json();
|
||||
$tuntutbaki = Http::get($request->hostname. '/admin/TuntutBakiTarikhTeller/'. $request->kodcaw,['teller' => $request->teller, 'tarikh' => $request->tarikh])->json();//
|
||||
$advansur = Http::get($request->hostname.'/admin/AdvansurSearchByTarikh/'.$request->kodcaw,['kodlaluan' => $request->teller, 'tarikh' => $request->tarikh ])->json();//
|
||||
$lelong = Http::get($request->hostname.'/api/lelong/tarikh/'.$request->kodcaw,['tarikh' => $request->tarikh])->json();//
|
||||
$lelongan = 0;
|
||||
if(strtoupper($request->teller) === 'LELONG')
|
||||
{
|
||||
@@ -170,7 +170,7 @@ class AliranTunaiController extends Controller
|
||||
{
|
||||
$auth_user = Auth::user();
|
||||
|
||||
$alirantunai = Http::get(config('api.url') . '/api/GetTunaiByTarikh/' . $request->kodcaw,['kodlaluan' => $request->teller, 'tarikh' => $request->tarikh])->json();
|
||||
$alirantunai = Http::get($request->hostname . '/api/GetTunaiByTarikh/' . $request->kodcaw,['kodlaluan' => $request->teller, 'tarikh' => $request->tarikh])->json();
|
||||
|
||||
$keluar = $alirantunai['keluar'];
|
||||
$baki = $alirantunai['baki'];
|
||||
@@ -179,7 +179,7 @@ class AliranTunaiController extends Controller
|
||||
$pendahuluan = $alirantunai['tambah'];
|
||||
$serahan = $alirantunai['kurang'];
|
||||
|
||||
$updateTunai = Http::put( config('api.url').'/api/updateTunaiGTByTarikh/'.$request->kodcaw, [
|
||||
$updateTunai = Http::put( $request->hostname.'/api/updateTunaiGTByTarikh/'.$request->kodcaw, [
|
||||
'kodlaluan' => $request->teller,
|
||||
'tarikh' => $request->tarikh,
|
||||
'keluar'=> $request->gadaian,
|
||||
|
||||
@@ -22,7 +22,6 @@ class BajetController extends Controller
|
||||
|
||||
public function checkTambah(Request $request){
|
||||
|
||||
dd($request->all());
|
||||
$validated = $request->validate([
|
||||
'year' => 'required',
|
||||
'jenisbajet' => 'required',
|
||||
|
||||
@@ -20,8 +20,8 @@ class PetiBesiController extends Controller
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
$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();
|
||||
$petibesi = Http::get($request->hostname.'/api/laporanpetibesi/' . $request->kodcaw . '/' . $request->tarikh)->json();
|
||||
$petibesisebelum = Http::get($request->hostname.'/admin/PetibesiSebelumTarikh/' . $request->kodcaw,['tarikh' => $request->tarikh])->json();
|
||||
|
||||
$sebelumbakiakhir = $petibesisebelum[0]['bakiakhir'];
|
||||
|
||||
@@ -33,9 +33,9 @@ class PetiBesiController extends Controller
|
||||
$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();
|
||||
$addtunai = Http::get($request->hostname . '/api/getAddTunaiDate/' . $request->kodcaw,['tarikh' => $request->tarikh])->json();
|
||||
$gldetail = Http::get($request->hostname. '/admin/GlDetailTarikh/' . $request->kodcaw,['tarikh' => $request->tarikh])->json();
|
||||
$panjar = Http::get($request->hostname. '/admin/PanjarTarikh/' . $request->kodcaw,['tarikh' => $request->tarikh])->json();
|
||||
|
||||
$pendahuluankepadateller = 0;
|
||||
$serahandaripadateller = 0;
|
||||
@@ -114,7 +114,7 @@ class PetiBesiController extends Controller
|
||||
{
|
||||
$auth_user = Auth::user();
|
||||
|
||||
$updatePB = Http::put( config('api.url').'/admin/UpdatePetiBesi/', [
|
||||
$updatePB = Http::put( $request->hostname.'/admin/UpdatePetiBesi/', [
|
||||
|
||||
'tarikh' => $request->tarikh,
|
||||
'kodcaw' => $request->kodcaw,
|
||||
|
||||
Generated
+53
-10568
File diff suppressed because it is too large
Load Diff
@@ -23,6 +23,7 @@
|
||||
"sass-loader": "^11.0.1",
|
||||
"tailwindcss": "^2.2.19",
|
||||
"vue": "^2.6.12",
|
||||
"vue-friendly-iframe": "^0.20.0",
|
||||
"vue-loader": "^15.9.8",
|
||||
"vue-template-compiler": "^2.6.12"
|
||||
},
|
||||
|
||||
Vendored
+1438
-2005
File diff suppressed because one or more lines are too long
@@ -11,7 +11,7 @@
|
||||
|
||||
<span class="text-center mx-auto text-white font-bold">Laporan Imbang Duga</span>
|
||||
</div>
|
||||
<form method="get" name="formimbangduga" ref="formimbangduga" :action="Urlredirect()" target="iframe_laporan">
|
||||
<form method="get" id="myIframe" name="formimbangduga" ref="formimbangduga" :action="Urlredirect()" target="iframe_laporan">
|
||||
<div class="rounded bg-white shadow p-6">
|
||||
<div class="pb-6">
|
||||
<label for="username" class="font-semibold text-gray-700 block pb-1">Tarikh</label>
|
||||
@@ -26,9 +26,16 @@
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- <vue-friendly-iframe v-show="showLoader == false" :style="{visibility: showLoader ? 'hidden' : 'visible'}" class="mx-auto"
|
||||
:src="''"
|
||||
frame-id="myIframe"
|
||||
@load="onLoad"
|
||||
@iframe-load="LoadedReady"
|
||||
name="iframe_laporan"
|
||||
ref="friendlyIframe"></vue-friendly-iframe> -->
|
||||
|
||||
<!-- <iframe class="overflow-x-hidden overflow-y-auto fixed inset-0 z-50 outline-none focus:outline-none justify-center items-center flex bg-white" name="iframe_laporan" width="500" height="500"></iframe> -->
|
||||
<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">
|
||||
@@ -38,22 +45,23 @@
|
||||
<!--header-->
|
||||
<div class="relative p-6" style="height: 80vh;">
|
||||
|
||||
<div id="loading" v-show="showLoader" class="flex justify-center mt-10" :style="{visibility: showLoader ? 'visible' : 'hidden'}" >
|
||||
<!-- <div id="loading" v-show="showLoader" class="flex justify-center mt-10" :style="{visibility: showLoader ? 'visible' : 'hidden'}" >
|
||||
<img id="loading-image" src="/img/loader.gif" alt="Loading..." />
|
||||
</div> -->
|
||||
|
||||
<div v-if="showLoader" class="inset-0 z-30 h-full w-full" id="loading">
|
||||
<i class="animate-spin fas fa-circle-notch fixed fa-4x m-auto text-yellow-500" style="left:48% !important;top:45% !important;"></i>
|
||||
</div>
|
||||
|
||||
<!-- <vue-iframe :style="{visibility: showLoader ? 'hidden' : 'visible'}"
|
||||
:src="urlHostname()"
|
||||
frame-id="my-ifram"
|
||||
<vue-friendly-iframe v-show="showLoader == false" :style="{visibility: showLoader ? 'hidden' : 'visible'}" class="h-full w-full"
|
||||
:src="''"
|
||||
frame-id="myIframe"
|
||||
@load="onLoad"
|
||||
@iframe-load="LoadedReady"
|
||||
name="iframe_laporan"
|
||||
width="500px"
|
||||
height="300px"
|
||||
scrolling="true"
|
||||
/> -->
|
||||
ref="friendlyIframe"></vue-friendly-iframe>
|
||||
|
||||
<iframe :style="{visibility: showLoader ? 'hidden' : 'visible'}" name="iframe_laporan" scrolling="true" :load="onLoad()"></iframe>
|
||||
<!-- <iframe :style="{visibility: showLoader ? 'hidden' : 'visible'}" name="iframe_laporan" scrolling="true" :load="onLoad()"></iframe> -->
|
||||
</div>
|
||||
<!--footer-->
|
||||
<div class="flex items-center justify-end p-6 border-t border-solid border-blueGray-200 rounded-b">
|
||||
@@ -66,10 +74,19 @@
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div v-if="showModal" class="opacity-25 fixed inset-0 z-40 bg-black"></div>
|
||||
|
||||
<div v-if="showCetak" class="inset-0 z-30 h-full w-full" id="loading">
|
||||
<i class="animate-spin fas fa-circle-notch fixed fa-4x m-auto text-yellow-500" style="left:50% !important;top:50% !important;"></i>
|
||||
</div>
|
||||
<div v-if="showModal || showCetak" class="opacity-25 fixed inset-0 z-40 bg-black"></div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style>
|
||||
.vue-friendly-iframe iframe {
|
||||
height:100% !important;
|
||||
width:100% !important;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
|
||||
export default {
|
||||
@@ -82,11 +99,14 @@ export default {
|
||||
myIframe: null,
|
||||
iframesrc:'',
|
||||
pendingStatus:'none',
|
||||
showLoader: true
|
||||
showLoader: true,
|
||||
showCetak: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async generatepdf(){
|
||||
this.showCetak = true;
|
||||
this.showModal = false;
|
||||
await this.setJenis('pdf');
|
||||
|
||||
// Vue.swal({
|
||||
@@ -97,8 +117,11 @@ export default {
|
||||
// showConfirmButton: false
|
||||
|
||||
// });
|
||||
this.$refs.formimbangduga.submit()
|
||||
|
||||
await this.$refs.formimbangduga.submit()
|
||||
await setTimeout(() => {
|
||||
this.showCetak = false
|
||||
}, 8000);
|
||||
},
|
||||
async generateview(){
|
||||
await this.setJenis('view');
|
||||
@@ -122,11 +145,8 @@ export default {
|
||||
},
|
||||
async onLoad() {
|
||||
await this.$refs.formimbangduga.submit()
|
||||
console.log('loaded')// this.myIframe = frame.contentWindow
|
||||
|
||||
},
|
||||
async LoadedReady(){
|
||||
console.log('loadedready')
|
||||
await setTimeout(() => {
|
||||
this.showLoader = false
|
||||
this.pendingStatus = 'ok'
|
||||
|
||||
@@ -38,17 +38,21 @@
|
||||
<!--header-->
|
||||
<div class="relative p-6" style="height: 80vh;">
|
||||
|
||||
<vue-iframe
|
||||
:src="Urlredirect()"
|
||||
allow="camera *; geolocation *; microphone *; autoplay *"
|
||||
<div v-if="showLoader" class="inset-0 z-30 h-full w-full" id="loading">
|
||||
<i class="animate-spin fas fa-circle-notch fixed fa-4x m-auto text-yellow-500" style="left:48% !important;top:45% !important;"></i>
|
||||
</div>
|
||||
|
||||
<vue-friendly-iframe v-show="showLoader == false" :style="{visibility: showLoader ? 'hidden' : 'visible'}" class="h-full w-full"
|
||||
:src="''"
|
||||
frame-id="iframe_lejer"
|
||||
@load="onLoad"
|
||||
name="iframe_lejer"
|
||||
width="500px"
|
||||
height="300px"
|
||||
scrolling="true"
|
||||
@iframe-load="LoadedReady"
|
||||
/>
|
||||
|
||||
<!-- <iframe :style="{visibility: showLoader ? 'hidden' : 'visible'}" name="iframe_lejer" loading="lazy" width="100%"
|
||||
height="100%" scrolling="true" :load="onLoad()"></iframe> -->
|
||||
|
||||
</div>
|
||||
<!--footer-->
|
||||
<div class="flex items-center justify-end p-6 border-t border-solid border-blueGray-200 rounded-b">
|
||||
@@ -61,7 +65,10 @@
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div v-if="showModal" class="opacity-25 fixed inset-0 z-40 bg-black"></div>
|
||||
<div v-if="showCetak" class="inset-0 z-30 h-full w-full" id="loading">
|
||||
<i class="animate-spin fas fa-circle-notch fixed fa-4x m-auto text-yellow-500" style="left:50% !important;top:50% !important;"></i>
|
||||
</div>
|
||||
<div v-if="showModal || showCetak" class="opacity-25 fixed inset-0 z-40 bg-black"></div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -73,27 +80,18 @@ export default {
|
||||
kodcaw:'',
|
||||
showModal:false,
|
||||
myIframe: null,
|
||||
iframesrc:''
|
||||
iframesrc:'',
|
||||
pendingStatus:'none',
|
||||
showLoader: true,
|
||||
showCetak:false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async generatepdf(){
|
||||
await this.setJenis('pdf');
|
||||
|
||||
Vue.swal({
|
||||
title: 'Memuatkan...',
|
||||
allowEscapeKey : false,
|
||||
allowOutsideClick: false,
|
||||
showCancelButton: false,
|
||||
showConfirmButton: false,
|
||||
timer: 8000,
|
||||
|
||||
});
|
||||
document.getElementById("formlejeram").submit();
|
||||
},
|
||||
async generateview(){
|
||||
await this.setJenis('view');
|
||||
|
||||
this.showCetak = true;
|
||||
this.showModal = false;
|
||||
this.showLoader = true;
|
||||
// Vue.swal({
|
||||
// title: 'Memuatkan...',
|
||||
// allowEscapeKey : false,
|
||||
@@ -103,16 +101,30 @@ export default {
|
||||
// timer: 8000,
|
||||
|
||||
// });
|
||||
// document.getElementById("formlejeram").submit();
|
||||
await this.$refs.formlejeram.submit()
|
||||
await setTimeout(() => {
|
||||
this.showCetak = false
|
||||
}, 8000);
|
||||
|
||||
},
|
||||
async generateview(){
|
||||
await this.setJenis('view');
|
||||
|
||||
this.showModal = true;
|
||||
},
|
||||
toggleModal: function(){
|
||||
this.showLoader = true
|
||||
this.showModal = !this.showModal;
|
||||
},
|
||||
async onLoad(frame) {
|
||||
async onLoad() {
|
||||
await this.$refs.formlejeram.submit()
|
||||
this.myIframe = frame.contentWindow
|
||||
console.log('loaded')
|
||||
|
||||
},
|
||||
async LoadedReady(){
|
||||
await setTimeout(() => {
|
||||
this.showLoader = false
|
||||
this.pendingStatus = 'ok'
|
||||
}, 10000);
|
||||
},
|
||||
Urlredirect: function() {
|
||||
return window.route('cetak.lejeram')
|
||||
|
||||
Vendored
+6
-5
@@ -19,7 +19,8 @@ import router from './routes'
|
||||
import Vuelidate from 'vuelidate'
|
||||
import datetime from 'vuejs-datetimepicker';
|
||||
import VueContentPlaceholders from 'vue-content-placeholders'
|
||||
import VueIframe from 'vue-iframes'
|
||||
// import VueIframe from 'vue-iframes'
|
||||
import VueFriendlyIframe from 'vue-friendly-iframe';
|
||||
import VueSweetalert2 from 'vue-sweetalert2';
|
||||
import 'sweetalert2/dist/sweetalert2.min.css';
|
||||
|
||||
@@ -56,7 +57,7 @@ Vue.use(Toast, options)
|
||||
Vue.use(datetime)
|
||||
Vue.use(VueContentPlaceholders)
|
||||
Vue.use(VueSweetalert2);
|
||||
Vue.use(VueIframe)
|
||||
Vue.use(VueFriendlyIframe)
|
||||
|
||||
|
||||
Alpine.start()
|
||||
@@ -69,15 +70,15 @@ Vue.use(require('vue-pusher'), {
|
||||
}
|
||||
});
|
||||
|
||||
Vue.prototype.$api1 = 'http://api.arrahn'
|
||||
Vue.prototype.$api1 = 'http://localhost:8000'
|
||||
|
||||
let initial = 'KB2';
|
||||
let initialhostname = 'http://api.arrahn';
|
||||
let initialhostname = 'http://localhost:8000';
|
||||
|
||||
const store = new Vuex.Store({
|
||||
state: {
|
||||
$kodcaw: 'KB2',
|
||||
$hostname: 'http://api.arrahn'
|
||||
$hostname: 'http://localhost:8000'
|
||||
},
|
||||
plugins: [createPersistedState()],
|
||||
mutations: {
|
||||
|
||||
@@ -2,20 +2,20 @@
|
||||
<div>
|
||||
<ol class="list-reset flex text-grey-dark mb-4 rounded">
|
||||
<li class="bg-gray-500 py-2 px-4 rounded text-white">
|
||||
<a href="#"><i class="far fa-folder mr-2"></i>Home</a>
|
||||
<a :href="redirectHome()"><i class="far fa-folder mr-2"></i>Home</a>
|
||||
</li>
|
||||
<li class="mt-2"><span class="mx-2"><i class="fas fa-angle-double-right"></i></span></li>
|
||||
<template v-for="(item,i) in items">
|
||||
<template v-if="(items.length-1) == i">
|
||||
<li class="bg-yellow-600 py-2 px-4 rounded text-white" :key="'last' + i">
|
||||
<a href="">
|
||||
<a href="#">
|
||||
<i class="mr-2" :class="item.icon"></i>
|
||||
{{ item.title }}</a>
|
||||
</li>
|
||||
</template>
|
||||
<template v-else>
|
||||
<li class="bg-gray-500 py-2 px-4 rounded text-white" :key="i">
|
||||
<a href="#"><i class="mr-2" :class="item.icon"></i> {{ item.title }}</a>
|
||||
<a :href="redirectUrl(item.url)"><i class="mr-2" :class="item.icon"></i> {{ item.title }}</a>
|
||||
</li>
|
||||
<li class="mt-2" :key="'A' + i">
|
||||
<span class="mx-2"><i class="fas fa-angle-double-right"></i></span>
|
||||
@@ -23,17 +23,6 @@
|
||||
</template>
|
||||
|
||||
</template>
|
||||
<!-- <li class="bg-gray-500 py-2 px-4 rounded text-white">
|
||||
<a href="#" class=""><i class="far fa-folder mr-2"></i> Library</a>
|
||||
</li>
|
||||
<li class="mt-2"><span class="mx-2"><i class="fas fa-angle-double-right"></i></span></li>
|
||||
<li class="bg-yellow-600 py-2 px-4 rounded text-white">
|
||||
<a href="">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" class="w-4 h-4 stroke-current inline mr-1">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 13h6m-3-3v6m5 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"></path>
|
||||
</svg>
|
||||
Dashboard</a>
|
||||
</li> -->
|
||||
</ol>
|
||||
</div>
|
||||
</template>
|
||||
@@ -47,15 +36,28 @@ export default{
|
||||
default: () => [
|
||||
{
|
||||
title: "Library",
|
||||
icon:"far fa-folder"
|
||||
icon:"far fa-folder",
|
||||
url:document.location.origin
|
||||
},
|
||||
{
|
||||
title: "Dashboard",
|
||||
icon:"fas fa-columns"
|
||||
icon:"fas fa-columns",
|
||||
url:document.location.origin
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
created(){
|
||||
console.log(this.$props.items)
|
||||
},
|
||||
methods:{
|
||||
redirectHome: function(){
|
||||
return '/';
|
||||
},
|
||||
redirectUrl: function(url){
|
||||
return url;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
case 'JLI':
|
||||
case 'ARP':
|
||||
case '020303':{
|
||||
this.sethostname('http://api.arrahn')
|
||||
this.sethostname('http://localhost:8000')
|
||||
console.log(this.$hostname)
|
||||
break;
|
||||
}
|
||||
@@ -101,7 +101,7 @@
|
||||
case '011013':
|
||||
case '011412':{
|
||||
// this.$hostname = 'http://api2.arrahn'
|
||||
this.sethostname('http://api2.arrahn')
|
||||
this.sethostname('http://localhost:8000')
|
||||
console.log(this.$hostname)
|
||||
break;
|
||||
}
|
||||
@@ -113,11 +113,11 @@
|
||||
case '011234':
|
||||
case '011233':{
|
||||
// this.$hostname = 'http://api3.arrahn'
|
||||
this.sethostname('http://api3.arrahn')
|
||||
this.sethostname('http://localhost:8000')
|
||||
console.log(this.$hostname)
|
||||
break;
|
||||
}
|
||||
default: this.sethostname('http://api.arrahn')
|
||||
default: this.sethostname('http://localhost:8000')
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -120,9 +120,7 @@
|
||||
<div class="flex items-center">
|
||||
<div class="ml-3">
|
||||
<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">
|
||||
|
||||
<i width="16" height="16" class="animate-spin fas fa-spinner" v-if="submitStatus === 'PENDING'" id="tekan-action"></i>
|
||||
<svg v-else xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-card-checklist" viewBox="0 0 16 16">
|
||||
<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>
|
||||
@@ -137,6 +135,11 @@
|
||||
<pagination :data="paginate" @clickEvent_="getPetibesi"></pagination>
|
||||
|
||||
</article>
|
||||
|
||||
<div v-if="showLoader" class="fixed inset-0 z-30 h-full w-full" id="loading">
|
||||
<i class="animate-spin fas fa-circle-notch fixed fa-4x m-auto text-yellow-500" style="left:50% !important;top:50% !important;"></i>
|
||||
</div>
|
||||
<div v-if="showLoader" class="opacity-25 fixed inset-0 z-30 bg-black"></div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -173,7 +176,7 @@ export default {
|
||||
showpetibesi:[],
|
||||
paginate:{},
|
||||
activePage: 1,
|
||||
submitStatus:''
|
||||
showLoader:false
|
||||
};
|
||||
},
|
||||
created() {
|
||||
@@ -217,9 +220,10 @@ export default {
|
||||
});
|
||||
},
|
||||
action(tarikh,kodcaw){
|
||||
this.submitStatus = 'PENDING';
|
||||
this.showLoader = true;
|
||||
axios.get('/api/check/periksapetibesi', {
|
||||
params: {
|
||||
hostname:this.$hostname,
|
||||
tarikh: tarikh,
|
||||
kodcaw: kodcaw
|
||||
|
||||
@@ -228,11 +232,11 @@ export default {
|
||||
|
||||
if(response.data === 'sama')
|
||||
{
|
||||
this.showLoader = false;
|
||||
this.$toast("Nilai Tunai sama dengan nilat tunai")
|
||||
this.submitStatus = 'okay';
|
||||
}else{
|
||||
this.aliranpetibesi = response.data;
|
||||
|
||||
this.showLoader = false;
|
||||
this.$refs.modal.showModal = true;
|
||||
this.$refs.modal.tarikh = tarikh;
|
||||
this.$refs.modal.kodcaw = kodcaw;
|
||||
@@ -243,8 +247,6 @@ export default {
|
||||
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);
|
||||
|
||||
this.submitStatus = 'okay';
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -156,6 +156,11 @@
|
||||
|
||||
</article>
|
||||
</transition>
|
||||
<div v-if="showLoader" class="fixed inset-0 z-30 h-full w-full" id="loading">
|
||||
<i class="animate-spin fas fa-circle-notch fixed fa-4x m-auto text-yellow-500" style="left:50% !important;top:50% !important;"></i>
|
||||
</div>
|
||||
<div v-if="showLoader" class="opacity-25 fixed inset-0 z-30 bg-black"></div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -187,7 +192,7 @@ export default {
|
||||
currentPage: 1,
|
||||
lastPage: 5,
|
||||
activePage: 1,
|
||||
// kodcaw:'',
|
||||
showLoader:false,
|
||||
items:[],
|
||||
kodlaluan:''
|
||||
};
|
||||
@@ -222,8 +227,10 @@ export default {
|
||||
},
|
||||
|
||||
action(tarikhteller,kodcawteller,tel){
|
||||
this.showLoader = true;
|
||||
axios.get('/api/check/periksaalirantunai', {
|
||||
params: {
|
||||
hostname:this.$hostname,
|
||||
tarikh: tarikhteller,
|
||||
kodcaw: kodcawteller,
|
||||
teller: tel
|
||||
@@ -233,11 +240,12 @@ export default {
|
||||
|
||||
if(response.data === 'sama')
|
||||
{
|
||||
this.showLoader = false;
|
||||
this.$toast("Nilai Tunai sama dengan nilat tunai");
|
||||
|
||||
}else{
|
||||
this.alirantunai = response.data;
|
||||
console.log(tarikhteller)
|
||||
this.showLoader = false;
|
||||
this.$refs.modal.showModal = true;
|
||||
this.$refs.modal.serahan = formatter.format(this.alirantunai.serahan);
|
||||
this.$refs.modal.bakiawal = formatter.format(this.alirantunai.bakiawal);
|
||||
|
||||
@@ -116,6 +116,8 @@ export default {
|
||||
methods: {
|
||||
toggleModal: function(){
|
||||
this.showModal = !this.showModal;
|
||||
this.arrayCustomer = [];
|
||||
this.specCust = [];
|
||||
},
|
||||
async toggleDropdown() {
|
||||
|
||||
@@ -143,7 +145,7 @@ export default {
|
||||
{
|
||||
if(this.hasNumber(inputvalue))
|
||||
{
|
||||
this.axios.get(this.$hostname + '/admin/searchByIC', {
|
||||
this.axios.get(this.$api1 + '/admin/searchByIC', {
|
||||
params: {
|
||||
ic: inputvalue,
|
||||
kodcaw: this.$kodcaw
|
||||
@@ -158,7 +160,7 @@ export default {
|
||||
|
||||
|
||||
}else{
|
||||
this.axios.get(this.$hostname + '/admin/searchByName', {
|
||||
this.axios.get(this.$api1 + '/admin/searchByName', {
|
||||
params: {
|
||||
nama: inputvalue,
|
||||
kodcaw: this.$kodcaw
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<template>
|
||||
<div>
|
||||
|
||||
<transition name="modal-fade">
|
||||
<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-->
|
||||
@@ -135,6 +136,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</transition>
|
||||
<transition
|
||||
enter-active-class="transition-all transform duration-200 ease-out"
|
||||
>
|
||||
@@ -172,6 +174,7 @@ export default {
|
||||
// console.log(this.kodcaw + this.kodlaluan + this.tarikh)
|
||||
axios.put('/api/check/kemaskinialirantunai',
|
||||
{
|
||||
hostname:this.$hostname,
|
||||
kodcaw: this.kodcaw,
|
||||
teller: this.kodlaluan,
|
||||
tarikh: this.tarikh,
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<transition name="modal-fade">
|
||||
<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-auto my-6 mx-auto max-w-6xl">
|
||||
<!--content-->
|
||||
@@ -22,13 +23,11 @@
|
||||
Status
|
||||
</label>
|
||||
<div class="relative">
|
||||
<!-- <select v-model="referencestatus" class="block appearance-none w-full bg-gray-200 border border-gray-200 text-gray-700 py-3 px-4 pr-8 rounded leading-tight focus:outline-none focus:bg-white focus:border-gray-500">
|
||||
<option v-for="(stat,i) in status" :key="i">{{ stat }}</option>
|
||||
</select>
|
||||
<div class="pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-gray-700">
|
||||
<svg class="fill-current h-4 w-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 5.757 6.586 4.343 8z"/></svg>
|
||||
</div> -->
|
||||
<input readonly class="appearance-none block w-full bg-gray-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:border-gray-500" v-model="referencestatus" type="text" placeholder="Paid">
|
||||
<!-- <input readonly class="appearance-none block w-full bg-gray-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:border-gray-500" v-model="referencestatus" type="text" placeholder="Paid"> -->
|
||||
<div class="flex items-center flex-shrink-0 text-sm px-2">
|
||||
<div class="px-2 py-1 rounded-l-md bg-gray-200 text-gray-600 cursor-pointer">TRANSACTION</div>
|
||||
<div class="px-2 py-1 rounded-r-md bg-green-400 text-white cursor-pointer">{{ this.referencestatus }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2 mt-3">
|
||||
@@ -50,6 +49,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</transition>
|
||||
<div v-if="showModal" class="opacity-25 fixed inset-0 z-40 bg-black"></div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -94,7 +94,7 @@ export default {
|
||||
},
|
||||
postData: function(){
|
||||
|
||||
return this.axios.post(this.$hostname + '/admin/simpanStatus',
|
||||
return this.axios.post(this.$api1 + '/admin/simpanStatus',
|
||||
{
|
||||
id: this.statusid,
|
||||
status: this.referencestatus,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
|
||||
<transition name="modal-fade">
|
||||
<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-->
|
||||
@@ -146,6 +146,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</transition>
|
||||
<div v-if="showModal" class="opacity-25 fixed inset-0 z-40 bg-black"></div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -176,7 +177,7 @@ export default {
|
||||
|
||||
axios.put('/api/check/kemaskinipetibesi',
|
||||
{
|
||||
|
||||
hostname:this.$hostname,
|
||||
tarikh: this.tarikh,
|
||||
kodcaw: this.kodcaw,
|
||||
bakiawal: this.bakiawal.replace(/[^0-9.-]+/g,""),
|
||||
@@ -189,12 +190,10 @@ export default {
|
||||
|
||||
}).then(response => {
|
||||
|
||||
console.log(response.data);
|
||||
if(response.data == 'berjaya')
|
||||
{
|
||||
this.showModal = false;
|
||||
this.$toast.success("Kemaskini Sudah Berjaya!")
|
||||
// vm.$forceUpdate();
|
||||
|
||||
setTimeout("window.location.reload()", 3000);
|
||||
}else{
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<template>
|
||||
<form class="w-full mt-10 p-6 bg-white rounded-xl shadow">
|
||||
<form class="w-1/2 mt-10 p-6 bg-white rounded-xl shadow mx-auto">
|
||||
|
||||
<div class="flex flex-wrap -mx-3 mb-6">
|
||||
<div class="w-full md:w-1/3 px-3 mb-6 md:mb-0 form-group" :class="{ 'form-group--error': $v.name.$error }">
|
||||
<div class="w-full md:w-1/2 px-3 mb-6 md:mb-0 form-group" :class="{ 'form-group--error': $v.name.$error }">
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2 form__label">
|
||||
Nama
|
||||
</label>
|
||||
@@ -11,7 +11,7 @@
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.name.minLength">Name must have at least {{$v.name.$params.minLength.min}} letters.</div>
|
||||
<!-- <tree-view :data="$v.name" :options="{rootObjectKey: '$v.name', maxDepth: 2}"></tree-view> -->
|
||||
</div>
|
||||
<div class="w-full md:w-1/3 px-3">
|
||||
<div class="w-full md:w-1/2 px-3">
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2">
|
||||
Ic No
|
||||
</label>
|
||||
@@ -21,14 +21,14 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap -mx-3 mb-6">
|
||||
<div class="w-full md:w-1/3 px-3 mb-6 md:mb-0">
|
||||
<div class="w-full md:w-1/2 px-3 mb-6 md:mb-0">
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2">
|
||||
No tel 1
|
||||
</label>
|
||||
<input :class="{ 'border border-red-500 focus:border-red-500': $v.notel1.$error }" class="appearance-none block w-full bg-gray-200 border border-gray-200 text-gray-700 rounded py-3 px-4 mb-3 leading-tight focus:outline-none focus:bg-white focus:border-gray-500" v-model.trim="$v.notel1.$model" type="text" placeholder="Jane">
|
||||
<p class="text-red-500 text-xs italic" v-if="!$v.notel1.required">Please fill out this field.</p>
|
||||
</div>
|
||||
<div class="w-full md:w-1/3 px-3">
|
||||
<div class="w-full md:w-1/2 px-3">
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2">
|
||||
No tel 2
|
||||
</label>
|
||||
@@ -36,16 +36,9 @@
|
||||
<!-- <div class="text-red-500 text-xs italic" v-if="!$v.notel2.required">Field is required</div> -->
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.notel2.minLength">Name must have at least {{$v.name.$params.minLength.min}} letters.</div>
|
||||
</div>
|
||||
<div class="w-full md:w-1/3 px-3">
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2">
|
||||
No Pelanggan
|
||||
</label>
|
||||
<input :class="{ 'border border-red-500 focus:border-red-500': $v.nopel.$error }" class="appearance-none block w-full bg-gray-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500" v-model.trim="$v.nopel.$model" type="text">
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.nopel.required">Field is required</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap -mx-3 mb-6">
|
||||
<div class="w-full md:w-1/3 px-3">
|
||||
<div class="w-full md:w-1/2 px-3">
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2">
|
||||
Alamat
|
||||
</label>
|
||||
@@ -53,7 +46,7 @@
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.alamat.required">Field is required</div>
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.alamat.minLength">Name must have at least {{$v.name.$params.minLength.min}} letters.</div>
|
||||
</div>
|
||||
<div class="w-full md:w-1/3 px-3">
|
||||
<div class="w-full md:w-1/2 px-3">
|
||||
<div class="flex flex-wrap -mx-3 mb-6">
|
||||
<div class="md:w-1/2">
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2">
|
||||
@@ -68,7 +61,7 @@
|
||||
Daerah
|
||||
</label>
|
||||
<div class="relative">
|
||||
<input readonly :class="{ 'border border-red-500 focus:border-red-500': $v.koddaerah.$error }" class="appearance-none block w-full bg-gray-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:border-gray-500" v-model.trim="$v.koddaerah.$model" type="text" placeholder="Albuquerque">
|
||||
<input readonly :class="{ 'border border-red-500 focus:border-red-500': $v.koddaerah.$error }" class="appearance-none block w-full bg-gray-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:border-gray-500" v-model.trim="$v.koddaerah.$model" type="text" placeholder="Daerah">
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.koddaerah.required">Field is required</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -76,12 +69,22 @@
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2">
|
||||
Negeri
|
||||
</label>
|
||||
<input readonly :class="{ 'border border-red-500 focus:border-red-500': $v.kodnegeri.$error }" class="appearance-none block w-full bg-gray-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:border-gray-500" v-model.trim="$v.kodnegeri.$model" type="text" placeholder="Albuquerque">
|
||||
<input readonly :class="{ 'border border-red-500 focus:border-red-500': $v.kodnegeri.$error }" class="appearance-none block w-full bg-gray-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:border-gray-500" v-model.trim="$v.kodnegeri.$model" type="text" placeholder="Negeri">
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.kodnegeri.required">Field is required</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w-full md:w-1/3 px-3">
|
||||
</div>
|
||||
<div class="flex flex-wrap -mx-3 mb-6">
|
||||
<div class="w-full md:w-1/2 px-3">
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2">
|
||||
No Pelanggan
|
||||
</label>
|
||||
<input :class="{ 'border border-red-500 focus:border-red-500': $v.nopel.$error }" class="appearance-none block w-full bg-gray-200 text-gray-700 border border-gray-200 rounded py-3 px-4 leading-tight focus:outline-none focus:bg-white focus:border-gray-500" v-model.trim="$v.nopel.$model" type="text">
|
||||
<div class="text-red-500 text-xs italic" v-if="!$v.nopel.required">Field is required</div>
|
||||
</div>
|
||||
|
||||
<div class="w-full md:w-1/2 px-3">
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2">
|
||||
Nota
|
||||
</label>
|
||||
@@ -89,7 +92,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex flex-wrap -mx-3 mb-6">
|
||||
<div class="w-full md:w-1/3 px-3 mb-6 md:mb-0">
|
||||
|
||||
<div class="w-full md:w-1/2 px-3 mb-6 md:mb-0">
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2" for="grid-state">
|
||||
Bank
|
||||
</label>
|
||||
@@ -104,7 +108,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="md:w-1/3 pl-2">
|
||||
<div class="md:w-1/2 pl-2">
|
||||
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2">
|
||||
No Akaun
|
||||
</label>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<div class="pt-6 px-4">
|
||||
|
||||
<breadcrumb :items="[{'title' : 'Bajet', 'icon' : 'fas fa-file-invoice'},{'title' : 'Kemaskini', 'icon' : 'fas fa-clipboard'}]"></breadcrumb>
|
||||
<breadcrumb :items="[{'title' : 'Bajet', 'icon' : 'fas fa-file-invoice','url' : {{ json_encode(route('bajet')) }}},{'title' : 'Kemaskini', 'icon' : 'fas fa-clipboard'}]"></breadcrumb>
|
||||
|
||||
<senaraibajet-component kodcaw={{ Auth::user()->cawangan }}></senaraibajet-component>
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
<div class="pt-6 px-4">
|
||||
|
||||
<breadcrumb :items="[{'title' : 'Bajet', 'icon' : 'fas fa-file-invoice'},{'title' : 'Tambah', 'icon' : 'fas fa-chart-pie'}]"></breadcrumb>
|
||||
<breadcrumb :items="[{'title' : 'Bajet', 'icon' : 'fas fa-file-invoice','url' : {{ json_encode(route('bajet')) }}},{'title' : 'Tambah', 'icon' : 'fas fa-chart-pie'}]"></breadcrumb>
|
||||
|
||||
<div class="bg-white mx-auto shadow rounded-lg p-4 sm:p-6 xl:p-8 w-1/2 2xl:col-span-1">
|
||||
|
||||
|
||||
@@ -7,8 +7,9 @@
|
||||
<!-- CSRF Token -->
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
|
||||
<title>Ar-Rahn Admin Page</title>
|
||||
<title>Ar-Rahn | Admin Page</title>
|
||||
|
||||
<link rel="icon" type="image/x-icon" href="{{ asset('img/icon_pkb.png') }}" />
|
||||
<!-- Routes -->
|
||||
@routes
|
||||
|
||||
|
||||
Reference in New Issue
Block a user