ESH/approval_requisition.php
2024-10-23 18:28:06 +05:30

722 lines
21 KiB
PHP

<?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>
<i class="ace-icon fa fa-home home-icon"></i>
<a href="#">Home</a>
</li>
<li class="#">Requisition </li>
<li class="active">Approval Requisition</li>
</ul>
</div>
<!-- End of breadcrumb -->
<?php
$i = 0;
if (isset($_REQUEST['req_id'])) {
$sql = "select req_id, req_ref_no,req_date,remarks,ohc_location_id from requisition where req_id='" . $_REQUEST['req_id'] . "'";
// echo "query:".$sql;
$result = mysqli_query($conn,$sql);
$num_rows = @mysqli_num_rows($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 id="requisition_form" method="post">
<!-- box-body-->
<div class="box-body">
<div class="row" style="margin-left: 200px; margin-right: 200px">
<div class="col-sm-6">
<div class="form-group">
<input type="hidden" name="req_id" id="req_id" value="<?php echo $_REQUEST['req_id'] ?>">
<label>Requisition Date</label>
<div class="input-group date">
<div class="input-group-addon">
<i class="fa fa-calendar"></i>
</div>
<input class="form-control" value="<?php echo date_format(date_create($req_date), "d/m/Y") ?>" name="req_date" id="req_date" type="text" data-date-format="dd/mm/yyyy" / readonly>
</div>
<!-- /.input group -->
</div>
</div>
<input type="hidden" name="ohc_location_id" id="ohc_location_id" value="<?php echo $ohc_location_id ?>">
<div class="col-sm-6">
<div class="form-group">
<label>Remarks</label>
<textarea id="remarks" name="remarks" class="form-control" rows="3" placeholder="Enter ..."><?php echo $remarks ?></textarea>
</div>
</div>
</div>
<div class="row" style="margin-left: 200px; margin-right: 200px">
<div class="col-sm-6">
<div class="form-group">
<label>Requisition no</label>
<div class="form-group">
<?php echo $req_ref_no; ?>
</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>Unit</th>
<!-- <th>Delete</th> -->
</tr>
</thead>
<tbody>
<?php
$row = null;
if (isset($_REQUEST['req_id'])) {
$sql = "SELECT req_item_id,req_id,item_id,qty FROM requisition_items where req_id='" . $_REQUEST['req_id'] . "'";
$result = mysqli_query($conn,$sql);
$num_rows = @mysqli_num_rows($result);
//$row=@mysqli_fetch_array($result);
error_log("checking va: " . $sql);
}
$i = 0;
while ($row_requisition_items = @mysqli_fetch_array($result)) {
?>
<tr>
<td style="width:30%">
<!-- <select class="chosen-select form-control" id="item_id0" name="item_id0" data-placeholder="Choose a item..." style="display: none;" onchange="setRequisitionQty(this.value,'0')">-->
<input type="hidden" class="form-control" id="item_id<?php echo $i ?>" name="item_id<?php echo $i ?>" style="width: 100%;" value="<?php echo $row_requisition_items['item_id'] ?>">
<?php echo getTableFieldValue('tbl_items', 'concat(item_name," (",item_code,")")', 'item_id', $row_requisition_items['item_id'], '') ?>
</td>
<td style="width:10%">
<input type="hidden" name="item_qty<?php echo $i ?>" value="<?php echo $row_requisition_items['qty'] ?>" id="item_qty<?php echo $i ?>" class="form-control" / readonly>
<label for=""><?php echo $row_requisition_items['qty']?></label>
</td>
<td style="width:8%">
<div id="child_item_unit<?php echo $i ?>"><?php echo $unitMap[getTableFieldValue('tbl_items', 'unit_id', 'item_id', $row_requisition_items['item_id'])];
?></div>
</td>
<!-- <td align="center" style="width:10%">
<a href="#" class="btn-lg" data-toggle="tooltip" id="deletebtn" title="Delete"><span class="glyphicon glyphicon-trash"></span></a>
</td>
-->
</tr>
<?php
$i++;
} //end of while
?>
</tbody>
<tfoot>
<tr style="margin-left: 10px;">
<td colspan="6" style="text-align: left;"><input type="hidden" name="count_items" id="count_items" value="<?php echo $i ?>" /></td>
</tr>
<tr>
</tr>
</tfoot>
</table>
</div>
</div>
<div class="row" style="margin-left: 200px; margin-right: 200px">
<div class="col-sm-6">
<div class="form-group">
<label>Approval</label>
<select id="approval_status" name="approval_status" style='width:100%'>
<option value="" disabled selected>Please Select Approval Status</option>
<option value="Y">Approved</option>
<option value="R">Rejected</option>
</select>
</div>
</div>
</div>
</div>
<!-- End box-body-->
<!--box-footer-->
<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>
<!--End box-footer-->
</form>
</div>
</div>
<!-- End of page-content -->
</div>
</div>
</div>
<script>
function validate() {
save();
}
</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 save() {
$.ajax({
url: 'save_requisition.php ',
type: "POST",
data: $("#requisition_form").serialize(),
dataType: 'json',
success: function(data) { //alert(data);
//BootstrapDialog.alert('Requisition Update Successfully.');
if (data.approval_status == 'Y') {
BootstrapDialog.show({
title: 'Requisition',
message: 'Approved Successfully.',
buttons: [{
label: 'OK',
action: function(dialog) {
location.href = "approval_req_list.php?pagekey=209";
}
}]
});
} else if (data.approval_status == 'R') {
BootstrapDialog.show({
title: 'Requisition',
message: 'Rejected Successfully.',
buttons: [{
label: 'OK',
action: function(dialog) {
location.href = "approval_req_list.php?pagekey=209";
}
}]
});
}
return;
},
error: function(data) {
BootstrapDialog.alert('Error In Updating Requisition');
return;
}
});
$('.close').click();
//location.href="requisition_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 () {
// var counter = $("#count_items").val();
// var itemOptions="<?php echo generateOption('tbl_items', 'concat(item_name," (",item_code,")")', '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\" onchange=\"getUnitForChildItem('child_item_unit',this.value,"+counter+")\" 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><div id=\"child_item_unit' + counter + '" ></div></td>'
// cols += '<td align="center"><a href="#" class="btn-lg" data-toggle="tooltip" id="deletebtn" title="Delete"><span class="glyphicon glyphicon-trash"></span></a></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", "#deletebtn", 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> -->