#51 Festschreiben der Points, Gutschriftenmodul
This commit is contained in:
parent
dfd049aaa9
commit
3f2fbd6d5b
63 changed files with 4610 additions and 971 deletions
164
resources/views/admin/business/_user_detail_in.blade.php
Normal file
164
resources/views/admin/business/_user_detail_in.blade.php
Normal 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) }} €</strong>
|
||||
(Berater: {{ formatNumber($TreeCalcBot->business_user->sales_volume_total) }} € | Shop: {{ formatNumber($TreeCalcBot->business_user->sales_volume_total_shop) }} €)
|
||||
</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>
|
||||
@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) }} €</strong></span>
|
||||
|
||||
(Umsatz Shop netto: {{ formatNumber($TreeCalcBot->business_user->sales_volume_total_shop) }} € / {{ $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) }} €</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()) }} €</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 €</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
|
||||
@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) }} €</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) }} €</strong></td>
|
||||
</tr>
|
||||
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
|
|
@ -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>
|
||||
|
||||
|
|
|
|||
|
|
@ -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' },
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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> --}}
|
||||
|
||||
</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>
|
||||
@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() {
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
@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() {
|
||||
|
||||
|
|
|
|||
|
|
@ -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) !!} €</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']) !!} €</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) !!} € |
|
||||
{!! 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']) !!} €</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) !!} €</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,
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
||||
|
|
|
|||
45
resources/views/admin/payment/modal_add_credit.blade.php
Normal file
45
resources/views/admin/payment/modal_add_credit.blade.php
Normal 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>
|
||||
82
resources/views/admin/payment/modal_credit_status.blade.php
Normal file
82
resources/views/admin/payment/modal_credit_status.blade.php
Normal 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>
|
||||
|
|
@ -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() !!}
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
@ -31,7 +31,6 @@
|
|||
|
||||
@include('dashboard._reminder')
|
||||
|
||||
|
||||
@include('dashboard._membership')
|
||||
|
||||
@include('dashboard._shop')
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
413
resources/views/pdf/credit.blade.php
Normal file
413
resources/views/pdf/credit.blade.php
Normal 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) }} €*
|
||||
</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) }} €*
|
||||
</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) }} €
|
||||
</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) }} €
|
||||
</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) }} €</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>
|
||||
|
|
@ -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> Business Strukrur speichern</a>
|
||||
<a href="{{ route('sysadmin_tool', ['sales_members']) }}" class="d-block mb-3"><i class="ion ion-ios-arrow-forward"></i> 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> Kundenhoheit prüfen</a>
|
||||
<a href="{{ route('sysadmin_tool', ['cronjobs']) }}" class="d-block mb-3"><i class="ion ion-ios-arrow-forward"></i> Cron Jobs</a>
|
||||
|
|
|
|||
16
resources/views/sys/tools/business_structur.blade.php
Normal file
16
resources/views/sys/tools/business_structur.blade.php
Normal 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
|
||||
111
resources/views/user/payment/credit.blade.php
Normal file
111
resources/views/user/payment/credit.blade.php
Normal 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
|
||||
110
resources/views/user/team/_points_detail.blade.php
Normal file
110
resources/views/user/team/_points_detail.blade.php
Normal 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
|
||||
10
resources/views/user/team/_points_sum.blade.php
Normal file
10
resources/views/user/team/_points_sum.blade.php
Normal 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()) }} €</strong> | Berater: {{ formatNumber($userSalesVolume->month_total_net) }} € | Shop: {{ formatNumber($userSalesVolume->month_shop_total_net) }} €
|
||||
</div>
|
||||
@endif
|
||||
</h6>
|
||||
125
resources/views/user/team/points.blade.php
Normal file
125
resources/views/user/team/points.blade.php
Normal 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
|
||||
|
|
@ -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>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue