commit 08-2025
This commit is contained in:
parent
824fa43e96
commit
3b2253147b
393 changed files with 43842 additions and 18418 deletions
159
resources/views/admin/business_optimized/show.blade.php
Normal file
159
resources/views/admin/business_optimized/show.blade.php
Normal file
|
|
@ -0,0 +1,159 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
<div class="card">
|
||||
<h5 class="card-header">
|
||||
{{__('Business')}} {{__('Übersicht')}}
|
||||
<span class="badge badge-success ml-2">OPTIMIERT</span>
|
||||
</h5>
|
||||
|
||||
<div class="card-body p-0">
|
||||
{!! Form::open(['action' => route('admin_business_optimized'), 'class' => 'form-horizontal', 'id'=>'form_filter_business_user']) !!}
|
||||
|
||||
<div class="form-row align-items-center px-4 pb-2 pt-3">
|
||||
<div class="col-6 col-sm-6 col-md-3 col-lg-3 mb-1">
|
||||
<select class="custom-select on_change_invoice" name="business_user_filter_month">
|
||||
@foreach($filter_months as $key=>$value)
|
||||
<option value="{{$key}}" @if(session('business_user_filter_month') == $key) selected @endif>{{$value}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-6 col-sm-6 col-md-3 col-lg-3 mb-1">
|
||||
<select class="custom-select on_change_invoice" name="business_user_filter_year">
|
||||
@foreach($filter_years as $key=>$value)
|
||||
<option value="{{$value}}" @if(session('business_user_filter_year') == $value) selected @endif>{{$value}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-6 col-sm-6 col-md-3 col-lg-3 mb-1">
|
||||
<select class="custom-select on_change_invoice" name="business_user_filter_active">
|
||||
@foreach($filter_active as $key=>$value)
|
||||
<option value="{{$key}}" @if(session('business_user_filter_active') == $key) selected @endif>{{$value}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-6 col-sm-6 col-md-3 col-lg-3 mb-1">
|
||||
<select class="custom-select on_change_invoice" name="business_user_filter_level">
|
||||
@foreach($filter_levels as $key=>$value)
|
||||
<option value="{{$key}}" @if(session('business_user_filter_level') == $key) selected @endif>{{$value}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Zweite Filterzeile für erweiterte Filter -->
|
||||
<div class="form-row align-items-center px-4 pb-3">
|
||||
<div class="col-6 col-sm-6 col-md-3 col-lg-3 mb-1">
|
||||
<select class="custom-select on_change_invoice" name="business_user_filter_next_level">
|
||||
@foreach($filter_next_level as $key=>$value)
|
||||
<option value="{{$key}}" @if(session('business_user_filter_next_level') == $key) selected @endif>{{$value}}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-6 col-sm-6 col-md-3 col-lg-3 mb-1">
|
||||
<!-- Platz für weitere Filter falls nötig -->
|
||||
</div>
|
||||
<div class="col-6 col-sm-6 col-md-3 col-lg-3 mb-1">
|
||||
<!-- Platz für weitere Filter falls nötig -->
|
||||
</div>
|
||||
<div class="col-6 col-sm-6 col-md-3 col-lg-3 mb-1">
|
||||
<!-- Platz für weitere Filter falls nötig -->
|
||||
</div>
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
|
||||
<!-- Performance Info Banner -->
|
||||
<div class="alert alert-info mx-4 mb-3">
|
||||
<div class="d-flex align-items-center">
|
||||
<i class="fa fa-rocket mr-2"></i>
|
||||
<div>
|
||||
<strong>Optimierte Version aktiv:</strong>
|
||||
Diese Version nutzt optimierte Datenbankabfragen und Memory-effiziente Verarbeitung für bessere Performance bei großen Datenmengen.
|
||||
<br>
|
||||
<small><strong>Hinweis:</strong> Der "Nächster Level" Filter funktioniert optimal mit gespeicherten Monatsdaten. Bei Live-Berechnungen wird er aus Performance-Gründen ignoriert.</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-datatable table-responsive pt-0">
|
||||
<table class="datatables-style table table-striped table-bordered" id="datatable-users">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{__('ID') }}</th>
|
||||
<th>{{__('Berater-ID') }}</th>
|
||||
<th>{{ __('Level') }}</th>
|
||||
<th>{{ __('KD') }}</th>
|
||||
<th>{{__('Gesamte Points')}}</th>
|
||||
<th>{{__('Umsatz netto')}}</th>
|
||||
<th>{{__('E-Mail')}}</th>
|
||||
<th>{{__('First name')}}</th>
|
||||
<th>{{__('Last name')}}</th>
|
||||
<th>{{__('Nächster Level')}}</th>
|
||||
<th>{{__('Sponsor')}}</th>
|
||||
<th>{{__('tables.account')}}</th>
|
||||
<th>{{__('bis')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$( document ).ready(function() {
|
||||
var oTable = $('#datatable-users').DataTable({
|
||||
"processing": true,
|
||||
"serverSide": true,
|
||||
"stateSave": false,
|
||||
"searching": true,
|
||||
ajax: {
|
||||
url: '{!! route('admin_business_optimized_user_datatable') !!}?v={{ time() }}',
|
||||
data: function(d) {
|
||||
d.business_user_filter_name = $('input[name=business_user_filter_name]').val();
|
||||
d.business_user_filter_month = $('select[name=business_user_filter_month]').val();
|
||||
d.business_user_filter_year = $('select[name=business_user_filter_year]').val();
|
||||
d.business_user_filter_active = $('select[name=business_user_filter_active]').val();
|
||||
d.business_user_filter_level = $('select[name=business_user_filter_level]').val();
|
||||
d.business_user_filter_next_level = $('select[name=business_user_filter_next_level]').val();
|
||||
},
|
||||
error: function(xhr, error, code) {
|
||||
console.error('DataTable Error:', error, code);
|
||||
if(xhr.responseJSON && xhr.responseJSON.error) {
|
||||
alert('Fehler beim Laden der Daten: ' + xhr.responseJSON.error);
|
||||
}
|
||||
}
|
||||
},
|
||||
"order": [[1, "asc" ]],
|
||||
"columns": [
|
||||
{ data: 'id', name: 'id', searchable: false, orderable: true },
|
||||
{ data: 'm_account', name: 'm_account', orderable: true, searchable: true },
|
||||
{ data: 'user_level', name: 'user_level', orderable: false, searchable: false },
|
||||
{ data: 'is_qual_kp', name: 'is_qual_kp', orderable: false, searchable: false },
|
||||
{ data: 'sales_volume_KP_points', name: 'sales_volume_KP_points', orderable: false, searchable: false },
|
||||
{ data: 'sales_volume_total', name: 'sales_volume_total', orderable: false, searchable: false },
|
||||
{ data: 'email', name: 'email', orderable: true, searchable: true},
|
||||
{ data: 'first_name', name: 'first_name', orderable: true, searchable: true },
|
||||
{ data: 'last_name', name: 'last_name', orderable: true, searchable: true },
|
||||
{ data: 'next_level_qualified', name: 'next_level_qualified', orderable: false, searchable: false },
|
||||
{ data: 'sponsor', name: 'sponsor', orderable: false, searchable: false },
|
||||
{ data: 'active_account', name: 'active_account', orderable: false, searchable: false },
|
||||
{ data: 'payment_account_date', name: 'payment_account_date', orderable: false, searchable: false },
|
||||
|
||||
],
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 100,
|
||||
"language": {
|
||||
"url": "/js/datatables-{{ \App::getLocale() }}.json"
|
||||
}
|
||||
});
|
||||
$('select.on_change_invoice').on('change', function(){
|
||||
oTable.draw();
|
||||
});
|
||||
|
||||
$('input.on_keyup_invoice').on('keyup', function(){
|
||||
oTable.draw();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
Loading…
Add table
Add a link
Reference in a new issue