159 lines
No EOL
7.6 KiB
PHP
Executable file
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 & 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 |