Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <template>
- <div style="margin-top: 50px;">
- <div class="row mb-3">
- <div class="col-sm-3">
- <input type="text" name="permission" placeholder="Cari..." v-model="key" v-on:keyup="enterSearch" value="" style="width: 60%; height: 38px; border: 1px solid #ced4da; padding: 0.375rem 0.75rem; border-radius: 0.25rem;" />
- <button style="width: 15%;" v-if="key != ''" class="btn btn-danger" @click="deleteSearch()"><span class="fa fa-times"></span></button>
- <button style="width: 15%;" class="btn btn-primary" @click="search(key)"><span class="fa fa-search"></span></button>
- </div>
- <div class="col-sm-3">
- <input type="date" id="filtertanggal" class="form-control" v-model="tanggal">
- </div>
- <div class="col-sm-3">
- <select v-model="filterGroup" class="form-control">
- <option value="">Semua Group</option>
- <option v-for="item in group" :key="item.id" :value="item.id">{{ item.nama }}</option>
- </select>
- </div>
- <div class="col-sm-3">
- <select v-model="filterKaryawan" class="form-control">
- <option value="">Semua Karyawan</option>
- <option v-for="item in karyawan" :key="item.id" :value="item.id">{{ item.nama }} <span v-if="item.group != null"> - {{ item.group.nama }}{{ item.groupno }}</span></option>
- </select>
- </div>
- <!-- <div class="col-sm-3">
- <select v-model="toggleMenu" class="form-control">
- <option value="Harian">Harian</option>
- <option value="Mingguan Jam">Mingguan Jam</option>
- </select>
- </div> -->
- </div>
- <!-- <div class="row float-right">
- <div class="col-sm-12 search-div">
- <input type="text" name="permission" placeholder="Cari..." v-model="key" v-on:keyup="enterSearch" value="" style="width: 70%; height: 40px; border: 1px solid rgba(184, 55, 62, 0.5); background-color: white; border-radius: 5px; padding: 5px;" />
- <button v-if="key != ''" class="btn btn-erase" @click="deleteSearch()"><span class="fa fa-times"></span></button>
- <button class="btn btn-primary" @click="search(key)"><span class="fa fa-search"></span></button>
- </div>
- </div>
- <br />
- <br /> -->
- <!-- <div class="row">
- <label>Tabel Terlambat</label>
- </div> -->
- <!-- HARIAN -->
- <div class="row" v-if="(toggleMenu == 'Harian')">
- <b-table striped hover sticky-header
- id="terlambat-table"
- :busy="loading"
- :items="filtered"
- :fields="fields"
- :filter="query"
- class="col-lg-12 table table-hover my-table-scroll"
- style="margin-top: 15px; max-height: 400px !important;">
- <template #table-busy>
- <div class="text-center my-2">
- <span style="font-size: 32px; color: black;">Loading, please wait...</span>
- </div>
- </template>
- <template v-slot:cell(index)="data">
- <span>{{ data.index + 1 }}</span>
- </template>
- <template v-slot:cell(nama)="data">
- <span>{{ data.item.nama }}</span>
- </template>
- <template v-slot:cell(nama_group)="data">
- <span>{{ data.item.nama_group }}</span>
- </template>
- <template v-slot:cell(hari)="data">
- <span>{{ data.item.hari }}</span>
- </template>
- <template v-slot:cell(tanggal_hari_ini)="data">
- <span>{{ formatTanggalKolom(data.item.tanggal_hari_ini) }}</span>
- </template>
- <template v-slot:cell(slotjam_masuk)="data">
- <span v-html="cekMasuk(data.item.slotjam_masuk, data.item.slotjam_masuk_status)"></span>
- <!-- <span v-if="data.item.source_id_rutin != null" v-html="cekTerlambat(data.item.slotjam_masuk, data.item.hari, data.item.jam_masuk, data.item.jam_istirahat_mulai, data.item.toleransi_keterlambatan)"></span>
- <span v-if="data.item.source_id_group_rutin != null" v-html="cekTerlambat(data.item.slotjam_masuk, data.item.hari, data.item.jam_masuk_group, data.item.jam_istirahat_mulai_group, data.item.toleransi_keterlambatan)"></span> -->
- </template>
- <template v-slot:cell(slotjam_istirahat_mulai)="data">
- <span>{{ formatJam(data.item.slotjam_istirahat_mulai) }}</span>
- </template>
- <template v-slot:cell(slotjam_istirahat_selesai)="data">
- <span v-if="cekIstirahatSelesai(data.item.slotjam_istirahat_selesai, data.item.jam_istirahat_selesai, data.item.jam_pulang) != '-' && cekIstirahatSelesai(data.item.slotjam_istirahat_selesai, data.item.jam_istirahat_selesai_group, data.item.jam_pulang_group) == '-'" v-html="cekIstirahatSelesai(data.item.slotjam_istirahat_selesai, data.item.jam_istirahat_selesai, data.item.jam_pulang)"></span>
- <span v-if="cekIstirahatSelesai(data.item.slotjam_istirahat_selesai, data.item.jam_istirahat_selesai_group, data.item.jam_pulang_group) != '-' && cekIstirahatSelesai(data.item.slotjam_istirahat_selesai, data.item.jam_istirahat_selesai, data.item.jam_pulang) == '-'" v-html="cekIstirahatSelesai(data.item.slotjam_istirahat_selesai, data.item.jam_istirahat_selesai_group, data.item.jam_pulang_group)"></span>
- <span v-if="cekIstirahatSelesai(data.item.slotjam_istirahat_selesai, data.item.jam_istirahat_selesai, data.item.jam_pulang) != '-' && cekIstirahatSelesai(data.item.slotjam_istirahat_selesai, data.item.jam_istirahat_selesai_group, data.item.jam_pulang_group) != '-'" v-html="cekIstirahatSelesai(data.item.slotjam_istirahat_selesai, data.item.jam_istirahat_selesai, data.item.jam_pulang)"></span>
- <!-- <span v-if="data.item.source_id_rutin != null" v-html="cekTerlambat(data.item.slotjam_istirahat_selesai, data.item.hari, data.item.jam_istirahat_selesai, data.item.jam_pulang, data.item.toleransi_keterlambatan)"></span>
- <span v-if="data.item.source_id_group_rutin != null" v-html="cekTerlambat(data.item.slotjam_istirahat_selesai, data.item.hari, data.item.jam_istirahat_selesai_group, data.item.jam_pulang_group, data.item.toleransi_keterlambatan)"></span> -->
- </template>
- <template v-slot:cell(slotjam_pulang)="data">
- <span>{{ formatJam(data.item.slotjam_pulang) }}</span>
- </template>
- <template v-slot:cell(kalkulasi_poin_rutin)="data">
- <span>{{ data.item.kalkulasi_poin_rutin }}</span>
- </template>
- </b-table>
- <!-- <table class="col-lg-12 table table-hover" style="margin-top: 15px;">
- <thead>
- <tr>
- <th>No.</th>
- <th>Nama</th>
- <th>Group</th>
- <th>Hari</th>
- <th>Tanggal</th>
- <th>Masuk</th>
- <th>Istirahat Mulai</th>
- <th>Istirahat Selesai</th>
- <th>Pulang</th>
- <th>Poin</th>
- </tr>
- </thead>
- <tbody>
- <tr v-for="(d, index) in filtered" :key="d.id">
- <td v-if="cekKondisi(d)">{{ index + 1 }}</td>
- <td v-if="cekKondisi(d)">{{ d.nama }}</td>
- <td v-if="cekKondisi(d)"><span v-if="d.group_id">{{ d.group.nama }}-{{ d.groupno }}</span></td>
- <td v-if="cekKondisi(d)">{{ formatHari() }}</td>
- <td v-if="cekKondisi(d)">{{ formatTanggal() }}</td>
- <td v-if="cekKondisi(d)"><span v-if="d.presensis" v-html="filterJamMasuk(d.presensis, d.jadwal_karyawan.jadwal_masuk)"></span></td>
- <td v-if="cekKondisi(d)"><span v-if="d.presensis" v-html="filterJamIstirahatMulai(d.presensis, d.jadwal_karyawan.jadwal_masuk)"></span></td>
- <td v-if="cekKondisi(d)"><span v-if="d.presensis" v-html="filterJamIstirahatSelesai(d.presensis, d.jadwal_karyawan.jadwal_masuk)"></span></td>
- <td v-if="cekKondisi(d)"><span v-if="d.presensis" v-html="filterJamPulang(d.presensis, d.jadwal_karyawan.jadwal_masuk)"></span></td>
- <td v-if="cekKondisi(d)">{{ calculatePoint(d.presensis, d.jadwal_karyawan.jadwal_masuk) }}</td>
- </tr>
- </tbody>
- </table> -->
- </div>
- </div>
- </template>
- <script>
- import axios from 'axios'
- import moment from 'moment'
- export default {
- computed: {
- filtered() {
- let result
- let newdata_1 = this.data.filter(x => {
- const tanggalFromData = moment(x.tanggal_hari_ini).format('YYYY-MM-DD');
- const todayDate = this.tanggal;
- return tanggalFromData === todayDate;
- });
- let newdata = []
- // for(let i = 0; i < newdata1.length; i++) {
- // if(this.cekKondisi(newdata1[i])) {
- // newdata.push(newdata1[i])
- // }
- // }
- for(let i = 0; i< newdata_1.length; i++) {
- let terlambat_masuk = this.cekMasukStatus(newdata_1[i].slotjam_masuk, newdata_1[i].slotjam_masuk_status)
- let terlambat_istirahat = this.cekIstirahatSelesaiStatus(newdata_1[i].slotjam_istirahat_selesai, newdata_1[i].jam_istirahat_selesai, newdata_1[i].jam_pulang)
- // harus ada terlambat istirahat selesai group
- if(terlambat_masuk == true || terlambat_istirahat == true) {
- newdata.push(newdata_1[i])
- }
- }
- if(this.filterGroup == '' && this.filterKaryawan == '') {
- result = newdata
- } else if(this.filterGroup != '' && this.filterKaryawan == ''){
- result = newdata.filter(x => x.group_id == this.filterGroup)
- } else if(this.filterGroup == '' && this.filterKaryawan != '') {
- result = newdata.filter(x => x.karyawan_id == this.filterKaryawan)
- } else {
- result = newdata.filter(x => x.karyawan_id == this.filterKaryawan && x.group_id == this.filterGroup)
- }
- return result
- }
- },
- data() {
- return {
- loading: true,
- key: '',
- query: '',
- data: [],
- group: [],
- karyawan: [],
- filterGroup: '',
- filterKaryawan: '',
- tanggal: moment().format('YYYY-MM-DD'),
- toggleMenu: 'Harian',
- fields: [
- { key: 'index' , label: 'No.' },
- { key: 'nama' , label: 'Nama', sortable: true },
- { key: 'nama_group' , label: 'Group', sortable: true },
- { key: 'hari' , label: 'Hari', sortable: true },
- { key: 'tanggal_hari_ini' , label: 'Tanggal', sortable: true },
- { key: 'slotjam_masuk' , label: 'Masuk', sortable: true },
- { key: 'slotjam_istirahat_mulai' , label: 'Istirahat Mulai', sortable: true },
- { key: 'slotjam_istirahat_selesai' , label: 'Istirahat Selesai', sortable: true },
- { key: 'slotjam_pulang' , label: 'Pulang', sortable: true },
- { key: 'kalkulasi_poin_rutin' , label: 'Poin', sortable: true },
- ]
- };
- },
- props: ['exportpermission'],
- mounted: async function () {
- let data = await axios.get(
- process.env.MIX_APP_URL + "/presensi/apitaprutin"
- )
- this.data = data.data
- this.loading = false
- let group = await axios.get(
- process.env.MIX_APP_URL + "/group/api"
- )
- let karyawan = await axios.get(
- process.env.MIX_APP_URL + "/karyawan/apijadwal"
- )
- this.group = group.data
- this.karyawan = karyawan.data
- },
- methods: {
- search: function(key) {
- this.query = key
- },
- deleteSearch: function() {
- this.query = ''
- this.key = ''
- },
- enterSearch: function(e) {
- if (e.keyCode === 13) {
- this.query = e.target.value
- }
- },
- formatHari: function() {
- let hari = moment(this.tanggal).format('dddd')
- let result = null;
- switch(hari) {
- case 'Sunday':
- result = 'Minggu'
- break;
- case 'Monday':
- result = 'Senin'
- break;
- case 'Tuesday':
- result = 'Selasa'
- break;
- case 'Wednesday':
- result = 'Rabu'
- break;
- case 'Thursday':
- result = 'Kamis'
- break;
- case 'Friday':
- result = 'Jumat'
- break;
- case 'Saturday':
- result = 'Sabtu'
- break;
- default:
- break;
- }
- return result
- },
- formatTanggal: function() {
- return moment(this.tanggal).format('DD-MMMM-YYYY')
- },
- formatTanggalKolom: function(date) {
- return moment(date).format('DD-MMMM-YYYY')
- },
- cekKondisi: function (json) {
- // defaultnya false
- let kondisi = false
- // cek hari
- switch(json.hari) {
- case 'Minggu':
- if(json.checkbox_harikerja_minggu == 1) {
- if(json.source_id_rutin != null) {
- let cek_masuk = this.cekTelat(json.slotjam_masuk, json.jam_masuk, json.jam_istirahat_mulai, json.toleransi_keterlambatan)
- let cek_istirahat_selesai = this.cekTelat(json.slotjam_istirahat_selesai, json.jam_istirahat_selesai, json.jam_pulang, json.toleransi_keterlambatan)
- // if(cek_masuk == true || cek_istirahat_selesai == true) {
- // kondisi = true
- // }
- if(cek_masuk == true) {
- kondisi = true
- }
- }
- } else if(json.checkbox_harikerja_minggu_group == 1) {
- if(json.source_id_group_rutin) {
- let cek_masuk_group = this.cekTelat(json.slotjam_masuk, json.jam_masuk_group, json.jam_istirahat_mulai_group, json.toleransi_keterlambatan)
- let cek_istirahat_selesai_group = this.cekTelat(json.slotjam_istirahat_selesai, json.jam_istirahat_selesai_group, json.jam_pulang_group, json.toleransi_keterlambatan)
- // if(cek_masuk_group == true || cek_istirahat_selesai_group == true) {
- // kondisi = true
- // }
- if(cek_masuk_group == true) {
- kondisi = true
- }
- }
- }
- break;
- case 'Senin':
- if(json.checkbox_harikerja_senin == 1) {
- if(json.source_id_rutin != null) {
- let cek_masuk = this.cekTelat(json.slotjam_masuk, json.jam_masuk, json.jam_istirahat_mulai, json.toleransi_keterlambatan)
- let cek_istirahat_selesai = this.cekTelat(json.slotjam_istirahat_selesai, json.jam_istirahat_selesai, json.jam_pulang, json.toleransi_keterlambatan)
- // if(cek_masuk == true || cek_istirahat_selesai == true) {
- // kondisi = true
- // }
- if(cek_masuk == true) {
- kondisi = true
- }
- }
- } else if(json.checkbox_harikerja_senin_group == 1) {
- if(json.source_id_group_rutin != null) {
- let cek_masuk_group = this.cekTelat(json.slotjam_masuk, json.jam_masuk_group, json.jam_istirahat_mulai_group, json.toleransi_keterlambatan)
- let cek_istirahat_selesai_group = this.cekTelat(json.slotjam_istirahat_selesai, json.jam_istirahat_selesai_group, json.jam_pulang_group, json.toleransi_keterlambatan)
- // if(cek_masuk_group == true || cek_istirahat_selesai_group == true) {
- // kondisi = true
- // }
- if(cek_masuk_group == true) {
- kondisi = true
- }
- }
- }
- break;
- case 'Selasa':
- if(json.checkbox_harikerja_selasa == 1) {
- if(json.source_id_rutin != null) {
- let cek_masuk = this.cekTelat(json.slotjam_masuk, json.jam_masuk, json.jam_istirahat_mulai, json.toleransi_keterlambatan)
- let cek_istirahat_selesai = this.cekTelat(json.slotjam_istirahat_selesai, json.jam_istirahat_selesai, json.jam_pulang, json.toleransi_keterlambatan)
- // if(cek_masuk == true || cek_istirahat_selesai == true) {
- // kondisi = true
- // }
- if(cek_masuk == true) {
- kondisi = true
- }
- }
- } else if(json.checkbox_harikerja_selasa_group == 1) {
- if(json.source_id_group_rutin != null) {
- let cek_masuk_group = this.cekTelat(json.slotjam_masuk, json.jam_masuk_group, json.jam_istirahat_mulai_group, json.toleransi_keterlambatan)
- let cek_istirahat_selesai_group = this.cekTelat(json.slotjam_istirahat_selesai, json.jam_istirahat_selesai_group, json.jam_pulang_group, json.toleransi_keterlambatan)
- // if(cek_masuk_group == true || cek_istirahat_selesai_group == true) {
- // kondisi = true
- // }
- if(cek_masuk_group == true) {
- kondisi = true
- }
- }
- }
- break;
- case 'Rabu':
- if(json.checkbox_harikerja_rabu == 1) {
- if(json.source_id_rutin != null) {
- let cek_masuk = this.cekTelat(json.slotjam_masuk, json.jam_masuk, json.jam_istirahat_mulai, json.toleransi_keterlambatan)
- let cek_istirahat_selesai = this.cekTelat(json.slotjam_istirahat_selesai, json.jam_istirahat_selesai, json.jam_pulang, json.toleransi_keterlambatan)
- // if(cek_masuk == true || cek_istirahat_selesai == true) {
- // kondisi = true
- // }
- if(cek_masuk == true) {
- kondisi = true
- }
- }
- } else if(json.checkbox_harikerja_rabu_group == 1) {
- if(json.source_id_group_rutin != null) {
- let cek_masuk_group = this.cekTelat(json.slotjam_masuk, json.jam_masuk_group, json.jam_istirahat_mulai_group, json.toleransi_keterlambatan)
- let cek_istirahat_selesai_group = this.cekTelat(json.slotjam_istirahat_selesai, json.jam_istirahat_selesai_group, json.jam_pulang_group, json.toleransi_keterlambatan)
- // if(cek_masuk_group == true || cek_istirahat_selesai_group == true) {
- // kondisi = true
- // }
- if(cek_masuk_group == true) {
- kondisi = true
- }
- }
- }
- break;
- case 'Kamis':
- if(json.checkbox_harikerja_kamis == 1) {
- if(json.source_id_rutin != null) {
- let cek_masuk = this.cekTelat(json.slotjam_masuk, json.jam_masuk, json.jam_istirahat_mulai, json.toleransi_keterlambatan)
- let cek_istirahat_selesai = this.cekTelat(json.slotjam_istirahat_selesai, json.jam_istirahat_selesai, json.jam_pulang, json.toleransi_keterlambatan)
- // if(cek_masuk == true || cek_istirahat_selesai == true) {
- // kondisi = true
- // }
- if(cek_masuk == true) {
- kondisi = true
- }
- }
- } else if(json.checkbox_harikerja_kamis_group == 1) {
- if(json.source_id_group_rutin != null) {
- let cek_masuk_group = this.cekTelat(json.slotjam_masuk, json.jam_masuk_group, json.jam_istirahat_mulai_group, json.toleransi_keterlambatan)
- let cek_istirahat_selesai_group = this.cekTelat(json.slotjam_istirahat_selesai, json.jam_istirahat_selesai_group, json.jam_pulang_group, json.toleransi_keterlambatan)
- // if(cek_masuk_group == true || cek_istirahat_selesai_group == true) {
- // kondisi = true
- // }
- if(cek_masuk_group == true) {
- kondisi = true
- }
- }
- }
- break;
- case 'Jum at':
- if(json.checkbox_harikerja_jumat == 1) {
- if(json.source_id_rutin != null) {
- let cek_masuk = this.cekTelat(json.slotjam_masuk, json.jam_masuk, json.jam_istirahat_mulai, json.toleransi_keterlambatan)
- let cek_istirahat_selesai = this.cekTelat(json.slotjam_istirahat_selesai, json.jam_istirahat_selesai, json.jam_pulang, json.toleransi_keterlambatan)
- // if(cek_masuk == true || cek_istirahat_selesai == true) {
- // kondisi = true
- // }
- if(cek_masuk == true) {
- kondisi = true
- }
- }
- } else if(json.checkbox_harikerja_jumat_group == 1) {
- if(json.source_id_group_rutin != null) {
- let cek_masuk_group = this.cekTelat(json.slotjam_masuk, json.jam_masuk_group, json.jam_istirahat_mulai_group, json.toleransi_keterlambatan)
- let cek_istirahat_selesai_group = this.cekTelat(json.slotjam_istirahat_selesai, json.jam_istirahat_selesai_group, json.jam_pulang_group, json.toleransi_keterlambatan)
- // if(cek_masuk_group == true || cek_istirahat_selesai_group == true) {
- // kondisi = true
- // }
- if(cek_masuk_group == true) {
- kondisi = true
- }
- }
- }
- break;
- case 'Sabtu':
- if(json.checkbox_harikerja_sabtu == 1) {
- if(json.source_id_rutin != null) {
- let cek_masuk = this.cekTelat(json.slotjam_masuk, json.jam_masuk, json.jam_istirahat_mulai, json.toleransi_keterlambatan)
- let cek_istirahat_selesai = this.cekTelat(json.slotjam_istirahat_selesai, json.jam_istirahat_selesai, json.jam_pulang, json.toleransi_keterlambatan)
- // if(cek_masuk == true || cek_istirahat_selesai == true) {
- // kondisi = true
- // }
- if(cek_masuk == true) {
- kondisi = true
- }
- }
- } else if(json.checkbox_harikerja_sabtu_group == 1) {
- if(json.source_id_group_rutin != null) {
- let cek_masuk_group = this.cekTelat(json.slotjam_masuk, json.jam_masuk_group, json.jam_istirahat_mulai_group, json.toleransi_keterlambatan)
- let cek_istirahat_selesai_group = this.cekTelat(json.slotjam_istirahat_selesai, json.jam_istirahat_selesai_group, json.jam_pulang_group, json.toleransi_keterlambatan)
- // if(cek_masuk_group == true || cek_istirahat_selesai_group == true) {
- // kondisi = true
- // }
- if(cek_masuk_group == true) {
- kondisi = true
- }
- }
- }
- break;
- default:
- kondisi = false;
- break;
- }
- return kondisi;
- },
- filterJamMasuk: function(json, jadwal) {
- let jam_terpilih = '-'
- let hari = moment(this.tanggal).format('dddd')
- let jadwal_terpilih = null
- let tanggal_dipilih = false
- let adajadwal = 0
- for(let jd = 0; jd < jadwal.length; jd++) {
- switch(hari) {
- case 'Sunday':
- if(jadwal[jd].checkbox_harikerja_minggu == 1) {
- adajadwal = 1
- }
- break;
- case 'Monday':
- if(jadwal[jd].checkbox_harikerja_senin == 1) {
- adajadwal = 1
- }
- break;
- case 'Tuesday':
- if(jadwal[jd].checkbox_harikerja_selasa == 1) {
- adajadwal = 1
- }
- break;
- case 'Wednesday':
- if(jadwal[jd].checkbox_harikerja_rabu == 1) {
- adajadwal = 1
- }
- break;
- case 'Thursday':
- if(jadwal[jd].checkbox_harikerja_kamis == 1) {
- adajadwal = 1
- }
- break;
- case 'Friday':
- if(jadwal[jd].checkbox_harikerja_jumat == 1) {
- adajadwal = 1
- }
- break;
- case 'Saturday':
- if(jadwal[jd].checkbox_harikerja_sabtu == 1) {
- adajadwal = 1
- }
- break;
- default:
- break;
- }
- if((jadwal_terpilih == null) && (adajadwal == 1)) {
- jadwal_terpilih = jadwal[jd]
- }
- }
- for(let jm = 0; jm < json.length; jm++) {
- if(json[jm].status == 'Rutin') {
- let tanggaltap = moment(json[jm].tanggal_dan_waktu_tap).format('YYYY-MM-DD')
- let hariini = moment(this.tanggal).format('YYYY-MM-DD')
- let slotjam = json[jm].slotjam
- let status = json[jm].status
- if((tanggaltap == hariini) && (status == 'Rutin') && (slotjam == 'Masuk') && (tanggal_dipilih == false)) {
- jam_terpilih = moment(json[jm].tanggal_dan_waktu_tap).format('HH:mm')
- tanggal_dipilih = true
- }
- if((tanggaltap == hariini) && (status == 'Rutin') && (slotjam == 'Terlambat Masuk') && (tanggal_dipilih == false)) {
- jam_terpilih = '<span style="color: red">' + moment(json[jm].tanggal_dan_waktu_tap).format('HH:mm') + '</span>'
- tanggal_dipilih == true
- }
- }
- }
- return jam_terpilih;
- },
- formatJam: function(jam) {
- if(jam != null) {
- return moment(jam,"HH:mm").format("HH:mm")
- } else {
- return '-'
- }
- },
- cekTelat: function (jam, bataswaktu, bataswaktu_selanjutnya, toleransi_keterlambatan) {
- let kondisi = false
- let toleransi = moment.duration(toleransi_keterlambatan).asMinutes()
- let jam_limit = moment(bataswaktu,'HH:mm').add(toleransi, 'minutes')
- let jam_limit_next = moment(bataswaktu_selanjutnya,'HH:mm').subtract(toleransi, 'minutes')
- if(jam_limit < jam_limit_next && moment(jam,"HH:mm:ss") <= jam_limit) {
- kondisi = false
- } else if(jam_limit < jam_limit_next && moment(jam,"HH:mm:ss") > jam_limit) {
- kondisi = true
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") <= jam_limit) {
- kondisi = false
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") >= moment("00:00:00", "HH:mm:ss") && moment(jam, "HH:mm:ss") < jam_limit_next) {
- kondisi = true
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") <= jam_limit && moment(jam, "HH:mm:ss") < moment("24:00:00", "HH:mm:ss")) {
- kondisi = true
- }
- return kondisi;
- },
- cekMasuk: function (jam, status) {
- let jamtap = '-'
- if(jam !== null) {
- if(status == 'Masuk') {
- jamtap = moment(jam,"HH:mm").format("HH:mm")
- } else if(status == 'Terlambat Masuk') {
- jamtap = '<span style="color: red">' + moment(jam,"HH:mm").format("HH:mm") + '</span>'
- }
- }
- return jamtap
- },
- cekMasukStatus: function (jam, status) {
- let jamtap = false
- if(jam !== null) {
- if(status == 'Masuk') {
- jamtap = false
- } else if(status == 'Terlambat Masuk') {
- jamtap = true
- }
- }
- return jamtap
- },
- cekIstirahatSelesai: function (jam, bataswaktu, bataswaktu_selanjutnya) {
- let jamtap = '-'
- let jam_limit = moment(bataswaktu,'HH:mm').add(10, 'minutes')
- let jam_limit_next = moment(bataswaktu_selanjutnya,'HH:mm').subtract(10, 'minutes')
- if(jam_limit < jam_limit_next && moment(jam,"HH:mm:ss") <= jam_limit) {
- jamtap = moment(jam,"HH:mm").format("HH:mm")
- } else if(jam_limit < jam_limit_next && moment(jam,"HH:mm:ss") > jam_limit) {
- jamtap = '<span style="color: red">' + moment(jam,"HH:mm").format("HH:mm") + '</span>'
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") > jam_limit && moment(jam, "HH:mm:ss") < moment("24:00:00", "HH:mm:ss")) {
- jamtap = '<span style="color: red">' + moment(jam,"HH:mm").format("HH:mm") + '</span>'
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") >= moment("00:00:00", "HH:mm:ss") && moment(jam, "HH:mm:ss") < jam_limit_next) {
- jamtap = '<span style="color: red">' + moment(jam,"HH:mm").format("HH:mm") + '</span>'
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") <= jam_limit && moment(jam, "HH:mm:ss") < moment("24:00:00", "HH:mm:ss")) {
- jamtap = moment(jam,"HH:mm:ss").format("HH:mm")
- }
- return jamtap
- },
- cekIstirahatSelesaiStatus: function (jam, bataswaktu, bataswaktu_selanjutnya) {
- let jamtap = false
- let jam_limit = moment(bataswaktu,'HH:mm').add(10, 'minutes')
- let jam_limit_next = moment(bataswaktu_selanjutnya,'HH:mm').subtract(10, 'minutes')
- if(jam_limit < jam_limit_next && moment(jam,"HH:mm:ss") <= jam_limit) {
- jamtap = false
- } else if(jam_limit < jam_limit_next && moment(jam,"HH:mm:ss") > jam_limit) {
- jamtap = true
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") > jam_limit && moment(jam, "HH:mm:ss") < moment("24:00:00", "HH:mm:ss")) {
- jamtap = true
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") >= moment("00:00:00", "HH:mm:ss") && moment(jam, "HH:mm:ss") < jam_limit_next) {
- jamtap = true
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") <= jam_limit && moment(jam, "HH:mm:ss") < moment("24:00:00", "HH:mm:ss")) {
- jamtap = false
- }
- return jamtap
- },
- cekTerlambat: function (jam, hari, bataswaktu, bataswaktu_selanjutnya, toleransi_keterlambatan) {
- let jamtap = '-'
- let toleransi = moment.duration(toleransi_keterlambatan).asMinutes()
- let jam_limit = moment(bataswaktu,'HH:mm').add(toleransi, 'minutes')
- let jam_limit_next = moment(bataswaktu_selanjutnya,'HH:mm').subtract(toleransi, 'minutes')
- if(jam != null) {
- switch(hari) {
- case "Senin":
- if(jam_limit < jam_limit_next && moment(jam,"HH:mm:ss") <= jam_limit) {
- jamtap = moment(jam, "HH:mm").format("HH:mm")
- } else if(jam_limit < jam_limit_next && moment(jam,"HH:mm:ss") > jam_limit) {
- jamtap = '<span style="color: red">' + moment(jam, "HH:mm").format("HH:mm") + '</span>'
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") > jam_limit && moment(jam, "HH:mm:ss") < moment("24:00:00", "HH:mm:ss")) {
- jamtap = '<span style="color: red">' + moment(jam, "HH:mm").format("HH:mm") + '</span>'
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") >= moment("00:00:00", "HH:mm:ss") && moment(jam, "HH:mm:ss") < jam_limit_next) {
- jamtap = '<span style="color: red">' + moment(jam, "HH:mm").format("HH:mm") + '</span>'
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") <= jam_limit && moment(jam, "HH:mm:ss") < moment("24:00:00", "HH:mm:ss")) {
- jamtap = moment(jam,"HH:mm:ss").format("HH:mm")
- }
- break;
- case "Selasa":
- if(jam_limit < jam_limit_next && moment(jam,"HH:mm:ss") <= jam_limit) {
- jamtap = moment(jam, "HH:mm").format("HH:mm")
- } else if(jam_limit < jam_limit_next && moment(jam,"HH:mm:ss") > jam_limit) {
- jamtap = '<span style="color: red">' + moment(jam, "HH:mm").format("HH:mm") + '</span>'
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") > jam_limit && moment(jam, "HH:mm:ss") < moment("24:00:00", "HH:mm:ss")) {
- jamtap = '<span style="color: red">' + moment(jam, "HH:mm").format("HH:mm") + '</span>'
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") >= moment("00:00:00", "HH:mm:ss") && moment(jam, "HH:mm:ss") < jam_limit_next) {
- jamtap = '<span style="color: red">' + moment(jam, "HH:mm").format("HH:mm") + '</span>'
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") <= jam_limit && moment(jam, "HH:mm:ss") < moment("24:00:00", "HH:mm:ss")) {
- jamtap = moment(jam,"HH:mm:ss").format("HH:mm")
- }
- break;
- case "Rabu":
- if(jam_limit < jam_limit_next && moment(jam,"HH:mm:ss") <= jam_limit) {
- jamtap = moment(jam, "HH:mm").format("HH:mm")
- } else if(jam_limit < jam_limit_next && moment(jam,"HH:mm:ss") > jam_limit) {
- jamtap = '<span style="color: red">' + moment(jam, "HH:mm").format("HH:mm") + '</span>'
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") > jam_limit && moment(jam, "HH:mm:ss") < moment("24:00:00", "HH:mm:ss")) {
- jamtap = '<span style="color: red">' + moment(jam, "HH:mm").format("HH:mm") + '</span>'
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") >= moment("00:00:00", "HH:mm:ss") && moment(jam, "HH:mm:ss") < jam_limit_next) {
- jamtap = '<span style="color: red">' + moment(jam, "HH:mm").format("HH:mm") + '</span>'
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") <= jam_limit && moment(jam, "HH:mm:ss") < moment("24:00:00", "HH:mm:ss")) {
- jamtap = moment(jam,"HH:mm:ss").format("HH:mm")
- }
- break;
- case "Kamis":
- if(jam_limit < jam_limit_next && moment(jam,"HH:mm:ss") <= jam_limit) {
- jamtap = moment(jam, "HH:mm").format("HH:mm")
- } else if(jam_limit < jam_limit_next && moment(jam,"HH:mm:ss") > jam_limit) {
- jamtap = '<span style="color: red">' + moment(jam, "HH:mm").format("HH:mm") + '</span>'
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") > jam_limit && moment(jam, "HH:mm:ss") < moment("24:00:00", "HH:mm:ss")) {
- jamtap = '<span style="color: red">' + moment(jam, "HH:mm").format("HH:mm") + '</span>'
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") >= moment("00:00:00", "HH:mm:ss") && moment(jam, "HH:mm:ss") < jam_limit_next) {
- jamtap = '<span style="color: red">' + moment(jam, "HH:mm").format("HH:mm") + '</span>'
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") <= jam_limit && moment(jam, "HH:mm:ss") < moment("24:00:00", "HH:mm:ss")) {
- jamtap = moment(jam,"HH:mm:ss").format("HH:mm")
- }
- break;
- case "Jum at":
- if(jam_limit < jam_limit_next && moment(jam,"HH:mm:ss") <= jam_limit) {
- jamtap = moment(jam, "HH:mm").format("HH:mm")
- } else if(jam_limit < jam_limit_next && moment(jam,"HH:mm:ss") > jam_limit) {
- jamtap = '<span style="color: red">' + moment(jam, "HH:mm").format("HH:mm") + '</span>'
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") > jam_limit && moment(jam, "HH:mm:ss") < moment("24:00:00", "HH:mm:ss")) {
- jamtap = '<span style="color: red">' + moment(jam, "HH:mm").format("HH:mm") + '</span>'
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") >= moment("00:00:00", "HH:mm:ss") && moment(jam, "HH:mm:ss") < jam_limit_next) {
- jamtap = '<span style="color: red">' + moment(jam, "HH:mm").format("HH:mm") + '</span>'
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") <= jam_limit && moment(jam, "HH:mm:ss") < moment("24:00:00", "HH:mm:ss")) {
- jamtap = moment(jam,"HH:mm:ss").format("HH:mm")
- }
- break;
- case "Sabtu":
- if(jam_limit < jam_limit_next && moment(jam,"HH:mm:ss") <= jam_limit) {
- jamtap = moment(jam, "HH:mm").format("HH:mm")
- } else if(jam_limit < jam_limit_next && moment(jam,"HH:mm:ss") > jam_limit) {
- jamtap = '<span style="color: red">' + moment(jam, "HH:mm").format("HH:mm") + '</span>'
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") > jam_limit && moment(jam, "HH:mm:ss") < moment("24:00:00", "HH:mm:ss")) {
- jamtap = '<span style="color: red">' + moment(jam, "HH:mm").format("HH:mm") + '</span>'
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") >= moment("00:00:00", "HH:mm:ss") && moment(jam, "HH:mm:ss") < jam_limit_next) {
- jamtap = '<span style="color: red">' + moment(jam, "HH:mm").format("HH:mm") + '</span>'
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") <= jam_limit && moment(jam, "HH:mm:ss") < moment("24:00:00", "HH:mm:ss")) {
- jamtap = moment(jam,"HH:mm:ss").format("HH:mm")
- }
- break;
- case "Minggu":
- if(jam_limit < jam_limit_next && moment(jam,"HH:mm:ss") <= jam_limit) {
- jamtap = moment(jam, "HH:mm").format("HH:mm")
- } else if(jam_limit < jam_limit_next && moment(jam,"HH:mm:ss") > jam_limit) {
- jamtap = '<span style="color: red">' + moment(jam, "HH:mm").format("HH:mm") + '</span>'
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") > jam_limit && moment(jam, "HH:mm:ss") < moment("24:00:00", "HH:mm:ss")) {
- jamtap = '<span style="color: red">' + moment(jam, "HH:mm").format("HH:mm") + '</span>'
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") >= moment("00:00:00", "HH:mm:ss") && moment(jam, "HH:mm:ss") < jam_limit_next) {
- jamtap = '<span style="color: red">' + moment(jam, "HH:mm").format("HH:mm") + '</span>'
- } else if(jam_limit > jam_limit_next && moment(jam,"HH:mm:ss") <= jam_limit && moment(jam, "HH:mm:ss") < moment("24:00:00", "HH:mm:ss")) {
- jamtap = moment(jam,"HH:mm:ss").format("HH:mm")
- }
- break;
- default:
- break;
- }
- }
- return jamtap
- },
- cekJamMasuk: function(json, jadwal) {
- let jam_terpilih = '-'
- let hari = moment(this.tanggal).format('dddd')
- let jadwal_terpilih = null
- let tanggal_dipilih = false
- let adajadwal = 0
- for(let jd = 0; jd < jadwal.length; jd++) {
- switch(hari) {
- case 'Sunday':
- if(jadwal[jd].checkbox_harikerja_minggu == 1) {
- adajadwal = 1
- }
- break;
- case 'Monday':
- if(jadwal[jd].checkbox_harikerja_senin == 1) {
- adajadwal = 1
- }
- break;
- case 'Tuesday':
- if(jadwal[jd].checkbox_harikerja_selasa == 1) {
- adajadwal = 1
- }
- break;
- case 'Wednesday':
- if(jadwal[jd].checkbox_harikerja_rabu == 1) {
- adajadwal = 1
- }
- break;
- case 'Thursday':
- if(jadwal[jd].checkbox_harikerja_kamis == 1) {
- adajadwal = 1
- }
- break;
- case 'Friday':
- if(jadwal[jd].checkbox_harikerja_jumat == 1) {
- adajadwal = 1
- }
- break;
- case 'Saturday':
- if(jadwal[jd].checkbox_harikerja_sabtu == 1) {
- adajadwal = 1
- }
- break;
- default:
- break;
- }
- if((jadwal_terpilih == null) && (adajadwal == 1)) {
- jadwal_terpilih = jadwal[jd]
- }
- }
- for(let jm = 0; jm < json.length; jm++) {
- if(json[jm].status == 'Rutin') {
- let tanggaltap = moment(json[jm].tanggal_dan_waktu_tap).format('YYYY-MM-DD')
- let hariini = moment(this.tanggal).format('YYYY-MM-DD')
- let slotjam = json[jm].slotjam
- let status = json[jm].status
- if((tanggaltap == hariini) && (status == 'Rutin') && (slotjam == 'Masuk') && (tanggal_dipilih == false)) {
- jam_terpilih = false
- tanggal_dipilih = true
- }
- if((tanggaltap == hariini) && (status == 'Rutin') && (slotjam == 'Terlambat Masuk') && (tanggal_dipilih == false)) {
- jam_terpilih = true
- tanggal_dipilih == true
- }
- }
- }
- return jam_terpilih;
- },
- filterJamIstirahatMulai: function(json, jadwal) {
- let jam_terpilih = '-'
- let hari = moment(this.tanggal).format('dddd')
- let jadwal_terpilih = null
- let tanggal_dipilih =false
- let adajadwal = 0
- for(let jd = 0; jd < jadwal.length; jd++) {
- switch(hari) {
- case 'Sunday':
- if(jadwal[jd].checkbox_harikerja_minggu == 1) {
- adajadwal = 1
- }
- break;
- case 'Monday':
- if(jadwal[jd].checkbox_harikerja_senin == 1) {
- adajadwal = 1
- }
- break;
- case 'Tuesday':
- if(jadwal[jd].checkbox_harikerja_selasa == 1) {
- adajadwal = 1
- }
- break;
- case 'Wednesday':
- if(jadwal[jd].checkbox_harikerja_rabu == 1) {
- adajadwal = 1
- }
- break;
- case 'Thursday':
- if(jadwal[jd].checkbox_harikerja_kamis == 1) {
- adajadwal = 1
- }
- break;
- case 'Friday':
- if(jadwal[jd].checkbox_harikerja_jumat == 1) {
- adajadwal = 1
- }
- break;
- case 'Saturday':
- if(jadwal[jd].checkbox_harikerja_sabtu == 1) {
- adajadwal = 1
- }
- break;
- default:
- break;
- }
- if((jadwal_terpilih == null) && (adajadwal == 1)) {
- jadwal_terpilih = jadwal[jd]
- }
- }
- for(let jm = 0; jm < json.length; jm++) {
- if(json[jm].status == 'Rutin') {
- let tanggaltap = moment(json[jm].tanggal_dan_waktu_tap).format('YYYY-MM-DD')
- let hariini = moment(this.tanggal).format('YYYY-MM-DD')
- let slotjam = json[jm].slotjam
- let status = json[jm].status
- if((tanggaltap == hariini) && (status == 'Rutin') && (slotjam == 'Istirahat Mulai') && (tanggal_dipilih == false)) {
- jam_terpilih = moment(json[jm].tanggal_dan_waktu_tap).format('HH:mm')
- tanggal_dipilih = true
- }
- }
- }
- return jam_terpilih;
- },
- filterJamIstirahatSelesai: function(json, jadwal, toleransi_keterlambatan) {
- let jam_terpilih = '-'
- let hari = moment(this.tanggal).format('dddd')
- let jadwal_terpilih = null
- let tanggal_dipilih = false
- let adajadwal = 0
- for(let jd = 0; jd < jadwal.length; jd++) {
- switch(hari) {
- case 'Sunday':
- if(jadwal[jd].checkbox_harikerja_minggu == 1) {
- adajadwal = 1
- }
- break;
- case 'Monday':
- if(jadwal[jd].checkbox_harikerja_senin == 1) {
- adajadwal = 1
- }
- break;
- case 'Tuesday':
- if(jadwal[jd].checkbox_harikerja_selasa == 1) {
- adajadwal = 1
- }
- break;
- case 'Wednesday':
- if(jadwal[jd].checkbox_harikerja_rabu == 1) {
- adajadwal = 1
- }
- break;
- case 'Thursday':
- if(jadwal[jd].checkbox_harikerja_kamis == 1) {
- adajadwal = 1
- }
- break;
- case 'Friday':
- if(jadwal[jd].checkbox_harikerja_jumat == 1) {
- adajadwal = 1
- }
- break;
- case 'Saturday':
- if(jadwal[jd].checkbox_harikerja_sabtu == 1) {
- adajadwal = 1
- }
- break;
- default:
- break;
- }
- if((jadwal_terpilih == null) && (adajadwal == 1)) {
- jadwal_terpilih = jadwal[jd]
- for(let jm = 0; jm < json.length; jm++) {
- if(json[jm].status == 'Rutin') {
- let tanggaltap = moment(json[jm].tanggal_dan_waktu_tap).format('YYYY-MM-DD')
- let hariini = moment(this.tanggal).format('YYYY-MM-DD')
- let slotjam = json[jm].slotjam
- let status = json[jm].status
- if((tanggaltap == hariini) && (status == 'Rutin') && (slotjam == 'Istirahat Selesai') && (tanggal_dipilih == false) ) {
- let jam = moment(json[jm].tanggal_dan_waktu_tap)
- let toleransi = moment.duration(toleransi_keterlambatan).asMinutes()
- let jam_istirahat_selesai = moment(jadwal_terpilih.jam_istirahat_selesai,'HH:mm').add(toleransi, 'minutes')
- if(jam <= jam_istirahat_selesai) {
- jam_terpilih = moment(json[jm].tanggal_dan_waktu_tap).format('HH:mm')
- } else {
- jam_terpilih = '<span style="color: red">' + moment(json[jm].tanggal_dan_waktu_tap).format('HH:mm') + '</span>'
- }
- tanggal_dipilih = true
- }
- // if((tanggaltap == hariini) && (status == 'Rutin') && (slotjam == 'Terlambat Istirahat Selesai')&& (tanggal_dipilih == false)) {
- // let jam = moment(json[jm].tanggal_dan_waktu_tap).format('HH:mm')
- // let jam_istirahat_selesai = moment(jadwal_terpilih.jam_istirahat_selesai,'HH:mm').format('HH:mm')
- // if(jam <= jam_istirahat_selesai) {
- // jam_terpilih = moment(json[jm].tanggal_dan_waktu_tap).format('HH:mm')
- // } else {
- // jam_terpilih = '<span style="color: red">' + moment(json[jm].tanggal_dan_waktu_tap).format('HH:mm') + '</span>'
- // }
- // tanggal_dipilih = true
- // }
- }
- }
- }
- }
- return jam_terpilih;
- },
- cekJamIstirahatSelesai: function(json, jadwal, toleransi_keterlambatan) {
- let jam_terpilih = '-'
- let hari = moment(this.tanggal).format('dddd')
- let jadwal_terpilih = null
- let tanggal_dipilih = false
- let adajadwal = 0
- for(let jd = 0; jd < jadwal.length; jd++) {
- switch(hari) {
- case 'Sunday':
- if(jadwal[jd].checkbox_harikerja_minggu == 1) {
- adajadwal = 1
- }
- break;
- case 'Monday':
- if(jadwal[jd].checkbox_harikerja_senin == 1) {
- adajadwal = 1
- }
- break;
- case 'Tuesday':
- if(jadwal[jd].checkbox_harikerja_selasa == 1) {
- adajadwal = 1
- }
- break;
- case 'Wednesday':
- if(jadwal[jd].checkbox_harikerja_rabu == 1) {
- adajadwal = 1
- }
- break;
- case 'Thursday':
- if(jadwal[jd].checkbox_harikerja_kamis == 1) {
- adajadwal = 1
- }
- break;
- case 'Friday':
- if(jadwal[jd].checkbox_harikerja_jumat == 1) {
- adajadwal = 1
- }
- break;
- case 'Saturday':
- if(jadwal[jd].checkbox_harikerja_sabtu == 1) {
- adajadwal = 1
- }
- break;
- default:
- break;
- }
- if((jadwal_terpilih == null) && (adajadwal == 1)) {
- jadwal_terpilih = jadwal[jd]
- for(let jm = 0; jm < json.length; jm++) {
- if(json[jm].status == 'Rutin') {
- let tanggaltap = moment(json[jm].tanggal_dan_waktu_tap).format('YYYY-MM-DD')
- let hariini = moment(this.tanggal).format('YYYY-MM-DD')
- let slotjam = json[jm].slotjam
- let status = json[jm].status
- if((tanggaltap == hariini) && (status == 'Rutin') && (slotjam == 'Istirahat Selesai') && (tanggal_dipilih == false) ) {
- let jam = moment(json[jm].tanggal_dan_waktu_tap)
- let toleransi = moment.duration(toleransi_keterlambatan).asMinutes()
- let jam_istirahat_selesai = moment(jadwal_terpilih.jam_istirahat_selesai,'HH:mm').add(toleransi, 'minutes')
- if(jam <= jam_istirahat_selesai) {
- jam_terpilih = false
- } else {
- jam_terpilih = true
- }
- tanggal_dipilih = true
- }
- }
- }
- }
- }
- return jam_terpilih;
- },
- filterJamPulang: function(json, jadwal) {
- let jam_terpilih = '-'
- let hari = moment(this.tanggal).format('dddd')
- let jadwal_terpilih = null
- let tanggal_dipilih = false
- let adajadwal = 0
- for(let jd = 0; jd < jadwal.length; jd++) {
- switch(hari) {
- case 'Sunday':
- if(jadwal[jd].checkbox_harikerja_minggu == 1) {
- adajadwal = 1
- }
- break;
- case 'Monday':
- if(jadwal[jd].checkbox_harikerja_senin == 1) {
- adajadwal = 1
- }
- break;
- case 'Tuesday':
- if(jadwal[jd].checkbox_harikerja_selasa == 1) {
- adajadwal = 1
- }
- break;
- case 'Wednesday':
- if(jadwal[jd].checkbox_harikerja_rabu == 1) {
- adajadwal = 1
- }
- break;
- case 'Thursday':
- if(jadwal[jd].checkbox_harikerja_kamis == 1) {
- adajadwal = 1
- }
- break;
- case 'Friday':
- if(jadwal[jd].checkbox_harikerja_jumat == 1) {
- adajadwal = 1
- }
- break;
- case 'Saturday':
- if(jadwal[jd].checkbox_harikerja_sabtu == 1) {
- adajadwal = 1
- }
- break;
- default:
- break;
- }
- if((jadwal_terpilih == null) && (adajadwal == 1)) {
- jadwal_terpilih = jadwal[jd]
- }
- }
- for(let jm = 0; jm < json.length; jm++) {
- if(json[jm].status == 'Rutin') {
- let tanggaltap = moment(json[jm].tanggal_dan_waktu_tap).format('YYYY-MM-DD')
- let hariini = moment(this.tanggal).format('YYYY-MM-DD')
- let slotjam = json[jm].slotjam
- let status = json[jm].status
- if((tanggaltap == hariini) && (status == 'Rutin') && (slotjam == 'Pulang') && (tanggal_dipilih == false)) {
- jam_terpilih = moment(json[jm].tanggal_dan_waktu_tap).format('HH:mm')
- tanggal_dipilih = true
- }
- }
- }
- return jam_terpilih;
- },
- calculatePoint: function(json, jadwal) {
- let poinjammasuk = 0
- let poinjamistirahatmulai = 0
- let poinjamistirahatselesai = 0
- let poinjampulang = 0
- let poin = 0
- let hari = moment(this.tanggal).format('dddd')
- let jadwal_terpilih = null
- let adajadwal = 0
- for(let jd = 0; jd < jadwal.length; jd++) {
- switch(hari) {
- case 'Sunday':
- if(jadwal[jd].checkbox_harikerja_minggu == 1) {
- adajadwal = 1
- }
- break;
- case 'Monday':
- if(jadwal[jd].checkbox_harikerja_senin == 1) {
- adajadwal = 1
- }
- break;
- case 'Tuesday':
- if(jadwal[jd].checkbox_harikerja_selasa == 1) {
- adajadwal = 1
- }
- break;
- case 'Wednesday':
- if(jadwal[jd].checkbox_harikerja_rabu == 1) {
- adajadwal = 1
- }
- break;
- case 'Thursday':
- if(jadwal[jd].checkbox_harikerja_kamis == 1) {
- adajadwal = 1
- }
- break;
- case 'Friday':
- if(jadwal[jd].checkbox_harikerja_jumat == 1) {
- adajadwal = 1
- }
- break;
- case 'Saturday':
- if(jadwal[jd].checkbox_harikerja_sabtu == 1) {
- adajadwal = 1
- }
- break;
- default:
- break;
- }
- if((jadwal_terpilih == null) && (adajadwal == 1)) {
- jadwal_terpilih = jadwal[jd]
- }
- }
- for(let jm = 0; jm < json.length; jm++) {
- if(json[jm].status == 'Rutin') {
- let tanggaltap = moment(json[jm].tanggal_dan_waktu_tap).format('YYYY-MM-DD')
- let hariini = moment(this.tanggal).format('YYYY-MM-DD')
- let slotjam = json[jm].slotjam
- if((tanggaltap == hariini) && (slotjam == 'Masuk')) {
- poinjammasuk = json[jm].poin
- }
- if((tanggaltap == hariini) && (slotjam == 'Terlambat Masuk')) {
- poinjammasuk = json[jm].poin
- }
- if((tanggaltap == hariini) && (slotjam == 'Istirahat Mulai')) {
- poinjamistirahatmulai = json[jm].poin
- }
- if((tanggaltap == hariini) && (slotjam == 'Istirahat Selesai')) {
- poinjamistirahatselesai = json[jm].poin
- }
- // if((tanggaltap == hariini) && (slotjam == 'Terlambat Istirahat Selesai')) {
- // poinjamistirahatselesai = json[jm].poin
- // }
- if((tanggaltap == hariini) && (slotjam == 'Pulang')) {
- poinjampulang += json[jm].poin
- }
- }
- }
- poin = poinjammasuk + poinjamistirahatmulai + poinjamistirahatselesai + poinjampulang
- return poin
- }
- }
- };
- </script>
- <style lang="scss" scoped>
- .b-table-sticky-header {
- overflow-x: scroll !important;
- overflow-y: scroll !important;
- table {
- tbody {
- display: contents !important;
- }
- }
- }
- </style>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement