File manager - Edit - /home/wwwroot/camplus.hk/master.camplus.hk/public_html/application/modules/attendance/views/at_report.php
Back
<!-- BEGIN DATATABLE SCRIPTS --> <link href="<?php echo base_url(); ?>assets/custom/datatables/datatables.min.css" rel="stylesheet" > <script src="<?php echo base_url(); ?>assets/custom/datatables/datatables.min.js"></script> <script src="<?php echo base_url(); ?>assets/global/plugins/datatables/plugins/bootstrap/datatables.bootstrap.js"></script> <script src="<?php echo base_url(); ?>assets/custom/js/camplus-datatable.js"></script> <!-- END DATATABLE SCRIPTS --> <!-- BEGIN FILEINPUT SCRIPTS --> <link href="<?php echo base_url(); ?>assets/global/plugins/bootstrap-fileinput/bootstrap-fileinput.css" rel="stylesheet" > <script src="<?php echo base_url(); ?>assets/global/plugins/bootstrap-fileinput/bootstrap-fileinput.js"></script> <!-- END FILEINPUT SCRIPTS --> <!-- BEGIN DATERANGE SCRIPTS --> <link href="<?php echo base_url(); ?>assets/global/plugins/bootstrap-datepicker/css/bootstrap-datepicker3.min.css" rel="stylesheet" > <link href="<?php echo base_url(); ?>assets/global/plugins/bootstrap-datepaginator/bootstrap-datepaginator.min.css" rel="stylesheet" > <script src="<?php echo base_url(); ?>assets/global/plugins/moment.min.js"></script> <script src="<?php echo base_url(); ?>assets/global/plugins/bootstrap-datepicker/js/bootstrap-datepicker.min.js"></script> <script src="<?php echo base_url(); ?>assets/global/plugins/bootstrap-datepaginator/bootstrap-datepaginator.min.js"></script> <!-- END DATERANGE SCRIPTS --> <div class="portlet light bordered"> <div class="portlet-title"> <div class="caption"> <i class="icon-doc font-dark"></i> <span class="bold"><?php echo $pagetitle; ?></span> <span id="curr_date"></span> </div> <div class="actions"> <a id="export_btn" href="<?php echo base_url(); ?>attendance/export/<?php echo date('Y-m-d');?>" class="dt-button btn green-jungle btn-outline" > <i class="fa fa-plus"></i> <?php echo $this->lang->line('export'); ?> </a> </div> </div> <div class="row"> <div class="col-sm-12"> <div class="form-group" style="width: 20%;float: left;"> <input type="text" class="form-control " id="username" onkeyup="filterByname()" placeholder="Search by name" title="Enter User Name"> </div> <div class="form-group" style="width: 20%;float: left;margin-left: 19px;"> <select id="status" class="form-control" onchange="filterByStatus()" > <option value="" > Filter by status</option> <option value="NORMAL" > Normal</option> <option value="LATE" > Late</option> <option value="ABSENT" > Absent</option> <option value="EARLY" > Early</option> <option value="" > All</option> </select> </div> <div class="form-group" style="width: 20%;float: left;margin-left: 19px;"> <select id="ap_groups" class="form-control" onchange="filterByGroup()" > <option value="all" > Filter by group</option> <?php foreach ($groups as $group) {?> <option value="<?php echo $group['id']?>" > <?php echo $group['title']?></option> <?php }?> <option value="all" > All</option> </select> </div> </div> </div> <div id="datepaginator"> </div> <form action='POST' target='attendance/attendance/confirmAttendance'> <table class="table table-striped table-bordered table-hover attendancereport" id="data_table"> <thead> <tr> <th>#</th> <th><?php echo $this->lang->line('name'); ?></th> <th><?php echo $this->lang->line('in_time'); ?></th> <th><?php echo $this->lang->line('check_in'); ?></th> <th><?php echo $this->lang->line('status'); ?></th> <th><?php echo $this->lang->line('remark'); ?></th> <th><?php echo $this->lang->line('out_time'); ?></th> <th><?php echo $this->lang->line('check_out'); ?></th> <th><?php echo $this->lang->line('status'); ?></th> <th><?php echo $this->lang->line('remark'); ?></th> <th><?php echo $this->lang->line('overtime'); ?></th> <th><?php echo $this->lang->line('actions'); ?></th> </tr> </thead> <tbody> </tbody> </table> </form> </div> </div> <script> <?php $my_users = ''; foreach($ap_groups as $group) { $my_users .= $group['users']. ','; }?> var ap_groups = "<?php echo $my_users;?>" var apg_array = ap_groups.replace(/\ /g,"").split(','); var selected_date; var confirm_attendance = false; <?php if($this->acl->hasPermission('CONFIRM_ATTENDANCE_RECORD')) echo "confirm_attendance = true;" ?> $(document).ready(function(){ var options = { selectedDateFormat: 'YYYY-MM-DD', size: 'small', startDate: moment(new Date(2010, 1, 1)), endDate: moment(new Date(2100, 1, 1)), } $('#datepaginator').datepaginator(options); $('#datepaginator').on('selectedDateChanged', function (event, date) { var date = new Date(date); selected_date= date.getFullYear()+ '-' + twoDigitMonth(date.getMonth()) + '-' + twoDigitDate(date.getDate()) ; $('#export_btn').attr('href',"<?php echo base_url(); ?>attendance/export/"+selected_date) attendancereport(selected_date); }); var todaydate = new Date(); var todaydate_date= todaydate.getFullYear()+ '-' + twoDigitMonth(todaydate.getMonth()) + '-' + twoDigitDate(todaydate.getDate()) ; selected_date = todaydate_date; attendancereport(todaydate_date); }); function attendancereport(date){ $('#loader').fadeIn(); var date_arr = date.split('-'); date=date_arr[0]+'-'+twoDigitMonth(date_arr[1]-1)+'-'+twoDigitDate(date_arr[2]) console.log('attendance report of ' + selected_date) $(".attendancereport tbody").html(''); $.ajax({ type: "POST", url: BASE_URL + "attendance/attendance/getAttendanceReport/" + date, dataType: "json", success: function(data) { $(".attendancereport tbody").html(''); $("#curr_date").html(date) $.each(data, function (i, value) { var appendStr = ''; if(value['agp']==null) { value['agp'] = 0; } if(confirm_attendance) { appendStr +='<tr data-group='+value['agp']+'><td>'+(i+1)+'</td><td>'+ value['name'] +'</td><td>'+ value['in_time'] +' </td><td>'+ value['check_in'] +' </td> <td><select name="in['+value['uid']+']"><option value="NORMAL">NORMAL</option><option value="LATE" ' if(value['in_status']=='LATE') appendStr += ' selected ' appendStr +='>LATE</option><option value="ABSENT"' if(value['in_status']=='ABSENT') appendStr += ' selected ' appendStr +='>ABSENT</option></select></td><td><textarea name="in_remarks['+value['uid']+']">'+ value['in_remarks']+'</textarea> <td> '+ value['out_time'] +' </td> <td>'+ value['check_out'] +'</td> <td><select name="out['+value['uid']+']"><option value="NORMAL">NORMAL</option><option value="EARLY"' if(value['out_status']=='EARLY') appendStr += ' selected ' appendStr +='>EARLY</option><option value="ABSENT"' if(value['out_status']=='ABSENT') appendStr += ' selected ' appendStr +='>ABSENT</option></select></td><td><textarea name="out_remarks['+value['uid']+']">'+ value['out_remarks']+'</textarea></td><td>'+ value['overtime']+'</td>' if(value['confirmed']!=undefined) { appendStr += '<td>Confirmed by '+value['confirmed']+' at ' + value['time'] <?php if($this->acl->hasPermission('RESUBMIT_ATTENDANCE_RECORD')) {?> appendStr += '<br/><a class="btn btn-warning" style="margin-top:10px; "id="confirmBtn_'+value['uid']+'" onClick="confirmAt('+value['uid']+')">Resubmit</a>' <?php }?> appendStr +='</td></tr>'; } else { appendStr += '<td><a class="btn btn-success" id="confirmBtn_'+value['uid']+'" onClick="confirmAt('+value['uid']+')">Confirm</a></td></tr>'; } } else { appendStr+='<tr data-group='+value['agp']+'><td>'+(i+1)+'</td><td>'+ value['name'] +'</td><td>'+ value['in_time'] +' </td><td>'+ value['check_in'] + '</td>'; if(value['in_status']=='ABSENT' || value['in_status']=='LATE') appendStr += '<td class="text-danger">'+ value['in_status'] +'</td>'; else appendStr += '<td>'+ value['in_status'] +'</td>'; appendStr += '<td style="max-width: 150px; word-wrap: break-word;">'+ value['in_remarks']+'</td> <td> '+ value['out_time'] +' </td> <td>'+ value['check_out'] + '</td>'; if(value['out_status']=='ABSENT' || value['out_status']=='LATE') appendStr += '<td class="text-danger">'+ value['out_status'] +'</td>'; else appendStr += '<td>'+ value['out_status'] +'</td>'; appendStr += '<td style="max-width: 150px; word-wrap: break-word;">'+ value['out_remarks']+'</td><td>'+ value['overtime']+'</td><td></td></tr>'; } $(".attendancereport tbody").append(appendStr); if(apg_array.indexOf(value['uid'].toString())>=0) { $('select[name="in['+value['uid']+']"]').val(value['in_status'].toUpperCase()) $('select[name="out['+value['uid']+']"]').val(value['out_status'].toUpperCase()) } }); $('#loader').fadeOut(); } }); } function twoDigitMonth( mo ) { mo = parseInt( mo ) + 1; // Add 1 to current month return ( mo.toString().length < 2 ? "0"+mo : mo ).toString(); } function twoDigitDate( da ) { da = parseInt( da ) ; // Add 1 to current month var string = ( da.toString().length < 2 ? "0"+da : da ).toString(); return string; } </script> <script> function filterByGroup() { //$("#status").val('Filter by status').change(); var input, filter, table, tr, td, i; input = document.getElementById("ap_groups"); filter = input.value.toUpperCase(); table = document.getElementById("data_table"); tr = table.getElementsByTagName("tr"); console.log(filter); for (i = 0; i < tr.length; i++) { if(filter!='ALL') { data = $(tr[i]).attr('data-group'); if (data) { if (data.toString().split(',').indexOf(filter) > -1) { tr[i].style.display = ""; } else { tr[i].style.display = "none"; } } } else { tr[i].style.display = ""; } } } function filterByname() { //$("#status").val('Filter by status').change(); var input, filter, table, tr, td, i; input = document.getElementById("username"); filter = input.value.toUpperCase(); table = document.getElementById("data_table"); tr = table.getElementsByTagName("tr"); for (i = 0; i < tr.length; i++) { td = tr[i].getElementsByTagName("td")[1]; if (td) { if (td.innerHTML.toUpperCase().indexOf(filter) > -1) { tr[i].style.display = ""; } else { tr[i].style.display = "none"; } } } } function filterByStatus() { $("#username").val(""); var input, filter, table, tr, td1, td2, i,j,clomun,selected1,selected2,found; input = document.getElementById("status"); filter = input.value.toUpperCase(); table = document.getElementById("data_table"); tr = table.getElementsByTagName("tr"); console.log(tr); for (i = 1; i < tr.length; i++) { console.log(i) td1 = tr[i].getElementsByTagName("td")[4]; td2 = tr[i].getElementsByTagName("td")[8]; selected1 = $(td1).find('select').first().val() selected2 = $(td2).find('select').first().val() if(selected1==undefined) found = td1.innerHTML.toUpperCase().indexOf(filter) > -1 || td2.innerHTML.toUpperCase().indexOf(filter) > -1 else found = selected1.toUpperCase().indexOf(filter) > -1 || selected2.toUpperCase().indexOf(filter) > -1 if (found) { tr[i].style.display = ""; } else { tr[i].style.display = "none"; } } } function confirmAt(id){ var in_val = $('select[name="in['+id+']"]').val() var out_val = $('select[name="out['+id+']"]').val() var in_remarks = $('textarea[name="in_remarks['+id+']"]').val() var out_remarks = $('textarea[name="out_remarks['+id+']"]').val() $.ajax({ type: "POST", url: BASE_URL + "attendance/attendance/saveAttendanceReport/", dataType: "json", data: "uid="+id+"&in=" + in_val + "&out=" + out_val + "&in_remarks=" + in_remarks + "&out_remarks=" + out_remarks + "&date=" + selected_date + "&updatedby=<?php echo $this->session->userdata("id");?>", success: function(data) { if(data!=undefined) { $('#confirmBtn_'+id).parent('td').html('Confirmed by <?php echo $this->session->userdata('username');?>'); } } }) } </script>
| ver. 1.4 |
Github
|
.
| PHP 7.2.34 | Generation time: 0.2 |
proxy
|
phpinfo
|
Settings