updated streamline-setup v2

This commit is contained in:
2025-01-15 08:53:49 -08:00
committed by alec.turner
parent a2ce9248f0
commit 4b569f81b0
20228 changed files with 2932048 additions and 63204 deletions
@@ -0,0 +1,599 @@
@extends('layouts.main')
@push('styles')
<link href="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ asset('/elite/bower_components/datatables/jquery.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ asset('elite/tables/css/buttons.dataTables.min.css') }}" rel="stylesheet" type="text/css" />
<link href="{{ asset('elite/bower_components/select2/select2.min.css') }}" rel="stylesheet" />
@endpush
@section('content')
<div class="row bg-title">
<div class="col-md-7">
<h4>{{ __('payments.inactive_bills') }}</h4>
</div>
<div class="col-md-5">
<ol class="breadcrumb">
<li><a href="{{ route('home') }}"><i class="fa fa-home"></i> {{ __('payments.home') }}</a></li>
<li><a href="{{ route('finance') }}"><i class="fa fa-money"></i> {{ __('payments.finance_home') }}</a></li>
<li class="active"><i class="fa fa-credit-card"></i> {{ __('payments.view_payments') }}</li>
</ol>
</div>
</div>
@include('expenses::payments.menu')
@include('flash::message')
<div class="row">
<div class="col-md-12">
<div class="white-box">
{{-- {{ Form::open(['method'=>'post','route' => 'payments.bills']) }}--}}
{{-- <div class="row">--}}
{{-- <div class="col-md-2">--}}
{{-- <div class="form-group">--}}
{{-- <label>Generated By:</label>--}}
{{-- <select class="form-control compulsory required" name="staff_member" id="staff_member" required>--}}
{{-- <option value="">-select-</option>--}}
{{-- <option value="ALL STAFF">ALL STAFF</option>--}}
{{-- @foreach($staff_members as $item)--}}
{{-- <option value="{{ $item->id }}">{{ $item->username }}</option>--}}
{{-- @endforeach--}}
{{-- </select>--}}
{{-- </div>--}}
{{-- </div>--}}
{{-- <div class="col-md-2">--}}
{{-- <div class="form-group">--}}
{{-- <label>Vendor:</label>--}}
{{-- <select class="form-control compulsory required" name="vendor" id="vendor" required>--}}
{{-- <option value="">-select-</option>--}}
{{-- <option value="ALL VENDORS">ALL VENDORS</option>--}}
{{-- @foreach($suppliers as $item)--}}
{{-- <option value="{{ $item->id }}">{{ $item->name }}</option>--}}
{{-- @endforeach--}}
{{-- </select>--}}
{{-- </div>--}}
{{-- </div>--}}
{{-- <div class="col-md-3">--}}
{{-- <div class="form-group">--}}
{{-- <label>Select Date:</label>--}}
{{-- <select class="form-control compulsory required" name="dates" id="dates" required>--}}
{{-- <option value="">-select-</option>--}}
{{-- <option value="today">TODAY</option>--}}
{{-- <option value="yesterday">YESTERDAY</option>--}}
{{-- <option value="custom_date">CUSTOM DATE</option>--}}
{{-- <option value="custom_date_range">DATE RANGE</option>--}}
{{-- </select>--}}
{{-- </div>--}}
{{-- </div>--}}
{{-- <div class="col-md-2">--}}
{{-- <div id="sDate" style="display: none;">--}}
{{-- <div class="form-group">--}}
{{-- {{ Form::label('start_date', 'Date On') }}--}}
{{-- <div class="input-group">--}}
{{-- {{ Form::text('start_date', '', ['class'=>'form-control required compulsory', 'readonly', 'id'=>'start_date']) }}--}}
{{-- <span class="input-group-addon"><i class="icon-calender"></i></span>--}}
{{-- </div>--}}
{{-- </div>--}}
{{-- </div>--}}
{{-- </div>--}}
{{-- <div class="col-md-2">--}}
{{-- <div id="eDate" style="display: none;">--}}
{{-- <div class="form-group">--}}
{{-- {{ Form::label('end_date', 'End Date') }}--}}
{{-- <div class="input-group">--}}
{{-- {{ Form::text('end_date', '', ['class'=>'form-control required compulsory', 'readonly', 'id'=>'end_date']) }}--}}
{{-- <span class="input-group-addon"><i class="icon-calender"></i></span>--}}
{{-- </div>--}}
{{-- </div>--}}
{{-- </div>--}}
{{-- </div>--}}
{{-- <div class="col-md-1">--}}
{{-- <div class="form-group" style="margin-top: 25px;">--}}
{{-- {{ Form::submit('Submit', ['class'=>'btn btn-success btn-rounded btn-block pull-right']) }}--}}
{{-- </div>--}}
{{-- </div>--}}
{{-- </div>--}}
{{-- {{ Form::close() }}--}}
{{-- <hr/>--}}
<div class="row">
<div class="col-md-12">
@if(isset($display))
<h3 class="label label-info label-rounded"> {!! isset($display) ? $display : '' !!}</h3>
@endif
<br/>
<div class="table-responsive">
<br/>
<table id="table" class="table color-bordered-table success-bordered-table">
<thead>
<tr>
<th>#</th>
<th>{{ __('payments.vendor') }}</th>
<th>{{ __('payments.billing_number') }}</th>
<th>{{ __('payments.due_date') }}</th>
<th>{{ __('payments.items') }}</th>
<th>{{ __('payments.item_quantities') }}</th>
<th>{{ __('payments.item_amounts') }}</th>
<th>{{ __('payments.bill_total') }}</th>
<th>{{ __('payments.action') }}</th>
</tr>
</thead>
<tbody>
@php
$count = 0;
$total = 0;
@endphp
@if($bills)
@if(count($bills) > 0)
@foreach( $bills as $bill)
<tr id="{{ $bill->id }}">
<td>{{ ($count + 1)."." }}</td>
<td>{{ get_name($bill->vendor, 'id', 'name', 'suppliers') }}</td>
<td>{{ $bill->bill_number }}</td>
<td>{{ streamline_date($bill->bill_due_date) }}</td>
@php
$items = explode(',', $bill->item_ids);
$quantities = explode(',', $bill->item_quantities);
$subtotals = explode(',', $bill->item_subtotals);
@endphp
<td>
@for($x = 0; $x < count($items); $x++)
{{ get_name($items[$x], 'id', 'name', 'payment_items') }} <br/>
@endfor
</td>
<td>
@for($x = 0; $x < count($quantities); $x++)
{{ ($quantities[$x] == 1) ? $quantities[$x]." unit": $quantities[$x]." units" }} <br/>
@endfor
</td>
<td>
@for($x = 0; $x < count($subtotals); $x++)
{{ ugandan_shillings($subtotals[$x]) }} <br/>
@endfor
</td>
<td>{{ ugandan_shillings($bill->total_amount) }}</td>
<td>
{{ Form::model($bill->id ,['method' => 'POST', 'route' => ['payments.bill.activate', $bill->id]]) }}
<button type="submit" class="btn btn-sm btn-rounded btn-warning" onclick="return confirm('Are you sure?')"><i class="fa fa-check"></i> Activate</button>
{{ Form::close() }}
</td>
</tr>
@php
$count ++;
$total += $bill->total_amount;
@endphp
@endforeach
@endif
@endif
</tbody>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><strong>{{ __('payments.total') }}</strong></td>
<td id="bills_total">{{ ugandan_shillings($total) }}</td>
<td></td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal" id="payment_modal" tabindex="-1" role="dialog" aria-labelledby="banking_modal_label" aria-hidden="true">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<div class="row" style="padding: 10px;">
<div class="col-sm-12 text-center">
<h3 class="modal-title" id="banking_modal_label"><b>PAY BILL</b></h3>
</div>
</div>
</div>
<div class="modal-body">
<div class="row" style="padding: 10px;">
<div class="col-sm-6">
<div class="form-group">
<label>Bank Account</label>
<select name="bank_account" class="form-control" id="bank_account" onchange="get_acc_bal(this.value, 'current_account_balance')">
<option>-select-</option>
@foreach($banks as $bank)
<option value="{{ $bank->id }}">{{ $bank->name }}</option>
@endforeach
</select>
</div>
<div class="form-group">
<label>Bill Total</label>
<input name="bill_total" id="bill_total" type="number" readonly class="form-control">
</div>
<div class="form-group">
<label>Bill Date</label>
<input name="bill_due_date" id="bill_due_date" readonly class="form-control">
</div>
<div class="form-group">
<label>Payment Memo</label>
<textarea name="payment_memo" id="payment_memo" class="form-control" rows="5"></textarea>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label>Current Account Balance</label>
<input name="current_account_balance" id="current_account_balance" type="number" readonly class="form-control">
</div>
<div class="form-group">
<label>Amount To Pay</label>
<input name="amount_to_pay" id="amount_to_pay" type="number" class="form-control">
</div>
<div class="form-group">
<label>Bill Balance</label>
<input name="bill_balance" id="bill_balance" type="number" readonly class="form-control">
</div>
<div class="form-group">
<label>Payment By</label>
<input name="payment_by_name" readonly value="{{ get_full_name(\Illuminate\Support\Facades\Auth::id(),'id', 'first_name', 'last_name', 'users') }}" class="form-control">
<input type="hidden" id="payment_by_id" value="{{ \Illuminate\Support\Facades\Auth::id() }}">
<input type="hidden" name="bill_id" id="bill_id">
</div>
<div class="form-group">
{{ Form::label('payment_date', 'Payment Date') }}
<div class="input-group">
{{ Form::text('payment_date', '', ['class'=>'form-control required', 'readonly', 'id'=>'payment_date']) }}
<span class="input-group-addon"><i class="icon-calender"></i></span>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancel Deposit</button>
<button type="button" class="btn btn-success" id="confirm_payment">Confirm Deposit</button>
</div>
</div>
</div>
</div>
<div class="modal" id="update_payment_modal" tabindex="-1" role="dialog" aria-labelledby="banking_modal_label" aria-hidden="true">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<div class="row" style="padding: 10px;">
<div class="col-sm-12 text-center">
<h3 class="modal-title" id="banking_modal_label"><b>UPDATE BILL PAYENT</b></h3>
</div>
</div>
</div>
<div class="modal-body">
<div class="row" style="padding: 10px;">
<div class="col-sm-6">
<div class="form-group">
<label>Bank Account</label>
<select name="bank_account" class="form-control" id="_bank_account" onchange="get_acc_bal(this.value, '_current_account_balance')">
<option>-select-</option>
@foreach($banks as $bank)
<option value="{{ $bank->id }}">{{ $bank->name }}</option>
@endforeach
</select>
</div>
<div class="form-group">
<label>Bill Total</label>
<input name="bill_total" id="_bill_total" type="number" readonly class="form-control">
</div>
<div class="form-group">
<label>Bill Date</label>
<input name="bill_due_date" id="_bill_due_date" readonly class="form-control">
</div>
<div class="form-group">
<label>Payment Memo</label>
<textarea name="payment_memo" id="_payment_memo" class="form-control" rows="5"></textarea>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label>Current Account Balance</label>
<input name="current_account_balance" id="_current_account_balance" type="number" readonly class="form-control">
</div>
<div class="form-group">
<label>Amount To Pay</label>
<input name="amount_to_pay" id="_amount_to_pay" type="number" class="form-control">
</div>
<div class="form-group">
<label>Bill Balance</label>
<input name="bill_balance" id="_bill_balance" type="number" readonly class="form-control">
</div>
<div class="form-group">
<label>Payment By</label>
<input name="payment_by_name" readonly value="{{ get_full_name(\Illuminate\Support\Facades\Auth::id(),'id', 'first_name', 'last_name', 'users') }}" class="form-control">
<input type="hidden" id="_payment_by_id" value="{{ \Illuminate\Support\Facades\Auth::id() }}">
<input type="hidden" name="bill_id" id="_bill_id">
</div>
<div class="form-group">
{{ Form::label('_payment_date', 'Payment Date') }}
<div class="input-group">
{{ Form::text('_payment_date', '', ['class'=>'form-control required', 'readonly', 'id'=>'_payment_date']) }}
<span class="input-group-addon"><i class="icon-calender"></i></span>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancel Deposit</button>
<button type="button" class="btn btn-success" id="update_payment">Confirm Deposit</button>
</div>
</div>
</div>
</div>
@endsection
@push('scripts')
<!-- Date Picker Plugin JavaScript -->
<script src="{{ asset('elite/bower_components/bootstrap-datepicker/bootstrap-datepicker.min.js') }}"></script>
<script>
function show_payment_modal(id) {
$.ajax({
method: 'GET',
url: '/payments/get_bill_details/'+id,
data: { 'id': id},
success: function (result) {
$('#bill_id').val(result['id']);
$('#bill_total').val(result['total_amount']);
$('#bill_due_date').val(result['bill_due_date']);
$('#bill_balance').val(result['balance']);
$('#payment_modal').modal('show');
},
error: function (error) {
alert('Something Went Wrong, Please Contact Support.')
}
});
}
function show_update_payment_modal(id) {
$.ajax({
method: 'GET',
url: '/payments/get_bill_details/'+id,
data: { 'id': id},
success: function (result) {
$('#_bill_id').val(result['id']);
$('#_amount_to_pay').val(0);
$('#_payment_memo').val('');
$('#_payment_date').val('');
$('#_bill_total').val(result['balance']);
$('#_bill_due_date').val(result['bill_due_date']);
$('#_bill_balance').val(result['balance']);
$('#update_payment_modal').modal('show');
},
error: function (error) {
alert('Something Went Wrong, Please Contact Support.')
}
});
}
// ---------------------- recheck later -------------------------------------
$('#amount_to_pay').change(function () {
var amount_to_pay = this.value;
var bill_total = $('#bill_total').val();
var account_balance = $('#current_account_balance').val();
var bill_balance = bill_total - amount_to_pay;
if(bill_balance < 0){
alert('Amount to pay appears to be more than the required bill amount.');
this.value = 0;
}else{
$('#bill_balance').val(bill_balance);
}
});
$('#_amount_to_pay').change(function () {
var amount_to_pay = this.value;
var bill_total = $('#_bill_total').val();
var account_balance = $('#_current_account_balance').val();
var bill_balance = bill_total - amount_to_pay;
if(bill_balance < 0){
alert('Amount to pay appears to be more than the required bill amount.');
this.value = 0;
}else{
$('#_bill_balance').val(bill_balance);
}
});
$('#update_payment').click(function () {
// var status = 'new';
var bill_id = $('#_bill_id').val();
var bill_balance = $('#_bill_balance').val();
var current_account_balance = $('#_current_account_balance').val();
var payment_date = $('#_payment_date').val();
var bank_account = $('#_bank_account').val();
var amount_to_pay = $('#_amount_to_pay').val();
var payment_memo = $('#_payment_memo').val();
var check = confirm('Are you sure you want to proceed with this payment ?');
if(check){
$.ajax({
type: 'POST',
url: '/payments/store_bill_payment',
data: {
'bill_id' : bill_id,
'bill_balance' : bill_balance,
'payment_date' : payment_date,
'bank_account' : bank_account,
'amount_to_pay' : amount_to_pay,
'payment_memo' : payment_memo,
'current_account_balance' : current_account_balance,
},
success: function (result) {
// console.log(result);
$('#update_payment_modal').modal('hide');
if(parseInt(result) == 0){
$('#update_btn_'+ bill_id).hide();
}
},
error: function (error) {
// console.log(error)
alert('Something Went Wrong, Please Contact Support.')
}
});
}
});
$('#confirm_payment').click(function () {
// var status = 'new';
var bill_id = $('#bill_id').val();
var bill_balance = $('#bill_balance').val();
var current_account_balance = $('#current_account_balance').val();
var payment_date = $('#payment_date').val();
var bank_account = $('#bank_account').val();
var amount_to_pay = $('#amount_to_pay').val();
var payment_memo = $('#payment_memo').val();
var check = confirm('Are you sure you want to proceed with this payment ?');
if(check){
$.ajax({
type: 'POST',
url: '/payments/store_bill_payment',
data: {
'bill_id' : bill_id,
'bill_balance' : bill_balance,
'payment_date' : payment_date,
'bank_account' : bank_account,
'amount_to_pay' : amount_to_pay,
'payment_memo' : payment_memo,
'current_account_balance' : current_account_balance,
},
success: function (result) {
// console.log(result);
$('#payment_modal').modal('hide');
$('#pay_btn_'+ bill_id).hide();
$('#update_btn_'+ bill_id).show();
$('#voucher_btn_'+ bill_id).show();
},
error: function (error) {
// console.log(error)
alert('Something Went Wrong, Please Contact Support.')
}
});
}
});
function remove(id, bill_number){
var check = confirm('Are You Sure You Want To Delete This Bill ?');
if(check){
$.ajax({
type: 'POST',
url: '/payments/delete_bill',
data: { 'bill_id' : id },
success: function (result) {
if(result != 'fail'){
$('#'+ id).remove();
alert('Bill '+ bill_number+' has been deleted successfully.'); console.log(result)
}else{
alert('failed to delete Bill '+bill_number)
}
},
error: function (error) {
console.log(error)
alert('Something Went Wrong, Please Contact Support.')
}
});
}
}
$('#dates').change(function (e) {
if($(this).val() === "custom_date"){
$("#eDate").hide();
$("#sDate").show();
}else if($(this).val() === "custom_date_range"){
$("#sDate").show();
$("#eDate").show();
}else{
$("#eDate").hide();
$("#sDate").hide();
}
});
function get_acc_bal(bank_id, input_id) {
$.ajax({
method: 'POST',
url: '/banking/get_current_account_balance',
data: {'bank_id' : bank_id},
success: function(response){
var acc_bal = response[0].balance;
var amount = $('#deposit_amount').val();
$('#'+input_id).val(acc_bal);
$('#new_account_balance').val(acc_bal + parseInt(amount));
},
error: function (error) {
console.log(error);
}
});
}
</script>
<script src="{{ asset('elite/bower_components/datatables/jquery.dataTables.min.js') }}"></script>
<script src="{{ asset('elite/tables/js/dataTables.buttons.min.js') }}"></script>
<script src="{{ asset('elite/tables/js/buttons.flash.min.js') }}"></script>
<script src="{{ asset('elite/tables/js/jszip.min.js') }}"></script>
<script src="{{ asset('elite/tables/js/pdfmake.min.js') }}"></script>
<script src="{{ asset('elite/tables/js/vfs_fonts.js') }}"></script>
<script src="{{ asset('elite/tables/js/buttons.html5.min.js') }}"></script>
<script src="{{ asset('elite/tables/js/buttons.print.min.js') }}"></script>
<script type="text/javascript">
jQuery('#end_date').datepicker({
autoclose: true,
todayHighlight: true,
format: 'dd-mm-yyyy'
});
</script>
<script type="text/javascript">
jQuery('#start_date ,#deposit_date, #payment_date, #_payment_date').datepicker({
autoclose: true,
todayHighlight: true,
format: 'dd-mm-yyyy'
});
</script>
<script>
$('.table').DataTable({
dom: 'Bfrtip',
buttons: [
'copy', 'csv', 'excel', 'pdf', 'print'
],
"aoColumnDefs": [{
"aTargets": [2,3],
"defaultContent": "",
}]
});
</script>
<script src="{{ asset('elite/bower_components/select2/select2.min.js') }}"></script>
<script>
$('#staff_member, #vendor').select2({
placeholder: "-select-"
});
</script>
@endpush