403Webshell
Server IP : 14.225.204.176  /  Your IP : 216.73.216.252
Web Server : nginx/1.24.0
System : Linux nodejs-ybgk 6.8.0-40-generic #40-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 5 10:34:03 UTC 2024 x86_64
User : root ( 0)
PHP Version : 8.1.34
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/html/php/thanhphuong/resources/views/purchase/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/php/thanhphuong/resources/views/purchase/edit.blade.php
@extends('layout.main') @section('content')
@if(session()->has('not_permitted'))
  <div class="alert alert-danger alert-dismissible text-center"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>{{ session()->get('not_permitted') }}</div>
@endif
<section class="forms">
    <div class="container-fluid">
        <div class="row">
            <div class="col-md-12">
                <div class="card">
                    <div class="card-header d-flex align-items-center">
                        <h4>{{trans('file.Update Purchase')}}</h4>
                    </div>
                    <div class="card-body">
                        <p class="italic"><small>{{trans('file.The field labels marked with * are required input fields')}}.</small></p>
                        {!! Form::open(['route' => ['purchases.update', $lims_purchase_data->id], 'method' => 'put', 'files' => true, 'id' => 'purchase-form']) !!}
                        <div class="row">
                            <div class="col-md-12">
                                <div class="row">
                                    <div class="col-md-3">
                                        <div class="form-group">
                                            <label>{{trans('file.Reference No')}}</label>
                                            <p><strong>{{ $lims_purchase_data->reference_no }}</strong> </p>
                                        </div>
                                    </div>
                                    <div class="col-md-3">
                                        <div class="form-group">
                                            <label>{{trans('file.Inventory Receiving Voucher')}}</label>
                                            <input type="text" name="inventory_receiving_voucher" class="form-control" value="{{ $lims_purchase_data->inventory_receiving_voucher }}" step="any"/>
                                        </div>
                                    </div>                                
                                    <div class="col-md-6">
                                        <div class="form-group">
                                            <label>{{trans('file.Supplier')}}</label>
                                            <input type="hidden" name="supplier_id_hidden" value="{{ $lims_purchase_data->supplier_id }}" />
                                            <select name="supplier_id" class="selectpicker form-control" data-live-search="true" id="supplier-id" data-live-search-style="begins" title="Select supplier...">
                                                @foreach($lims_supplier_list as $supplier)
                                                <option value="{{$supplier->id}}">{{$supplier->name .' ('. $supplier->company_name .')'}}</option>
                                                @endforeach
                                            </select>
                                        </div>
                                    </div>
                                </div>
                                <div class="row">
                                    <div class="col-md-3">
                                        <div class="form-group">
                                            <label>{{trans('file.Warehouse')}} *</label>
                                            <input type="hidden" name="warehouse_id_hidden" value="{{$lims_purchase_data->warehouse_id}}" />
                                            <select required name="warehouse_id" class="selectpicker form-control" data-live-search="true" data-live-search-style="begins" title="Select warehouse...">
                                                @foreach($lims_warehouse_list as $warehouse)
                                                <option value="{{$warehouse->id}}">{{$warehouse->name}}</option>
                                                @endforeach
                                            </select>
                                        </div>
                                    </div>
                                    <div class="col-md-3">
                                        <div class="form-group">
                                            <label>Ngày mua *</label>
                                            <input type="hidden" name="updated_at_hidden" value="{{date_format($lims_purchase_data->updated_at, DATE_ATOM )}}" />
                                            <input type="text" name="updated_at" id="purchase_date" class="form-control" title="{{trans('file.This field is required')}}" required />
                                            <span class="validation-msg"></span>
                                        </div>
                                    </div>
                                	<div class="col-md-3">
                                        <div class="form-group">
                                            <label>{{trans('file.Purchase Status')}}</label>
                                            <input type="hidden" name="status_hidden" value="{{$lims_purchase_data->status}}">
                                            <select name="status" class="form-control">
                                                <option value="1">{{trans('file.Recieved')}}</option>
                                                <option value="2">{{trans('file.Partial')}}</option>
                                                <option value="3">{{trans('file.Pending')}}</option>
                                                <option value="4">{{trans('file.Ordered')}}</option>
                                            </select>
                                        </div>
                                    </div>
                                    <div class="col-md-3">
                                        <div class="form-group">
                                            <label>{{trans('file.Attach Document')}}</label> <i class="dripicons-question" data-toggle="tooltip" title="Only jpg, jpeg, png, gif, pdf, csv, docx, xlsx and txt file is supported"></i>
                                            <input type="file" name="document" class="form-control" >
                                            @if($errors->has('extension'))
                                                <span>
                                                   <strong>{{ $errors->first('extension') }}</strong>
                                                </span>
                                            @endif
                                        </div>
                                    </div>
                                    <div class="col-md-3">
                                        <div class="form-group">
                                            <label>{{trans('file.Currency')}}</label> 
                                            <input type="hidden" name="currency_id_hidden" value="{{ $lims_purchase_data->currency_id }}" />
                                            <select name="currency_id" id="select-field-currency" class="form-control" style="width: 100%;">
                                                <option></option>
                                                @foreach($lims_currency_list as $currency)
                                                <option value="{{$currency->id}}">{{$currency->code}}</option>
                                                @endforeach
                                            </select>
                                        </div>
                                    </div>
                                    <div class="col-md-3">
                                        <div class="form-group">
                                            <label> {{trans('file.Exchange Rate')}} </label>
                                            <input type="number" name="exchange_rate_amount" class="form-control" value='{{$lims_purchase_data->exchange_rate_amount ?? 0}}' step="any"/>
                                        </div>
                                    </div>
                                    <div class="col-md-6">
                                        <div class="form-group">
                                            <label>{{trans('file.Content')}}</label>
                                            <br>
                                            <textarea rows="1" class="form-control" name="content">{{ $lims_purchase_data->content }}</textarea>
                                        </div>
                                    </div>
                                    <div class="col-md-12 mt-3">
                                        <label>{{trans('file.Select Product')}}</label>
                                        <div class="search-box input-group">
                                            <button type="button" class="btn btn-secondary"><i class="fa fa-barcode"></i></button>
                                            <input type="text" name="product_code_name" id="lims_productcodeSearch" placeholder="Please type product code and select..." class="form-control" />
                                        </div>
                                    </div>
                                </div>
                                <div class="row mt-5">
                                    <div class="col-md-12">
                                        <h5>{{trans('file.Order Table')}} *</h5>
                                        <div class="table-responsive mt-3">
                                            <table id="myTable" class="table table-hover order-list">
                                                <thead>
                                                <tr>
                                                        <th>{{trans('file.name')}}</th>
                                                        <th>{{trans('file.Code')}}</th>
                                                        <th>{{trans('file.Quantity')}}</th>
                                                        <th class="recieved-product-qty d-none">{{trans('file.Recieved')}}</th>
                                                        <th>{{trans('file.Unit Cost')}}</th>
                                                        <th>{{trans('file.Total Cost')}}</th>
                                                        <th>{{trans('file.Discount Percent')}}</th>
                                                        <th>{{trans('file.Discount')}}</th>
                                                        <th>{{trans('file.Tax')}} VAT</th>
                                                        <th>{{trans('file.Tax Import')}}</th>
                                                        <th>{{trans('file.Allocation Costs')}}</th>
                                                        <th>{{trans('file.Subtotal')}}</th>
                                                        <th>{{trans('file.Package Number')}}</th>
                                                        <th>{{trans('file.Lot Number')}}</th>
                                                        <th>{{trans('file.Serial Number')}}</th>
                                                        <th>{{trans('file.Batch Number')}}</th>
                                                        <th>{{trans('file.Made in')}}</th>
                                                        <th>{{trans('file.Manufacturing Date')}}</th>
                                                        <th>{{trans('file.Expiry Date')}}</th>
                                                        <th>{{trans('file.Circulation number')}}</th>
                                                        <th>{{trans('file.Classify')}}</th>
                                                        <th>{{trans('file.Manufacturer')}}</th>
                                                        <th>{{trans('file.Manufacturer Address')}}</th>
                                                        <th>{{trans('file.Owner Circulation Number')}}</th>
                                                        <th>{{trans('file.Address Circulation')}}</th> 
                                                        <th>{{trans('file.Contract Number')}}</th>
                                                        <th>{{trans('file.Invoice Number')}}</th>
                                                        <th>{{trans('file.Invoice Date')}}</th>
                                                        <th>{{trans('file.OC Number')}}</th>
                                                        <th>{{trans('file.TR Number')}}</th>                                                      
                                                        <th><i class="dripicons-trash"></i></th>
                                                    </tr>
                                                </thead>
                                                <tbody>
                                                    <?php
                                                    $temp_unit_name = [];
                                                    $temp_unit_operator = [];
                                                    $temp_unit_operation_value = [];
                                                    ?>
                                                    @foreach($lims_product_purchase_data as $product_purchase)
                                                    <tr>
                                                    <?php
                                                        $product_data = DB::table('products')->find($product_purchase->product_id);
                                                        if(!empty($product_data)) {
                                                            if(!$permission_view_price) {
                                                                $product_purchase->net_unit_cost = 0;
                                                                $product_purchase->total = 0;
                                                            }
                                                            if($product_purchase->variant_id) {
                                                                $product_variant_data = \App\ProductVariant::FindExactProduct($product_data->id, $product_purchase->variant_id)->select('item_code', 'variant_id')->first();
                                                                if($product_variant_data){
                                                                    $variant_data = \App\Variant::find($product_variant_data->variant_id);
                                                                    $product_data->code = $product_variant_data->item_code ?? "";
                                                                    $product_data->name =  $variant_data->name ?? "";
                                                                } else {
                                                                    $product_data->code = "";
                                                                    $product_data->name = "";
                                                                }
                                                            }
                                                            
                                                            $tax = DB::table('taxes')->where('rate', $product_purchase->tax_rate)->first();

                                                            $units = DB::table('units')->where('base_unit', $product_data->unit_id)->orWhere('id', $product_data->unit_id)->get();

                                                            $unit_name = array();
                                                            $unit_operator = array();
                                                            $unit_operation_value = array();

                                                            foreach($units as $unit) {
                                                                if($product_purchase->purchase_unit_id == $unit->id) {
                                                                    array_unshift($unit_name, $unit->unit_name);
                                                                    array_unshift($unit_operator, $unit->operator);
                                                                    array_unshift($unit_operation_value, $unit->operation_value);
                                                                }
                                                                else {
                                                                    $unit_name[]  = $unit->unit_name;
                                                                    $unit_operator[] = $unit->operator;
                                                                    $unit_operation_value[] = $unit->operation_value;
                                                                }
                                                            }
                                                            if($product_data->tax_method == 1){
                                                                $product_cost = ($product_purchase->net_unit_cost + ($product_purchase->discount / $product_purchase->qty)) / $unit_operation_value[0];
                                                            }
                                                            else{
                                                                $product_cost = (($product_purchase->total + ($product_purchase->discount / $product_purchase->qty)) / $product_purchase->qty) / $unit_operation_value[0];
                                                            }


                                                            $temp_unit_name = $unit_name = implode(",",$unit_name) . ',';
                                                            $temp_unit_operator = $unit_operator = implode(",",$unit_operator) .',';
                                                            $temp_unit_operation_value = $unit_operation_value =  implode(",",$unit_operation_value) . ',';
                                                        ?>
                                                            <td>{{$product_data->name}} <button type="button" class="edit-product btn btn-link" data-toggle="modal" data-target="#editModal"> <i class="dripicons-document-edit"></i></button> </td>
                                                            <td>{{$product_data->code}}</td>
                                                            <td><input type="number" class="form-control qty" name="qty[]" value="{{$product_purchase->qty}}" step="any" required /></td>
                                                            <td class="recieved-product-qty d-none"><input type="number" class="form-control recieved" name="recieved[]" value="{{$product_purchase->recieved}}" step="any"/></td>
                                                            <td class="net_unit_cost">{{ number_format($product_purchase->net_unit_cost, 2, ',', '.') }} </td>
                                                            <td class="total_cost">{{ number_format($product_purchase->total_cost_unit, 2, ',', '.') }} </td>
                                                            <td><input type="number" class="form-control no-border discount_percent" name="discount_percent[]" value="{{$product_purchase->discount_percent}}" step="any" required/></td>
                                                            <td class="discount">{{ number_format((float)($product_purchase->discount), 0, '.', '.') }}</td>
                                                            <td><input type="number" class="form-control no-border tax_VAT" name="tax[]" value="{{$product_purchase->tax}}" step="any" required/></td></td>
                                                            <td><input type="number" class="form-control no-border tax_import" name="tax_import[]" value="{{$product_purchase->tax_import}}" step="any" required/></td></td>
                                                            <td class="allocation_cost">{{ number_format((float)($product_purchase->allocation_cost), 0, '.', '.') ?? 0 }}</td>
                                                            <td class="sub-total">{{ number_format((float)($product_purchase->total), 0, '.', '.') }}</td>
                                                            <td><input type="text" class="form-control no-border" name="package_number[]"  value="{{$product_purchase->package_number}}"/></td>
                                                            <td><input type="text" class="form-control no-border" name="lot_number[]"  value="{{$product_purchase->lot_number}}"/></td>
                                                            <td><input type="text" class="form-control no-border" name="serial_number[]"  value="{{$product_purchase->serial_number}}"/></td>
                                                            <td><input type="text" class="form-control no-border" name="batch_number[]"  value="{{$product_purchase->batch_number}}"/></td>
                                                            <td><input type="text" class="form-control no-border" name="made_in[]"  value="{{$product_purchase->made_in}}"/></td>
                                                            <td><input type="text" class="form-control no-border manufacturing_date" name="manufacturing_date[]"  value="{{$product_purchase->manufacturing_date?\Carbon\Carbon::parse($product_purchase->manufacturing_date)->format($date_format->date_format):''}}"/></td>
                                                            <td><input type="text" class="form-control no-border expiry_date" name="expiry_date[]"  value="{{$product_purchase->expiry_date?\Carbon\Carbon::parse($product_purchase->expiry_date)->format($date_format->date_format):''}}"/></td>
                                                            <td><input type="text" class="form-control no-border" name="circulation_number[]"  value="{{$product_purchase->circulation_number}}"/></td>
                                                            <td><input type="text" class="form-control no-border" name="classify[]"  value="{{$product_purchase->classify}}"/></td>
                                                            <td><input type="text" class="form-control no-border" name="manufacturer[]"  value="{{$product_purchase->manufacturer}}"/></td>
                                                            <td><input type="text" class="form-control no-border" name="address_manufacturer[]"  value="{{$product_purchase->address_manufacturer}}"/></td>
                                                            <td><input type="text" class="form-control no-border" name="owner_circulation_number[]"  value="{{$product_purchase->owner_circulation_number}}"/></td>
                                                            <td><input type="text" class="form-control no-border" name="address_circulation[]"  value="{{$product_purchase->address_circulation}}"/></td>
                                                            <td><input type="text" class="form-control no-border" name="contract_number[]" value="{{$product_purchase->contract_number}}"/></td>
                                                            <td><input type="text" class="form-control no-border" name="invoice_number[]" value="{{$product_purchase->invoice_number}}"/></td>
                                                            <td><input type="text" class="form-control no-border invoice_date" name="invoice_date[]" value="{{$product_purchase->invoice_date?\Carbon\Carbon::parse($product_purchase->invoice_date)->format($date_format->date_format):''}}"/></td>
                                                            <td><input type="text" class="form-control no-border" name="oc_number[]" value="{{$product_purchase->oc_number}}"/></td>
                                                            <td><input type="text" class="form-control no-border" name="tr_number[]" value="{{$product_purchase->tr_number}}"/></td>                                                          
                                                            <td><button type="button" class="ibtnDel btn btn-md btn-danger">{{trans("file.delete")}}</button></td>
                                                            <input type="hidden" class="product-id" name="product_id[]" value="{{$product_data->id}}"/>
                                                            <input type="hidden" class="product-code" name="product_code[]" value="{{$product_data->code}}"/>
                                                            <input type="hidden" class="product-cost" name="product_cost[]" value="{{ $product_purchase->net_unit_cost}}"/>
                                                            <input type="hidden" class="purchase-unit" name="purchase_unit[]" value="{{$unit_name}}"/>
                                                            <input type="hidden" class="purchase-unit-operator" value="{{$unit_operator}}"/>
                                                            <input type="hidden" class="purchase-unit-operation-value" value="{{$unit_operation_value}}"/>
                                                            <input type="hidden" class="net_unit_cost" name="net_unit_cost[]" value="{{$product_purchase->net_unit_cost}}" />
                                                            <input type="hidden" class="discount-value" name="discount[]" value="{{$product_purchase->discount}}" />
                                                            <input type="hidden" class="tax-rate" name="tax_rate[]" value="{{$product_purchase->tax_rate}}"/>

                                                            @if($tax)
                                                            <input type="hidden" class="tax-name" value="{{$tax->name}}" />
                                                            @else
                                                            <input type="hidden" class="tax-name" value="No Tax" />
                                                            @endif
                                                            <input type="hidden" class="tax-method" value="{{$product_data->tax_method}}"/>
                                                            <input type="hidden" class="subtotal-value" name="subtotal[]" value="{{$product_purchase->total}}" />
                                                            <input type="hidden" class="allocation_cost-value" name="allocation_cost[]" value="{{$product_purchase->allocation_cost}}" />
                                                            <input type="hidden" class="total_cost_unit" name="total_cost_unit[]" value="{{$product_purchase->total_cost_unit}}" />
                                                        <?php } ?>
                                                    </tr>
                                                    @endforeach
                                                </tbody>
                                                <tfoot class="tfoot active">
                                                    <th colspan="2">{{trans('file.Total')}}</th>
                                                    <th id="total-qty">{{$lims_purchase_data->total_qty}}</th>
                                                    <th></th>
                                                    <th id="total-currency-cost">{{number_format($lims_purchase_data->total_currency_cost, 2, ',', '.') }}</th>
                                                    <th></th>
                                                    <th class="recieved-product-qty d-none"></th>
                                                    <th id="total-discount">{{number_format((float)($lims_purchase_data->total_discount), 0, '.', '.')}}</th>
                                                    <th id="total-tax">{{number_format((float)($lims_purchase_data->total_tax), 0, '.', '.')}}</th>
                                                    <th id="total-tax-import">{{number_format((float)($lims_purchase_data->total_tax_import), 0, '.', '.')}}</th>
                                                    <th></th>
                                                    <th id="total" colspan="16">{{number_format((float)($lims_purchase_data->total_cost), 0, '.', '.')}}</th>
                                                </tfoot>
                                            </table>
                                        </div>
                                    </div>
                                </div>
                                <div class="row">
                                    <div class="col-md-2">
                                        <div class="form-group">
                                            <input type="hidden" name="total_qty" value="{{$lims_purchase_data->total_qty}}" />
                                        </div>
                                    </div>
                                    <div class="col-md-2">
                                        <div class="form-group">
                                            <input type="hidden" name="total_currency_cost" value="{{$lims_purchase_data->total_currency_cost}}" />
                                        </div>
                                    </div>
                                    <div class="col-md-2">
                                        <div class="form-group">
                                            <input type="hidden" name="total_discount" value="{{$lims_purchase_data->total_discount}}" />
                                        </div>
                                    </div>
                                    <div class="col-md-2">
                                        <div class="form-group">
                                            <input type="hidden" name="total_tax" value="{{$lims_purchase_data->total_tax}}" />
                                        </div>
                                    </div>
                                    <div class="col-md-2">
                                        <div class="form-group">
                                            <input type="hidden" name="total_cost" value="{{$lims_purchase_data->total_cost}}" />
                                        </div>
                                    </div>
                                    <div class="col-md-2">
                                        <div class="form-group">
                                            <input type="hidden" name="total_tax_import" value="{{$lims_purchase_data->total_tax_import}}" />
                                        </div>
                                    </div>
                                    <div class="col-md-2">
                                        <div class="form-group">
                                            <input type="hidden" name="item" value="{{$lims_purchase_data->item}}" />
                                            <input type="hidden" name="order_tax" value="{{$lims_purchase_data->order_tax}}"/>
                                        </div>
                                    </div>
                                    <div class="col-md-2">
                                        <div class="form-group">
                                            <input type="hidden" name="grand_total" value="{{$lims_purchase_data->grand_total}}" />
                                            <input type="hidden" name="paid_amount" value="{{$lims_purchase_data->paid_amount}}" />
                                        </div>
                                    </div>
                                </div>
                                <div class="row mt-5">
                                    <div class="col-md-3">
                                        <div class="form-group">
                                            <label>{{trans('file.Order Tax')}}</label>
                                            <input type="hidden" name="order_tax_rate_hidden" value="{{$lims_purchase_data->order_tax_rate}}">
                                            <select class="form-control" name="order_tax_rate">
                                                <option value="0">{{trans('file.No Tax')}}</option>
                                                @foreach($lims_tax_list as $tax)
                                                <option value="{{$tax->rate}}">{{$tax->name}}</option>
                                                @endforeach
                                            </select>
                                        </div>
                                    </div>
                                    <div class="col-md-3">
                                        <div class="form-group">
                                            <label>
                                                <strong>{{trans('file.Discount')}}</strong>
                                            </label>
                                            <input type="number" name="order_discount" class="form-control" value="{{$lims_purchase_data->order_discount}}" step="any" />
                                        </div>
                                    </div>
                                    <div class="col-md-3">
                                        <div class="form-group">
                                            <label>
                                                <strong>{{trans('file.Shipping Cost')}}</strong>
                                            </label>
                                            <input type="number" name="shipping_cost" class="form-control" value="{{$lims_purchase_data->shipping_cost}}" step="any" />
                                        </div>
                                    </div>
                                    <div class="col-md-3">
                                        <div class="form-group">
                                            <label>
                                                <strong>{{trans('file.Total Allocation Costs')}}</strong>
                                            </label>
                                            <input type="number" name="total_allocation_cost" class="form-control" value="{{$lims_purchase_data->total_allocation_cost}}" step="any" />
                                        </div>
                                    </div>
                                </div>
                                <div class="row">
                                    <div class="col-md-12">
                                        <div class="form-group">
                                            <label>{{trans('file.Note')}}</label>
                                            <textarea rows="5" class="form-control" name="note" >{{ $lims_purchase_data->note }}</textarea>
                                        </div>
                                    </div>
                                </div>
                                <div class="form-group">
                                    <input type="submit" value="{{trans('file.submit')}}" class="btn btn-primary" id="submit-button">
                                </div>
                            </div>
                        </div>
                        {!! Form::close() !!}
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container-fluid">
        <table class="table table-bordered table-condensed totals">
            <td><strong>{{trans('file.Items')}}</strong>
                <span class="pull-right" id="item">0</span>
            </td>
            <td><strong>{{trans('file.Total')}}</strong>
                <span class="pull-right" id="subtotal">0</span>
            </td>
            <td><strong>{{trans('file.Order Tax')}}</strong>
                <span class="pull-right" id="order_tax">0</span>
            </td>
            <td><strong>{{trans('file.Order Discount')}}</strong>
                <span class="pull-right" id="order_discount">0</span>
            </td>
            <td><strong>{{trans('file.Shipping Cost')}}</strong>
                <span class="pull-right" id="shipping_cost">0</span>
            </td>
            <td><strong>{{trans('file.grand total')}}</strong>
                <span class="pull-right" id="grand_total">0</span>
            </td>
        </table>
    </div>
    <div id="editModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true" class="modal fade text-left">
        <div role="document" class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 id="modal_header" class="modal-title"></h5>
                    <button type="button" data-dismiss="modal" aria-label="Close" class="close"><span aria-hidden="true"><i class="dripicons-cross"></i></span></button>
                </div>
                <div class="modal-body">
                    <form>
                        <div class="form-group">
                            <label>{{trans('file.Quantity')}}</label>
                            <input type="number" name="edit_qty" class="form-control" step="any">
                        </div>
                        <div class="form-group">
                            <label>{{trans('file.Unit Discount')}}</label>
                            <input type="number" name="edit_discount" class="form-control" step="any">
                        </div>
                        <div class="form-group">
                            <label>{{trans('file.Unit Cost')}}</label>
                            <input type="number" name="edit_unit_cost" class="form-control" step="any">
                        </div>
                        <?php
                            $tax_name_all[] = 'No Tax';
                            $tax_rate_all[] = 0;
                            foreach($lims_tax_list as $tax) {
                                $tax_name_all[] = $tax->name;
                                $tax_rate_all[] = $tax->rate;
                            }
                        ?>
                            <div class="form-group">
                                <label>{{trans('file.Tax Rate')}}</label>
                                <select name="edit_tax_rate" class="form-control selectpicker">
                                    @foreach($tax_name_all as $key => $name)
                                    <option value="{{$key}}">{{$name}}</option>
                                    @endforeach
                                </select>
                            </div>
                            <div class="form-group">
                                <label>{{trans('file.Product Unit')}}</label>
                                <select name="edit_unit" class="form-control selectpicker">
                                </select>
                            </div>
                            <button type="button" name="update_btn" class="btn btn-primary">{{trans('file.update')}}</button>
                    </form>
                </div>
            </div>
        </div>
    </div>
</section>

<script type="text/javascript">
    $("ul#inventory").siblings('a').addClass("active");
    $("ul#inventory").addClass("show");

    $( "span.selection" ).css( "width", "100%" );
    $( ".select2-container .select2-selection--single" ).css({"height":"38px", "padding": "4px 0 6px" });
    $( ".select2-selection__arrow" ).css( "top", "5px" );
    $( ".select2-container--default .select2-selection--single").css({"borderColor": "#e4e6fc", "backgroundColor": "#fdfdff"});
    $( ".select2-selection__placeholder").css({"fontSize": "14px"});

    // array data depend on warehouse
    var lims_product_array = [];
    var product_code = [];
    var product_name = [];
    var product_qty = [];

    // array data with selection
    var discount_percent = [];
    var product_cost = [];
    var product_discount = [];
    var tax_rate = [];
    var tax_name = [];
    var tax_method = [];
    var unit_name = [];
    var unit_operator = [];
    var unit_operation_value = [];

    // temporary array
    var temp_unit_name = [];
    var temp_unit_operator = [];
    var temp_unit_operation_value = [];
    var currency_exchange_rate = $('input[name="exchange_rate_amount"]').val() ?? 1;   
    var currency_code;
    var tax_import = [];
    var tax_VAT = [];

    var rowindex;
    var row_product_cost;

    var rownumber = $('table.order-list tbody tr:last').index();
    for (rowindex = 0; rowindex <= rownumber; rowindex++) {
        var currentRow = $('table.order-list tbody tr:nth-child(' + (rowindex + 1) + ')');

        product_cost.push(parseFloat(currentRow.find('.product-cost').val()));
        var total_discount = parseFloat(currentRow.find('.discount').text());
        var quantity = parseFloat(currentRow.find('.qty').val());
        product_discount.push((total_discount / quantity).toFixed(0));
        discount_percent.push(parseFloat(currentRow.find('.discount_percent').val()));
        tax_rate.push(parseFloat(currentRow.find('.tax-rate').val()));
        tax_name.push(currentRow.find('.tax-name').val());
        tax_VAT.push(currentRow.find('.tax_VAT').val());
        tax_import.push(currentRow.find('.tax_import').val());
        tax_method.push(currentRow.find('.tax-method').val());
        temp_unit_name = currentRow.find('.purchase-unit').val().split(',');
        unit_name.push(currentRow.find('.purchase-unit').val());
        unit_operator.push(currentRow.find('.purchase-unit-operator').val());
        unit_operation_value.push(currentRow.find('.purchase-unit-operation-value').val());
        currentRow.find('.purchase-unit').val(temp_unit_name[0]);
    }

    $('.selectpicker').selectpicker({
        style: 'btn-link',
    });

    $('[data-toggle="tooltip"]').tooltip();

    $('.manufacturing_date').datepicker({
        format: "{{$date_format->js_format ?? 'dd/mm/yyyy'}}",
        autoclose: true,
        todayHighlight: true
    });
    $('.expiry_date').datepicker({
        format: "{{$date_format->js_format ?? 'dd/mm/yyyy'}}",
        autoclose: true,
        todayHighlight: true
    });

    $('.invoice_date').datepicker({
        format: "{{$date_format->js_format ?? 'dd/mm/yyyy'}}",
        autoclose: true,
        todayHighlight: true
    });

    $('#purchase_date').datepicker({
        format: "{{$date_format->js_format ?? 'dd/mm/yyyy'}}",
        autoclose: true,
        todayHighlight: true 
        
    });
    $('#purchase_date').datepicker({ format: "{{$date_format->js_format ?? 'dd/mm/yyyy'}}" }).datepicker('setDate', new Date($('input[name="updated_at_hidden"]').val())); 
    $('#purchase_date').on("change", function(){
        $(this).val();
    }); 
    //assigning value
    $('select[name="supplier_id"]').val($('input[name="supplier_id_hidden"]').val());
    $('select[name="warehouse_id"]').val($('input[name="warehouse_id_hidden"]').val());
    $('select[name="currency_id"]').val($('input[name="currency_id_hidden"]').val());
    $('select[name="status"]').val($('input[name="status_hidden"]').val());
    $('select[name="order_tax_rate"]').val($('input[name="order_tax_rate_hidden"]').val());
    $('select[name="purchase_status"]').val($('input[name="purchase_status_hidden"]').val());
    $('.selectpicker').selectpicker('refresh');

    $('#item').text($('input[name="item"]').val() + '(' + $('input[name="total_qty"]').val() + ')');
    $('#subtotal').text(parseFloat($('input[name="total_cost"]').val()).toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1."));
    $('#order_tax').text(parseFloat($('input[name="order_tax"]').val()).toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1."));
    if ($('select[name="status"]').val() == 2) {
        $(".recieved-product-qty").removeClass("d-none");

    }
    if (!$('input[name="order_discount"]').val())
        $('input[name="order_discount"]').val('0');
    $('#order_discount').text(parseFloat($('input[name="order_discount"]').val()).toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1."));
    if (!$('input[name="shipping_cost"]').val())
        $('input[name="shipping_cost"]').val('0');
    $('#shipping_cost').text(parseFloat($('input[name="shipping_cost"]').val()).toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1."));
    $('#grand_total').text(parseFloat($('input[name="grand_total"]').val()).toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1."));

    $('select[name="status"]').on('change', function () {
        if ($('select[name="status"]').val() == 2) {
            $(".recieved-product-qty").removeClass("d-none");
            $(".qty").each(function () {
                rowindex = $(this).closest('tr').index();
                $('table.order-list tbody tr:nth-child(' + (rowindex + 1) + ')').find('.recieved').val($(this).val());
            });

        } else if (($('select[name="status"]').val() == 3) || ($('select[name="status"]').val() == 4)) {
            $(".recieved-product-qty").addClass("d-none");
            $(".recieved").each(function () {
                $(this).val(0);
            });
        } else {
            $(".recieved-product-qty").addClass("d-none");
            $(".qty").each(function () {
                rowindex = $(this).closest('tr').index();
                $('table.order-list tbody tr:nth-child(' + (rowindex + 1) + ')').find('.recieved').val($(this).val());
            });
        }
    });

    $('select[name="currency_id"]').on("change", function() {  
        var currency_id = $(this).val();
        if (currency_id) {
            $.get('getcurrency/' + currency_id, function(currency) {
                currency_exchange_rate = currency.exchange_rate;
                currency_code = currency.code;
                $('input[name="exchange_rate_amount"]').val(currency_exchange_rate.toFixed(0));               
            });  
        }  
    });

    $('input[name="exchange_rate_amount"]').on("change", function() {  
        var currency_value = $(this).val();
        if (currency_value > 0) {
            currency_exchange_rate = currency_value;
        }  else {
            $('input[name="exchange_rate_amount"]').val(0)
            alert("Exchange rate can't be less than 0");
        }
    });

    var lims_product_code = [
        @foreach($lims_product_list_without_variant as $product)
        <?php
        $productArray[] = htmlspecialchars($product->code . ' (' . $product->name . ')');
        ?>
        @endforeach
        @foreach($lims_product_list_with_variant as $product)
        <?php
        $productArray[] = htmlspecialchars($product->item_code . ' (' . $product->name . ')');
        ?>
        @endforeach
        <?php
        echo '"' . implode('","', $productArray) . '"';
        ?>
    ];

    var lims_productcodeSearch = $('#lims_productcodeSearch');
    lims_productcodeSearch.autocomplete({
        source: function (request, response) {
            var matcher = new RegExp(".?" + $.ui.autocomplete.escapeRegex(request.term), "i");
            response($.grep(lims_product_code, function (item) {
                return matcher.test(item);
            }));
        },
        response: function (event, ui) {
            if (ui.content.length == 1) {
                var data = ui.content[0].value;
                $(this).autocomplete("close");
                productSearch(data);
            }
            ;
        },
        select: function (event, ui) {
            var data = ui.item.value;
            productSearch(data);
        }
    });


    // Change quantity
    $("#myTable").on('input', '.qty', function () {
        rowindex = $(this).closest('tr').index();
        if (parseInt($(this).val()) < 1) {
            $('table.order-list tbody tr:nth-child(' + (rowindex + 1) + ') .qty').val(1);
            alert("Quantity can't be less than 1");
        }
        checkQuantity($(this).val());
    });

    // Change discount percent
    $("#myTable").on('input', '.discount_percent', function () {
        rowindex = $(this).closest('tr').index();
        var currentRow = $('table.order-list tbody tr:nth-child(' + (rowindex + 1) + ')');
        var purchase_qty = parseInt(currentRow.find('.qty').val());
        if (parseFloat($(this).val()) < 0) {
            currentRow.find('.discount_percent').val(0);
            alert("Percent can't be less than 0");
        }

        checkDiscountPercent(purchase_qty, parseFloat($(this).val()));
    });

    // Change tax import
    $("#myTable").on('input', '.tax_import', function () {
        rowindex = $(this).closest('tr').index();
        var currentRow = $('table.order-list tbody tr:nth-child(' + (rowindex + 1) + ')');
        var tax_import = parseInt(currentRow.find('.tax_import').val());
        var purchase_qty = parseInt(currentRow.find('.qty').val());
        if (parseFloat($(this).val()) < 0) {
            currentRow.find('.tax_import').val(0);
            alert("Tax import can't be less than 0");
        } 
        checkTaxImport(purchase_qty, parseFloat($(this).val()));  
    });

    // Change tax VAT
    $("#myTable").on('input', '.tax_VAT', function () {
        rowindex = $(this).closest('tr').index();
        var currentRow = $('table.order-list tbody tr:nth-child(' + (rowindex + 1) + ')');
        var tax = parseInt(currentRow.find('.tax_VAT').val());
        var purchase_qty = parseInt(currentRow.find('.qty').val());
        if (parseFloat($(this).val()) < 0) {
            currentRow.find('.tax_VAT').val(0);
            alert("Tax VAT can't be less than 0");
        } 
        checkTaxVAT(purchase_qty, parseFloat($(this).val()));  
    });


    //Delete product
    $("table.order-list tbody").on("click", ".ibtnDel", function (event) {
        rowindex = $(this).closest('tr').index();
        product_cost.splice(rowindex, 1);
        discount_percent.splice(rowindex, 1);
        product_discount.splice(rowindex, 1);
        tax_import.splice(rowindex, 1);
        tax_VAT.splice(rowindex, 1);
        tax_rate.splice(rowindex, 1);
        tax_name.splice(rowindex, 1);
        tax_method.splice(rowindex, 1);
        unit_name.splice(rowindex, 1);
        unit_operator.splice(rowindex, 1);
        unit_operation_value.splice(rowindex, 1);
        $(this).closest("tr").remove();
        calculateTotal();
    });

    //Edit product
    $("table.order-list").on("click", ".edit-product", function () {
        rowindex = $(this).closest('tr').index();
        var row_product_name = $('table.order-list tbody tr:nth-child(' + (rowindex + 1) + ')').find('td:nth-child(1)').text();
        var row_product_code = $('table.order-list tbody tr:nth-child(' + (rowindex + 1) + ')').find('td:nth-child(2)').text();
        $('#modal_header').text(row_product_name + '(' + row_product_code + ')');

        var qty = $(this).closest('tr').find('.qty').val();
        $('input[name="edit_qty"]').val(qty);

        $('input[name="edit_discount"]').val(parseFloat(product_discount[rowindex]).toFixed(2));

        unitConversion();
        $('input[name="edit_unit_cost"]').val(row_product_cost.toFixed(2));

        var tax_name_all = <?php echo json_encode($tax_name_all) ?>;
        var pos = tax_name_all.indexOf(tax_name[rowindex]);
        $('select[name="edit_tax_rate"]').val(pos);

        temp_unit_name = (unit_name[rowindex]).split(',');
        temp_unit_name.pop();
        temp_unit_operator = (unit_operator[rowindex]).split(',');
        temp_unit_operator.pop();
        temp_unit_operation_value = (unit_operation_value[rowindex]).split(',');
        temp_unit_operation_value.pop();
        $('select[name="edit_unit"]').empty();
        $.each(temp_unit_name, function (key, value) {
            $('select[name="edit_unit"]').append('<option value="' + key + '">' + value + '</option>');
        });
        $('.selectpicker').selectpicker('refresh');
    });

    //Update product
    $('button[name="update_btn"]').on("click", function () {
        var edit_discount = parseFloat($('input[name="edit_discount"]').val());
        var edit_qty = parseInt($('input[name="edit_qty"]').val());
        var edit_unit_cost = parseFloat($('input[name="edit_unit_cost"]').val());
        var currentRow = $('table.order-list tbody tr:nth-child(' + (rowindex + 1) + ')');

        if (edit_discount > edit_unit_cost) {
            alert("Discount can't be greater than cost!");
            return;
        }

        if (edit_qty < 1) {
            $('input[name="edit_qty"]').val(1);
            edit_qty = 1;
            alert("Quantity can't be less than 1");
        }

        var row_unit_operator = unit_operator[rowindex].slice(0, unit_operator[rowindex].indexOf(","));
        var row_unit_operation_value = unit_operation_value[rowindex].slice(0, unit_operation_value[rowindex].indexOf(","));
        row_unit_operation_value = parseFloat(row_unit_operation_value);
        var tax_rate_all = <?php echo json_encode($tax_rate_all) ?>;

        tax_rate[rowindex] = parseFloat(tax_rate_all[$('select[name="edit_tax_rate"]').val()]);
        tax_name[rowindex] = $('select[name="edit_tax_rate"] option:selected').text();

        if (row_unit_operator == '*') {
            product_cost[rowindex] = $('input[name="edit_unit_cost"]').val() / row_unit_operation_value;
        } else {
            product_cost[rowindex] = $('input[name="edit_unit_cost"]').val() * row_unit_operation_value;
        }

        product_discount[rowindex] = $('input[name="edit_discount"]').val();
        discount_percent[rowindex] = edit_discount * 100 / edit_unit_cost;
        currentRow.find('.discount_percent').val(discount_percent[rowindex].toFixed(2));

        var position = $('select[name="edit_unit"]').val();
        var temp_operator = temp_unit_operator[position];
        var temp_operation_value = temp_unit_operation_value[position];
        currentRow.find('.purchase-unit').val(temp_unit_name[position]);
        temp_unit_name.splice(position, 1);
        temp_unit_operator.splice(position, 1);
        temp_unit_operation_value.splice(position, 1);

        temp_unit_name.unshift($('select[name="edit_unit"] option:selected').text());
        temp_unit_operator.unshift(temp_operator);
        temp_unit_operation_value.unshift(temp_operation_value);

        unit_name[rowindex] = temp_unit_name.toString() + ',';
        unit_operator[rowindex] = temp_unit_operator.toString() + ',';
        unit_operation_value[rowindex] = temp_unit_operation_value.toString() + ',';
        checkQuantity(edit_qty);
    });

    function productSearch(data) {
        $.ajax({
            type: 'GET',
            url: '{{route('product_purchase.search')}}',
            data: {
                data: data
            },
            success: function (data) {
                $("input[name='product_code_name']").val('');
                var newRow = $("<tr>");
                var cols = '';
                temp_unit_name = (data[6]).split(',');
                cols += '<td>' + data[0] + '<button type="button" class="edit-product btn btn-link" data-toggle="modal" data-target="#editModal"> <i class="dripicons-document-edit"></i></button></td>';
                cols += '<td>' + data[1] + '</td>';
                cols += '<td><input type="number" class="form-control no-border qty" name="qty[]" value="1" step="any" required/></td>';
                if ($('select[name="status"]').val() == 1)
                    cols += '<td class="recieved-product-qty d-none"><input type="number" class="form-control recieved" name="recieved[]" value="1" step="any"/></td>';
                else if ($('select[name="status"]').val() == 2)
                    cols += '<td class="recieved-product-qty"><input type="number" class="form-control recieved" name="recieved[]" value="1" step="any"/></td>';
                else
                    cols += '<td class="recieved-product-qty d-none"><input type="number" class="form-control recieved" name="recieved[]" value="0" step="any"/></td>';
                
                cols += '<td class="net_unit_cost"></td>';
                cols += '<td class="total_cost"></td>';
                cols += '<td><input type="number" class="form-control no-border discount_percent" name="discount_percent[]" value="0" required/></td>';
                cols += '<td class="discount">0</td>';

                cols += '<td><input type="number" class="form-control no-border tax_VAT" name="tax[]" value="0" required/></td>';
                cols += '<td><input type="number" class="form-control no-border tax_import" name="tax_import[]" value="0" required/></td>';
                cols += '<td class="allocation_cost">0</td>';
                cols += '<td class="sub-total">0</td>';
                cols += '<td><input type="text" class="form-control no-border" name="package_number[]"/></td>';
                cols += '<td><input type="text" class="form-control no-border" name="lot_number[]"/></td>';
                cols += '<td><input type="text" class="form-control no-border" name="serial_number[]"/></td>';
                cols += '<td><input type="text" class="form-control no-border" name="batch_number[]"/></td>';
                cols += '<td><input type="text" class="form-control no-border" name="made_in[]"/></td>';
                cols += '<td><input type="text" class="form-control no-border manufacturing_date" name="manufacturing_date[]"/></td>';
                cols += '<td><input type="text" class="form-control no-border expiry_date" name="expiry_date[]"/></td>';
                cols += '<td><input type="text" class="form-control no-border" name="circulation_number[]"/></td>';
                cols += '<td><input type="text" class="form-control no-border" name="classify[]"/></td>';
                cols += '<td><input type="text" class="form-control no-border" name="manufacturer[]"/></td>';
                cols += '<td><input type="text" class="form-control no-border" name="address_manufacturer[]"/></td>';
                cols += '<td><input type="text" class="form-control no-border" name="owner_circulation_number[]"/></td>';
                cols += '<td><input type="text" class="form-control no-border" name="address_circulation[]"/></td>';
                cols += '<td><input type="text" class="form-control no-border" name="contract_number[]"/></td>';
                cols += '<td><input type="text" class="form-control no-border" name="invoice_number[]"/></td>';
                cols += '<td><input type="text" class="form-control no-border invoice_date" name="invoice_date[]"/></td>';
                cols += '<td><input type="text" class="form-control no-border" name="oc_number[]"/></td>';
                cols += '<td><input type="text" class="form-control no-border" name="tr_number[]"/></td>';
                cols += '<td><button type="button" class="ibtnDel btn btn-md btn-danger">{{trans("file.delete")}}</button></td>';

                cols += '<input type="hidden" class="product-code" name="product_code[]" value="' + data[1] + '"/>';
                cols += '<input type="hidden" class="product-id" name="product_id[]" value="' + data[9] + '"/>';
                cols += '<input type="hidden" class="purchase-unit" name="purchase_unit[]" value="' + temp_unit_name[0] + '"/>';
                cols += '<input type="hidden" class="net_unit_cost" name="net_unit_cost[]" />';
                cols += '<input type="hidden" class="discount_value" name="discount[]" />';
                cols += '<input type="hidden" class="tax-rate" name="tax_rate[]" value="' + data[3] + '"/>';
                cols += '<input type="hidden" class="subtotal-value" name="subtotal[]" />';
                cols += '<input type="hidden" class="allocation_cost-value" name="allocation_cost[]" />';
                cols += '<input type="hidden" class="total_cost_unit" name="total_cost_unit[]" />';

                newRow.append(cols);
                $("table.order-list tbody").append(newRow);
                $('.manufacturing_date').datepicker({
                    format: "{{$date_format->js_format ?? 'dd/mm/yyyy'}}",
                    autoclose: true,
                    todayHighlight: true
                });
                $('.expiry_date').datepicker({
                    format: "{{$date_format->js_format ?? 'dd/mm/yyyy'}}",
                    autoclose: true,
                    todayHighlight: true
                });
                $('.invoice_date').datepicker({
                    format: "{{$date_format->js_format ?? 'dd/mm/yyyy'}}",
                    autoclose: true,
                    todayHighlight: true
                });

                product_cost.push(parseFloat(data[2]));
                product_discount.push('0');
                discount_percent.push('0');
                tax_import.push('0');
                tax_VAT.push('0');
                tax_rate.push(parseFloat(data[3]));
                tax_name.push(data[4]);
                tax_method.push(data[5]);
                unit_name.push(data[6]);
                unit_operator.push(data[7]);
                unit_operation_value.push(data[8]);
                rowindex = newRow.index();
                calculateRowProductData(1);
            
            }
        });
    }

    function checkQuantity(purchase_qty) {
        var currentRow = $('table.order-list tbody tr:nth-child(' + (rowindex + 1) + ')');
        var operator = unit_operator[rowindex].split(',');
        var operation_value = unit_operation_value[rowindex].split(',');
        if (operator[0] == '*')
            total_qty = purchase_qty * operation_value[0];
        else if (operator[0] == '/')
            total_qty = purchase_qty / operation_value[0];

        $('#editModal').modal('hide');
        currentRow.find('.qty').val(purchase_qty);
        var status = parseInt($('select[name="status"]').val());
        if (status === 1 || status === 2)
            currentRow.find('.recieved').val(purchase_qty);
        calculateRowProductData(purchase_qty);
    }

    function checkDiscountPercent(purchase_qty, percent) {
        discount_percent[rowindex] = percent
        checkQuantity(purchase_qty);
    }

    function checkTaxImport(purchase_qty, fee) {
        tax_import[rowindex] = fee
        checkQuantity(purchase_qty);
    }

    function checkTaxVAT(purchase_qty, taxVAT) {
        tax_VAT[rowindex] = taxVAT; 
        checkQuantity(purchase_qty);
    }

    function calculateRowProductData(quantity) {
        unitConversion();
        var currentRow = $('table.order-list tbody tr:nth-child(' + (rowindex + 1) + ')');
        var discount = 0;
        var percent = discount_percent[rowindex];
        if (percent !== 0) {
            discount = product_cost[rowindex] * (percent / 100) * currency_exchange_rate;
        }
        var total_discount_costs = discount * quantity;
        var rate = tax_rate[rowindex].toFixed(0);

        currentRow.find('.discount').text(total_discount_costs.toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1."));
        currentRow.find('.discount_value').val(total_discount_costs.toFixed(0));
        currentRow.find('.tax-rate').val(rate);

        var fee_import = parseFloat(tax_import[rowindex]);
        var fee_VAT= parseFloat(tax_VAT[rowindex]);
        
        var total_cost_currency = row_product_cost * quantity;
        var sub_total = (total_cost_currency * currency_exchange_rate) + fee_import + fee_VAT - total_discount_costs;

        currentRow.find('.net_unit_cost').text(row_product_cost.toLocaleString('de-DE', { minimumFractionDigits: 2 })).val(row_product_cost.toFixed(2));
        currentRow.find('.total_cost').text(total_cost_currency.toLocaleString('de-DE', { minimumFractionDigits: 2 })).val(total_cost_currency.toFixed(2));
        currentRow.find('.sub-total').text(sub_total.toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1."));
        currentRow.find('.subtotal-value').val(sub_total.toFixed(0));
        currentRow.find('.total_cost_unit').val(total_cost_currency.toFixed(2));
       
        calculateTotal();
    }

    function calculateAllocation() {
        $(".sub-total").each(function (index) {
            var subtotal = parseFloat($(this).text().replace(/\./g, ''));
            var allocation = parseFloat($('.allocation_cost').eq(index).text().replace(/\./g, ''))
            var calc = subtotal + allocation

            $('.sub-total').eq(index).text(calc.toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1."));
            $('.subtotal-value').eq(index).val(calc.toFixed(0));
            $('.allocation_cost-value').eq(index).val(allocation.toFixed(0));
        });
    
        calculateTotal();
    }

    function unitConversion() {
        var row_unit_operator = unit_operator[rowindex].slice(0, unit_operator[rowindex].indexOf(","));
        var row_unit_operation_value = unit_operation_value[rowindex].slice(0, unit_operation_value[rowindex].indexOf(","));
        row_unit_operation_value = parseFloat(row_unit_operation_value);
        if (row_unit_operator == '*') {
            row_product_cost = product_cost[rowindex] * row_unit_operation_value;
        } else {
            row_product_cost = product_cost[rowindex] / row_unit_operation_value;
        }
    }

    function calculateTotal() {
        //Sum of quantity
        var total_qty = 0;
        $(".qty").each(function () {
            if ($(this).val() == '') {
                total_qty += 0;
            } else {
                total_qty += parseFloat($(this).val());
            }
        });
        $("#total-qty").text(total_qty.toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1."));
        $('input[name="total_qty"]').val(total_qty);

        //Sum of currency cost
        var total_currency_cost = 0;
        $(".total_cost").each(function () {
            total_currency_cost  += parseFloat($(this).text().replace(/\./g, '').replace(',', '.'));
        });
        $("#total-currency-cost").text(total_currency_cost.toLocaleString('de-DE', { minimumFractionDigits: 2 }));
        $('input[name="total_currency_cost"]').val(total_currency_cost.toFixed(2));

        //Sum of tax import
        var total_tax_import = 0;
        $(".tax_import").each(function () {
            if ($(this).val() == '') {
                total_tax_import += 0;
            } else {
                total_tax_import += parseFloat($(this).val());
            }
        });
        $("#total-tax-import").text(total_tax_import.toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1."));
        $('input[name="total_tax_import"]').val(total_tax_import.toFixed(0));

        //Sum of discount
        var total_discount = 0;
        $(".discount").each(function () {
            total_discount += parseFloat($(this).text().replace(/\./g, ''));
        });
        $("#total-discount").text(total_discount.toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1."));
        $('input[name="total_discount"]').val(total_discount.toFixed(0));

        //Sum of tax
        var total_tax_VAT = 0;
        $(".tax_VAT").each(function () {
            if ($(this).val() == '') {
                total_tax_VAT += 0;
            } else {
                total_tax_VAT  += parseFloat($(this).val());
            }
        });
        $("#total-tax").text(total_tax_VAT.toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1."));
        $('input[name="total_tax"]').val(total_tax_VAT.toFixed(0));

        //Sum of subtotal
        var total = 0;
        $(".sub-total").each(function () {
            total += parseFloat($(this).text().replace(/\./g, ''));
        });
        $("#total").text(total.toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1."));
        $('input[name="total_cost"]').val(total.toFixed(0));

        calculateGrandTotal();
    }

    function calculateGrandTotal() {
        var item = $('table.order-list tbody tr:last').index();
        var total_qty = parseFloat($('#total-qty').text().replace(/\./g, ''));
        var subtotal = parseFloat($('#total').text().replace(/\./g, ''));
        var order_tax = parseFloat($('select[name="order_tax_rate"]').val());
        var order_discount = parseFloat($('input[name="order_discount"]').val());
        var shipping_cost = parseFloat($('input[name="shipping_cost"]').val());

        if (!order_discount)
            order_discount = 0;
        if (!shipping_cost)
            shipping_cost = 0;

        item = ++item + '(' + total_qty + ')';
        order_tax = (subtotal - order_discount) * (order_tax / 100);
        var grand_total = (subtotal + order_tax + shipping_cost) - order_discount;

        $('#item').text(item);
        $('input[name="item"]').val($('table.order-list tbody tr:last').index() + 1);
        $('#subtotal').text(subtotal.toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1."));
        $('#order_tax').text(order_tax.toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1."));
        $('input[name="order_tax"]').val(order_tax.toFixed(0));
        $('#order_discount').text(order_discount.toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1."));
        $('#shipping_cost').text(shipping_cost.toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1."));
        $('#grand_total').text(grand_total.toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1."));
        $('input[name="grand_total"]').val(grand_total.toFixed(0));
    }

    $('input[name="total_allocation_cost"]').on("change", function() {  
        var total_allocation_cost = parseFloat($(this).val()); 
        if( isNaN(total_allocation_cost) || total_allocation_cost < 0){
            $('input[name="total_allocation_cost"]').val(0)
            alert("Total allocation costs can't be less than 0");
            total_allocation_cost = 0;
        }

        $(".sub-total").each(function (index) {
            var total_sub = parseFloat($(this).text().replace(/\./g, ''));
            var old_allocation_cost = parseFloat($('.allocation_cost').eq(index).text().replace(/\./g, ''));
            var calc_sub = total_sub - old_allocation_cost
            $('.allocation_cost').eq(index).text(0);
            $(".sub-total").eq(index).text(calc_sub.toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1."));
            $('input[name="subtotal"]').eq(index).val(calc_sub.toFixed(0));
            $('input[name="allocation_cost"]').eq(index).val(0);
        });
        calculateAllocation()
        
        var total_cost = parseFloat($('input[name="total_cost"]').val())
        $(".sub-total").each(function (index) {
            var total_sub = parseFloat($(this).text().replace(/\./g, ''));
            var calc_sub = 0;
            if(total_cost > 0){
                calc_sub = (total_sub / total_cost) * total_allocation_cost
            }
            $('.allocation_cost').eq(index).text(calc_sub.toFixed(0).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1."));
        });
        calculateAllocation()
    });

    $('input[name="order_discount"]').on("input", function () {
        calculateGrandTotal();
    });

    $('input[name="shipping_cost"]').on("input", function () {
        calculateGrandTotal();
    });

    $('select[name="order_tax_rate"]').on("change", function () {
        calculateGrandTotal();
    });

    $(window).keydown(function (e) {
        if (e.which == 13) {
            var $targ = $(e.target);
            if (!$targ.is("textarea") && !$targ.is(":button,:submit")) {
                var focusNext = false;
                $(this).find(":input:visible:not([disabled],[readonly]), a").each(function () {
                    if (this === e.target) {
                        focusNext = true;
                    } else if (focusNext) {
                        $(this).focus();
                        return false;
                    }
                });
                return false;
            }
        }
    });

    $('#purchase-form').on('submit', function (e) {
        var rownumber = $('table.order-list tbody tr:last').index();
        if (rownumber < 0) {
            alert("Please insert product to order table!")
            e.preventDefault();
        } else if ($('select[name="status"]').val() != 1) {
            flag = 0;
            $(".qty").each(function () {
                rowindex = $(this).closest('tr').index();
                quantity = $(this).val();
                recieved = $('table.order-list tbody tr:nth-child(' + (rowindex + 1) + ')').find('.recieved').val();

                if (quantity != recieved) {
                    flag = 1;
                    return false;
                }
            });
            if (!flag) {
                alert('Quantity and Recieved value is same! Please Change Purchase Status or Recieved value');
                e.preventDefault();
            }
        }
    });
</script>
@endsection

Youez - 2016 - github.com/yon3zu
LinuXploit