add yg baru
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
<div class="container">
|
||||
|
||||
<div class="flex w-full">
|
||||
<div class="w-1/2 p-8 mx-auto">
|
||||
<div class="xl:w-2/3 2xl:w-1/2 p-8 mx-auto">
|
||||
<div class="bg-yellow-600 text-gray-200 text-lg px-6 py-4 rounded-t-lg">
|
||||
<router-link to="/akaunhome">
|
||||
<i class="fas fa-backspace text-white"></i>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="container">
|
||||
|
||||
<div class="flex w-full">
|
||||
<div class="w-1/2 p-8 mx-auto">
|
||||
<div class="xl:w-2/3 2xl:w-1/2 p-8 mx-auto">
|
||||
<div class="bg-yellow-600 text-gray-200 text-lg px-6 py-4 rounded-t-lg">
|
||||
<router-link to="/akaunhome">
|
||||
<i class="fas fa-backspace text-white"></i>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="mx-auto content-center flex justify-center items-center">
|
||||
|
||||
<div class="grid grid-rows-1">
|
||||
<div class="grid grid-cols-2 gap-1 mx-auto">
|
||||
<div class="grid grid-cols-4 gap-1 mx-auto">
|
||||
<div class="bg-white shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<router-link to="/akaunhome/imbangduga">
|
||||
<img src="/img/balance-sheet.png" class="h-20 w-20 mx-auto" alt="Windster Logo">
|
||||
@@ -16,6 +16,20 @@
|
||||
<h2 class="mx-auto text-center font-bold text-2xl uppercase">Lejer Am</h2>
|
||||
</router-link>
|
||||
</div>
|
||||
|
||||
<div class="bg-white shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<router-link to="/akaunhome/stokaudit">
|
||||
<img src="/img/audit.png" class="h-20 w-20 mx-auto" alt="Windster Logo">
|
||||
<h2 class="mx-auto text-center font-bold text-2xl uppercase">Stok Audit</h2>
|
||||
</router-link>
|
||||
</div>
|
||||
|
||||
<div class="bg-white shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<router-link to="/akaunhome/kawalanstok">
|
||||
<img src="/img/kawalanstok.png" class="h-20 w-30 mx-auto" alt="Windster Logo">
|
||||
<h2 class="mx-auto text-center font-bold text-2xl uppercase">Kawalan Stok</h2>
|
||||
</router-link>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
@@ -46,10 +60,28 @@
|
||||
</router-link>
|
||||
</div>
|
||||
<div class="bg-white ml-2 shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<router-link to="/akaunhome/perbelanjaan">
|
||||
<h2 class="mx-auto text-center font-bold text-2xl uppercase">Perbelanjaan</h2>
|
||||
</router-link>
|
||||
</div>
|
||||
|
||||
<div class="bg-white ml-2 shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<router-link to="/akaunhome/lelong">
|
||||
<h2 class="mx-auto text-center font-bold text-2xl uppercase">Lelong</h2>
|
||||
</router-link>
|
||||
</div>
|
||||
|
||||
<div class="bg-white ml-2 shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<router-link to="/akaunhome/upah">
|
||||
<h2 class="mx-auto text-center font-bold text-2xl uppercase">Upah</h2>
|
||||
</router-link>
|
||||
</div>
|
||||
|
||||
<div class="bg-white ml-2 shadow border border-solid px-6 py-4 rounded-lg hover:bg-yellow-300 hover:transition-all mb-2 cursor-pointer">
|
||||
<router-link to="/akaunhome/ringkasanharian">
|
||||
<h2 class="mx-auto text-center font-bold text-2xl uppercase">Ringkasan Harian</h2>
|
||||
</router-link>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<!-- <modal ref="modal"></modal> -->
|
||||
|
||||
<div class="flex w-full">
|
||||
<div class="w-1/2 p-8 mx-auto">
|
||||
<div class="xl:w-2/3 2xl:w-1/2 p-8 mx-auto">
|
||||
<div class="bg-yellow-600 text-gray-200 text-lg px-6 py-4 rounded-t-lg">
|
||||
<router-link to="/akaunhome">
|
||||
<i class="fas fa-backspace text-white"></i>
|
||||
@@ -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>
|
||||
|
||||
<!-- <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');
|
||||
@@ -121,12 +144,9 @@ export default {
|
||||
this.showModal = !this.showModal;
|
||||
},
|
||||
async onLoad() {
|
||||
await this.$refs.formimbangduga.submit()
|
||||
console.log('loaded')// this.myIframe = frame.contentWindow
|
||||
|
||||
await this.$refs.formimbangduga.submit()
|
||||
},
|
||||
async LoadedReady(){
|
||||
console.log('loadedready')
|
||||
await setTimeout(() => {
|
||||
this.showLoader = false
|
||||
this.pendingStatus = 'ok'
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
|
||||
<div class="flex w-full">
|
||||
<div class="xl:w-2/3 2xl:w-1/2 p-8 mx-auto">
|
||||
<div class="bg-yellow-600 text-gray-200 text-lg px-6 py-4 rounded-t-lg">
|
||||
<router-link to="/akaunhome">
|
||||
<i class="fas fa-backspace text-white"></i>
|
||||
</router-link>
|
||||
<span class="text-center mx-auto text-white font-bold">Laporan Kawalan Stok</span>
|
||||
</div>
|
||||
<form method="get" id="formkawalanstok" :action="Urlredirect()" target="_blank">
|
||||
<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>
|
||||
<div class="flex">
|
||||
<input :value="$kodcaw" name="kodcaw" hidden/>
|
||||
<input :value="$hostname" name="hostname" hidden/>
|
||||
<input :value="jenisgenerate" type="hidden" name="jenis" />
|
||||
<span style="background-color: #F9FAFB" class="text-gray-600 border border-2 rounded-l px-4 py-2 whitespace-no-wrap">Mula</span>
|
||||
<input id="tarikhmula" name="datetarikh" class="border border-2 border-l-0 rounded-r px-4 py-2 w-80r mr-2" type="date" />
|
||||
|
||||
<button @click.prevent="generatepdf" class=" mr-2 border border-yellow-600 text-yellow-600 font-montserrat py-2 px-8 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-file-pdf mr-2"></i>PDF</button>
|
||||
<button @click.prevent="generateview" class="border border-yellow-600 text-yellow-600 font-montserrat py-2 px-8 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-eye mr-2"></i>View</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
|
||||
data(){
|
||||
return{
|
||||
jenisgenerate:'none',
|
||||
kodcaw: ''
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async generatepdf(){
|
||||
await this.setJenis('pdf');
|
||||
|
||||
|
||||
Vue.swal({
|
||||
title: 'Memuatkan...',
|
||||
allowEscapeKey : false,
|
||||
allowOutsideClick: false,
|
||||
showCancelButton: false,
|
||||
showConfirmButton: false,
|
||||
timer: 8000,
|
||||
});
|
||||
|
||||
document.getElementById("formkawalanstok").submit();
|
||||
},
|
||||
async generateview(){
|
||||
await this.setJenis('view');
|
||||
|
||||
|
||||
Vue.swal({
|
||||
title: 'Memuatkan...',
|
||||
allowEscapeKey : false,
|
||||
allowOutsideClick: false,
|
||||
showCancelButton: false,
|
||||
showConfirmButton: false,
|
||||
timer: 8000,
|
||||
});
|
||||
|
||||
document.getElementById("formkawalanstok").submit();
|
||||
},
|
||||
Urlredirect: function() {
|
||||
return window.route('cetak.kawalanstok')
|
||||
},
|
||||
setJenis: function(value){
|
||||
return this.jenisgenerate = value;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="container">
|
||||
|
||||
<div class="flex w-full">
|
||||
<div class="w-1/2 p-8 mx-auto">
|
||||
<div class="xl:w-2/3 2xl:w-1/2 p-8 mx-auto">
|
||||
<div class="bg-yellow-600 text-gray-200 text-lg px-6 py-4 rounded-t-lg">
|
||||
<router-link to="/akaunhome">
|
||||
<i class="fas fa-backspace text-white"></i>
|
||||
@@ -38,21 +38,25 @@
|
||||
<!--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">
|
||||
<button @click.prevent="generatepdf" class="bg-gray-500 hover:bg-gray-700 text-white font-bold py-1 px-3 border border-gray-700 rounded mr-1" :disabled="pendingStatus == 'none'">{{ (pendingStatus == 'loading') ? '' : '' }}<i class="fas fa-file-pdf mr-2"></i>Cetak</button>
|
||||
<button @click.prevent="generatepdf" class="bg-gray-500 hover:bg-gray-700 text-white font-bold py-1 px-3 border border-gray-700 rounded mr-1" :disabled="pendingStatus == 'none'">{{ (pendingStatus == 'loading') ? '' : '' }}<i class="fas fa-file-pdf mr-2"></i>Cetak</button>
|
||||
<button class="bg-gray-500 hover:bg-gray-700 text-white font-bold py-1 px-3 border border-gray-700 rounded mr-1" type="button" v-on:click="toggleModal()" :disabled="pendingStatus == 'none'">
|
||||
<i class="fas fa-window-close mr-2"></i>Tutup
|
||||
</button>
|
||||
@@ -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')
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
|
||||
<div class="flex w-full">
|
||||
<div class="xl:w-2/3 2xl:w-1/2 p-8 mx-auto">
|
||||
<div class="bg-yellow-600 text-gray-200 text-lg px-6 py-4 rounded-t-lg">
|
||||
<router-link to="/akaunhome">
|
||||
<i class="fas fa-backspace text-white"></i>
|
||||
</router-link>
|
||||
<span class="text-center mx-auto text-white font-bold">Laporan Lelong</span>
|
||||
</div>
|
||||
<form method="get" id="formlelong" :action="Urlredirect()" target="_blank">
|
||||
<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>
|
||||
<div class="flex">
|
||||
<input :value="$kodcaw" name="kodcaw" hidden/>
|
||||
<input :value="$hostname" name="hostname" hidden/>
|
||||
<input :value="jenisgenerate" type="hidden" name="jenis" />
|
||||
<span style="background-color: #F9FAFB" class="text-gray-600 border border-2 rounded-l px-4 py-2 whitespace-no-wrap">Mula</span>
|
||||
<input id="tarikhmula" name="datetarikh" class="border border-2 border-l-0 rounded-r px-4 py-2 w-80r mr-2" type="date" />
|
||||
|
||||
<button @click.prevent="generatepdf" class=" mr-2 border border-yellow-600 text-yellow-600 font-montserrat py-2 px-8 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-file-pdf mr-2"></i>PDF</button>
|
||||
<button @click.prevent="generateview" class="border border-yellow-600 text-yellow-600 font-montserrat py-2 px-8 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-eye mr-2"></i>View</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
|
||||
data(){
|
||||
return{
|
||||
jenisgenerate:'none',
|
||||
kodcaw: ''
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async generatepdf(){
|
||||
await this.setJenis('pdf');
|
||||
|
||||
|
||||
Vue.swal({
|
||||
title: 'Memuatkan...',
|
||||
allowEscapeKey : false,
|
||||
allowOutsideClick: false,
|
||||
showCancelButton: false,
|
||||
showConfirmButton: false,
|
||||
timer: 8000,
|
||||
});
|
||||
|
||||
document.getElementById("formlelong").submit();
|
||||
},
|
||||
async generateview(){
|
||||
await this.setJenis('view');
|
||||
|
||||
|
||||
Vue.swal({
|
||||
title: 'Memuatkan...',
|
||||
allowEscapeKey : false,
|
||||
allowOutsideClick: false,
|
||||
showCancelButton: false,
|
||||
showConfirmButton: false,
|
||||
timer: 8000,
|
||||
});
|
||||
|
||||
document.getElementById("formlelong").submit();
|
||||
},
|
||||
Urlredirect: function() {
|
||||
return window.route('cetak.gadaian')
|
||||
},
|
||||
setJenis: function(value){
|
||||
return this.jenisgenerate = value;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="container">
|
||||
|
||||
<div class="flex w-full">
|
||||
<div class="w-1/2 p-8 mx-auto">
|
||||
<div class="xl:w-2/3 2xl:w-1/2 p-8 mx-auto">
|
||||
<div class="bg-yellow-600 text-gray-200 text-lg px-6 py-4 rounded-t-lg">
|
||||
<router-link to="/akaunhome">
|
||||
<i class="fas fa-backspace text-white"></i>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
|
||||
<div class="flex w-full">
|
||||
<div class="w-1/2 p-8 mx-auto">
|
||||
<div class="xl:w-2/3 2xl:w-1/2 p-8 mx-auto">
|
||||
<div class="bg-yellow-600 text-gray-200 text-lg px-6 py-4 rounded-t-lg">
|
||||
<router-link to="/akaunhome">
|
||||
<i class="fas fa-backspace text-white"></i>
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
|
||||
<div class="flex w-full">
|
||||
<div class="xl:w-2/3 2xl:w-1/2 p-8 mx-auto">
|
||||
<div class="bg-yellow-600 text-gray-200 text-lg px-6 py-4 rounded-t-lg">
|
||||
<router-link to="/akaunhome">
|
||||
<i class="fas fa-backspace text-white"></i>
|
||||
</router-link>
|
||||
|
||||
<span class="text-center mx-auto text-white font-bold">Laporan Perbelanjaan</span>
|
||||
</div>
|
||||
<form method="get" id="formperbelanjaan" :action="Urlredirect()" target="_blank">
|
||||
<div class="rounded bg-white shadow p-6">
|
||||
<div class="pb-6">
|
||||
<div class="flex justify-center mb-4">
|
||||
<input :value="jenisgenerate" type="hidden" name="jenis" />
|
||||
<input :value="$kodcaw" name="kodcaw" hidden/>
|
||||
<input :value="$hostname" name="hostname" hidden/>
|
||||
<span style="background-color: #F9FAFB" class="text-gray-600 border border-2 rounded-l px-4 py-2 whitespace-no-wrap">Mula</span>
|
||||
<input id="tarikhmula" name="datemula" class="border border-2 border-l-0 rounded-r px-4 py-2 w-80r mr-2" type="date" />
|
||||
<span style="background-color: #F9FAFB" class="text-gray-600 border border-2 rounded-l px-4 py-2 whitespace-no-wrap">Hingga</span>
|
||||
<input id="tarikhhingga" name="datehingga" class="border border-2 border-l-0 rounded-r px-4 py-2 w-80r mr-2" type="date" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex justify-end mt-10">
|
||||
<button @click.prevent="generatepdf" class=" mr-2 border border-yellow-600 text-yellow-600 font-montserrat py-2 px-8 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-file-pdf mr-2"></i>PDF</button>
|
||||
<button @click.prevent="generateview" class="border border-yellow-600 text-yellow-600 font-montserrat py-2 px-8 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-eye mr-2"></i>View</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data(){
|
||||
return{
|
||||
jenisgenerate:'none',
|
||||
kodcaw:''
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async generatepdf(){
|
||||
await this.setJenis('pdf');
|
||||
|
||||
|
||||
Vue.swal({
|
||||
title: 'Memuatkan...',
|
||||
allowEscapeKey : false,
|
||||
allowOutsideClick: false,
|
||||
showCancelButton: false,
|
||||
showConfirmButton: false,
|
||||
timer: 8000,
|
||||
});
|
||||
|
||||
document.getElementById("formperbelanjaan").submit();
|
||||
},
|
||||
async generateview(){
|
||||
await this.setJenis('view');
|
||||
|
||||
|
||||
Vue.swal({
|
||||
title: 'Memuatkan...',
|
||||
allowEscapeKey : false,
|
||||
allowOutsideClick: false,
|
||||
showCancelButton: false,
|
||||
showConfirmButton: false,
|
||||
timer: 8000,
|
||||
});
|
||||
|
||||
document.getElementById("formperbelanjaan").submit();
|
||||
},
|
||||
Urlredirect: function() {
|
||||
return window.route('cetak.perbelanjaan')
|
||||
},
|
||||
setJenis: function(value){
|
||||
return this.jenisgenerate = value;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,83 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
|
||||
<div class="flex w-full">
|
||||
<div class="xl:w-2/3 2xl:w-1/2 p-8 mx-auto">
|
||||
<div class="bg-yellow-600 text-gray-200 text-lg px-6 py-4 rounded-t-lg">
|
||||
<router-link to="/akaunhome">
|
||||
<i class="fas fa-backspace text-white"></i>
|
||||
</router-link>
|
||||
<span class="text-center mx-auto text-white font-bold">Laporan Ringkasan Harian</span>
|
||||
</div>
|
||||
<form method="get" id="formringkasanharian" :action="Urlredirect()" target="_blank">
|
||||
<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>
|
||||
<div class="flex">
|
||||
<input :value="$kodcaw" name="kodcaw" hidden/>
|
||||
<input :value="$hostname" name="hostname" hidden/>
|
||||
<input :value="jenisgenerate" type="hidden" name="jenis" />
|
||||
<span style="background-color: #F9FAFB" class="text-gray-600 border border-2 rounded-l px-4 py-2 whitespace-no-wrap">Mula</span>
|
||||
<input id="tarikhmula" name="dateringkasanharian" class="border border-2 border-l-0 rounded-r px-4 py-2 w-80r mr-2" type="date" />
|
||||
|
||||
<!-- <button @click.prevent="generatepdf" class=" mr-2 border border-yellow-600 text-yellow-600 font-montserrat py-2 px-8 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-file-pdf mr-2"></i>PDF</button> -->
|
||||
<button @click.prevent="generateview" class="border border-yellow-600 text-yellow-600 font-montserrat py-2 px-8 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-eye mr-2"></i>View</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
|
||||
data(){
|
||||
return{
|
||||
jenisgenerate:'none',
|
||||
kodcaw: ''
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// async generatepdf(){
|
||||
// await this.setJenis('pdf');
|
||||
|
||||
|
||||
// Vue.swal({
|
||||
// title: 'Memuatkan...',
|
||||
// allowEscapeKey : false,
|
||||
// allowOutsideClick: false,
|
||||
// showCancelButton: false,
|
||||
// showConfirmButton: false,
|
||||
// timer: 8000,
|
||||
// });
|
||||
|
||||
// document.getElementById("formringkasanharian").submit();
|
||||
// },
|
||||
async generateview(){
|
||||
await this.setJenis('view');
|
||||
|
||||
|
||||
Vue.swal({
|
||||
title: 'Memuatkan...',
|
||||
allowEscapeKey : false,
|
||||
allowOutsideClick: false,
|
||||
showCancelButton: false,
|
||||
showConfirmButton: false,
|
||||
timer: 8000,
|
||||
});
|
||||
|
||||
document.getElementById("formringkasanharian").submit();
|
||||
},
|
||||
Urlredirect: function() {
|
||||
return window.route('cetak.ringkasanharian')
|
||||
},
|
||||
setJenis: function(value){
|
||||
return this.jenisgenerate = value;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,105 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
|
||||
<div class="flex w-full">
|
||||
<div class="xl:w-2/3 2xl:w-1/2 p-8 mx-auto">
|
||||
<div class="bg-yellow-600 text-gray-200 text-lg px-6 py-4 rounded-t-lg">
|
||||
<router-link to="/akaunhome">
|
||||
<i class="fas fa-backspace text-white"></i>
|
||||
</router-link>
|
||||
<span class="text-center mx-auto text-white font-bold">Laporan Stok Audit</span>
|
||||
</div>
|
||||
<form method="get" id="formstokaudit" :action="Urlredirect()" target="_blank">
|
||||
<input :value="$kodcaw" name="kodcaw" hidden/>
|
||||
<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> -->
|
||||
<div class="flex place-content-center mb-2">
|
||||
<input :value="jenisgenerate" type="hidden" name="jenis" />
|
||||
<input :value="$hostname" name="hostname" hidden/>
|
||||
<input :value="$kodcaw" name="kodcaw" hidden/>
|
||||
<span style="background-color: #F9FAFB" class="text-gray-600 border border-2 rounded-l px-4 py-2 whitespace-no-wrap">Mula</span>
|
||||
<input id="datetimepicker1" name="datetimepicker1" class="border border-2 border-l-0 rounded-r px-4 py-2 w-80r mr-2" type="date" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex justify-center mb-4">
|
||||
<div class="mx-2 radio">
|
||||
<input type="radio" id="aktif" name="radaktif" value="aktif" class="hidden focus:bg-gray-500" v-model="selected">
|
||||
<label for="aktif" class="cursor-pointer text-gray-500 focus:bg-gray-500 hover:bg-gray-200 focus:bg-purple-500 focus:bg-purple-500 focus:outline-none border px-10 py-4 border-solid border-gray-500 rounded">Aktif</label>
|
||||
</div>
|
||||
|
||||
<div class="mx-2 radio cursor-pointer">
|
||||
<input type="radio" id="tak-aktif" name="radaktif" value="tak-aktif" class="hidden focus:bg-gray-500" v-model="selected">
|
||||
<label for="tak-aktif" class="cursor-pointer text-gray-500 focus:bg-gray-500 hover:bg-gray-200 focus:bg-purple-500 focus:outline-none border px-10 py-4 border-solid border-gray-500 rounded">Tak-Aktif</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex justify-end mt-10">
|
||||
<button @click.prevent="generateview" class="border border-yellow-600 text-yellow-600 font-montserrat py-2 px-8 font-medium rounded-xl hover:bg-yellow-600 hover:text-white transition-all duration-300"><i class="fas fa-eye mr-2"></i>View</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
<style>
|
||||
.radio input:checked + label{
|
||||
border-color:#F6D860;
|
||||
background-color:#FFF1BD;
|
||||
outline:none;
|
||||
}
|
||||
|
||||
</style>
|
||||
<script>
|
||||
export default {
|
||||
data(){
|
||||
return{
|
||||
jenisgenerate:'none',
|
||||
selected:'',
|
||||
kodcaw:''
|
||||
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// async generatepdf(){
|
||||
// await this.setJenis('pdf');
|
||||
|
||||
// Vue.swal({
|
||||
// title: 'Memuatkan...',
|
||||
// allowEscapeKey : false,
|
||||
// allowOutsideClick: false,
|
||||
// showCancelButton: false,
|
||||
// showConfirmButton: false,
|
||||
// timer: 8000,
|
||||
// });
|
||||
// document.getElementById("formstokaudit").submit();
|
||||
// },
|
||||
async generateview(){
|
||||
await this.setJenis('view');
|
||||
|
||||
Vue.swal({
|
||||
title: 'Memuatkan...',
|
||||
allowEscapeKey : false,
|
||||
allowOutsideClick: false,
|
||||
showCancelButton: false,
|
||||
showConfirmButton: false,
|
||||
timer: 8000,
|
||||
|
||||
});
|
||||
document.getElementById("formstokaudit").submit();
|
||||
},
|
||||
Urlredirect: function() {
|
||||
return window.route('cetak.stokaudit')
|
||||
},
|
||||
setJenis: function(value){
|
||||
return this.jenisgenerate = value;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="container">
|
||||
|
||||
<div class="flex w-full">
|
||||
<div class="w-1/2 p-8 mx-auto">
|
||||
<div class="xl:w-2/3 2xl:w-1/2 p-8 mx-auto">
|
||||
<div class="bg-yellow-600 text-gray-200 text-lg px-6 py-4 rounded-t-lg">
|
||||
<router-link to="/akaunhome">
|
||||
<i class="fas fa-backspace text-white"></i>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="container">
|
||||
|
||||
<div class="flex w-full">
|
||||
<div class="w-1/2 p-8 mx-auto">
|
||||
<div class="xl:w-2/3 2xl:w-1/2 p-8 mx-auto">
|
||||
<div class="bg-yellow-600 text-gray-200 text-lg px-6 py-4 rounded-t-lg">
|
||||
<router-link to="/akaunhome">
|
||||
<i class="fas fa-backspace text-white"></i>
|
||||
|
||||
@@ -162,7 +162,6 @@ export default {
|
||||
|
||||
},
|
||||
submit() {
|
||||
console.log('submit!')
|
||||
this.$v.$touch()
|
||||
if (this.$v.$invalid) {
|
||||
this.$toast.error('Sila isi butiran yang disediakan dengan betul!')
|
||||
|
||||
@@ -31,21 +31,21 @@
|
||||
<div class="w-1/4 grid-rows-4">
|
||||
<p class="m-1" v-for="(bajetdata,a) in bajet[Object.keys(arrayBajet[i])]" :key="a">{{ (4 >= a) ? bajetdata.bulan + ':' : '' }}
|
||||
<span v-if="4 >= a">
|
||||
{{ String(Object.keys(arrayBajet[i])) == 'Gadai' || String(Object.keys(arrayBajet[i])) == 'Penebusan' || String(Object.keys(arrayBajet[i])) == 'Keuntungan' ? 'RM ' + formatexchange(bajetdata.nilaibajet) : bajetdata.nilaibajet }}
|
||||
{{ String(Object.keys(arrayBajet[i])) == 'Gadai' || String(Object.keys(arrayBajet[i])) == 'Penebusan' || String(Object.keys(arrayBajet[i])) == 'Keuntungan' ? 'RM ' + formatexchange(bajetdata.nilaibajet) : parseInt(bajetdata.nilaibajet) }}
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="w-1/4 grid-rows-4">
|
||||
<p class="m-1" v-for="(bajetdata,a) in bajet[Object.keys(arrayBajet[i])]" :key="a">{{ (a >= 5 && 9 >= a) ? bajetdata.bulan + ':' : ''}}
|
||||
<span v-if="a >= 5 && 9 >= a">
|
||||
{{ String(Object.keys(arrayBajet[i])) == 'Gadai' || String(Object.keys(arrayBajet[i])) == 'Penebusan' || String(Object.keys(arrayBajet[i])) == 'Keuntungan' ? 'RM ' + formatexchange(bajetdata.nilaibajet) : bajetdata.nilaibajet }}
|
||||
{{ String(Object.keys(arrayBajet[i])) == 'Gadai' || String(Object.keys(arrayBajet[i])) == 'Penebusan' || String(Object.keys(arrayBajet[i])) == 'Keuntungan' ? 'RM ' + formatexchange(bajetdata.nilaibajet) : parseInt(bajetdata.nilaibajet) }}
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="w-1/4 grid-rows-4">
|
||||
<p class="m-1" v-for="(bajetdata,a) in bajet[Object.keys(arrayBajet[i])]" :key="a">{{ (a >= 10 && 13 >= a) ? bajetdata.bulan + ':' : '' }}
|
||||
<span v-if="a >= 10 && 13 >= a">
|
||||
{{ String(Object.keys(arrayBajet[i])) == 'Gadai' || String(Object.keys(arrayBajet[i])) == 'Penebusan' || String(Object.keys(arrayBajet[i])) == 'Keuntungan' ? 'RM ' + formatexchange(bajetdata.nilaibajet) : bajetdata.nilaibajet }}
|
||||
{{ String(Object.keys(arrayBajet[i])) == 'Gadai' || String(Object.keys(arrayBajet[i])) == 'Penebusan' || String(Object.keys(arrayBajet[i])) == 'Keuntungan' ? 'RM ' + formatexchange(bajetdata.nilaibajet) : parseInt(bajetdata.nilaibajet) }}
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
@@ -53,6 +53,13 @@
|
||||
</router-link>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
<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>
|
||||
|
||||
@@ -70,7 +77,8 @@ export default {
|
||||
data(){
|
||||
return{
|
||||
pilihantahun: 'none',
|
||||
arrayBajet:[]
|
||||
arrayBajet:[],
|
||||
showLoader:false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
@@ -81,13 +89,16 @@ export default {
|
||||
this.getData()
|
||||
},
|
||||
getData: function(){
|
||||
this.showLoader = true;
|
||||
|
||||
this.axios.get(this.$hostname + '/admin/senaraiBajet',{
|
||||
params: {
|
||||
kodcaw: this.$props.kodcaw,
|
||||
kodcaw: this.$kodcaw,
|
||||
year: this.pilihantahun
|
||||
}
|
||||
}).then( response => {
|
||||
this.arrayBajet = response.data
|
||||
this.showLoader = false;
|
||||
console.log(this.arrayBajet)
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="hidden lg:flex items-center">
|
||||
<button @click.prevent="logout()" class="bg-transparent hover:bg-blue-500 text-blue-700 font-semibold hover:text-white py-2 px-4 border border-blue-500 hover:border-transparent rounded md:invisible xl:visible">
|
||||
<button @click.prevent="logout()" class="bg-transparent hover:bg-blue-500 text-blue-700 font-semibold hover:text-white py-2 px-4 border border-blue-500 hover:border-transparent rounded md:invisible lg:visible xl:visible">
|
||||
Log out
|
||||
</button>
|
||||
<button @click.prevent="logout()" class="bg-transparent hover:bg-blue-500 text-blue-700 font-semibold hover:text-white py-2 px-4 border border-blue-500 hover:border-transparent rounded md:visible xl:invisible">
|
||||
<button @click.prevent="logout()" class="bg-transparent hover:bg-blue-500 text-blue-700 font-semibold hover:text-white py-2 px-4 border border-blue-500 hover:border-transparent rounded md:visible lg:invisible xl:invisible">
|
||||
<i class= "fas fa-sign-out-alt"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<div class="container w-full max-w-xl mx-auto mt-10 px-4 font-sans">
|
||||
<form class="bg-white w-full shadow-md rounded-lg px-8 pt-6 pb-4 mb-4" onclick="return false">
|
||||
<div class="mb-4 w-96 mx-auto">
|
||||
<label class="block text-gray-500 font-medium text-sm mb-2">No Rujukan</label>
|
||||
<label class="block text-gray-500 font-medium text-sm mb-2">Billplz ID</label>
|
||||
<div class="flex flex-wrap">
|
||||
<div class="flex flex-row w-96 mx-auto">
|
||||
|
||||
<div class="flex flex-col w-96">
|
||||
<input id="frminput" type="text" ref="btnDropdownRef" placeholder="Norujukan" class="mr-2 bg-gray-200 appearance-none border-2 border-gray-200 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-blue-500" />
|
||||
<input id="frminput" type="text" ref="btnDropdownRef" placeholder="Billplz ID" class="mr-2 bg-gray-200 appearance-none border-2 border-gray-200 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-blue-500" />
|
||||
</div>
|
||||
|
||||
<button id="buttonsearch" class="px-4 py-2 bg-blue-600 rounded ml-2" v-on:click="toggleTable()"><i class="fas fa-search text-white"></i></button>
|
||||
@@ -25,12 +25,12 @@
|
||||
<table class="min-w-full leading-normal">
|
||||
<thead class="text-center">
|
||||
<tr>
|
||||
<th class="px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider">
|
||||
<!-- <th class="px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider">
|
||||
Bil
|
||||
</th>
|
||||
<th class="px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider">
|
||||
IC/Passport
|
||||
</th>
|
||||
</th> -->
|
||||
<th class="px-5 py-3 border-b-2 border-gray-200 bg-gray-100 text-left text-xs font-semibold text-gray-600 uppercase tracking-wider">
|
||||
Nama
|
||||
</th>
|
||||
@@ -58,8 +58,8 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(cust,i) in arrayCustomer" :key="i" class="text-center">
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
<tr v-for="(cust,i) in arrayCustomer" :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" >
|
||||
@@ -76,7 +76,7 @@
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</td> -->
|
||||
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
|
||||
<div class="flex items-center">
|
||||
<div class="ml-3">
|
||||
@@ -90,7 +90,7 @@
|
||||
<div class="flex items-center">
|
||||
<div class="ml-3">
|
||||
<p class="text-gray-900 whitespace-no-wrap">
|
||||
{{ cust.total_payment }}
|
||||
{{ 'RM' + cust.total_payment.toFixed(2) }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -232,7 +232,7 @@ export default{
|
||||
{
|
||||
return this.axios.get(this.$hostname + '/admin/searchSAGOnline', {
|
||||
params: {
|
||||
norujukan: inputvalue
|
||||
billplzid: inputvalue
|
||||
}
|
||||
}).then(response => {
|
||||
|
||||
@@ -257,7 +257,6 @@ export default{
|
||||
return /\d/.test(inputString);
|
||||
},
|
||||
tekanmodal: function(statusid){
|
||||
console.log('tekan')
|
||||
this.$refs.modal.showModal = true;
|
||||
this.$refs.modal.statusid = statusid;
|
||||
|
||||
|
||||
Vendored
+53
-2
@@ -19,10 +19,60 @@ 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';
|
||||
|
||||
import VueHtml5Editor from 'vue-html5-editor'
|
||||
|
||||
let ops = {
|
||||
// global component name
|
||||
name: "vue-html5-editor",
|
||||
// if set true,will append module name to toolbar after icon
|
||||
showModuleName: false,
|
||||
// custom icon class of built-in modules,default using font-awesome
|
||||
icons: {
|
||||
text: "fa fa-pencil",
|
||||
color: "fa fa-paint-brush",
|
||||
font: "fa fa-font",
|
||||
align: "fa fa-align-justify",
|
||||
list: "fa fa-list",
|
||||
link: "fa fa-chain",
|
||||
unlink: "fa fa-chain-broken",
|
||||
tabulation: "fa fa-table",
|
||||
image: "fa fa-file-image-o",
|
||||
hr: "fa fa-minus",
|
||||
eraser: "fa fa-eraser",
|
||||
undo: "fa-undo fa",
|
||||
"full-screen": "fa fa-arrows-alt",
|
||||
info: "fa fa-info",
|
||||
},
|
||||
//default en-us, en-us and zh-cn are built-in
|
||||
language: "en-us",
|
||||
// the modules you don't want
|
||||
hiddenModules: [],
|
||||
// keep only the modules you want and customize the order.
|
||||
// can be used with hiddenModules together
|
||||
visibleModules: [
|
||||
"text",
|
||||
"color",
|
||||
// "font",
|
||||
"align",
|
||||
// "list",
|
||||
// "link",
|
||||
// "unlink",
|
||||
// "tabulation",
|
||||
// "image",
|
||||
// "hr",
|
||||
// "eraser",
|
||||
"undo",
|
||||
"full-screen",
|
||||
// "info",
|
||||
]
|
||||
};
|
||||
|
||||
Vue.use(VueHtml5Editor,ops);
|
||||
|
||||
require('./bootstrap');
|
||||
|
||||
@@ -56,7 +106,7 @@ Vue.use(Toast, options)
|
||||
Vue.use(datetime)
|
||||
Vue.use(VueContentPlaceholders)
|
||||
Vue.use(VueSweetalert2);
|
||||
Vue.use(VueIframe)
|
||||
Vue.use(VueFriendlyIframe)
|
||||
|
||||
|
||||
Alpine.start()
|
||||
@@ -138,6 +188,7 @@ Vue.component('modal-component', require('./components/util/Modal.vue').default)
|
||||
Vue.component('searchpelanggan-component', require('./components/Searchpelanggan.vue').default)
|
||||
Vue.component('laporanakaun-component', require('./Akaun/Laporan.vue').default)
|
||||
Vue.component('online-component', require('./Online/Online.vue').default)
|
||||
Vue.component('noticelelong-component', require('./pages/NotisLelong.vue').default)
|
||||
|
||||
Vue.component('details-pelanggan', require('./pages/Detailspelanggan.vue').default)
|
||||
Vue.component('blacklist-pelanggan', require('./pages/Blacklist.vue').default)
|
||||
|
||||
@@ -13,11 +13,11 @@
|
||||
</div>
|
||||
|
||||
<div class="flex flex-nowrap">
|
||||
<div class="w-3/4 h-4 bg-gray-200 rounded-full">
|
||||
<div class="bg-yellow-600 text-xs font-medium text-yellow-100 text-center p-0.5 leading-none rounded-l-full rounded-r-full" v-bind:style="{ width: (percentcumgadai > 100) ? 100 : percentcumgadai + '%' }"> {{ this.percentcumgadai }}%</div>
|
||||
</div>
|
||||
<div class="w-3/4 h-4 bg-gray-200 rounded-full">
|
||||
<div class="bg-yellow-600 text-xs font-medium text-yellow-100 text-center p-0.5 leading-none rounded-l-full rounded-r-full" v-bind:style="{ width: (percentcumgadai > 100) ? 100 : percentcumgadai + '%' }"> {{ this.percentcumgadai }}%</div>
|
||||
</div>
|
||||
|
||||
<div class="w-1/4 grid grid-rows-2">
|
||||
<div class="xl:w-2/5 2xl:w-1/4 grid grid-rows-2">
|
||||
<span class="text-sm ml-2 font-bold -mt-0.5 xs:invisible">RM {{ gadaianremaining }}</span>
|
||||
<!-- <span class="text-xs leading-none font-bold text-gray-900 mx-auto flex place-self-center -mt-3 ml-12">remaining.. </span> -->
|
||||
</div>
|
||||
@@ -26,12 +26,12 @@
|
||||
<div class="flex pt-2 -mt-2">
|
||||
<div class="grid grid-rows-2 ml-1 mt-2 w-1/2">
|
||||
<div class="flex">
|
||||
<span class="text-sm leading-none font-bold text-gray-700 w-1/4 uppercase"> Harian</span>
|
||||
<span class="text-sm leading-none font-bold text-gray-700x xl:w-2/5 2xl:w-1/4 uppercase"> Harian</span>
|
||||
<span class="text-sm leading-none font-bold text-gray-700 mr-2">:</span>
|
||||
<span class="text-sm leading-none font-bold text-gray-700">RM {{ gadaianharian }}</span>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<span class="text-sm leading-none font-bold text-yellow-700 w-1/4 uppercase"> Bajet</span>
|
||||
<span class="text-sm leading-none font-bold text-yellow-700 xl:w-2/5 2xl:w-1/4 uppercase"> Bajet</span>
|
||||
<span class="text-sm leading-none font-bold text-gray-700 mr-2">:</span>
|
||||
<span class="text-sm leading-none font-bold text-yellow-900"> RM {{ bajetgadaian }} </span>
|
||||
</div>
|
||||
@@ -79,7 +79,7 @@
|
||||
<div class="bg-yellow-600 text-xs font-medium text-yellow-100 text-center p-0.5 leading-none rounded-l-full rounded-r-full" v-bind:style="{ width: (percentcumtebus > 100) ? 100 : percentcumtebus + '%' }"> {{ percentcumtebus }}%</div>
|
||||
</div>
|
||||
|
||||
<div class="w-1/4 grid grid-rows-2">
|
||||
<div class="xl:w-2/5 2xl:w-1/4 grid grid-rows-2">
|
||||
<span class="text-sm ml-2 font-bold -mt-0.5">RM {{ tebusremaining }}</span>
|
||||
<!-- <span class="text-xs leading-none font-bold text-gray-900 mx-auto flex place-self-center -mt-3 ml-12">remaining.. </span> -->
|
||||
|
||||
@@ -92,12 +92,12 @@
|
||||
<!-- <span class="text-sm leading-none font-bold text-gray-700"><i class="fas fa-calendar-day"></i> RM {{ penebusanharian }}</span>
|
||||
<span class="text-sm leading-none font-bold text-yellow-900"><i class="fas fa-chart-pie"></i> RM {{ bajetpenebusan }} </span> -->
|
||||
<div class="flex">
|
||||
<span class="text-sm leading-none font-bold text-gray-700 w-1/4 uppercase"> Harian</span>
|
||||
<span class="text-sm leading-none font-bold text-gray-700 xl:w-2/5 2xl:w-1/4 uppercase"> Harian</span>
|
||||
<span class="text-sm leading-none font-bold text-gray-700 mr-2">:</span>
|
||||
<span class="text-sm leading-none font-bold text-gray-700">RM {{ penebusanharian }}</span>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<span class="text-sm leading-none font-bold text-yellow-700 w-1/4 uppercase"> Bajet</span>
|
||||
<span class="text-sm leading-none font-bold text-yellow-700 xl:w-2/5 2xl:w-1/4 uppercase"> Bajet</span>
|
||||
<span class="text-sm leading-none font-bold text-gray-700 mr-2">:</span>
|
||||
<span class="text-sm leading-none font-bold text-yellow-900"> RM {{ bajetpenebusan }} </span>
|
||||
</div>
|
||||
@@ -144,7 +144,7 @@
|
||||
<div class="bg-yellow-600 text-xs font-medium text-yellow-100 text-center p-0.5 leading-none rounded-l-full rounded-r-full" v-bind:style="{ width: (percentcumkeuntungan > 100) ? 100 : percentcumkeuntungan + '%' }"> {{percentcumkeuntungan}}%</div>
|
||||
</div>
|
||||
|
||||
<div class="w-1/4 grid grid-rows-2">
|
||||
<div class="xl:w-2/5 2xl:w-1/4 grid grid-rows-2">
|
||||
<span class="text-sm ml-2 font-bold -mt-0.5">RM {{ keuntunganremaining }}</span>
|
||||
<!-- <span class="text-xs leading-none font-bold text-gray-900 mx-auto flex place-self-center -mt-3 ml-12">remaining.. </span> -->
|
||||
|
||||
@@ -158,12 +158,12 @@
|
||||
<!-- <span class="text-sm leading-none font-bold text-gray-700"><i class="fas fa-calendar-day"></i> RM {{ keuntunganharian }}</span>
|
||||
<span class="text-sm leading-none font-bold text-yellow-900"><i class="fas fa-chart-pie"></i> RM {{ bajetkeuntungan }} </span> -->
|
||||
<div class="flex">
|
||||
<span class="text-sm leading-none font-bold text-gray-700 w-1/4 uppercase"> Harian</span>
|
||||
<span class="text-sm leading-none font-bold text-gray-700 xl:w-2/5 2xl:w-1/4 uppercase"> Harian</span>
|
||||
<span class="text-sm leading-none font-bold text-gray-700 mr-2">:</span>
|
||||
<span class="text-sm leading-none font-bold text-gray-700">RM {{ keuntunganharian }}</span>
|
||||
</div>
|
||||
<div class="flex">
|
||||
<span class="text-sm leading-none font-bold text-yellow-700 w-1/4 uppercase"> Bajet</span>
|
||||
<span class="text-sm leading-none font-bold text-yellow-700 xl:w-2/5 2xl:w-1/4 uppercase"> Bajet</span>
|
||||
<span class="text-sm leading-none font-bold text-gray-700 mr-2">:</span>
|
||||
<span class="text-sm leading-none font-bold text-yellow-900"> RM {{ bajetkeuntungan }} </span>
|
||||
</div>
|
||||
|
||||
@@ -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,25 @@ 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
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
redirectHome: function(){
|
||||
return '/';
|
||||
},
|
||||
redirectUrl: function(url){
|
||||
return url;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<template>
|
||||
<div class="mx-auto">
|
||||
<a v-if="route === 'ada'" class="text-yellow-200 rounded bg-gray-400 px-6 py-3 font-bold mr-4 uppercase md:invisible xl:visible">
|
||||
<a v-if="route === 'ada'" class="text-yellow-200 rounded bg-gray-400 px-6 py-3 font-bold mr-4 uppercase sm:invisible lg:visible xl:visible">
|
||||
CAWANGAN :
|
||||
<select v-model="caw" @change="tukarcawangan" class="rounded-md border bg-gray-400 font-bold border-gray-400 focus:outline-none rounded-md focus:ring-1 ring-cyan-500 uppercase">
|
||||
<option v-for="(caw,i) in cawangan" :key="i" :value="caw.kodcaw">{{ caw.details_caw }}</option>
|
||||
</select>
|
||||
</a>
|
||||
<a v-if="route === 'tiada'" class="text-yellow-200 rounded bg-gray-400 px-6 py-3 font-bold mr-4 uppercase md:invisible xl:visible">
|
||||
<a v-if="route === 'tiada'" class="text-yellow-200 rounded bg-gray-400 px-6 py-3 font-bold mr-4 uppercase sm:invisible lg:visible xl:visible">
|
||||
CAWANGAN : {{ this.namacawangan(this.caw) }}
|
||||
</a>
|
||||
<a class="text-yellow-200 rounded bg-gray-400 px-4 py-3 font-bold mr-4 uppercase md:invisible xl:visible">
|
||||
@@ -47,7 +47,6 @@
|
||||
// this.sethostname(this.caw)
|
||||
this.pembahagiancawangan(this.caw)
|
||||
this.$forceUpdate();
|
||||
console.log(this.$hostname)
|
||||
if(this.akaun =='no')
|
||||
location.reload();
|
||||
|
||||
@@ -101,7 +100,6 @@
|
||||
case '011412':{
|
||||
// this.$hostname = 'http://api2.arrahn'
|
||||
this.sethostname('http://api2.arrahn')
|
||||
console.log(this.$hostname)
|
||||
break;
|
||||
}
|
||||
case '011229':
|
||||
@@ -110,10 +108,10 @@
|
||||
case '011231':
|
||||
case '011232':
|
||||
case '011234':
|
||||
case '011237':
|
||||
case '011233':{
|
||||
// this.$hostname = 'http://api3.arrahn'
|
||||
this.sethostname('http://api3.arrahn')
|
||||
console.log(this.$hostname)
|
||||
break;
|
||||
}
|
||||
default: this.sethostname('http://localhost:8000')
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<content-placeholders-text :lines="3" />
|
||||
</content-placeholders> -->
|
||||
<apexchart
|
||||
width="500" type="bar"
|
||||
type="bar"
|
||||
:options="chartOptions" :series="series">
|
||||
</apexchart>
|
||||
</div>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
</content-placeholders> -->
|
||||
<div>
|
||||
<apexchart
|
||||
width="500" type="bar"
|
||||
type="bar"
|
||||
:options="chartOptions" :series="series">
|
||||
</apexchart>
|
||||
</div>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<content-placeholders-text :lines="3" />
|
||||
</content-placeholders> -->
|
||||
<apexchart
|
||||
width="500" type="bar"
|
||||
type="bar"
|
||||
:options="chartOptions" :series="series">
|
||||
</apexchart>
|
||||
</div>
|
||||
|
||||
@@ -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,152 +1,72 @@
|
||||
<template>
|
||||
<div>
|
||||
<button @click="show = true">Click</button>
|
||||
|
||||
<!-- This example requires Tailwind CSS v2.0+ -->
|
||||
<transition leave-active-class="duration-300">
|
||||
<div
|
||||
v-show="show"
|
||||
class="fixed z-10 inset-0 overflow-y-auto"
|
||||
aria-labelledby="modal-title"
|
||||
role="dialog"
|
||||
aria-modal="true"
|
||||
>
|
||||
<div
|
||||
class="flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0"
|
||||
>
|
||||
<!--
|
||||
Background overlay, show/hide based on modal state.
|
||||
|
||||
Entering: "ease-out duration-300"
|
||||
From: "opacity-0"
|
||||
To: "opacity-100"
|
||||
Leaving: "ease-in duration-200"
|
||||
From: "opacity-100"
|
||||
To: "opacity-0"
|
||||
-->
|
||||
<transition name="ease-out-overlay">
|
||||
<div
|
||||
v-show="show"
|
||||
class="fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity"
|
||||
></div>
|
||||
</transition>
|
||||
|
||||
<!-- This element is to trick the browser into centering the modal contents. -->
|
||||
<span
|
||||
class="hidden sm:inline-block sm:align-middle sm:h-screen"
|
||||
aria-hidden="true"
|
||||
>​</span
|
||||
>
|
||||
|
||||
<!--
|
||||
Modal panel, show/hide based on modal state.
|
||||
|
||||
Entering: "ease-out duration-300"
|
||||
From: "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"
|
||||
To: "opacity-100 translate-y-0 sm:scale-100"
|
||||
Leaving: "ease-in duration-200"
|
||||
From: "opacity-100 translate-y-0 sm:scale-100"
|
||||
To: "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"
|
||||
-->
|
||||
<transition name="ease-out-modal">
|
||||
<div
|
||||
v-show="show"
|
||||
class="inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full"
|
||||
>
|
||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4">
|
||||
<div class="sm:flex sm:items-start">
|
||||
<div
|
||||
class="mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-red-100 sm:mx-0 sm:h-10 sm:w-10"
|
||||
>
|
||||
<!-- Heroicon name: outline/exclamation -->
|
||||
<svg
|
||||
class="h-6 w-6 text-red-600"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
stroke="currentColor"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
stroke-width="2"
|
||||
d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"
|
||||
/>
|
||||
</svg>
|
||||
<div>
|
||||
<transition name="modal-fade">
|
||||
<!-- Delete Product Modal -->
|
||||
<div v-if="showDelete" class="overflow-x-hidden overflow-y-auto fixed inset-0 z-50 outline-none focus:outline-none justify-center items-center flex" id="popup-modal">
|
||||
<div class="relative px-4 w-full max-w-xl h-full md:h-auto">
|
||||
<!-- Modal content -->
|
||||
<div class="relative bg-white rounded-lg shadow dark:bg-gray-700">
|
||||
<!-- Modal header -->
|
||||
<div class="flex justify-end p-2">
|
||||
<button v-on:click="showDelete = false" type="button" class="text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 ml-auto inline-flex items-center dark:hover:bg-gray-800 dark:hover:text-white">
|
||||
<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="M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg>
|
||||
</button>
|
||||
</div>
|
||||
<div class="mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left">
|
||||
<h3
|
||||
class="text-lg leading-6 font-medium text-gray-900"
|
||||
id="modal-title"
|
||||
>
|
||||
Deactivate account
|
||||
</h3>
|
||||
<div class="mt-2">
|
||||
<p class="text-sm text-gray-500">
|
||||
Are you sure you want to deactivate your account? All of
|
||||
your data will be permanently removed. This action
|
||||
cannot be undone.
|
||||
</p>
|
||||
</div>
|
||||
<!-- Modal body -->
|
||||
<div class="p-6 pt-0 text-center">
|
||||
<svg class="mx-auto mb-4 w-14 h-14 text-gray-400 dark:text-gray-200" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg>
|
||||
<h3 class="mb-3 text-lg font-normal text-gray-500 dark:text-gray-400">Padam nama ini dalam senarai hitam?</h3>
|
||||
<h3 class=" text-lg font-bold text-blue-500 dark:text-red-400">{{ this.nama }}</h3>
|
||||
<h3 class="mb-5 text-lg font-bold text-blue-500 dark:text-red-400">{{ this.nokp }}</h3>
|
||||
<button v-on:click="deleteBlacklist()" type="button" class="text-white bg-red-600 hover:bg-red-800 focus:ring-4 focus:ring-red-300 font-medium rounded-lg text-sm inline-flex items-center px-5 py-2.5 text-center mr-2">
|
||||
Setuju
|
||||
</button>
|
||||
<button v-on:click="showDelete = false" type="button" class="text-gray-500 bg-white hover:bg-gray-100 focus:ring-4 focus:ring-gray-300 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-10 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600">Batal</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="bg-gray-50 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse"
|
||||
>
|
||||
<button
|
||||
@click="show = false"
|
||||
type="button"
|
||||
class="w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-600 text-base font-medium text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm"
|
||||
>
|
||||
Deactivate
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
class="mt-3 w-full inline-flex justify-center rounded-md border border-gray-300 shadow-sm px-4 py-2 bg-white text-base font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 sm:mt-0 sm:ml-3 sm:w-auto sm:text-sm"
|
||||
>
|
||||
Cancel
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</transition>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</transition>
|
||||
</div>
|
||||
|
||||
<div v-if="showDelete" class="opacity-25 fixed inset-0 z-40 bg-black"></div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "delmodal",
|
||||
|
||||
data() {
|
||||
return {
|
||||
show: false,
|
||||
};
|
||||
showDelete: false,
|
||||
deleteid: 0,
|
||||
nama:'',
|
||||
nokp:''
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style lang="postcss" scoped>
|
||||
.badge {
|
||||
@apply inline-block bg-gray-200 rounded-full px-3 py-1 text-sm font-semibold text-gray-700;
|
||||
&:hover {
|
||||
@apply bg-gray-300;
|
||||
methods: {
|
||||
async deleteBlacklist(){
|
||||
let response = await this.EngineDelete(this.deleteid)
|
||||
if(response.data === 1)
|
||||
{
|
||||
this.showDelete = !this.showDelete;
|
||||
this.$toast.success('Berjaya! nama tersebut berjaya disenarai putih.')
|
||||
setTimeout(()=>{
|
||||
this.$emit('clickDelete_', 1)
|
||||
},1000);
|
||||
}else{
|
||||
this.$toast.danger('Tidak Berjaya! memadamkan nama tersebut.')
|
||||
}
|
||||
},
|
||||
EngineDelete(id){
|
||||
return this.axios.post(this.$api1 + '/admin/DeleteBlacklist',
|
||||
{
|
||||
id: id
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
.ease-out-overlay-enter-active,
|
||||
.ease-out-overlay-leave-active {
|
||||
@apply opacity-100 duration-300;
|
||||
}
|
||||
|
||||
.ease-out-overlay-enter, .ease-out-overlay-leave-to /* .fade-leave-active below version 2.1.8 */ {
|
||||
@apply opacity-0 duration-200;
|
||||
}
|
||||
|
||||
.ease-out-modal-enter-active,
|
||||
.ease-out-modal-leave-active {
|
||||
@apply opacity-100 translate-y-0 sm:scale-100 duration-300;
|
||||
}
|
||||
|
||||
.ease-out-modal-enter, .ease-out-modal-leave-to /* .fade-leave-active below version 2.1.8 */ {
|
||||
@apply ease-in opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95 duration-200;
|
||||
}
|
||||
</style>
|
||||
@@ -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,
|
||||
@@ -200,4 +203,4 @@ export default {
|
||||
}
|
||||
},
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
||||
@@ -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,6 +1,7 @@
|
||||
<template>
|
||||
<div class="">
|
||||
|
||||
<deletemodal ref="delmodal" @clickDelete_="getBlacklist"></deletemodal>
|
||||
<modal ref="modal" @clickEvent_="getBlacklist"></modal>
|
||||
|
||||
<div class="flex justify-between mb-2">
|
||||
@@ -70,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">
|
||||
<button class="border border-red-600 text-red-600 font-montserrat py-2 px-4 font-medium rounded-xl hover:bg-red-600 hover:text-white transition-all duration-300">
|
||||
<button data-modal-toggle="popup-modal" @click="deleteBlacklist(blacklist.id,blacklist.nama,blacklist.nokp)" class="border border-red-600 text-red-600 font-montserrat py-2 px-4 font-medium rounded-xl hover:bg-red-600 hover:text-white transition-all duration-300">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16" />
|
||||
</svg>
|
||||
@@ -90,11 +91,14 @@
|
||||
<script>
|
||||
import pagination from '../components/pagination.vue'
|
||||
import modal from '../components/util/BlacklistModal.vue'
|
||||
import deletemodal from '../components/util/Deletemodal.vue'
|
||||
|
||||
export default {
|
||||
components: {
|
||||
pagination,
|
||||
modal
|
||||
modal,
|
||||
deletemodal
|
||||
|
||||
},
|
||||
data(){
|
||||
return{
|
||||
@@ -139,6 +143,12 @@ export default {
|
||||
this.$refs.modal.showModal = true;
|
||||
this.$refs.modal.kodcaw = this.$kodcaw;
|
||||
|
||||
},
|
||||
deleteBlacklist(id,nama,nokp){
|
||||
this.$refs.delmodal.deleteid = id;
|
||||
this.$refs.delmodal.nama = nama;
|
||||
this.$refs.delmodal.nokp = nokp;
|
||||
this.$refs.delmodal.showDelete = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
<template>
|
||||
<div>
|
||||
<vue-html5-editor :content="content" :auto-height="true" @change="checkdetails" :show-module-name="false"></vue-html5-editor>
|
||||
<div class="flex justify-end mt-2">
|
||||
<button class="bg-blue-500 text-white active:bg-lightBlue-600 font-bold uppercase text-sm px-6 py-3 rounded shadow hover:shadow-lg outline-none focus:outline-none mr-1 mb-1 ease-linear transition-all duration-150" type="button">
|
||||
<span v-if="submitStatus === 'PENDING'"><i class="animate-spin fas fa-spinner mr-2"></i>Loading..</span>
|
||||
<span v-else @click="updateData">Kemaskini</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
content: '',
|
||||
submitStatus:''
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.axios.get(this.$hostname + '/api/details/notislelong/' + this.$kodcaw).then(response => {
|
||||
this.content = response.data[0].para2;
|
||||
});
|
||||
},
|
||||
methods:{
|
||||
checkdetails: function(data){
|
||||
this.content = data;
|
||||
},
|
||||
updateData() {
|
||||
// do your submit logic here
|
||||
this.submitStatus = 'PENDING'
|
||||
let result = this.PostData()
|
||||
let pro1 = Promise.resolve(result)
|
||||
let self = this
|
||||
|
||||
pro1.then(function(response) {
|
||||
if(response.data == 1)
|
||||
{
|
||||
setTimeout(() => {
|
||||
self.submitStatus = 'OK'
|
||||
self.$toast.success('Berjaya dikemaskini!')
|
||||
}, 500)
|
||||
}else{
|
||||
self.$toast.error('Error occured')
|
||||
self.submitStatus = 'OK'
|
||||
}
|
||||
}, function(e) {
|
||||
console.error(e); // TypeError: Throwing
|
||||
});
|
||||
},
|
||||
async PostData(){
|
||||
console.log(this.content);
|
||||
let response = await this.axios.put(this.$hostname + '/admin/notislelong/update/' + this.$kodcaw,
|
||||
{
|
||||
content: this.content
|
||||
});
|
||||
console.log(response);
|
||||
return response
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
Vendored
+12
@@ -10,6 +10,12 @@ import Ansuran from './Akaun/Ansuran'
|
||||
import Upah from './Akaun/Upah'
|
||||
import Tuntutbaki from './Akaun/Tuntutbaki'
|
||||
import Pendahuluanserahan from './Akaun/Pendahuluanserahan'
|
||||
import Lelong from './Akaun/Lelong'
|
||||
import KawalanStok from './Akaun/KawalanStok'
|
||||
import StokAudit from './Akaun/StokAudit'
|
||||
import Perbelanjaan from './Akaun/Perbelanjaan'
|
||||
import RingkasanHarian from './Akaun/RingkasanHarian'
|
||||
|
||||
|
||||
import OnlineHome from './Online/SearchSAG'
|
||||
|
||||
@@ -35,6 +41,12 @@ export default new VueRouter({
|
||||
{ path: '/akaunhome/upah', component: Upah },
|
||||
{ path: '/akaunhome/Tuntutbaki', component: Tuntutbaki },
|
||||
{ path: '/akaunhome/Pendahuluanserahan', component: Pendahuluanserahan },
|
||||
{ path: '/akaunhome/Lelong', component: Lelong },
|
||||
{ path: '/akaunhome/KawalanStok', component: KawalanStok },
|
||||
{ path: '/akaunhome/StokAudit', component: StokAudit },
|
||||
{ path: '/akaunhome/Perbelanjaan', component: Perbelanjaan },
|
||||
{ path: '/akaunhome/RingkasanHarian', component: RingkasanHarian },
|
||||
|
||||
|
||||
{ path: '/bajet/kemaskini', component: SenaraiBajet },
|
||||
{ name: 'bajetkemaskini',path: '/bajet/kemaskini/:id', component: BajetKemaskini }
|
||||
|
||||
Reference in New Issue
Block a user