Fix on invoices, add delivery reference, wip on dashboard concurrency requests designed on template
This commit is contained in:
@@ -1,27 +1,82 @@
|
||||
<div class="row">
|
||||
<div class="col-md-3 col-sm-6 col-xs-12">
|
||||
<a href="{!! route('Admin.Shop.Orders.index') !!}">
|
||||
@include('Admin.Shop.Dashboard.components.infobox', ['count' => $orders_count ?? 0, 'class' => 'bg-aqua', 'icon' => 'ion ion-bag', 'text' => 'Commandes'])
|
||||
</a>
|
||||
<x-card title="Aperçu de l'activité">
|
||||
<div class="counter">
|
||||
<span class="index">Visiteurs en ligne</span>
|
||||
<div class="value float-right">40</div>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-muted">dans les 30 dernières minutes</span>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3 col-sm-6 col-xs-12">
|
||||
<a href="{!! route('Admin.Shop.Invoices.index') !!}">
|
||||
@include('Admin.Shop.Dashboard.components.infobox', ['count' => $invoices_count ?? 0, 'class' => 'bg-red', 'icon' => 'fa-clock-o', 'text' => 'Factures'])
|
||||
</a>
|
||||
<div class="counter">
|
||||
<span class="index">Paniers Actifs</span>
|
||||
<div class="value float-right">40</div>
|
||||
</div>
|
||||
<div>
|
||||
<span class="text-muted">dans les 30 dernières minutes</span>
|
||||
</div>
|
||||
|
||||
<div class="clearfix visible-sm-block"></div>
|
||||
<x-card title="Etat des commandes" class="dashtable" classBody="p-1 bg-light">
|
||||
<table class="table table-stripped counter w-100">
|
||||
<tr>
|
||||
<td class="index">Commandes</td>
|
||||
<td class="value text-right">{{ $orders_count }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="index">En préparation depuis moins de 24h</td>
|
||||
<td class="value float-right">{{ $preparationLess24H ?? 0 }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="index">En préparation depuis moins de 48h</td>
|
||||
<td class="value float-right">{{ $preparationLess48H ?? 0 }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="index">En préparation depuis plus de 48h</td>
|
||||
<td class="value float-right">{{ $preparationMore48H ?? 0 }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="index">Echec de paiement</td>
|
||||
<td class="value float-right">{{ $paymentsFailed ?? 0 }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="index">
|
||||
A rembourser<br>
|
||||
<span class="text-muted">Payés sans stock disponible</span>
|
||||
</td>
|
||||
<td class="value float-right">{{ $refunds ?? 0 }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="index">
|
||||
En attente de confirmation<br>
|
||||
<span class="text-muted">Pour les ventes pro</span>
|
||||
</td>
|
||||
<td class="value float-right">{{ $ordersNotConfirmed ?? 0 }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</x-card>
|
||||
|
||||
<div class="col-md-3 col-sm-6 col-xs-12">
|
||||
<a href="{!!route('Admin.Shop.Orders.index') !!}">
|
||||
@include('Admin.Shop.Dashboard.components.infobox', ['count' => $orders_sum ?? 0, 'class' => 'bg-yellow', 'icon' => 'ion ion-stats-bars', 'text' => 'CA du mois'])
|
||||
</a>
|
||||
</div>
|
||||
<x-card title="Suivi des stocks" class="dashtable" classBody="p-1 bg-light">
|
||||
<table class="table table-stripped counter w-100">
|
||||
<tr>
|
||||
<td class="index">Stock critique</td>
|
||||
<td class="value float-right">{{ $stocksWarning ?? 0 }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="index">Paramétrage du niveau critique</td>
|
||||
<td class="value float-right"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</x-card>
|
||||
|
||||
<div class="col-md-3 col-sm-6 col-xs-12">
|
||||
<a href="{!! route('Admin.Shop.Orders.index') !!}">
|
||||
@include('Admin.Shop.Dashboard.components.infobox', ['count' => $orders_avg ?? 0, 'class' => 'bg-green', 'icon' => 'fa-check-square-o', 'text' => 'Panier moyen'])
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<x-card title="Clients et suivi client" class="dashtable" classBody="p-1 bg-light">
|
||||
<table class="table table-stripped counter w-100">
|
||||
<tr>
|
||||
<td class="index">Nouveaux clients</td>
|
||||
<td class="value float-right">{{ $newClients ?? 0 }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="index">Exporter le fichier clients</td>
|
||||
<td class="value float-right"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</x-card>
|
||||
</x-card>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="col-sm-3 col-xs-6">
|
||||
<div class="description-block border-right">
|
||||
<span class="description-percentage text-green"><i class="fa fa-caret-up"></i> 17%</span>
|
||||
<h5 class="description-header">35 210.43 €</h5>
|
||||
<h5 class="description-header">{{ $orders_sum ?? 0 }} €</h5>
|
||||
<span class="description-text">TOTAL VENTE</span>
|
||||
</div>
|
||||
<!-- /.description-block -->
|
||||
@@ -11,7 +11,7 @@
|
||||
<div class="col-sm-3 col-xs-6">
|
||||
<div class="description-block border-right">
|
||||
<span class="description-percentage text-yellow"><i class="fa fa-caret-left"></i> 0%</span>
|
||||
<h5 class="description-header">10 390.90 €</h5>
|
||||
<h5 class="description-header">{{ $orders_avg ?? 0 }} €</h5>
|
||||
<span class="description-text">PANIER MOYEN</span>
|
||||
</div>
|
||||
<!-- /.description-block -->
|
||||
@@ -20,7 +20,7 @@
|
||||
<div class="col-sm-3 col-xs-6">
|
||||
<div class="description-block border-right">
|
||||
<span class="description-percentage text-green"><i class="fa fa-caret-up"></i> 20%</span>
|
||||
<h5 class="description-header">248</h5>
|
||||
<h5 class="description-header">{{ $clients_count ?? 0 }}</h5>
|
||||
<span class="description-text">NB CLIENTS</span>
|
||||
</div>
|
||||
<!-- /.description-block -->
|
||||
@@ -29,8 +29,8 @@
|
||||
<div class="col-sm-3 col-xs-6">
|
||||
<div class="description-block">
|
||||
<span class="description-percentage text-red"><i class="fa fa-caret-down"></i> 18%</span>
|
||||
<h5 class="description-header">1200</h5>
|
||||
<span class="description-text">NB PRODUITS</span>
|
||||
<h5 class="description-header">{{ $offers_count ?? 0 }}</h5>
|
||||
<span class="description-text">NB OFFRES</span>
|
||||
</div>
|
||||
<!-- /.description-block -->
|
||||
</div>
|
||||
|
||||
@@ -1,23 +1,11 @@
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-8">
|
||||
<div class="col-lg-12">
|
||||
@include('Admin.Shop.Dashboard._partials.salesByPeriod')
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
@include('Admin.Shop.Dashboard._partials.stock')
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="col-lg-12">
|
||||
@include('Admin.Shop.Dashboard._partials.latestOrders')
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
@include('Admin.Shop.Dashboard._partials.ordersByTypes')
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -1,17 +1,38 @@
|
||||
@extends('layout.index', [
|
||||
'title' => __('dashboard.title'),
|
||||
'subtitle' => __('boilerplate::users.list.title'),
|
||||
'breadcrumb' => [
|
||||
__('boilerplate::dashboard.title') => 'boilerplate.users.index'
|
||||
]
|
||||
'title' => __('Core.dashboard'),
|
||||
])
|
||||
|
||||
@include('boilerplate::logs.style')
|
||||
|
||||
@section('content')
|
||||
|
||||
@include('Admin.Shop.Dashboard._partials.counter')
|
||||
@include('Admin.Shop.Dashboard._partials.report')
|
||||
<div class="btn-group mb-3" role="group" aria-label="Basic example">
|
||||
<button type="button" class="btn btn-sm btn-secondary text-nowrap" data-id="day">jour</button>
|
||||
<button type="button" class="btn btn-sm btn-secondary text-nowrap" data-id="month">mois</button>
|
||||
<button type="button" class="btn btn-sm btn-secondary text-nowrap" data-id="year">année</button>
|
||||
<button type="button" class="btn btn-sm btn-secondary text-nowrap" data-id="yesterday">jour-1</button>
|
||||
<button type="button" class="btn btn-sm btn-secondary text-nowrap" data-id="lastmonth">mois-1</button>
|
||||
<button type="button" class="btn btn-sm btn-secondary text-nowrap" data-id="lastyear">année-1</button>
|
||||
@include('components.form.daterangepicker', [
|
||||
'name' => 'period',
|
||||
])
|
||||
</div>
|
||||
|
||||
<div class="row dashboard">
|
||||
<div class="col-lg-3 col-sm-6 col-xs-12">
|
||||
@include('Admin.Shop.Dashboard._partials.counter')
|
||||
</div>
|
||||
<div class="col-lg-9">
|
||||
@include('Admin.Shop.Dashboard._partials.report')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
@include('load.form.daterangepicker')
|
||||
|
||||
@push('js')
|
||||
<script>
|
||||
initDaterangepicker();
|
||||
</script>
|
||||
@endpush
|
||||
@@ -10,9 +10,72 @@
|
||||
|
||||
{{ Form::open(['route' => 'Admin.Shop.Invoices.update', 'id' => 'invoice-form', 'autocomplete' => 'off']) }}
|
||||
<input type="hidden" name="id" value="{{ $invoice['id'] }}">
|
||||
@include('Admin.Shop.Invoices.form')
|
||||
@include('components.form.buttons.button-save')
|
||||
<x-card>
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h4> </h4>
|
||||
</div>
|
||||
<div class="col-6 text-right">
|
||||
@include('components.form.buttons.button-save')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<div class="col-6">
|
||||
<h3>{{ $invoice['order']['customer']['last_name'] }} {{ $invoice['order']['customer']['first_name'] }}</h3>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h6>
|
||||
@if ($invoice['order']['address'])
|
||||
{{ $invoice['order']['address']['address'] }}<br/>
|
||||
@isset ($invoice['order']['address']['address2'])
|
||||
{{ $invoice['order']['address']['address2'] }}<br/>
|
||||
@endisset
|
||||
{{ $invoice['order']['address']['zipcode'] }} {{ $invoice['order']['address']['city'] }}<br/>
|
||||
@endif
|
||||
</h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="row mb-3">
|
||||
<div class="col-6" style="font-size: 1.2em; font-weight: 500;">
|
||||
Facture <br/>
|
||||
du {{ Carbon\Carbon::parse($invoice['created_at'])->isoFormat('LLLL') }}
|
||||
</div>
|
||||
<div class="col-6">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-6">
|
||||
@include('components.form.select', [
|
||||
'label' => 'Statut',
|
||||
'name' => 'status',
|
||||
'list' => $statuses ?? [],
|
||||
'value' => $invoice['status'],
|
||||
'class' => 'select2',
|
||||
])
|
||||
</div>
|
||||
<div class="col-6">
|
||||
@include('components.form.select', [
|
||||
'label' => 'Règlement',
|
||||
'name' => 'payment_type',
|
||||
'list' => $payment_types ?? [],
|
||||
'value' => $invoice['order']['payment_type'],
|
||||
'class' => 'select2',
|
||||
'disabled' => false,
|
||||
])
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-12">
|
||||
@include('Admin.Shop.Orders.partials.detail', ['detail_type' => 'facture', 'order' => $invoice['order']])
|
||||
</div>
|
||||
</div>
|
||||
</x-card>
|
||||
</form>
|
||||
|
||||
@endsection
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
@extends('layout.index', [
|
||||
'title' => __('shop.orders.title'),
|
||||
'subtitle' => __('shop.orders.list'),
|
||||
'subtitle' => __('shop.orders.edit'),
|
||||
'breadcrumb' => ['Commandes']
|
||||
])
|
||||
|
||||
@@ -8,17 +8,27 @@
|
||||
{{ Form::open(['route' => 'Admin.Shop.Orders.store', 'id' => 'order-form', 'autocomplete' => 'off']) }}
|
||||
<input type="hidden" name="id" value="{{ $order['id'] ?? null }}">
|
||||
<x-card>
|
||||
<div class="row">
|
||||
<div class="col-6">
|
||||
<h4>{{ $order['delivery']['name'] }} </h4>
|
||||
</div>
|
||||
<div class="col-6 text-right">
|
||||
@include('components.form.buttons.button-save')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row mb-3">
|
||||
<div class="col-6">
|
||||
<h3>{{ $order['customer']['last_name'] }} {{ $order['customer']['first_name'] }}</h3>
|
||||
<h4>{{ $order['delivery']['name'] }} </h4>
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h6>
|
||||
@if ($order['address'])
|
||||
{{ $order['address']['address'] }}<br/>
|
||||
@isset ($order['address']['address2']) {{ $order['address']['address2'] }}<br/> @endisset
|
||||
{{ $order['address']['zipcode'] }} {{ $order['address']['city'] }}<br/>
|
||||
@endif
|
||||
</h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -29,28 +39,35 @@
|
||||
du {{ Carbon\Carbon::parse($order['created_at'])->isoFormat('LLLL') }}
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<label>Canal de vente</label><br/>
|
||||
@include('components.form.select', [
|
||||
'name' => 'sale_channel_id',
|
||||
'list' => $sale_channels ?? [],
|
||||
'value' => $order['sale_channel_id'],
|
||||
'class' => 'select2',
|
||||
])
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-6">
|
||||
<label>Statut</label><br/>
|
||||
@include('components.form.select', [
|
||||
'label' => 'Statut',
|
||||
'name' => 'status',
|
||||
'list' => $statuses ?? [],
|
||||
'value' => $order['status'],
|
||||
'class' => 'select2',
|
||||
])
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<label>Règlement</label><br/>
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-4">
|
||||
@include('components.form.select', [
|
||||
'label' => 'Canal de vente',
|
||||
'name' => 'sale_channel_id',
|
||||
'list' => $sale_channels ?? [],
|
||||
'value' => $order['sale_channel_id'],
|
||||
'class' => 'select2',
|
||||
])
|
||||
</div>
|
||||
<div class="col-4">
|
||||
@include('components.form.input', [
|
||||
'label' => 'Référence colis',
|
||||
'name' => 'delivery_ref',
|
||||
'value' => $order['deivery_ref'],
|
||||
])
|
||||
</div>
|
||||
<div class="col-4">
|
||||
@include('components.form.select', [
|
||||
'label' => 'Règlement',
|
||||
'name' => 'payment_type',
|
||||
'list' => $payment_types ?? [],
|
||||
'value' => $order['payment_type'],
|
||||
@@ -62,7 +79,7 @@
|
||||
</div>
|
||||
<div class="row mb-3">
|
||||
<div class="col-12">
|
||||
@include('Admin.Shop.Orders.partials.detail')
|
||||
@include('Admin.Shop.Orders.partials.detail', ['detail_type' => 'commande'])
|
||||
</div>
|
||||
</div>
|
||||
</x-card>
|
||||
|
||||
@@ -1,18 +1,22 @@
|
||||
<x-card title="Détail de la commande">
|
||||
<x-card title="Détail de la {{ $detail_type }}" classBody="mt-3">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<table class="table table-bordered table-hover w-100 ">
|
||||
<table class="table table-bordered table-hover w-100 ">
|
||||
<thead class="thead-light">
|
||||
<th>Nom</th>
|
||||
<th>Quantité</th>
|
||||
<th>Prix unitaire</th>
|
||||
<th>Total</th>
|
||||
<th>PU HT</th>
|
||||
<th>TVA</th>
|
||||
<th>PU TTC</th>
|
||||
<th>Total TTC</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($order['detail'] as $detail)
|
||||
<tr>
|
||||
<td>{{ $detail['name'] }}</td>
|
||||
<td align="right">{{ $detail['quantity'] }}</td>
|
||||
<td align="right">{{ $detail['price'] }}</td>
|
||||
<td align="right">{{ $detail['tax'] }}</td>
|
||||
<td align="right">{{ $detail['price_taxed'] }}</td>
|
||||
<td align="right">{{ $detail['total_taxed'] }}</td>
|
||||
</tr>
|
||||
@@ -23,6 +27,8 @@
|
||||
<td style="font-size: 1.2em; font-weight: bold;">Total</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td align="right"></td>
|
||||
<td align="right"></td>
|
||||
<td align="right" style="font-size: 1.2em; font-weight: bold;">{{ $order['total_taxed'] }}</td>
|
||||
</tr>
|
||||
@if ($order['shipping'] ?? false)
|
||||
@@ -30,12 +36,16 @@
|
||||
<td style="font-size: 1.1em; font-weight: 500;">Livraison</td>
|
||||
<td align="right"></td>
|
||||
<td align="right"></td>
|
||||
<td align="right"></td>
|
||||
<td align="right"></td>
|
||||
<td align="right" style="font-size: 1.1em; font-weight: bold;">{{ $order['shipping'] }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-size: 1.4em; font-weight: bold;">Total à payer</td>
|
||||
<td align="right"></td>
|
||||
<td align="right"></td>
|
||||
<td align="right">{{ $order['taxes'] }}</td>
|
||||
<td align="right"></td>
|
||||
<td align="right" style="font-size: 1.4em; font-weight: bold;">{{ $order['total_shipped'] }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
Reference in New Issue
Block a user