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' ); ?>
<!-- breadcrumb -->
< div class = " main-content " >
< div class = " main-content-inner " >
< div class = " breadcrumbs ace-save-state " id = " breadcrumbs " >
< ul class = " breadcrumb " >
< li class = " # " > Inventory Management </ li >
< li class = " active " > Indent </ li >
</ ul >
</ div >
<!-- End of breadcrumb -->
< ? php
$i = 0 ;
if ( isset ( $_REQUEST [ 'indent_id' ])) {
$sql = " select indent_id,indent_date,remarks,status from indent_master where indent_id=' " . $_REQUEST [ 'indent_id' ] . " ' " ;
// echo "query:".$sql;
$result = mysqli_query ( $conn , $sql );
$num_rows = @ mysqli_num_rows ( $conn , $result );
$row = null ;
if ( $num_rows > 0 ) {
$row = @ mysqli_fetch_array ( $result );
}
@ extract ( $row );
}
?>
< div class = " page-content " >
< div class = " box box-primary " style = " padding: 10px; margin: 2px 0px 50px 5px; width: 99.5%; " >
< form role = " form " id = " indent_form " name = " indent_form " action = " approval.php " method = " post " >
<!-- box - body -->
< div class = " box-body " >
< div class = " row " style = " margin-left: 200px; " >
< div class = " col-sm-6 " >
< div class = " form-group " >
< input type = " hidden " name = " indent_id " id = " indent_id " value = " <?= $_REQUEST['indent_id'] ?> " >
< label > Indent Date </ label >
< div class = " form-group " >
< ? php echo date_format ( date_create ( $row [ 'indent_date' ]), " d-M-Y " ) ?>
</ div >
</ div >
</ div >
< div class = " col-sm-3 " style = " margin-right:100px " >
< div class = " form-group " >
< label > Remarks </ label >
< div class = " form-group " >
< ? php echo $row [ 'remarks' ] ?>
</ div >
</ div >
</ div >
</ div >
< div class = " row " style = " margin-left: 200px; margin-right: 200px " >
< div class = " col-sm-12 " >
< table id = " myTable " class = " table table-bordered order-list " >
< thead >
< tr >
< th > Item </ th >
< th > Qty </ th >
< th > Last Procured Qty </ th >
< th > Last Month Used Qty </ th >
< th > Unit </ th >
</ tr >
</ thead >
< tbody >
< ? php
$last_proc = [];
$last_used = [];
$query_for_last_proc = " select * from last_proc_qty_view where total_qty > 0 " ;
$result_for_last_proc = mysqli_query ( $conn , $query_for_last_proc );
while ( $row = mysqli_fetch_assoc ( $result_for_last_proc )) {
$last_proc [ $row [ 'item_id' ]] = $row [ 'total_qty' ];
}
$query_for_last_used = " select * from last_month_used_qty_view where final_qty > 0 " ;
$result_for_last_uesd = mysqli_query ( $conn , $query_for_last_used );
while ( $row = mysqli_fetch_assoc ( $result_for_last_uesd )) {
$last_used [ $row [ 'item_id' ]] = $row [ 'final_qty' ];
}
$row = null ;
if ( isset ( $_REQUEST [ 'indent_id' ])) {
$sql = " SELECT indent_id,item_id,indent_qty FROM indent_items where indent_id=' " . $_REQUEST [ 'indent_id' ] . " ' " ;
$result = mysqli_query ( $conn , $sql );
$num_rows = @ mysqli_num_rows ( $result );
//$row=@mysql_fetch_array($result);
}
$i = 0 ;
while ( $row_requisition_items = @ mysqli_fetch_array ( $result )) {
// $last_proc='';
// $last_proc=getTableFieldValue('procurement_items','sum(qty)','procurement_id','(select max(procurement_id) from procurement_items where item_id="'.$row_requisition_items['item_id'].'")','item_id',$row_requisition_items['item_id']);
// $last_used=getItemLastMonthUsed($row_requisition_item['item_id']);
?>
< tr >
< td style = " width:30% " >
< ? php echo getTableFieldValue ( 'tbl_items' , 'concat(item_name," (",item_code,")")' , 'item_id' , $row_requisition_items [ 'item_id' ], '' ); ?>
</ td >
< td style = " width:10% " >
< ? = $row_requisition_items [ 'indent_qty' ] ?>
</ td >
< td style = " width:10% " >
< ? = $last_proc [ $row_requisition_items [ 'item_id' ]]; ?>
</ td >
< td style = " width:10% " >
< ? = $last_used [ $row_requisition_items [ 'item_id' ]]; ?>
</ td >
< td style = " width:8% " >
< div id = " child_item_unit<?= $i ?> " >< ? php echo $unitMap [ getTableFieldValue ( 'tbl_items' , 'unit_id' , 'item_id' , $row_requisition_items [ 'item_id' ])];
?> </div>
</ td >
</ tr >
< ?
$i ++ ;
} //end of while
?>
</ tbody >
< tfoot >
</ tfoot >
</ table >
</ div >
</ div >
< div class = " row " style = " margin-left: 200px; margin-right: 200px " >
< div class = " col-sm-4 " >
< div class = " form-group " >
< label > Status </ label >
< select class = " form-control " name = " status " id = " status " >
< option value = " APPROVED " < ? php if ( $row [ 'status' ] == 'APPROVED' ) { ?> selected<?php } ?>>APPROVE
</ option >
< option value = " REJECTED " < ? php if ( $row [ 'status' ] == 'REJECTED' ) { ?> selected<?php } ?>>REJECT
</ option >
</ select >
</ div >
</ div >
< div class = " form-group col-sm-8 " >
< label > Approval Remarks </ label >
< textarea name = " app_remarks " id = " app_remarks " rows = " 3 " class = " autosize-transition form-control " style = " overflow: hidden; overflow-wrap: break-word; resize: horizontal; height: 49px; " ></ textarea >
</ div >
< div class = " row " style = " margin-left: 0px; " >
< div class = " col-sm-4 " >
< div class = " form-group " >
< label > Approval Date </ label >
< div class = " input-group date " >
< div class = " input-group-addon " >
< i class = " fa fa-calendar " ></ i >
</ div >
< input class = " form-control date-picker " name = " approval_date " id = " approval_date " type = " text " value = " <?php echo date_format(date_create( $row['approval_date'] ), " d / m / Y " ) ?> " data - date - format = " dd/mm/yyyy " />
</ div >
</ div >
</ div >
</ div >
</ div >
< div class = " box-footer " style = " text-align: center " >
< button class = " btn btn-info save_button " type = " 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 >
<!-- < div class = " col-sm-6 " > -->
<!-- < div class = " form-group " > -->
<!-- < label > Approval Status </ label > -->
<!-- < div class = " form-group " > -->
<!-- </ div > -->
<!-- </ div > -->
<!-- </ div > -->
<!-- </ div > -->
<!-- End box - body -->
<!-- box - footer -->
</ form >
</ div >
</ div >
<!-- End of page - content -->
</ div >
</ div >
</ div >
< script >
function validate () {
save ();
}
$ ( '.select2' ) . select2 ()
</ script >
< style >
#modal-add-ailment {
overflow - y : scroll ;
}
</ style >
< ? php include ( 'techsyn_footer.php' ); ?>
< script type = " text/javascript " >
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 approve ( flex_indent_id , status ) {
location . href = " approval.php?flex_indent_id= " + flex_indent_id + " &status= " + status + " " ;
}
function save () {
$ . ajax ({
url : 'save_app_indent.php ' ,
type : " POST " ,
data : $ ( " #indent_form " ) . serialize (),
success : function ( data ) {
BootstrapDialog . show ({
title : 'Information' ,
message : 'Indent Status Updated Successfully.' ,
buttons : [{
label : 'OK' ,
action : function ( dialog ) {
location . href = " approval_indent.php " ;
}
}]
});
return ;
},
error : function ( data ) {
BootstrapDialog . alert ( 'Error in Saving' );
return ;
}
});
$ ( '.close' ) . click ();
}
$ ( '.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 () {
var counter = $ ( " #count_items " ) . val ();
2024-11-19 09:59:09 +05:30
var itemOptions = " <?php echo generateOption('tbl_items', 'concat(item_name, " ( " ,item_code, " )
2024-10-16 19:18:52 +05:30
" )', 'item_id', '', ''); ?> " ;
$ ( " #addrow " ) . on ( " click " , function () {
var newRow = $ ( " <tr> " );
var cols = " " ;
var select_treatment = " " ;
select_treatment += " <select " ;
select_treatment += " id= \" item_id " + counter + " \" name= \" item_id " + counter +
" \" class= \" form-control select2 \" style= \" width:100%; \" data-placeholder= \" Choose a item... \" " ;
//select_treatment+="style=\"display: none;\"";
select_treatment += " > " ;
select_treatment += " <option value= \" \" > </option> " ;
select_treatment += itemOptions
select_treatment += " </select> " ;
cols += '<td>' + select_treatment + '</td>' ;
cols += '<td><input type="number" class="form-control" id="item_qty' + counter +
'" name="item_qty' + counter + '"/></td>' ;
cols += '<td><input type="button" class="ibtnDel btn btn-md btn-danger " value="Delete"></td>' ;
newRow . append ( cols );
$ ( " table.order-list " ) . append ( newRow );
/* $ ( '#item_id' + counter ) . chosen ({ allow_single_deselect : true });
$ ( '#item_id' + counter ) . next () . css ({ 'width' : $ ( '#item_id' + counter ) . parent () . width ()}); */
counter ++ ;
$ ( '.select2' ) . select2 ();
$ ( " #count_items " ) . val ( counter );
$ ( '.date-picker' ) . datepicker ({
autoclose : true ,
todayHighlight : true
})
});
$ ( " table.order-list " ) . on ( " click " , " .ibtnDel " , function ( event ) {
$ ( this ) . closest ( " tr " ) . remove ();
counter -= 1
$ ( " #count_items " ) . val ( counter );
});
});
</ 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 ();
});
});
</ script >