You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
355 lines
18 KiB
355 lines
18 KiB
@extends('layouts.vendor.app')
|
|
|
|
@section('title',translate('messages.restaurant').' '.translate('messages.wallet'))
|
|
|
|
@push('css_or_js')
|
|
|
|
@endpush
|
|
|
|
@section('content')
|
|
<div class="content container-fluid">
|
|
<!-- Page Header -->
|
|
<div class="page-header">
|
|
<div class="row align-items-center">
|
|
<div class="col-sm mb-2 mb-sm-0">
|
|
<h2 class="page-header-title text-capitalize">
|
|
<div class="card-header-icon d-inline-flex mr-2 img">
|
|
<img src="{{asset('/public/assets/admin/img/resturant-panel/page-title/wallet.png')}}" alt="public">
|
|
</div>
|
|
<span>
|
|
{{translate('messages.restaurant')}} {{translate('messages.wallet')}}
|
|
</span>
|
|
</h2>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- End Page Header -->
|
|
|
|
<div class="row g-3">
|
|
<?php
|
|
$wallet = \App\Models\RestaurantWallet::where('vendor_id',\App\CentralLogics\Helpers::get_vendor_id())->first();
|
|
if(isset($wallet)==false){
|
|
\Illuminate\Support\Facades\DB::table('restaurant_wallets')->insert([
|
|
'vendor_id'=>\App\CentralLogics\Helpers::get_vendor_id(),
|
|
'created_at'=>now(),
|
|
'updated_at'=>now()
|
|
]);
|
|
$wallet = \App\Models\RestaurantWallet::where('vendor_id',\App\CentralLogics\Helpers::get_vendor_id())->first();
|
|
}
|
|
?>
|
|
<!-- Restaurant Wallet Balance -->
|
|
<div class="for-card col-md-4">
|
|
<div class="card bg--1 h-100">
|
|
<div class="card-body text-center d-flex flex-column justify-content-center align-items-center">
|
|
<div class="cash--subtitle">
|
|
{{translate('messages.withdraw_able_balance')}}
|
|
</div>
|
|
<div class="d-flex align-items-center justify-content-center mt-3">
|
|
<img class="cash-icon mr-3" src="{{asset('/public/assets/admin/img/transactions/cash.png')}}" alt="transactions">
|
|
<h2
|
|
class="cash--title">{{\App\CentralLogics\Helpers::format_currency($wallet->balance)}}
|
|
</h2>
|
|
</div>
|
|
</div>
|
|
<div class="card-footer pt-0 bg-transparent">
|
|
@if(\App\CentralLogics\Helpers::get_vendor_data()->account_no==null || \App\CentralLogics\Helpers::get_vendor_data()->bank_name==null)
|
|
<a tabindex="0" class="btn btn-- bg--title h--45px w-100" role="button" data-toggle="popover" data-trigger="focus" title="{{translate('messages.warning_missing_bank_info')}}" data-content="{{translate('messages.warning_add_bank_info')}}">{{translate('messages.request')}} {{translate('messages.withdraw')}}</a>
|
|
@else
|
|
<a class="btn btn-- bg--title h--45px w-100" href="javascript:" data-toggle="modal" data-target="#balance-modal">{{translate('messages.request')}} {{translate('messages.withdraw')}}</a>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-md-8">
|
|
<div class="row g-3">
|
|
<!-- Panding Withdraw Card Example -->
|
|
<div class="col-sm-6">
|
|
<div class="resturant-card bg--2" >
|
|
<h4 class="title">{{\App\CentralLogics\Helpers::format_currency($wallet->pending_withdraw)}}</h4>
|
|
<span class="subtitle">{{translate('messages.pending')}} {{translate('messages.withdraw')}}</span>
|
|
<img class="resturant-icon" src="{{asset('/public/assets/admin/img/transactions/pending.png')}}" alt="public">
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Earnings (Monthly) Card Example -->
|
|
<div class="col-sm-6">
|
|
<div class="resturant-card bg--3">
|
|
<h4 class="title">{{\App\CentralLogics\Helpers::format_currency($wallet->total_withdrawn)}}</h4>
|
|
<span class="subtitle">{{translate('messages.withdrawn')}}</span>
|
|
<img class="resturant-icon" src="{{asset('/public/assets/admin/img/transactions/withdraw-amount.png')}}" alt="public">
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Collected Cash Card Example -->
|
|
<div class="col-sm-6">
|
|
<div class="resturant-card bg--5">
|
|
<h4 class="title">{{\App\CentralLogics\Helpers::format_currency($wallet->collected_cash)}}</h4>
|
|
<span class="subtitle">{{translate('messages.collected_cash')}}</span>
|
|
<img class="resturant-icon" src="{{asset('/public/assets/admin/img/transactions/withdraw-balance.png')}}" alt="public">
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Pending Requests Card Example -->
|
|
<div class="col-sm-6">
|
|
<div class="resturant-card bg--1">
|
|
<h4 class="title">{{\App\CentralLogics\Helpers::format_currency($wallet->total_earning)}}</h4>
|
|
<span class="subtitle">{{translate('messages.total_earning')}}</span>
|
|
<img class="resturant-icon" src="{{asset('/public/assets/admin/img/transactions/earning.png')}}" alt="public">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal fade" id="balance-modal" tabindex="-1" role="dialog" aria-hidden="true">
|
|
<div class="modal-dialog" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title" id="exampleModalLabel">
|
|
{{translate('messages.withdraw')}} {{translate('messages.request')}}
|
|
</h5>
|
|
<button type="button" class="close" data-dismiss="modal">
|
|
<span aria-hidden="true" class="btn btn--circle btn-soft-danger text-danger"><ti class="tio-clear"></ti></span>
|
|
</button>
|
|
</div>
|
|
<form action="{{route('vendor.wallet.withdraw-request')}}" method="post">
|
|
<div class="modal-body">
|
|
@csrf
|
|
<div class="">
|
|
<select class="form-control" id="withdraw_method" name="withdraw_method" required>
|
|
<option value="" selected disabled>{{translate('Select_Withdraw_Method')}}</option>
|
|
@foreach($withdrawal_methods as $item)
|
|
<option value="{{$item['id']}}">{{$item['method_name']}}</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
<div class="" id="method-filed__div">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="recipient-name" class="form-label">{{translate('messages.amount')}}:</label>
|
|
<input type="number" name="amount" step="0.01"
|
|
value="{{$wallet->balance}}"
|
|
class="form-control h--45px" id="" min="1" max="{{$wallet->balance}}">
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer pt-0 border-0">
|
|
<button type="button" class="btn btn--reset" data-dismiss="modal">{{translate('messages.cancel')}}</button>
|
|
<button type="submit" class="btn btn--primary">{{translate('messages.Submit')}}</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Modal -->
|
|
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
|
<div class="modal-dialog" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title" id="exampleModalLabel">{{translate('messages.Note')}}: </h5>
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
|
|
</div>
|
|
<div class="modal-body">
|
|
|
|
<div class="form-group">
|
|
{{-- <label for="hiddenValue" class="mb-2">{{ translate('messages.Note') }}</label> --}}
|
|
<p id="hiddenValue"> </p>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button id="reset_btn" type="reset" data-dismiss="modal" class="btn btn-secondary" >{{ translate('Close') }} </button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!-- Content Row -->
|
|
<div class="row mt-3">
|
|
<div class="col-md-12">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h5>{{ translate('messages.withdraw')}} {{ translate('messages.request')}}</h5>
|
|
</div>
|
|
<div class="card-body p-0">
|
|
<div class="table-responsive">
|
|
<table id="datatable"
|
|
class="table table-hover table-borderless table-thead-bordered table-nowrap table-align-middle card-table"
|
|
data-hs-datatables-options='{
|
|
"order": [],
|
|
"orderCellsTop": true,
|
|
"paging":false
|
|
}' >
|
|
<thead class="thead-light">
|
|
<tr>
|
|
<th>{{ translate('messages.sl') }}</th>
|
|
<th>{{translate('messages.request_time')}}</th>
|
|
<th>{{translate('messages.amount')}}</th>
|
|
<th>{{translate('messages.status')}}</th>
|
|
<th>{{translate('messages.Withdraw_method')}}</th>
|
|
<th >{{translate('messages.note')}}</th>
|
|
<th class="w-5px">{{ translate('messages.Action') }}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach($withdraw_req as $k=>$wr)
|
|
<tr>
|
|
<td scope="row">{{$k+$withdraw_req->firstItem()}}</td>
|
|
|
|
<td>
|
|
<span class="d-block">{{date('d M Y',strtotime($wr['created_at']))}}</span>
|
|
<span class="d-block">{{date(config('timeformat'),strtotime($wr['created_at']))}}</span>
|
|
</td>
|
|
<td> {{ \App\CentralLogics\Helpers::format_currency($wr['amount'])}}</td>
|
|
<td>
|
|
@if($wr->approved==0)
|
|
<label class="badge badge-soft-info">{{translate('messages.pending')}}</label>
|
|
@elseif($wr->approved==1)
|
|
<label class="badge badge-soft-success">{{translate('messages.approved')}}</label>
|
|
@else
|
|
<label class="badge badge-soft-danger">{{translate('messages.denied')}}</label>
|
|
@endif
|
|
</td>
|
|
|
|
|
|
<td>
|
|
@if($wr->method)
|
|
|
|
<a href="#" data-toggle="modal" data-target="#exampleModal1-{{ $wr->id }}">
|
|
{{translate($wr->method->method_name)}}</a>
|
|
<!-- Modal -->
|
|
<div class="modal fade" id="exampleModal1-{{ $wr->id }}" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
|
<div class="modal-dialog" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title" id="exampleModalLabel">{{translate('messages.Withdraw_method_details')}} </h5>
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="form-group">
|
|
@foreach(json_decode($wr->withdrawal_method_fields, true) as $key=>$method_field)
|
|
<label class="mt-2" for="{{$key}}">{{ translate($key)}}</label>
|
|
<input type="text" class="form-control" readonly value="{{ $method_field }}" id="{{$key}}">
|
|
@endforeach
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button id="reset_btn" type="reset" data-dismiss="modal" class="btn btn-secondary" >{{ translate('Close') }} </button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
@else
|
|
{{ translate('Default_method') }}
|
|
@endif
|
|
|
|
</td>
|
|
|
|
<td >{!!
|
|
Str::limit($wr->transaction_note, 20,
|
|
'<a href="#" onClick="javascript:showMyModal(\''.$wr->transaction_note.'\')" >...Read more.</a>'
|
|
) !!}</td>
|
|
<td>
|
|
|
|
@if($wr->approved==0)
|
|
{{-- <a href="{{route('vendor.withdraw.close',[$wr['id']])}}"
|
|
class="btn btn-outline-danger btn--danger action-btn">
|
|
{{translate('messages.Delete')}}
|
|
</a> --}}
|
|
<a class="btn btn-outline-danger btn--danger action-btn" href="javascript:" onclick="form_alert('withdraw-{{$wr['id']}}','{{ translate('Want to delete this ?') }}')" title="{{translate('messages.delete')}}"><i class="tio-delete-outlined"></i>
|
|
</a>
|
|
|
|
<form action="{{route('vendor.wallet.close-request',[$wr['id']])}}"
|
|
method="post" id="withdraw-{{$wr['id']}}">
|
|
@csrf @method('delete')
|
|
</form>
|
|
@else
|
|
<label>{{translate('messages.complete')}}</label>
|
|
@endif
|
|
</td>
|
|
</tr>
|
|
@endforeach
|
|
</tbody>
|
|
</table>
|
|
@if(count($withdraw_req) === 0)
|
|
<div class="empty--data">
|
|
<img src="{{asset('/public/assets/admin/img/empty.png')}}" alt="public">
|
|
<h5>
|
|
{{translate('no_data_found')}}
|
|
</h5>
|
|
</div>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
<div class="card-footer pt-0 border-0">
|
|
{{$withdraw_req->links()}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@endsection
|
|
@push('script')
|
|
<script>
|
|
$('#withdraw_method').on('change', function () {
|
|
var method_id = this.value;
|
|
|
|
// Set header if need any otherwise remove setup part
|
|
$.ajaxSetup({
|
|
headers: {
|
|
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
|
|
}
|
|
});
|
|
$.ajax({
|
|
url: "{{route('vendor.wallet.method-list')}}" + "?method_id=" + method_id,
|
|
data: {},
|
|
processData: false,
|
|
contentType: false,
|
|
type: 'get',
|
|
success: function (response) {
|
|
let method_fields = response.content.method_fields;
|
|
$("#method-filed__div").html("");
|
|
method_fields.forEach((element, index) => {
|
|
$("#method-filed__div").append(`
|
|
<div class="form-group mt-2">
|
|
<label for="wr_num" class="fz-16 c1 mb-2">${element.input_name.replaceAll('_', ' ')}</label>
|
|
<input type="${element.input_type == 'phone' ? 'number' : element.input_type }" class="form-control" name="${element.input_name}" placeholder="${element.placeholder}" ${element.is_required === 1 ? 'required' : ''}>
|
|
</div>
|
|
`);
|
|
})
|
|
|
|
},
|
|
error: function () {
|
|
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
|
|
<script>
|
|
|
|
|
|
function showMyModal(data) {
|
|
$(".modal-body #hiddenValue").html(data);
|
|
$('#exampleModal').modal('show');
|
|
}
|
|
|
|
</script>
|
|
@endpush
|
|
|