File: /home/cafsindia/ntc_cafsinfotech_in/application/views/order_dispatch/manage.php
<?php
$this->load->view("partial/header");
$access_data = $this->session->userdata('access_data');
$page_name = ucwords(str_replace("_"," ",$controller_name));
$uniqueId = "prime_".$controller_name."_id";
?>
<div class='row title_content'>
<div class='col-md-3 col-xs-4'>
<h1 class='page_txt'><?php echo $page_name;?></h1>
</div>
<div class='col-md-9 col-xs-8'>
<ol class="breadcrumb">
<li><a href="<?php echo site_url()?>#Home">Home</a></li>
<li><a href="<?php echo site_url($controller_name)?>#<?php echo "$controller_name";?>"><?php echo "$page_name";?></a></li>
<li class="active">List</li>
</ol>
</div>
</div>
<div id="table_holder">
<div class='row' style='margin:0px;'>
<div class='col-md-12' style='border-radius: 2px; box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14), 0 3px 1px -2px rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.2);background-color: #f2f2f2;padding:15px 8px;'>
<div class='row' style='margin:0px;'>
<?php echo form_open($controller_name."/add_products", array('id' => 'add_products', 'class' => 'form-inline')); ?>
<div class='col-md-3'>
<div class="radio" style='margin-bottom: 8px;'>
<label style='font-weight: bold; color: #274f9c;'>
<input type="radio" name="search_by" id="by_cust_req" value="2" checked> Customer Request
</label>
</div>
<div class="radio" style='margin-bottom: 8px;'>
<label style='font-weight: bold; color: #274f9c;'>
<input type="radio" name="search_by" id="by_product" value="1"> Product Search
</label>
</div>
<?php
echo form_input(array("name"=>'search_product', "id"=>'search_product',"value"=>'',"placeholder"=>'Search by product name or brand', "class"=>"form-control input-sm "));
?>
<?php echo form_close(); ?>
</div>
<div class='col-md-6'>
<h4 class='tab_head' style='margin:0px;margin-bottom:5px;'>Customer Info</h4>
<div id='cust_info'>
<?php echo $list_view['cust_content']; ?>
</div>
</div>
<div class='col-md-3' style='text-align:right;padding:28px 0px;'>
<a class='btn btn-sm btn-danger' id='cancel_order'>Cancel</a>
<button class='btn btn-sm btn-primary' id="order_submit">Submit</button>
</div>
</div>
<div class='row' id='product_list' style='padding:0px 8px;margin:0px;'>
<?php echo $list_view['cart_content']; ?>
</div>
</div>
</div>
</div>
<div class="modal fade" tabindex="-1" role="dialog" id='product_type_model' data-backdrop="static" data-keyboard="false">
<div class="modal-dialog" role="document" style='width: 300px;'>
<div class="modal-content">
<div class="modal-body">
<form>
<input type='hidden' value='prime_id' id='product_type_prime_id_tonnes'>
<input type='hidden' value='prime_id' id='product_type_prime_id_temp'>
<div class="form-group">
<label for="tonnes">Enter Tonnes:</label>
<input type='text' name='tonnes' class='form-control input-sm number valid' id='tonnes'>
</div>
<div class="form-group">
<label for="temp">Enter Temperature:</label>
<input type='text' name='temp' class='form-control input-sm number valid' id='temp'>
</div>
<a class="btn btn-sm btn-primary" id='add_product_info'>Submit</a>
</form>
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function (){
var global_prime_id;
$(function () {
$(".datepicker").datetimepicker({
format: 'DD-MM-YYYY',
//debug: true
});
});
$(".number").bind('keyup', function(e) {
this.value = this.value.replace(/[^0-9_.]/g,'');
});
$("#search_product").autocomplete({
source: function(request, response) {
$.getJSON('<?php echo site_url($controller_name . "/item_search"); ?>',{
search_product: $('#search_product').val(),
search_by: $('input[name=search_by]:checked').val()
},response);
},
minLength: 1,
select: function(event, ui){
$(this).val(ui.item.value);
$("#add_products").submit();
}
});
$("#add_products").submit(function(event){ event.preventDefault(); }).validate({
rules:{
search_product:{required: true,},
search_by:{required: true,},
},
submitHandler: function (form){
$(form).ajaxSubmit({
success: function(response){
var error_str = "";
$.each(response.error, function( index, value ){
error_str += value+"\n";
});
if(error_str !== ""){
toastr.error(error_str);
}else{
toastr.success("added Successfully");
}
$('#cust_info').html(response.cart_view.cust_content);
$('#product_list').html(response.cart_view.cart_content);
check_prime_id();
$(function () {
$(".datepicker").datetimepicker({
format: 'DD-MM-YYYY',
//debug: true
});
});
$("#search_product").val('');
},
dataType: 'json'
});
}
});
$("#cancel_order").click(function(){
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name . "/cancel_order"); ?>',
success: function(data){
var rslt = JSON.parse(data);
if(rslt.sts){
toastr.success(rslt.message);
location.reload();
}
},
});
});
$("#order_submit").click(function(){
var isValid = true;
$('tbody').find("#tr_data td input:text,td select").each(function (){
if ($.trim($(this).val()) == '') {
isValid = false;
$(this).css({
"border": "1px solid red"
});
}else{
$(this).css({
"border": "",
"background": ""
});
}
});
if(isValid === true){
$("#order_submit").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
$('#order_submit').attr('disabled','disabled');
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name . "/save_order_dispatch"); ?>',
success: function(rslt){
$('#order_submit').attr('disabled',false);
$("#order_submit").html("Submit");
var rslt = JSON.parse(rslt);
if(rslt.success){
toastr.success(rslt.message);
location.reload();
}else{
toastr.error(rslt.message);
location.reload();
}
$('#product_list').html(rslt.table_content);
}
});
}
});
$('.datepicker').on('dp.hide',function(){
var str = this.id;
var res = str.split("_");
var prime_id = res[3];
update_product(prime_id);
});
check_prime_id();
});
//ADD PRODUCT INFORMATION (SVK EDIT NEED TO REVIEW)
$('#add_product_info').on('click',function(){
var product_type = $("#product_type_"+global_prime_id).val();
if(product_type === '1'){
var tonnes = $("#tonnes").val();
if(tonnes){
$('#tonnes').val('');
$('#packing_type_'+global_prime_id).val(tonnes);
$('#product_type_model').modal('hide');
update_product(global_prime_id);
}else{
$('#packing_type_'+global_prime_id).val('');
$('#packing_type_'+global_prime_id).prop("selected", false);
toastr.warning("Tonnes must not be empty");
}
}else
if(product_type === '4'){
var temp = $("#temp").val();
if(temp){
$('#temp').val('');
$('#packing_type_'+global_prime_id).val(temp);
$('#product_type_model').modal('hide');
update_product(global_prime_id);
}else{
$('#packing_type_'+global_prime_id).val('');
$('#packing_type_'+global_prime_id).prop("selected", false);
toastr.warning("Temperature must not be empty");
}
}
});
function get_warehouse_info(prime_id,location){
var warehouse_name = $("#warehouse_name_"+prime_id).val();
if(warehouse_name !== ""){
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name . "/get_warehouse_info"); ?>',
data: {warehouse_name:warehouse_name},
success: function(data){
var rslt = JSON.parse(data);
if(rslt.sts){
$('#location_'+prime_id).empty();
var option = "<option value=''>--Select--</option>";
$.each(rslt.get_warehouse_info, function (index, value){
option += '<option value="' + index + '">' + value + '</option>';
});
$('#location_'+prime_id).append(option);
$('#location_'+prime_id).val(location);
}
},
});
}
update_product(prime_id);
}
//Get Packing Type (SVK EDIT NEED TO REVIEW)
function get_packing_type(prime_id){
global_prime_id = prime_id;
var product_type = $("#product_type_"+prime_id).val();
if(product_type === '1'){
$('#product_type_model').modal('show');
$('#tonnes').parent().show();
$('#temp').parent().hide();
}else
if(product_type === '4'){
$('#product_type_model').modal('show');
$('#temp').parent().show();
$('#tonnes').parent().hide();
}else{
$('#product_type_model').modal('hide');
}
}
function check_prime_id(){
var prime_customer_id = parseInt($('#prime_customer_id').val());
if(prime_customer_id > 0){
$('#by_product').parent().show();
}else{
$('#by_product').parent().hide();
}
}
function update_product(prime_id){
if(prime_id){
var product_id = $("#product_id_"+prime_id).val();
var product_name = $("#product_name_"+prime_id).val();
var brand_name = $("#brand_name_"+prime_id).val();
var packing_type = $("#packing_type_"+prime_id).val();
var product_type = $("#product_type_"+prime_id).val();
var repacking = $("#repacking_"+prime_id).val();
var warehouse_name = $("#warehouse_name_"+prime_id).val();
var location = $("#location_"+prime_id).val();
var location_space = $("#location_space_"+prime_id).val();
var batch_no = $("#batch_no_"+prime_id).val();
var stock_expiry_date = $("#stock_expiry_date_"+prime_id).val();
var price = $("#price_"+prime_id).val();
var quantity = $("#quantity_"+prime_id).val();
var can_process = get_quantity(product_id,prime_id);
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name . "/update_product"); ?>',
data: {product_id:product_id,product_name:product_name,brand_name:brand_name,packing_type:packing_type,product_type:product_type,repacking:repacking,warehouse_name:warehouse_name,location:location,location_space:location_space,batch_no:batch_no,stock_expiry_date:stock_expiry_date,price:price,quantity:quantity},
success: function(rslt){
var rslt = JSON.parse(rslt);
toastr.success("updated Successfully");
$('#cust_info').html(rslt.cart_view.cust_content);
$('#product_list').html(rslt.cart_view.cart_content);
$(function () {
$(".datepicker").datetimepicker({
format: 'DD-MM-YYYY',
//debug: true
});
$(".number").bind('keyup', function(e) {
this.value = this.value.replace(/[^0-9_.]/g,'');
});
});
$("#product_type_"+prime_id).val(product_type);
$("#repacking_"+prime_id).val(repacking);
$("#warehouse_name_"+prime_id).val(warehouse_name);
$("#stock_expiry_date_"+prime_id).val(stock_expiry_date);
//get_warehouse_info(prime_id,location);
}
});
}
}
//QUANTITY CHECK BEFORE UPDATE
function get_quantity(product_id,prime_id){
var quantity = $("#quantity_"+prime_id).val();
if(parseInt(quantity) > 0){
var send_url = '<?php echo site_url("$controller_name/check_quantity"); ?>';
$.ajax({
type: "POST",
url: send_url,
data:{product:product_id,quantity:quantity},
success: function(data) {
var rslt = JSON.parse(data);
if(rslt.success){
return true;
}else{
toastr.error(rslt.message);
$("#quantity_"+prime_id).val(rslt.remaining_quantity);
//setTimeout(function(){ location.reload(); }, 1500);
return false;
}
}
});
}
}
</script>
<?php $this->load->view("partial/footer"); ?>