#51 Festschreiben der Points, Gutschriftenmodul

This commit is contained in:
Kevin Adametz 2022-07-29 18:18:05 +02:00
parent dfd049aaa9
commit 3f2fbd6d5b
63 changed files with 4610 additions and 971 deletions

View file

@ -0,0 +1,164 @@
<table class="table user-view-table m-0">
<tbody>
<tr>
<td>Account ID:</td>
<td>
{{ $TreeCalcBot->business_user->m_account }}
</td>
</tr>
<tr>
<td>Level:</td>
<td>
{{ $TreeCalcBot->business_user->user_level_name }}
</td>
</tr>
<tr>
<td>Kundenprovision:</td>
<td>
{{ $TreeCalcBot->business_user->margin }} %
</td>
</tr>
<tr>
<td>Shop Provision:</td>
<td>
{{ $TreeCalcBot->business_user->margin_shop }} %
</td>
</tr>
<tr>
<td>Account:</td>
<td>
@if($TreeCalcBot->business_user->active_account)
<span class="badge badge-outline-success">aktiv</span>
@else
<span class="badge badge-outline-danger">nicht aktiv</span>
@endif
@if($TreeCalcBot->business_user->active_date)
bis: {{ formatDate($TreeCalcBot->business_user->active_date) }}
@endif
</td>
</tr>
<tr>
<td>Sponsor:</td>
<td>
@if($TreeCalcBot->business_user->sponsor->is_sponsor)
{{ $TreeCalcBot->business_user->sponsor->first_name }} {{ $TreeCalcBot->business_user->sponsor->last_name }} |
{{ $TreeCalcBot->business_user->sponsor->email }} |
{{ $TreeCalcBot->business_user->sponsor->m_account }}
@else
-
@endif
</td>
</tr>
<tr>
<td>Datum:</td>
<td>
<strong>{{ HTMLHelper::getMonth($data['month']) }} {{ $data['year'] }}</strong> | Abgeschlossen:
@if($TreeCalcBot->business_user->isSave())
<span class="badge badge-outline-success"><i class="fa fa-check-circle"></i></span>
@else
<span class="badge badge-outline-warning"><i class="fa fa-times"></i></span>
@endif
</td>
</tr>
<tr>
<td>Gesamte Points:</td>
<td>
<strong>{{ $TreeCalcBot->business_user->sales_volume_points_sum }}</strong>
(Berater: {{ $TreeCalcBot->business_user->sales_volume_points }} | Shop: {{ $TreeCalcBot->business_user->sales_volume_points_shop }})
</td>
</tr>
<tr>
<td>Umsatz netto:</td>
<td>
<strong>{{ formatNumber($TreeCalcBot->business_user->sales_volume_total_sum) }} &euro;</strong>
(Berater: {{ formatNumber($TreeCalcBot->business_user->sales_volume_total) }} &euro; | Shop: {{ formatNumber($TreeCalcBot->business_user->sales_volume_total_shop) }} &euro;)
</td>
</tr>
<tr>
<td>Persönliches Volumen:</td>
<td>
<span class="badge {{ $TreeCalcBot->business_user->isQualKP() ? 'badge-outline-success' : 'badge-outline-danger' }}"> KD {{ $TreeCalcBot->business_user->qual_kp }}</span>
</td>
</tr>
<tr>
<td>Qualifikation:</td>
<td>
TP {{ formatNumber($TreeCalcBot->business_user->qual_tp, 0) }} /
@if($TreeCalcBot->business_user->isQualKP())
<strong> TP {{ formatNumber($TreeCalcBot->business_user->total_qual_tp, 0) }}</strong> &nbsp;
@if($TreeCalcBot->business_user->qual_user_level)
<span class="badge badge-outline-success">{{ formatNumber($TreeCalcBot->business_user->qual_tp, 0) }} | {{ $TreeCalcBot->business_user->qual_user_level['name'] }}</span>
@endif
@else
<span class="ion ion-md-close text-danger"></span>
@endif
</td>
</tr>
<tr>
<td><strong>Provision Shop:</strong></td>
<td>
<span class="badge badge-primary" style="font-size: 1em;"><strong>{{ formatNumber($TreeCalcBot->business_user->commission_shop_sales) }} &euro;</strong></span>
&nbsp;
(Umsatz Shop netto: {{ formatNumber($TreeCalcBot->business_user->sales_volume_total_shop) }} &euro; / {{ $TreeCalcBot->business_user->margin_shop }} %)
</td>
</tr>
<tr>
<td><strong>Provision Team:</strong></td>
<td>
<span class="badge badge-primary" style="font-size: 1em;"><strong>{{ formatNumber($TreeCalcBot->business_user->commission_team_total) }} &euro;</strong></span>
</td>
</tr>
<tr>
<td><strong>Provision Gesamt:</strong></td>
<td>
<span class="badge badge-secondary" style="font-size: 1em;"><strong>{{ formatNumber($TreeCalcBot->business_user->getCommissionTotal()) }} &euro;</strong></span>
</td>
</tr>
</tbody>
</table>
<hr class="border-light m-0 mb-2">
<div class="table-responsive">
<table class="table card-table m-0">
<tbody>
<tr>
<th>Linie</th>
<th>Points</th>
<th>Provision %</th>
<th>Provision &euro;</th>
</tr>
@for ($line=1; $line<=6; $line++)
<tr>
<td>
<div class="font-weight-bolder line-height-1 my-2 text-dark badge badge-outline-dark">{{ $line }}</div>
</td>
<td>{{ formatNumber($TreeCalcBot->getKeybyLine($line, 'points'), 0) }}</td>
<td>{{ formatNumber($TreeCalcBot->getKeybyLine($line, 'margin'), 0) }} %</td>
<td>{{ formatNumber($TreeCalcBot->getKeybyLine($line, 'commission'), 2) }} &euro;</td>
</tr>
@endfor
@foreach ($TreeCalcBot->getGrowthBonus() as $line => $growthBonu)
<tr>
<td>
<div class="font-weight-bolder line-height-1 my-2 text-dark badge badge-outline-dark">{{ $line+7 }}</div>
</td>
<td>{{ formatNumber($TreeCalcBot->getKeybyLine($line+7, 'points'), 0) }}</td>
<td>{{ formatNumber($TreeCalcBot->getKeybyLine($line+7, 'margin'), 0) }} %</td>
<td>{{ formatNumber($TreeCalcBot->getKeybyLine($line+7, 'commission'), 2) }} &euro;</td>
</tr>
@endforeach
</tbody>
<tfoot>
<tr>
<td>Gesamt</td>
<td>{{ formatNumber($TreeCalcBot->business_user->total_tp, 0) }}</td>
<td></td>
<td><strong>{{ formatNumber($TreeCalcBot->business_user->commission_team_total, 2) }} &euro;</strong></td>
</tr>
</tfoot>
</table>
</div>

View file

@ -25,55 +25,56 @@
</div>
@endif
<div class="card-body p-0">
{!! Form::open(['url' => route('admin_business_points'), 'class' => 'form-horizontal', 'id'=>'form_admin_business_points']) !!}
{!! Form::open(['url' => route('admin_business_points'), 'class' => 'form-horizontal', 'id'=>'form_admin_business_points']) !!}
<div class="form-row align-items-center px-4 pb-2 pt-3">
<div class="col-12 col-sm-4 col-md-4 col-lg-4 mb-1">
<select class="selectpicker on_change_select" data-style="btn-default" name="points_filter_member_id" id="points_filter_member_id" data-live-search="true">
<option value="">Filter Berater aus</option>
@foreach($filter_members as $member)
<option value="{{$member->id}}" @if(session('points_filter_member_id') == $member->id) selected @endif>{{$member->first_name}} {{$member->last_name}} | {{$member->email}}</option>
@endforeach
</select>
</div>
<div class="col-6 col-sm-4 col-md-4 col-lg-4 mb-1">
<select class="custom-select on_change_select" name="points_filter_month">
@foreach($filter_months as $key=>$value)
<option value="{{$key}}" @if(session('points_filter_month') == $key) selected @endif>{{$value}}</option>
<div class="form-row align-items-center px-4 pb-2 pt-3">
<div class="col-12 col-sm-4 col-md-4 col-lg-4 mb-1">
<select class="selectpicker on_change_select" data-style="btn-default" name="points_filter_member_id" id="points_filter_member_id" data-live-search="true">
<option value="">Filter Berater aus</option>
@foreach($filter_members as $member)
<option value="{{$member->id}}" @if(session('points_filter_member_id') == $member->id) selected @endif>{{$member->first_name}} {{$member->last_name}} | {{$member->email}}</option>
@endforeach
</select>
</div>
<div class="col-6 col-sm-4 col-md-4 col-lg-4 mb-1">
<select class="custom-select on_change_select" name="points_filter_year">
@foreach($filter_years as $key=>$value)
<option value="{{$value}}" @if(session('points_filter_year') == $value) selected @endif>{{$value}}</option>
@endforeach
</select>
</select>
</div>
<div class="col-6 col-sm-4 col-md-4 col-lg-4 mb-1">
<select class="custom-select on_change_select" name="points_filter_month">
@foreach($filter_months as $key=>$value)
<option value="{{$key}}" @if(session('points_filter_month') == $key) selected @endif>{{$value}}</option>
@endforeach
</select>
</div>
<div class="col-6 col-sm-4 col-md-4 col-lg-4 mb-1">
<select class="custom-select on_change_select" name="points_filter_year">
@foreach($filter_years as $key=>$value)
<option value="{{$value}}" @if(session('points_filter_year') == $value) selected @endif>{{$value}}</option>
@endforeach
</select>
</div>
</div>
{!! Form::close() !!}
<div class="card-datatable table-responsive pt-0">
<table class="datatables-style table table-striped table-bordered" id="datatable-invoice">
<thead>
<tr>
<th>#</th>
<th>{{__('Datum') }}</th>
<th>{{__('Points')}}</th>
<th>{{__('Umsatz netto')}}</th>
<th>{{__('Art')}}</th>
<th>{{__('Bestellung')}}</th>
<th>{{__('Vorname')}}</th>
<th>{{__('Nachname') }}</th>
<th>{{__('E-Mail') }}</th>
<th>{{__('Info') }}</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
{!! Form::close() !!}
<div class="card-datatable table-responsive pt-0">
<table class="datatables-style table table-striped table-bordered" id="datatable-invoice">
<thead>
<tr>
<th>#</th>
<th>{{__('Datum') }}</th>
<th>{{__('Points')}}</th>
<th>{{__('Umsatz netto')}}</th>
<th>{{__('Art')}}</th>
<th>{{__('Bestellung')}}</th>
<th>{{__('Vorname')}}</th>
<th>{{__('Nachname') }}</th>
<th>{{__('E-Mail') }}</th>
<th>{{__('Info') }}</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>

View file

@ -42,8 +42,8 @@
<th>{{__('Berater-ID') }}</th>
<th>{{ __('Level') }}</th>
<th>{{ __('KD') }}</th>
<th>{{__('Points')}}</th>
<th>{{__('Umsatz')}}</th>
<th>{{__('Gesamte Points')}}</th>
<th>{{__('Umsatz netto')}}</th>
<th>{{__('E-Mail')}}</th>
<th>{{__('Vorname')}}</th>
<th>{{__('Nachname')}}</th>
@ -57,7 +57,7 @@
</table>
</div>
</div>
</div>
<script>
$( document ).ready(function() {
var oTable = $('#datatable-users').DataTable({
@ -76,15 +76,15 @@
},
"order": [[1, "asc" ]],
"columns": [
{ data: 'id', name: 'users.id', searchable: false },
{ data: 'account.m_account', name: 'account.m_account' },
{ data: 'user_level', name: 'user_level' },
{ data: 'id', name: 'id', searchable: false },
{ data: 'm_account', name: 'm_account', orderable: false },
{ 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_points', name: 'sales_volume_points', orderable: false, searchable: false },
{ data: 'sales_volume_total', name: 'sales_volume_total', orderable: false, searchable: false },
{ data: 'email', name: 'users.email' },
{ data: 'account.first_name', name: 'account.first_name' },
{ data: 'account.last_name', name: 'account.last_name' },
{ data: 'email', name: 'email', orderable: false },
{ data: 'first_name', name: 'first_name', orderable: false },
{ data: 'last_name', name: 'last_name', orderable: false },
{ data: 'sponsor', name: 'sponsor', orderable: false, searchable: false },
{ data: 'active_account', name: 'active_account' },
{ data: 'payment_account_date', name: 'payment_account_date' },

View file

@ -57,6 +57,7 @@
@endif
</div>
</div>
</div>
<link rel="stylesheet" href="/vendor/libs/nestable/nestable.css">
<script src="/vendor/libs/nestable/jquery-nestable.js?v=1"></script>
<script>

View file

@ -2,152 +2,37 @@
@section('content')
<div class="card">
<h5 class="card-header">
{{__('Business')}} {{__('Übersicht')}} Berater
</h5>
{!! Form::open(['url' => route('admin_business_user_detail', [$user->id]), 'class' => 'form-horizontal', 'id'=>'']) !!}
{{ Form::hidden('user_id', $user->id ) }}
{{ Form::hidden('month', $TreeCalcBot->date->month) }}
{{ Form::hidden('year', $TreeCalcBot->date->year) }}
<div class="media align-items-center pt-3 mb-0">
{{-- <img src="assets/img/avatars/5-small.png" alt="" class="d-block ui-w-100 rounded-circle">--}}
<div class="media-body ml-4">
<h4 class="font-weight-bold mb-0">{{ $user->account->first_name }} {{ $user->account->last_name }} <a class="font-weight-normal" href="mailto:{{ $user->email }}">{{ $user->email }}</a></h4>
<h4 class="font-weight-bold mb-0">
{{ $user->account->first_name }} {{ $user->account->last_name }} <a class="font-weight-normal" href="mailto:{{ $user->email }}">{{ $user->email }}</a>
{{-- <button type="submit" class="btn btn-submit btn-secondary btn-sm float-right mr-4">{{ __('save') }}</button>&nbsp; --}}
</h4>
</div>
</div>
{!! Form::close() !!}
<div class="card-body">
<table class="table user-view-table m-0">
<tbody>
<tr>
<td>Account ID:</td>
<td>{{ $user->account->m_account }}</td>
</tr>
<tr>
<td>Level:</td>
<td>
@if($user->user_level)
{{ $user->user_level->name }}
@else
-
@endif
</td>
</tr>
<tr>
<td>Kundenprovision:</td>
<td>
{{ $TreeCalcBot->user->margin }} %
</td>
</tr>
<tr>
<td>Shop Provision:</td>
<td>
{{ $TreeCalcBot->user->margin_shop }} %
</td>
</tr>
<tr>
<td>Account:</td>
<td>
@if($user->isActiveAccount())
<span class="badge badge-outline-success">aktiv</span>
@else
<span class="badge badge-outline-danger">nicht aktiv</span>
@endif
@if($user->payment_account)
bis: {{ $user->getPaymentAccountDateFormat(false) }}
@endif
</td>
</tr>
<tr>
<td>Sponsor:</td>
<td>@if($user->user_sponsor)
@if($user->user_sponsor->account)
{{ $user->user_sponsor->account->first_name }} {{ $user->user_sponsor->account->last_name }} |
@endif
{{ $user->email }} |
@if($user->user_sponsor->account)
{{ $user->user_sponsor->account->m_account }} |
@endif
<a href="{{ route('admin_business_user_detail', [$user->user_sponsor->id]) }}" class="btn icon-btn btn-xs btn-secondary"><span class="far fa-calculator"></span></a>
@else
-
@endif
</td>
</tr>
<tr>
<td>Datum:</td>
<td><strong>{{ $month }} {{ $year }}</strong></td>
</tr>
<tr>
<td>Points:</td>
<td>
<strong>{{ $TreeCalcBot->user->sales_volume_points_sum }}</strong>
| Berater: {{ $TreeCalcBot->user->sales_volume_points }} | Shop: {{ $TreeCalcBot->user->sales_volume_points_shop }}
</td>
</tr>
<tr>
<td>Umsatz:</td>
<td>
<strong>{{ $TreeCalcBot->user->sales_volume_total_sum }} </strong>
| Berater: {{ $TreeCalcBot->user->sales_volume_total }} | Shop: {{ $TreeCalcBot->user->sales_volume_total_shop }}
</td>
</tr>
<tr>
<td>Persönliches Volumen:</td>
<td>
<span class="badge {{ $TreeCalcBot->user->isQualKP() ? 'badge-outline-success' : 'badge-outline-danger' }}"> KD {{ $TreeCalcBot->user->qual_kp }}</span>
</td>
</tr>
<tr>
<td>Qualifikation:</td>
<td>
TP {{ formatNumber($TreeCalcBot->user->qual_tp, 0) }} /
@if($TreeCalcBot->user->isQualKP())
<strong> TP{{ formatNumber($TreeCalcBot->total_qual_tp, 0) }}</strong> &nbsp;
@if($TreeCalcBot->qual_user_level)
<span class="badge badge-outline-success">{{ formatNumber($TreeCalcBot->qual_user_level->qual_tp, 0) }} | {{ $TreeCalcBot->qual_user_level->name }}</span>
@endif
@else
<span class="ion ion-md-close text-danger"></span>
@endif
</td>
</tr>
</tbody>
</table>
</div>
<hr class="border-light m-0">
<div class="table-responsive">
<table class="table card-table m-0">
<tbody>
<tr>
<th>Linie</th>
<th>Points</th>
<th>Provision</th>
<th>Provision</th>
</tr>
@for ($line=1; $line<=6; $line++)
<tr>
<td>
<div class="font-weight-bolder line-height-1 my-2 text-dark badge badge-outline-dark">{{ $line }}</div>
</td>
<td>{{ formatNumber($TreeCalcBot->getKeybyLine($line, 'points'), 0) }}</td>
<td>{{ formatNumber($TreeCalcBot->getKeybyLine($line, 'margin'), 0) }} %</td>
<td>{{ formatNumber($TreeCalcBot->getKeybyLine($line, 'commission'), 2) }}</td>
</tr>
@endfor
</tbody>
<tfoot>
<tr>
<td>Gesamt</td>
<td>{{ formatNumber($TreeCalcBot->total_tp, 0) }}</td>
<td></td>
<td><strong>{{ formatNumber($TreeCalcBot->commission_total, 2) }}</strong></td>
</tr>
</tfoot>
</table>
@include('admin.business._user_detail_in')
</div>
</div>
<script>
$( document ).ready(function() {

View file

@ -10,149 +10,12 @@
</div>
<div class="modal-body">
@if(isset($TreeCalcBot))
<table class="table user-view-table m-0">
<tbody>
<tr>
<td>Account ID:</td>
<td>{{ $user->account->m_account }}</td>
</tr>
<tr>
<td>Level:</td>
<td>
@if($user->user_level)
{{ $user->user_level->name }}
@else
-
@endif
</td>
</tr>
<tr>
<td>Kundenprovision:</td>
<td>
{{ $TreeCalcBot->user->margin }} %
</td>
</tr>
<tr>
<td>Shop Provision:</td>
<td>
{{ $TreeCalcBot->user->margin_shop }} %
</td>
</tr>
<tr>
<td>Account:</td>
<td>
@if($user->isActiveAccount())
<span class="badge badge-outline-success">aktiv</span>
@else
<span class="badge badge-outline-danger">nicht aktiv</span>
@endif
@if($user->payment_account)
bis: {{ $user->getPaymentAccountDateFormat(false) }}
@endif
</td>
</tr>
<tr>
<td>Sponsor:</td>
<td>@if($user->user_sponsor)
@if($user->user_sponsor->account)
{{ $user->user_sponsor->account->first_name }} {{ $user->user_sponsor->account->last_name }} |
@endif
{{ $user->user_sponsor->email }} |
@if($user->user_sponsor->account)
{{ $user->user_sponsor->account->m_account }} |
@endif
{{-- <a href="{{ route('admin_business_user_detail', [$user->user_sponsor->id]) }}" class="btn icon-btn btn-xs btn-secondary"><span class="far fa-calculator"></span></a> --}}
@else
-
@endif
</td>
</tr>
<tr>
<td>Datum:</td>
<td><strong>{{ HTMLHelper::getMonth($data['month']) }} {{ $data['year'] }}</strong></td>
</tr>
<tr>
<td>Points:</td>
<td>
<strong>{{ $TreeCalcBot->user->sales_volume_points_sum }}</strong>
| Berater: {{ $TreeCalcBot->user->sales_volume_points }} | Shop: {{ $TreeCalcBot->user->sales_volume_points_shop }}
</td>
</tr>
<tr>
<td>Umsatz:</td>
<td>
<strong>{{ $TreeCalcBot->user->sales_volume_total_sum }} </strong>
| Berater: {{ $TreeCalcBot->user->sales_volume_total }} | Shop: {{ $TreeCalcBot->user->sales_volume_total_shop }}
</td>
</tr>
<tr>
<td>Persönliches Volumen:</td>
<td>
<span class="badge {{ $TreeCalcBot->user->isQualKP() ? 'badge-outline-success' : 'badge-outline-danger' }}"> KD {{ $TreeCalcBot->user->qual_kp }}</span>
</td>
</tr>
<tr>
<td>Qualifikation:</td>
<td>
TP {{ formatNumber($TreeCalcBot->user->qual_tp, 0) }} /
@if($TreeCalcBot->user->isQualKP())
<strong> TP {{ formatNumber($TreeCalcBot->total_qual_tp, 0) }}</strong> &nbsp;
@if($TreeCalcBot->qual_user_level)
<span class="badge badge-outline-success">{{ formatNumber($TreeCalcBot->qual_user_level->qual_tp, 0) }} | {{ $TreeCalcBot->qual_user_level->name }}</span>
@endif
@else
<span class="ion ion-md-close text-danger"></span>
@endif
</td>
</tr>
</tbody>
</table>
<hr class="border-light m-0">
<div class="table-responsive">
<table class="table card-table m-0">
<tbody>
<tr>
<th>Linie</th>
<th>Points</th>
<th>Provision</th>
<th>Provision</th>
</tr>
@for ($line=1; $line<=6; $line++)
<tr>
<td>
<div class="font-weight-bolder line-height-1 my-2 text-dark badge badge-outline-dark">{{ $line }}</div>
</td>
<td>{{ formatNumber($TreeCalcBot->getKeybyLine($line, 'points'), 0) }}</td>
<td>{{ formatNumber($TreeCalcBot->getKeybyLine($line, 'margin'), 0) }} %</td>
<td>{{ formatNumber($TreeCalcBot->getKeybyLine($line, 'commission'), 2) }}</td>
</tr>
@endfor
</tbody>
<tfoot>
<tr>
<td>Gesamt</td>
<td>{{ formatNumber($TreeCalcBot->total_tp, 0) }}</td>
<td></td>
<td><strong>{{ formatNumber($TreeCalcBot->commission_total, 2) }}</strong></td>
</tr>
</tfoot>
</table>
</div>
@include('admin.business._user_detail_in')
@endif
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">schließen</button>
</div>
<script>
$( document ).ready(function() {

View file

@ -9,19 +9,19 @@
margin-bottom: 6px;
}
</style>
<div class="card">
<h6 class="card-header">
Zahlungen / offene Gutschriften
<div class="card">
<h5 class="card-header">
Guthaben offen
<div class="float-right">
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-load-content"
data-id="new"
data-action="add-user-credit"
data-back="{{url()->current()}}"
data-route="{{ route('modal_load') }}"><span class="far fa-plus-circle"></span> Gutschrift hinzufügen
data-route="{{ route('modal_load') }}"><span class="far fa-plus-circle"></span> Guthaben hinzufügen
</button>
</div>
</h6>
</h5>
@if(isset($add_credit_error) && $add_credit_error)
<div class="col-sm-12">
@ -37,42 +37,33 @@
<table class="datatables-style table table-striped table-bordered">
<thead>
<tr>
<th>{{__('Account ID')}}</th>
<th>{{__('Vorname')}}</th>
<th>{{__('Nachname') }}</th>
<th>{{__('E-Mail') }}</th>
<th>{{__('Betrag') }}</th>
<th>{{__('aus Bestellung / Gutschrift')}}</th>
<th>{{__('Guthaben')}}</th>
<th>{{__('#')}}</th>
</tr>
</thead>
<tbody>
@foreach ($ShoppingOrderMargins as $ShoppingOrderMargin)
@foreach ($user_credit_items as $user_credit_item)
<tr>
<td>{{ $ShoppingOrderMargin->first_name }}</td>
<td>{{ $ShoppingOrderMargin->last_name }}</td>
<td>{{ $ShoppingOrderMargin->email }}</td>
<td>{!! \App\Services\UserMarign::getMontlyPartnerCommissionOpenByID($ShoppingOrderMargin->user_id, null, true, true) !!} &euro;</td>
<td>{{ $user_credit_item['m_account'] }}</td>
<td>{{ $user_credit_item['first_name'] }}</td>
<td>{{ $user_credit_item['last_name'] }}</td>
<td>{{ $user_credit_item['email'] }}</td>
<td>{!! formatNumber($user_credit_item['sum']) !!} &euro;</td>
<td>
@foreach (\App\Services\UserMarign::getOrderFromPartnerCommissionByID($ShoppingOrderMargin->user_id) as $order)
@if($order->shopping_order)
<div class="td-entry-table-margin"><a href="{{ route('admin_sales_customers_detail', [$order->shopping_order->id]) }}">
{{$order->shopping_order->shopping_user->billing_firstname }}
{{$order->shopping_order->shopping_user->billing_lastname }}
/ {{ $order->shopping_order->getLastShoppingPayment('reference') }}
/ {{ $order->shopping_order->getFormattedTotalWithoutCredit()."" }}
/ {{ $order->shopping_order->created_at->format("d.m.Y") }}
</a>
</div>
@endif
@endforeach
@foreach (\App\Services\UserMarign::getUserCreditMarginByID($ShoppingOrderMargin->user_id) as $creditMaring)
@foreach ($user_credit_item['entries'] as $key => $credit)
<div class="td-entry-table-margin">
<i class="fa fa-plus-circle text-secondary"></i>
{!! nl2br($creditMaring->message) !!}
/ {{ $creditMaring->created_at->format("d.m.Y") }}
@if($deleteTime = $creditMaring->deleteTime())
{!! formatNumber($credit->credit) !!} &euro; |
{!! nl2br($credit->message) !!}
/ {{ $credit->created_at->format("d.m.Y") }}
@if($deleteTime = $credit->deleteTime())
/ <span class="no-line-break">
<a class="btn btn-danger btn-xs" href="{{ route('admin_payments_credit_delete', [$creditMaring->id, 'user_credit_margin']) }}" onclick="return confirm('Wirklich löschen?');">
<a class="btn btn-danger btn-xs" href="{{ route('admin_payments_credit_delete', [$credit->id, 'user_credit_item']) }}" onclick="return confirm('Wirklich löschen?');">
<i class="ion ion-ios-trash"></i>
</a> noch {{ $deleteTime }} min.
</span>
@ -81,45 +72,12 @@
@endforeach
</td>
<td>
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-credit"
data-userid="{{ $ShoppingOrderMargin->user_id }}"
data-email="{{ $ShoppingOrderMargin->email }}"
<button type="button" class="btn btn-sm btn-secondary" data-toggle="modal" data-target="#modals-credit"
data-userid="{{ $user_credit_item['user_id'] }}"
data-email="{{ $user_credit_item['email'] }}"
data-back="{{url()->current()}}"
data-action="create_credit">
<span class="far fa-file-invoice-dollar"></span> <strong>Gutschrift erstellen</strong>
</button>
</td>
</tr>
@endforeach
@foreach ($onlyUserCreditMargins as $user_id => $onlyUserCreditMargin)
<tr>
<td>{{ $onlyUserCreditMargin['first_name'] }}</td>
<td>{{ $onlyUserCreditMargin['last_name'] }}</td>
<td>{{ $onlyUserCreditMargin['email'] }}</td>
<td>{!! formatNumber($onlyUserCreditMargin['sum']) !!} &euro;</td>
<td>
@foreach ($onlyUserCreditMargin['entries'] as $key => $creditMaring)
<div class="td-entry-table-margin">
<i class="fa fa-plus-circle text-secondary"></i>
{!! nl2br($creditMaring->message) !!}
/ {{ $creditMaring->created_at->format("d.m.Y") }}
@if($deleteTime = $creditMaring->deleteTime())
/ <span class="no-line-break">
<a class="btn btn-danger btn-xs" href="{{ route('admin_payments_credit_delete', [$creditMaring->id, 'user_credit_margin']) }}" onclick="return confirm('Wirklich löschen?');">
<i class="ion ion-ios-trash"></i>
</a> noch {{ $deleteTime }} min.
</span>
@endif
</div>
@endforeach
</td>
<td>
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-credit"
data-userid="{{ $onlyUserCreditMargin['user_id'] }}"
data-email="{{ $onlyUserCreditMargin['email'] }}"
data-back="{{url()->current()}}"
data-action="create_credit">
<span class="far fa-file-invoice-dollar"></span> <strong>Gutschrift erstellen</strong>
<span class="fa fa-dollar-sign"></span> <strong>Guthaben auszahlen</strong>
</button>
</td>
</tr>
@ -131,68 +89,35 @@
<div class="card mt-3">
<h6 class="card-header">
Zahlungen / offene Gutschriften pending
</h6>
<div class="card-datatable table-responsive pt-0">
<table class="datatables-style table table-striped table-bordered">
<thead>
<tr>
<th>{{__('Vorname')}}</th>
<th>{{__('Nachname') }}</th>
<th>{{__('E-Mail') }}</th>
<th>{{__('Betrag') }}</th>
<th>{{__('aus Bestellung')}}</th>
</tr>
</thead>
<tbody>
@foreach ($ShoppingOrderMarginPendings as $ShoppingOrderMarginPending)
<tr>
<td>{{ $ShoppingOrderMarginPending->first_name }}</td>
<td>{{ $ShoppingOrderMarginPending->last_name }}</td>
<td>{{ $ShoppingOrderMarginPending->email }}</td>
<td>{!! \App\Services\UserMarign::getMontlyPartnerCommissionPendingByID($ShoppingOrderMarginPending->user_id, null, true) !!} &euro;</td>
<td>
@foreach (\App\Services\UserMarign::getOrderFromPartnerCommissionPendingByID($ShoppingOrderMarginPending->user_id) as $order)
@if($order->shopping_order)
<div class="td-entry-table-margin"><a href="{{ route('admin_sales_customers_detail', [$order->shopping_order->id]) }}">
<a href="{{ route('admin_sales_customers_detail', [$order->shopping_order->id]) }}">
{{$order->shopping_order->shopping_user->billing_firstname }}
{{$order->shopping_order->shopping_user->billing_lastname }}
/ {{ $order->shopping_order->getLastShoppingPayment('reference') }}
/ {{$order->shopping_order->getFormattedTotalWithoutCredit()."" }}
/ {{ $order->shopping_order->created_at->format("d.m.Y") }}
</a>
</div>
@endif
@endforeach
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
<div class="card mt-3">
<h6 class="card-header">
Zahlungen / erstellte Gutschriften
</h6>
<div class="col-sm-6 mb-0 mt-2">
{!! Form::open(['url' => route('admin_payments_credit'), 'class' => 'form-horizontal', 'id'=>'form_filter_sales_year']) !!}
<label class="form-label" for="filter_sales_year">Filter Jahr</label>
<select class="custom-select" name="filter_sales_year" id="filter_sales_year">
@foreach($years as $year)
<option value="{{$year}}" @if($active_year == $year) selected @endif>{{$year}}</option>
@endforeach
</select>
{!! Form::close() !!}
<h5 class="card-header">
Gutschriften / Auszahlungen
</h5>
<div class="card-body p-0">
{!! Form::open(['url' => route('admin_payments_invoice'), 'class' => 'form-horizontal', 'id'=>'form_filter_payment_invoices']) !!}
<div class="form-row align-items-center px-4 pb-2 pt-3">
<div class="col-12 col-sm-4 col-md-4 col-lg-4 mb-1">
<input class="form-control on_keyup_invoice" name="credit_filter_name" type="text" value="{{session('credit_filter_name')}}" placeholder="Name">
</div>
<div class="col-6 col-sm-4 col-md-4 col-lg-4 mb-1">
<select class="custom-select on_change_invoice" name="credit_filter_month">
@foreach($filter_months as $key=>$value)
<option value="{{$key}}" @if(session('credit_filter_month') == $key) selected @endif>{{$value}}</option>
@endforeach
</select>
</div>
<div class="col-6 col-sm-4 col-md-4 col-lg-4 mb-1">
<select class="custom-select on_change_invoice" name="credit_filter_year">
@foreach($filter_years as $key=>$value)
<option value="{{$value}}" @if(session('credit_filter_year') == $value) selected @endif>{{$value}}</option>
@endforeach
</select>
</div>
</div>
{!! Form::close() !!}
<div class="card-datatable table-responsive pt-0">
<table class="datatables-style table table-striped table-bordered" id="datatable-credit">
<thead>
@ -206,7 +131,7 @@
<th>{{__('Betrag') }}</th>
<th>{{__('Datum') }}</th>
<th>{{__('Zahlung')}}</th>
<th>{{__('aus Bestellung / Gutschrift')}}</th>
<th>{{__('aus Guthaben')}}</th>
</tr>
</thead>
<tbody>
@ -214,6 +139,7 @@
</table>
</div>
</div>
</div>
<div class="modal fade" id="modals-credit">
<div class="modal-dialog">
@ -268,15 +194,15 @@
"order": [[0, "desc" ]],
"columns": [
{ data: 'id', searchable: false },
{ data: 'credit_number', name: 'credit_number' },
{ data: 'credit', name: 'credit', orderable: false, searchable: false },
{ data: 'full_number', name: 'full_number' },
{ data: 'view', name: 'view' },
{ data: 'user.account.first_name', name: 'user.account.first_name', orderable: false },
{ data: 'user.account.last_name', name: 'user.account.last_name', orderable: false },
{ data: 'user.email', name: 'user.email', orderable: false },
{ data: 'total', name: 'total' },
{ data: 'date', name: 'date' },
{ data: 'status', name: 'status', searchable: false },
{ data: 'user_margins', name: 'user_margins', orderable: false },
{ data: 'credits', name: 'credits', orderable: false },
],
"bLengthChange": false,
"iDisplayLength": 100,

View file

@ -6,49 +6,50 @@
Finanzen / Rechnungen
</h5>
<div class="card-body p-0">
{!! Form::open(['url' => route('admin_payments_invoice'), 'class' => 'form-horizontal', 'id'=>'form_filter_payment_invoices']) !!}
{!! Form::open(['url' => route('admin_payments_invoice'), 'class' => 'form-horizontal', 'id'=>'form_filter_payment_invoices']) !!}
<div class="form-row align-items-center px-4 pb-2 pt-3">
<div class="col-12 col-sm-4 col-md-4 col-lg-4 mb-1">
<input class="form-control on_keyup_invoice" name="invoice_filter_name" type="text" value="{{session('invoice_filter_name')}}" placeholder="Name">
</div>
<div class="col-6 col-sm-4 col-md-4 col-lg-4 mb-1">
<select class="custom-select on_change_invoice" name="invoice_filter_month">
@foreach($filter_months as $key=>$value)
<option value="{{$key}}" @if(session('invoice_filter_month') == $key) selected @endif>{{$value}}</option>
@endforeach
</select>
</div>
<div class="col-6 col-sm-4 col-md-4 col-lg-4 mb-1">
<select class="custom-select on_change_invoice" name="invoice_filter_year">
@foreach($filter_years as $key=>$value)
<option value="{{$value}}" @if(session('invoice_filter_year') == $value) selected @endif>{{$value}}</option>
@endforeach
</select>
<div class="form-row align-items-center px-4 pb-2 pt-3">
<div class="col-12 col-sm-4 col-md-4 col-lg-4 mb-1">
<input class="form-control on_keyup_invoice" name="invoice_filter_name" type="text" value="{{session('invoice_filter_name')}}" placeholder="Name">
</div>
<div class="col-6 col-sm-4 col-md-4 col-lg-4 mb-1">
<select class="custom-select on_change_invoice" name="invoice_filter_month">
@foreach($filter_months as $key=>$value)
<option value="{{$key}}" @if(session('invoice_filter_month') == $key) selected @endif>{{$value}}</option>
@endforeach
</select>
</div>
<div class="col-6 col-sm-4 col-md-4 col-lg-4 mb-1">
<select class="custom-select on_change_invoice" name="invoice_filter_year">
@foreach($filter_years as $key=>$value)
<option value="{{$value}}" @if(session('invoice_filter_year') == $value) selected @endif>{{$value}}</option>
@endforeach
</select>
</div>
</div>
{!! Form::close() !!}
<div class="card-datatable table-responsive pt-0">
<table class="datatables-style table table-striped table-bordered" id="datatable-invoice">
<thead>
<tr>
<th>#</th>
<th>{{__('Re.Nr.')}}</th>
<th>{{__('Rechnung')}}</th>
<th>{{__('Betrag') }}</th>
<th>{{__('Status')}}</th>
<th>{{__('Vorname')}}</th>
<th>{{__('Nachname') }}</th>
<th>{{__('E-Mail') }}</th>
<th>{{__('Datum') }}</th>
<th>{{__('Art')}}</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
{!! Form::close() !!}
<div class="card-datatable table-responsive pt-0">
<table class="datatables-style table table-striped table-bordered" id="datatable-invoice">
<thead>
<tr>
<th>#</th>
<th>{{__('Re.Nr.')}}</th>
<th>{{__('Rechnung')}}</th>
<th>{{__('Betrag') }}</th>
<th>{{__('Status')}}</th>
<th>{{__('Vorname')}}</th>
<th>{{__('Nachname') }}</th>
<th>{{__('E-Mail') }}</th>
<th>{{__('Datum') }}</th>
<th>{{__('Art')}}</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>

View file

@ -0,0 +1,45 @@
{!! Form::open(['url' => route('admin_payments_credit'), 'class' => 'modal-content form-prevent-multiple-submits', 'enctype' => 'multipart/form-data']) !!}
<div class="modal-header">
<h5 class="modal-title">
{{ __('Gutschrift') }}
<span class="font-weight-light">hinzufügen</span>
</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
</div>
<div class="modal-body">
<input type="hidden" name="action" value="{{$data['action']}}">
<input type="hidden" name="id" value="{{$data['id']}}">
<div class="form-row">
<div class="form-group col-12">
<label for="member_id" class="form-label">{{ __('Vertriebspartner auswählen') }}*</label>
<select class="selectpicker" name="member_id" data-style="btn-light" data-live-search="true" required>
{!! HTMLHelper::getMembersOptions(0, true) !!}
</select>
</div>
<div class="form-group col-12">
<label class="form-label" for="credit">{{ __('Betrag') }} netto*</label>
{{ Form::text('credit', '', array('placeholder'=>__('in Euro'), 'class'=>'form-control', 'required'=>true)) }}
</div>
<div class="form-group col-12">
<label class="form-label" for="message">{{ __('Betreff') }}*</label>
{{ Form::textarea('message', '' , array('placeholder'=>__('Mitteilung'), 'class'=>'form-control', 'rows'=>4, 'required'=>true)) }}
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">schließen</button>
<button type="submit" class="btn btn-primary button-prevent-multiple-submits"><i class="spinner fa fa-spinner fa-spin"></i> {{__('Gutschrift hinzufügen')}}</button>
</div>
{!! Form::close() !!}
<script type="text/javascript">
$( document ).ready(function() {
});
</script>

View file

@ -0,0 +1,82 @@
{!! Form::open(['url' => route('admin_payments_credit_create'), 'class' => 'modal-content', 'enctype' => 'multipart/form-data']) !!}
<style>
.unselectable {
-moz-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
}
.selectall {
-moz-user-select: all;
-webkit-user-select: all;
-ms-user-select: all;
}
</style>
<div class="modal-header">
<h5 class="modal-title">
{{ __('Gutschriften Zahlung') }}
</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
</div>
<div class="modal-body">
<input type="hidden" name="action" value="{{$data['action']}}">
<input type="hidden" name="id" value="{{$data['id']}}">
<div class="form-row">
<div class="form-group col-12">
<label for="status" class="form-label">{{ __('Status') }}*</label>
{{ Form::select('status', $UserCredit::$statusTypes, $UserCredit->status, array('data-live-search'=>'false', 'class'=>'selectpicker') ) }}
</div>
</div>
<table class="table user-view-table m-0">
<tbody>
<tr>
<td>Betrag:</td>
<td>
{{ $UserCredit->getFormattedTotal()."" }}
</td>
</tr>
{{-- <tr>
<td>Zahlungsart:</td>
<td>
@if ($value->user->account->getPaymentData('payout') === 'paypal')
<span class="btn btn-sm btn-outline-twitter">PayPal</span>
@endif
@if ($value->user->account->getPaymentData('payout') === 'bank')
<span class="btn btn-outline-google">Banküberweisung</span>
@endif
</td>
</tr>
--}}
<tr class="unselectable">
<td>Bankinhaber</td>
<td><div class="selectall">{{ $UserCredit->user->account->bank_owner }}</div></td>
</tr>
<tr>
<td>IBAN:</td>
<td><div class="selectall">{{ $UserCredit->user->account->bank_iban }}</div></td>
</tr>
<tr>
<td>BIC:</td>
<td><div class="selectall">{{ $UserCredit->user->account->bank_bic }}</div></td>
</tr>
</tbody>
</table>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">schließen</button>
<button type="submit" class="btn btn-primary">{{__('speichern')}}</button>
</div>
{!! Form::close() !!}
<script type="text/javascript">
$( document ).ready(function() {
});
</script>

View file

@ -6,13 +6,13 @@
</h4>
{!! Form::open(['url' => route('admin_setting_store'), 'class' => 'form-horizontal']) !!}
{{-- <div class="card mb-2">
<div class="card mb-2">
<div class="card-body">
<h4>Rechnungen Einstellungen</h4>
<h4>Rechnungen / Gutschriften Einstellungen</h4>
<div class="form-row">
<div class="form-group col-sm-12">
<label class="form-label">{{ __('nächste Rechnungsnummer') }}*</label>
{{ Form::text('settings[invoice-number][val]', \App\Models\Setting::getContentBySlug('invoice-number'), array('class'=>'form-control')) }}
{{ Form::text('settings[invoice-number][val]', \App\Models\Setting::getContentBySlug('invoice-number'), array('class'=>'form-control', 'disabled')) }}
{{ Form::hidden('settings[invoice-number][type]', 'int') }}
</div>
</div>
@ -23,10 +23,16 @@
{{ Form::hidden('settings[credit-number][type]', 'int') }}
</div>
</div>
<div class="form-row">
<div class="form-group col-sm-12">
<label class="form-label">{{ __('Tag des Monats für die Fixierung/Auswertungen der Business Marketing Plans') }}*</label>
{{ Form::text('settings[day-exectute-business-structur][val]', \App\Models\Setting::getContentBySlug('day-exectute-business-structur'), array('class'=>'form-control')) }}
{{ Form::hidden('settings[day-exectute-business-structur][type]', 'int') }}
</div>
</div>
<button type="submit" name="action" value="save_prepayment" class="btn btn-primary btn-sm mb-2"><i class="ion ion-ios-save"></i> speichern</button>
</div>
</div>
--}}
{!! Form::close() !!}

View file

@ -16,7 +16,8 @@
</div>
@endif
</h6>
<table class="table table-striped table-bordered">
<div class="card-datatable table-responsive">
<table class="datatables-user-points table table-striped table-bordered">
<thead>
<tr>
<th>{{__('Datum') }}</th>
@ -62,12 +63,31 @@
@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"><i class="ion ion-md-funnel rotate-180 text-default mr-1"></i> {{__('navigation.my_team')}} - {{__('navigation.structure')}}</a>
<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>
</div>
<script>
$( document ).ready(function() {
$('.datatables-user-points').dataTable({
"bLengthChange": false,
"iDisplayLength": 50,
"stateSave": true,
"searching": false,
"language": {
"url": "/js/German.json"
}
});
});
</script>

View file

@ -31,7 +31,6 @@
@include('dashboard._reminder')
@include('dashboard._membership')
@include('dashboard._shop')

View file

@ -19,6 +19,9 @@
<div>{{ __('navigation.my_account') }}</div>
</a>
<ul class="sidenav-menu">
<li class="sidenav-item{{ Request::is('user/payment/credit') ? ' active' : '' }}">
<a href="{{ route('user_payment_credit') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-cash"></i><div>{{ __('navigation.credit') }}</div></a>
</li>
<li class="sidenav-item{{ Request::is('user/edit') ? ' active' : '' }}">
<a href="{{ route('user_edit') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-create"></i><div>{{ __('navigation.my_data') }}</div></a>
</li>
@ -59,6 +62,9 @@
<li class="sidenav-item{{ Request::is('user/team/structure') ? ' active' : '' }}">
<a href="{{ route('user_team_structure') }}" class="sidenav-link"><i class="sidenav-icon ion ion ion-md-funnel rotate-180" style="text-align: right"></i><div>{{ __('navigation.structure') }}</div></a>
</li>
<li class="sidenav-item{{ Request::is('user/team/points') ? ' active' : '' }}">
<a href="{{ route('user_team_points') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-arrow-dropup-circle"></i><div>{{ __('navigation.points') }}</div></a>
</li>
<li class="sidenav-item{{ Request::is('user/team/members') ? ' active' : '' }}">
<a href="{{ route('user_team_members') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-person-add"></i><div>neuen {{ __('navigation.member') }}</div></a>
</li>
@ -149,7 +155,7 @@
<a href="{{ route('admin_payments_invoice') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-arrow-dropleft-circle"></i><div>{{ __('navigation.invoice') }}</div></a>
</li>
<li class="sidenav-item{{ Request::is('admin/payments/credit') ? ' active' : '' }}">
<a href="{{ route('admin_payments_credit') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-arrow-dropright-circle"></i><div>{{ __('navigation.credit') }}</div> <div class="badge badge-danger">x</div></a>
<a href="{{ route('admin_payments_credit') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-arrow-dropright-circle"></i><div>{{ __('navigation.credit') }}</div></a>
</li>
</ul>
</li>

View file

@ -0,0 +1,413 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>mivita.care</title>
<style>
/* roboto-300 - latin */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 300;
src: url('fonts/roboto/roboto-v20-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
}
/* roboto-regular - latin */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
src: url('fonts/roboto/roboto-v20-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
}
/* roboto-500 - latin */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 500;
src: url('fonts/roboto/roboto-v20-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */
}
/* roboto-700 - latin */
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 700;
src: url('fonts/roboto/roboto-v20-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
}
html {
width: 100%;
height: 100%;
}
body {
position: relative;
width: 100%;
height: 100%;
margin: 0 auto;
padding: 0;
color: #000;
background: #fff;
font-family: 'Roboto', sans-serif;
font-size: 9.5pt;
font-weight: 400 ;
}
table {
border: none;
}
strong {
font-weight: bold !important;
}
@page {
margin: 0px;
}
@page {
margin-top: 0px;
}
@page {
margin: 50mm 0 45mm 0;
}
.font-weight-bold {
font-weight: bold !important;
}
#address_box {
position: relative;
padding-left: 15mm;
width: 90mm;
height: 40mm;
z-index: 1;
line-height: 10pt;
letter-spacing: 0em;
}
#address_box_top {
font-size: 8.5pt;
color:#858585;
margin-bottom: 0.5em;
}
#title_box {
position: relative;
padding-left: 15mm;
width: 180mm;
height: 8mm;
z-index: 2;
text-align: left;
}
#title_box .title {
font-size: 16pt;
line-height: 12pt;
}
#title_box .subtitle {
line-height: 9pt;
}
#detail_box_right {
position: absolute;
top:-4mm;
right: 15mm;
width: 60mm;
height: 30mm;
z-index: 4;
}
#detail_box_right.for_shop {
top:10mm;
}
#detail_box_right table {
width: 100%;
line-height: 9pt;
}
.xsmall {
font-size: 0.9em;
}
#invoice_box {
position: relative;
padding-top: 0mm;
margin-left: 15mm;
width: 180mm;
line-height: 10pt;
}
#invoice_box table {
width: 100%;
border-collapse: collapse;
}
#invoice_box table tfoot tr {
page-break-after: avoid;
}
#invoice_box table tr th {
font-size: 9pt;
}
#invoice_box table tr td {
vertical-align: top;
padding-top: 2mm;
padding-bottom: 2mm;
padding-left: 1.5mm;
padding-right: 1.5mm;
border-top: 0.5pt dotted #1a1a18;
}
#invoice_box table tfoot tr td {
border-top: none;
}
#invoice_box table tfoot tr.fullline td {
border-top: 0.3pt solid #575755;
}
#invoice_box table tfoot tr.doubleline td {
border-top: 2pt double #575755;
}
#invoice_box table tfoot tr.fullline td.no-border {
border-top: none;
}
#invoice_box table tfoot tr td {
padding-top: 1.2mm;
padding-bottom: 1.2mm;
}
#invoice_box table td.small {
width: 1%;
white-space: nowrap;
}
#invoice_box table tr.foot-small td {
font-size: 0.9em;
padding-top: 1.2mm;
padding-bottom: 1.2mm;
}
#invoice_box table tfoot tr.foot-small td {
font-size: 0.9em;
padding-top: 0.9mm;
padding-bottom: 0.9mm;
}
#invoice_box table tr th {
line-height: 12pt;
padding-bottom: 1mm;
padding-left: 1mm;
padding-right: 1mm;
background-color: rgb(212, 212, 212);
}
#invoice_box table td .title {
}
#invoice_box table td .description {
padding-top: 1mm;
}
#invoice_box table td .price_net {
padding-top: 1mm;
font-size: 10pt;
padding-bottom: 1mm;
}
#invoice_box table td .price_tax {
padding-top: 0.7mm;
padding-bottom: 0.7mm;
}
.singel-line-top {
border-top: 1pt solid #1a1a18;
}
.double-line {
border-bottom: 2.5pt double #1a1a18;
}
.dotted-line {
border-bottom: 0.8pt dotted #1a1a18;
}
#footer_box {
position: relative;
top:5mm;
left: 15mm;
width: 180mm;
height: 20mm;
z-index: 6;
text-align: center;
}
.text-right {
text-align: right;
}
.text-left {
text-align: left;
}
.text-center {
text-align: center;
}
.no-line-break {
white-space: nowrap;
}
</style>
</head>
<body>
<script type="text/php">
if ( isset($pdf) ) {
$pdf->page_script('
if ($PAGE_COUNT > 1) {
$pageText = "Seite: ".$PAGE_NUM . "/" . $PAGE_COUNT;
$y = 40 * 3;
$x = 170 * 3;
$pdf->text($x, $y, $pageText, null, 9);
}
');
}
</script>
<div id="address_box">
<div id="address_box_top">mivita e.K. Leinfeld 2 87755 Kirchhaslach</div>
@if($user->account)
@if($user->account->company)
{{ $user->account->company }}<br>
@else
Firma <br>
@endif
{{ \App\Services\HTMLHelper::getSalutationLang($user->account->salutation) }}
{{ $user->account->first_name }} {{ $user->account->last_name }}<br>
{{ $user->account->address }}<br>
@if($user->account->address_2)
{{ $user->account->address_2 }}<br>
@endif
{{ $user->account->zipcode}} {{ $user->account->city }}<br>
@if($user->account->country)
{{ $user->account->country->getLocated() }}
@endif
@endif
</div>
<div id="detail_box_right" class="for_shop">
<table>
<tr>
<td class="text-left">{{ __('Berater-ID') }}:</td>
<td class="text-right">
@if(isset($user->account))
{!! str_pad($user->account->m_account, 5, "0", STR_PAD_LEFT) !!}
@endif
</td>
</tr>
<tr>
<td class="text-left">{{ __('Datum') }}:</td>
<td class="text-right">{{ $credit_date }}</td>
</tr>
<tr>
<td class="text-left">{{ __('Gutschrifts-Nr.') }}:</td>
<td class="text-right">{{ $credit_number }}</td>
</tr>
@if($user->account->tax_number)
<tr>
<td>
{{ __('St.-Nr') }}: {{ $user->account->tax_number}}
</td>
</tr>
@else
@if($user->account->tax_identification_number)
<tr>
<td>
{{ __('USt-IdNr.') }}: {{ $user->account->tax_identification_number}}
</td>
</tr>
@endif
@endif
</table>
</div>
<div id="title_box">
<div class="title">GUTSCHRIFT</div>
{{-- @if($cancellation)
<div class="subtitle">{{ $invoice->invoice_name }}</div>
@endif--}}
</div>
<div id="invoice_box">
<table>
<thead>
<tr>
<th class="text-left" style="width: 75%">Gutschrift aus</th>
<th class="text-right" style="width: 25%">Betrag</th>
</tr>
</thead>
<tbody>
@foreach($user_credit_items as $user_credit_item)
<tr class="item">
<td class="small text-left">
{!! nl2br($user_credit_item->message) !!} / {{ $user_credit_item->created_at->format('d.m.Y') }}
</td>
<td class="text-right small">
{{ \App\Services\Util::formatNumber($user_credit_item->credit) }} &euro;*
</td>
</tr>
@endforeach
</tbody>
<tfoot>
<tr class="fullline">
<td class="text-right">
Zwischensumme
</td>
<td class="text-right">
{{ \App\Services\Util::formatNumber($user_credits->net) }} &euro;*
</td>
</tr>
@if ($user_credits->taxable)
<tr class="">
<td class="text-right">
Mehrwertsteuer: {{ $user_credits->tax_rate }} % <br>
</td>
<td class="text-right">
{{ \App\Services\Util::formatNumber($user_credits->tax) }} &euro;
</td>
</tr>
@else
<tr class="">
<td class="text-right">
Mehrwertsteuer: {{ $user_credits->tax_rate }} % <br>
Gutschriftsempfänger ist Kleinunternehmer nach § 19 (1) UStG.
</td>
<td class="text-right">
{{ \App\Services\Util::formatNumber($user_credits->tax) }} &euro;
</td>
</tr>
@endif
<tr class="fullline">
<td class="text-right">
<b>Auszahlungsbetrag (Brutto):</b>
</td>
<td class="text-right">
<b> {{ \App\Services\Util::formatNumber($user_credits->total) }} &euro;</b>
<br>
<span style="font-size: 0.9em"><em>* Nettobeträge</em></span>
</td>
</tr>
</tfoot>
</table>
</div>
<div id="footer_box">
<div class="text">
</div>
</div>
</body>
</html>

View file

@ -6,6 +6,7 @@
<h5 class="card-header py-4 px-5">Sys Admin Tools</h5>
<div class="row no-gutters row-bordered">
<div class="col-md-12 p-5">
<a href="{{ route('sysadmin_tool', ['business_structur']) }}" class="d-block mb-3"><i class="ion ion-ios-arrow-forward"></i>&nbsp; Business Strukrur speichern</a>
<a href="{{ route('sysadmin_tool', ['sales_members']) }}" class="d-block mb-3"><i class="ion ion-ios-arrow-forward"></i>&nbsp; Buchnungen Pakete Berater nach Jahren</a>
<a href="{{ route('sysadmin_tool', ['customers']) }}" class="d-block mb-3"><i class="ion ion-ios-arrow-forward"></i>&nbsp; Kundenhoheit prüfen</a>
<a href="{{ route('sysadmin_tool', ['cronjobs']) }}" class="d-block mb-3"><i class="ion ion-ios-arrow-forward"></i>&nbsp; Cron Jobs</a>

View file

@ -0,0 +1,16 @@
@extends('layouts.layout-2')
@section('content')
<div class="card">
<h5 class="card-header">
SysAdmin Business Struktur speichern
</h5>
<div class="col-sm-6 mb-2">
{!! Form::open(['url' => route('sysadmin_tool_store', ['business_structur']), 'class' => 'form-horizontal', 'id'=>'filter_sales_member']) !!}
<button type="submit" name="action" value="store" class="btn btn-primary"><i class="ion"></i> store</button>
{!! Form::close() !!}
</div>
</div>
@endsection

View file

@ -0,0 +1,111 @@
@extends('layouts.layout-2')
@section('content')
<h4 class="font-weight-bold py-2 mb-2">
{{ __('navigation.my_account') }} / {{ __('navigation.credit') }}
</h4>
<div class="card">
<div class="card-datatable table-responsive">
<table class="datatables-style table table-striped table-bordered" id="datatable-user-credit">
<thead>
<tr>
<th>{{ __('G.Nr.') }}</th>
<th>{{ __('Gutschrift') }}</th>
<th>{{ __('Betrag') }}</th>
<th>{{ __('Datum') }}</th>
<th>{{ __('Zahlung') }}</th>
<th>{{ __('aus Guthaben') }}</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
<hr>
<div class="card">
<h5 class="card-header">
Mein Guthaben
</h5>
<div class="card-datatable table-responsive">
<table class="datatables-style table table-striped table-bordered" id="datatable-user-credit-item">
<thead>
<tr>
<th style="width: 55%">Betreff</th>
<th>Betrag</th>
<th>Datum</th>
<th>Status</th>
<th>Gutschrift</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
<script>
$(document).ready(function() {
var creditTable = $('#datatable-user-credit').DataTable({
"processing": true,
"serverSide": true,
ajax: {
url: '{!! route( 'user_payment_credit_datatable') !!}',
data: function(d) {
//d.filter_sales_year = $('select[name=filter_sales_year]').val();
}
},
"order": [[0, "desc" ]],
"columns": [
{ data: 'full_number', name: 'full_number' },
{ data: 'view', name: 'view', orderable: false, searchable: false },
{ data: 'total', name: 'total' },
{ data: 'date', name: 'date' },
{ data: 'status', name: 'status', searchable: false },
{ data: 'credits', name: 'credits', orderable: false },
],
"bLengthChange": false,
"iDisplayLength": 50,
"language": {
"url": "/js/German.json"
}
});
/*$('#filter_sales_year').on('change', function(){
oTable.draw();
});
*/
var creditItemTable = $('#datatable-user-credit-item').DataTable({
"processing": true,
"serverSide": true,
ajax: {
url: '{!! route('user_payment_credit_item_datatable') !!}',
/*data: function(d) {
d.filter_user_status = $('select[name=filter_user_status]').val();
}*/
},
"order": [
[2, "desc"]
],
"columns": [
{ data: 'message', name: 'message' },
{ data: 'credit', name: 'credit' },
{ data: 'created_at', name: 'created_at' },
{ data: 'status', name: 'status', orderable: false, searchable: false },
{ data: 'paid', name: 'paid', orderable: false, searchable: false },
],
"bLengthChange": false,
"iDisplayLength": 50,
"language": {
"url": "/js/German.json"
}
});
/*$('#filter_user_status').on('change', function(){
oTable.draw();
});*/
});
</script>
@endsection

View file

@ -0,0 +1,110 @@
@extends('layouts.layout-2')
@section('content')
@if ($errors->any())
<div class="row">
<div class="col-sm-12">
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
</div>
</div>
@endif
<h4 class="font-weight-bold py-2 mb-2">
{{ __('navigation.my_team') }}
</h4>
<div class="card">
<h5 class="card-header">
{{__('Points')}}
</h5>
<div class="card-body">
{!! Form::open(['url' => route('user_team_points'), 'class' => 'form-horizontal', 'id'=>'form_filter_user_points']) !!}
<div class="form-row align-items-center px-0 pb-2 pt-0">
<div class="col-6 col-sm-4 col-md-4 col-lg-4 mb-1">
<select class="custom-select on_change_select_filter" name="team_user_points_filter_month">
@foreach($filter_months as $key=>$value)
<option value="{{$key}}" @if(session('team_user_points_filter_month') == $key) selected @endif>{{$value}}</option>
@endforeach
</select>
</div>
<div class="col-6 col-sm-4 col-md-4 col-lg-4 mb-1">
<select class="custom-select on_change_select_filter" name="team_user_points_filter_year">
@foreach($filter_years as $key=>$value)
<option value="{{$value}}" @if(session('team_user_points_filter_year') == $value) selected @endif>{{$value}}</option>
@endforeach
</select>
</div>
</div>
{!! Form::close() !!}
<hr class="container-m-nx border-light mt-0">
<div class="card">
<div class="card-datatable table-responsive">
<table class="table table-striped table-bordered" id="datatable-user-points">
<thead>
<tr>
<th>{{__('Datum') }}</th>
<th>{{__('Points')}}</th>
<th>{{__('Umsatz netto')}}</th>
<th>{{__('Art')}}</th>
<th>{{__('Bestellung')}}</th>
<th>{{__('Info') }}</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
<script>
$( document ).ready(function() {
var oTable = $('#datatable-user-points').DataTable({
"processing": true,
"serverSide": true,
"stateSave": true,
"searching": false,
ajax: {
url: '{!! route('user_team_datatable_points') !!}',
data: function(d) {
d.team_user_points_filter_month = $('select[name=team_user_points_filter_month]').val();
d.team_user_points_filter_year = $('select[name=team_user_points_filter_year]').val();
}
},
"order": [[0, "desc" ]],
"columns": [
{ data: 'date', name: 'date' },
{ data: 'points', name: 'points' },
{ data: 'total_net', name: 'total_net' },
{ data: 'status', name: 'status', searchable: false },
{ data: 'order', name: 'order', orderable: false },
{ data: 'message', name: 'message', searchable: false },
],
"bLengthChange": false,
"iDisplayLength": 100,
"language": {
"url": "/js/German.json"
},
"drawCallback": function( settings ) {
alert( 'DataTables has redrawn the table' );
}
});
$('select.on_change_select_filter').on('change', function(){
oTable.draw();
});
$('input.on_keyup_input_filter').on('keyup', function(){
oTable.draw();
});
});
</script>
@endsection

View file

@ -0,0 +1,10 @@
<h6>
@if($userSalesVolume)
<div class="mb-2">
<strong>Gesamte Points: {{ $userSalesVolume->getPointsSum() }}</strong> | Berater: {{ $userSalesVolume->month_points }} | Shop: {{ $userSalesVolume->month_shop_points }}<br>
</div>
<div>
<strong>Gesamter Umsatz: {{ formatNumber($userSalesVolume->getTotalNetSum()) }} &euro;</strong> | Berater: {{ formatNumber($userSalesVolume->month_total_net) }} &euro; | Shop: {{ formatNumber($userSalesVolume->month_shop_total_net) }} &euro;
</div>
@endif
</h6>

View file

@ -0,0 +1,125 @@
@extends('layouts.layout-2')
@section('content')
@if ($errors->any())
<div class="row">
<div class="col-sm-12">
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
</div>
</div>
@endif
<h4 class="font-weight-bold py-2 mb-2">
{{ __('navigation.my_team') }}
</h4>
<div class="card">
<h5 class="card-header">
{{__('Points')}}
</h5>
<div class="card-body">
{!! Form::open(['url' => route('user_team_points'), 'class' => 'form-horizontal', 'id'=>'form_filter_user_points']) !!}
<div class="form-row align-items-center px-0 pb-2 pt-0">
<div class="col-6 col-sm-4 col-md-4 col-lg-4 mb-1">
<select class="custom-select on_change_select_filter" name="team_user_points_filter_month">
@foreach($filter_months as $key=>$value)
<option value="{{$key}}" @if(session('team_user_points_filter_month') == $key) selected @endif>{{$value}}</option>
@endforeach
</select>
</div>
<div class="col-6 col-sm-4 col-md-4 col-lg-4 mb-1">
<select class="custom-select on_change_select_filter" name="team_user_points_filter_year">
@foreach($filter_years as $key=>$value)
<option value="{{$value}}" @if(session('team_user_points_filter_year') == $value) selected @endif>{{$value}}</option>
@endforeach
</select>
</div>
</div>
{!! Form::close() !!}
<hr class="container-m-nx border-light mt-0">
<div id="user_team_points_sum">
@include('user.team._points_sum', ['userSalesVolume' => $userSalesVolume])
</div>
<div class="card">
<div class="card-datatable table-responsive">
<table class="table table-striped table-bordered" id="datatable-user-points">
<thead>
<tr>
<th>{{__('Datum') }}</th>
<th>{{__('Points')}}</th>
<th>{{__('Umsatz netto')}}</th>
<th>{{__('Art')}}</th>
<th>{{__('Bestellung')}}</th>
<th>{{__('Info') }}</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
</div>
<script>
$( document ).ready(function() {
function callback_ajax_team_user_points_sum(data){
$("#user_team_points_sum").html(data.html);
}
function load_team_user_points_sum(){
var $elem = $('<div/>');
$elem.data('action', 'load_team_user_points_sum');
$elem.data('team_user_points_filter_month', $('select[name=team_user_points_filter_month]').val());
$elem.data('team_user_points_filter_year', $('select[name=team_user_points_filter_year]').val());
$elem.data('url', '{{route('user_team_load')}}');
ajax_object_action(false, $elem, callback_ajax_team_user_points_sum);
}
var oTable = $('#datatable-user-points').DataTable({
"processing": true,
"serverSide": true,
"stateSave": true,
"searching": false,
ajax: {
url: '{!! route('user_team_datatable_points') !!}',
data: function(d) {
d.team_user_points_filter_month = $('select[name=team_user_points_filter_month]').val();
d.team_user_points_filter_year = $('select[name=team_user_points_filter_year]').val();
}
},
"order": [[0, "desc" ]],
"columns": [
{ data: 'date', name: 'date' },
{ data: 'points', name: 'points' },
{ data: 'total_net', name: 'total_net' },
{ data: 'status', name: 'status', searchable: false },
{ data: 'order', name: 'order', orderable: false },
{ data: 'message', name: 'message', searchable: false },
],
"bLengthChange": false,
"iDisplayLength": 100,
"language": {
"url": "/js/German.json"
},
"drawCallback": function( settings ) {
load_team_user_points_sum();
}
});
$('select.on_change_select_filter').on('change', function(){
oTable.draw();
});
$('input.on_keyup_input_filter').on('keyup', function(){
oTable.draw();
});
});
</script>
@endsection

View file

@ -74,6 +74,7 @@
</div>
</div>
</div>
</div>
<link rel="stylesheet" href="/vendor/libs/nestable/nestable.css">
<script src="/vendor/libs/nestable/jquery-nestable.js?v=1"></script>
<script>