|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/erp.theinteractive.co.in/resources/views/journalEntry/ |
Upload File : |
@extends('layouts.admin')
@section('page-title')
{{__('Journal Entry Edit')}}
@endsection
@section('breadcrumb')
<li class="breadcrumb-item"><a href="{{route('dashboard')}}">{{__('Dashboard')}}</a></li>
<li class="breadcrumb-item">{{__('Double Entry')}}</li>
<li class="breadcrumb-item">{{__('Journal Entry')}}</li>
@endsection
@push('script-page')
<script src="{{ asset('js/jquery.min.js') }}"></script>
<script src="{{asset('js/jquery.repeater.min.js')}}"></script>
<script src="{{ asset('js/jquery-searchbox.js') }}"></script>
<script>
var selector = "body";
if ($(selector + " .repeater").length) {
// var $dragAndDrop = $("body .repeater tbody").sortable({
// handle: '.sort-handler'
// });
var $repeater = $(selector + ' .repeater').repeater({
initEmpty: false,
defaultValues: {
'status': 1
},
show: function () {
$(this).slideDown();
var file_uploads = $(this).find('input.multi');
if (file_uploads.length) {
$(this).find('input.multi').MultiFile({
max: 3,
accept: 'png|jpg|jpeg',
max_size: 2048
});
}
// for item SearchBox ( this function is custom Js )
JsSearchBox();
if($('.select2').length) {
$('.select2').select2();
}
},
hide: function (deleteElement) {
if (confirm('Are you sure you want to delete this element?')) {
$(this).slideUp(deleteElement);
$(this).remove();
var inputs = $(".debit");
var totalDebit = 0;
for (var i = 0; i < inputs.length; i++) {
totalDebit = parseFloat(totalDebit) + parseFloat($(inputs[i]).val());
}
$('.totalDebit').html(totalDebit.toFixed(2));
var inputs = $(".credit");
var totalCredit = 0;
for (var i = 0; i < inputs.length; i++) {
totalCredit = parseFloat(totalCredit) + parseFloat($(inputs[i]).val());
}
$('.totalCredit').html(totalCredit.toFixed(2));
var id = $(this).find('.id').val();
$.ajax({
url: '{{route('journal.account.destroy')}}',
type: 'POST',
headers: {
'X-CSRF-TOKEN': jQuery('#token').val()
},
data: {
'id': id
},
cache: false,
success: function (data) {
},
});
}
},
// ready: function (setIndexes) {
// $dragAndDrop.on('drop', setIndexes);
// },
isFirstItemUndeletable: true
});
var value = $(selector + " .repeater").attr('data-value');
if (typeof value != 'undefined' && value.length != 0) {
value = JSON.parse(value);
$repeater.setList(value);
for (var i = 0; i < value.length; i++) {
var credit = value[i]['credit'];
var debit = value[i]['debit'];
if(credit > 0){
$('.credit').trigger('keyup');
}else{
// $('.debit').trigger('keyup');
}
}
}
}
$(document).on('keyup', '.debit', function () {
var el = $(this).parent().parent().parent().parent();
var debit = $(this).val();
var credit = 0;
el.find('.credit').val(credit);
el.find('.amount').html(debit);
var inputs = $(".debit");
var totalDebit = 0;
for (var i = 0; i < inputs.length; i++) {
totalDebit = parseFloat(totalDebit) + parseFloat($(inputs[i]).val());
}
$('.totalDebit').html(totalDebit.toFixed(2));
el.find('.credit').attr("disabled", true);
if (debit == '') {
el.find('.credit').attr("disabled", false);
}
})
$(document).on('keyup', '.credit', function () {
var el = $(this).parent().parent().parent().parent();
var credit = $(this).val();
var debit = 0;
el.find('.debit').val(debit);
el.find('.amount').html(credit);
var inputs = $(".credit");
var totalCredit = 0;
for (var i = 0; i < inputs.length; i++) {
totalCredit = parseFloat(totalCredit) + parseFloat($(inputs[i]).val());
}
$('.totalCredit').html(totalCredit.toFixed(2));
el.find('.debit').attr("disabled", true);
if (credit == '') {
el.find('.debit').attr("disabled", false);
}
})
var value = $(selector + " .repeater").attr('data-value');
var inputs = $(".credit");
if (typeof value != 'undefined' && value.length != 0) {
value = JSON.parse(value);
$repeater.setList(value);
for (var i = 0; i < value.length; i++) {
var credit = value[i]['credit'];
var debit = value[i]['debit'];
if(credit > 0){
$('input[name="accounts['+i+'][credit]"]').trigger('keyup');
}
if(debit > 0){
$('input[name="accounts['+i+'][debit]"]').trigger('keyup');
}
}
}
</script>
@endpush
@section('action-btn')
@php
$user = \App\Models\User::find(\Auth::user()->creatorId());
$plan= \App\Models\Plan::getPlan($user->plan);
@endphp
@if($plan->chatgpt == 1)
<div class="float-end">
<a href="#" data-size="md" class="btn btn-primary btn-icon btn-sm" data-ajax-popup-over="true" data-url="{{ route('generate',['journal entry']) }}"
data-bs-placement="top" data-title="{{ __('Generate content with AI') }}">
<i class="fas fa-robot"></i> <span>{{__('Generate with AI')}}</span>
</a>
</div>
@endif
@endsection
@section('content')
{{ Form::model($journalEntry, array('route' => array('journal-entry.update', $journalEntry->id), 'method' => 'PUT','class'=>'w-100')) }}
<input type="hidden" name="_token" id="token" value="{{ csrf_token() }}">
<div class="row mt-4">
<div class="col-xl-12">
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-lg-4 col-md-4">
<div class="form-group">
{{ Form::label('journal_number', __('Journal Number'),['class'=>'form-label']) }}
<div class="form-icon-user">
<input type="text" class="form-control" value="{{\Auth::user()->journalNumberFormat($journalEntry->journal_id)}}" readonly>
</div>
</div>
</div>
<div class="col-lg-4 col-md-4">
<div class="form-group">
{{ Form::label('date', __('Transaction Date'),['class'=>'form-label']) }}
<div class="form-icon-user">
{{Form::date('date',null,array('class'=>'form-control','required'=>'required'))}}
</div>
</div>
</div>
<div class="col-lg-4 col-md-4">
<div class="form-group">
{{ Form::label('reference', __('Reference'),['class'=>'form-label']) }}
<div class="form-icon-user">
{{ Form::text('reference', null, array('class' => 'form-control')) }}
</div>
</div>
</div>
<div class="col-lg-8 col-md-8">
<div class="form-group">
{{ Form::label('description', __('Description'),['class'=>'form-label']) }}
{{ Form::textarea('description', null, array('class' => 'form-control','rows'=>'2')) }}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-12">
<div class="card repeater" data-value='{!! json_encode($journalEntry->accounts) !!}'>
<div class="item-section py-4">
<div class="row justify-content-between align-items-center">
<div class="col-md-12 d-flex align-items-center justify-content-between justify-content-md-end">
<div class="all-button-box">
<a href="#" data-repeater-create="" class="btn btn-primary me-4" data-toggle="modal" data-target="#add-bank">
<i class="ti ti-plus"></i> {{__('Add Account')}}
</a>
</div>
</div>
</div>
</div>
<div class="card-body table-border-style">
<div class="table-responsive">
<table class="table mb-0" data-repeater-list="accounts" id="sortable-table">
<thead>
<tr>
<th>{{__('Account')}}</th>
<th>{{__('Debit')}}</th>
<th>{{__('Credit')}} </th>
<th>{{__('Description')}}</th>
<th class="text-end">{{__('Amount')}} </th>
<th width="2%"></th>
</tr>
</thead>
<tbody class="ui-sortable" data-repeater-item>
<tr>
{{ Form::hidden('id',null, array('class' => 'form-control id')) }}
{{-- <td width="25%">--}}
{{-- <div class="form-group">--}}
{{-- {{ Form::select('account', $accounts,'', array('class' => 'form-control js-searchBox','required'=>'required')) }}--}}
{{-- </div>--}}
{{-- </td>--}}
<td width="25%" class="form-group pt-0">
{{-- {{ Form::select('account', $accounts,'', array('class' => 'form-control js-searchBox','required'=>'required')) }} --}}
<select name="account" class="form-control" required="required">
@foreach ($chartAccounts as $chartAccount)
<option value="{{ $chartAccount['id'] }}" class="subAccount">{{ $chartAccount['code_name'] }}</option>
@foreach ($subAccounts as $subAccount)
@if ($chartAccount['id'] == $subAccount['account'])
<option value="{{ $subAccount['id'] }}" class="ms-5"> {{ $subAccount['code_name'] }}</option>
@endif
@endforeach
@endforeach
</select>
</td>
<td>
<div class="form-group price-input">
{{ Form::text('debit','', array('class' => 'form-control debit','required'=>'required','placeholder'=>__('Debit'),'required'=>'required')) }}
</div>
</td>
<td>
<div class="form-group price-input">
{{ Form::text('credit','', array('class' => 'form-control credit','required'=>'required','placeholder'=>__('Credit'),'required'=>'required')) }}
</div>
</td>
<td>
<div class="form-group">
{{ Form::text('description',null, array('class' => 'form-control','placeholder'=>__('Description'))) }}
</div>
</td>
<td class="text-end amount">0.00</td>
<td>
<a href="#" class="ti ti-trash text-white text-danger" data-repeater-delete></a>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td> </td>
<td> </td>
<td></td>
<td class="text-end"><strong>{{__('Total Credit')}} ({{\Auth::user()->currencySymbol()}})</strong></td>
<td class="text-end totalCredit">0.00</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td class="text-end"><strong>{{__('Total Debit')}} ({{\Auth::user()->currencySymbol()}})</strong></td>
<td class="text-end totalDebit">0.00</td>
</tr>
</tfoot>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<input type="button" value="{{__('Cancel')}}" onclick="location.href = '{{route("journal-entry.index")}}';" class="btn btn-light">
<input type="submit" value="{{__('Update')}}" class="btn btn-primary">
</div>
{{ Form::close() }}
@endsection