2024-10-16 19:18:52 +05:30
< ? php include ( 'techsyn_header.php' ); ?>
<!-- Main Content Container for side bar and body -->
< div class = " main-container ace-save-state " id = " main-container " >
< script type = " text/javascript " >
try { ace . settings . loadState ( 'main-container' )} catch ( e ){}
</ script >
< ? php
include ( 'techsyn_sidebar.php' );
error_reporting ( E_ALL & ~ E_WARNING & ~ E_NOTICE );
$ohc_type = $_SESSION [ 'current_ohcttype' ] ?>
<!-- breadcrumb -->
< div class = " main-content " >
< div class = " main-content-inner " >
< div class = " breadcrumbs ace-save-state " id = " breadcrumbs " >
< ul class = " breadcrumb " >
< li >< i class = " ace-icon fa fa-home home-icon " ></ i > < a href = " # " > Home </ a >
</ li >
< li class = " # " > Duty Roster </ li >
< li class = " active " > Monthly Roster </ li >
</ ul >
</ div >
<!-- End of breadcrumb -->
< ? php
2025-02-21 11:45:27 +05:30
2024-10-16 19:18:52 +05:30
$db_new_date = " " ;
$last_day = " " ;
$m = 0 ;
$y = 0 ;
$selectedShiftMonth = $_POST [ 'shift_month' ];
//echo "month......".$selectedShiftMonth;
$selectedShiftYear = $_POST [ 'shift_year' ];
//echo "year.........".$selectedShiftYear;
if ( isset ( $selectedShiftYear ) && $selectedShiftYear != " " && isset ( $selectedShiftMonth ) && $selectedShiftMonth != " " ){
$last_day = date ( " t-m-Y " , strtotime ( " " . $selectedShiftYear . " - " . ( $selectedShiftMonth + 1 ) . " -01 " ));
// echo "last:date".$last_day;
}
else {
$last_day = date ( 't-m-Y' );
//echo "last:date1".$last_day;
}
$m = date ( 'm' , strtotime ( " " . $selectedShiftYear . " - " . ( $selectedShiftMonth + 1 ) . " -01 " ));
////echo "month det".$m;
$y = date ( 'Y' , strtotime ( " " . $selectedShiftYear . " - " . ( $selectedShiftMonth + 1 ) . " -01 " ));
//echo "year det".$y;
$shift_status_options = generateOption ( 'shift_status' , 'status_name' , 'shift_status_id' , '' , '' , '' );
// generateOptionForMultipleWithWhereClause('shift_status','status_name','shift_status_id','','','is_shift','Y');
2025-02-21 11:45:27 +05:30
error_log ( " MONTh " . $m );
error_log ( " Year " . $y );
error_log ( " LAST DATE " . $last_day );
$last_day = date_format ( date_create ( $last_day ), 'd' );
2024-10-16 19:18:52 +05:30
?>
< script >
var jsonArrayShiftData = < ? php echo json_encode ( $shift_data ); ?> ;
</ script >
< style ></ style >
< div class = " page-content " >
< div class = " box box-primary "
style = " padding: 10px; margin: 2px 0px 50px 5px; width: 99.5%; " >
2025-02-21 11:45:27 +05:30
< form id = " shift_form " action = " shift_details.php " method = " post " >
2024-10-16 19:18:52 +05:30
<!-- box - body -->
< div class = " box-body " id = " reload_amb " >
< div class = " row " style = " overflow: scroll; " >
< div class = " col-sm-1 " >
< tr >
< td >< select name = " shift_month " id = " shift_month "
class = " form-control " >
< option value = " 0 " < ? php if ( $m == 1 ){ ?> selected<?php }?>>January</option>
< option value = " 1 " < ? php if ( $m == 2 ){ ?> selected<?php }?>>February</option>
< option value = " 2 " < ? php if ( $m == 3 ){ ?> selected<?php }?>>March</option>
< option value = " 3 " < ? php if ( $m == 4 ){ ?> selected<?php }?>>April</option>
< option value = " 4 " < ? php if ( $m == 5 ){ ?> selected<?php }?>>May</option>
< option value = " 5 " < ? php if ( $m == 6 ){ ?> selected<?php }?>>June</option>
< option value = " 6 " < ? php if ( $m == 7 ){ ?> selected<?php }?>>July</option>
< option value = " 7 " < ? php if ( $m == 8 ){ ?> selected<?php }?>>August</option>
< option value = " 8 " < ? php if ( $m == 9 ){ ?> selected<?php }?>>September</option>
< option value = " 9 " < ? php if ( $m == 10 ){ ?> selected<?php }?>>October</option>
< option value = " 10 " < ? php if ( $m == 11 ){ ?> selected<?php }?>>November</option>
< option value = " 11 " < ? php if ( $m == 12 ){ ?> selected<?php }?>>December</option></select></td>
</ tr >
</ div >
< div class = " col-sm-1 " >
< tr >
< td >< select name = " shift_year "
id = " shift_year " class = " form-control " >
< ? php $yy = date ( 'Y' );
//$yy=$yy-1;
echo $yy ;
$r_year = $_POST [ 'shift_year' ];
echo $r_year ;
for ( $i = 0 ; $i < 3 ; $i ++ ){ ?>
< option value = " <?php echo $yy ?> " < ? php if ( $yy == $r_year ){ ?> selected<?php }?>><?php echo $yy ?></option>
< ? php $yy ++ ; } ?>
</ select ></ td >
</ tr >
</ div >
2025-02-21 11:45:27 +05:30
<!-- < button class = " btn btn-primary " type = " button "
id = " submit_button " >
2024-10-16 19:18:52 +05:30
< i class = " ace-icon fa fa-send " ></ i > Submit
2025-02-21 11:45:27 +05:30
</ button > -->
< input type = " submit " value = " Submit " class = " btn btn-primary " id = " submit_button " />
2024-10-16 19:18:52 +05:30
< button class = " btn btn-danger " type = " button "
id = " pdf_print " onclick = " print_pdf('p') " >
< i class = " ace-icon fa fa-pdf " ></ i > PDF
</ button >
<!-- < button class = " btn btn-add " type = " button " style = " background-color: green !important; "
id = " slot_create " onclick = " window.location='doc_slot_batch.php'; " >
< i class = " ace-icon fa fa-plus " ></ i > Create Slots
</ button > -->
< br >
< br >
< br >
< table >
< tr >
< td >
< input class = " form-control " type = " date " id = " Date1 " name = " Date1 " placeholder = " " >
</ td >
< td >
< input class = " form-control " type = " date " id = " Date2 " name = " Date2 " placeholder = " " >
</ td >
< td >
& nbsp ;
< button type = " button " class = " btn btn-danger " onclick = " PrintDateWise('pdf') " >
Date Wise PDF
</ button >
</ td >
<!-- < td >
& nbsp ;
< button type = " button " class = " btn btn-primary " onclick = " PrintDateWise('excel') " >
Date Wise Excel
</ button >
</ td > -->
</ tr >
</ table >
< br >
< br >
< br >
< div id = " table-scroll " class = " table-scroll " >
< div id = " shift_table " class = " table-wrap " >
< table id = " myTable " class = " table table-bordered order-list main-table " >
< thead >
< tr >
< td class = " fixed-side " ></ td >
< td style = 'width:500px' class = " fixed-side " > Date </ td >
< ? php
for ( $j = 1 ; $j <= $last_day ; $j ++ ){
$new_date = $j . " - " . $m . " - " . $y ;
$day = date ( 'D' , strtotime ( $new_date ));
?>
< td >< ? php echo $j ?> </td>
< ? php } ?>
</ tr >
< tr >
< td style = 'width:500px' class = " fixed-side " > S No .</ td >
< td style = 'width:500px' class = " fixed-side " > Day / Staff Name </ td >
< ? php
// $last_day = date('t-m-Y');
// $m = date('m');
// $y = date('Y');
for ( $k = 1 ; $k <= $last_day ; $k ++ ){
$new_date = $k . " - " . $m . " - " . $y ;
$day = date ( 'D' , strtotime ( $new_date ));
?>
< td style = 'width:500px' class = " fixed-side " >< ? php echo $day ?> </td>
< ? php } ?>
</ tr >
</ thead >
< tbody >
< ? php $count = 1 ;
$query = " Select id,patient_name from patient_master where is_ohc_staff='1' and ohc_type_id=' " . $_SESSION [ 'current_ohcttype' ] . " ' " ;
$result = @ mysqli_query ( $conn , $query );
while ( $row = mysqli_fetch_assoc ( $result )){
?>
< tr >
< td >< ? php echo $count ; ?> </td>
< td >< ? php echo $row [ 'patient_name' ]; ?> </td>
< input type = " hidden " name = " emp_id<?php echo $count ?> " id = " emp_id<?php echo $count ?> " value = " <?php echo $row['id'] ;?> " />
< ? php $shift_id = " " ;
$shift_data = array ();
$query1 = " Select shift_id,shift_date, emp_id, shift_status from shift_details where month(shift_date)=' " . $m . " ' and year(shift_date)=' " . $y . " ' " ;
//echo "selet query......................................".$query1 ;
$result1 = @ mysqli_query ( $conn , $query1 );
while ( $row_shift = @ mysqli_fetch_assoc ( $result1 )){
//echo "adarsh";
$shift_id = $row_shift [ 'shift_id' ];
$key = $row_shift [ 'emp_id' ] . '_' . $row_shift [ 'shift_date' ];
//echo "key:".$key;
$value = $row_shift [ 'shift_status' ];
//echo "value:".$value;
$shift_data [ $key ] = $value ;
// array_push($shift_data[$key], $value);
?>
< input type = " hidden " name = " shift_id<?php echo $count ?> " id = " shift_id<?php echo $count ?> " value = " <?php echo $shift_id ?> " />
< ? php } ?>
< ? php
$db_new_date = " " ;
// $last_day = date('t-m-Y');
//$m = date('m');
// $y = date('Y');
for ( $k = 1 ; $k <= $last_day ; $k ++ ){
$new_date = $k . " - " . $m . " - " . $y ;
$db_new_date = $y . " - " . $m . " - " . $k ;
$day = date ( 'D' , strtotime ( $new_date ));
if ( $k < 10 ){
$db_new_date = $y . " - " . $m . " -0 " . $k ;
}
?>
< ? php
//echo "key:".$row['id'].'_'.$db_new_date;
?>
< td >
< div style = " width:80px; " >
< select style = " max-width:90%; " multiple class = " chosen-select form-control "
id = " shift_status_<?php echo $count ?>_<?php echo $k ?> " name = " shift_status_<?php echo $count ?>_<?php echo $k ?>[] " >
< ? php echo $shift_status_options ?>
</ select >
< script >
$ ( document ) . ready ( function () {
< ? php $key = $row [ 'id' ] . '_' . $db_new_date ; ?>
var existingShiftValues < ? php echo $count ?> _<?php echo $k?> = "<?php echo $shift_data[$key]?>"
$ ( " #shift_status_<?php echo $count ?>_<?php echo $k ?> " ) . val ( existingShiftValues < ? php echo $count ?> _<?php echo $k?>.split(',')).trigger("chosen:updated");
});
</ script >
</ div >
</ td >
< input type = " hidden " name = " shift_date_<?php echo $count ?>_<?php echo $k ?> " id = " shift_date_<?php echo $count ?>_<?php echo $k ?> " value = " <?php echo $new_date ?> " />
< ? php } ?>
</ tr >
< ? php
$count ++ ;
};
?>
</ tbody >
< tfoot >
< ? php
$sqlOfShift = " SELECT * FROM shift_status where is_shift = 'Y' order by status_name asc " ;
$resultOfShift = @ mysqli_query ( $conn , $sqlOfShift );
while ( $rowOfShift = @ mysqli_fetch_assoc ( $resultOfShift )){
?>
< tr >
< td ></ td >
< td >
< b >
Shift < ? php echo $rowOfShift [ 'status_name' ] ?>
</ b >
</ td >
< ? php
$db_new_date = " " ;
for ( $k = 1 ; $k <= $last_day ; $k ++ ){
$new_date = $k . " - " . $m . " - " . $y ;
$db_new_date = $y . " - " . $m . " - " . $k ;
$day = date ( 'D' , strtotime ( $new_date ));
if ( $k < 10 ){
$db_new_date = $y . " - " . $m . " -0 " . $k ;
}
?>
< td >
< ? php
$query = " " ;
$query = " AND shift_status = ' " . $rowOfShift [ 'shift_status_id' ] . " ' " ;
echo GetDutyTotalShiftCount ( $query , $_SESSION [ 'current_ohcttype' ] , $db_new_date );
?> </td>
< ? php } ?>
</ tr >
< ? php
}
?>
< tr >
< td ></ td >
< td >
< b >
Total Shift
</ b >
</ td >
< ? php
$db_new_date = " " ;
// $last_day = date('t-m-Y');
//$m = date('m');
// $y = date('Y');
for ( $k = 1 ; $k <= $last_day ; $k ++ ){
$new_date = $k . " - " . $m . " - " . $y ;
$db_new_date = $y . " - " . $m . " - " . $k ;
$day = date ( 'D' , strtotime ( $new_date ));
if ( $k < 10 ){
$db_new_date = $y . " - " . $m . " -0 " . $k ;
}
?>
< td >< ? php
$query = " " ;
$query = " AND b.status_name IN ('A' , 'A1' , 'A2' ,'A3' , 'B' , 'C') " ;
echo GetDutyTotalShiftCount ( $query , $_SESSION [ 'current_ohcttype' ] , $db_new_date );
?> </td>
< ? php } ?>
</ tr >
< tr >
< td ></ td >
< td > Total No Of Staff Available </ td >
< ? php
$db_new_date = " " ;
// $last_day = date('t-m-Y');
//$m = date('m');
// $y = date('Y');
for ( $k = 1 ; $k <= $last_day ; $k ++ ){
$new_date = $k . " - " . $m . " - " . $y ;
$db_new_date = $y . " - " . $m . " - " . $k ;
$day = date ( 'D' , strtotime ( $new_date ));
if ( $k < 10 ){
$db_new_date = $y . " - " . $m . " -0 " . $k ;
}
$shift_staff = " select count( distinct emp_id) tot_staf from shift_details a INNER JOIN shift_status b on a.shift_status = b.shift_status_id where b.status_name IN ('A' , 'A1' , 'A2' ,'A3' , 'B' , 'C') and ohc_type_id=' " . $_SESSION [ 'current_ohcttype' ] . " ' and shift_date=' " . $db_new_date . " ' " ;
$result_shift_staff = @ mysqli_query ( $conn , $shift_staff );
$shift_stf = " " ;
while ( $row_shift_staff = mysqli_fetch_assoc ( $result_shift_staff )){
$shift_stf = $row_shift_staff [ 'tot_staf' ];
}
$shiftDel1 = " delete from tmptable " ;
$result_total_shiftS_y = @ mysqli_query ( $conn , $shiftDel1 );
?>
< td >< ? php echo $shift_stf ?> </td>
< ? php } ?>
</ tr >
</ tfoot >
</ table >
< input type = " hidden " name = " count_items " id = " count_items "
value = " <?php echo $count -1?> " /> < input type = " hidden " name = " last_day "
id = " last_day " value = " <?php echo $last_day ?> " />
</ div >
</ div >
</ div >
< div style = " background-color: white; width: 100%; " >
< span >
< h4 >< u > Note :</ u > </ h4 > < br >
< div style = " display: flex; flex-direction: row; flex-wrap: wrap; align-content: space-between;justify-content: flex-start; gap: 10px; " >
< h6 > 1. A1 - 1 st or Morning shift .</ h6 >
< h6 > 2 . A2 - Morning extended Shift .</ h6 >
< h6 > 3 . A3 - General Shift .</ h6 >
< h6 > 4 . B - 2 nd shift .</ h6 >
< h6 > 5 . C - 3 rd or night shift .</ h6 >
< h6 > 6 . WOP - weekly Off present </ h6 >
< h6 > 7 . WO - Weekly Off .</ h6 >
< h6 > 8. Com off - compensatory off .</ h6 >
< h6 > 9. COM - P - Compensatory working .</ h6 >
< h6 > 10. A - Absent .</ h6 >
< h6 > 11. CL - Casual Leave .</ h6 >
< h6 > 12. LOP - Loss of Pay .</ h6 >
< h6 > 13. H - Holiday </ h6 >
< h6 > 14. HP - Holiday Present .</ h6 >
< h6 > 15. HD - Half day </ h6 >
< h6 > 16. OT - Over time .</ h6 >
</ div >
</ span >
< br >
< br >
< ? php if ( isAccessible ( $_SESSION [ 'RoleId' ], $menu_key , 'E' )) { ?>
< div class = " box-footer " style = " text-align: center; " >
< button class = " btn btn-info save_button " type = " button "
id = " save_button " onclick = " validate(); " >
< i class = " ace-icon fa fa-floppy-o bigger-110 " ></ i > Save
</ button >
& nbsp ; & nbsp ; & nbsp ;
< button class = " btn btn-warning " type = " reset " >
< i class = " ace-icon fa fa-undo bigger-110 " ></ i > Reset
</ button >
</ div >
< ? php } ?>
</ div >
</ div >
</ div >
<!-- End box - body -->
<!-- box - footer -->
<!-- End box - footer -->
</ form >
<!-- Main Content Container for side bar and body -->
< div class = " main-container ace-save-state " id = " main-container " >
< script type = " text/javascript " >
try { ace . settings . loadState ( 'main-container' )} catch ( e ){}
</ script >
<!-- breadcrumb -->
< div class = " main-content " >
< div class = " main-content-inner " >
<!-- End of breadcrumb -->
< div class = " page-content " style = " margin-top: -47px; " >
< div id = " flexigridDiv " class = " table-responsive " >
< form >
< input type = " hidden " name = " f1 " method = " post "
id = " flex_notice_form " >
< div id = " flex1 " style = " width: 100% " >
< input type = " hidden " name = " flex_notice_id "
id = " flex_notice_id " />
</ div >
</ form >
< form name = " export_form " method = " post " id = " export_form "
action = " " >
< input type = " hidden " name = " pdf_action " id = " pdf_action "
value = " notice_pdf.php " /> < input type = " hidden "
name = " excel_action " id = " excel_action "
value = " excel_notice.php " />
</ form >
</ div >
</ div >
</ div >
<!-- /. page - content -->
</ div >
</ div >
<!-- /. main - content -->
</ div >
<!-- End of page - content -->
</ div >
</ div >
</ div >
< form method = " POST " id = " print_shift_pdf " >
< input type = " hidden " name = " month " id = " month " value = " <?php echo $m ?> " >
< input type = " hidden " name = " action " id = " action " value = " pdf " >
< input type = " hidden " name = " year " id = " year " value = " <?php echo $y ?> " >
< input type = " hidden " name = " shift_y " id = " shift_y " value = " <?php echo $selectedShiftYear ?> " >
< input type = " hidden " name = " shift_m " id = " shift_m " value = " <?php echo $selectedShiftMonth ?> " >
</ form >
< script >
var getDaysInMonth = function ( year , month ) {
// Here January is 1 based
//Day 0 is the last day in the previous month
return new Date ( year , month , 0 ) . getDate ();
// Here January is 0 based
// return new Date(year, month+1, 0).getDate();
};
function shiftDetails (){
var shift_month = parseInt ( $ ( " #shift_month " ) . val ());
var shift_year = parseInt ( $ ( " #shift_year " ) . val ());
var content = " <tr><td></td><td>Date</td> " ;
for ( var i = 1 ; i <= getDaysInMonth ( shift_year , shift_month ); i ++ ){
content += '<td>' + i + '</td>'
data_string = i + " / " + shift_month + " / " + shift_year
date = new Date ( data_string );
}
var days = [ " Sun " , " Mon " , " Tue " , " Wed " , " Thu " , " Fri " , " Sat " ];
content += " <tr><td>S No.</td><td>Days/Staff Name</td> " ;
for ( var i = 1 ; i <= getDaysInMonth ( shift_year , shift_month ); i ++ ){
//content+='<td>'+i+'</td>'
let data_string = shift_month + " / " + i + " / " + shift_year ;
let d = new Date ( data_string )
//weekday = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'][new Date(data_string).getDay()]
content += '<td>' + days [ d . getDay ()] + '</td>'
}
$ ( " #myTable " ) . html ( content );
}
function validate (){
save ();
}
function myCalender (){
var month = $ ( " #shift_month " ) . val ();
var year = $ ( " #shift_year " ) . val ();
var open_date = '01-' + month + '-' + year ;
$ ( " #shift_calendar " ) . val ( open_date ) . show ();
}
</ script >
< style >
#modal-add-ailment {
overflow - y : scroll ;
}
</ style >
< ? php include ( 'techsyn_footer.php' ); ?>
< script type = " text/javascript " >
$ ( '.select2' ) . select2 ()
jQuery ( function ( $ ) {
var myTable =
$ ( '#dynamic-table' )
. DataTable ( {
bAutoWidth : false ,
" aoColumns " : [
{ " bSortable " : false },
null , null , null , null , null ,
{ " bSortable " : false }
],
" aaSorting " : [],
select : {
style : 'multi'
}
} );
var defaultCopyAction = myTable . button ( 1 ) . action ();
myTable . button ( 1 ) . action ( function ( e , dt , button , config ) {
defaultCopyAction ( e , dt , button , config );
$ ( '.dt-button-info' ) . addClass ( 'gritter-item-wrapper gritter-info gritter-center white' );
});
var defaultColvisAction = myTable . button ( 0 ) . action ();
myTable . button ( 0 ) . action ( function ( e , dt , button , config ) {
defaultColvisAction ( e , dt , button , config );
if ( $ ( '.dt-button-collection > .dropdown-menu' ) . length == 0 ) {
$ ( '.dt-button-collection' )
. wrapInner ( '<ul class="dropdown-menu dropdown-light dropdown-caret dropdown-caret" />' )
. find ( 'a' ) . attr ( 'href' , '#' ) . wrap ( " <li /> " )
}
$ ( '.dt-button-collection' ) . appendTo ( '.tableTools-container .dt-buttons' )
});
setTimeout ( function () {
$ ( $ ( '.tableTools-container' )) . find ( 'a.dt-button' ) . each ( function () {
var div = $ ( this ) . find ( ' > div' ) . first ();
if ( div . length == 1 ) div . tooltip ({ container : 'body' , title : div . parent () . text ()});
else $ ( this ) . tooltip ({ container : 'body' , title : $ ( this ) . text ()});
});
}, 500 );
myTable . on ( 'select' , function ( e , dt , type , index ) {
if ( type === 'row' ) {
$ ( myTable . row ( index ) . node () ) . find ( 'input:checkbox' ) . prop ( 'checked' , true );
}
} );
myTable . on ( 'deselect' , function ( e , dt , type , index ) {
if ( type === 'row' ) {
$ ( myTable . row ( index ) . node () ) . find ( 'input:checkbox' ) . prop ( 'checked' , false );
}
} );
$ ( 'th input[type=checkbox], td input[type=checkbox]' ) . prop ( 'checked' , false );
$ ( '#dynamic-table > thead > tr > th input[type=checkbox], #dynamic-table_wrapper input[type=checkbox]' ) . eq ( 0 ) . on ( 'click' , function (){
var th_checked = this . checked ;
$ ( '#dynamic-table' ) . find ( 'tbody > tr' ) . each ( function (){
var row = this ;
if ( th_checked ) myTable . row ( row ) . select ();
else myTable . row ( row ) . deselect ();
});
});
$ ( '#dynamic-table' ) . on ( 'click' , 'td input[type=checkbox]' , function (){
var row = $ ( this ) . closest ( 'tr' ) . get ( 0 );
if ( this . checked ) myTable . row ( row ) . deselect ();
else myTable . row ( row ) . select ();
});
$ ( document ) . on ( 'click' , '#dynamic-table .dropdown-toggle' , function ( e ) {
e . stopImmediatePropagation ();
e . stopPropagation ();
e . preventDefault ();
});
var active_class = 'active' ;
$ ( '#simple-table > thead > tr > th input[type=checkbox]' ) . eq ( 0 ) . on ( 'click' , function (){
var th_checked = this . checked ;
$ ( this ) . closest ( 'table' ) . find ( 'tbody > tr' ) . each ( function (){
var row = this ;
if ( th_checked ) $ ( row ) . addClass ( active_class ) . find ( 'input[type=checkbox]' ) . eq ( 0 ) . prop ( 'checked' , true );
else $ ( row ) . removeClass ( active_class ) . find ( 'input[type=checkbox]' ) . eq ( 0 ) . prop ( 'checked' , false );
});
});
$ ( '#simple-table' ) . on ( 'click' , 'td input[type=checkbox]' , function (){
var $row = $ ( this ) . closest ( 'tr' );
if ( $row . is ( '.detail-row ' )) return ;
if ( this . checked ) $row . addClass ( active_class );
else $row . removeClass ( active_class );
});
$ ( '[data-rel="tooltip"]' ) . tooltip ({ placement : tooltip_placement });
function tooltip_placement ( context , source ) {
var $source = $ ( source );
var $parent = $source . closest ( 'table' )
var off1 = $parent . offset ();
var w1 = $parent . width ();
var off2 = $source . offset ();
if ( parseInt ( off2 . left ) < parseInt ( off1 . left ) + parseInt ( w1 / 2 ) ) return 'right' ;
return 'left' ;
}
/***************/
$ ( '.show-details-btn' ) . on ( 'click' , function ( e ) {
e . preventDefault ();
$ ( this ) . closest ( 'tr' ) . next () . toggleClass ( 'open' );
$ ( this ) . find ( ace . vars [ '.icon' ]) . toggleClass ( 'fa-angle-double-down' ) . toggleClass ( 'fa-angle-double-up' );
});
/***************/
})
function save (){
$ . ajax ({
url : 'save_shift_details.php ' ,
type : " POST " ,
data : $ ( " #shift_form " ) . serialize (),
success : function ( data ) {
BootstrapDialog . alert ( 'Shift Details Saved Successfully.' );
$ ( " #flex1 " ) . flexReload ();
$ ( '#shift_form' ) . action = '' ; $ ( '#shift_form' ) . submit ();
return ;
},
error : function ( data ) {
BootstrapDialog . alert ( 'Error Saving Shift Details' );
return ;
}
});
$ ( '.close' ) . click ();
// location.href="procurement_list.php";
}
$ ( '.date-picker' ) . datepicker ({
autoclose : true ,
format : 'dd/mm/yyyy'
}) . next () . on ( ace . click_event , function (){
$ ( this ) . prev () . focus ();
});
</ script >
<!-- bootstrap & fontawesome -->
< link rel = " stylesheet "
href = " assets/font-awesome/4.5.0/css/font-awesome.min.css " />
<!-- page specific plugin styles -->
< link rel = " stylesheet " href = " assets/css/jquery-ui.custom.min.css " />
< link rel = " stylesheet " href = " assets/css/chosen.min.css " />
< link rel = " stylesheet " href = " assets/css/bootstrap-datepicker3.min.css " />
< link rel = " stylesheet " href = " assets/css/bootstrap-timepicker.min.css " />
< link rel = " stylesheet " href = " assets/css/daterangepicker.min.css " />
< link rel = " stylesheet "
href = " assets/css/bootstrap-datetimepicker.min.css " />
< link rel = " stylesheet " href = " assets/css/bootstrap-colorpicker.min.css " />
< script type = " text/javascript " src = " js/typeahead.bundle.js " ></ script >
< script src = " assets/js/jquery-ui.custom.min.js " ></ script >
< script src = " assets/js/jquery.ui.touch-punch.min.js " ></ script >
< script src = " assets/js/chosen.jquery.min.js " ></ script >
< script src = " assets/js/spinbox.min.js " ></ script >
< script src = " assets/js/bootstrap-datepicker.min.js " ></ script >
< script src = " assets/js/bootstrap-timepicker.min.js " ></ script >
< script src = " assets/js/jquery.dataTables.min.js " ></ script >
< script src = " assets/js/jquery.dataTables.bootstrap.min.js " ></ script >
< script src = " assets/js/dataTables.buttons.min.js " ></ script >
< script src = " assets/js/buttons.flash.min.js " ></ script >
< script src = " assets/js/buttons.html5.min.js " ></ script >
< script src = " assets/js/buttons.print.min.js " ></ script >
< script src = " assets/js/buttons.colVis.min.js " ></ script >
< script src = " assets/js/dataTables.select.min.js " ></ script >
< script src = " assets/js/moment.min.js " ></ script >
< script src = " assets/js/daterangepicker.min.js " ></ script >
< script src = " assets/js/bootstrap-datetimepicker.min.js " ></ script >
< script src = " assets/js/bootstrap-colorpicker.min.js " ></ script >
< script src = " assets/js/jquery.knob.min.js " ></ script >
< script src = " assets/js/autosize.min.js " ></ script >
< script src = " assets/js/jquery.inputlimiter.min.js " ></ script >
< script src = " assets/js/jquery.maskedinput.min.js " ></ script >
< script src = " assets/js/bootstrap-tag.min.js " ></ script >
< script src = " assets/js/ace-elements.min.js " ></ script >
< script type = " text/javascript " >
$ ( document ) . ready ( function () {
const select = document . getElementById ( 'myselect' );
});
function print_pdf ( dm ){
if ( dm == 'p' ){
document . forms [ 'print_shift_pdf' ] . action = " shift_pdf.php " ;
document . forms [ 'print_shift_pdf' ] . method = 'POST' ;
document . forms [ 'print_shift_pdf' ] . target = '_blank'
document . forms [ 'print_shift_pdf' ] . submit ();
} else {
document . forms [ 'print_shift_pdf' ] . action = " shift_excel.php " ;
document . forms [ 'print_shift_pdf' ] . method = 'POST' ;
document . forms [ 'print_shift_pdf' ] . target = '_blank'
document . forms [ 'print_shift_pdf' ] . submit ();
}
}
function PrintDateWise ( action ){
// document.forms['DateForm'].action = "shift_pdf.php";
// document.forms['DateForm'].method = 'POST';
// document.forms['DateForm'].target = '_blank'
// document.forms['DateForm'].submit();
var Date = $ ( " #Date1 " ) . val ();
var Date2 = $ ( " #Date2 " ) . val ();
var win = window . open ( " shift_pdf.php?action= " + action + " &date1= " + Date + " &date2= " + Date2 + " " , '_blank' );
if ( win ) {
//Browser has allowed it to be opened
win . focus ();
} else {
//Browser has blocked it
alert ( 'Please allow popups for this site' );
}
console . log ( Date + " DDD " + Date2 );
}
</ script >
< script type = " text/javascript " >
jQuery ( function ( $ ) {
$ ( '#id-disable-check' ) . on ( 'click' , function () {
var inp = $ ( '#form-input-readonly' ) . get ( 0 );
if ( inp . hasAttribute ( 'disabled' )) {
inp . setAttribute ( 'readonly' , 'true' );
inp . removeAttribute ( 'disabled' );
inp . value = " This text field is readonly! " ;
}
else {
inp . setAttribute ( 'disabled' , 'disabled' );
inp . removeAttribute ( 'readonly' );
inp . value = " This text field is disabled! " ;
}
});
if ( ! ace . vars [ 'touch' ]) {
$ ( '.chosen-select' ) . chosen ({ allow_single_deselect : true });
$ ( window )
. off ( 'resize.chosen' )
. on ( 'resize.chosen' , function () {
$ ( '.chosen-select' ) . each ( function () {
var $this = $ ( this );
$this . next () . css ({ 'width' : $this . parent () . width ()});
})
}) . trigger ( 'resize.chosen' );
//resize chosen on sidebar collapse/expand
$ ( document ) . on ( 'settings.ace.chosen' , function ( e , event_name , event_val ) {
if ( event_name != 'sidebar_collapsed' ) return ;
$ ( '.chosen-select' ) . each ( function () {
var $this = $ ( this );
$this . next () . css ({ 'width' : $this . parent () . width ()});
})
});
$ ( '#chosen-multiple-style .btn' ) . on ( 'click' , function ( e ){
var target = $ ( this ) . find ( 'input[type=radio]' );
var which = parseInt ( target . val ());
if ( which == 2 ) $ ( '#form-field-select-4' ) . addClass ( 'tag-input-style' );
else $ ( '#form-field-select-4' ) . removeClass ( 'tag-input-style' );
});
}
$ ( '[data-rel=tooltip]' ) . tooltip ({ container : 'body' });
$ ( '[data-rel=popover]' ) . popover ({ container : 'body' });
autosize ( $ ( 'textarea[class*=autosize]' ));
$ ( 'textarea.limited' ) . inputlimiter ({
remText : '%n character%s remaining...' ,
limitText : 'max allowed : %n.'
});
//"jQuery UI Slider"
//range slider tooltip example
$ ( " #slider-range " ) . css ( 'height' , '200px' ) . slider ({
orientation : " vertical " ,
range : true ,
min : 0 ,
max : 100 ,
values : [ 17 , 67 ],
slide : function ( event , ui ) {
var val = ui . values [ $ ( ui . handle ) . index () - 1 ] + " " ;
if ( ! ui . handle . firstChild ) {
$ ( " <div class='tooltip right in' style='display:none;left:16px;top:-6px;'><div class='tooltip-arrow'></div><div class='tooltip-inner'></div></div> " )
. prependTo ( ui . handle );
}
$ ( ui . handle . firstChild ) . show () . children () . eq ( 1 ) . text ( val );
}
}) . find ( 'span.ui-slider-handle' ) . on ( 'blur' , function (){
$ ( this . firstChild ) . hide ();
});
$ ( " #slider-range-max " ) . slider ({
range : " max " ,
min : 1 ,
max : 10 ,
value : 2
});
$ ( " #slider-eq > span " ) . css ({ width : '90%' , 'float' : 'left' , margin : '15px' }) . each ( function () {
// read initial values from markup and remove that
var value = parseInt ( $ ( this ) . text (), 10 );
$ ( this ) . empty () . slider ({
value : value ,
range : " min " ,
animate : true
});
});
$ ( " #slider-eq > span.ui-slider-purple " ) . slider ( 'disable' ); //disable third item
$ ( '#id-input-file-1 , #id-input-file-2' ) . ace_file_input ({
no_file : 'No File ...' ,
btn_choose : 'Choose' ,
btn_change : 'Change' ,
droppable : false ,
onchange : null ,
thumbnail : false //| true | large
//whitelist:'gif|png|jpg|jpeg'
//blacklist:'exe|php'
//onchange:''
//
});
//pre-show a file name, for example a previously selected file
//$('#id-input-file-1').ace_file_input('show_file_list', ['myfile.txt'])
//datepicker plugin
//link
$ ( '.date-picker' ) . datepicker ({
autoclose : true ,
todayHighlight : true
})
//show datepicker when clicking on the icon
. next () . on ( ace . click_event , function (){
$ ( this ) . prev () . focus ();
});
//chosen plugin inside a modal will have a zero width because the select element is originally hidden
//and its width cannot be determined.
//so we set the width after modal is show
$ ( '#modal-form' ) . on ( 'shown.bs.modal' , function () {
if ( ! ace . vars [ 'touch' ]) {
$ ( this ) . find ( '.chosen-container' ) . each ( function (){
$ ( this ) . find ( 'a:first-child' ) . css ( 'width' , '210px' );
$ ( this ) . find ( '.chosen-drop' ) . css ( 'width' , '210px' );
$ ( this ) . find ( '.chosen-search input' ) . css ( 'width' , '200px' );
});
}
})
/**
//or you can activate the chosen plugin after modal is shown
//this way select element becomes visible with dimensions and chosen works as expected
$ ( '#modal-form' ) . on ( 'shown' , function () {
$ ( this ) . find ( '.modal-chosen' ) . chosen ();
})
*/
$ ( document ) . one ( 'ajaxloadstart.page' , function ( e ) {
autosize . destroy ( 'textarea[class*=autosize]' )
$ ( '.limiterBox,.autosizejs' ) . remove ();
$ ( '.daterangepicker.dropdown-menu,.colorpicker.dropdown-menu,.bootstrap-datetimepicker-widget.dropdown-menu' ) . remove ();
});
});
/*
$ ( document ) . ready ( function () {
$ ( '#shift_year' ) . val ( 2021 );
var totalCount = < ? php echo $count ?> ;
var totalK = < ? php echo $k ?> ;
for ( var rCount = 1 ; rCount <= totalCount ; rCount ++ ){
for ( var cCount = 1 ; cCount <= totalK ; cCount ++ ){
var key = $ ( " #shift_date_ " + rCount + " _ " + cCount ) . val ();
var existingShiftValues = jsonArrayShiftData [ key ];
if ( existingShiftValues != null && existingShiftValues != undefined && existingShiftValues != " " ){
$ ( " #shift_status_ " + rCount + " _ " + cCount ) . val ( existingShiftValues . split ( ',' )) . trigger ( " chosen:updated " );
}
}
}
}); */
</ script >
< style >
body {
background - color : white ;
}
th , td : nth - child ( 2 ) {
position : sticky ;
left : 0 ;
background - color : #f4f4f4;
z - index : 1 ;
}
thead > tr > th : nth - child ( 1 ) {
position : sticky ;
left : 0 ;
background - color : #f4f4f4;
z - index : 1 ;
}
</ style >