125 lines
5.1 KiB
Vue
125 lines
5.1 KiB
Vue
<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 Sag Hilang</span>
|
|
</div>
|
|
<form method="get" id="formringter" :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-2 rounded-l px-4 py-2 whitespace-no-wrap">Mula</span>
|
|
<input id="tarikhmula" name="datemula" class="border-2 border-l-0 rounded-r px-4 py-2 w-80r mr-2" type="date" min="2023-01-01" :max="maxDate"/>
|
|
<span style="background-color: #F9FAFB" class="text-gray-600 border-2 rounded-l px-4 py-2 whitespace-no-wrap">Hingga</span>
|
|
<input id="tarikhhingga" name="datehingga" class="border-2 border-l-0 rounded-r px-4 py-2 w-80r mr-2" type="date" min="2023-01-01" :max="maxDate"/>
|
|
</div>
|
|
|
|
<select name="sltalasan" v-model.trim="$v.selectedalasan.$model" class="w-full p-2 rounded-md border bg-white border-gray-400 focus:outline-none focus:ring-1 ring-cyan-500 uppercase">
|
|
<option value="" selected disabled hidden>Sila Pilih Alasan Anda Anda***</option>
|
|
<option v-for="(slt,i) in jenisalasan" :key="i" :value="slt.alasan">{{ slt.alasan }}</option>
|
|
<option value="all">Semua Alasan</option>
|
|
|
|
</select>
|
|
</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>
|
|
import {
|
|
required,
|
|
minLength,
|
|
between
|
|
} from 'vuelidate/lib/validators'
|
|
export default {
|
|
data(){
|
|
return{
|
|
jenisgenerate:'none',
|
|
kodcaw:'',
|
|
maxDate: null,
|
|
yesterday: null,
|
|
selectedalasan: '',
|
|
jenisalasan: {}
|
|
}
|
|
},
|
|
mounted() {
|
|
this.setMaxDate();
|
|
},
|
|
created() {
|
|
this.senaraiAlasan();
|
|
},
|
|
methods: {
|
|
setMaxDate() {
|
|
const today = new Date();
|
|
today.setDate(today.getDate() - 1);
|
|
this.yesterday = today.toISOString().split('T')[0];
|
|
this.maxDate = this.yesterday;
|
|
},
|
|
async generatepdf(){
|
|
await this.setJenis('pdf');
|
|
|
|
|
|
Vue.swal({
|
|
title: 'Memuatkan...',
|
|
allowEscapeKey : false,
|
|
allowOutsideClick: false,
|
|
showCancelButton: false,
|
|
showConfirmButton: false,
|
|
timer: 8000,
|
|
});
|
|
|
|
document.getElementById("formringter").submit();
|
|
},
|
|
async generateview(){
|
|
await this.setJenis('view');
|
|
|
|
|
|
Vue.swal({
|
|
title: 'Memuatkan...',
|
|
allowEscapeKey : false,
|
|
allowOutsideClick: false,
|
|
showCancelButton: false,
|
|
showConfirmButton: false,
|
|
timer: 8000,
|
|
});
|
|
|
|
document.getElementById("formringter").submit();
|
|
},
|
|
Urlredirect: function() {
|
|
return window.route('cetak.saghilang')
|
|
},
|
|
setJenis: function(value){
|
|
return this.jenisgenerate = value;
|
|
},
|
|
senaraiAlasan: function () {
|
|
this.axios.get(this.$hostname + '/api/lookupalasan').then(response => {
|
|
this.jenisalasan = response.data;
|
|
});
|
|
},
|
|
|
|
},
|
|
validations: {
|
|
selectedalasan: {
|
|
required
|
|
}
|
|
}
|
|
|
|
}
|
|
</script> |