mivita/resources/views/dashboard/_points.blade.php
2026-01-23 17:35:23 +01:00

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()) }} &euro;</strong> | {{ __('team.own') }}: {{ formatNumber($userSalesVolume->month_total_net) }} &euro; | {{ __('team.shop') }}: {{ formatNumber($userSalesVolume->month_shop_total_net) }} &euro;
</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) }} &euro;
</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>