EVOLUTION-NINJA
Edit File: civil_work_order_generate_wo.php
<?php echo view('includes/header');?> <div class="page-content-wrapper"> <div class="page-content"> <h3 class="page-title">Generate Civil Work Order</h3> <script src="<?php echo base_url('public/assets/js/jquery-ui.js'); ?>" type="text/javascript"></script> <link rel="stylesheet" type="text/css" media="screen" href="<?php echo base_url('public/assets/css/jquery-ui.css'); ?>" /> <form method="post" class="work_po_form"> <table border="1"> <tr> <td style="width: 20%"><b>Vendor</b></td> <td contenteditable="true" style="width: 20%"><input type="text" id="vendor_name" name="vendor_name" pattern="[a-zA-Z\s]+" onfocusout="vendor_myFunction(this.value)" style="width: 100%;border: transparent;" required> </td> <td style="width:60%" rowspan="7"> <textarea rows="5" id="address" name="address" style="width: 100%; border: transparent;" placeholder="Address :" required readonly></textarea> </td> </tr> <tr> <td><b>Date</b></td> <td style="width:109px;"><input type="text" name="g_date" id="g_date" onfocusout="date_function(this.value)" style="width: 100%;border: transparent;" value="<?php echo date("d-m-Y"); ?>" required></td> </tr> <tr> <td><b>WO#</b></td> <td><input type="text" name="po_no" id="po_no" pattern="[0-9]+" style="width:45%;border: transparent;" readonly> <select style="width:52%;" name="project_name" id="project_name" style="border:transparent;" required> <?php foreach($owners as $value) { ?> <option value="<?php echo $value->project_name;?>"><?php echo $value->project_name;?></option> <?php } ?> </select> </td> </tr> <tr> <td><b>Currency</b></td> <td> <select name="currency" id="currency" style="width: 100%;border: transparent;" required> <option value="INR">INR</option> <option value="CHF">CHF</option> <option value="EUR">EUR</option> <option value="GBP">GBP</option> <option value="USD">USD</option> </select> </td> </tr> <tr> <td><b>Contact Person</b></td> <td style="width:109px;"><input type="text" pattern="[a-zA-Z\s]+" id="contact_person" name="contact_person" style="width: 100%;border: transparent;"> </td> </tr> <tr> <td><b>Contact Number</b></td> <td style="width:109px;"><input type="text" maxlength="10" pattern="^\d{10}" name="contact_number" id="contact_number" style="width: 100%;border: transparent;" ></td> </tr> <tr> <td><b>E-mail ID</b></td> <td style="width:109px;"><input type="email" id="email" name="email" style="width: 100%;border: transparent;"></td> </tr> <tr> <td><b>From Address</b></td> <td> <select name="mid" id="mid" style="width: 100%;border: transparent;" required> <option>Select</option> <?php foreach($mfrom_address as $value){?> <option value="<?php echo $value->mid; ?>"><?php echo $value->sname; ?></option> <?php } ?> </select> </td> </tr> </table> <table style="width:100%; table-layout:fixed; "> <thead class="thead-default"> <tr> <th width="4%">Sl. No.</th> <th width="18%">Product Name</th> <th width="12%">Description</th> <th width="12%">Indent</th> <th width="12%">Number</th> <th width="6%" class="inr_val" id="inr_val" name="inr_val">INR Value</th> <th width="6%" class="chf_val" id="chf_val" name="chf_val" style="display: none;">CHF Value</th> <th width="6%" style="display: none;" class="eur_val" id="eur_val" name="eur_val">EUR Value</th> <th width="6%" style="display: none;" class="gbp_val" id="gbp_val" name="gbp_val">GBP Value</th> <th width="6%" style="display: none;" class="usd_val" id="usd_val" name="usd_val">USD Value</th> <th width="6%">SGST</th> <th width="6%">CGST</th> <th width="6%">IGST</th> <th width="6%">Total Value</th> <th width="10%">Remarks</th> </tr> </thead> <tbody> <?php $i=1; ?> <?php if(isset($product_list)) { foreach($product_list as $key=>$productlist) { ?> <tr> <td width="8%" scope="row"><?php echo $i; ?></td> <td width="8%"><input type="text" class="p_name" name="p_name[]" id="p_name" value="<?php echo $productlist["product_name"];?>" style="border: transparent;text-transform: uppercase !important;" readonly="readonly" required> <input type="hidden" style="width:100%; border:transparent;" class="product_id" name="product_id[]" id="product_id" style="border: transparent;" value="<?php echo $productlist["id"]; ?>" required> </td> <td width="8%"><input type="text" style="width:100%; border:transparent;text-transform: uppercase !important;" class="description" name="description[]" id="description" value="<?php echo $productlist["description"]; ?>" ></td> <td width="10%"><input type="text" class="i_no" name="i_no[]" id="i_no<?php echo $key;?>" value="" style="width:100%; border: transparent;"> </td> <td width="8%" ><input type="text" class="purpose<?php echo $key;?>" name="purpose[]" id="purpose<?php echo $key;?>" value="" style="width:100%;border: transparent;" ></td> <td width="8%" style="width: 10%;padding: 1px;"><input type="text" class="inrvalue<?php echo $key;?> inrval" id="inrvalue<?php echo $key;?>" pattern="[0-9]+" name="inrvalue[]" style="width: 100%;border: transparent;" required ></td> <td width="8%" style="width: 10%;padding: 1px;"><input type="text" class="osgst<?php echo $key;?>" id="sgst<?php echo $key;?>" name="sgst[]" onkeyup="gstvalue1(this.value,<?php echo $key;?>)" value="0" pattern="^\d*(\.\d{0,2})?$" style="width: 42%;border: transparent;margin-left: 17px;" required> <span>%</span></td> <td width="8%" style="width: 10%;padding: 1px;"><input type="text" class="ocgst<?php echo $key;?>" id="cgst<?php echo $key;?>" name="cgst[]" onkeyup="gstvalue2(this.value,<?php echo $key;?>)" value="0" pattern="^\d*(\.\d{0,2})?$" style="width: 42%;border: transparent;margin-left: 17px;" required> <span>%</span></td> <td width="8%" style="width: 10%;padding: 1px;"><input type="text" class="oigst<?php echo $key;?>" id="igst<?php echo $key;?>" name="igst[]" onkeyup="gstvalue3(this.value,<?php echo $key;?>)" value="0" pattern="^\d*(\.\d{0,2})?$" style="width: 42%;border: transparent;margin-left: 17px;" required> <span>%</span></td> <td width="8%" style="width: 10%;padding: 1px;"><input type="text" class="totalvalue<?php echo $key;?> tot_val" id="totalvalue<?php echo $key;?>" name="totalvalue[]" style="width: 100%;border: transparent;" required readonly></td> <td width="8%"><input type="text" style="width:100%; border:transparent;text-transform: uppercase !important;" class="remarks<?php echo $key;?>" name="remarks[]" id="remarks<?php echo $key;?>" ></td> <!-- <th colspan="1" contenteditable="true"></th> <th colspan="3" contenteditable="true"></th>--> </tr> <?php $i++;} } ?> <tr> <th scope="row"></th> <td colspan="4"><input type="text" placeholder="OTHER CHARGES :" name="ot_charges" id="ot_charges" style="width: 100%;border: transparent;text-transform: uppercase !important;" ></td> <td><input type="text" class="inr_value_val" id="inr_value_val" name="inr_value_val" style="width: 100%;border: transparent;" value="0" pattern="^\d*(\.\d{0,2})?$" ></td> <td><input type="text" class="oosgst ot_sgst" id="ot_sgst" name="ot_sgst" onfocusout="sgstvalue1(this.value)" pattern="^\d*(\.\d{0,2})?$" value="0" style="width: 42%;border: transparent;margin-left: 17px;" > <span>%</span></td> <td><input type="text" class="oocgst ot_cgst" id="ot_cgst" name="ot_cgst" onfocusout="sgstvalue2(this.value)" pattern="^\d*(\.\d{0,2})?$" value="0" style="width: 42%;border: transparent;margin-left: 17px;" > <span>%</span></td> <td><input type="text" class="ooigst ot_igst" id="ot_igst" name="ot_igst" onfocusout="sgstvalue3(this.value)" pattern="^\d*(\.\d{0,2})?$"value="0" style="width: 42%;border: transparent;margin-left: 17px;" > <span>%</span></td> <td><input type="text" class="total_value_val to_val" id="total_value_val" name="total_value_val" style="width: 100%;border: transparent;" ></td> <td><input type="text" name="otc_remarks" id="otc_remarks" style="width:100%; border:transparent;text-transform: uppercase !important;" class="otc_remarks"></td> </tr> <tr> <td colspan="8" rowspan="3"> <textarea rows="3" id="note" name="note" style="width: 100%; border: transparent;text-transform: uppercase !important;" placeholder="NOTE : " ></textarea> </td> <td colspan="2">TOTAL AMOUNT</td> <td><input type="text" class="total_amt" id="total_amt" name="total_amt" style="width: 100%;border: transparent;" readonly="readonly" required onfocusin="amount_total1()"></td> </tr> <tr> <td colspan="2">DISCOUNT %</td> <td><input type="text" class="discount" id="discount" name="discount" onkeyup="discountvalue(this.value)" pattern="^\d*(\.\d{0,2})?$" style="width: 55%;border: transparent;" required> <span>%</span></td> </tr> <tr> <td colspan="2">GRAND TOTAL</td> <td><input type="text" class="g_total" id="g_total" name="g_total" style="width: 100%;border: transparent;" readonly="readonly" required></td> </tr> <tr> <td colspan="11" style=""> Terms and Conditions: <br/> 1. Material Delivery :<input type="text" class="comment" id="comment" name="comment" style="width: 70%;border: transparent; text-transform: uppercase !important;" > <br/> 2. GST No. :<input type="text" class="gst_no" id="gst_no" name="gst_no" style="width: 70%;border: transparent; text-transform: uppercase !important;" ><br/> 3. Terms of payment :<input type="text" class="terms_payment" id="terms_payment" name="terms_payment" style="width: 70%;border: transparent; text-transform: uppercase !important;" ><br/> 4. TDS @ : <input type="text" class="tds" id="tds" name="tds" style="width: 5%;" onkeyup="tdsvalue(this.value);" pattern="^\d*(\.\d{0,2})?$" > % On Total Value.<br/> 5. BANK DETAILS :<input type="text" class="bank_details" id="bank_details" name="bank_details" style="width: 70%;border: transparent; text-transform: uppercase !important;" readonly> </td> </tr> </tbody> </table> <br/><br/> <button type="submit" class="btn center-block" id="submit_button" style="float: left;margin-left: 39%;width: 100px;">Submit</button> <a href="<?php echo base_url(); ?>civil-work-order" class="btn default" style=" width:8%;color: #876174; background:#dddddd !important;margin-left: 20px;">Cancel</a> </form> </div> <!-- page-content --> </div> <?php echo view('includes/footer');?> <script type="text/javascript"> $(document).ready(function() { $( "#vendor_name" ).autocomplete({ source: '<?php echo site_url("auto-complete-civil-vendor-name"); ?>', }); var date = $('#g_date').val(); var dateAr = date.split('-'); var input_year = dateAr[2]; $.ajax({ type : 'post', url : '<?//php echo site_url("get-civil-wo")?>', data : {'input_year':input_year}, success:function(response) { // response=jQuery.parseJSON(response); console.log(response); if(response.result == 1) { //document.getElementById('po_no').value=response.message.po_no; var po_n = response.message.po_no; if(po_n != null) { // var po_no = parseFloat(po_n) +1; // var po= String('000000' + po_no).slice(-7); // $('#po_no').val(po); } else { //$('#po_no').val('000001'); } } } }); }); $('#mid').change(function(){ var date = $('#g_date').val(); var mid = $('#mid').val(); var dateAr = date.split('-'); var input_year = dateAr[2]; $.ajax({ type : 'post', url : '<?php echo site_url("get-civil-wo")?>', data : {'input_year': input_year, 'mid': mid}, dataType: 'json', // Ensure JSON response success:function(response) { console.log(response); if(response.result == 1) { var count_no = response.message.count_no; if(count_no !== null && count_no !== undefined) { count_no = parseInt(count_no) + 1; var po = String('000000' + count_no).slice(-6); // Adjusted to maintain 6 digits $('#po_no').val(po); } else { $('#po_no').val('000001'); } } else { $('#po_no').val('000001'); // Ensure 'else' works } }, error: function(xhr, status, error) { console.error("AJAX Error:", status, error); } }); }); function vendor_myFunction(id) { //alert(id); $('#address').val(''); $('#bank_details').val(''); var customer = id; $.ajax({ type : 'post', url : '<?php echo site_url("civil-vendor-search-by-fetch")?>', data : {id:id}, success:function(response) { // response=jQuery.parseJSON(response); console.log(response); if(response.result == 1) { //document.getElementById('address').value=response.message.vendor_name+"\n"; document.getElementById('address').value+=response.message.company_name+"\n"; document.getElementById('address').value+=response.message.company_address+"\n"; document.getElementById('bank_details').value=' '+'A/c No. '+response.message.account_no+"\n"; document.getElementById('bank_details').value+=','+response.message.bank_name+"\n"; document.getElementById('bank_details').value+=','+response.message.bank_address+"\n"; document.getElementById('bank_details').value+=','+response.message.ifsc_code+"\n"; } } }); } function unit_valuefirst(str,i) { var unit=str; var quantity_val =$('.quantityy'+i).val(); var inr_val = str * quantity_val; $('.inrvalue'+i).val(inr_val); var cgst =$('.ocgst'+i).val(); var sgst =$('.osgst'+i).val(); var igst =$('.oigst'+i).val(); var tax=parseFloat(cgst) + parseFloat(sgst)+ parseFloat(igst); var total_val =(inr_val * tax)/100 ; var total=parseFloat(total_val) + parseFloat(inr_val); $('.totalvalue'+i).val(total); amount_total1(); } var total_vall=0; function gstvalue(str,i) { var n=0; var gst=str; var inr_val =$('.inr_value'+i).val(); //alert(inr_val); var total_val =(inr_val * gst)/100 ; $('.total_value'+i).val(parseFloat(total_val) + parseInt(inr_val)); var total_value11 = $('.total_value'+i).val(); total_vall= parseFloat(total_vall) + parseFloat(total_value11); //$('.total_amt').val(total_vall); amount_total1(); } function amount_total1() { var a=$(".to_val").val(); var tot_vals=[]; $('.tot_val').each(function () { tot_vals.push($(this).val()); }); var sum = 0; for(var i=0; i < tot_vals.length; i++){ sum += parseFloat(tot_vals[i]); } if(a=="") { $('.total_amt').val(parseFloat(sum).toFixed(2)); } else { var amnt=parseFloat(sum) + parseFloat(a); $('.total_amt').val(amnt.toFixed(2)); } } </script> <style type="text/css"> .thead-default{ background:#337ab7; color:white; } .table{ margin-bottom:0 !important; //width:auto !important; } th, td{ border:1px solid gray; padding:6px; } .inner th{ border:transparent !important; } .inner tr{ border-bottom:1px solid gray; } table{ width:100%; } #ui-id-1 { display: none; width: 350px; top: 258px; overflow-x: hidden !important; overflow-y: scroll !important; height: 203px !important; } @media only screen and (min-width:320px) and (max-width:640px) { .page-content { width:900px; } .page-content-wrapper { overflow-x:scroll !important; } } </style> <script> var total_vall=0; </script> <script> function unitvalue1(str) { var unit=str; var quantity_val =$('#quantity_val').val(); var inr_val = str * quantity_val; $('.inr_value_val').val(inr_val); var cgst =$('.oocgst').val(); var sgst =$('.oosgst').val(); var igst =$('.ooigst').val(); var tax=parseFloat(cgst) + parseFloat(sgst) + parseFloat(igst); var total_val =(inr_val * tax)/100 ; var total=parseFloat(total_val) + parseFloat(inr_val); $('.total_value_val').val(total); amount_total1(); } function gstvalue1(str,i) { var gst=str; var inr_val =$('.inrvalue'+i).val(); var cgst =$('.ocgst'+i).val(); var igst =$('.oigst'+i).val(); var sgst =$('.osgst'+i).val(); var total_cgst =(inr_val * cgst)/100 ; var total_sgst =(inr_val * sgst)/100 ; var total_igst =(inr_val * igst)/100 ; var total=parseFloat(total_cgst) + parseFloat(total_sgst) + parseFloat(total_igst) + parseFloat(inr_val); $('.totalvalue'+i).val(total); amount_total1(); } function gstvalue2(str,i) { var inr_val =$('.inrvalue'+i).val(); var cgst =$('.ocgst'+i).val(); var igst =$('.oigst'+i).val(); var sgst =$('.osgst'+i).val(); var total_cgst =(inr_val * cgst)/100 ; var total_sgst =(inr_val * sgst)/100 ; var total_igst =(inr_val * igst)/100 ; var total=parseFloat(total_cgst) + parseFloat(total_sgst) + parseFloat(total_igst)+ parseFloat(inr_val); $('.totalvalue'+i).val(total); amount_total1(); } function gstvalue3(str,i) { var inr_val =$('.inrvalue'+i).val(); var cgst =$('.ocgst'+i).val(); var igst =$('.oigst'+i).val(); var sgst =$('.osgst'+i).val(); var total_cgst =(inr_val * cgst)/100 ; var total_sgst =(inr_val * sgst)/100 ; var total_igst =(inr_val * igst)/100 ; var total=parseFloat(total_cgst) + parseFloat(total_sgst) + parseFloat(total_igst)+ parseFloat(inr_val); $('.totalvalue'+i).val(total); amount_total1(); } function sgstvalue1(str) { var gst=str; var inr_val =$('.inr_value_val').val(); var cgst =$('.oocgst').val(); var igst =$('.ooigst').val(); var sgst =$('.oosgst').val(); var total_cgst =(inr_val * cgst)/100 ; var total_sgst =(inr_val * sgst)/100 ; var total_igst =(inr_val * igst)/100 ; var total=parseFloat(total_cgst) + parseFloat(total_sgst) + parseFloat(total_igst)+ parseFloat(inr_val); $('.total_value_val').val(total); amount_total1(); } function sgstvalue2(str) { var gst=str; var inr_val =$('.inr_value_val').val(); var sgst =$('.oosgst').val(); var igst =$('.ooigst').val(); var cgst =$('.oocgst').val(); var total_cgst =(inr_val * cgst)/100 ; var total_sgst =(inr_val * sgst)/100 ; var total_igst =(inr_val * igst)/100 ; var total=parseFloat(total_cgst) + parseFloat(total_sgst) + parseFloat(total_igst)+ parseFloat(inr_val); $('.total_value_val').val(total); amount_total1(); } function sgstvalue3(str) { var gst=str; var inr_val =$('.inr_value_val').val(); var sgst =$('.oosgst').val(); var igst =$('.ooigst').val(); var cgst =$('.oocgst').val(); var total_cgst =(inr_val * cgst)/100 ; var total_sgst =(inr_val * sgst)/100 ; var total_igst =(inr_val * igst)/100 ; var total=parseFloat(total_cgst) + parseFloat(total_sgst) + parseFloat(total_igst)+ parseFloat(inr_val); $('.total_value_val').val(total); amount_total1(); } var discount_total_value=0; function discountvalue(str) { var discount=str; var total_amt = $(".total_amt").val(); var mul_val =(discount * total_amt)/100; var discount_total_value= parseFloat(total_amt) - parseFloat(mul_val); $('.g_total').val(discount_total_value.toFixed(2)); } var tds_value=0; function tdsvalue(str) { var tds = str; var inr_val = $(".inrval").val(); a= 0; $(".inrval").each(function () { a += parseInt( $(this).val()); }); var inr_value1 = a; var inr_val2 =$('.inr_value_val').val(); var inr_total_value = parseFloat(inr_value1) + parseFloat(inr_val2); var ttl_val =$('.total_amt').val(); var discount=$('.discount').val(); var discount_val =(discount * ttl_val)/100; var dis_val = (discount * inr_total_value)/100; var tds_val = parseFloat(inr_total_value) - parseFloat(dis_val); var tds_value =(tds_val * tds)/100; var total_dis = parseFloat(ttl_val) - parseFloat(discount_val); var total_dis_tds = parseFloat(total_dis) - parseFloat(tds_value); var g_total = Math.round(total_dis_tds); $('.g_total').val(g_total.toFixed(2)); } </script> <?php $date = new DateTime('now', new DateTimeZone('Asia/Kolkata')); $today = $date->format('Y-m-d'); ?> <script type="text/javascript"> $('.work_po_form').submit(function(e){ e.preventDefault(); formdata = new FormData($(this)[0]); $(".submit_button").attr('disabled', 'disabled'); $(".submit_button").text("Submitting..."); $.ajax({ type : 'post', url : '<?php echo site_url("insert-civil-work-order")?>', data : formdata, contentType: false, processData: false, success:function(response){ // response=jQuery.parseJSON(response); console.log(response); if(response.result == 1) { toastr["success"](response.message); setTimeout(function(){ window.location.href = "<?php echo site_url('civil-work-order-list');?>?id="+response.message }, 1500); } else if(response.result == 2) { toastr["error"](response.message); $(".submit_button").text("Submit"); $(".submit_button").removeAttr('disabled'); } else { toastr["error"](response.message); $(".submit_button").text("Submit"); $(".submit_button").removeAttr('disabled'); } } }); }); /*function date_function(val) { }*/ </script>