934 lines
40 KiB
PHP
934 lines
40 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="active"><a href="item_rate.php">Inventory</a></li>
|
|
<li class="active"><a href="item_rate.php">Item Rate</a></li>
|
|
</ul>
|
|
|
|
</div>
|
|
<!-- End of breadcrumb -->
|
|
|
|
|
|
|
|
<div class="page-content">
|
|
<!-- <div class="box box-primary center" style="padding: 10px; margin: 2px 0px 50px 5px; width: 99.5%; ">
|
|
<form id="task_form" method="post">
|
|
|
|
<div class="box-body">
|
|
|
|
|
|
<div class="row">
|
|
<div class="col-sm-3"></div>
|
|
<div class="col-sm-6">
|
|
<table id="myTable center" class="table table-bordered order-list">
|
|
<thead>
|
|
<tr>
|
|
<th style="padding-right: 50px; margin: 2px 0px 50px 5px; width: 30%; ">
|
|
Item Name</th>
|
|
<th style="padding-left: 10px; margin: 2px 0px 50px 5px; width: 20%; ">
|
|
Approved Rate</th>
|
|
<th style="padding-left: 10px; margin: 2px 0px 50px 5px; width: 20%; ">
|
|
Unit</th>
|
|
<th style="padding-left: 10px;color:red; margin: 2px 0px 50px 5px; width: 30%;display:none"
|
|
id='new_id_th'>
|
|
Enter New Rate</th>
|
|
</tr>
|
|
</thead>
|
|
|
|
|
|
<?php
|
|
$row = null;
|
|
if (isset($_REQUEST['flex_id'])) {
|
|
$sql = "select a.*,b.item_name from procurement_items a left join tbl_items b on a.item_id=b.item_id where procurement_item_id = '" . $_REQUEST['flex_id'] . "'";
|
|
$result = @mysqli_query($conn, $sql);
|
|
$num_rows = @mysqli_num_rows($result);
|
|
$row = @mysqli_fetch_array($result);
|
|
}
|
|
do {
|
|
?>
|
|
<tbody>
|
|
|
|
<tr id="main-form">
|
|
|
|
<td style="width:30%">
|
|
<input type="hidden" name="id" id="id" value="<?php echo $row['id'] ?>" />
|
|
|
|
<select style="width:100%" class="form-control" id="item_id" name="item_id"
|
|
data-placeholder="Item...">
|
|
<option value="" selected disabled> please select Item</option>
|
|
<?php echo generateOption('tbl_items', 'item_name', 'item_id', '', '');
|
|
?>
|
|
</select>
|
|
</td>
|
|
|
|
|
|
<td style="width:10%">
|
|
<input type="text" style="width:100%" name="net_value"
|
|
value="<?php echo $row['net_value'] ?>" id="net_value" maxlength="50"
|
|
class="form-control" />
|
|
|
|
</td>
|
|
<td style="width:10%">
|
|
<input type="text" style="width:100%" name="stock_qty"
|
|
value="<?php echo $row['stock_qty'] ?>" id="stock_qty" maxlength="50"
|
|
class="form-control" />
|
|
|
|
</td>
|
|
|
|
|
|
<td style="width:20%;display:none" id='new_id_td'>
|
|
<input type="text" style="width:100%" name="new_rate"
|
|
value="<?php echo $row['new_rate'] ?>" id="new_rate" maxlength="50"
|
|
class="form-control" />
|
|
|
|
</td>
|
|
|
|
|
|
|
|
</tr>
|
|
|
|
|
|
<?php
|
|
} while ($row = @mysqli_fetch_array($result)) //end of while
|
|
?>
|
|
|
|
</tbody>
|
|
|
|
<tfoot>
|
|
|
|
<tr>
|
|
</tr>
|
|
</tfoot>
|
|
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
// End box-body
|
|
//box-footer
|
|
<div class="box-footer" style="text-align: center;">
|
|
<button class="btn btn-success new_button" id="new_button" type="reset"
|
|
onclick="show_save_button();">
|
|
<i class="ace-icon fa fa-plus-square-o bigger-110"></i>
|
|
New
|
|
</button>
|
|
|
|
|
|
<button class="btn btn-info save_button" id="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>
|
|
//End box-footer
|
|
|
|
</form>
|
|
</div>
|
|
-->
|
|
|
|
<!-- 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>
|
|
|
|
|
|
|
|
|
|
|
|
<div id="flexigridDiv" class="table-responsive">
|
|
|
|
<form name="f1" method="post" id="flex_appointment_form" action="#">
|
|
<div id="flex1" style="width:100%">
|
|
<input type="hidden" name="flex_item_id" id="flex_item_id" />
|
|
</div>
|
|
|
|
</form>
|
|
|
|
<form name="export_form" method="post" id="export_form" action="">
|
|
|
|
<input type="hidden" name="pdf_action" id="pdf_action" value="item_rate_pdf.php" />
|
|
<input type="hidden" name="excel_action" id="excel_action" value="item_rate_excel.php" />
|
|
</form>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
$(function() {
|
|
var w = screen.width * .90;
|
|
var h = 0;
|
|
h = (window.innerHeight - ($("#navbar").height() + $(".breadcrumbs").height())) *
|
|
.85;
|
|
$("#flex1").flexigrid({
|
|
url: 'item_rate_script.php',
|
|
dataType: 'json',
|
|
colModel: [{
|
|
display: 'Sr',
|
|
name: 'count',
|
|
width: w * .05,
|
|
sortable: false,
|
|
align: 'left'
|
|
},
|
|
{
|
|
display: 'Item Name',
|
|
name: 'item_name',
|
|
width: w * .20,
|
|
sortable: true,
|
|
align: 'left'
|
|
},
|
|
{
|
|
display: 'Item Rate',
|
|
name: 'item_rate',
|
|
width: w * .06,
|
|
sortable: true,
|
|
align: 'left'
|
|
},
|
|
{
|
|
display: 'Subsidy Amount',
|
|
name: 'subsidy_percent',
|
|
width: w * .10,
|
|
sortable: true,
|
|
align: 'left'
|
|
},
|
|
{
|
|
display: 'UNIT',
|
|
name: 'unit',
|
|
width: w * .06,
|
|
sortable: true,
|
|
align: 'left'
|
|
},
|
|
{
|
|
display: 'Vendor Code',
|
|
name: 'employer_contractor_code',
|
|
width: w * .10,
|
|
sortable: true,
|
|
align: 'left'
|
|
},
|
|
{
|
|
display: 'Current Vendor',
|
|
name: 'employer_contractor_name',
|
|
width: w * .10,
|
|
sortable: true,
|
|
align: 'left'
|
|
},
|
|
|
|
{
|
|
display: 'Vendor Email',
|
|
name: 'employer_contractor_email',
|
|
width: w * .10,
|
|
sortable: true,
|
|
align: 'left'
|
|
}, {
|
|
display: '',
|
|
name: 'link',
|
|
width: w * .1,
|
|
sortable: false,
|
|
align: 'left'
|
|
},
|
|
|
|
|
|
{
|
|
display: 'Add New Rate',
|
|
name: 'new_rate',
|
|
width: w * .10,
|
|
sortable: false,
|
|
align: 'left'
|
|
},
|
|
{
|
|
display: 'Rate Change History',
|
|
name: 'rate_change_history',
|
|
width: w * .10,
|
|
sortable: false,
|
|
align: 'left'
|
|
}
|
|
|
|
],
|
|
buttons: [
|
|
|
|
// {name: 'Add', bclass: 'add', onpress : add},
|
|
//{separator: true},
|
|
//{name: 'PDFReport', bclass: 'print', onpress : pdfReport},
|
|
// {separator: true},
|
|
{
|
|
name: 'PDF',
|
|
bclass: 'print',
|
|
onpress: function() {
|
|
pdf('pdf'); // Pass 'pdf' to the pdf function
|
|
}
|
|
},
|
|
{
|
|
separator: true
|
|
},
|
|
{
|
|
name: 'Excel',
|
|
bclass: 'print_excel',
|
|
onpress: function() {
|
|
pdf('excel'); // Pass 'excel' to the pdf function
|
|
}
|
|
},
|
|
// {
|
|
// separator: true
|
|
// },
|
|
// {
|
|
// name: 'Update All',
|
|
// bclass: 'add',
|
|
// onpress: Update_all
|
|
// },
|
|
],
|
|
searchitems: [
|
|
//{display: 'Appointment Id', name : 'appointment_id',isdefault: true},
|
|
{
|
|
display: 'Item Name',
|
|
name: 'item_name'
|
|
},
|
|
{
|
|
display: 'Vendor Code',
|
|
name: 'employer_contractor_code'
|
|
},
|
|
|
|
|
|
],
|
|
sortname: "item_name",
|
|
// sortorder: "type_description",
|
|
usepager: true, //pagination
|
|
//title:"Employee OPD",
|
|
useRp: true,
|
|
rp: 30, //records per page
|
|
showTableToggleBtn: false, //toggle button for the whole table
|
|
resizable: true,
|
|
// width: w,
|
|
height: h,
|
|
singleSelect: true
|
|
});
|
|
});
|
|
|
|
|
|
// }
|
|
|
|
|
|
function Update_all() {
|
|
window.location = 'item_rate_updater.php';
|
|
}
|
|
|
|
function delete_item(id) {
|
|
// alert(id);
|
|
$.ajax({
|
|
url: 'delete_item_rate.php',
|
|
data: {
|
|
id: id
|
|
},
|
|
type: 'POST',
|
|
dataType: 'json',
|
|
success: function(data) {
|
|
|
|
if (data == 'SUCCESS') {
|
|
|
|
BootstrapDialog.alert('Stock Item Deleted Successfully!');
|
|
|
|
$("#flex1").flexReload();
|
|
return;
|
|
}
|
|
|
|
|
|
|
|
|
|
},
|
|
error: function(data) {
|
|
BootstrapDialog.alert('Error: Stock Not Deleted!');
|
|
return;
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
function show_save_button() {
|
|
$("#save_button").show()
|
|
$("#id").val("");
|
|
|
|
}
|
|
|
|
|
|
|
|
function open_item(id, access, item_id) {
|
|
document.getElementById("indent_status_form").reset();
|
|
var rateTr = ''
|
|
if (access == 'V') {
|
|
rateTr = 'net_value';
|
|
$("#mrp").prop('disabled', true);
|
|
$("#gst").prop('disabled', true);
|
|
$("#discount").prop('disabled', true);
|
|
|
|
$("#item_id").prop('disabled', true);
|
|
$("#net_value").prop('disabled', true);
|
|
$("#stock_qty").prop('disabled', true);
|
|
$("#vendor").prop('disabled', true);
|
|
$("#save_button").hide()
|
|
$("#remarks_div").hide();
|
|
$("#new_id_td").hide();
|
|
|
|
$("#new_id_th").hide();
|
|
} else if (access == 'E') {
|
|
$("#new_id_td").hide();
|
|
rateTr = 'net_value';
|
|
|
|
$("#new_id_th").hide();
|
|
// $("#net_value").prop('disabled', true);
|
|
$("#mrp").prop('disabled', false);
|
|
$("#gst").prop('disabled', false);
|
|
$("#discount").prop('disabled', false);
|
|
|
|
$("#vendor").prop('disabled', false);
|
|
$("#item_id").prop('disabled', false);
|
|
$("#net_value").prop('disabled', true);
|
|
$("#stock_qty").prop('disabled', false);
|
|
$("#remarks_div").hide();
|
|
$("#save_button").show()
|
|
|
|
} else if (access == 'A') {
|
|
$("#mrp").prop('disabled', false);
|
|
$("#gst").prop('disabled', false);
|
|
$("#discount").prop('disabled', false);
|
|
|
|
$("#new_id_td").show();
|
|
$("#remarks_div").show();
|
|
$("#new_id_th").show();
|
|
$("#net_value").prop('disabled', true);
|
|
rateTr = 'new_rate';
|
|
$("#item_id").prop('disabled', false);
|
|
$("#net_value").prop('disabled', true);
|
|
$("#stock_qty").prop('disabled', false);
|
|
$("#remarks_div").show();
|
|
$("#save_button").show()
|
|
}
|
|
$('#rateTr').val(rateTr);
|
|
$.ajax({
|
|
url: 'select_item_rate.php',
|
|
data: {
|
|
id: id
|
|
},
|
|
type: 'POST',
|
|
dataType: 'json',
|
|
success: function(data) {
|
|
// alert(data.item_id);
|
|
$("#id").val(data.item_rate_id);
|
|
$("#stock_qty").val(data.unit);
|
|
$("#subsidy_percent").val(data.subsidy_percent);
|
|
|
|
$('#vendor').val(data.vendor_id);
|
|
$("#mrp").val(data.mrp);
|
|
$("#discount").val(data.discount);
|
|
$("#gst").val(data.gst);
|
|
$("#net_value").val(data.item_rate);
|
|
$("#per_unit_rate").val(data.item_rate);
|
|
if (data.item_id == '' || data.item_id == null) {
|
|
$("#item_id").val(item_id);
|
|
} else {
|
|
$("#item_id").val(data.item_id);
|
|
}
|
|
getMrpGst();
|
|
getDiscountRate();
|
|
|
|
|
|
$('#modal-indent-status').modal("show");
|
|
|
|
|
|
|
|
|
|
// $('#modal-add-ambulance-form').modal("show");
|
|
},
|
|
error: function(data) {
|
|
BootstrapDialog.alert('Error Populating Task Details');
|
|
return;
|
|
}
|
|
});
|
|
|
|
|
|
|
|
}
|
|
|
|
function rate_change_history(id, access) {
|
|
document.getElementById("rate_change_history_form").reset();
|
|
$.ajax({
|
|
url: 'select_item_rate_change_history.php',
|
|
data: {
|
|
id: id
|
|
},
|
|
type: 'POST',
|
|
dataType: 'json',
|
|
success: function(data) {
|
|
var content = '';
|
|
content += '<thead><tr><th style="text-align:center">Sr No</th><th style="text-align:center">Item Name</th><th style="text-align:center">Old Rate</th><th style="text-align:center">New Rate</th><th style="text-align:center">Change By</th><th style="text-align:center">Change Date</th><th style="text-align:center">Remarks</th><th style="text-align:center">Action</th></tr></thead><tbody>';
|
|
|
|
if (data.length) {
|
|
for (var l = 0; l < data.length; l++) {
|
|
var history_id = data[l]['id'];
|
|
var item_name = data[l]['item_name'];
|
|
var last_modified = data[l]['last_modified'];
|
|
var modified_by = data[l]['modified_by'];
|
|
var old_rate = data[l]['old_rate'];
|
|
var new_rate = data[l]['new_rate'];
|
|
var remarks = data[l]['remarks'];
|
|
var vendor_name = data[l]['vendor_name'] || '';
|
|
var vendor_code = data[l]['vendor_code'] || '';
|
|
|
|
// Format rates to 2 decimal places
|
|
var formatted_old_rate = parseFloat(old_rate).toFixed(2);
|
|
var formatted_new_rate = parseFloat(new_rate).toFixed(2);
|
|
|
|
// Format date if needed
|
|
var formatted_date = last_modified;
|
|
if (last_modified) {
|
|
var dateObj = new Date(last_modified);
|
|
if (!isNaN(dateObj.getTime())) {
|
|
formatted_date = dateObj.toLocaleDateString('en-GB') + ' ' + dateObj.toLocaleTimeString('en-GB', {hour: '2-digit', minute:'2-digit'});
|
|
}
|
|
}
|
|
|
|
content += "<tr id='history-row-" + history_id + "'>";
|
|
content += "<td>" + (l + 1) + "</td>";
|
|
content += "<td>" + item_name + "</td>";
|
|
content += "<td class='old-rate'>" + formatted_old_rate + "</td>";
|
|
content += "<td class='new-rate'>" + formatted_new_rate + "</td>";
|
|
content += "<td class='modified-by'>" + modified_by + "</td>";
|
|
content += "<td class='modified-date'>" + formatted_date + "</td>";
|
|
content += "<td class='remarks'>" + remarks + "</td>";
|
|
content += "<td style='text-align:center'>";
|
|
content += "<button type='button' class='btn btn-sm btn-primary edit-btn' onclick='openEditModal(\"" + history_id + "\", \"" + item_name.replace(/"/g, '"') + "\", \"" + old_rate + "\", \"" + new_rate + "\", \"" + remarks.replace(/"/g, '"').replace(/'/g, "\\'") + "\", \"" + modified_by.replace(/"/g, '"') + "\", \"" + last_modified + "\")'>";
|
|
content += "<i class='fa fa-edit'></i> Edit";
|
|
content += "</button>";
|
|
content += "</td>";
|
|
content += "</tr>";
|
|
}
|
|
} else {
|
|
content += "<tr><td style='text-align: center;' colspan='8'>NO Rate Change done</td></tr>";
|
|
}
|
|
|
|
content += "</tbody>";
|
|
$("#rate_change_history_table").html(content);
|
|
$('#modal-rate-change-status').modal("show");
|
|
},
|
|
error: function(data) {
|
|
BootstrapDialog.alert('Error Populating Task Details');
|
|
return;
|
|
}
|
|
});
|
|
}
|
|
|
|
function openEditModal(historyId, itemName, oldRate, newRate, remarks, modifiedBy, modifiedDate) {
|
|
// Fill form fields
|
|
document.getElementById("edit_history_id").value = historyId;
|
|
document.getElementById("edit_item_name").value = itemName;
|
|
document.getElementById("edit_old_rate").value = oldRate;
|
|
document.getElementById("edit_new_rate").value = newRate;
|
|
document.getElementById("edit_remarks").value = remarks;
|
|
document.getElementById("edit_modified_by").value = modifiedBy;
|
|
alert(modifiedDate);
|
|
var testdfate='2025-12-22';
|
|
document.getElementById("edit_modified_date").value = modifiedDate;
|
|
|
|
// Show modal
|
|
$('#modal-edit-rate-history').modal("show");
|
|
|
|
// Return false to prevent any default behavior
|
|
return false;
|
|
}
|
|
function saveEditChanges() {
|
|
var historyId = $('#edit_history_id').val();
|
|
var oldRate = $('#edit_old_rate').val();
|
|
var newRate = $('#edit_new_rate').val();
|
|
var remarks = $('#edit_remarks').val();
|
|
var modifiedDate = $('#edit_modified_date').val();
|
|
|
|
// Validation
|
|
if (!oldRate || oldRate.trim() === '') {
|
|
showAlert('Please enter Old Rate', 'warning');
|
|
$('#edit_old_rate').focus();
|
|
return false;
|
|
}
|
|
|
|
if (!newRate || newRate.trim() === '') {
|
|
showAlert('Please enter New Rate', 'warning');
|
|
$('#edit_new_rate').focus();
|
|
return false;
|
|
}
|
|
|
|
// Convert to numbers
|
|
oldRate = parseFloat(oldRate);
|
|
newRate = parseFloat(newRate);
|
|
|
|
if (isNaN(oldRate) || oldRate < 0) {
|
|
showAlert('Please enter valid Old Rate', 'warning');
|
|
return false;
|
|
}
|
|
|
|
if (isNaN(newRate) || newRate < 0) {
|
|
showAlert('Please enter valid New Rate', 'warning');
|
|
return false;
|
|
}
|
|
|
|
// Show loading
|
|
$('#save_edit_history').html('<i class="fa fa-spinner fa-spin"></i> Saving...').prop('disabled', true);
|
|
|
|
// Prepare data
|
|
var formData = {
|
|
history_id: historyId,
|
|
old_rate: oldRate,
|
|
new_rate: newRate,
|
|
remarks: remarks,
|
|
modified_date: modifiedDate
|
|
};
|
|
|
|
// Send AJAX
|
|
$.ajax({
|
|
url: 'update_rate_history.php',
|
|
type: 'POST',
|
|
data: formData,
|
|
dataType: 'json',
|
|
success: function(response) {
|
|
console.log('Server Response:', response);
|
|
|
|
// Check if response is valid
|
|
if (response && typeof response === 'object') {
|
|
if (response.success === true) {
|
|
// Update table row
|
|
updateTableRow(historyId, oldRate, newRate, remarks, response);
|
|
|
|
// Close modal
|
|
$('#modal-edit-rate-history').modal('hide');
|
|
|
|
// Show success message
|
|
showAlert(response.message || 'Record updated successfully!', 'success');
|
|
} else {
|
|
showAlert(response.message || 'Update failed!', 'error');
|
|
}
|
|
} else {
|
|
console.error('Invalid response format:', response);
|
|
showAlert('Invalid server response format', 'error');
|
|
}
|
|
},
|
|
error: function(xhr, status, error) {
|
|
console.error('AJAX Error:', error);
|
|
console.log('Response Text:', xhr.responseText);
|
|
|
|
// Try to parse error response
|
|
try {
|
|
var errorResponse = JSON.parse(xhr.responseText);
|
|
showAlert(errorResponse.message || 'Server error occurred', 'error');
|
|
} catch (e) {
|
|
showAlert('Server error: ' + error, 'error');
|
|
}
|
|
},
|
|
complete: function() {
|
|
$('#save_edit_history').html('Save Changes').prop('disabled', false);
|
|
}
|
|
});
|
|
|
|
return false;
|
|
}
|
|
|
|
function updateTableRow(historyId, oldRate, newRate, remarks, response) {
|
|
var row = $('#history-row-' + historyId);
|
|
|
|
// Update rate values
|
|
row.find('.old-rate').text(oldRate.toFixed(2));
|
|
row.find('.new-rate').text(newRate.toFixed(2));
|
|
row.find('.remarks').text(remarks);
|
|
|
|
// Update modified by and date if available in response
|
|
if (response.data) {
|
|
if (response.data.last_modified) {
|
|
row.find('.modified-date').text(formatDateTime(response.data.last_modified));
|
|
}
|
|
if (response.data.modified_by) {
|
|
row.find('.modified-by').text(response.data.modified_by);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Helper function to format date
|
|
function formatDateTime(dateString) {
|
|
if (!dateString) return '';
|
|
|
|
try {
|
|
var date = new Date(dateString);
|
|
if (isNaN(date.getTime())) return dateString;
|
|
|
|
// Format: DD-MM-YYYY HH:MM
|
|
var day = date.getDate().toString().padStart(2, '0');
|
|
var month = (date.getMonth() + 1).toString().padStart(2, '0');
|
|
var year = date.getFullYear();
|
|
var hours = date.getHours().toString().padStart(2, '0');
|
|
var minutes = date.getMinutes().toString().padStart(2, '0');
|
|
|
|
return day + '-' + month + '-' + year + ' ' + hours + ':' + minutes;
|
|
} catch (e) {
|
|
return dateString;
|
|
}
|
|
}
|
|
|
|
// Helper function for alerts
|
|
function showAlert(message, type) {
|
|
var title = '';
|
|
var cssClass = '';
|
|
|
|
switch(type) {
|
|
case 'success':
|
|
title = '<i class="fa fa-check-circle"></i> Success';
|
|
cssClass = 'alert-success';
|
|
break;
|
|
case 'error':
|
|
title = '<i class="fa fa-exclamation-circle"></i> Error';
|
|
cssClass = 'alert-danger';
|
|
break;
|
|
case 'warning':
|
|
title = '<i class="fa fa-exclamation-triangle"></i> Warning';
|
|
cssClass = 'alert-warning';
|
|
break;
|
|
default:
|
|
title = 'Message';
|
|
cssClass = 'alert-info';
|
|
}
|
|
|
|
BootstrapDialog.show({
|
|
title: title,
|
|
message: message,
|
|
type: BootstrapDialog.TYPE_DEFAULT,
|
|
cssClass: cssClass,
|
|
buttons: [{
|
|
label: 'OK',
|
|
cssClass: 'btn-primary',
|
|
action: function(dialog) {
|
|
dialog.close();
|
|
}
|
|
}]
|
|
});
|
|
}
|
|
|
|
function pdf(type) {
|
|
var url = 'item_rate_pdf.php?type=' + encodeURIComponent(type);
|
|
window.open(url, '_blank'); // Use '_blank' to open in a new tab
|
|
}
|
|
|
|
$("#new_button").on("click", function() {
|
|
$("id").val("");
|
|
});
|
|
</script>
|
|
|
|
<?php include('techsyn_footer.php'); ?>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<!-- End of page-content -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
function validate() {
|
|
|
|
var item_name = $('#item_name').val();
|
|
|
|
if (item_name == '') {
|
|
|
|
BootstrapDialog.alert('Please Enter Item Name.!!!');
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
var vendor = $('#vendor').val();
|
|
|
|
// if (vendor == '' || vendor == null) {
|
|
|
|
// BootstrapDialog.alert('Please Select vendor.!!!');
|
|
|
|
// return false;
|
|
|
|
// }
|
|
|
|
save();
|
|
}
|
|
</script>
|
|
|
|
<style>
|
|
#modal-add-vaccine {
|
|
overflow-y: scroll;
|
|
}
|
|
</style>
|
|
|
|
|
|
|
|
<?php include('techsyn_footer.php'); ?>
|
|
<script type="text/javascript">
|
|
function save() {
|
|
$("#net_value").prop('disabled', false);
|
|
$.ajax({
|
|
url: 'save_item_rate.php ',
|
|
type: "POST",
|
|
data: $("#indent_status_form").serialize(),
|
|
success: function(data) {
|
|
// alert(data);
|
|
BootstrapDialog.alert('Rate Saved Successfully.');
|
|
|
|
$("#net_value").prop('disabled', true);
|
|
$("#flex1").flexReload();
|
|
return;
|
|
},
|
|
error: function(data) {
|
|
BootstrapDialog.alert('Error Saving vaccine');
|
|
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>
|
|
<?php include('form/rate_change_form.php'); ?>
|
|
<?php include('form/rate_change_history.php'); ?>
|
|
|
|
<div class="modal fade" id="modal-edit-rate-history" tabindex="-1" role="dialog">
|
|
<div class="modal-dialog modal-lg" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header" style="background: #337ab7; color: white;">
|
|
<button type="button" class="close" data-dismiss="modal" style="color: white;">×</button>
|
|
<h4 class="modal-title"><i class="fa fa-edit"></i> Edit Rate History</h4>
|
|
</div>
|
|
<div class="modal-body">
|
|
<form id="editForm" onsubmit="return false;">
|
|
<input type="hidden" id="edit_history_id">
|
|
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label>Item Name</label>
|
|
<input type="text" class="form-control" id="edit_item_name" readonly>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label>Modified By</label>
|
|
<input type="text" class="form-control" id="edit_modified_by" readonly>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label>Old Rate <span class="text-danger">*</span></label>
|
|
<input type="number" class="form-control" id="edit_old_rate" step="0.01" min="0" required>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label>New Rate <span class="text-danger">*</span></label>
|
|
<input type="number" class="form-control" id="edit_new_rate" step="0.01" min="0" required>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label>Modified Date<span class="text-danger">*</span></label>
|
|
<input type="date" class="form-control" id="edit_modified_date" required>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<div class="form-group">
|
|
<label>Remarks</label>
|
|
<textarea class="form-control" id="edit_remarks" rows="3"></textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn btn-default" data-dismiss="modal">
|
|
<i class="fa fa-times"></i> Cancel
|
|
</button>
|
|
<button type="button" class="btn btn-primary" id="save_edit_history" onclick="saveEditChanges()">
|
|
<i class="fa fa-save"></i> Save Changes
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|