mivita/resources/views/user/order/yard_view_form.blade.php
2026-02-20 17:55:06 +01:00

369 lines
22 KiB
PHP

@if(Yard::instance('shopping')->content()->count())
@if(Yard::instance('shopping')->compCount() > 0)
<style>
.yard-items-head {
border-bottom: 1px solid #ddd;
padding-bottom: 8px;
margin-bottom: 8px;
}
.yard-item {
position: relative;
padding-top: 8px;
border-bottom: 1px solid #ddd;
padding-bottom: 8px;
}
.yard-item a.shop-item-hl {
color: #9aa983;
font-size: 1.1em;
font-weight: bold;
}
.yard-item .options {
margin-top: 4px;
}
.yard-item a.auto-delete-product {
font-size: 0.7em;
font-weight: bold;
text-transform: uppercase;
}
.yard-item .quantity {
position: relative;
}
.quantity-select {
text-align: right;
}
.quantity-select select.form-control:not([size]):not([multiple]) {
width: auto;
min-width: 5em;
display: inline-block;
}
.yard-item .price-total {
margin-top: 6px;
white-space: nowrap;
}
.yard-item .font-semi-bold {
color: #393939;
font-weight: 500;
}
.yard-item .font-semi-bold .small {
font-size: 1rem;
}
.yard-item .font-bold {
color: #393939;
font-weight: bold;
}
.price-single {
white-space: nowrap;
}
.price-total {
font-weight: 600;
font-size: 0.95rem;
white-space: nowrap;
}
.quantity-select {
text-align: right;
}
.quantity-select input.form-control {
width: auto;
min-width: 4em;
display: inline-block;
}
.xsmall {
font-size: 85%;
font-weight: 400;
}
</style>
<div id="cartContent">
<div class="yard-items-head d-none d-sm-block">
<div class="row">
<div class="col-3 col-sm-2">
<div class="row">&nbsp;</div>
</div>
<div class="col-9 col-sm-10">
<div class="row">
<div class="col-12 col-sm-6 col-md-7">
{{ __('order.article') }}
</div>
<div class="col-6 col-sm-3 col-md-2 text-left">
{{ __('order.unit_price') }}
</div>
<div class="col-6 col-sm-3 col-md-3 text-right">
{{ __('order.quantity') }}
</div>
</div>
</div>
</div>
</div>
@foreach(Yard::instance('shopping')->getContentByOrder() as $row)
@php($product = \App\Models\Product::find($row->id))
<div class="row yard-item">
<div class="col-3 col-sm-2">
@if($row->options->has('image'))
<img src="{{ route('product_image', [$row->options->image]) }}" class="d-block ui-w-80 ui-bordered mr-4" alt="">
@else
<img src="{{ asset('/assets/images/1x1.png') }}" class="d-block ui-w-80 ui-bordered mr-4" alt="">
@endif
</div>
<div class="col-9 col-sm-10">
<div class="row">
<div class="col-12 col-sm-6 col-md-7 description">
<div class="media-body">
<div class="d-block text-body" style="font-size: 15px; font-weight: 500;">{{ $row->name }} @if(isset($is_abo) && $is_abo) {!! get_abo_type_badge_by_product($product) !!} @endif</div>
<div class="text-body">
<div>{{ __('order.content') }}: {{ $product->contents }}</div>
<div>{{ __('order.art_no') }}: {{ $product->number }}</div>
<div>{{ __('order.points') }}: @if($row->options->comp) 0 @else {{ $product->getFormattedPoints() }} @endif</div>
</div>
</div>
<div class="options">
@if(!$row->options->comp)
<a href="#" class="auto-delete-product remove_item_form_cart product-tooltip" data-row-id="{{$row->rowId}}" data-product-id="{{ $product->id }}"><i class="fa fa-times"></i> {{ __('order.article_remove') }}</a>
@else
@if(Yard::instance('shopping')->getNumComp() > 1)
{{$row->options->comp}}. {{ __('order.compensation_product') }}
@else
{{ __('order.compensation_product') }}
@endif
@endif
</div>
</div>
<div class="col-6 col-sm-3 col-md-2 text-left font-semi-bold price-single">
<div class="no-line-break">{{ Yard::instance('shopping')->rowPriceNet($row, 3) }} &euro;</div>
@if(Yard::instance('shopping')->isPriceCurrency())
<span class="xsmall">~{{ Yard::instance('shopping')->getCurrencyByKey('rowPriceNetCurrency', $row, 3) }} {{ Yard::instance('shopping')->getPriceCurrencyUnit() }} </span>
@endif
</div>
<div class="col-6 col-sm-3 col-md-3 quantity">
<div class="quantity-select">
@if($row->options->comp)
<span class="text-right product-tooltip" data-toggle="tooltip" title="{{ __('order.compensation_product') }}">1 x</span>
@else
<input type="number" class="form-control text-center cart-input-event-onchange" data-row-id="{{$row->rowId}}" data-product-id="{{ $product->id }}" value="{{ $row->qty }}" name="quantity[{{$row->rowId}}]" maxlength="3" max="999" min="1">
@endif
</div>
<div class="price-total text-right">
<div class="no-line-break">{{ Yard::instance('shopping')->rowSubtotalNet($row) }} &euro;</div>
@if(Yard::instance('shopping')->isPriceCurrency())
<span class="small">~{{ Yard::instance('shopping')->getCurrencyByKey('rowSubtotalCurrency', $row, 3) }} {{ Yard::instance('shopping')->getPriceCurrencyUnit() }} </span>
@endif
</div>
</div>
</div>
</div>
</div>
@endforeach
<div class="clearfix"></div>
</div>
<!-- / Shopping cart table -->
<div class="d-flex flex-wrap justify-content-between pb-4">
<div class="mt-2">
<p class="small mb-2"> {!! __('order.you_has_article_in_shopping_cart', ['num'=> Yard::instance('shopping')->compCount() ]) !!}</p>
<p>{{ __('order.points_total') }}: {{ formatNumber(Yard::instance('shopping')->points()) }}</p>
<button type="button" class="btn btn-default btn-sm" id="clear-products-basket"><i class="ion ion-ios-trash"></i> {{ __('order.shopping_cart_delete') }}</button>
</div>
<div class="d-flex">
<div class="text-right mt-2">
<table class="table">
<tbody>
<tr>
<td class="text-left" style="border-top:none;">{{ __('order.subtotal') }}:</td>
<td style="border-top:none;">
<div class="no-line-break">{{ Yard::instance('shopping')->subtotal() }} </div>
@if(Yard::instance('shopping')->isPriceCurrency())
<span class="small">~{{ Yard::instance('shopping')->getCurrencyByKey('subtotal') }} {{ Yard::instance('shopping')->getPriceCurrencyUnit() }} </span>
@endif
</td>
</tr>
<tr>
<td class="text-left">{{ __('Delivery country') }}:</td>
<td>{{ Yard::instance('shopping')->getShippingCountryName() }}</td>
</tr>
<tr>
<td class="text-left">{{ __('order.shipping_costs') }}:</td>
<td>
@php($shippingFree = Yard::instance('shopping')->getShippingFree())
@php($missingValue = Yard::instance('shopping')->getShippingFreeMissingValue())
@php($currentShipping = Yard::instance('shopping')->shippingNet())
@if($shippingFree && intval($currentShipping) == 0)
{{-- Versandkostenfrei erreicht --}}
<div class="badge badge-success font-weight-bold" style="font-size: 0.80rem; padding: 0.3rem 0.4rem;">
<i class="fa fa-check-circle"></i> {{ __('order.free_shipping') }}
</div>
<div class="mt-1">
<small class="text-success font-weight-bold">
<i class="fa fa-gift"></i> {{ __('order.free_shipping_reached', ['amount' => number_format($shippingFree, 2, ',', '.')]) }}
</small>
</div>
@else
{{-- Normale Versandkosten --}}
<div class="no-line-break">{{ $currentShipping }} </div>
@if(Yard::instance('shopping')->isPriceCurrency())
<span class="small">~{{ Yard::instance('shopping')->getCurrencyByKey('shippingNet') }} {{ Yard::instance('shopping')->getPriceCurrencyUnit() }} </span>
@endif
@if($shippingFree && $missingValue > 0)
{{-- Zeige wie viel noch fehlt --}}
<div class="mt-1">
<small class="text-info">
<i class="fa fa-info-circle"></i>
{{ __('order.free_shipping_info', [
'amount' => number_format($shippingFree, 2, ',', '.'),
'missing' => number_format($missingValue, 2, ',', '.')
]) }}
</small>
</div>
@endif
@endif
</td>
</tr>
<tr>
<td class="text-left">{{ __('order.total_without_VAT') }}:</td>
<td>
<div class="no-line-break"> {{ Yard::instance('shopping')->subtotalWithShipping() }} </div>
@if(Yard::instance('shopping')->isPriceCurrency())
<span class="small">~{{ Yard::instance('shopping')->getCurrencyByKey('subtotalWithShipping') }} {{ Yard::instance('shopping')->getPriceCurrencyUnit() }} </span>
@endif
</td>
</tr>
<tr>
<td class="text-left">{{ __('order.plus_VAT') }}:</td>
<td>
<div class="no-line-break">{{ Yard::instance('shopping')->taxWithShipping() }} </div>
@if(Yard::instance('shopping')->isPriceCurrency())
<span class="small">~{{ Yard::instance('shopping')->getCurrencyByKey('taxWithShipping') }} {{ Yard::instance('shopping')->getPriceCurrencyUnit() }} </span>
@endif
</td>
</tr>
@if(Yard::instance('shopping')->getUserTaxFree())
<tr>
<td class="text-left"><strong>{{ __('order.total_net') }}:</strong></td>
<td>
<strong><div class="no-line-break">{{ Yard::instance('shopping')->totalWithShipping() }} </div></strong>
@if(Yard::instance('shopping')->isPriceCurrency())
<span class="small">~{{ Yard::instance('shopping')->getCurrencyByKey('totalWithShipping') }} {{ Yard::instance('shopping')->getPriceCurrencyUnit() }} </span>
@endif
</td>
</tr>
@else
<tr>
<td class="text-left"><strong>{{ __('order.total_gross') }}:</strong></td>
<td>
<strong><div class="no-line-break">{{ Yard::instance('shopping')->totalWithShipping() }} </div></strong>
@if(Yard::instance('shopping')->isPriceCurrency())
<span class="small">~{{ Yard::instance('shopping')->getCurrencyByKey('totalWithShipping') }} {{ Yard::instance('shopping')->getPriceCurrencyUnit() }} </span>
@endif
</td>
</tr>
@endif
</tbody>
</table>
</div>
</div>
</div>
<hr>
@if(isset($is_abo) && $is_abo)
<div class="text-right">
<div class="alert alert-info">
<h4>{{ __('abo.abo_settings') }}</h4>
<div class="form-row">
<div class="col-6 col-sm-8 col-md-9 col-lg-9 mb-1">
</div>
<div class="col-12 col-sm-4 col-md-3 col-lg-3 mb-1 text-right">
<label class="form-label">{{ __('abo.delivery_day') }}*</label>
<select class="custom-select" name="abo_interval">
{!! HTMLHelper::getAboDeliveryOptions() !!}
</select>
</div>
<div class="col-12 col-sm-12 col-md-4 col-lg-6 mb-1">
</div>
<div class="col-12 col-sm-12 col-md-8 col-lg-6 mb-1">
<div class="text-right">
<em class="small"> <i> {!! __('abo.abo_order_info_check') !!}</em>
<hr style="margin-top: 10px; margin-bottom: 10px; border-color: #b4b4b4; border-width: 1px;">
<em class="font-weight-bold"> <i> {!! __('abo.abo_order_info_check_2') !!}</em>
<hr style="margin-top: 10px; margin-bottom: 10px; border-color: #b4b4b4; border-width: 1px;">
<em class="small"> <i> {!! __('abo.abo_order_info_check_3', ['abo-min-duration' => \App\Models\Setting::getContentBySlug('abo-min-duration')]) !!}</em>
<hr style="margin-top: 10px; margin-bottom: 10px; border-color: #b4b4b4; border-width: 1px;">
<label class="switcher switcher-success">
<input type="checkbox" class="switcher-input" name="abo_order_info_checkbox" value="true" required>
<span class="switcher-indicator">
<span class="switcher-yes">
<span class="ion ion-md-checkmark"></span>
</span>
<span class="switcher-no">
<span class="ion ion-md-close"></span>
</span>
</span>
<span class="switcher-label"><strong>{{ __('abo.abo_order_info_checkbox') }}</strong></span>
</label>
</div>
</div>
</div>
</div>
<hr>
</div>
@endif
@php($is_disabled = false)
@if(isset($is_abo) && $is_abo && !\App\Services\AboHelper::aboHasBaseProduct(Yard::instance('shopping')->getContentByOrder()))
@php($is_disabled = true)
<div class="float-right">
<div class="alert alert-danger text-right">
<strong>{!! __('abo.abo_type_info_base', ['base'=>get_abo_type_badge('base')]) !!}</strong>
</div>
</div>
<br clear="all">
@endif
@if((isset($data['for']) && $data['for'] === 'ot-customer') || (isset($for) && $for === 'abo-ot-customer'))
<div class="float-right">
<button type="submit" class="btn btn-secondary" @if($is_disabled) disabled @endif><i class="ion ion-ios-redo"></i> {{ __('order.confirm_and_send_order') }}</button>
</div>
<br><br>
<div class="text-right">
<em class="small"> <i class="fa fa-info-circle"></i> {!! __('order.confirm_send_order_info') !!}</em>
</div>
@else
<div class="float-right">
<button type="submit" class="btn btn-secondary" @if($is_disabled) disabled @endif><i class="ion ion-ios-redo"></i> {{ __('order.confirm_and_proceed_to_checkout') }}</button>
</div>
<br><br>
<div class="text-right">
<em class="small"> <i class="fa fa-lock"></i> {!! __('payment.checkout_ssl_server') !!}</em>
</div>
@endif
@endif
@endif