fix skit2

This commit is contained in:
hafifierahman
2022-04-10 10:02:57 +08:00
parent 4f640cd213
commit a7c2ac0983
13 changed files with 24603 additions and 8117 deletions
+3 -4
View File
@@ -9,6 +9,8 @@ use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Storage;
use Carbon\Carbon;
use App\Events\NotifikasiKelulusan;
class KelulusanController extends Controller
{
public function index()
@@ -41,7 +43,6 @@ class KelulusanController extends Controller
$norujukan = $request->norujukan;
if($request->pembatalan == null)
{
$updatelulus = Http::put(config('api.url') . '/api/UpdateKelulusanKomen/' . $request->kodcaw . '/' . $norujukan,[
@@ -49,6 +50,7 @@ class KelulusanController extends Controller
'siri' => $request->siri
])->json();
$updatelulus = Http::put(config('api.url') . '/api/UpdateKelulusan/' . $request->kodcaw . '/' . $norujukan,[
'sahkan' => 1,
'namaoperasi' => $request->namaoperasi,
@@ -79,9 +81,6 @@ class KelulusanController extends Controller
}
}
return response()->json($updatelulus,200);
}
@@ -26,7 +26,7 @@ class PermohonanController extends Controller
{
$auth_user = Auth::user();
if(Hash::check($request->passsemula, Auth::user()->password))
return 1;
return 1;
else
return 0;
}
+3 -2
View File
@@ -36,8 +36,9 @@ return [
'secret' => env('PUSHER_APP_SECRET'),
'app_id' => env('PUSHER_APP_ID'),
'options' => [
'cluster' => env('PUSHER_APP_CLUSTER'),
'useTLS' => true,
'cluster' => 'ap1',
'useTLS' => false,
'scheme' => 'http'
],
],
+1577 -1351
View File
File diff suppressed because it is too large Load Diff
+12 -10
View File
@@ -10,16 +10,16 @@
"production": "mix --production"
},
"devDependencies": {
"autoprefixer": "^10.4.2",
"autoprefixer": "^10.4.4",
"axios": "^0.21.4",
"bootstrap": "^4.6.0",
"jquery": "^3.6",
"laravel-mix": "^6.0.39",
"laravel-mix": "^6.0.43",
"lodash": "^4.17.19",
"popper.js": "^1.16.1",
"postcss": "^8.4.5",
"postcss": "^8.4.12",
"resolve-url-loader": "^3.1.2",
"sass": "^1.47.0",
"sass": "^1.50.0",
"sass-loader": "^11.0.1",
"tailwindcss": "^2.2.19",
"vue": "^2.6.12",
@@ -29,16 +29,18 @@
"vue-template-compiler": "^2.6.12"
},
"dependencies": {
"@headlessui/vue": "^1.4.2",
"@popperjs/core": "^2.11.2",
"@headlessui/vue": "^1.5.0",
"@popperjs/core": "^2.11.5",
"@vue-hero-icons/outline": "^1.7.2",
"@vue-hero-icons/solid": "^1.7.2",
"@vue/composition-api": "^1.4.3",
"alpinejs": "^3.7.1",
"apexcharts": "^3.33.0",
"@vue/composition-api": "^1.4.9",
"alpinejs": "^3.9.6",
"apexcharts": "^3.35.0",
"jw-vue-pagination": "^1.0.3",
"laravel-echo": "^1.11.4",
"pusher-js": "^7.0.6",
"vue-apexcharts": "^1.6.2",
"vue-axios": "^3.4.0",
"vue-axios": "^3.4.1",
"vue-class-component": "^7.2.6",
"vue-content-placeholders": "^0.2.1",
"vue-moment": "^4.1.0",
+22102 -5874
View File
File diff suppressed because one or more lines are too long
+100 -57
View File
@@ -4,42 +4,41 @@
<div v-if="this.showloader === true" class="bg-white md:items-center md:justify-between shadow rounded-lg p-4 md:p-6 xl:p-8 my-6">
<template v-if="showkelulusan.data.length > 0">
<template v-if="Object.keys(showkelulusan.data).length > 0">
<div v-for="(kelulusan,index) in showkelulusan.data" :key="index" class="flex flex-wrap w-full">
<div class="w-full border rounded-l p-4">
<div class="flex flex-wrap mb-4">
<p class="font-bold text-xl w-1/3">{{ kelulusan.kelulusanall[0].norujukan }}</p>
<p class="font-bold text-md w-1/3 text-red-500 justify-center flex text-center">{{ kelulusan.kelulusanall[0].status }}</p>
<p class="font-bold text-xl w-1/3">{{ kelulusan.norujukan }}</p>
<p class="font-bold text-md w-1/3 text-red-500 justify-center flex text-center">{{ kelulusan.status }}</p>
<p class="font-bold text-xl w-1/3 text-gray-500 flex justify-end">Ar-Rahn {{ kelulusan.cawangan }}</p>
</div>
<div class="flex flex-wrap">
<p class="font-bold text-green-500 w-1/2">PC/PPC: <span class="text-black font-normal text-md capitalize">{{ kelulusan.kelulusanall[0].khazanah }}</span></p>
<p class="w-1/4 text-sm text-gray-700">Pembiayaan: RM{{ changeFormat(kelulusan.kelulusanall[0].jumpinj) }}</p>
<p class="w-1/4 text-sm text-gray-700">Nilai Marhun: RM{{ changeFormat(kelulusan.kelulusanall[0].nilaimarhun) }}</p>
<p class="font-bold text-green-500 w-1/2">PC/PPC: <span class="text-black font-normal text-md capitalize">{{ kelulusan.khazanah }}</span></p>
<p class="w-1/4 text-sm text-gray-700">Pembiayaan: RM{{ changeFormat(kelulusan.jumpinj) }}</p>
<p class="w-1/4 text-sm text-gray-700">Nilai Marhun: RM{{ changeFormat(kelulusan.nilaimarhun) }}</p>
</div>
<div class="flex flex-wrap">
<p class="font-bold text-green-500 w-1/2">Teller: <span class="text-black font-normal text-md capitalize">{{ kelulusan.kelulusanall[0].teller }}</span></p>
<p class="w-1/4 text-sm text-gray-700">Margin: {{ kelulusan.kelulusanall[0].margin }}%</p>
<p class="w-1/4 text-sm text-gray-700">Berat: {{ kelulusan.kelulusanall[0].berat }} gm</p>
<p class="font-bold text-green-500 w-1/2">Teller: <span class="text-black font-normal text-md capitalize">{{ kelulusan.teller }}</span></p>
<p class="w-1/4 text-sm text-gray-700">Margin: {{ kelulusan.margin }}%</p>
<p class="w-1/4 text-sm text-gray-700">Berat: {{ kelulusan.berat }} gm</p>
</div>
<div class="flex flex-wrap">
<p class="font-bold text-green-500 w-3/4">Komen: <span class="text-black font-normal text-md w-1/4">{{ kelulusan.kelulusanall[0].komen }}</span></p>
<p class="font-bold text-green-500 w-3/4">Komen: <span class="text-black font-normal text-md w-1/4">{{ kelulusan.komen }}</span></p>
</div>
<!-- <p class="font-bold text-xl">KB2210232-00032</p> -->
<div class="mx-auto flex justify-between mb-auto text-sm text-gray-500 mt-4">
<!-- 10 Jul 2018, 05:56PM -->
{{ kelulusan.kelulusanall[0].tarikh | moment("calendar") }}
{{ kelulusan.tarikh | moment("calendar") }}
<div class="pl-4">
<button class="bg-yellow-500 hover:bg-yellow-700 text-white font-bold py-1 px-6 border border-yellow-500 rounded mr-1" @click.prevent="ApproveFunc"><i class="fas fa-thumbs-up mr-1 text-md"></i> Lulus</button>
<button class="bg-red-500 hover:bg-red-700 text-white font-bold py-1 px-6 border border-red-500 rounded mr-1" @click.prevent="DisapproveFunc"><i class="fas fa-thumbs-down mr-1 text-md"></i> Tidak Lulus</button>
<button class="bg-yellow-500 hover:bg-yellow-700 text-white font-bold py-1 px-6 border border-yellow-500 rounded mr-1" @click.prevent="ApproveFunc(kelulusan.norujukan,kelulusan.cawangankod,kelulusan.teller,kelulusan.siri)"><i class="fas fa-thumbs-up mr-1 text-md"></i> Lulus</button>
<button class="bg-red-500 hover:bg-red-700 text-white font-bold py-1 px-6 border border-red-500 rounded mr-1" @click.prevent="DisapproveFunc(kelulusan.norujukan,kelulusan.cawangankod,kelulusan.teller,kelulusan.siri)"><i class="fas fa-thumbs-down mr-1 text-md"></i> Tidak Lulus</button>
</div>
</div>
</div>
</div>
<pagination :data="paginate" @clickEvent_="getKelulusanList"></pagination>
</template>
<template v-else>
<div class="flex place-content-center w-full">
@@ -51,6 +50,8 @@
</div>
</template>
<pagination :data="paginate" @clickEvent_="getKelulusanList"></pagination>
</div>
</div>
@@ -74,7 +75,7 @@ export default {
data() {
return {
currentPage: 1,
showkelulusan: [],
showkelulusan: {},
paginate: {},
showloader: false
}
@@ -87,18 +88,23 @@ export default {
return formatter.format(data)
},
getKelulusanList(pageNumber) {
this.showloader = false
this.axios.get(this.$hostname + '/admin/ListOperasi/Paginate', {
params: {
page: pageNumber
}
}).then(response => {
console.log(response.data)
this.showkelulusan = response.data
this.paginate = response.data
this.currentPage = pageNumber
this.showloader = true
});
},
ApproveFunc: async function () {
ApproveFunc: async function (noruj, kcaw, tel, sir) {
let boolkatalaluan = 0;
console.log(noruj, kcaw, tel, sir)
const {
value: katalaluan
} = await this.$swal({
@@ -111,30 +117,54 @@ export default {
allowOutsideClick: false
})
const {
value: komen
} = await this.$swal({
title: 'Masukkan Komen',
input: 'text',
inputPlaceholder: 'Komen',
confirmButtonText: 'Hantar',
showCancelButton: true,
cancelButtonText: 'Batal',
allowOutsideClick: false
})
return this.axios.post('/api/check/kelulusan/operasi', {
norujukan: s,
komenkelulusan: s,
kodcaw: s,
namaoperasi: s,
teller: s,
siri:s
await this.axios.post('/mintasemulakelulusan', {
passsemula: katalaluan
}).then(response => {
if (response.data === 0) {
boolkatalaluan = 0;
} else {
boolkatalaluan = 1;
}
});
if (boolkatalaluan == 1) {
await this.$swal({
title: 'Masukkan Komen',
input: 'text',
inputPlaceholder: 'Komen',
confirmButtonText: 'Hantar',
showCancelButton: true,
cancelButtonText: 'Batal',
allowOutsideClick: false
}).then((result) => {
if (result.isConfirmed) {
return this.axios.post('/api/check/kelulusan/operasi', {
norujukan: noruj,
komenkelulusan: result.value,
kodcaw: kcaw,
namaoperasi: this.$attrs['namaoperasi'],
teller: tel,
siri: sir,
}).then((response) =>{
if(response.data == 1)
{
this.getKelulusanList(1)
}
});
} else if (result.isDenied) {
Swal.fire('Changes are not saved', '', 'info')
}
})
}
},
DisapproveFunc: async function () {
DisapproveFunc: async function (noruj, kcaw, tel, sir) {
let boolkatalaluan = 0;
const {
value: katalaluan
} = await this.$swal({
@@ -147,28 +177,41 @@ export default {
allowOutsideClick: false
})
const {
value: komen
} = await this.$swal({
title: 'Masukkan Komen',
input: 'text',
inputPlaceholder: 'Komen',
confirmButtonText: 'Hantar',
showCancelButton: true,
cancelButtonText: 'Batal',
allowOutsideClick: false
})
return this.axios.post('/api/check/kelulusan/operasi', {
norujukan: s,
komenkelulusan: s,
kodcaw: s,
namaoperasi: s,
teller: s,
siri,
pembatalan: "batal"
await this.axios.post('/mintasemulakelulusan', {
passsemula: katalaluan
}).then(response => {
if (response.data === 0) {
boolkatalaluan = 0;
} else {
boolkatalaluan = 1;
}
});
if (boolkatalaluan == 1) {
const {
value: komen
} = await this.$swal({
title: 'Masukkan Komen',
input: 'text',
inputPlaceholder: 'Komen',
confirmButtonText: 'Hantar',
showCancelButton: true,
cancelButtonText: 'Batal',
allowOutsideClick: false
})
return this.axios.post('/api/check/kelulusan/operasi', {
norujukan: noruj,
komenkelulusan: komen,
kodcaw: kcaw,
namaoperasi: this.$attrs['namaoperasi'],
teller: tel,
siri: sir,
pembatalan: "batal"
});
}
},
RedirectHome: function () {
return window.location.href = '/';
+8 -8
View File
@@ -29,13 +29,13 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
* allows your team to easily build robust real-time web applications.
*/
// import Echo from 'laravel-echo';
import Echo from 'laravel-echo';
// window.Pusher = require('pusher-js');
window.Pusher = require('pusher-js');
// window.Echo = new Echo({
// broadcaster: 'pusher',
// key: process.env.MIX_PUSHER_APP_KEY,
// cluster: process.env.MIX_PUSHER_APP_CLUSTER,
// forceTLS: true
// });
window.Echo = new Echo({
broadcaster: 'pusher',
key: process.env.MIX_PUSHER_APP_KEY,
cluster: process.env.MIX_PUSHER_APP_CLUSTER,
forceTLS: true
});
+8 -6
View File
@@ -1,19 +1,19 @@
<template>
<div class="container">
<div id="notification" ref="notification" class="notification cursor-pointer" v-on:click="toggleDropdown()"></div>
<div ref="popoverDropdownRef" v-bind:class="{'hidden': !dropdownShow, 'block': dropdownShow}" class="origin-top-right w-96 right-0 mt-2 w-56 rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none" role="menu" aria-orientation="vertical" aria-labelledby="menu-button" tabindex="-1">
<div v-if="this.showloader === true" ref="popoverDropdownRef" v-bind:class="{'hidden': !dropdownShow, 'block': dropdownShow}" class="origin-top-right w-96 right-0 mt-2 w-56 rounded-md shadow-lg bg-white ring-1 ring-black ring-opacity-5 focus:outline-none" role="menu" aria-orientation="vertical" aria-labelledby="menu-button" tabindex="-1">
<div class="py-1 px-2" role="none">
<template>
<template v-if="showkelulusan.data.length > 0">
<!-- <template v-if="showkelulusan.data.length > 0"> -->
<div v-for="(kelulusan,index) in showkelulusan.data" :key="index" class="text-gray-700 block px-2 py-5 text-sm hover:bg-yellow-500 cursor-pointer">
<div class="justify-between flex">
<div class="w-4/6">
<p class="font-bold -mt-4">Ar-Rahn {{ kelulusan.cawangan }}</p>
<p class="font-bold text-sm text-red-500">{{ kelulusan.kelulusanall[0].status }}</p>
<p class="font-bold text-sm text-red-500">{{ kelulusan.status }}</p>
<!-- <p class="-mb-4 text-sm">4 hours ago</p> -->
</div>
<div class="w-3/6">
<p class="font-bold -mt-4 justify-end flex">{{ kelulusan.kelulusanall[0].norujukan }}</p>
<p class="font-bold -mt-4 justify-end flex">{{ kelulusan.norujukan }}</p>
</div>
</div>
</div>
@@ -22,7 +22,7 @@
<!-- <a class="text-gray-700 block px-4 py-2 text-sm hover:bg-yellow-500 cursor-pointer" role="menuitem" tabindex="-1" id="menu-item-0">a<br><b>a</b></a> -->
<!-- <template v-else> -->
<template>
<template v-else>
<div class="flex place-content-center w-full">
<div class="grid mx-auto mb-4">
<img src="/img/notify.jpg" class="h-20 w-20 mx-auto" alt="Windster Logo">
@@ -149,7 +149,8 @@ export default {
dropdownShow: false,
currentPage: 1,
showkelulusan:[],
paginate:{}
paginate:{},
showloader:false
}
},
created() {
@@ -244,6 +245,7 @@ export default {
this.showkelulusan = response.data
this.paginate = response.data
this.currentPage = pageNumber
this.showloader = true
});
},
}
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -9,7 +9,7 @@
<breadcrumb :items="[{ 'title' : 'Kelulusan', 'icon' : 'fas fa-thumbs-up' }]"></breadcrumb>
<kelulusan-component></kelulusan-component>
<kelulusan-component namaoperasi="{!! Auth::user()->name !!}"></kelulusan-component>
</div>
+1 -1
View File
@@ -26,7 +26,7 @@ Route::group(['prefix' => 'check'], function () {
Route::get('/cawangan', 'App\Http\Controllers\CawanganController@list');
Route::put('/kelulusan/operasi', 'App\Http\Controllers\KelulusanController@updatekelulusan');
Route::post('/kelulusan/operasi', 'App\Http\Controllers\KelulusanController@updatekelulusan');
Route::post('/kelulusan/pb', 'App\Http\Controllers\KelulusanController@updatePB');
Route::get('/muatturun', 'App\Http\Controllers\KelulusanController@download');
+1 -1
View File
@@ -97,7 +97,7 @@ Route::get('/resit/tambahpinjam/{id}',['as'=>'resit.tambahpinjam','uses'=>'App\H
Route::get('/resit/tebusautotawarruq/{id}',['as'=>'resit.autotawarruq','uses'=>'App\Http\Controllers\ResitController@resitautotawarruq']);
//Katalaluan
Route::get('/mintasemulakelulusan','App\Http\Controllers\PermohonanController@MintaKelulusan');
Route::post('/mintasemulakelulusan','App\Http\Controllers\PermohonanController@MintaKelulusan');
//Permohonan Wang
Route::get('/permohonan',['as'=>'permohonan.index','uses'=>'App\Http\Controllers\PermohonanController@index']);