fix skit2

This commit is contained in:
hafifierahman
2022-03-27 11:13:27 +08:00
parent f309943fb0
commit 16b5bfb869
12 changed files with 1476 additions and 575 deletions
@@ -9,6 +9,7 @@ use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Hash;
use Carbon\Carbon;
use DateTime;
class PermohonanController extends Controller
{
@@ -28,4 +29,20 @@ class PermohonanController extends Controller
else
return 0;
}
public function CetakanPB(Request $request)
{
$cawangan=Http::get(config('api.url').'/api/cawangan/detail/'. $request->cawangan)->json();
$cawangan_detail=$cawangan[0];
$current = Carbon::now();
$tarikh_cetak = $current->toDateString();
$myDateTime = DateTime::createFromFormat('Y-m-d', $tarikh_cetak);
$tarikhcetakan = $myDateTime->format('d-m-Y');
$permohonan=Http::get(config('api.url').'/admin/permohonan/get/'. $request->cawangan .'/'. $request->mohonid)->json();
return view('permohonan.cetakanpb', compact('cawangan_detail','permohonan','tarikhcetakan'));
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 911 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

+529
View File
@@ -0,0 +1,529 @@
<template>
<div class="mx-auto">
<pbmodal ref="modal" @clickEvent_="getSenaraiMohon"></pbmodal>
<bankmodal ref="bankmodal" @clickEvent_="getSenaraiMohon"></bankmodal>
<router-link to="/permohonan">
<i class="fas fa-backspace text-yellow-500"></i>
</router-link>
<div class="mx-auto flex justify-between mb-4">
<h1 class="font-bold flex flex-row justify-end">Rekod Permohonan</h1>
</div>
<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">
Cawangan
</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">
PetiBesi (RM)
</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">
No Permohonan
</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">
Tarikh Mohon
</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">
Jumlah Mohon (RM)
</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">
Semak
</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">
Jenis Permohonan
</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">
Tindakan
</th>
</tr>
</thead>
<tbody>
<tr v-for="(mohon,i) in showpermohonan.data" :key="i">
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
<div class="flex items-center">
<div class="ml-3">
<p class="text-gray-900 whitespace-no-wrap" v-text="namacawangan(mohon.kodcaw)">
</p>
</div>
</div>
</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">
<p class="text-gray-900 whitespace-no-wrap" v-text="formatterfunction(mohon.baki_petibesi)">
</p>
</div>
</div>
</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">
<p class="text-gray-900 whitespace-no-wrap" v-text="mohon.nopermohonan">
</p>
</div>
</div>
</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">
<p class="text-gray-900 whitespace-no-wrap" v-text="mohon.tarikh_permohonan">
</p>
</div>
</div>
</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">
<p class="text-gray-900 whitespace-no-wrap" v-text="formatterfunction(mohon.amaun_mohon)">
</p>
</div>
</div>
</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">
<router-link :to="{ name: 'permohonanstatus', params: { mohonid: mohon.mohonid }}">
<div class="border border-green-600 text-green-600 font-montserrat py-2 px-4 font-medium rounded-xl hover:bg-green-600 hover:text-white transition-all duration-300">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
<path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z" />
<path stroke-linecap="round" stroke-linejoin="round" d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z" />
</svg>
</div>
</router-link>
</div>
</div>
</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">
<p :class="mohon.jenismohon == 'permohonanwang' ? 'bg-yellow-500' : 'bg-gray-500'" class="text-white whitespace-no-wrap p-2 rounded" v-text="checkjenismohon(mohon.jenismohon)">
</p>
</div>
</div>
</td>
<td class="px-5 py-5 border-b border-gray-200 bg-white text-sm">
<span v-if="mohon.tagterima === 1" class="p-2 bg-green-500 rounded text-white">Berjaya</span>
<span v-else class="p-2 bg-red-500 rounded text-white">Batal</span>
</td>
</tr>
</tbody>
</table>
<pagination :data="paginate" @clickEvent_="getSenaraiMohon"></pagination>
</div>
</template>
<script>
import pagination from '../components/pagination.vue'
import pbmodal from '../components/util/PBmodal.vue'
import bankmodal from '../components/util/Bankmodal.vue'
const formatter = new Intl.NumberFormat('en-US', {
minimumFractionDigits: 2
});
export default {
components: {
pagination,
pbmodal,
bankmodal
},
data() {
return {
showpermohonan: {},
currentPage: 1,
paginate: {},
cawangan: {},
username: this.$username,
userroles: this.$userroles
}
},
created() {
this.getSenaraiMohon(this.currentPage)
this.axios.get('/api/check/cawangan').then(response => {
this.cawangan = response.data;
});
},
methods: {
getSenaraiMohon(pageNumber) {
this.axios.get(this.$hostname + '/admin/permohonan/rekod/admin', {
params: {
page: pageNumber
}
}).then(response => {
this.showpermohonan = response.data
this.paginate = response.data
this.currentPage = pageNumber
});
},
namacawangan(cawangannama) {
let namcaw = '';
if (this.cawangan.length > 0) {
this.cawangan.some(function (value, key) {
if (cawangannama === value.kodcaw) {
namcaw = value.details_caw
}
});
}
return namcaw;
},
formatterfunction(value) {
return formatter.format(value)
},
checkjenismohon(value) {
if (value === 'permohonanwang') {
return 'Permohonan Wang'
} else {
return 'Bayaran Balik'
}
},
async funcbatal(mohonid) {
let refer = this;
const {
value: katalaluan
} = await this.$swal({
title: 'Masukkan Katalaluan Semula',
input: 'password',
inputPlaceholder: 'Katalaluan',
confirmButtonText: 'Hantar',
showCancelButton: true,
cancelButtonText: 'Batal',
allowOutsideClick: false
})
if (katalaluan !== undefined)
await this.axios.get('/mintasemulakelulusan', {
params: {
passsemula: katalaluan
}
}).then(response => {
if (response.data === 1) {
if (this.userroles === "operasi") {
this.axios.put(this.$hostname + '/admin/permohonan/updateoperasi', {
kelulusan: "Batal",
mohonid: mohonid,
namaoperasi: this.username
}).then(response => {
if (response.data === 1) {
this.$swal({
icon: 'success',
title: 'Berjaya',
text: 'Berjaya mengemaskini maklumat pelanggan',
allowOutsideClick: false
}).then(function () {
refer.getSenaraiMohon(refer.currentPage);
});
} else {
this.$swal({
icon: 'warning',
title: 'Tidak Berjaya',
text: 'Data pelanggan tidak berjaya dikemaskini',
allowOutsideClick: false
}).then(function () {
refer.getSenaraiMohon(refer.currentPage);
});
}
});
} else if (this.userroles === "akaun") {
this.axios.put(this.$hostname + '/admin/permohonan/updateakaun', {
kelulusan: "Batal",
mohonid: mohonid,
namaakaun: this.username
}).then(response => {
if (response.data === 1) {
this.$swal({
icon: 'success',
title: 'Berjaya',
text: 'Berjaya mengemaskini maklumat pelanggan',
allowOutsideClick: false
}).then(function () {
refer.getSenaraiMohon(refer.currentPage);
});
} else {
this.$swal({
icon: 'warning',
title: 'Tidak Berjaya',
text: 'Data pelanggan tidak berjaya dikemaskini',
allowOutsideClick: false
}).then(function () {
refer.getSenaraiMohon(refer.currentPage);
});
}
});
} else {
}
} else {
this.$swal({
icon: 'warning',
title: 'Tidak Berjaya',
text: 'Kata Laluan Yang Dimasukkan Salah!!',
allowOutsideClick: false
}).then(function () {
refer.getSenaraiMohon(refer.currentPage);
});
}
});
},
async funcsetuju(mohonid) {
let refer = this;
const {
value: katalaluan
} = await this.$swal({
title: 'Masukkan Katalaluan Semula',
input: 'password',
inputPlaceholder: 'Katalaluan',
confirmButtonText: 'Hantar',
showCancelButton: true,
cancelButtonText: 'Batal',
allowOutsideClick: false
})
if (katalaluan !== undefined)
await this.axios.get('/mintasemulakelulusan', {
params: {
passsemula: katalaluan
}
}).then(response => {
if (response.data === 1) {
if (this.userroles === "operasi") {
this.axios.put(this.$hostname + '/admin/permohonan/updateoperasi', {
kelulusan: 'Lulus',
mohonid: mohonid,
namaoperasi: this.username
}).then(response => {
if (response.data === 1) {
this.$swal({
icon: 'success',
title: 'Berjaya',
text: 'Berjaya mengemaskini maklumat pelanggan',
allowOutsideClick: false
}).then(function () {
refer.getSenaraiMohon(refer.currentPage);
});
} else {
this.$swal({
icon: 'warning',
title: 'Tidak Berjaya',
text: 'Data pelanggan tidak berjaya dikemaskini',
allowOutsideClick: false
}).then(function () {
refer.getSenaraiMohon(refer.currentPage);
});
}
});
} else if (this.userroles === 'akaun') {
this.axios.put(this.$hostname + '/admin/permohonan/updateakaun', {
kelulusan: 'Lulus',
mohonid: mohonid,
namaakaun: this.username
}).then(response => {
if (response.data === 1) {
this.$swal({
icon: 'success',
title: 'Berjaya',
text: 'Berjaya mengemaskini maklumat pelanggan',
allowOutsideClick: false
}).then(function () {
refer.getSenaraiMohon(refer.currentPage);
});
} else {
this.$swal({
icon: 'warning',
title: 'Tidak Berjaya',
text: 'Data pelanggan tidak berjaya dikemaskini',
allowOutsideClick: false
}).then(function () {
refer.getSenaraiMohon(refer.currentPage);
});
}
});
} else {
}
} else {
this.$swal({
icon: 'warning',
title: 'Tidak Berjaya',
text: 'Kata Laluan Yang Dimasukkan Salah!!',
allowOutsideClick: false
}).then(function () {
getSenaraiMohon(this.currentPage);
});
}
});
},
CetakanPB: function (caw, mid) {
let refer = this;
this.axios.put(this.$hostname + '/admin/permohonan/updatecetak', {
mohonid: mid,
namaprint: this.username
}).then(response => {
if (response.data === 1) {
this.$swal({
icon: 'success',
title: 'Berjaya',
text: 'Cetakan Berjaya Dijana!',
allowOutsideClick: false
}).then(function () {
refer.getSenaraiMohon(refer.currentPage);
});
} else {
this.$swal({
icon: 'warning',
title: 'Tidak Berjaya',
text: 'Cetakan Tidak Berjaya!',
allowOutsideClick: false
}).then(function () {
refer.getSenaraiMohon(refer.currentPage);
});
}
});
let route = window.route('permohonan.cetakanpb', {
_query: {
cawangan: caw,
mohonid: mid
},
});
window.open(route, '_blank')
},
KelulusanPB: function (mid, mohon) {
this.$refs.modal.mohonid = mid;
this.$refs.modal.amaun_dimohon = mohon;
this.$refs.modal.showModal = true;
},
DepositBank: function (mid) {
this.$refs.bankmodal.mohonid = mid;
this.$refs.bankmodal.showModal = true;
}
}
}
</script>
File diff suppressed because it is too large Load Diff
+4 -35
View File
@@ -23,13 +23,13 @@
<div class="row flex flex-col justify-center items-center icon-content w-1/6">
</div>
<div class="row flex flex-col justify-center items-center icon-content w-1/6"> <img class="icon mx-auto" src="/img/proposal.png">
<div class="row flex flex-col justify-center items-center icon-content w-1/6"> <img v-if="this.permohonan.tagoperasi == 2" class="icon mx-auto" src="/img/batal.png">
</div>
<div class="row flex flex-col justify-center items-center icon-content w-1/6"> <img class="icon mx-auto" src="/img/proposal.png">
<div class="row flex flex-col justify-center items-center icon-content w-1/6"> <img v-if="this.permohonan.tagakaun == 2" class="icon mx-auto" src="/img/batal.png">
</div>
<div class="row flex flex-col justify-center items-center icon-content w-1/6"> <img class="icon mx-auto" src="/img/proposal.png">
<div class="row flex flex-col justify-center items-center icon-content w-1/6"> <img v-if="this.permohonan.tagpb == 2" class="icon mx-auto" src="/img/batal.png">
</div>
<div class="row flex flex-col justify-center items-center icon-content w-1/6"> <img class="icon mx-auto" src="/img/proposal.png">
<div class="row flex flex-col justify-center items-center icon-content w-1/6"> <img v-if="this.permohonan.tagdeposit == 2" class="icon mx-auto" src="/img/batal.png">
</div>
<div class="row flex flex-col justify-center items-center icon-content w-1/6">
</div>
@@ -214,36 +214,6 @@
</div>
<!-- <div class="row flex justify-between px-3 top">
<div class="d-flex">
<h6><span class="text-primary font-weight-bold">2020-05-27 11:26:08 AM </span>REQUEST CREATED</h6>
</div>
</div>
<div class="row d-flex justify-content-between px-3 top">
<div class="d-flex">
<h6><span class="text-primary font-weight-bold">2020-06-04 06:59:48 AM </span>ATTEMPT 1 COMPLETED. ~ ***[AUTO GENERATED BY GRASSHOPPERS]***</h6>
</div>
</div>
<div class="row d-flex justify-content-between px-3 top">
<div class="d-flex">
<h6><span class="text-primary font-weight-bold">2020-06-04 06:59:48 AM </span>RETURN TO VENDOR RECORD CREATED ~ RC806_118 </h6>
</div>
</div> -->
</div>
</div>
@@ -392,7 +362,6 @@ export default {
await this.axios.get(this.$hostname + '/admin/permohonan/get/' + cawangan + '/' + mohonid).then(response => {
this.permohonan = response.data;
});
this.loadstatus = true;
}
+130
View File
@@ -0,0 +1,130 @@
<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-1/3 my-6 mx-auto max-w-6xl">
<!--content-->
<div class="border-0 rounded-lg shadow-lg relative flex flex-col w-full bg-white outline-none focus:outline-none">
<!--header-->
<div class="flex items-start bg-gray-200 justify-between p-5 border-b border-solid border-blueGray-200 rounded-t">
<h3 class="text-xl font-semibold">
Deposit Akaun Bank
</h3>
<button class="p-1 ml-auto border-0 text-black float-right text-3xl leading-none font-semibold outline-none focus:outline-none" v-on:click="toggleModal()">
<span class=" text-black h-6 w-6 text-2xl block outline-none focus:outline-none">
X
</span>
</button>
</div>
<!--body-->
<div class="p-6">
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2 mt-3">
Jenis Bank
</label>
<select v-model="selectedbank" class="w-full p-2 rounded-md border bg-white border-gray-400 focus:outline-none rounded-md focus:ring-1 ring-cyan-500 uppercase">
<option v-for="(bank,i) in jenisbank" :key="i" :value="bank.abbreviation">{{ bank.name }}</option>
</select>
<!-- <input v-model="selectedbank" type="text" class="mr-2 bg-white appearance-none border-2 border-gray-400 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-blue-500 border-black" /> -->
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2 mt-3">
No Resit
</label>
<input v-model="noresit" type="text" class="mr-2 bg-white appearance-none border-2 border-gray-400 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-blue-500 border-black" />
</div>
<!--footer-->
<div class="flex items-center justify-end p-6 border-t border-solid border-blueGray-200 rounded-b">
<button class="bg-gray-500 hover:bg-gray-700 text-white font-bold py-2 px-4 border border-gray-700 rounded mr-1" @click="toggleModal" type="button">
Batal
</button>
<button class="bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 border border-green-700 rounded" @click="FuncHantar()" type="button">
Hantar
</button>
</div>
</div>
</div>
</div>
</transition>
<transition enter-active-class="transition-all transform duration-200 ease-out">
</transition>
<div v-if="showModal" class="opacity-25 fixed inset-0 z-40 bg-black"></div>
</div>
</template>
<script>
import {
createPopper
} from "@popperjs/core";
export default {
props: {
placement: {
type: String,
default: "bottom-start"
}
},
name: "bank-modal",
data() {
return {
showModal: false,
mohonid: 0,
selectedbank: 'Sila Pilih Bank',
noresit: 0,
jenisbank:{}
}
},
created(){
this.senaraiBank();
},
methods: {
toggleModal: function () {
this.showModal = false;
},
senaraiBank: function(){
this.axios.get(this.$hostname + '/api/bank').then(response => {
this.jenisbank = response.data;
});
},
FuncHantar: function () {
console.log(this.selectedbank,this.noresit)
axios.put(this.$hostname + '/admin/permohonan/updatebank', {
kelulusan: 'Lulus',
jenisbank: this.selectedbank,
noresit: this.mohonid,
mohonid: this.mohonid
}).then(response => {
if (response.data === 1) {
this.showModal = false;
this.$toast.success("Berjaya Meluluskan Permohonan Daripada Pengurus Besar!")
this.$emit('clickEvent_', this.pageNumber)
} else {
this.showModal = false;
this.$toast.error("Tidak Berjaya!")
}
});
}
}
}
</script>
<style>
.modal-fade-enter,
.modal-fade-leave-to {
opacity: 0;
}
.modal-fade-enter-active,
.modal-fade-leave-active {
transition: opacity .5s ease;
}
</style>
+137
View File
@@ -0,0 +1,137 @@
<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-1/3 my-6 mx-auto max-w-6xl">
<!--content-->
<div class="border-0 rounded-lg shadow-lg relative flex flex-col w-full bg-white outline-none focus:outline-none">
<!--header-->
<div class="flex items-start bg-gray-200 justify-between p-5 border-b border-solid border-blueGray-200 rounded-t">
<h3 class="text-xl font-semibold">
Kelulusan Pengurus Besar
</h3>
<button class="p-1 ml-auto border-0 text-black float-right text-3xl leading-none font-semibold outline-none focus:outline-none" v-on:click="toggleModal()">
<span class=" text-black h-6 w-6 text-2xl block outline-none focus:outline-none">
X
</span>
</button>
</div>
<!--body-->
<div class="p-6">
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2">
Keputusan
</label>
<div class="flex-col items-center flex-shrink-0 text-sm px-2">
<div class="flex items-center justify-center mt-4 mb-4">
<div class="mx-2 radio">
<input type="radio" id="Lulus" name="radkeputusan" value="Lulus" class="hidden focus:bg-gray-500" v-model="selected">
<label for="Lulus" 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">Lulus</label>
</div>
<div class="mx-2 radio cursor-pointer">
<input type="radio" id="Batal" name="radkeputusan" value="Batal" class="hidden focus:bg-gray-500" v-model="selected">
<label for="Batal" 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 Lulus</label>
</div>
</div>
</div>
<div class="w-full flex">
<div class="w-1/2">
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2 mt-3">
Amaun Diminta
</label>
<input v-model="amaun_dimohon" readonly type="text" class="mr-2 bg-gray-200 appearance-none border-2 border-gray-400 rounded w-full py-2 px-4 text-gray-700 leading-tight border-black" />
</div>
<div class="w-1/2 ml-2">
<label class="block uppercase tracking-wide text-gray-700 text-xs font-bold mb-2 mt-3">
Amaun Lulus
</label>
<input v-model="amaunlulus" type="text" class="mr-2 bg-white appearance-none border-2 border-gray-400 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-blue-500 border-black" />
</div>
</div>
</div>
<!--footer-->
<div class="flex items-center justify-end p-6 border-t border-solid border-blueGray-200 rounded-b">
<button class="bg-gray-500 hover:bg-gray-700 text-white font-bold py-2 px-4 border border-gray-700 rounded mr-1" @click="toggleModal" type="button">
Batal
</button>
<button class="bg-green-500 hover:bg-green-700 text-white font-bold py-2 px-4 border border-green-700 rounded" @click="FuncHantar()" type="button">
Hantar
</button>
</div>
</div>
</div>
</div>
</transition>
<transition enter-active-class="transition-all transform duration-200 ease-out">
</transition>
<div v-if="showModal" class="opacity-25 fixed inset-0 z-40 bg-black"></div>
</div>
</template>
<script>
import {
createPopper
} from "@popperjs/core";
export default {
props: {
placement: {
type: String,
default: "bottom-start"
}
},
name: "pb-modal",
data() {
return {
showModal: false,
mohonid: 0,
selected: '',
amaunlulus: 0,
amaun_dimohon: 0
}
},
methods: {
toggleModal: function () {
this.showModal = false;
},
FuncHantar: function () {
axios.put(this.$hostname + '/admin/permohonan/updatepb', {
kelulusan: this.selected,
mohonid: this.mohonid,
amaun_lulus: this.amaunlulus
}).then(response => {
if (response.data === 1) {
this.showModal = false;
this.$toast.success("Berjaya Meluluskan Permohonan Daripada Pengurus Besar!")
this.$emit('clickEvent_', this.pageNumber)
} else {
this.showModal = false;
this.$toast.error("Tidak Berjaya!")
}
});
}
}
}
</script>
<style>
.modal-fade-enter,
.modal-fade-leave-to {
opacity: 0;
}
.modal-fade-enter-active,
.modal-fade-leave-active {
transition: opacity .5s ease;
}
</style>
+2
View File
@@ -26,6 +26,7 @@ import BajetKemaskini from './Bajet/KemaskiniBajet'
import SenaraiMohon from './Permohonan/SenaraiMohon'
import StatusMohon from './Permohonan/StatusMohon'
import RekodMohon from './Permohonan/RekodMohon'
@@ -59,6 +60,7 @@ export default new VueRouter({
{ path: '/permohonan', component: SenaraiMohon },
{ name: 'permohonanstatus',path: '/permohonan/status/:mohonid', component: StatusMohon },
{ path: '/permohonan/rekod', component: RekodMohon },
],
mode: 'history'
+24
View File
@@ -171,6 +171,30 @@
</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 ' }}">
<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">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10" />
</svg>
<span class="text-sm ml-2 text-lg">Laporan</span>
</div>
</li>
</a>
<a href="{{ route('permohonan.index') }}" class="rounded mb-2 mr-2 {{ Route::is('permohonan') || Route::is('permohonan.*') ? '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" stroke-width="2">
<path stroke-linecap="round" stroke-linejoin="round" d="M5 19a2 2 0 01-2-2V7a2 2 0 012-2h4l2 2h4a2 2 0 012 2v1M5 19h14a2 2 0 002-2v-5a2 2 0 00-2-2H9a2 2 0 00-2 2v5a2 2 0 01-2 2z" />
</svg>
<span class="text-sm ml-2 text-lg">Permohonan</span>
</div>
</li>
</a>
@elseif(Auth::user()->roles == 'akaun')
<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 ' }}">
<li class="flex w-full justify-between text-gray-600 hover:text-gray-500 cursor-pointer items-center ">
<div class="flex items-center">
@@ -0,0 +1,129 @@
<!doctype html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>Pengeluaran Cetakan Pengurus Besar</title>
<link rel="icon" type="image/x-icon" href="{{ asset('img/icon_pkb.png') }}" />
<link href="{{ asset('css/all.min.css') }}" rel="stylesheet">
<!-- Scripts -->
<script src="{{ asset('js/app.js') }}" defer></script>
<!-- Fonts -->
<link rel="dns-prefetch" href="//fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet">
<!-- Styles -->
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
</head>
<body class="p-2">
<div class="mb-10">
<div class="flex w-full">
<div class="w-1/12 mt-4">
<img src="{{ asset('img/ARRAHN1.png') }}" style="width:70px"/>
</div>
<div class="ml-2 w-8/12 flex flex-col justify-end">
<b>PERMODALAN KELANTAN BERHAD</b>
<p class="text-xs">{{ $cawangan_detail['namacaw'] }}</p>
<p class="text-xs">{{ $cawangan_detail['alamat1'] }}</p>
<p class="text-xs">{{ $cawangan_detail['alamat2'] }}</p>
</div>
<div class="w-3/12 flex flex-col justify-end">
<p class="text-xs">No Tel : {{ $cawangan_detail['notel'] }}</p>
<p class="text-xs">No Faks : {{ $cawangan_detail['nofaks'] }}</p>
</div>
</div>
</div>
<div class="flex mb-6">
<div class="ml-2 w-9/12 flex flex-col justify-end">
<b class="text-sm">Kepada:</b>
<p class="text-xs">Pengurus Besar Kumpulan PKB</p>
</div>
<div class="ml-2 w-3/12 flex flex-col">
<b class="text-sm">No Permohonan:</b>
<p class="text-xs">{{ $permohonan['nopermohonan'] }}</p>
</div>
</div>
<div class="flex mb-6">
<div class="ml-2 w-9/12 flex flex-col justify-end">
<b class="text-sm">Daripada:</b>
<p class="text-xs">Pengurus Cawangan {{ $cawangan_detail['namacaw'] }}</p>
<p class="text-xs">Nama : {{ $permohonan['nama_pemohon'] }}</p>
{{-- <p class="text-xs">NO KP : 970403-03-5003</p> --}}
</div>
<div class="ml-2 w-3/12 flex flex-col">
<b class="text-sm">Tarikh:</b>
<p class="text-xs">{{ $tarikhcetakan }}</p>
</div>
</div>
<h4 class="ml-2 text-lg font-bold underline">PERMOHONAN WANG</h4>
<div class="flex justify-content-center justify-center items-center mt-6">
<table class="border-2 text-sm border-black p-2 w-full">
<tr>
<td class="border-2 border-black p-2">Jumlah Dipohon</td>
<td class="border-2 border-black p-2 text-right">RM {{ number_format($permohonan['amaun_mohon'],2) }}</td>
</tr>
<tr>
<td class="border-2 border-black p-2">Tarikh Mohon</td>
<td class="border-2 border-black p-2 text-right">
@php
$myDateTime = DateTime::createFromFormat('Y-m-d', $permohonan['tarikh_permohonan']);
$formattedweddingdate = $myDateTime->format('d-m-Y');
echo($formattedweddingdate)
@endphp
</td>
</tr>
<tr>
<td class="border-2 border-black p-2">Baki Peti Besi</td>
<td class="border-2 border-black p-2 text-right">RM {{ number_format($permohonan['baki_petibesi'],2) }}</td>
</tr>
</table>
</div>
<div class="block mt-36 ">
{{-- <div class="p-2 w-full h-100"></div> --}}
</div>
<div class="flex mb-6 mt-12">
<div class="ml-2 w-6/12 flex flex-col justify-end">
<b class="text-sm">Disediakan oleh:</b>
<p class="h-8"></p>
<p>.........................................................</p>
<p class="text-xs font-bold ">Pengurus Cawangan {{ $cawangan_detail['namacaw'] }}</p>
<p class="text-xs">Nama : {{ $permohonan['nama_pemohon'] }}</p>
<p class="text-xs">Tarikh : {{ $tarikhcetakan }}</p>
</div>
<div class="ml-2 w-6/12 flex flex-col justify-end">
<b class="text-sm">Disahkan oleh:</b>
<p class="h-8"></p>
<p>.........................................................</p>
<p class="text-xs font-bold">Operasi Permodalan Kelantan Berhad</p>
<p class="text-xs">Nama : {{ $permohonan['nama_operasi'] }}</p>
<p class="text-xs">Tarikh : {{ $tarikhcetakan }}</p>
</div>
</div>
<script>
window.print();
// window.onfocus=function(){ window.close();}
</script>
</body>
</html>
+2
View File
@@ -101,3 +101,5 @@ Route::get('/mintasemulakelulusan','App\Http\Controllers\PermohonanController@Mi
//Permohonan Wang
Route::get('/permohonan',['as'=>'permohonan.index','uses'=>'App\Http\Controllers\PermohonanController@index']);
Route::get('/permohonan/cetakanpb',['as'=>'permohonan.cetakanpb','uses'=>'App\Http\Controllers\PermohonanController@CetakanPB']);