EVOLUTION-NINJA
Edit File: attendance_master.php
<?php $this->load->view('includes/header.php')?> <link rel="stylesheet" type="text/css" media="screen" href="<?php echo base_url('assets/css/grid_style.css'); ?>" /> <link rel="stylesheet" type="text/css" media="screen" href="<?php echo base_url('assets/css/jquery-ui.css'); ?>" /> <link rel="stylesheet" type="text/css" media="screen" href="<?php echo base_url('assets/jqgrid/css/ui.jqgrid.css'); ?>" /> <link rel="stylesheet" type="text/css" media="screen" href="<?php echo base_url('assets/jqgrid/css/ui.jqgrid-bootstrap.css'); ?>" /> <link rel="stylesheet" type="text/css" media="screen" href="<?php echo base_url('assets/jqgrid/css/ui.jqgrid-bootstrap-ui.css'); ?>" /> <link rel="stylesheet" type="text/css" media="screen" href="<?php echo base_url('assets/css/bootstrap-datetimepicker.min.css'); ?>" /> <script type="text/ecmascript" src="<?php echo base_url('assets/jqgrid/js/jquery.jqGrid.min.js'); ?>"></script> <script type="text/ecmascript" src="<?php echo base_url('assets/jqgrid/js/i18n/grid.locale-en.js'); ?>"></script> <script src="<?php echo base_url('assets/js/jquery-ui.js'); ?>" type="text/javascript"></script> <script type="text/javascript" src="<?php echo base_url('assets/js/moment.js'); ?>"></script> <script type="text/javascript" src="<?php echo base_url('assets/js/bootstrap-datetimepicker.min.js'); ?>"></script> <div class="content-wrapper"> <div class="content-header"> <div class="container-fluid"> <div class="row mb-2"> <div class="col-sm-6"> </div> <div class="col-sm-6"> <ol class="breadcrumb float-sm-right"> <li class="breadcrumb-item"><a href="#">Accounts</a></li> <li class="breadcrumb-item"><a href="#">Masters</a></li> <li class="breadcrumb-item"><a href="#">HR</a></li> <li class="breadcrumb-item"> Attendence Master </li> </ol> </div> </div> </div> </div> <div class="row"> <div class="col-md-12 grid-margin stretch-card"> <div class="card"> <div class="card-body"> <form class="filter_choice_submit"> <div class="form-check-inline"> <label class="form-check-label"> <input type="radio" class="form-check-input" id="staff" name="optradio" value="staff">Staff </label> </div> <div class="form-check-inline"> <label class="form-check-label"> <input type="radio" class="form-check-input" id="month" name="optradio" value="month">Month </label> </div> <div class="form-check-inline disabled"> <label class="form-check-label"> <input type="radio" class="form-check-input" id="year" name="optradio" value="year">Year </label> </div> <div class="employees"> </div> <div class="months"> </div> <div class="years"> </div> <div class="row " style="padding-top: 30px;"> <div class="center filter_submit"> </div> </div> </form> <div id ="jaytab" style="margin-top:3%;" class="grid table-responsive"> <table id="list0"></table> <div id="pager0"></div> <div id="dialogSelectRow" title="Warning" style="display:none"> <p>Please select row</p> </div> </div> <div id ="staffjaytab" style="margin-top:3%" class="grid table-responsive"> <table id="stafflist1"></table> <div id="staffpager1"></div> <div id="dialogSelectRow" title="Warning" style="display:none"> <p>Please select row</p> </div> </div> <div id ="monthjaytab" style="margin-top:3%" class="grid table-responsive"> <table id="monthlist2"></table> <div id="monthpager2"></div> <div id="dialogSelectRow" title="Warning" style="display:none"> <p>Please select row</p> </div> </div> <div id ="yearjaytab" style="margin-top:3%" class="grid table-responsive"> <table id="yearlist3"></table> <div id="yearpager3"></div> <div id="dialogSelectRow" title="Warning" style="display:none"> <p>Please select row</p> </div> </div> </div> </div> </div> </div> </div> <style type="text/css"> pre { background-color: transparent; border: 1px solid transparent; line-height: 1.6; text-align: justify; } .form-control:focus, input[type="Submit"]:focus, input[type="button"]:focus { border-color: #FF0000; box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(255, 0, 0, 0.6); } </style> <script type="text/javascript"> $(document).ready(function(){ $("#list0").jqGrid({ url:"<?php echo site_url('get-attendance-list')?>", mtype : "get", datatype: "json", colNames:['id','Employee ID','Employee Name','Date','Login','Logout','Action'], colModel:[ {name:'id',index:'id', width:100, hidden:true,editable:false,key:true}, {name:'employee_id',index:'employee_id', width:150, hidden:false,editable:false}, {name:'full_name',index:'full_name', width:100, hidden:false,editable:false}, {name:'entry_date',index:'entry_date', width:200, hidden:false,editable:false}, {name:'entry_time',index:'entry_time',editable:false, width:200}, {name:'exit_time',index:'exit_time',editable:false, width:100}, {name:'',index:'',width:80, search:false,align:'center',editable:false,formatter: function (cellvalue, options, rowObject) { var retVal = ""; var retVal = '<a onclick="delete_attendance('+rowObject.id+')"; href="javascript:void(0);"><i class="fa fa-trash" style="color:red;" aria-hidden="true"></i></a>'; return retVal; }}, ], rowNum:20, rowTotal: 2000, rowList : [20,30], rownumbers: true, //rownumWidth: 60, pager:"#pager0", sortname:'id', viewrecords: true, gridview: true, autowidth: true, sortorder:"asc", shrinkToFit: true, loadonce:true, autoencode: true, caption:"Attendance List", //Subgrid1... subGrid: false, }); $("#list0").jqGrid("setLabel", "rn", "SL"); $("#list0").jqGrid('filterToolbar',{searchOperators : false}); //for multisearch code,remove if not required $("#list0").jqGrid('navGrid','#pager2', {edit:false,add:false,del:false,search:false,refreshstate:"current"}, { }, { }, { }, { sopt:['eq', 'ne', 'lt', 'gt', 'cn', 'bw', 'ew'], closeOnEscape: true, multipleSearch: true, closeAfterSearch: true, closeAfterDelete:true, closeAfterEdit:true }, ); }); /*$(':radio[id=staff]').change(function(){ $("#jaytab").hide(); }); $(':radio[id=month]').change(function(){ $("#jaytab").hide(); }); $(':radio[id=year]').change(function(){ $("#jaytab").hide(); }); $(':radio[id=month]').change(function(){ $("#staffjaytab").hide(); }); $(':radio[id=year]').change(function(){ $("#monthjaytab").hide(); });*/ $(':radio[id=staff]').change(function(){ $("#jaytab").hide(); $("#monthjaytab").hide(); $("#yearjaytab").hide(); $("#staffjaytab").show(); }); $(':radio[id=month]').change(function(){ $("#jaytab").hide(); $("#staffjaytab").hide(); $("#yearjaytab").hide(); $("#monthjaytab").show(); }); $(':radio[id=year]').change(function(){ $("#jaytab").hide(); $("#staffjaytab").hide(); $("#monthjaytab").hide(); $("#yearjaytab").show(); }); $('input[name=optradio]').change(function() { var value = $(this).val(); $('.employees').empty(); $('.months').empty(); $('.years').empty(); $('.filter_submit').empty(); if(value == 'staff') { $('.employees').empty(); var content = ''; content += '<div class="row" style="padding-top: 30px;">'; content += '<div class="col-sm-2">'; content += '<div class="form-group">'; content += '<center><label>Employee Name</label> </center>'; content += '</div>'; content += '</div>'; content += '<div class="col-sm-4">'; content += '<div class="form-group">'; content += '<select name="employee_id" class="form-control employee_id" onchange="change_staff();" required>'; content += '<option value="">Select</option>'; content += '<?php foreach($employee as $key => $value) { ?><option value="<?php echo $value->emp_id; ?>"><?php echo $value->first_name.' '.$value->last_name; ?></option><?php } ?>'; content += '</select>'; content += '</div> '; content += '</div>'; content += '</div>'; $('.employees').append(content); } else if(value == 'month') { $('.months').empty(); var content = ''; content += '<div class="row" style="padding-top: 30px;">'; content += '<div class="col-sm-2">'; content += '<center><label>Months</label></center>'; content += '</div>'; content += '<div class="col-sm-4">'; content += '<div class="form-group">'; content += '<select class="form-control col-sm-8 month" id="months" name="months">'; content += '<option value="">Select</option>'; content += '<option value="01">January</option>'; content += '<option value="02">Febraury</option>'; content += '<option value="03">March</option>'; content += '<option value="04">April</option>'; content += '<option value="05">May</option>'; content += '<option value="06">June</option>'; content += '<option value="07">July</option>'; content += '<option value="08">August</option>'; content += '<option value="09">September</option>'; content += '<option value="10">October</option>'; content += '<option value="11">November</option>'; content += '<option value="12">December</option>'; content += '</select>'; content += '</div>'; content += '</div>'; content += '</div>'; $('.months').append(content); } else { $('.years').empty(); var content = ''; content += '<div class="row" style="padding-top: 30px;">'; content += '<div class="col-sm-2">'; content += '<center><label>Year</label></center>'; content += '</div>'; content += '<div class="col-sm-4">'; content += '<div class="form-group">'; content += '<input type="text" name="year" class="form-control year" id="datetimepicker1" >'; content += '</div>'; content += '</div>'; content += '</div>'; $('.years').append(content); $('#datetimepicker1').datetimepicker({ format : "YYYY", //viewMode : "years", }); } var content = ''; content += '<div class="form-group">'; content += '<div class="col-sm-6">'; content += '<button type="submit" id="btn" class="btn btn-primary center-block">Submit</button>'; content += '</div>'; content += '</div>'; $('.filter_submit').append(content); }); $('.filter_choice_submit').submit(function(e) { e.preventDefault(); var type = $('input[name=optradio]:checked').val(); if(type == 'staff') { var employee_id = $(".employee_id").val(); //alert(employee_id); $("#stafflist1").jqGrid({ url:"<?php echo site_url('get-staffwise-attendance-list')?>?employee_id="+employee_id, mtype : "get", datatype: "json", colNames:['id','Employee ID','Employee Name','Date','Login','Logout','Action'], colModel:[ {name:'id',index:'id', width:100, hidden:true,editable:false,key:true}, {name:'employee_id',index:'employee_id', width:150, hidden:false,editable:false}, {name:'full_name',index:'full_name', width:100, hidden:false,editable:false}, {name:'entry_date',index:'entry_date', width:200, hidden:false,editable:false}, {name:'entry_time',index:'entry_time',editable:false, width:200}, {name:'exit_time',index:'exit_time',editable:false, width:100}, {name:'',index:'',width:80, search:false,align:'center',editable:false,formatter: function (cellvalue, options, rowObject) { var retVal = ""; var retVal = '<a onclick="delete_attendance('+rowObject.id+')"; href="javascript:void(0);"><i class="fa fa-trash" style="color:red;" aria-hidden="true"></i></a>'; return retVal; }}, ], rowNum:20, rowTotal: 2000, rowList : [20,30], rownumbers: true, //rownumWidth: 60, pager:"#staffpager1", sortname:'id', viewrecords: true, gridview: true, autowidth: true, sortorder:"asc", shrinkToFit: true, loadonce:true, autoencode: true, caption:"Staffwise Attendance List", //Subgrid1... subGrid: false, }); } else if(type == 'month') { var month = $(".month").val(); $("#monthlist2").jqGrid({ url:"<?php echo site_url('get-monthwise-attendance-list')?>?month="+month, mtype : "get", datatype: "json", colNames:['id','Employee ID','Employee Name','Date','Login','Logout','Action'], colModel:[ {name:'id',index:'id', width:100, hidden:true,editable:false,key:true}, {name:'employee_id',index:'employee_id', width:150, hidden:false,editable:false}, {name:'full_name',index:'full_name', width:100, hidden:false,editable:false}, {name:'entry_date',index:'entry_date', width:200, hidden:false,editable:false}, {name:'entry_time',index:'entry_time',editable:false, width:200}, {name:'exit_time',index:'exit_time',editable:false, width:100}, {name:'',index:'',width:80, search:false,align:'center',editable:false,formatter: function (cellvalue, options, rowObject) { var retVal = ""; var retVal = '<a onclick="delete_attendance('+rowObject.id+')"; href="javascript:void(0);"><i class="fa fa-trash" style="color:red;" aria-hidden="true"></i></a>'; return retVal; }}, ], rowNum:20, rowTotal: 2000, rowList : [20,30], rownumbers: true, //rownumWidth: 60, pager:"#monthpager2", sortname:'id', viewrecords: true, gridview: true, autowidth: true, sortorder:"asc", shrinkToFit: true, loadonce:true, autoencode: true, caption:"Monthwise Attendance List", //Subgrid1... subGrid: false, }); } else { var year = $(".year").val(); $("#yearlist3").jqGrid({ url:"<?php echo site_url('get-yearwise-attendance-list')?>?year="+year, mtype : "get", datatype: "json", colNames:['id','Employee ID','Employee Name','Date','Login','Logout','Action'], colModel:[ {name:'id',index:'id', width:100, hidden:true,editable:false,key:true}, {name:'employee_id',index:'employee_id', width:150, hidden:false,editable:false}, {name:'full_name',index:'full_name', width:100, hidden:false,editable:false}, {name:'entry_date',index:'entry_date', width:200, hidden:false,editable:false}, {name:'entry_time',index:'entry_time',editable:false, width:200}, {name:'exit_time',index:'exit_time',editable:false, width:100}, {name:'',index:'',width:80, search:false,align:'center',editable:false,formatter: function (cellvalue, options, rowObject) { var retVal = ""; var retVal = '<a onclick="delete_attendance('+rowObject.id+')"; href="javascript:void(0);"><i class="fa fa-trash" style="color:red;" aria-hidden="true"></i></a>'; return retVal; }}, ], rowNum:20, rowTotal: 2000, rowList : [20,30], rownumbers: true, //rownumWidth: 60, pager:"#yearpager2", sortname:'id', viewrecords: true, gridview: true, autowidth: true, sortorder:"asc", shrinkToFit: true, loadonce:true, autoencode: true, caption:"Yearwise Attendance List", //Subgrid1... subGrid: false, }); } $("#list2").jqGrid("setLabel", "rn", "SL"); $("#list2").jqGrid('filterToolbar',{searchOperators : false}); //for multisearch code,remove if not required $("#list2").jqGrid('navGrid','#pager2', {edit:false,add:false,del:false,search:false,refreshstate:"current"}, { }, { }, { }, { sopt:['eq', 'ne', 'lt', 'gt', 'cn', 'bw', 'ew'], closeOnEscape: true, multipleSearch: true, closeAfterSearch: true, closeAfterDelete:true, closeAfterEdit:true }, ); }); /*function change_staff() { var employee_id = $('.employee_id option:selected').val(); alert(employee_id); $("#stafflist1").jqGrid({ url:"<?php echo site_url('get-staffwise-attendance-list')?>?employee_id="+employee_id, mtype : "get", datatype: "json", colNames:['id','Employee ID','Employee Name','Date','Login','Logout','Action'], colModel:[ {name:'id',index:'id', width:100, hidden:true,editable:false,key:true}, {name:'employee_id',index:'employee_id', width:150, hidden:false,editable:false}, {name:'full_name',index:'full_name', width:100, hidden:false,editable:false}, {name:'entry_date',index:'entry_date', width:200, hidden:false,editable:false}, {name:'entry_time',index:'entry_time',editable:false, width:200}, {name:'exit_time',index:'exit_time',editable:false, width:100}, {name:'',index:'',width:80, search:false,editable:false,formatter: function (cellvalue, options, rowObject) { var retVal = ""; var retVal = ' <a onclick="edit_attendance('+rowObject.id+');" href="javascript:void(0);"><i class="fa fa-pencil-square-o" style="color:blue;" aria-hidden="true"></i></a> <a onclick="delete_attendance('+rowObject.id+')"; href="javascript:void(0);"><i class="fa fa-trash" style="color:red;" aria-hidden="true"></i></a>'; return retVal; }}, ], rowNum:20, rowTotal: 2000, rowList : [20,30], rownumbers: true, //rownumWidth: 60, pager:"#staffpager1", sortname:'id', viewrecords: true, gridview: true, autowidth: true, sortorder:"asc", shrinkToFit: true, loadonce:true, autoencode: true, caption:"Staffwise Attendance List", //Subgrid1... subGrid: false, }); }*/ function delete_attendance(id) { swal({ title: "Are you sure?", text: "You will not be able to recover this data !", type: "warning", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "Yes, delete it!", cancelButtonText: "No, cancel plz!", closeOnConfirm: false, closeOnCancel: false }, function(isConfirm){ if (isConfirm) { $(".sweet-alert").hide(); $(".sweet-overlay").hide(); $.ajax({ type : 'post', url : "<?php echo site_url('delete-attendance-details');?>", data : {'attendance_id':id}, success:function(response) { response=jQuery.parseJSON(response); console.log(response); if(response.result==1) { toastr["success"](response.message); //$("#list2").setGridParam({datatype:'json', page:1}).trigger('reloadGrid'); $("#list0").setGridParam({datatype:'json', page:1}).trigger('reloadGrid'); $("#stafflist1").setGridParam({datatype:'json', page:1}).trigger('reloadGrid'); $("#monthlist2").setGridParam({datatype:'json', page:1}).trigger('reloadGrid'); $("#yearlist3").setGridParam({datatype:'json', page:1}).trigger('reloadGrid'); } } }); } else { $(".sweet-alert").hide(); $(".sweet-overlay").hide(); } }); } </script> <?php $this->load->view('includes/footer.php')?>