ria/app/Views/addSupplier.php

587 lines
22 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<script>
//Email Validate
function validateEmail() {
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
var email = $('#EmailAddress').val();
if (email != "") {
if (reg.test(email) == false) {
alert('Please Enter Valid Email Address');
return (false);
} else {
return true;
}
}
}
function alphaNumberic(e) {
var k;
document.all ? k = e.keyCode : k = e.which;
return ((k > 64 && k < 91) || (k > 96 && k < 123) || k == 8 || k == 32 || (k >= 48 && k <= 57));
}
function blockKeyPress(evt) {
var charCode = (evt.which) ? evt.which : evt.keyCode;
alert(charCode);
if (charCode == 8 || charCode == 46)
{
return false;
} else {
return false;
}
}
//charCode <= 31 && charCode != 32 && charCode => 33
function isNumberKey(evt) {
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode != 46 && charCode != 32 && charCode >= 33 &&
(charCode < 48 || charCode > 57))
return false;
return true;
}
//PAN Validate
function validatePAN() {
var reg = /^([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}?$/;
var PAN = $('#panno').val();
if (PAN != '') {
if (reg.test(PAN) == false) {
alert('Please Enter Valid PAN Number');
return (false);
} else {
return true;
}
} else {
alert('Please Enter PAN Number');
return (false);
}
}
function validateGST() {
// var reg = /(?=.*[0-9]).{2}(?=.*[A-Za-z]).{5}(?=.*[0-9]).{4}(?=.*[A-Za-z]).{1}(?=.*[0-9]).{1}(?=.*[Zz]).{1}(?=.*[A-Za-z0-9]).{1}$/;
var reg = /^([0-9]){2}([A-Za-z]){5}([0-9]){4}([A-Za-z]){1}([0-9]){1}([Zz]){1}([A-Za-z0-9]){1}$/;
var GST = $('#GSTNo').val();
var PAN = $('#panno').val();
(PAN != '') ?? $('#panno').val("");
if (GST != '') {
if (reg.test(GST) == false) {
alert('Please Enter Valid GST Number Format should be 12ABCDE1234A1Z1 or 12ABCDE1234A1ZA');
return (false);
} else {
var panPattern = /[A-Z]{5}[0-9]{4}[A-Z]{1}/;
var panMatch = GST.match(panPattern);
if (panMatch) {
var extractedPAN = panMatch[0].toUpperCase();
if (panPattern.test(extractedPAN) == true) {
$('#panno').val(extractedPAN);//.prop('readonly', true);
}
}
return true;
}
} else {
alert('Please Enter GST Number');
return (false);
}
}
function getContactNumberValidation() {
var contactNumber = $('#ContactNumber').val();
var telephone = /^[0-9]{3,4}\s[0-9]{8,9}$/.test(contactNumber);
var regex = /^[0-9]{4,6}\s[0-9]{5,7}$/.test(contactNumber);
var mobilephone = /^[0-9]{10,12}$/.test(contactNumber);
//alert('chennai telephone:'+telephone);//alert('other telephone:'+regex);
//alert('mobilephone:'+mobilephone);//alert('input value:'+contactNumber);
if (contactNumber != '') {
if (telephone) {
//alert(' telephone number chennai district successfully inserted'+contactNumber);
return true;
} else if (regex) {
//alert('telephone number other district successfully inserted '+contactNumber);
return true;
} else if (mobilephone) {
//alert('mobile number successfully inserted'+contactNumber);
return true;
} else {
alert('Please Enter valid Contact Number ex: 044 12345678 , 0444 1234567,04444 123456 and 9876543210'); //alert('need to change:'+contactNumber);
return false;
}
} else {
alert('please correct format of contact number');
//alert('invalid'+contactNumber);
return false;
}
}
function getValidAlternateNumber() {
var contactNumber = $('#AlternateContactNumber').val();
var telephone = /^[0-9]{3,4}\s[0-9]{8,9}$/.test(contactNumber);
var regex = /^[0-9]{4,6}\s[0-9]{5,7}$/.test(contactNumber);
var mobilephone = /^[0-9]{10,12}$/.test(contactNumber);
//alert('chennai telephone:'+telephone);//alert('other telephone:'+regex);
//alert('mobilephone:'+mobilephone);//alert('input value:'+contactNumber);
if (contactNumber != '') {
if (telephone) {
//alert(' telephone number chennai district successfully inserted'+contactNumber);
return true;
} else if (regex) {
//alert('telephone number other district successfully inserted '+contactNumber);
return true;
} else if (mobilephone) {
//alert('mobile number successfully inserted'+contactNumber);
return true;
} else {
alert('Please Enter valid Contact Number ex: 044 12345678 , 0444 1234567,04444 123456 and 9876543210'); //alert('need to change:'+contactNumber);
return false;
}
} else {
alert('please correct format of contact number');
//alert('invalid'+contactNumber);
return false;
}
}
function validateEmail() {
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
var email = $('#emailid').val();
if (email != '') {
if (reg.test(email) == false) {
alert('Please Enter Valid Email Address');
return (false);
} else {
return true;
}
} else {
alert('Please Enter email id');
}
}
function onlyAlphabets(evt) {
var charCode;
if (window.event)
charCode = window.event.keyCode; //for IE
else
charCode = evt.which; //for firefox
if (charCode == 32) //for &lt;space&gt; symbol
return true;
if (charCode > 31 && charCode < 65) //for characters before 'A' in ASCII Table
return false;
if (charCode > 90 && charCode < 97) //for characters between 'Z' and 'a' in ASCII Table
return false;
if (charCode > 122) //for characters beyond 'z' in ASCII Table
return false;
return true;
}
$(document).ready(function() {
//$("#Payment").select2();
});
</script>
<style>
legend {
border-bottom: 2px solid #FFF !important;
margin-left: -2%;
}
.form-group {
padding-bottom: 4%;
}
.badge {
color: red;
background-color: #fff;
}
</style>
<div class="content-wrapper">
<!-- Content Header (Page header) -->
<section class="content-header">
<center><h2> Add Supplier</h2>
<!-- <small>Preview</small> -->
</center>
<ol class="breadcrumb">
<a class="btn btn-success" href="<?php echo base_url(); ?>supplierlisting">&nbsp;&nbsp;<span class="bold">Back</span></a>
</ol>
</section>
<section class="content" id="content">
<br />
<div class="row">
<!-- left column -->
<div class="col-md-12">
<!-- general form elements -->
<div class="box box-success">
<?php if (!empty($validation)) : ?>
<div class="alert alert-danger">
<ul>
<?php foreach ($validation as $error) : ?>
<li><?= esc($error) ?></li>
<?php endforeach; ?>
</ul>
</div>
<?php endif; ?>
<!-- form start -->
<div class="row" style="font-size:11px; padding-left:38px;">
<div class="col-md-12"><br />
<form class="form-horizontal" role="form" id="addsupplier" action="<?php echo base_url() ?>addNewsupplier" method="post" role="form" enctype="multipart/form-data">
<div class="box-body">
<!-- Form Name -->
<legend>Supplier Information</legend>
<div class="col-md-12" style="margin-bottom: 27px;">
<div class="col-md-3">
<span for="SupplierName">Supplier Name</span><span class="badge">*</span>
<input type="text" name="SupplierName" onkeypress="return onlyAlphabets(event);" maxlength="100" id="supplierName" class="form-control" required>
</div>
<div class="col-md-3">
<span for="ContactNumber">Contact Number</span><span class="badge">*</span>
<input type="text" name="ContactNumber" onchange="return getContactNumberValidation();" id="ContactNumber" required maxlength="13" class="form-control" title="Please Enter Mobile Number (or) Telephone Number" onkeypress="return isNumberKey(event)">
</div>
<div class="col-md-3">
<span for="AlternateContactNumber">Alternate Contact Number</span>
<input type="text" name="AlternateContactNumber" onchange="return getValidAlternateNumber();" id="AlternateContactNumber" maxlength="13" class="form-control" title="Please Enter Mobile Number (or) Telephone Number" onkeypress="return isNumberKey(event)">
</div>
<div class="col-md-2">
<span for="EmailAddress">Email ID</span><span class="badge">*</span>
<input type="email" name="emailid" id="emailid" required maxlength="100" class="form-control">
</div>
</div>
<div class="col-md-12" style="margin-bottom: 27px;">
<div class="col-md-12"><span for="SupplierType">Supplier Type</span><!--<span class="badge">*</span>-->
&ensp;
<input type="checkbox" id="service" name="service" value="<?php echo $service = (isset($_POST['service'])) ? 0 : 1; ?>"> <b>SERVICE &ensp;</b>
<input type="checkbox" id="rawmaterial" name="rawmaterial" value="<?php echo $rawmaterial = (isset($_POST['rawmaterial'])) ? 0 : 1; ?>"> <b>RAW MATERIALS &ensp;</b>
<input type="checkbox" id="maintanance" name="maintanance" value="<?php echo $maintanance = (isset($_POST['maintanance'])) ? 0 : 1; ?>"> <b>MAINTENANCE &ensp;</b>
</div>
</div>
<!-- Address Section -->
<!-- Form Name -->
<legend>Address Details</legend>
<!-- Text input-->
<div class="col-md-12" style="margin-bottom: 27px;">
<div class="col-md-12"><span for="Address2">Address</span><span class="badge">*</span>
<input type="text" class="form-control required" id="Address" name="Address" maxlength="500" required>
</div>
</div>
<legend>Tax Related Data</legend>
<!-- Text input-->
<div class="col-md-12" style="margin-bottom: 27px;">
<div class="col-md-3">
<span for="GSTNo">GST Number</span><!--<span class="badge">*</span> -->
<input type="text" id="GSTNo" name="GSTNo" class="form-control" maxlength="15" onchange="validateGST();" style="text-transform:uppercase;" pattern="([0-9]){2}([A-Za-z]){5}([0-9]){4}([A-Za-z]){1}([0-9]){1}([Zz]){1}([A-Za-z0-9]){1}" title="Please Enter 2 Digit Number and 5 Character and 4 Digit Numbers and 1 Character and 1 Number and 'Z' and 1 Number or Character" onkeypress="return alphaNumberic(event)">
</div>
<div class="col-md-3">
<span for="PAN">PAN</span> <!--<span class="badge">*</span>-->
<input type="text" id="panno" maxlength="10" pattern="([A-Za-z]){5}([0-9]){4}([A-Za-z]){1}" name="panno" style="text-transform:uppercase;" onchange="validatePAN();" class="form-control" title="Please Enter 5 Character and 4 digit numbers and 1 Character format (Character should be in caps)" onkeypress="return alphaNumberic(event)">
</div>
<div class="col-md-3">
<input type="file" size="20" accept=".docx,.pdf,.doc,.jpg,.png" id="Cert_GST" name="Cert_GST"/>
<label for="Cert_GST">Select GST Document<br/><small>(only .pdf, .doc, .png, .jpg)</small></label>
</div>
</div>
<div class="col-md-12" style="margin-bottom: 27px;">
<div class="col-md-6">
<span for="MSME">MSME</span>
<input type="text" id="MSMENo" name="MSME" class="form-control" maxlength="30">
</div>
<div class="col-md-3">
<input type="file" size="20" accept=".docx,.pdf,.doc,.jpg,.png" id="Cert_MSME" name="Cert_MSME"/>
<label for="Cert_MSME">Select MSME Document<br/><small>(only .pdf, .doc, .png, .jpg)</small></label>
</div>
</div>
<!-- Text input-->
<legend>Bank Details</legend>
<!-- Text input-->
<div class="col-md-12" style="margin-bottom: 27px;">
<div class="col-md-3"><span>Account Number</span><span class="badge">*</span>
<input type="text" id="accno" name="accno" maxlength="20" class="form-control" onkeypress="return isNumberKey(event)" required>
</div>
<div class="col-md-3"><span>IFSC Code</span><span class="badge">*</span>
<input type="text" id="ifsc" name="ifsc" maxlength="12" class="form-control" onkeypress="return alpha(event)" style="text-transform: uppercase" required>
</div>
<div class="col-md-3"><span>Bank Branch Name</span>
<input type="text" id="branchname" name="branchname" maxlength="200" class="form-control">
</div>
<div class="col-md-3"><span>Bank Address</span>
<input type="text" id="bankaddress" name="bankaddress" maxlength="200" class="form-control">
</div>
</div>
<div class="col-md-12" style="margin-bottom: 27px;">
<div class="col-md-3">
<input type="file" size="20" accept=".docx,.pdf,.doc,.jpg,.png" id="Cert_BANK" name="Cert_BANK"/>
<label for="Cert_BANK">Select Bank Document<br/><small>(only .pdf, .doc, .png, .jpg)</small></label>
</div>
</div>
<legend>Payment Details</legend>
<!-- Text input-->
<div class="col-md-12" style="margin-bottom: 27px;">
<div class="col-md-3">
<span for="payablefrom">Payable Terms</span>
<select class="form-control required select2" id="Payment" name="Payment" onchange="payment_hidden();"> <!-- onchange="storeVal(this,'hiddenVal');"> -->
<option value="Date of invoice">Select Payment method</option>
<?php
if (!empty($payment)) {
foreach ($payment as $pmt) {
?>
<option value="<?php echo $pmt->PaymentID ?>"><?php echo $pmt->PaymentTerms ?></option>
<?php
}
}
?>
</select>
<input type="hidden" id="paymentid" name="paymentid" value="">
<!--<input type="hidden" id="paymentname" name="paymentname" value=""> -->
</div>
</div>
<div class="col-md-12 text-right">
<input type="reset" id="reset" class="btn btn-success" value="Reset" />
<input type="submit" onclick="return Validate();" value="Submit" class="btn btn-success">
</div>
</div>
</form>
</div><!-- /.col-lg-12 -->
</div><!-- /.row -->
</div>
</div>
<div class="col-md-4">
<?php
helper('form');
$error = session()->getFlashdata('error');
if ($error) {
?>
<div class="alert alert-danger alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<?php echo session()->getFlashdata('error'); ?>
</div>
<?php } ?>
<?php
$success = session()->getFlashdata('success');
if ($success) {
?>
<div class="alert alert-success alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<?php echo session()->getFlashdata('success'); ?>
</div>
<?php } ?>
<div class="row">
<div class="col-md-12">
<?php // \Config\Services::validation()->listErrors('<div class="alert alert-danger alert-dismissable">', ' <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button></div>');
?> </div>
</div>
</div>
<?php
$listErrors = session()->getFlashdata('listErrors');
if($listErrors)
{
?>
<div class="row">
<div class="col-md-12">
<div class="alert alert-danger alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<?php echo session()->getFlashdata('listErrors'); ?>
</div>
</div>
</div>
<?php } ?>
</div>
</section>
</div>
<script>
function payment_hidden() {
var term = document.getElementById("Payment");
var termid = term.options[term.selectedIndex].value;
var termname = term.options[term.selectedIndex].text;
$("#paymentid").val(termid);
$("#paymentname").val(termname);
//alert(termid);
//alert(termname);
}
function Validate() {
// if(!validatePAN())
// {
// $('#panno').focus();
// return false;
// }
if ($("#supplierName").val().length < 1) {
alert('Please Enter Supplier Name');
$("#supplierName").focus();
return false;
}
if (!getContactNumberValidation) {
$("#ContactNumber").focus();
return false;
}
if (!validateEmail()) {
$('#emailid').focus();
return false;
}
if ($("#Address").val().length < 1) {
alert('Please Enter Address');
$("#Address").focus();
return false;
}
// if(!validateGST())
// {
// $('#GSTNo').focus();
// return false;
// }
if (!validateEmail()) {
$('#emailid').focus();
return false;
}
}
//Call to ajax existing PAN
$('#panno').change(function() {
var id = $('#panno').val();
if (id != '') {
$.ajax({
data: {id: id},
type: "POST",
url: "<?= base_url() . 'supplierPANExist' ?>",
success: function(data) {
if(data){
var answer = confirm(data + " supplier details already exist in the database. Do you want to change the supplier details?");
if (answer) {
$('#panno').val('');
$('#panno').focus();
return false;
} else {
alert('Please edit the supplier details in the Edit screen and change the supplier status to Active');
window.location = '<?= site_url('supplierlisting') ?>'; // Use site_url() to generate the correct URL for redirection
}
}
},
error: function() {
alert('Error occurred while checking PAN number.');
$('#panno').val('');
$('#panno').focus();
}
});
} else {
alert('Please enter the PAN Number');
$('#panno').focus();
return false;
}
});
$('#GSTNo').change(function() {
var id = $('#GSTNo').val();
if (id != '') {
$.ajax({
type: "POST",
url: "<?= base_url() . 'supplierGSTExist' ?>",
data: { id: id },
success: function(data) {
if (data) {
var answer = confirm(data + " " + " supplier details is already exists in the database.Do you want to change the SUPPLIER details?")
if (answer) {
$('#GSTNo').val('');
$('#GSTNo').focus();
return false;
} else {
alert('Please edit the supplier details in the Edit screen and change the supplier status to Active');
window.location = '<?= site_url('supplierlisting') ?>'; // Use site_url() to generate the correct URL for redirection
}
}
},
error: function() {
alert('Error occurred while checking GST number.');
$('#GSTNo').val(''); // Clear GSTNo field
$('#GSTNo').focus(); // Focus on GSTNo field
}
});
} else {
alert('Please enter the GST Number');
$('#GSTNo').focus();
return false;
}
});
$('#supplierName').change(function() {
var suppliername = $('#supplierName').val();
var supplier = suppliername.replace(/ /g, '');
$('#content').loader('show');
$.ajax({
type: "POST",
url: "<?= base_url() . 'supplierExist' ?>",
data: { id: supplier },
success: function(data) {
var count = data.length;
if (count > 2) {
$('#content').loader('hide');
alert('supplier already existed ! ');
var related_supplier = "";
$.each(data, function(i, obj) {
related_supplier += obj.SupplierID + " - " + obj.SupplierName + " - " + obj.Address + "\n";
});
alert("'" + suppliername + "' - related supplier are , " + " \n \n" + related_supplier);
$("#supplierName").focus();
} else {
$('#content').loader('hide');
// alert('This is New Supplier! ');
}
console.log(data);
},
error: function() {
$('#content').loader('hide');
// alert("Error Occur");
}
});
});
</script>