<?php include('techsyn_header.php'); include('log_entry.php'); ?> <!-- Main Content Container for sid bar d 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 --> <div class="page-content"> <form name="f1" method="post" action="" id="flex_form_indent"> <div id="flex1" style="width:100%"> </div> <input type="hidden" name="flex_indent_id" id="flex_indent_id" /> </form> </div> <?php // $sql="select i.item_id,unit_id,item_name,reorder_store_level,min_store_level,indent_percent_reorderlevel,itm_stk.item_stock_qty from tbl_items i, (SELECT item_id, sum(stock_qty) item_stock_qty FROM `item_stock` group by item_id) itm_stk where itm_stk.item_id=i.item_id and item_stock_qty<=reorder_store_level"; // $result = mysql_query($sql); $i = 0; if (isset($_REQUEST['flex_indent_id'])) { $sql = "select indent_master.indent_id, indent_master.indent_date,indent_master.remarks from indent_master where indent_master.indent_id='" . $_REQUEST['flex_indent_id'] . "'"; //echo "query:".$sql; error_log("in edit " . $sql); $result = mysqli_query($conn, $sql); $num_rows = @mysqli_num_rows($result); $row = null; if ($num_rows > 0) { $row = @mysqli_fetch_array($result); } } ?> <div class="page-content"> <div class="box box-primary"> <form role="form" id="indent_status_form" name="indent_status_form" action="indent_form.php" method="post"> <div class="box-body"> <div class="row" style="margin-left: 100px;"> <div class="col-sm-3"> <div class="form-group"> <label>Indent 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="indent_date" id="indent_date" value="<?php echo date_format(date_create($row['indent_date']), "d/m/Y") ?>" type="text" data-date-format="dd/mm/yyyy" /> </div> <!-- /.input group --> </div> </div> <input type="hidden" name="indent_id" id="indent_id" value="<?php echo $_REQUEST['flex_indent_id'] ?>"> <div class="form-group col-sm-6"> <label>Indent Remarks</label> <textarea name="remarks" id="remarks" rows="3" class="autosize-transition form-control" style="overflow: hidden; overflow-wrap: break-word; resize: horizontal; height: 49px;"><?= $row['remarks'] ?></textarea> </div> </div> <div class="row" style="margin-left: 100px; margin-right: 100px"> <div class="col-sm-12"> <table id="myTable" class="table table-bordered order-list"> <thead> <tr> <th><i class="ace-icon fa fa-caret-right blue"></i>Item</th> <th><i class="ace-icon fa fa-caret-right blue"></i>Current Stock </th> <th><i class="ace-icon fa fa-caret-right blue"></i>Reorder. Qty </th> <th><i class="ace-icon fa fa-caret-right blue"></i>Indent Qty </th> <th><i class="ace-icon fa fa-caret-right blue"></i>Unit </th> <th><i class="ace-icon fa fa-caret-right blue"></i>Delete </th> </tr> </thead> <tbody id="tbody"> <?php $row = null; if (isset($_REQUEST['flex_procurement_id'])) { // $sql2="select im.indent_id,i.item_id,item_name,reorder_store_level,min_store_level,im.indent_date,im.remarks,ut.indent_qty,itm_stk.item_stock_qty,u.unit_name from tbl_items i,(SELECT indent_id, indent_date, remarks FROM indent_master)im, (SELECT indent_id,item_id,indent_qty from indent_items)ut, (SELECT item_id, sum(stock_qty) item_stock_qty FROM `item_stock` group by item_id) itm_stk ,(SELECT unit_id,unit_name from unit_master) u where itm_stk.item_id=i.item_id and i.unit_id=u.unit_id and i.item_id=ut.item_id and im.indent_id=ut.indent_id and ut.indent_id='".$_REQUEST['flex_indent_id']."' "; $sql2 = "select * from indent_items where indent_items.indent_id='" . $_REQUEST['flex_indent_id'] . "'"; $result = mysqli_query($conn, $sql2); error_log("edit " . $sql2); $num_rows = @mysqli_num_rows($result); $row = @mysqli_fetch_array($result); } while ($row = @mysqli_fetch_array($result)) { $item_name = $row['item_id']; $qu = "select item_name,reorder_store_level from tbl_items where item_id='" . $item_name . "'"; $result1 = mysqli_query($conn, $qu); $row3 = mysqli_fetch_assoc($result1); $qu2 = "select stock_qty from item_stock where item_id='" . $row['item_id'] . "'"; $result2 = mysqli_query($conn, $qu2); $row4 = mysqli_fetch_assoc($result2); ?> <tr> <td><select class="chosen-select form-control" id="item_id" multiple="" name="item_id"> <?php echo generateOption('tbl_items', 'item_name', 'item_id', '', ''); ?> </select></td> <td> <div id="itm_stk<?php echo $i ?>"><?php echo $row4['stock_qty'] ?></div> </td> <td> <div id="reorder_level<?= $i ?>"><?php echo $row3['reorder_store_level'] ?></div> </td> <td><input type="text" value="<?= $row['indent_qty'] ?>" id="indent_qty<?php echo $i ?>" name="indent_qty<?php echo $i ?>"></td> <td> <div id="child_item_unit<?php echo $i ?>"><?php echo $unitMap[getTableFieldValue('tbl_items', 'unit_id', 'item_id', $row['item_id'])] ?></div> </td> <td align='center'><a href='#' class='btn-lg' data-toggle='tooltip' id='deletebtn' title='Delete'><span class='glyphicon glyphicon-trash'></span></a></td> </tr> <? $i++; } ?> </tbody> <tfoot> <tr style="margin-left:10px;"> <td colspan="6"> <input type="button" class="btn btn-sm btn-block " id="addrow" value="Add Row" /> <input type="hidden" name="count_items" id="count_items" value="<?= $i ?>" /> </td> </tr> <tr> </tr> </tfoot> </table> </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> <button class="btn btn-warning" type="reset"> <i class="ace-icon fa fa-undo bigger-110"></i> Reset </button> </div> </form> </div> </div> </div> </div> </div> <script> function validate() { save(); } </script> <style> #modal-indent-status { 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 cal_discount(counter) { var mrp = $('#mrp' + counter).val(); var dis = $('#discount' + counter).val(); var net_value = mrp - (dis / 100) * mrp; $('#net_value' + counter).val(net_value); } function save() { $.ajax({ url: 'save_indent.php ', type: "POST", data: $("#indent_status_form").serialize(), success: function(data) { BootstrapDialog.alert('Indent Saved Successfully.'); $("#flex1").flexReload(); return; }, error: function(data) { BootstrapDialog.alert('Error Saving Procurement'); 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"> function GetDetail(item_id, count) { alert(item_id + "" + count); $.ajax({ url: "gen_indent.php", type: "POST", dataType: 'json', async: false, data: { item_id: item_id }, success: function(data) { $("#itm_stk" + count).val(data.item_stock_qty); $("#reorder_level" + count).val(data.reorder_store_level); var indent = getIndent(data.indent_percent_reorderlevel, count); $("#indent_qty" + count).val(indent); $("#child_item_unit" + count).val(data.unit_name); }, error: function(data) {} }); } function getIndent(indent_percent, count) { var current = document.getElementById("itm_stk" + count).value; var ind = indent_percent / 100 * current; return ind; } $(document).ready(function() { var counter = $("#count_items").val(); var itemOptions = "<? echo generateOption('tbl_items', 'item_name', 'item_id', '', ''); ?>"; $("#addrow").on("click", function() { var newRow = $("<tr>"); var cols = ""; var select_treatment = ""; select_treatment += "<select style='width:280px'"; select_treatment += "id=\"item_id" + counter + "\"name=\"item_id" + counter + "\" data-placeholder=\"Choose a item...\" class=\"form-control select2\" "; //select_treatment+="style=\"display: none;\""; select_treatment += " onchange=\"GetDetail(this.value," + counter + ")\">"; select_treatment += "<option value=\"\"> </option>"; select_treatment += itemOptions select_treatment += "</select>"; cols += '<td>' + select_treatment + '</td>'; cols += '<td><input type="text" class="form-control" id="itm_stk' + counter + '" name="itm_stk' + counter + '"></select></td>'; cols += '<td><input type="text" class="form-control" id="reorder_level' + counter + '" name="reorder_level' + counter + '"></td>'; cols += '<td><input type="text" class="form-control" id="indent_qty' + counter + '" name="indent_qty' + counter + '"></td>'; cols += '<td><input type="text" id=\"child_item_unit' + counter + '" ></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>