135 lines
No EOL
7.7 KiB
PHP
135 lines
No EOL
7.7 KiB
PHP
@php
|
|
$selectedMonth = request()->get('points_month', date('n'));
|
|
$selectedYear = request()->get('points_year', date('Y'));
|
|
@endphp
|
|
<div class="d-flex col-xl-12 align-items-stretch">
|
|
<div class="card w-100 mb-4">
|
|
<h5 class="card-header with-elements d-flex justify-content-between align-items-center flex-wrap">
|
|
<div class="card-header-title">{{__('home.current_points_for') }} {{ HTMLHelper::getMonth($selectedMonth) }} {{ $selectedYear }} </div>
|
|
<div class="d-flex align-items-center mt-2 mt-md-0">
|
|
<select id="points-month-filter" class="form-control custom-select form-control-sm mr-2" style="width: auto;">
|
|
@foreach(HTMLHelper::getTransMonths() as $monthNum => $monthName)
|
|
<option value="{{ $monthNum }}" {{ $selectedMonth == $monthNum ? 'selected' : '' }}>{{ $monthName }}</option>
|
|
@endforeach
|
|
</select>
|
|
<select id="points-year-filter" class="form-control custom-select form-control-sm" style="width: auto;">
|
|
@foreach(HTMLHelper::getYearRange() as $year)
|
|
<option value="{{ $year }}" {{ $selectedYear == $year ? 'selected' : '' }}>{{ $year }}</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
</h5>
|
|
<div class="card-body">
|
|
@if($user->isActiveAccount())
|
|
<h6>
|
|
@php($userSalesVolume = $user->getUserSalesVolume($selectedMonth, $selectedYear, 'first'))
|
|
@if($userSalesVolume)
|
|
<div class="mb-2">
|
|
<strong>{{ __('team.total_points') }}: {{ formatNumber($userSalesVolume->getPointsKPSum()) }}</strong> | {{ __('team.own') }}: {{ $userSalesVolume->getFormattedMonthKPPoints() }} | {{ __('team.shop') }}: {{ $userSalesVolume->getFormattedMonthShopPoints() }}<br>
|
|
</div>
|
|
<div>
|
|
<strong>{{ __('team.total_turnover') }}: {{ formatNumber($userSalesVolume->getTotalNetSum()) }} €</strong> | {{ __('team.own') }}: {{ formatNumber($userSalesVolume->month_total_net) }} € | {{ __('team.shop') }}: {{ formatNumber($userSalesVolume->month_shop_total_net) }} €
|
|
</div>
|
|
@endif
|
|
</h6>
|
|
<div class="card-datatable table-responsive">
|
|
<table class="datatables-user-points table table-striped table-bordered">
|
|
<thead>
|
|
<tr>
|
|
<th>{{__('tables.date') }}</th>
|
|
<th>{{__('tables.points')}}</th>
|
|
<th>{{__('tables.net_sales')}}</th>
|
|
<th>{{__('tables.type')}}</th>
|
|
<th>{{__('tables.order')}}</th>
|
|
<th>{{__('tables.member')}}</th>
|
|
<th>{{__('tables.info') }}</th>
|
|
<th>{{__('tables.note') }}</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@php($userSalesVolumes = $user->getUserSalesVolume($selectedMonth, $selectedYear, 'get', ['shopping_order.shopping_user']))
|
|
@if($userSalesVolumes)
|
|
@foreach ($userSalesVolumes as $userSalesVolume)
|
|
<tr>
|
|
<td class="text-left font-weight-semibold">
|
|
{{ $userSalesVolume->date }}
|
|
</td>
|
|
<td class="text-left font-weight-semibold">
|
|
{{ $userSalesVolume->getFormattedPoints() }}
|
|
</td>
|
|
<td class="text-left font-weight-semibold">
|
|
{{ formatNumber($userSalesVolume->total_net) }} €
|
|
</td>
|
|
<td class="text-left font-weight-semibold">
|
|
<span class="badge badge-pill badge-{{ $userSalesVolume->getStatusColor() }}">{{ $userSalesVolume->getStatusType() }}</span>
|
|
</td>
|
|
<td class="text-left font-weight-semibold">
|
|
@if($userSalesVolume->shopping_order)
|
|
@if($userSalesVolume->status === 1 && $userSalesVolume->shopping_order->auth_user_id === $userSalesVolume->user_id)
|
|
<a href="{{ route('user_order_detail', [$userSalesVolume->shopping_order->id]) }}" class="btn btn-xs btn-primary">{{ $userSalesVolume->shopping_order->id }}</a>
|
|
@endif
|
|
@if(($userSalesVolume->status === 2 || $userSalesVolume->status === 3) && $userSalesVolume->shopping_order->member_id === $userSalesVolume->user_id)
|
|
<a href="{{ route('user_shop_order_detail', [$userSalesVolume->shopping_order->id]) }}" class="btn btn-xs btn-secondary">{{ $userSalesVolume->shopping_order->id }}</a>
|
|
@endif
|
|
@endif
|
|
</td>
|
|
<td class="text-left font-weight-semibold">
|
|
@if($userSalesVolume->shopping_order && $userSalesVolume->shopping_order->shopping_user)
|
|
|
|
<span class="no-line-break"> {{ $userSalesVolume->shopping_order->shopping_user->billing_firstname }} {{ $userSalesVolume->shopping_order->shopping_user->billing_lastname }}<br>
|
|
<small>{{ $userSalesVolume->shopping_order->shopping_user->billing_email }}</small></span>
|
|
@endif
|
|
</td>
|
|
<td class="text-left font-weight-semibold">
|
|
<span class="no-line-break"> {{ $userSalesVolume->message }}</span>
|
|
</td>
|
|
<td class="text-left font-weight-semibold">
|
|
<span class="no-line-break"> {{ $userSalesVolume->info }}</span>
|
|
</td>
|
|
</tr>
|
|
@endforeach
|
|
@endif
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
@endif
|
|
</div>
|
|
@if($user->isActiveAccount())
|
|
<div class="card-footer py-3">
|
|
<a href="{{route('user_team_structure')}}" class="btn btn-secondary mr-2"><i class="ion ion-md-funnel rotate-180 text-default mr-1"></i> {{__('navigation.my_team')}} - {{__('navigation.structure')}}</a>
|
|
|
|
<a href="{{route('user_team_points')}}" class="btn btn-secondary mr-2"><i class="ion ion-ios-arrow-dropup-circle"></i> {{__('navigation.my_team')}} - {{__('navigation.points')}}</a>
|
|
|
|
</div>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
$( document ).ready(function() {
|
|
|
|
$('.datatables-user-points').dataTable({
|
|
"bLengthChange": false,
|
|
"iDisplayLength": 50,
|
|
"stateSave": true,
|
|
"searching": false,
|
|
"language": {
|
|
"url": "/js/datatables-{{ \App::getLocale() }}.json"
|
|
}
|
|
});
|
|
|
|
// Filter für Monat/Jahr
|
|
function updatePointsFilter() {
|
|
var month = $('#points-month-filter').val();
|
|
var year = $('#points-year-filter').val();
|
|
var url = new URL(window.location.href);
|
|
url.searchParams.set('points_month', month);
|
|
url.searchParams.set('points_year', year);
|
|
window.location.href = url.toString();
|
|
}
|
|
|
|
$('#points-month-filter, #points-year-filter').on('change', function() {
|
|
updatePointsFilter();
|
|
});
|
|
});
|
|
</script> |