IMMREX7

aku nok ndi : /home/spdtg/www/schoolmis/resources/views/schools/stock/
File Up :
aku nok ndi : /home/spdtg/www/schoolmis/resources/views/schools/stock/purchase_order.blade.php

@extends('schools.school_layout')
@section('content')
<div class="row clearfix">
    <div class="col-sm-12">
        <div class="card">
            <div class="header">
                <h2><strong>@if(isset($po))Edit @else  Add @endif  Purchase Order</strong></h2>
            </div>
            <div class="body">
                @if(isset($po))
                {!! Form::model($po,['method' => 'PATCH', 'action' => ['School\Stock\PurchaseOrderController@update', $po->idPurchaseOrder], 'class' => 'form-horizontal','files'=>true]) !!}
                @else
                {!! Form::open(['url' => 'school/purchaseorder', 'class' => 'form-horizontal','id'=>'form','files'=>true]) !!}
                @endif
                
                <div class="row clearfix">
                    <div class="col-sm-3 form-control-label required">
                        <label for="classname">Vendor/Supplier</label>
                    </div>
                    <div class="col-sm-6">
                        <div class="form-group">
                            {!! Form::select('idSupplier',$suppliers,null,['class' => 'form-control select2 show-tick ms']) !!}
                            @if ($errors->has('idSupplier'))
                            <label id="minmaxlength-error" class="error" for="minmaxlength">
                                <strong>{{ $errors->first('idSupplier') }}</strong>
                            </label>
                            @endif
                            <p>Not in List? <a href="{{url('/school/suppliers')}}" target="_blank">Add New</a></p>
                            <span id='vendor_error'></span>
                        </div>
                    </div>
                </div>
                <div class="row clearfix">
                    <div class="col-sm-3 form-control-label required">
                        <label for="classname">Deliver To</label>
                    </div>
                    <div class="col-sm-6">
                        <div class="form-group">
                           <p class="form-control-static">  <input type="radio"  name= "deliveryAddress" value="{{$school->schoolName}} , {{$school->city}},{{$school->state->stateName}} {{$school->pincode}}" checked="checked" readonly="readonly"> {{$school->schoolName}} , {{$school->city}},{{$school->state->stateName}} {{$school->pincode}}</p>
                        </div>
                    </div>
                </div>
                <div class="row clearfix">
                    <div class="col-sm-3 form-control-label required">
                        <label for="classname">Purchase Order </label>
                    </div>
                    <div class="col-sm-3">
                        <div class="form-group">
                            {!! Form::text('poNo',$po_no,['class' => 'form-control','readonly'=>'readonly']) !!}
                            @if ($errors->has('poNo'))
                            <label id="minmaxlength-error" class="error" for="minmaxlength">
                                <strong>{{ $errors->first('poNo') }}</strong>
                            </label>
                            @endif
                        </div>
                    </div>
                </div>
                <div class="row clearfix">
                    <div class="col-sm-3 form-control-label required">
                        <label for="classname">Date</label>
                    </div>
                    <div class="col-sm-3">
                        <div class="form-group">
                            {!! Form::text('purchaseDate',null,['class' => 'form-control datepicker','required'=>'required']) !!}
                            @if ($errors->has('purchaseDate'))
                            <label id="minmaxlength-error" class="error" for="minmaxlength">
                                <strong>{{ $errors->first('purchaseDate') }}</strong>
                            </label>
                            @endif
                        </div>
                    </div>
                </div>
                <div class="row clearfix">
                    <div class="col-sm-3 form-control-label">
                        <label for="classname">Reference</label>
                    </div>
                    <div class="col-sm-3">
                        <div class="form-group">
                            {!! Form::text('reference',null,['class' => 'form-control']) !!}
                            @if ($errors->has('reference'))
                            <label id="minmaxlength-error" class="error" for="minmaxlength">
                                <strong>{{ $errors->first('reference') }}</strong>
                            </label>
                            @endif
                        </div>
                    </div>
                </div>
                <div class="row clearfix">
                    <div class="col-sm-3 form-control-label">
                        <label for="classname">Shipment Preference</label>
                    </div>
                    <div class="col-sm-3">
                        <div class="form-group">
                            {!! Form::text('purchasePreference',null,['class' => 'form-control']) !!}
                            @if ($errors->has('purchasePreference'))
                            <label id="minmaxlength-error" class="error" for="minmaxlength">
                                <strong>{{ $errors->first('purchasePreference') }}</strong>
                            </label>
                            @endif
                        </div>
                    </div>
                </div>
                
                <hr>
                <div class="row">
                   <div class="col-sm-12">
                       <table class="table table-bordered">
                        <thead>
                            <tr>
                                <th></th>
                                <th>Item</th>
                                <th>Quantity</th>
                                <th>Rate</th>
                                <th>Tax</th>
                                <th>Amount</th>
                                <th></th>
                            </tr>
                        </thead>
                        <tbody  id="optional_list">
                            
                            <?php $i =1;?>
                            <tr>
                                <td class="sno">{{$i}}</td>
                                <td>
                                    {!! Form::select('products[1][idProduct]',$products,null,['class' => 'form-control select2 show-tick ms','onchange'=>'getProductRate(this,1)']) !!}
                                    <p>Not in List? <a href="{{url('/school/products')}}" target="_blank">Add New</a></p>
                                    <span id="producterror1" class="help-block"></span>
                                </td>
                                <td>
                                    {!! Form::text('products[1][quantity]',null,['class' => 'form-control','required'=>'required','id'=>'qty1','onkeyup'=>'CalculateRate(1)']) !!}
                                    <span id="qtyerror1" class="help-block"></span>
                                </td>
                                <td>
                                    {!! Form::text('products[1][rate]',null,['class' => 'form-control','required'=>'required','id'=>'price1','onkeyup'=>'CalculateRate(1)' ]) !!}
                                </td>
                                <td>
                                    {!! Form::select('products[1][tax]',getProductTaxes(),null,['class' => 'form-control show-tick ms','onchange'=>'getTaxedAmount(this,1)','required'=>'required']) !!}
                                </td>
                                <td>
                                     {!! Form::text('products[1][productTotal]',null,['class' => 'form-control amount','required'=>'required','id'=>'productamount1']) !!}
                                </td>
                                <td></td>
                            </tr>
                            <?php $i++ ; ?>
                          </tbody>
                        <tr>
                            <td colspan="7" style="text-align: right"><input type="button" class="add-row btn btn-sm btn-success" value="Add Row"></td>
                        </tr>
                    </table>
                   </div>
                </div>
                <hr>
                <div class="row">
                    <div class="col-md-6">
                       <div class="row clearfix">
                            <div class="col-sm-4 form-control-label">
                                <label for="classname">Terms and Conditions</label>
                            </div>
                            <div class="col-sm-8">
                                <div class="form-group">
                                    {!! Form::textarea('termConditions',null,['class' => 'form-control','size'=>'30x2']) !!}
                                    @if ($errors->has('termConditions'))
                                    <label id="minmaxlength-error" class="error" for="minmaxlength">
                                        <strong>{{ $errors->first('termConditions') }}</strong>
                                    </label>
                                    @endif
                                </div>
                            </div>
                        </div>
                        <div class="row clearfix">
                            <div class="col-sm-4 form-control-label">
                                <label for="classname">Notes</label>
                            </div>
                            <div class="col-sm-8">
                                <div class="form-group">
                                    {!! Form::textarea('notes',null,['class' => 'form-control','size'=>'30x2']) !!}
                                    @if ($errors->has('notes'))
                                    <label id="minmaxlength-error" class="error" for="minmaxlength">
                                        <strong>{{ $errors->first('notes') }}</strong>
                                    </label>
                                    @endif
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="col-md-6 text-right">
                        <div class="row clearfix">
                            <div class="col-sm-6 form-control-label">
                                <label for="classname"><strong>Sub Total</strong></label>
                            </div>
                            <div class="col-sm-6">
                                <div class="form-group">
                                     {!! Form::text('subTotal',null,['class' => 'form-control','id'=>'subtotal','readonly'=>'readonly']) !!}
                                </div>
                            </div>
                        </div> 
                        <div class="row clearfix">
                            <div class="col-sm-6 form-control-label">
                                <label for="classname">Discount</label>
                            </div>
                            <div class="col-sm-6">
                                <div class="form-group">
                                    {!! Form::text('discountTotal',null,['class' => 'form-control','id'=>'discount','onblur'=>'calculateDiscount()']) !!}
                                </div>
                            </div>
                        </div>
                        <div class="row clearfix">
                            <div class="col-sm-6 form-control-label">
                                <label for="classname">Adjustment</label>
                            </div>
                            <div class="col-sm-6">
                                <div class="form-group">
                                    {!! Form::text('adjustment',null,['class' => 'form-control','id'=>'adjustment','onblur'=>'calculateAdjustment()']) !!}
                                </div>
                            </div>
                        </div>                                       
                        <div class="row clearfix">
                            <div class="col-sm-6 form-control-label">
                                <label for="classname"><strong>Total Amount</strong></label>
                            </div>
                            <div class="col-sm-6">
                                <div class="form-group">
                                    {!! Form::text('totalAmount',null,['class' => 'form-control','id'=>'netamt','readonly'=>'readonly']) !!}
                                </div>
                            </div>
                        </div> 
                    </div>
                </div>
                <div class="row clearfix">
                    <div class="col-sm-8 offset-sm-2">
                        @if(isset($po))
                        {!! Form::submit('UPDATE',['class' => 'btn btn-raised btn-primary btn-round waves-effect']) !!}
                        @else
                        {!! Form::submit('SAVE AND EMAIL',['class' => 'btn btn-raised btn-primary btn-round waves-effect','id'=>'submit-btn']) !!}
                        @endif
                        {!! Form::close() !!} 
                        <a href="{{url('/school/purchaseorder/create')}}" class="btn btn-raised btn-danger btn-round waves-effect">CANCEL</a>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

@stop
@section('script')
<script>
$(document).ready(function() {
    var i = $('.sno:last').text();
    $(".add-row").click(function(){
        i++;  
        var markup = '<tr><td class="sno">'+i+'</td>\
                <td><select name="products['+i+'][idProduct]" class = "form-control select2 show-tick ms" onchange = "getProductRate(this,'+i+')">@foreach($products as $key=>$value)<option value="{{$key}}">{{$value}}</option>@endforeach</select><p>Not in List? <a href="{{url('/school/products')}}" target="_blank">Add New</a></p><span id="producterror'+i+'" class="help-block"></span></td>\n\
\n\             <td><input class="form-control" type="text" name="products['+i+'][quantity]" id="qty'+i+'"  onkeyup = "CalculateRate('+i+')" required ="required"></td>\n\
\n\             <td><input class="form-control" type="text" name="products['+i+'][rate]" id="price'+i+'" onkeyup = "CalculateRate('+i+')" required ="required"></td>\n\
\n\             <td><select name="products['+i+'][tax]" class = "form-control show-tick ms" required="required" onchange ="getTaxedAmount(this,'+i+')">@foreach(getProductTaxes() as $key=>$value)<option value="{{$key}}">{{$value}}</option>@endforeach</select></td>\n\
\n\             <td><input class="form-control amount" type="text" name="products['+i+'][productTotal]" id="productamount'+i+'" required ="required"></td>\n\
                <td style="text-align:right;vertical-align: middle;"><input type="button" class="btn btn-sm btn-danger" value="Delete" id="remove_row"></td></tr>';
            
            $("#optional_list").append(markup);
    });
    
    $('#optional_list').on('click', 'input[type="button"]', function () {
        $(this).closest('tr').remove();
         i = $('.sno:last').text();
        for (let t = 1; t <= i; t++) {
            CalculateRate(t)
        }
         
    });
    //Add Input field if others is selecyted
});
function getProductRate(selected,keyid){
    var val = selected.value;
    if(val) {
            $.ajax({
                url: "{{url('/school/products') }}"+'/' +val,
                type: "GET",
                dataType: "json",
                success:function(data) {
                  //  $('#price'+keyid).empty();
                    $('#price'+keyid).val(data['salePrice']);
                }
            });
        }
}

function CalculateRate($key){
        var rate = '#price' + $key;
        var rt = $(rate).val();
        var qty = '#qty' + $key;
        var qt = $(qty).val();
        var amt = rt * qt;
        var amount = '#productamount' + $key;
        $(amount).val(amt.toFixed(2));
        var grandTotal = 0;
        $(".amount").each(function (){
            var stval = parseFloat($(this).val());
            grandTotal += isNaN(stval) ? 0 : stval;
        });
        $('#subtotal').val(grandTotal.toFixed(2));
       // $('#compamount').val(grandTotal.toFixed(2));
        var subtotal = $('#subtotal').val(grandTotal.toFixed(2));
        $('#netamt').val(grandTotal.toFixed(2));
        
    }
function getTaxedAmount(selected,keyid){
    var val = selected.value;
    if(val) {
            
            var rate = '#price' + keyid;
            var rt = $(rate).val();
            var qty = '#qty' + keyid;
            var qt = $(qty).val();
            var amt = rt * qt;
            var tax = amt*val/100;
            var taxedamt = amt + tax;
            var amount = '#productamount' + keyid;
            $(amount).val(taxedamt.toFixed(2));
            var grandTotal = 0;
            $(".amount").each(function (){
                var stval = parseFloat($(this).val());
                grandTotal += isNaN(stval) ? 0 : stval;
            });
            $('#subtotal').val(grandTotal.toFixed(2));
           // $('#compamount').val(grandTotal.toFixed(2));
            var subtotal = $('#subtotal').val(grandTotal.toFixed(2));
            $('#netamt').val(grandTotal.toFixed(2));
        }
}
function calculateDiscount(){
    var discount = $('#discount').val();
    var adjustment = $('#adjustment').val();
    var netamt = $('#subtotal').val();
    var total = netamt - discount - adjustment;
    $('#netamt').val(total.toFixed(2));
}
function calculateAdjustment (){
    var discount = $('#discount').val();
    var adjustment = $('#adjustment').val();
    var netamt = $('#subtotal').val();
    var total = netamt - discount - adjustment;
    $('#netamt').val(total.toFixed(2));
}
$(document).on('click', '.js-sweetalert', function (e) {
    $.ajaxSetup({
        headers: {
          'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
    });
    e.preventDefault();
    var id = $(this).data('id');
    swal({
            title: "Are you sure?",
            text: "Are You sure you want to delete this  Purchase Order!",
            type: "warning",
            showCancelButton: true,
            confirmButtonColor: "#DD6B55",
            confirmButtonText: "Yes, delete it!",
            closeOnConfirm: true
        },
        function() {
         //   console.log('here');
            $.ajax({
                type: "DELETE",
                url: "{{url('/school/purchaseorder/')}}" +"/"+id,
                data: {id:id}
                       
            })
            .done(function(data) {
                swal({
                    title: "Deleted", 
                    text: "Quotation has been successfully deleted", 
                    type: "success"
                },function() {
                    location.reload();
                });
            })
            .error(function(data) {
              swal("Oops", "We couldn't connect to the server!", "error");
            });
            return false;
    });
});

// Saving form data
$('#form').on('submit',function(e){
    $.ajaxSetup({
    header:$('meta[name="_token"]').attr('content')
});
 var formData =  new FormData($('#form')[0]);
 $("#submit-btn").prop('disabled', true);
    $.ajax({
        type:"POST",
        url: "{{url('school/purchaseorder') }}",
        processData: false,
        contentType: false,
        data:formData,
        dataType: 'json',
        success:function(data){
            if( data[Object.keys(data)[0]] === 'SUCCESS' ){
                $("#submit-btn").prop('disabled', true);
                window.location = "{{url('school/purchaseorder')}}";
            }
            else {                  //False Case: With error msg
            $("#msg").html(data);   //$msg is the id of empty msg
            }

        },

        error: function(data){
                    if( data.status === 422 ) {
                        $("#submit-btn").prop('disabled', false);
                        var errors = data.responseJSON.errors;
                        var errorHtml = '<div class="alert alert-danger"><ul>';
                        $.each( errors, function( key, value ) {
                            if (key.split(".")[1] + '.idProduct' === key.split(".")[1] + '.' +key.split(".")[2])
                             {
                                errorrate = '<p class="help-block">' + value + '</p>';
                                $( '#producterror'+key.split(".")[1] ).html( errorrate );
                             }else{
                                errorHtml += '<li>' + value + '</li>'; 
                             }
                        });
                        if(errors['idSupplier']=== undefined){
                            $( '#vendor_error' ).empty();
                        }else{
                           errorname = '<span class="help-block"><strong>'+errors['idSupplier']+'</strong></span>';
                           $( '#vendor_error' ).html( errorname );
                        }
                    }
            }
    });
    return false;
});
</script>
@stop

Copyright © 2021 - 2025 IMMREX7