fix wtd
This commit is contained in:
@@ -38,6 +38,7 @@
|
||||
"apexcharts": "^3.35.0",
|
||||
"jw-vue-pagination": "^1.0.3",
|
||||
"laravel-echo": "^1.11.4",
|
||||
"npm-watch": "^0.11.0",
|
||||
"pusher-js": "^7.0.6",
|
||||
"table2excel": "^1.0.4",
|
||||
"vue-apexcharts": "^1.6.2",
|
||||
|
||||
+60
-12
@@ -1,46 +1,94 @@
|
||||
<template>
|
||||
<div>
|
||||
|
||||
<router-link to="/wtd">
|
||||
<i class="fas fa-backspace fa-3x text-yellow-500"></i>
|
||||
</router-link>
|
||||
|
||||
<div class="mx-auto mt-10 mb-10 flex justify-center grid grid-cols-4">
|
||||
|
||||
<div v-for="(sb,i) in serahbakiarray" :key="i">
|
||||
<div v-for="(sb,i) in serahbakiarray.data" :key="i">
|
||||
<router-link :to="{ name: '/selectwtd', params: { batchno: sb.batchno }, query:{ aktif: sb.aktif,totalbaki: sb.baki },}">
|
||||
<a href="#" class="block p-6 max-w-sm bg-white rounded-lg border border-gray-200 shadow-md hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700">
|
||||
<a href="#" class="block p-6 mr-2 bg-white rounded-lg border border-gray-200 shadow-md hover:bg-gray-100 dark:bg-gray-800 dark:border-gray-700 dark:hover:bg-gray-700">
|
||||
<h5 class="mb-2 text-2xl font-bold tracking-tight text-gray-900 dark:text-white">BATCH NO : {{ sb.batchno }}</h5>
|
||||
<p class="font-normal text-gray-700 dark:text-gray-400">Jumlah Wang Tak Dituntut : RM {{ formattext(sb.baki) }}</p>
|
||||
<p class="font-normal text-gray-700 dark:text-gray-400">Diprocess : {{ sb.aktif ? 'Sudah Diproses' : 'Belum Diproses' }}</p>
|
||||
<div class="flex flex-row font-normal text-gray-700 dark:text-gray-400">
|
||||
<div class="w-1/3">Jumlah WTD</div>
|
||||
<div>:</div>
|
||||
<div class="ml-2 w-1/3"><b>RM {{ formattext(sb.baki) }} </b></div>
|
||||
</div>
|
||||
<div class="flex flex-row font-normal text-gray-700 dark:text-gray-400">
|
||||
<div class="w-1/3">Diprocess
|
||||
</div>
|
||||
<div>:</div>
|
||||
<div class="w-1/3 ml-2">
|
||||
<span v-bind:class="getClass(sb.aktif)" class="text-xs font-semibold inline-block py-1 px-2 uppercase rounded uppercase last:mr-0 mr-1">{{ sb.aktif ? 'Selesai' : 'Belum' }} </span>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</router-link>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<pagination :data="serahbakiarray" @clickEvent_="getRekod"></pagination>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import pagination from '../components/pagination.vue'
|
||||
import {
|
||||
ChevronLeftIcon,
|
||||
ChevronRightIcon,
|
||||
ChevronDoubleRightIcon,
|
||||
ChevronDoubleLeftIcon
|
||||
} from '@vue-hero-icons/solid'
|
||||
|
||||
const formatter = new Intl.NumberFormat('en-US', {
|
||||
minimumFractionDigits: 2
|
||||
});
|
||||
|
||||
export default {
|
||||
components: {
|
||||
ChevronLeftIcon,
|
||||
ChevronRightIcon,
|
||||
ChevronDoubleLeftIcon,
|
||||
ChevronDoubleRightIcon,
|
||||
pagination
|
||||
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
cawangan: '',
|
||||
serahbakiarray: {},
|
||||
loaderserah: false,
|
||||
currentPage: 1,
|
||||
paginate: {},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
formattext: function (value) {
|
||||
return formatter.format(value);
|
||||
},
|
||||
getClass(property) {
|
||||
return {
|
||||
'text-green-600 bg-green-200 ': property,
|
||||
'text-pink-600 bg-pink-200 ': !property
|
||||
}
|
||||
},
|
||||
getRekod(pageNumber) {
|
||||
this.axios.get(this.$hostname + '/admin/wtd/rekod/', {
|
||||
params: {
|
||||
kodcaw: this.$kodcaw,
|
||||
page: pageNumber
|
||||
|
||||
}
|
||||
}).then(response => {
|
||||
this.serahbakiarray = response.data;
|
||||
this.paginate = response.data
|
||||
this.currentPage = pageNumber
|
||||
})
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.axios.get(this.$hostname + '/admin/wtd/rekod/', {
|
||||
params: {
|
||||
kodcaw: this.$kodcaw,
|
||||
}
|
||||
}).then(response => {
|
||||
this.serahbakiarray = response.data;
|
||||
})
|
||||
this.getRekod(this.currentPage)
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
<template>
|
||||
<div>
|
||||
|
||||
<router-link to="/wtd">
|
||||
<i class="fas fa-backspace fa-3x text-yellow-500"></i>
|
||||
</router-link>
|
||||
|
||||
<div v-if="arraybakilelong.length > 0" class="relative bg-white overflow-x-auto shadow-md sm:rounded-lg px-8 py-6">
|
||||
|
||||
<div class="flex justify-between">
|
||||
|
||||
<div class="p-4">
|
||||
<h1 class="text-xl font-bold bg-clip-text text-transparent bg-gradient-to-br from-gray-500 to-gray-700">JUMLAH = RM {{ this.totalbaki }}</h1>
|
||||
<h1 class="text-xl font-bold bg-clip-text text-transparent bg-gradient-to-br from-gray-500 to-gray-700">JUMLAH = RM {{ formattext(this.totalbaki) }}</h1>
|
||||
</div>
|
||||
<div class="p-4">
|
||||
<button @click.prevent="proseswtd" :disabled="aktif == 1" :class="{'hover:bg-yellow-600 bg-yellow-600 border-yellow-600': aktif == 0}" class="border border-yellow-300 text-white bg-yellow-300 font-montserrat py-2 px-8 font-medium rounded-xl transition-all duration-300">Proses WTD</button>
|
||||
@@ -51,10 +55,10 @@
|
||||
{{ bl.t_lelong }}
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
{{ bl.pinjaman }}
|
||||
{{ formattext(bl.pinjaman) }}
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
{{ bl.baki }}
|
||||
{{ formattext(bl.baki) }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@@ -64,6 +68,10 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
const formatter = new Intl.NumberFormat('en-US', {
|
||||
minimumFractionDigits: 2
|
||||
});
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -110,6 +118,9 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
formattext: function (value) {
|
||||
return formatter.format(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -65,10 +65,10 @@
|
||||
{{ bl.t_lelong }}
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
{{ bl.pinjaman }}
|
||||
{{ formattext(bl.pinjaman) }}
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
{{ bl.baki }}
|
||||
{{ formattext(bl.baki) }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@@ -98,6 +98,9 @@ export default {
|
||||
},
|
||||
props: ['bakilelong', 'bulanmula', 'bulanhingga'],
|
||||
methods: {
|
||||
formattext: function (value) {
|
||||
return formatter.format(value);
|
||||
},
|
||||
async associate() {
|
||||
this.arraybakilelong = this.$props.bakilelong;
|
||||
},
|
||||
@@ -211,7 +214,7 @@ export default {
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
this.blockwtd();
|
||||
blockseterusnya = true;
|
||||
this.blockseterusnya = true;
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
+13
-17
@@ -1,13 +1,12 @@
|
||||
<template>
|
||||
<div class="mx-auto">
|
||||
|
||||
<div v-if="loadbakilelong == 'process'" class="inset-0 z-30 h-full w-full flex mx-auto p-20 m-20" id="loading">
|
||||
<i class="animate-spin fas fa-circle-notch fa-4x m-auto text-yellow-500"></i>
|
||||
</div>
|
||||
<div v-if="loadbakilelong == null" class=" w-2/5 mx-auto">
|
||||
<form class="bg-white shadow-md rounded-lg px-8 pt-6 pb-4 mb-4" onclick="return false">
|
||||
|
||||
|
||||
|
||||
<div class="mb-4">
|
||||
<label class="block text-gray-500 font-medium text-sm mb-2">Pilihan Melalui Bulan dan Tahun</label>
|
||||
<div class="flex flex-wrap">
|
||||
@@ -27,8 +26,6 @@
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<senarai-baki :bakilelong="bakilelong" :bulanmula="mula" :bulanhingga="hingga" ref="senaraibaki" @updateLoad="updateLoad"></senarai-baki>
|
||||
</div>
|
||||
</template>
|
||||
@@ -44,22 +41,22 @@ export default {
|
||||
mula: null,
|
||||
hingga: null,
|
||||
loadbakilelong: null,
|
||||
bakilelong:[],
|
||||
bakilelong: [],
|
||||
config: {
|
||||
wrap: false, // set wrap to true only when using 'input-group'
|
||||
maxDate: 'today',
|
||||
plugins: [
|
||||
new monthSelectPlugin({
|
||||
shorthand: true, //defaults to false
|
||||
dateFormat: "m-Y", //defaults to "F Y"
|
||||
altFormat: "F Y", //defaults to "F Y"
|
||||
shorthand: true, //defaults to false
|
||||
dateFormat: "m-Y", //defaults to "F Y"
|
||||
altFormat: "F Y", //defaults to "F Y"
|
||||
})
|
||||
]
|
||||
]
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async generatebakilelong () {
|
||||
async generatebakilelong() {
|
||||
let cawangan = this.$kodcaw;
|
||||
|
||||
this.loadbakilelong = 'process';
|
||||
@@ -76,22 +73,21 @@ export default {
|
||||
this.bakilelong = response.data;
|
||||
this.loadbakilelong = 'success';
|
||||
|
||||
if(this.bakilelong.length <= 0)
|
||||
{
|
||||
if (this.bakilelong.length <= 0) {
|
||||
this.loadbakilelong = null;
|
||||
this.$swal(
|
||||
'Amaran',
|
||||
'Baki lelong tiada dalam senarai',
|
||||
'error'
|
||||
'Amaran',
|
||||
'Baki lelong tiada dalam senarai',
|
||||
'error'
|
||||
)
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
await this.$refs.senaraibaki.associate();
|
||||
}
|
||||
|
||||
},
|
||||
updateLoad: function(){
|
||||
updateLoad: function () {
|
||||
this.loadbakilelong = null;
|
||||
this.bakilelong = null;
|
||||
this.mula = null;
|
||||
|
||||
Vendored
+3
-3
@@ -126,18 +126,18 @@ Vue.use(require('vue-pusher'), {
|
||||
}
|
||||
});
|
||||
|
||||
Vue.prototype.$api1 = 'http://localhost:8000/'
|
||||
Vue.prototype.$api1 = 'http://api.arrahn'
|
||||
Vue.prototype.$username = document.querySelector("meta[name='user_name']").getAttribute('content');
|
||||
Vue.prototype.$userroles = document.querySelector("meta[name='user_roles']").getAttribute('content');
|
||||
|
||||
|
||||
let initial = 'KB2';
|
||||
let initialhostname = 'http://localhost:8000/';
|
||||
let initialhostname = 'http://api.arrahn';
|
||||
|
||||
const store = new Vuex.Store({
|
||||
state: {
|
||||
$kodcaw: 'KB2',
|
||||
$hostname: 'http://localhost:8000/'
|
||||
$hostname: 'http://api.arrahn'
|
||||
},
|
||||
plugins: [createPersistedState()],
|
||||
mutations: {
|
||||
|
||||
@@ -1,203 +1,225 @@
|
||||
<template>
|
||||
<div class="mb-4 w-full grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4">
|
||||
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8">
|
||||
<div class="mb-4 w-full grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4">
|
||||
|
||||
<h3 class="text-xl font-bold text-gray-500">Data Lelong</h3>
|
||||
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8" v-if="datasebenar === false">
|
||||
<content-placeholders>
|
||||
<content-placeholders-heading :img="true" />
|
||||
<content-placeholders-text :lines="3" />
|
||||
</content-placeholders>
|
||||
</div>
|
||||
|
||||
<div class="relative overflow-x-auto shadow-md sm:rounded-lg">
|
||||
<table class="w-full text-sm text-left text-gray-500 dark:text-gray-400">
|
||||
<thead class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
|
||||
<tr>
|
||||
<th scope="col" class="px-6 py-3">
|
||||
Bulan
|
||||
</th>
|
||||
<th scope="col" class="px-6 py-3">
|
||||
Bil
|
||||
</th>
|
||||
<th scope="col" class="px-6 py-3">
|
||||
%
|
||||
</th>
|
||||
<th scope="col" class="px-6 py-3">
|
||||
RM
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="bg-white border-b dark:bg-gray-800 dark:border-gray-700">
|
||||
<th class="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
|
||||
1
|
||||
</th>
|
||||
<td class="px-6 py-4">
|
||||
21
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
10
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
1,232.32
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="bg-white border-b dark:bg-gray-800 dark:border-gray-700">
|
||||
<th scope="row" class="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
|
||||
2
|
||||
</th>
|
||||
<td class="px-6 py-4">
|
||||
11
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
43
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
5,000.00
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="bg-white dark:bg-gray-800">
|
||||
<th scope="row" class="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
|
||||
3
|
||||
</th>
|
||||
<td class="px-6 py-4">
|
||||
3
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
54
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
3,432.00
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="bg-white dark:bg-gray-800">
|
||||
<th scope="row" class="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
|
||||
3
|
||||
</th>
|
||||
<td class="px-6 py-4">
|
||||
3
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
54
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
3,432.00
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="bg-white dark:bg-gray-800">
|
||||
<th scope="row" class="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
|
||||
3
|
||||
</th>
|
||||
<td class="px-6 py-4">
|
||||
3
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
54
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
3,432.00
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="bg-white dark:bg-gray-800">
|
||||
<th scope="row" class="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
|
||||
3
|
||||
</th>
|
||||
<td class="px-6 py-4">
|
||||
3
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
54
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
3,432.00
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="bg-white dark:bg-gray-800">
|
||||
<th scope="row" class="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
|
||||
3
|
||||
</th>
|
||||
<td class="px-6 py-4">
|
||||
3
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
54
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
3,432.00
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="bg-white dark:bg-gray-800">
|
||||
<th scope="row" class="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
|
||||
3
|
||||
</th>
|
||||
<td class="px-6 py-4">
|
||||
3
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
54
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
3,432.00
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="bg-white dark:bg-gray-800">
|
||||
<th scope="row" class="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
|
||||
3
|
||||
</th>
|
||||
<td class="px-6 py-4">
|
||||
3
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
54
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
3,432.00
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="bg-white dark:bg-gray-800">
|
||||
<th scope="row" class="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
|
||||
3
|
||||
</th>
|
||||
<td class="px-6 py-4">
|
||||
3
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
54
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
3,432.00
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="bg-white dark:bg-gray-800">
|
||||
<th scope="row" class="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
|
||||
3
|
||||
</th>
|
||||
<td class="px-6 py-4">
|
||||
3
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
54
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
3,432.00
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="bg-white dark:bg-gray-800">
|
||||
<th scope="row" class="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
|
||||
3
|
||||
</th>
|
||||
<td class="px-6 py-4">
|
||||
3
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
54
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
3,432.00
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8" v-if="datasebenar === true">
|
||||
|
||||
<h3 class="text-xl font-bold text-gray-500 mb-4">Data Sebenar</h3>
|
||||
|
||||
<div class="relative overflow-x-auto shadow-md sm:rounded-lg">
|
||||
<table class="w-full text-sm text-left text-gray-500 dark:text-gray-400">
|
||||
<thead class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
|
||||
<tr>
|
||||
<th scope="col" class="px-6 py-3">
|
||||
Tempoh
|
||||
</th>
|
||||
<th scope="col" class="px-6 py-3">
|
||||
Bil
|
||||
</th>
|
||||
<th scope="col" class="px-6 py-3">
|
||||
RM
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(n,index) in 13" :key="index" class="bg-white border-b dark:bg-gray-800 dark:border-gray-700">
|
||||
<th class="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
|
||||
{{ (n == 13) ? '12 > ' : n }} Bulan
|
||||
</th>
|
||||
<td class="px-6 py-4">
|
||||
{{ collectionsebenar.count[index].toFixed(0) }}
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
{{ formatterfunction(collectionsebenar.sum[index]) }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
|
||||
<tr>
|
||||
<th class="px-6 py-4">Keseluruhan</th>
|
||||
<th class="px-6 py-4">{{ collectionsebenar.count[13].toFixed(0) }}</th>
|
||||
<th class="px-6 py-4">{{ formatterfunction(collectionsebenar.sum[13]) }}</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8">das</div>
|
||||
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8">dasdsa</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8" v-if="datalelong === false">
|
||||
<content-placeholders>
|
||||
<content-placeholders-heading :img="true" />
|
||||
<content-placeholders-text :lines="3" />
|
||||
</content-placeholders>
|
||||
</div>
|
||||
|
||||
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8" v-if="datalelong === true">
|
||||
<h3 class="text-xl font-bold text-gray-500 mb-4">Data Lelong</h3>
|
||||
|
||||
<div class="relative overflow-x-auto shadow-md sm:rounded-lg">
|
||||
<table class="w-full text-sm text-left text-gray-500 dark:text-gray-400">
|
||||
<thead class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
|
||||
<tr>
|
||||
<th scope="col" class="px-6 py-3">
|
||||
Tempoh
|
||||
</th>
|
||||
<th scope="col" class="px-6 py-3">
|
||||
Bil
|
||||
</th>
|
||||
<th scope="col" class="px-6 py-3">
|
||||
RM
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(n,index) in 13" :key="index" class="bg-white border-b dark:bg-gray-800 dark:border-gray-700">
|
||||
<th class="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
|
||||
{{ (n == 13) ? '12 > ' : n }} Bulan
|
||||
</th>
|
||||
<td class="px-6 py-4">
|
||||
{{ collectionlelong.count[index].toFixed(0) }}
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
{{ formatterfunction(collectionlelong.sum[index]) }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
|
||||
<tr>
|
||||
<th class="px-6 py-4">Keseluruhan</th>
|
||||
<th class="px-6 py-4">{{ collectionlelong.count[13].toFixed(0) }}</th>
|
||||
<th class="px-6 py-4">{{ formatterfunction(collectionlelong.sum[13]) }}</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8" v-if="datafilter === false">
|
||||
<content-placeholders>
|
||||
<content-placeholders-heading :img="true" />
|
||||
<content-placeholders-text :lines="3" />
|
||||
</content-placeholders>
|
||||
</div>
|
||||
<div class="bg-white shadow rounded-lg p-4 sm:p-6 xl:p-8" v-if="datafilter === true">
|
||||
<h3 class="text-xl font-bold text-gray-500 mb-4">Data Filter</h3>
|
||||
|
||||
<div class="relative overflow-x-auto shadow-md sm:rounded-lg">
|
||||
<table class="w-full text-sm text-left text-gray-500 dark:text-gray-400">
|
||||
<thead class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
|
||||
<tr>
|
||||
<th scope="col" class="px-6 py-3">
|
||||
Tempoh
|
||||
</th>
|
||||
<th scope="col" class="px-6 py-3">
|
||||
Bil
|
||||
</th>
|
||||
<th scope="col" class="px-6 py-3">
|
||||
RM
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(n,index) in 13" :key="index" class="bg-white border-b dark:bg-gray-800 dark:border-gray-700">
|
||||
<th class="px-6 py-4 font-medium text-gray-900 dark:text-white whitespace-nowrap">
|
||||
{{ (n == 13) ? '12 > ' : n }} Bulan
|
||||
</th>
|
||||
<td class="px-6 py-4">
|
||||
{{ collectionfilter.count[index].toFixed(0) }}
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
{{ formatterfunction(collectionfilter.sum[index]) }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
|
||||
<tr>
|
||||
<th class="px-6 py-4">Keseluruhan</th>
|
||||
<th class="px-6 py-4">{{ collectionfilter.count[13].toFixed(0) }}</th>
|
||||
<th class="px-6 py-4">{{ formatterfunction(collectionfilter.sum[13]) }}</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
const formatter = new Intl.NumberFormat('en-US', {
|
||||
minimumFractionDigits: 2
|
||||
});
|
||||
|
||||
export default {
|
||||
|
||||
data() {
|
||||
return {
|
||||
collectionsebenar: {},
|
||||
collectionlelong: {},
|
||||
collectionfilter: {},
|
||||
datasebenar: false,
|
||||
datalelong: false,
|
||||
datafilter: false,
|
||||
|
||||
}
|
||||
},
|
||||
async created() {
|
||||
await this.getDataSebenar();
|
||||
await this.getDataLelong();
|
||||
await this.getDataFilter();
|
||||
},
|
||||
methods: {
|
||||
getDataSebenar() {
|
||||
this.axios.get(this.$hostname + '/admin/dashboard/aging', {
|
||||
params: {
|
||||
kodcaw: this.$kodcaw,
|
||||
options: 'sebenar'
|
||||
}
|
||||
}).then(response => {
|
||||
this.collectionsebenar = response.data;
|
||||
|
||||
if (this.datasebenar == false)
|
||||
this.datasebenar = true;
|
||||
});
|
||||
},
|
||||
getDataLelong() {
|
||||
this.axios.get(this.$hostname + '/admin/dashboard/aging', {
|
||||
params: {
|
||||
kodcaw: this.$kodcaw,
|
||||
options: 'datalelong'
|
||||
}
|
||||
}).then(response => {
|
||||
this.collectionlelong = response.data;
|
||||
|
||||
if (this.datalelong == false)
|
||||
this.datalelong = true;
|
||||
});
|
||||
},
|
||||
getDataFilter() {
|
||||
this.axios.get(this.$hostname + '/admin/dashboard/aging', {
|
||||
params: {
|
||||
kodcaw: this.$kodcaw,
|
||||
options: 'filter'
|
||||
}
|
||||
}).then(response => {
|
||||
this.collectionfilter = response.data;
|
||||
|
||||
if (this.datafilter == false)
|
||||
this.datafilter = true;
|
||||
});
|
||||
},
|
||||
formatterfunction(value) {
|
||||
return formatter.format(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
case 'JLI':
|
||||
case 'ARP':
|
||||
case '020303':{
|
||||
this.sethostname('http://localhost:8000/')
|
||||
this.sethostname('http://api.arrahn')
|
||||
break;
|
||||
}
|
||||
case '010621':
|
||||
@@ -114,7 +114,7 @@
|
||||
this.sethostname('http://api3.arrahn')
|
||||
break;
|
||||
}
|
||||
default: this.sethostname('http://localhost:8000')
|
||||
default: this.sethostname('http://api.arrahn')
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,19 +16,19 @@
|
||||
<div v-if="data.total > 0" class="hidden sm:flex-1 sm:flex flex sm:items-center sm:justify-between ">
|
||||
<div>
|
||||
<p class="text-sm text-gray-700">
|
||||
Showing
|
||||
<!--Showing --> Menunjukkan
|
||||
{{ ' ' }}
|
||||
<span class="font-medium">{{ to }}</span>
|
||||
<span class="font-medium"><b>{{ to }}</b></span>
|
||||
{{ ' ' }}
|
||||
to
|
||||
<!-- to --> hingga
|
||||
{{ ' ' }}
|
||||
<span class="font-medium">{{ from }}</span>
|
||||
<span class="font-medium"><b>{{ from }}</b></span>
|
||||
{{ ' ' }}
|
||||
of
|
||||
<!-- of --> daripada
|
||||
{{ ' ' }}
|
||||
<span class="font-medium">{{ total }}</span>
|
||||
<span class="font-medium"><b>{{ total }}</b></span>
|
||||
{{ ' ' }}
|
||||
records
|
||||
<!-- records --> rekod
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
<button @click.prevent="getPreviousPage"
|
||||
class="relative inline-flex items-center px-2 py-2 rounded-l-md border border-gray-300 bg-white text-sm font-medium text-gray-500"
|
||||
:class="data.current_page == 1 ? 'text-gray-300 cursor-not-allowed' : 'hover:bg-gray-50' ">
|
||||
<span class="sr-only">Previous</span>
|
||||
<span class="sr-only"> <!-- Previous -->Sebelum</span>
|
||||
<svg class="h-5 w-5" :class="{'text-gray-400': data.current_page == 1}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"
|
||||
aria-hidden="true">
|
||||
<path fill-rule="evenodd"
|
||||
@@ -66,7 +66,7 @@
|
||||
<button @click.prevent="getNextPage"
|
||||
class="relative inline-flex items-center px-2 py-2 rounded-r-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50"
|
||||
:class="{'text-gray-300 cursor-not-allowed': data.current_page >= data.last_page}">
|
||||
<span class="sr-only">Next</span>
|
||||
<span class="sr-only"><!--Next-->Selepas</span>
|
||||
<svg class="h-5 w-5" :class="{'text-gray-400': data.current_page >= data.last_page}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"
|
||||
aria-hidden="true">
|
||||
<path fill-rule="evenodd"
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
<tahunan-component kodcaw={{ Auth::user()->cawangan }}></tahunan-component>
|
||||
|
||||
{{-- <aging-component></aging-component> --}}
|
||||
<aging-component></aging-component>
|
||||
|
||||
<bilangan-component kodcaw={{ Auth::user()->cawangan }}></bilangan-component>
|
||||
|
||||
|
||||
@@ -159,9 +159,9 @@
|
||||
@endif
|
||||
@else
|
||||
@if(Auth::user()->roles == 'operasi')
|
||||
<div class="mr-4">
|
||||
{{-- <div class="mr-4">
|
||||
<notify-component></notify-component>
|
||||
</div>
|
||||
</div> --}}
|
||||
@endif
|
||||
<logout-component csrftoken="{{ csrf_token() }}" :route={{ json_encode(route('logout')) }}></logout-component>
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<footer class="bg-white md:flex md:items-center md:justify-between shadow rounded-lg p-4 md:p-6 xl:p-8 my-6 mx-4">
|
||||
<ul class="flex items-center flex-wrap mb-6 md:mb-0">
|
||||
<li><p class="text-sm font-normal text-gray-500 mr-4 md:mr-6">Permodalan Kelantan Berhad © 2022 All Rights Reserved</p></li>
|
||||
<li><p class="text-sm font-normal text-gray-500 mr-4 md:mr-6">Permodalan Kelantan Berhad © 2022 Hak cipta terpelihara</p></li>
|
||||
{{-- <li><p class="text-sm font-normal text-gray-500 mr-4 md:mr-6">Paparan terbaik menggunakan Mozilla Firefox, Google Chrome & Internet Explorer 9.0 ke atas dengan resolusi 1920 x 1080</p></li> --}}
|
||||
|
||||
</ul>
|
||||
|
||||
@@ -170,7 +170,7 @@
|
||||
</li>
|
||||
</a>
|
||||
|
||||
<a href="{{ route('kelulusan') }}" class="rounded mb-2 mr-2 {{ Route::is('kelulusan') || Route::is('kelulusan.*') ? 'bg-gray-200 rounded text-white-500' : 'hover:bg-yellow-300 ' }}">
|
||||
{{-- <a href="{{ route('kelulusan') }}" class="rounded mb-2 mr-2 {{ Route::is('kelulusan') || Route::is('kelulusan.*') ? 'bg-gray-200 rounded text-white-500' : 'hover:bg-yellow-300 ' }}">
|
||||
<li class="flex w-full justify-between text-gray-600 hover:text-gray-500 cursor-pointer items-center ">
|
||||
<div class="flex items-center">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
@@ -179,7 +179,7 @@
|
||||
<span class="text-sm ml-2 text-lg">Kelulusan</span>
|
||||
</div>
|
||||
</li>
|
||||
</a>
|
||||
</a> --}}
|
||||
|
||||
|
||||
<a href="{{ route('akaun.home') }}" class="rounded mb-2 mr-2 {{ Route::is('akaun.home') || Route::is('akaun.home.*') ? 'bg-gray-200 rounded text-white-500' : 'hover:bg-yellow-300 ' }}">
|
||||
|
||||
Reference in New Issue
Block a user