1454 lines
60 KiB
PHP
1454 lines
60 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 class="#">Inventory Management</li>
|
|
<li class="active">Delivery Schedule</li>
|
|
</ul>
|
|
|
|
</div>
|
|
<!-- End of breadcrumb -->
|
|
|
|
<?php
|
|
|
|
$user_id = $_SESSION['user_id'];
|
|
// error_log('xxxxxxxxx' . $user_id);
|
|
|
|
$contractor_id = getTableFieldValue('tbl_users', 'vendor_id', 'user_id', $user_id);
|
|
$po_id = isset($_REQUEST['po_id']) ? $_REQUEST['po_id'] : null;
|
|
|
|
if (!empty($po_id)) {
|
|
$sql_po = "SELECT * FROM po_master WHERE po_id = '" . mysqli_real_escape_string($conn, $po_id) . "'";
|
|
|
|
$result_po = mysqli_query($conn, $sql_po);
|
|
|
|
if ($result_po && mysqli_num_rows($result_po) > 0) {
|
|
$row_po = mysqli_fetch_assoc($result_po);
|
|
|
|
|
|
foreach ($row_po as $key => $value) {
|
|
$$key = $value;
|
|
}
|
|
} else {
|
|
|
|
$po_no = creatingPoNo();
|
|
}
|
|
} else {
|
|
|
|
$po_no = creatingPoNo();
|
|
}
|
|
|
|
|
|
|
|
$i = 0;
|
|
?>
|
|
|
|
<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" onsubmit="event.preventDefault();" method="post">
|
|
<!-- box-body-->
|
|
|
|
<style>
|
|
.header {
|
|
cursor: pointer;
|
|
}
|
|
|
|
@keyframes spin {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
</style>
|
|
|
|
|
|
|
|
<div class="row" style="margin-left:50px; margin-right: 50px">
|
|
<div class="col-sm-4">
|
|
<div class="form-group">
|
|
<label>PO No</label>
|
|
<input class="form-control" name="po_no" id="po_no" type="text" value="<?php echo $po_no ?>" readonly />
|
|
<input type="hidden" name="po_id" id="po_id" value="<?= $_REQUEST['po_id'] ?>" />
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-4">
|
|
<div class="form-group">
|
|
|
|
<label>PO 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="po_date" id="po_date" type="text" value="<?php echo date_format(date_create($po_date), "d/m/Y")
|
|
?>" data-date-format="dd/mm/yyyy" />
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="form-group col-sm-4">
|
|
<label>PO 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;"><?= $remarks ?></textarea>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="row" style="margin-left: 50px;margin-right: 50px;">
|
|
<div class="col-sm-20">
|
|
<h4 style="text-align:center;border:groove" class="header" onclick="$('.po_details').toggle()">
|
|
Quotation Details</h4>
|
|
<div class="box-body">
|
|
<div class="row po_details" style="display:none;" style="margin-left: 50px;margin-right: 50px;">
|
|
<div class="col-sm-3">
|
|
<div class="form-group">
|
|
|
|
<label>Quotation no</label>
|
|
<div class="form-group">
|
|
<?php
|
|
echo $_REQUEST['qt_id'] ?>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-3">
|
|
<div class="form-group">
|
|
|
|
<label>Vendor</label>
|
|
<div class="form-group">
|
|
<?php
|
|
$qt_id_newnew = $_REQUEST['qt_id'];
|
|
$indent_id_newnew = $_REQUEST['indent_id'];
|
|
$sql = "SELECT vendor_id FROM quotation_list WHERE quotation_no = '$qt_id_newnew' AND indent_id = '$indent_id_newnew' LIMIT 1";
|
|
error_log($sql."get vendor id");
|
|
$result = mysqli_query($conn, $sql);
|
|
$row = mysqli_fetch_assoc($result);
|
|
$ven_id = $row['vendor_id'] ?? '';
|
|
// $ven_id = getTableFieldValue("quotation_list", 'vendor_id', 'quotation_no', '"' . $_REQUEST['qt_id'] . '"');
|
|
echo getTableFieldValue('employer_contractor', 'employer_contractor_name', 'id', $ven_id); ?>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-sm-3">
|
|
<div class="form-group">
|
|
|
|
<label>Date</label>
|
|
<div class="form-group">
|
|
<?php
|
|
$qt_date = getTableFieldValue("quotation_list", 'qt_approval_date', 'quotation_no', '"' . $_REQUEST['qt_id'] . '"');
|
|
echo date_format(date_create($qt_date), "d-M-Y") ?>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="col-sm-3">
|
|
<div class="form-group">
|
|
|
|
<label>Remarks</label>
|
|
<div class="form-group">
|
|
<?php
|
|
echo getTableFieldValue("quotation_list", 'qt_approval_remarks', 'quotation_no', '"' . $_REQUEST['qt_id'] . '"');
|
|
?>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<table id="myTable" style="display:none;" class="po_details table table-bordered order-list">
|
|
<thead>
|
|
<tr>
|
|
|
|
|
|
<!-- <th>Vendor</th> -->
|
|
<th>Item details</th>
|
|
<th>Specifications</th>
|
|
<th>Make</th>
|
|
<th>Per Unit Rate</th>
|
|
<th>Indent Qty </th>
|
|
<th>Approved Qty </th>
|
|
<th>Po Created Qty</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="myTable_body">
|
|
<?php
|
|
$item_arr = '';
|
|
$row = null;
|
|
if (isset($_REQUEST['indent_id'])) {
|
|
$sql = "SELECT * FROM quotation_list where quotation_no='" . $_REQUEST['qt_id'] . "' and status='APPROVED' and indent_id='".$_REQUEST['indent_id']."' ";
|
|
|
|
$result = mysqli_query($conn, $sql);
|
|
$num_rows = @mysqli_num_rows($result);
|
|
}
|
|
$i = 0;
|
|
$items_arr = array();
|
|
$items_name_arr = array();
|
|
while ($row_requisition_items = @mysqli_fetch_array($result)) {
|
|
array_push($items_arr, $row_requisition_items['item_id']);
|
|
$itm_name = getItemWithFormName($row_requisition_items['item_id']);
|
|
|
|
|
|
array_push($items_name_arr, $itm_name);
|
|
?>
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
|
|
|
|
|
|
<td style="width:10%">
|
|
|
|
|
|
<?php echo $itm_name; ?>
|
|
|
|
|
|
|
|
</td>
|
|
<td style="width:10%">
|
|
<?php echo getFieldFromTable('specifications', 'tbl_items', 'item_id', $row_requisition_items['item_id']); ?>
|
|
</td>
|
|
<td style="width:10%">
|
|
<?php echo getFieldFromTable('make', 'tbl_items', 'item_id', $row_requisition_items['item_id']); ?>
|
|
</td>
|
|
<td style="width:5%" align="center">
|
|
<div><input type="hidden" id='per_unit_rate_<?= $row_requisition_items['item_id'] ?>' name='per_unit_rate_<?= $row_requisition_items['item_id'] ?>' value="<?= $row_requisition_items['per_unit_rate'] ?>" /><?= $row_requisition_items['per_unit_rate'] . " " ?></div>
|
|
|
|
</td>
|
|
|
|
|
|
<td style="width:5%" align="center">
|
|
|
|
<div id="child_item_unit<?= $i ?>"><?= $row_requisition_items['indent_qty'] . " " ?><?php echo $unitMap[getTableFieldValue('tbl_items', 'unit_id', 'item_id', $row_requisition_items['item_id'])]; ?></div>
|
|
|
|
</td>
|
|
|
|
|
|
<td style="width:5%" align="center">
|
|
<div><input type="hidden" id='rfq_qty_<?= $row_requisition_items['item_id'] ?>' name='rfq_qty_<?= $row_requisition_items['item_id'] ?>' value="<?= $row_requisition_items['rfq_qty'] ?>" /><?= $row_requisition_items['rfq_qty'] . " " ?><?php echo $unitMap[getTableFieldValue('tbl_items', 'unit_id', 'item_id', $row_requisition_items['item_id'])]; ?></div>
|
|
|
|
</td>
|
|
|
|
|
|
<td style="width:5%" align="center">
|
|
|
|
<div><input type="hidden" id='scheduled_qty_<?= $row_requisition_items['item_id'] ?>' name='scheduled_qty_<?= $row_requisition_items['item_id'] ?>' value="<?= $row_requisition_items['scheduled_qty'] ?>" /><?= $row_requisition_items['scheduled_qty'] . " " ?><?php echo $unitMap[getTableFieldValue('tbl_items', 'unit_id', 'item_id', $row_requisition_items['item_id'])]; ?></div>
|
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
|
<?php
|
|
$i++;
|
|
} //end of while
|
|
|
|
?>
|
|
|
|
</tbody>
|
|
|
|
<tfoot>
|
|
|
|
|
|
|
|
</tfoot>
|
|
|
|
|
|
</table>
|
|
<input class="form-control" name="num_rows" id="num_rows" value="<?= $num_rows ?>" type="hidden" />
|
|
|
|
<input id='item_arr' name="item_arr" value="<?= $item_arr ?>" type="hidden" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row" style="margin-left: 50px;margin-right: 50px;">
|
|
<div class="col-sm-20">
|
|
<h4 class="header" style="text-align:center;border:groove;cursor:pointer" onclick="$('#PODiv').toggle()"> Create Delivery Schedule </h4>
|
|
<div id='PODiv'>
|
|
<div class="row">
|
|
|
|
<input type="hidden" name="qt_id" id="qt_id" value="<?= $_REQUEST['qt_id'] ?>">
|
|
<input type="hidden" name="indent_id" id="indent_id" value="<?= $_REQUEST['indent_id'] ?>">
|
|
<input type="hidden" name="vendor_id" id="vendor_id" value="<?= $ven_id ?>">
|
|
<div class="col-sm-2">
|
|
<div class="form-group">
|
|
<label>Item<span style="color: red">*</span></label>
|
|
|
|
<select class="form-control select2" name="item" id="item" onchange="getReqQty(this.value)">
|
|
|
|
<?php for ($v = 0; $v < count($items_arr); $v++) {
|
|
echo "<option value=" . $items_arr[$v] . ">" . ($items_name_arr[$v]) . "</option>";
|
|
} ?>
|
|
</select>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-2">
|
|
<div class="form-group">
|
|
<label>Delivery Location<span style="color: red">*</span></label>
|
|
|
|
<select class="form-control select2" name="delivery_location" id="delivery_location">
|
|
|
|
|
|
<?php echo generateOptionWithWhereClause('ohc_type', 'ohc_type_name', 'ohc_type_id', '', '', 'ohc_category', '"IP"'); ?>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-2">
|
|
<div class="form-group">
|
|
<label>Delivery Qty<span style="color: red">*</span></label>
|
|
|
|
<input class="form-control" type="number" name="qty" id="qty" />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-sm-1">
|
|
<div class="form-group">
|
|
<label>Del. Date<span style="color: red">*</span></label>
|
|
|
|
<input class="form-control date-picker" name="delivery_date" id="delivery_date" type="text" value="<?php echo date_format(date_create($row['po_date']), "d/m/Y") ?>" data-date-format="dd/mm/yyyy" />
|
|
</div>
|
|
</div>
|
|
<div class="col-sm-1">
|
|
<div class="form-group">
|
|
<label>Remarks</label>
|
|
|
|
<input class="form-control" name="search_remarks" id="search_remarks" type="text" value="" />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-sm-2">
|
|
<div class="form-group">
|
|
<label>Tolerance Limit</label>
|
|
|
|
<input class="form-control" type="number" name="tolerance" id="tolerance" />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-sm-2">
|
|
<div class="form-group">
|
|
|
|
<button class='btn btn-info save_button ' style=" margin-top: 20px;" onclick=" add_po_item()" data-toggle='tooltip' id='addbtn' title='add'><span class='glyphicon glyphicon-plus'></span></button>
|
|
|
|
<button class='btn btn-success' style="margin-top: 20px;" onclick="add_all_po_items()" data-toggle='tooltip' title='Add All Items'>
|
|
<i class="glyphicon glyphicon-plus"></i> Add All Items
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="rfq_scroll_container" style="max-height: 300px; overflow-y: auto; border: 1px solid #ccc;">
|
|
<table class="table table-bordered table-hover order-list">
|
|
<thead class="thin-border-bottom">
|
|
<tr>
|
|
<th><i class="ace-icon fa fa-caret-right blue"></i>Sr No</th>
|
|
<th><i class="ace-icon fa fa-caret-right blue"></i>Item</th>
|
|
|
|
<th><i class="ace-icon fa fa-caret-right blue"></i>Delivery Location
|
|
</th>
|
|
<th><i class="ace-icon fa fa-caret-right blue"></i>Delivery Qty
|
|
</th>
|
|
<th><i class="ace-icon fa fa-caret-right blue"></i>Delivery Date
|
|
</th>
|
|
<th><i class="ace-icon fa fa-caret-right blue"></i>Remarks
|
|
</th>
|
|
<th><i class="ace-icon fa fa-caret-right blue"></i>Tolerance Limit
|
|
</th>
|
|
<th><i class="ace-icon fa fa-caret-right blue"></i>Delete
|
|
</th>
|
|
|
|
</tr>
|
|
</thead>
|
|
|
|
<tbody id="po_tbody">
|
|
<?php
|
|
|
|
$c = 0;
|
|
|
|
if (isset($_REQUEST['po_id'])) {
|
|
$sql_pit = "SELECT * FROM po_items where po_id='" . $_REQUEST['po_id'] . "' ";
|
|
|
|
$result_pit = mysqli_query($conn, $sql_pit);
|
|
$num_rows_pit = @mysqli_num_rows($result_pit);
|
|
|
|
|
|
while ($row_requisition_items = @mysqli_fetch_array($result_pit)) {
|
|
$dlitem_name = getItemWithFormName($row_requisition_items['item_id']);
|
|
$delivery_location_name = getTableFieldValue('ohc_type', 'ohc_type_name', 'ohc_type_id', $row_requisition_items['delivery_location']);
|
|
?>
|
|
|
|
|
|
|
|
<tr>
|
|
<td style="width:5%; text-align: center;"><?= $c + 1 ?></td>
|
|
|
|
<td style="width:20%"><input type="hidden" name="po_item_id<?= $c ?>" id="po_item_id<?= $c ?>" value="<?= $row_requisition_items['po_item_id'] ?>" /><input type="hidden" name="item_id<?= $c ?>" id="item_id<?= $c ?>" value="<?= $row_requisition_items['item_id'] ?>" /><b><?= $dlitem_name ?></b></td>
|
|
<td style="width:20%"><input type="hidden" name="delivery_location<?= $c ?>" id="delivery_location<?= $c ?>" value="<?= $row_requisition_items['delivery_location'] ?>" /><b> <?= $delivery_location_name ?> </b></td>
|
|
<td><input type='hidden' value='<?= $c ?>' id='<?= $row_requisition_items['delivery_location'] ?>_po_qty_<?= $row_requisition_items['item_id'] ?>' name='<?= $row_requisition_items['delivery_location'] ?>_po_qty_<?= $row_requisition_items['item_id'] ?>'> <input class="po_qty_<?= $row_requisition_items['item_id'] ?>" type="number" value="<?= $row_requisition_items['delivery_qty'] ?>" id="delivery_qty<?= $c ?>" name="delivery_qty<?= $c ?>"></td>
|
|
<td><input class="form-control date-picker" name="delivery_date<?= $c ?>" id="delivery_date<?= $c ?>" type="text" value="<?= date_format(date_create($row_requisition_items['delivery_date']), "d/m/Y") ?>" data-date-format="dd/mm/yyyy" /></td>
|
|
<td><input class="form-control" name="remarks<?= $c ?>" id="remarks<?= $c ?>" type="text" value="<?= $row_requisition_items['remarks'] ?>" /></td>
|
|
<td> <input type="number" value="<?= $row_requisition_items['tolerance'] ?>" id="tolerance<?= $c ?>" name="tolerance<?= $c ?>"> </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>
|
|
<?php $c++;
|
|
}
|
|
} ?>
|
|
</tbody>
|
|
|
|
</table>
|
|
</div>
|
|
<input class="form-control" name="delivery_item_count" id="delivery_item_count" type="hidden" value="<?= $c ?>" />
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row" style="margin-left: 50px; margin-right: 50px">
|
|
<div class="col-sm-4">
|
|
<div class="form-group">
|
|
<label>Status</label>
|
|
|
|
<select class="form-control" name="status" id="status">
|
|
<?php if ($_SESSION['RoleCode'] == 'PUS') { ?>
|
|
<option value="PUSAPP" <?php if ($row['status'] == 'PUSAPP') { ?>selected<?php } ?>>
|
|
Save & Forward
|
|
</option>
|
|
|
|
<option value="PUSPND" <?php if ($row['status'] == 'PUSPND') { ?>selected<?php } ?>>
|
|
Save as Draft
|
|
</option>
|
|
<?php } else if ($_SESSION['RoleCode'] == 'HPUS') { ?>
|
|
<option value="APPROVED" <?php if ($row['status'] == 'APPROVED') { ?>selected<?php } ?>>
|
|
Save & Approve
|
|
</option>
|
|
|
|
<option value="HPUSAPP" <?php if ($row['status'] == 'HPUSAPP') { ?>selected<?php } ?>>
|
|
Save & Forward
|
|
</option>
|
|
|
|
<option value="HPUSREJ" <?php if ($row['status'] == 'HPUSREJ') { ?>selected<?php } ?>>
|
|
Reject
|
|
</option>
|
|
<?php } else if ($_SESSION['RoleCode'] == 'HOD') { ?>
|
|
<option value="APPROVED" <?php if ($row['status'] == 'APPROVED') { ?>selected<?php } ?>>
|
|
Save & Approve
|
|
</option>
|
|
|
|
<option value="HODREJ" <?php if ($row['status'] == 'HODREJ') { ?>selected<?php } ?>>
|
|
Reject
|
|
</option>
|
|
<?php } ?>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
<div class="loader row" style="display:none;display: 500px;" id="loader">
|
|
</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" onclick="location.href = 'approved_po.php';">
|
|
<i class="ace-icon fa fa-undo bigger-110"></i>
|
|
Back
|
|
</button>
|
|
</div>
|
|
</form>
|
|
|
|
|
|
<!-- <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-->
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<!-- End of page-content -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
function validate() {
|
|
var status = $('#status').val();
|
|
save();
|
|
|
|
}
|
|
$('.select2').select2()
|
|
</script>
|
|
|
|
<style>
|
|
.loader {
|
|
border: 16px solid #f3f3f3;
|
|
|
|
border-top: 16px solid #3498db;
|
|
|
|
border-radius: 50%;
|
|
width: 120px;
|
|
height: 120px;
|
|
animation: spin 2s linear infinite;
|
|
}
|
|
|
|
#modal-add-ailment {
|
|
overflow-y: scroll;
|
|
}
|
|
</style>
|
|
|
|
|
|
|
|
<?php include('techsyn_footer.php'); ?>
|
|
<script type="text/javascript">
|
|
function checkAll() {
|
|
var st = $('#select_all').prop('checked')
|
|
var ele = document.getElementsByName('param_status');
|
|
for (var i = 0; i < ele.length; i++) {
|
|
if (ele[i].type == 'checkbox')
|
|
ele[i].checked = st;
|
|
}
|
|
}
|
|
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() {
|
|
|
|
$('#myTable').hide();
|
|
$('.save_button').attr('disabled', 'true');
|
|
$('#loader').show();
|
|
|
|
BootstrapDialog.show({
|
|
title: 'Confirmation',
|
|
message: 'Are You Sure To Create Purchase Order...?',
|
|
buttons: [{
|
|
label: 'YES',
|
|
action: function(dialog) {
|
|
$.ajax({
|
|
url: 'save_app_indent_div_sch.php',
|
|
type: "POST",
|
|
data: $("#indent_form").serialize(),
|
|
|
|
success: function(data) {
|
|
|
|
// BootstrapDialog.alert({
|
|
// title: 'Information',
|
|
// message: 'PO Submitted Successfully. Please Wait For Sending Mail ...!',
|
|
|
|
// });
|
|
var data = $.parseJSON(data);
|
|
console.log(data);
|
|
$('#loader').hide();
|
|
$('#myTable').show();
|
|
$("#po_id").val(data.po_id);
|
|
open_mail(data.po_id);
|
|
// location.href = "approved_po.php";
|
|
|
|
return;
|
|
},
|
|
error: function(data) {
|
|
$('#loader').hide();
|
|
$('#myTable').show();
|
|
|
|
BootstrapDialog.alert('Error in Saving');
|
|
|
|
return;
|
|
}
|
|
});
|
|
|
|
$('.close').click();
|
|
}
|
|
}, {
|
|
label: 'CANCEL',
|
|
action: function(dialog) {
|
|
location.href = "approved_po.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\" 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', '100px').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', '100px');
|
|
});
|
|
}
|
|
})
|
|
/**
|
|
//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();
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
function open_mail(po_no) {
|
|
|
|
var ref_type = 'Purchase Order';
|
|
var ref_identifier = po_no;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//////
|
|
var RoleCode = '<?= $_SESSION['RoleCode'] ?>';
|
|
if (RoleCode == 'PUS') {
|
|
var email_list_to = '<?= getTableFieldValue('config', 'value', 'key_name', "'" . 'PURCHASE_HEAD' . "'") ?>';
|
|
|
|
// var email_list_cc = '<?= getTableFieldValue('config', 'value', 'key_name', "'" . 'PURCHASE_HEAD_CC' . "'") ?>';
|
|
var subject = 'Delivery Schedule';
|
|
} else if (RoleCode == 'HPUS') {
|
|
$.ajax({
|
|
url: 'get_vendor_mail_by_pono.php',
|
|
data: {
|
|
ref_identifier: ref_identifier,
|
|
},
|
|
type: 'POST',
|
|
dataType: 'json',
|
|
success: function(v_data) {
|
|
|
|
email_list_to += v_data.employer_contractor_email + ',';
|
|
},
|
|
error: function(v_data) {
|
|
BootstrapDialog.alert('Error Populating Vendor Mail');
|
|
return;
|
|
}
|
|
});
|
|
// var email_list_cc = '<?= getTableFieldValue('config', 'value', 'key_name', "'" . 'INDENT_PURCHASE_EMAIL_ID' . "'") ?>';
|
|
var subject = 'Delivery Schedule';
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$.ajax({
|
|
url: 'select_po.php',
|
|
data: {
|
|
po_no: po_no
|
|
},
|
|
type: 'POST',
|
|
dataType: 'json',
|
|
success: function(data) {
|
|
|
|
|
|
|
|
var indent_date = (data[0].po_date);
|
|
var remarks = data[0].remarks;
|
|
var indent_ref_no = (data[0].po_no);
|
|
var status = data[0].status;
|
|
var email_list_to = data[0].email_to;
|
|
var email_list_cc = data[0].ohc_cc_mails;
|
|
|
|
if (status == 'PUSAPP') {
|
|
status = "<span class=`green`>Pending Head Approval</i></span>";
|
|
} else if (status == 'HPUSAPP') {
|
|
status = "<span class=`green`>Pending on Purchase HOD</i></span>";;
|
|
} else if (status == 'APPROVED') {
|
|
status = "<span class=`green`>Approved</i></span>";
|
|
} else if (status == 'PUSPND') {
|
|
status = "<span class=`green`>Pending On Purchaser</i></span>";
|
|
} else if (status == 'HPUSREJ') {
|
|
status = "<span class=`red`>Purchase Head Rejected</i></span>";
|
|
} else if (status == 'HODREJ') {
|
|
status = "<span class=`red`>Purchase HOD Rejected</i></span>";
|
|
} else {
|
|
status = "<span class=`red`>Rejected</i></span>";
|
|
}
|
|
|
|
|
|
|
|
var emailContent = `<p contenteditable="true" id="email_content">`;
|
|
|
|
|
|
var app_root = '<?php echo getConfigKey('APP_ROOT') ?>';
|
|
var app_roots = app_root.split(',');
|
|
var link = '';
|
|
|
|
for (var i = 0; i < app_roots.length; i++) {
|
|
// link += "<br><a href=`" + app_roots[i] + '/po_pdf.php?flex_indent_id=' + po_no +
|
|
// "`>Details link" + (i + 1) + "</a> ";
|
|
<?php
|
|
$po_no_new = getFieldFromTable('po_no', 'po_master', 'po_id', $po_no);
|
|
?>
|
|
var po_no_new = "<?php echo $po_no_new; ?>";
|
|
|
|
link += "<br><a href=\"" + app_roots[i] + "/new_op.php?po_id=" + po_no_new + "\">Details link " + (i + 1) + "</a> ";
|
|
|
|
}
|
|
|
|
$("#email_form").find("#email_content").text(
|
|
'<div style=\"style="text-transform: none; !important"\"><?php echo getConfigKey('GENERAL_EMAIL_TEXT_INDENT') ?></div>'
|
|
);
|
|
emailContent +=
|
|
"<table class='table-bordered' width='100%'><thead><tr><th style=`border: outset;`>PO. No.</th><th style=`border: outset;`>PO Date</th><th style=`border: outset;`>Status</th></th><th style=`border: outset;`>Remarks</th></tr><thead><tbody>";
|
|
emailContent += "<tr><td style=`border: outset;`>" + indent_ref_no + "</td><td style=`border: outset;`>" + indent_date + "</td><td style=`border: outset;`>" + status +
|
|
"</td><td style=`border: outset;`>" + remarks +
|
|
|
|
|
|
"</td></tr>";
|
|
emailContent += "</tbody></table>";
|
|
emailContent += link;
|
|
|
|
|
|
|
|
var message = emailContent;
|
|
|
|
|
|
send_email(ref_type, ref_identifier, email_list_to, email_list_cc, subject, message)
|
|
|
|
|
|
},
|
|
error: function(data) {
|
|
BootstrapDialog.alert('Error Populating Details');
|
|
return;
|
|
}
|
|
})
|
|
|
|
|
|
}
|
|
|
|
function send_email(ref_type, ref_identifier, email_list_to, email_list_cc, subject, message) {
|
|
var count = $('#num_rows').val();
|
|
$.ajax({
|
|
url: 'send_email.php',
|
|
type: 'POST',
|
|
data: {
|
|
ref_type: ref_type,
|
|
ref_identifier: ref_identifier,
|
|
email_list_to: email_list_to,
|
|
email_list_cc: email_list_cc,
|
|
subject: subject,
|
|
message: message,
|
|
emailPart: 'YES',
|
|
},
|
|
success: function(data) {
|
|
$('.close').click();
|
|
|
|
BootstrapDialog.show({
|
|
title: 'Information',
|
|
message: 'PO Forwarded Successfully',
|
|
buttons: [{
|
|
label: 'OK',
|
|
action: function(dialog) {
|
|
|
|
|
|
location.href = "approved_po.php";
|
|
}
|
|
}]
|
|
});
|
|
|
|
return;
|
|
},
|
|
error: function(data) {
|
|
BootstrapDialog.alert('Error in sending mail');
|
|
return;
|
|
}
|
|
});
|
|
$('.close').click();
|
|
}
|
|
|
|
|
|
|
|
|
|
function add_po_item() {
|
|
|
|
|
|
var item_id = $('#item').val();
|
|
var item_name = $("#item option:selected").text();
|
|
if (item_id == '' || item_id == null) {
|
|
BootstrapDialog.alert('Please Select Item...!');
|
|
return false;
|
|
}
|
|
|
|
var location = $('#delivery_location').val();
|
|
var location_name = $("#delivery_location option:selected").text()
|
|
if (location == '' || location == null) {
|
|
BootstrapDialog.alert('Please Select Delivery Location !');
|
|
return false;
|
|
}
|
|
|
|
|
|
var newQty = $('#qty').val();
|
|
if (newQty == '' || newQty == null) {
|
|
BootstrapDialog.alert('Please Add Qty !');
|
|
return false;
|
|
}
|
|
|
|
var delivery_date = $('#delivery_date').val();
|
|
if (delivery_date == '' || delivery_date == null) {
|
|
BootstrapDialog.alert('Please Select Delivery Date !');
|
|
return false;
|
|
}
|
|
|
|
var remarks = $('#search_remarks').val();
|
|
var tolerance = $('#tolerance').val();
|
|
|
|
|
|
|
|
var select = document.getElementById(location + '_po_qty_' + item_id);
|
|
|
|
if ($(select).val() != undefined) {
|
|
|
|
var cnt = $(select).val();
|
|
$('#delivery_qty' + cnt).val(newQty);
|
|
$('#delivery_date' + cnt).val(delivery_date);
|
|
$('#remarks' + cnt).val(remarks);
|
|
$('#tolerance' + cnt).val(tolerance);
|
|
|
|
|
|
// BootstrapDialog.alert('This Item Is Already Added .Recoder Qty Updated !');
|
|
} else {
|
|
|
|
|
|
|
|
var i = $("#delivery_item_count").val();
|
|
var test_i = parseInt($("#delivery_item_count").val()) || 0;
|
|
var serial_no = test_i + 1;
|
|
|
|
var newRow = '';
|
|
newRow += `<tr><td>`+ serial_no +`</td><td style="width:20%"><input type="hidden" name="po_item_id` + i + `" id="po_item_id` + i + `" value=""/><input type="hidden" name="item_id` + i + `" id="item_id` + i + `" value="` +
|
|
item_id + `"/><b>` + item_name + `</b></td><td style="width:20%"><input type="hidden" name="delivery_location` + i + `" id="delivery_location` + i + `" value="` +
|
|
location + `" /><b>` + location_name + `</b></td>
|
|
<td><input type='hidden' value='` + i + `' id='` + location + `_po_qty_` + item_id + `' name='` + location + `_po_qty_` + item_id + `'> <input class = "po_qty_` + item_id +
|
|
`" type = "number" value = "` + newQty + `" id = "delivery_qty` + i + `" name = "delivery_qty` + i + `" >
|
|
</td><td><input class="form-control date-picker" name="delivery_date` + i + `" id="delivery_date` + i + `" type="text" value="` + delivery_date + `" data-date-format="dd/mm/yyyy" /></td>
|
|
<td><input class="form-control" name="remarks` + i + `" id="remarks` + i + `" type="text" value="` + remarks + `" /></td>
|
|
<td> <input type = "number" value = "` + tolerance +
|
|
`" id = "tolerance` + i + `" name = "tolerance` + i +
|
|
`" > </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>'`;
|
|
|
|
$("#po_tbody").append(newRow);
|
|
|
|
i++;
|
|
$('.select2').select2()
|
|
$("#delivery_item_count").val(i);
|
|
// $('#vendor_list').val($('#vendor_list').val() + ',' + vendor);
|
|
$('.date-picker').datepicker({
|
|
autoclose: true,
|
|
todayHighlight: true
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
getReqQty(item_id);
|
|
return;
|
|
}
|
|
|
|
function getReqQty(item) {
|
|
selectIndLocation();
|
|
var ind_qty = $('#rfq_qty_' + item).val();
|
|
var scheduled_qty = $('#scheduled_qty_' + item).val();
|
|
var po_qt = Number(ind_qty) - Number(scheduled_qty);
|
|
if (po_qt < 0) po_qt = 0;
|
|
// alert(ind_qty);
|
|
var added_qty = 0;
|
|
$('.po_qty_' + item).each(function() {
|
|
|
|
added_qty += Number($(this).val());
|
|
});
|
|
// alert(added_qty);
|
|
if (po_qt < added_qty) {
|
|
// BootstrapDialog.alert("Added More Delivery Qty Then Approved Quotation Qty!");
|
|
$('#qty').val(po_qt);
|
|
} else {
|
|
var remain = po_qt - added_qty;
|
|
if (remain < 0) remain = 0;
|
|
$('#qty').val(remain);
|
|
}
|
|
}
|
|
|
|
getReqQty($('#item').val());
|
|
|
|
$("table.order-list").on("click", "#deletebtn", function(event) {
|
|
$(this).closest("tr").remove();
|
|
|
|
reorderSerialNumbers();
|
|
|
|
// counter -= 1
|
|
// $("#count_items").val(counter);
|
|
});
|
|
|
|
function reorderSerialNumbers() {
|
|
$('#po_tbody tr').each(function(index) {
|
|
$(this).find('td:first').text(index + 1);
|
|
});
|
|
}
|
|
|
|
function add_all_po_items() {
|
|
var location = $('#delivery_location').val();
|
|
var location_name = $("#delivery_location option:selected").text();
|
|
var delivery_date = $('#delivery_date').val();
|
|
var remarks = $('#search_remarks').val();
|
|
var tolerance = $('#tolerance').val();
|
|
|
|
if (!location || !delivery_date) {
|
|
BootstrapDialog.alert('Please fill common fields (location, date) before adding all items.');
|
|
return;
|
|
}
|
|
|
|
<?php foreach ($items_arr as $ix => $item_id) { ?>
|
|
var qty = getItemPOQty("<?= $item_id ?>");
|
|
if (qty > 0) {
|
|
add_po_item_all_mode("<?= $item_id ?>", "<?= $items_name_arr[$ix] ?>", location, location_name, qty, delivery_date, remarks, tolerance);
|
|
}
|
|
<?php } ?>
|
|
}
|
|
|
|
function getItemPOQty(item) {
|
|
var ind_qty = $('#rfq_qty_' + item).val() || 0;
|
|
var scheduled_qty = $('#scheduled_qty_' + item).val() || 0;
|
|
var po_qt = Number(ind_qty) - Number(scheduled_qty);
|
|
if (po_qt < 0) po_qt = 0;
|
|
|
|
var added_qty = 0;
|
|
$('.po_qty_' + item).each(function () {
|
|
added_qty += Number($(this).val());
|
|
});
|
|
|
|
if (po_qt < added_qty) {
|
|
return po_qt;
|
|
} else {
|
|
var remain = po_qt - added_qty;
|
|
return remain < 0 ? 0 : remain;
|
|
}
|
|
}
|
|
|
|
|
|
function add_po_item_all_mode(item_id, item_name, location, location_name, newQty, delivery_date, remarks, tolerance) {
|
|
var select = document.getElementById(location + '_po_qty_' + item_id);
|
|
if ($(select).val() != undefined) {
|
|
var cnt = $(select).val();
|
|
$('#delivery_qty' + cnt).val(newQty);
|
|
$('#delivery_date' + cnt).val(delivery_date);
|
|
$('#remarks' + cnt).val(remarks);
|
|
$('#tolerance' + cnt).val(tolerance);
|
|
} else {
|
|
var i = $("#delivery_item_count").val();
|
|
var test_i = parseInt($("#delivery_item_count").val()) || 0;
|
|
var serial_no = test_i + 1;
|
|
var newRow = '';
|
|
newRow += `<tr><td>`+ serial_no +`</td><td style="width:20%"><input type="hidden" name="po_item_id${i}" id="po_item_id${i}" value=""/><input type="hidden" name="item_id${i}" id="item_id${i}" value="${item_id}"/><b>${item_name}</b></td>
|
|
<td style="width:20%"><input type="hidden" name="delivery_location${i}" id="delivery_location${i}" value="${location}" /><b>${location_name}</b></td>
|
|
<td><input type='hidden' value='${i}' id='${location}_po_qty_${item_id}' name='${location}_po_qty_${item_id}'>
|
|
<input class='po_qty_${item_id}' type='number' value='${newQty}' id='delivery_qty${i}' name='delivery_qty${i}'></td>
|
|
<td><input class='form-control date-picker' name='delivery_date${i}' id='delivery_date${i}' type='text' value='${delivery_date}' data-date-format='dd/mm/yyyy' /></td>
|
|
<td><input class='form-control' name='remarks${i}' id='remarks${i}' type='text' value='${remarks}' /></td>
|
|
<td><input type='number' value='${tolerance}' id='tolerance${i}' name='tolerance${i}'></td>
|
|
<td align='center'><a href='#' class='btn-lg' id='deletebtn' title='Delete'><span class='glyphicon glyphicon-trash'></span></a></td></tr>`;
|
|
|
|
$("#po_tbody").append(newRow);
|
|
i++;
|
|
$("#delivery_item_count").val(i);
|
|
$('.select2').select2();
|
|
$('.date-picker').datepicker({
|
|
autoclose: true,
|
|
todayHighlight: true
|
|
});
|
|
}
|
|
|
|
getReqQty(item_id);
|
|
}
|
|
|
|
function selectIndLocation() {
|
|
|
|
|
|
<?php if ($_REQUEST['ind_loc'] != '' && $_REQUEST['ind_loc'] != null) { ?>
|
|
$('#delivery_location').val('<?= $_REQUEST['ind_loc'] ?>');
|
|
<?php } ?>
|
|
}
|
|
</script>
|
|
|
|
<?php include('form/send_mail.php'); ?>
|