Rechnungen + Gutschriften
This commit is contained in:
parent
39ef16686a
commit
35ae3da244
33 changed files with 2834 additions and 34 deletions
|
|
@ -39,5 +39,9 @@ return [
|
|||
'countries'=>'Länder',
|
||||
'logout'=>'Logout',
|
||||
'system_settings' => 'Systemeinstellungen',
|
||||
'new_register' => 'neu registrieren'
|
||||
'new_register' => 'neu registrieren',
|
||||
'payments' => 'Zahlungen',
|
||||
'credit' => 'Gutschriften',
|
||||
'invoice' => 'Rechnungen',
|
||||
'revenue' => 'Umsätze',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -53,8 +53,10 @@
|
|||
<div class="form-group col-12">
|
||||
<label class="custom-control custom-checkbox m-2">
|
||||
{!! Form::checkbox('partner_provision', 1, $value->partner_provision, ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label">Vertriebspartner Provision berechnen</span>
|
||||
<span class="custom-control-label">Bekommt Provision von seinen Vertriebspartner</span>
|
||||
</label>
|
||||
<em>Auch immer die Provision bei den Staffelpreisen eintragen!<br>Die Provision wird beim Käufer berechnet und nur ein Sponsor mit der Rolle wo diese Checkbox aktiv ist bekommt die Provison gutgeschrieben.</em>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
|||
232
resources/views/admin/payment/credit/index.blade.php
Executable file
232
resources/views/admin/payment/credit/index.blade.php
Executable file
|
|
@ -0,0 +1,232 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="card">
|
||||
<h6 class="card-header">
|
||||
Zahlungen / offene Gutschriften
|
||||
</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>
|
||||
<th>{{__('#')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($ShoppingOrderMargins as $ShoppingOrderMargin)
|
||||
<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) !!} €</td>
|
||||
<td>
|
||||
@foreach (\App\Services\UserMarign::getOrderFromPartnerCommissionByID($ShoppingOrderMargin->user_id) as $order)
|
||||
@if($order->shopping_order)
|
||||
<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> <br>
|
||||
@endif
|
||||
@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 }}"
|
||||
data-back="{{url()->current()}}"
|
||||
data-action="create_credit">
|
||||
<span class="far fa-file-invoice-dollar"></span> <strong>Gutschrift erstellen</strong>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<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)
|
||||
<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> <br>
|
||||
@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() !!}
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-datatable table-responsive pt-0">
|
||||
<table class="datatables-style table table-striped table-bordered" id="datatable-credit">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>{{__('Vorname')}}</th>
|
||||
<th>{{__('Nachname') }}</th>
|
||||
<th>{{__('E-Mail') }}</th>
|
||||
<th>{{__('Betrag') }}</th>
|
||||
<th>{{__('Datum') }}</th>
|
||||
<th>{{__('aus Bestellung')}}</th>
|
||||
<th>{{__('Status')}}</th>
|
||||
<th>{{__('Gutschrift')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$( document ).ready(function() {
|
||||
var oTable = $('#datatable-credit').DataTable({
|
||||
"processing": true,
|
||||
"serverSide": true,
|
||||
ajax: {
|
||||
url: '{!! route( 'admin_payments_credit_datatable') !!}',
|
||||
data: function(d) {
|
||||
d.filter_sales_year = $('select[name=filter_sales_year]').val();
|
||||
}
|
||||
},
|
||||
"order": [[0, "desc" ]],
|
||||
"columns": [
|
||||
{ data: 'id', searchable: false },
|
||||
{ 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: 'user_margins', name: 'user_margins', orderable: false },
|
||||
{ data: 'status', name: 'status', searchable: false },
|
||||
{ data: 'credit', name: 'credit', orderable: false, searchable: false },
|
||||
],
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 100,
|
||||
"language": {
|
||||
"url": "/js/German.json"
|
||||
}
|
||||
});
|
||||
$('#filter_sales_year').on('change', function(){
|
||||
oTable.draw();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
/*$('#filter_sales_year').on('change', function(){
|
||||
$('#form_filter_sales_year').submit();
|
||||
});*/
|
||||
|
||||
|
||||
$( document ).ready(function() {
|
||||
$('#modals-credit').on('show.bs.modal', function (event) {
|
||||
var button = $(event.relatedTarget);
|
||||
$(this).find(".modal-content input[name='userid']").val(button.data('userid'));
|
||||
$(this).find(".modal-body #set_credit_send_mail").html(button.data('email'));
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<div class="modal fade" id="modals-credit">
|
||||
<div class="modal-dialog">
|
||||
<form class="modal-content" action="{{ route('admin_payments_credit_create') }}" method="post">
|
||||
@csrf
|
||||
<input type="hidden" name="userid" value="">
|
||||
<input type="hidden" name="action" value="create_credit">
|
||||
<input type="hidden" name="back" value="{{url()->current()}}">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">{{__('Gutschrift')}}</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-group col-sm-12">
|
||||
{{ Form::select('credit_option', ['create'=>'Gutschrift erstellen'], false, array('data-live-search'=>'false', 'class'=>'selectpicker')) }}
|
||||
</div>
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="credit_date">{{ __('Gutschriftsdatum') }}</label>
|
||||
{!! Form::text('credit_date', \Carbon::now()->format("d.m.Y"), ['class'=>'form-control datepicker-base']) !!}
|
||||
</div>
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label" for="credit_number">{{ __('Gutschriftsnummer') }}</label>
|
||||
{!! Form::text('credit_number', App\Services\Invoice::getInvoiceNumber(), ['class'=>'form-control']) !!}
|
||||
<em> nächste Rechnungsnummer <a href="{{ route('admin_settings') }}"><i class="fa fa-edit"></i></a></em>
|
||||
</div>
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="custom-control custom-checkbox">
|
||||
{!! Form::checkbox('credit_send_mail', 1, true, ['class'=>'custom-control-input']) !!}
|
||||
<span class="custom-control-label">Rechnung an <span id="set_credit_send_mail">123</span></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
|
||||
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
86
resources/views/admin/payment/invoice/index.blade.php
Executable file
86
resources/views/admin/payment/invoice/index.blade.php
Executable file
|
|
@ -0,0 +1,86 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
<div class="card">
|
||||
<h6 class="card-header">
|
||||
Zahlungen / Rechnungen
|
||||
</h6>
|
||||
<div class="col-sm-6 mb-0 mt-2">
|
||||
{!! Form::open(['url' => route('admin_payments_invoice'), '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() !!}
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-datatable table-responsive pt-0">
|
||||
<table class="datatables-style table table-striped table-bordered" id="datatable-invoice">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>{{__('Vorname')}}</th>
|
||||
<th>{{__('Nachname') }}</th>
|
||||
<th>{{__('E-Mail') }}</th>
|
||||
<th>{{__('Betrag') }}</th>
|
||||
<th>{{__('Datum') }}</th>
|
||||
<th>{{__('Order')}}</th>
|
||||
<th>{{__('Status')}}</th>
|
||||
<th>{{__('Rechnung')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
$( document ).ready(function() {
|
||||
var oTable = $('#datatable-invoice').DataTable({
|
||||
"processing": true,
|
||||
"serverSide": true,
|
||||
ajax: {
|
||||
url: '{!! route( 'admin_payments_invoice_datatable') !!}',
|
||||
data: function(d) {
|
||||
d.filter_sales_year = $('select[name=filter_sales_year]').val();
|
||||
}
|
||||
},
|
||||
"order": [[0, "desc" ]],
|
||||
"columns": [
|
||||
{ data: 'id', searchable: false },
|
||||
{ data: 'shopping_user.billing_firstname', name: 'shopping_user.billing_firstname', orderable: false },
|
||||
{ data: 'shopping_user.billing_lastname', name: 'shopping_user.billing_lastname', orderable: false },
|
||||
{ data: 'shopping_user.billing_email', name: 'shopping_user.billing_email', orderable: false },
|
||||
{ data: 'total_shipping', name: 'total_shipping' },
|
||||
{ data: 'created_at', name: 'shopping_orders.created_at' },
|
||||
{ data: 'shipping_order', name: 'shipping_order', orderable: false },
|
||||
{ data: 'txaction', name: 'txaction', searchable: false },
|
||||
{ data: 'invoice', name: 'invoice', orderable: false, searchable: false },
|
||||
],
|
||||
"bLengthChange": false,
|
||||
"iDisplayLength": 100,
|
||||
"language": {
|
||||
"url": "/js/German.json"
|
||||
}
|
||||
});
|
||||
$('#filter_sales_year').on('change', function(){
|
||||
oTable.draw();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
|
||||
/*$('#filter_sales_year').on('change', function(){
|
||||
$('#form_filter_sales_year').submit();
|
||||
});*/
|
||||
|
||||
|
||||
</script>
|
||||
@endsection
|
||||
|
|
@ -50,6 +50,20 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card mb-2">
|
||||
<div class="card-body">
|
||||
<h4>Bestellungen Einstellungen</h4>
|
||||
<div class="form-row">
|
||||
<div class="form-group col-sm-12">
|
||||
<label class="form-label">{{ __('Pending in Tagen nach Versand für die Partner Provision') }}*</label>
|
||||
{{ Form::text('settings[pending_partner_commissions_in_days][val]', \App\Models\Setting::getContentBySlug('pending_partner_commissions_in_days'), array('class'=>'form-control')) }}
|
||||
{{ Form::hidden('settings[pending_partner_commissions_in_days][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() !!}
|
||||
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -160,7 +160,7 @@
|
|||
@endif
|
||||
</p>
|
||||
<hr>
|
||||
<h6>{{__('Umsätze')}} {{date('m.Y')}}</h6>
|
||||
<h6>{{__('Umsätze')}} {{ date('m.Y') }}</h6>
|
||||
<table class="table table-striped table-bordered">
|
||||
<tr>
|
||||
<td class="text-left font-weight-semibold">{{__('Umsatz gesamt')}}:</td>
|
||||
|
|
@ -182,12 +182,18 @@
|
|||
</tr>
|
||||
</table>
|
||||
<hr>
|
||||
<h6>{{__('Provision')}} {{date('m.Y')}}</h6>
|
||||
<h6>{{__('Provision')}} {{-- date('m.Y') --}}</h6>
|
||||
<table class="table table-striped table-bordered">
|
||||
<tr>
|
||||
<td class="text-left font-weight-semibold">{{__('Vertriebspartner Provision')}}:</td>
|
||||
<td class="text-left font-weight-semibold">{{__('Vertriebspartner Provision')}} pending:</td>
|
||||
<td class="text-right font-weight-bold">
|
||||
{!! \App\Services\UserMarign::getMontlyPartnerCommission($user, null, true) !!} €*
|
||||
{!! \App\Services\UserMarign::getMontlyPartnerCommissionPending($user, null, true) !!} €*
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="text-left font-weight-semibold">{{__('Vertriebspartner Provision')}} bestätigt:</td>
|
||||
<td class="text-right font-weight-bold">
|
||||
{!! \App\Services\UserMarign::getMontlyPartnerCommissionOpen($user, null, true) !!} €*
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@
|
|||
</li>
|
||||
|
||||
@if(Auth::user()->showSideNav())
|
||||
|
||||
<li class="sidenav-item @if(Request::is('user/edit', 'user/membership')) open @endif">
|
||||
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
|
||||
<i class="sidenav-icon ion ion-ios-contact"></i>
|
||||
|
|
@ -28,6 +27,10 @@
|
|||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
{{-- <li class="sidenav-item Request::is('user/revenue') ? ' active' : '' }} {{ Request::is('user/revenues/*') ? ' active' : '' }}">
|
||||
<a href="{{ route('user_revenue') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-cash"></i><div>{{ __('navigation.revenue') }}</div></a>
|
||||
</li>--}}
|
||||
|
||||
@if(Auth::user()->isActiveAccount())
|
||||
<li class="sidenav-item @if(Request::is('user/team/*')) open @endif">
|
||||
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
|
||||
|
|
@ -101,6 +104,22 @@
|
|||
</ul>
|
||||
</li>
|
||||
|
||||
|
||||
<li class="sidenav-item @if(Request::is('admin/payments/*')) open @endif">
|
||||
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
|
||||
<i class="sidenav-icon ion ion-md-cash"></i>
|
||||
<div>{{ __('navigation.payments') }}</div>
|
||||
</a>
|
||||
<ul class="sidenav-menu">
|
||||
<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></a>
|
||||
</li>
|
||||
<li class="sidenav-item{{ Request::is('admin/payments/invoice') ? ' active' : '' }}">
|
||||
<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>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<li class="sidenav-item @if(Request::is('admin/product/*')) open @endif">
|
||||
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
|
||||
<i class="sidenav-icon ion ion-md-cube"></i>
|
||||
|
|
|
|||
400
resources/views/pdf/credit.blade.php
Normal file
400
resources/views/pdf/credit.blade.php
Normal file
|
|
@ -0,0 +1,400 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<title>partner.gruene-seele.bio</title>
|
||||
<style>
|
||||
|
||||
/* roboto-300 - latin */
|
||||
@font-face {
|
||||
font-family: 'Roboto';
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
src: url('fonts/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-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-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-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: 8pt;
|
||||
font-weight: 400 ;
|
||||
}
|
||||
table {
|
||||
border: none;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight: bold !important;
|
||||
}
|
||||
|
||||
@page {
|
||||
margin: 0px;
|
||||
}
|
||||
@page {
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
|
||||
@page {
|
||||
margin: 75mm 0 40mm 0;
|
||||
}
|
||||
|
||||
.font-weight-bold {
|
||||
font-weight: bold !important;
|
||||
}
|
||||
|
||||
#address_box {
|
||||
position: absolute;
|
||||
top:-30mm;
|
||||
left: 15mm;
|
||||
width: 100mm;
|
||||
height: 45mm;
|
||||
z-index: 1;
|
||||
font-size: 8pt;
|
||||
line-height: 9pt;
|
||||
letter-spacing: 0.05em;
|
||||
}
|
||||
#address_box_top {
|
||||
font-size: 7pt;
|
||||
color:#858585;
|
||||
}
|
||||
|
||||
#title_box {
|
||||
position: absolute;
|
||||
top:0mm;
|
||||
left: 15mm;
|
||||
width: 180mm;
|
||||
height: 10mm;
|
||||
z-index: 2;
|
||||
text-align: center;
|
||||
}
|
||||
#title_box .title {
|
||||
font-size: 15pt;
|
||||
line-height: 12pt;
|
||||
}
|
||||
#title_box .subtitle {
|
||||
font-size: 9pt;
|
||||
line-height: 9pt;
|
||||
}
|
||||
|
||||
#detail_box_left {
|
||||
position: absolute;
|
||||
top:8mm;
|
||||
left: 15mm;
|
||||
width: 90mm;
|
||||
height: 15mm;
|
||||
z-index: 3;
|
||||
font-size: 8pt;
|
||||
}
|
||||
|
||||
#detail_box_right {
|
||||
position: absolute;
|
||||
top:8mm;
|
||||
left: 105mm;
|
||||
width: 90mm;
|
||||
height: 15mm;
|
||||
z-index: 4;
|
||||
font-size: 8pt;
|
||||
}
|
||||
|
||||
#detail_box_left table, #detail_box_right table {
|
||||
width: 100%;
|
||||
line-height: 9pt;
|
||||
}
|
||||
|
||||
#detail_box_left table td {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#detail_box_right table td {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
|
||||
#invoice_box {
|
||||
position: relative;
|
||||
padding-top: 20mm;
|
||||
margin-left: 15mm;
|
||||
width: 180mm;
|
||||
font-size: 8pt;
|
||||
line-height: 8pt;
|
||||
}
|
||||
|
||||
#invoice_box table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
|
||||
#invoice_box table tr {
|
||||
page-break-after: avoid;
|
||||
}
|
||||
|
||||
#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.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 th {
|
||||
line-height: 12pt;
|
||||
padding-bottom: 1mm;
|
||||
padding-left: 1mm;
|
||||
padding-right: 1mm;
|
||||
background-color: rgb(212, 212, 212);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
#invoice_box table td .title {
|
||||
font-size: 10pt;
|
||||
}
|
||||
#invoice_box table td .description {
|
||||
padding-top: 1mm;
|
||||
font-size: 9pt;
|
||||
|
||||
}
|
||||
|
||||
#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;
|
||||
}
|
||||
|
||||
#invoice_box table td .price_total {
|
||||
padding-top: 2mm;
|
||||
font-size: 11pt;
|
||||
}
|
||||
.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:0mm;
|
||||
left: 15mm;
|
||||
width: 180mm;
|
||||
height: 20mm;
|
||||
z-index: 6;
|
||||
font-size: 8pt;
|
||||
line-height: 8pt;
|
||||
}
|
||||
|
||||
.text-right {
|
||||
text-align: right;
|
||||
}
|
||||
.text-left {
|
||||
text-align: left;
|
||||
}
|
||||
.text-center {
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="address_box">
|
||||
<div id="address_box_top">GRÜNE SEELE GbR • Hauptstr. 174 • 51143 Köln</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="title_box">
|
||||
<div class="title">GUTSCHRIFT</div>
|
||||
{{-- @if($cancellation)
|
||||
<div class="subtitle">{{ $invoice->invoice_name }}</div>
|
||||
@endif--}}
|
||||
</div>
|
||||
|
||||
<div id="detail_box_left">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
{{ __('Gutschriftsnummer') }}: {{ $credit_number }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id="detail_box_right">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
{{ __('Datum') }}/{{ __('Leistungsdatum)') }}: {{ $credit_date }}
|
||||
</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="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_credits->margins as $margin)
|
||||
<tr class="item">
|
||||
<td class="small text-left">
|
||||
{{ $margin->firstname }} {{ $margin->lastname }} / {{ $margin->reference }} / {{ $margin->created_at }}
|
||||
</td>
|
||||
<td class="text-right small">
|
||||
{{ \App\Services\Util::formatNumber($margin->net) }} €*
|
||||
</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>
|
||||
|
|
@ -264,10 +264,12 @@
|
|||
</head>
|
||||
<body>
|
||||
<div id="address_box">
|
||||
<div id="address_box_top">GÜNE SEELE • Hauptstr. 174 • 51143 Köln</div>
|
||||
<div id="address_box_top">GRÜNE SEELE GbR • Hauptstr. 174 • 51143 Köln</div>
|
||||
|
||||
@if($shopping_order->shopping_user->billing_company)
|
||||
{{ $shopping_order->shopping_user->billing_company }}<br>
|
||||
@else
|
||||
Firma <br>
|
||||
@endif
|
||||
{{ \App\Services\HTMLHelper::getSalutationLang($shopping_order->shopping_user->billing_salutation) }}
|
||||
{{ $shopping_order->shopping_user->billing_firstname }} {{ $shopping_order->shopping_user->billing_lastname }}<br>
|
||||
|
|
@ -276,7 +278,9 @@
|
|||
{{ $shopping_order->shopping_user->billing_address_2 }}<br>
|
||||
@endif
|
||||
{{ $shopping_order->shopping_user->billing_zipcode }} {{ $shopping_order->shopping_user->billing_city }}<br>
|
||||
@if($shopping_order->shopping_user->billing_country)
|
||||
{{ $shopping_order->shopping_user->billing_country->getLocated() }}
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<div id="title_box">
|
||||
|
|
|
|||
65
resources/views/user/revenue/index.blade.php
Normal file
65
resources/views/user/revenue/index.blade.php
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
@extends('layouts.layout-2')
|
||||
|
||||
@section('content')
|
||||
<div class="card">
|
||||
<h6 class="card-header">
|
||||
Berater Bestellungen
|
||||
</h6>
|
||||
<div class="col-sm-6 mb-2">
|
||||
{!! Form::open(['url' => route('user_revenue'), 'class' => 'form-horizontal', 'id'=>'filter_sales_member']) !!}
|
||||
|
||||
<label class="form-label" for="filter_user_shop_id">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() !!}
|
||||
|
||||
</div>
|
||||
|
||||
<div class="card-datatable table-responsive">
|
||||
<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>{{__('Datum') }}</th>
|
||||
<th>{{__('Order')}}</th>
|
||||
<th>{{__('Status')}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach($values as $value)
|
||||
<tr>
|
||||
<td>{{ $value->shopping_user->billing_firstname }}</td>
|
||||
<td>{{ $value->shopping_user->billing_lastname }}</td>
|
||||
<td>{{ $value->shopping_user->billing_email }}</td>
|
||||
<td>{{ $value->getFormattedTotalShipping()." €" }}</td>
|
||||
<td>{{ $value->created_at->format("d.m.Y") }}</td>
|
||||
<td>@foreach($value->shopping_order_items as $shopping_order_item)
|
||||
{{ $shopping_order_item->product->name }}<br>
|
||||
@endforeach
|
||||
|
||||
</td>
|
||||
|
||||
<td>{!! App\Services\Payment::getShoppingOrderBadge($value) !!}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
|
||||
$('#filter_sales_year').on('change', function(){
|
||||
$('#filter_sales_member').submit();
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
@endsection
|
||||
|
|
@ -131,9 +131,9 @@
|
|||
</div>
|
||||
<div class="form-group col-md-12">
|
||||
@if($errors->has('phone') || $errors->has('mobil'))
|
||||
<div class="alert badge-danger block p-2">Bitte {{ __('Phone') }} und/oder {{ __('Mobile Phone') }} angeben!*</div>
|
||||
<div class="alert badge-danger block p-2">Fehler: Bitte {{ __('Phone') }} und/oder {{ __('Mobile Phone') }} angeben!*</div>
|
||||
@else
|
||||
<div class="badge badge-warning">Bitte {{ __('Phone') }} und/oder {{ __('Mobile Phone') }} angeben!*</div>
|
||||
<div class="badge badge-default">Hinweis: Bitte {{ __('Phone') }} und/oder {{ __('Mobile Phone') }} angeben!*</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -344,9 +344,9 @@
|
|||
<div class="row">
|
||||
<div class="form-group col-md-12">
|
||||
@if($errors->has('tax_number') || $errors->has('tax_identification_number'))
|
||||
<div class="alert badge-danger block p-2">Bitte {{ __('Steuernummer') }} und/oder {{ __('USt-ID Nummer') }} angeben!*</div>
|
||||
<div class="alert badge-danger block p-2">Fehler: Bitte {{ __('Steuernummer') }} und/oder {{ __('USt-ID Nummer') }} angeben!*</div>
|
||||
@else
|
||||
<div class="badge badge-warning">Bitte {{ __('Steuernummer') }} und/oder {{ __('USt-ID Nummer') }} angeben!*</div>
|
||||
<div class="badge badge-default">Hinweis: Bitte {{ __('Steuernummer') }} und/oder {{ __('USt-ID Nummer') }} angeben!*</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue