mein-sterntours/resources/views/admin/report/bookings.blade.php
2021-10-08 17:07:28 +02:00

159 lines
No EOL
7.6 KiB
PHP
Executable file

@extends('layouts.layout-2')
@section('content')
<h4 class="font-weight-bold py-3 mb-1">
Buchungen &amp; Leistungen
<a class="btn btn-default btn-sm float-right" href="{{ make_old_url('backend.php') }}" > zurück ins v1 CRM</a>
</h4>
<div class="card">
{!! Form::open(['url' => route('admin_report_export_bookings'), 'class' => '']) !!}
{!! Form::hidden('order', '[[7, "asc"]]', ['id'=>'order_table']) !!}
<div class="ui-bordered px-4 pt-3 mb-0">
<div class="form-row align-items-center">
<div class="col-12 col-md-4 mb-2">
<label class="form-label" for="filter_lead_status_id">Filter Status</label>
<select class="selectpicker" data-style="btn-default" name="filter_lead_status_id[]" id="filter_lead_status_id" multiple>
@foreach($filter_lead_status as $id=>$name)
<option value="{{$id}}">{{$name}}</option>
@endforeach
</select>
</div>
<div class="col-12 col-md-3 mb-2">
<label class="form-label">Reisedatum</label>
<div class="row">
<div class="input-group col-6 pr-0">
<div class="input-group-prepend">
<span class="input-group-text">von</span>
</div>
<input class="form-control datepicker-base" name="filter_travel_date_from" type="text" value="">
</div>
<div class="input-group col-6 pl-1">
<div class="input-group-prepend">
<span class="input-group-text">bis</span>
</div>
<input class="form-control datepicker-base" name="filter_travel_date_to" type="text" value="">
</div>
</div>
</div>
<div class="col-12 col-md-3 mb-2">
<label class="form-label">Buchungsdatum</label>
<div class="row">
<div class="input-group col-6 pr-0">
<div class="input-group-prepend">
<span class="input-group-text">von</span>
</div>
<input class="form-control datepicker-base" name="filter_booking_date_from" type="text" value="">
</div>
<div class="input-group col-6 pl-1">
<div class="input-group-prepend">
<span class="input-group-text">bis</span>
</div>
<input class="form-control datepicker-base" name="filter_booking_date_to" type="text" value="">
</div>
</div>
</div>
<div class="col-12 mb-4">
<a href="{{ route('admin_report_bookings') }}" class="btn icon-btn btn-sm btn-outline-dark">
<span class="fa fa-sync"></span>
</a>
</div>
</div>
</div>
<div class="card-datatable table-responsive">
<table class="datatables-report table table-striped table-bordered">
<thead>
<tr>
<th>BuchungsID</th>
<th>{{__('Status')}}</th>
<th>{{__('Storno')}}</th>
<th>{{__('MyJack Nr.')}}</th>
<th>{{__('Organisation')}}</th>
<th>{{__('Reisepreis')}}</th>
<th>{{__('Erlös')}}</th>
<th>{{__('Vorname')}}</th>
<th>{{__('Nachname')}}</th>
<th>{{__('Reisedatum')}}</th>
<th>{{__('bis')}}</th>
<th>{{__('Buchungsdatum')}}</th>
<th>{{__('Reiseveranstalter')}}</th>
</tr>
</thead>
<tbody></tbody>
<tfoot>
<tr>
<td colspan="3">Total</td>
<td id="price_total_sum">0</td>
<td id="price_total_total_sum">0</td>
<td id="proceed_total_sum">0</td>
<td colspan="5"></td>
</tr>
</tfoot>
</table>
<div class="mt-4 col">
<button type="submit" name="export" value="export" class="btn btn-primary"><i class="ion"></i> Export </button>
</div>
</div>
{!! Form::close() !!}
</div>
<script>
$( document ).ready(function() {
var table = $('.datatables-report').DataTable({
"processing": true,
"serverSide": true,
"ajax": {
"url": '{!! route( 'admin_report_bookings_datatable' ) !!}',
"data": function(d) {
d.filter_travel_date_from = $('input[name=filter_travel_date_from]').val();
d.filter_travel_date_to = $('input[name=filter_travel_date_to]').val();
d.filter_booking_date_from = $('input[name=filter_booking_date_from]').val();
d.filter_booking_date_to = $('input[name=filter_booking_date_to]').val();
d.filter_db_lead_status_id = $('#filter_lead_status_id').val();
}
},
"columns": [
{ data: 'id', name: 'id' },
{ data: 'lead.status_id', name: 'lead.status_id', orderable: false, searchable: false },
{ data: 'booking_strono_date', name: 'booking_strono_date', orderable: false, searchable: false },
{ data: 'merlin_order_number', name: 'merlin_order_number' },
{ data: 'price', name: 'price' },
{ data: 'price_total', name: 'price_total' },
{ data: 'proceeds', name: 'proceeds', orderable: false },
{ data: 'customer.firstname', name: 'customer.firstname', orderable: true },
{ data: 'customer.name', name: 'customer.name', orderable: true },
{ data: 'start_date', name: 'start_date' },
{ data: 'end_date', name: 'end_date' },
{ data: 'booking_date', name: 'booking_date' },
{ data: 'service_provider.names', name: 'service_provider.names', orderable: false },
],
"order": [[ 11, "desc" ]],
"orderSequence": ["desc", "asc"],
"bLengthChange": false,
"iDisplayLength": 100,
"language": {
"url": "/js/German.json"
},
drawCallback: function (settings) {
$('#order_table').val(table.order());
$('#price_total_sum').html(settings.json.price_total_sum);
$('#price_total_total_sum').html(settings.json.price_total_total_sum);
$('#proceed_total_sum').html(settings.json.proceed_total_sum);
}
});
$('#filter_service_provider_id, #filter_is_cleared, #filter_sort_by, #filter_lead_status_id').on('change', function(){
table.order( [ 11, 'desc' ] ).draw();
});
$('.datepicker-base').on('change', function(){
table.order( [ 11, 'desc' ] ).draw();
});
});
</script>
@endsection