Compare commits
1 Commits
Author | SHA1 | Date |
---|---|---|
Nisse Lommerde | dcdad94a61 | 3 months ago |
@ -0,0 +1,25 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Livewire;
|
||||||
|
|
||||||
|
use Livewire\Component;
|
||||||
|
|
||||||
|
class Counter extends Component
|
||||||
|
{
|
||||||
|
public $count = 1;
|
||||||
|
|
||||||
|
public function increment()
|
||||||
|
{
|
||||||
|
$this->count++;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function decrement()
|
||||||
|
{
|
||||||
|
$this->count--;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function render()
|
||||||
|
{
|
||||||
|
return view('livewire.counter');
|
||||||
|
}
|
||||||
|
}
|
@ -1,158 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
namespace App\Livewire;
|
|
||||||
|
|
||||||
use Exception;
|
|
||||||
use Illuminate\Support\Collection;
|
|
||||||
use Livewire\Component;
|
|
||||||
|
|
||||||
class OrderProductsCreate extends Component
|
|
||||||
{
|
|
||||||
public Collection $productInputs;
|
|
||||||
|
|
||||||
public Collection $serviceInputs;
|
|
||||||
|
|
||||||
public array $sizes = [];
|
|
||||||
|
|
||||||
public array $totals = [];
|
|
||||||
|
|
||||||
public array $units = [];
|
|
||||||
|
|
||||||
public array $prices = [];
|
|
||||||
|
|
||||||
public array $priceTotals = [];
|
|
||||||
|
|
||||||
public int $totalQuantity = 0;
|
|
||||||
|
|
||||||
public string $totalPrice = '$0.00';
|
|
||||||
|
|
||||||
public function updated()
|
|
||||||
{
|
|
||||||
try {
|
|
||||||
foreach ($this->sizes as $index => $size) {
|
|
||||||
$this->totals[$index] = array_sum($size);
|
|
||||||
}
|
|
||||||
} catch (Exception $e) {
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
foreach ($this->units as $index => $unit) {
|
|
||||||
$this->priceTotals[$index] = $unit * $this->prices[$index];
|
|
||||||
}
|
|
||||||
} catch (Exception $e) {
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->totalQuantity = array_sum($this->totals);
|
|
||||||
|
|
||||||
$this->totalPrice = '$'.number_format(round(array_sum($this->priceTotals), 2), 2);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public function addProductInput()
|
|
||||||
{
|
|
||||||
$index = $this->productInputs->count();
|
|
||||||
$this->productInputs->push([
|
|
||||||
$index => [
|
|
||||||
'sku' => '',
|
|
||||||
'product_name' => '',
|
|
||||||
'product_color' => '',
|
|
||||||
'size_xs' => '',
|
|
||||||
'size_s' => '',
|
|
||||||
'size_m' => '',
|
|
||||||
'size_l' => '',
|
|
||||||
'size_xl' => '',
|
|
||||||
'size_2xl' => '',
|
|
||||||
'size_3xl' => '',
|
|
||||||
'size_osfa' => '',
|
|
||||||
'product_total' => '',
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function determineAddProductRow($index)
|
|
||||||
{
|
|
||||||
if ($index == $this->productInputs->count() - 1) {
|
|
||||||
$this->addProductInput();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public function determineAddServiceProductRow($index)
|
|
||||||
{
|
|
||||||
if ($index == $this->serviceInputs->count() - 1) {
|
|
||||||
$this->addServiceInput();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public function removeProductInput($key)
|
|
||||||
{
|
|
||||||
if ($this->productInputs->count() > 1) {
|
|
||||||
$this->productInputs->pull($key);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public function addServiceInput()
|
|
||||||
{
|
|
||||||
$this->serviceInputs->push([
|
|
||||||
$this->serviceInputs->count() => [
|
|
||||||
'service_name' => '',
|
|
||||||
'product_name' => '',
|
|
||||||
'product_color' => '',
|
|
||||||
'logo_name' => '',
|
|
||||||
'setup_number' => '',
|
|
||||||
'service_width' => '',
|
|
||||||
'service_height' => '',
|
|
||||||
'service_setup_unit' => '',
|
|
||||||
'service_setup_price' => '',
|
|
||||||
'service_total' => '',
|
|
||||||
],
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function removeServiceInput($key)
|
|
||||||
{
|
|
||||||
if ($this->serviceInputs->count() > 1) {
|
|
||||||
$this->serviceInputs->pull($key);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public function mount()
|
|
||||||
{
|
|
||||||
$this->fill([
|
|
||||||
'productInputs' => collect([
|
|
||||||
[
|
|
||||||
'sku' => '',
|
|
||||||
'product_name' => '',
|
|
||||||
'product_color' => '',
|
|
||||||
'size_xs' => '',
|
|
||||||
'size_s' => '',
|
|
||||||
'size_m' => '',
|
|
||||||
'size_l' => '',
|
|
||||||
'size_xl' => '',
|
|
||||||
'size_2xl' => '',
|
|
||||||
'size_3xl' => '',
|
|
||||||
'size_osfa' => '',
|
|
||||||
'product_total' => '0',
|
|
||||||
],
|
|
||||||
]),
|
|
||||||
'serviceInputs' => collect([
|
|
||||||
[
|
|
||||||
'sku' => '',
|
|
||||||
'product_name' => '',
|
|
||||||
'product_color' => '',
|
|
||||||
'logo_name' => '',
|
|
||||||
'setup_number' => '',
|
|
||||||
'service_width' => '',
|
|
||||||
'service_height' => '',
|
|
||||||
'service_setup_unit' => '',
|
|
||||||
'service_setup_price' => '',
|
|
||||||
'service_total' => '',
|
|
||||||
],
|
|
||||||
]),
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function render()
|
|
||||||
{
|
|
||||||
return view('livewire.order-products-create');
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
"preset": "laravel",
|
|
||||||
"rules": {
|
|
||||||
"binary_operator_spaces": {
|
|
||||||
"default": "single_space",
|
|
||||||
"operators": {
|
|
||||||
"=>": "align_single_space_minimal",
|
|
||||||
"=": "align_single_space_minimal"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,7 @@
|
|||||||
|
<div>
|
||||||
|
<h1>{{ $count }}</h1>
|
||||||
|
|
||||||
|
<button wire:click="increment">+</button>
|
||||||
|
|
||||||
|
<button wire:click="decrement">-</button>
|
||||||
|
</div>
|
@ -1,299 +0,0 @@
|
|||||||
<div>
|
|
||||||
|
|
||||||
<div class="overflow-x-hidden overflow-y-visible" style="max-height: 730px">
|
|
||||||
<table class="table table-striped table-sm mb-1 ms-0">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th scope="col">#</th>
|
|
||||||
<th scope="col">SKU</th>
|
|
||||||
<th scope="col">Product Name</th>
|
|
||||||
<th scope="col">Color</th>
|
|
||||||
<th scope="col">XS</th>
|
|
||||||
<th scope="col">S</th>
|
|
||||||
<th scope="col">M</th>
|
|
||||||
<th scope="col">L</th>
|
|
||||||
<th scope="col">XL</th>
|
|
||||||
<th scope="col">2XL</th>
|
|
||||||
<th scope="col">3XL</th>
|
|
||||||
<th scope="col">OSFA</th>
|
|
||||||
<th scope="col">Total</th>
|
|
||||||
<th scope="col"></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
|
|
||||||
@foreach($productInputs as $key => $value)
|
|
||||||
|
|
||||||
<tr wire:key="productRow.{{$key}}">
|
|
||||||
|
|
||||||
<input type="hidden" name="productInputCount[]" value="1">
|
|
||||||
|
|
||||||
<th scope="row" class="align-middle">{{$loop->index+1}}</th>
|
|
||||||
<td class="col-1">
|
|
||||||
<!-- SKU -->
|
|
||||||
|
|
||||||
<input id="sku_{{$key}}" type="text"
|
|
||||||
class="form-control form-control-sm @error('sku') is-invalid @enderror"
|
|
||||||
name="sku[]" value="{{@old('sku')}}" autofocus
|
|
||||||
wire:change="determineAddProductRow({{$loop->index}})">
|
|
||||||
</td>
|
|
||||||
<td class="col-3">
|
|
||||||
<!-- product_name -->
|
|
||||||
|
|
||||||
<input id="product_name_{{$key}}" type="text"
|
|
||||||
class="form-control form-control-sm @error('product_name') is-invalid @enderror"
|
|
||||||
name="product_name[]" value="{{@old('product_name')}}"
|
|
||||||
wire:change="determineAddProductRow({{$loop->index}})">
|
|
||||||
</td>
|
|
||||||
<td class="col-1">
|
|
||||||
<!-- product_color -->
|
|
||||||
|
|
||||||
<input id="product_color_{{$key}}" type="text" min="0"
|
|
||||||
class="form-control form-control-sm @error('product_color') is-invalid @enderror"
|
|
||||||
name="product_color[]" value="{{@old('product_color')}}"
|
|
||||||
wire:change="determineAddProductRow({{$loop->index}})">
|
|
||||||
</td>
|
|
||||||
<td class="" style="width: 55px">
|
|
||||||
<!-- size_xs -->
|
|
||||||
|
|
||||||
<input id="size_xs_{{$key}}" type="number" min="0"
|
|
||||||
class="form-control form-control-sm @error('size_xs') is-invalid @enderror"
|
|
||||||
name="size_xs[]" value="{{@old('size_xs')}}"
|
|
||||||
wire:model.live="sizes.{{$key}}.xs"
|
|
||||||
wire:change="determineAddProductRow({{$loop->index}})">
|
|
||||||
</td>
|
|
||||||
<td class="" style="width: 55px">
|
|
||||||
<!-- size_s -->
|
|
||||||
|
|
||||||
<input id="size_s_{{$key}}" type="number" min="0"
|
|
||||||
class="form-control form-control-sm @error('size_s') is-invalid @enderror"
|
|
||||||
name="size_s[]" value="{{@old('size_s')}}"
|
|
||||||
wire:model.live="sizes.{{$key}}.s"
|
|
||||||
wire:change="determineAddProductRow({{$loop->index}})">
|
|
||||||
</td>
|
|
||||||
<td class="" style="width: 55px">
|
|
||||||
<!-- size_m -->
|
|
||||||
|
|
||||||
<input id="size_m_{{$key}}" type="number" min="0"
|
|
||||||
class="form-control form-control-sm @error('size_m') is-invalid @enderror"
|
|
||||||
name="size_m[]" value="{{@old('size_m')}}"
|
|
||||||
wire:model.live="sizes.{{$key}}.m"
|
|
||||||
wire:change="determineAddProductRow({{$loop->index}})">
|
|
||||||
</td>
|
|
||||||
<td class="" style="width: 55px">
|
|
||||||
<!-- size_l -->
|
|
||||||
|
|
||||||
<input id="size_l_{{$key}}" type="number" min="0"
|
|
||||||
class="form-control form-control-sm @error('size_l') is-invalid @enderror"
|
|
||||||
name="size_l[]" value="{{@old('size_l')}}"
|
|
||||||
wire:model.live="sizes.{{$key}}.l"
|
|
||||||
wire:change="determineAddProductRow({{$loop->index}})">
|
|
||||||
</td>
|
|
||||||
<td class="" style="width: 55px">
|
|
||||||
<!-- size_xl -->
|
|
||||||
|
|
||||||
<input id="size_xl_{{$key}}" type="number" min="0"
|
|
||||||
class="form-control form-control-sm @error('size_xl') is-invalid @enderror"
|
|
||||||
name="size_xl[]" value="{{@old('size_xl')}}"
|
|
||||||
wire:model.live="sizes.{{$key}}.xl"
|
|
||||||
wire:change="determineAddProductRow({{$loop->index}})">
|
|
||||||
</td>
|
|
||||||
<td class="" style="width: 55px">
|
|
||||||
<!-- size_2xl -->
|
|
||||||
|
|
||||||
<input id="size_2xl_{{$key}}" type="number" min="0"
|
|
||||||
class="form-control form-control-sm @error('size_2xl') is-invalid @enderror"
|
|
||||||
name="size_2xl[]" value="{{@old('size_2xl')}}"
|
|
||||||
wire:model.live="sizes.{{$key}}.2xl"
|
|
||||||
wire:change="determineAddProductRow({{$loop->index}})">
|
|
||||||
|
|
||||||
</td>
|
|
||||||
<td class="" style="width: 55px">
|
|
||||||
<!-- size_3xl -->
|
|
||||||
|
|
||||||
<input id="size_3xl_{{$key}}" type="number" min="0"
|
|
||||||
class="form-control form-control-sm @error('size_3xl') is-invalid @enderror"
|
|
||||||
name="size_3xl[]"
|
|
||||||
wire:model.live="sizes.{{$key}}.3xl"
|
|
||||||
wire:change="determineAddProductRow({{$loop->index}})">
|
|
||||||
</td>
|
|
||||||
<td style="width: 55px">
|
|
||||||
<!-- size_osfa -->
|
|
||||||
|
|
||||||
<input id="size_osfa_{{$key}}" type="number" min="0"
|
|
||||||
class="form-control form-control-sm @error('size_osfa') is-invalid @enderror"
|
|
||||||
name="size_osfa[]" value="{{@old('size_osfa')}}"
|
|
||||||
wire:model.live="sizes.{{$key}}.osfa"
|
|
||||||
wire:change="determineAddProductRow({{$loop->index}})"
|
|
||||||
>
|
|
||||||
</td>
|
|
||||||
<td class="col" style="width: 55px">
|
|
||||||
<input id="product_total_{{$key}}" type="number"
|
|
||||||
class="form-control form-control-sm @error('product_total') is-invalid @enderror"
|
|
||||||
name="product_total[]" readonly
|
|
||||||
wire:model.live="totals.{{$key}}"
|
|
||||||
>
|
|
||||||
|
|
||||||
</td>
|
|
||||||
<td class="col" style="width: 40px">
|
|
||||||
@if($key > 0)
|
|
||||||
<button class="btn btn-sm" type="button" wire:click="removeProductInput({{$key}})">
|
|
||||||
<x-bi-trash3/>
|
|
||||||
</button>
|
|
||||||
@endif
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
@endforeach
|
|
||||||
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="d-flex gap-2">
|
|
||||||
<label for="total-quantity" class="text-nowrap col-form-label">Total Quantity:</label>
|
|
||||||
|
|
||||||
<input type="number" name="total-quantity" id="" class="form-control-plaintext" readonly
|
|
||||||
wire:model.live="totalQuantity">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Title -->
|
|
||||||
<div class="row px-2 border-bottom mt-4">
|
|
||||||
<div class="row fw-bold">
|
|
||||||
<div class="col-1 px-1 text-end" style="width: 40px;">#</div>
|
|
||||||
<div class="col-1 px-1">Service</div>
|
|
||||||
<div class="col-2 px-1">Placement</div>
|
|
||||||
<div class="col-3 px-1">Logo Name</div>
|
|
||||||
|
|
||||||
<div class="col-5">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col px-1">Setup</div>
|
|
||||||
<div class="col px-1">Width</div>
|
|
||||||
<div class="col px-1">Height</div>
|
|
||||||
<div class="col px-1">Unit</div>
|
|
||||||
<div class="col px-1">Price</div>
|
|
||||||
<div class="col px-1">Total</div>
|
|
||||||
<div class="col px-1"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Row -->
|
|
||||||
|
|
||||||
@foreach($serviceInputs as $key => $value)
|
|
||||||
<div class="row">
|
|
||||||
|
|
||||||
<input type="hidden" name="serviceInputCount[]" value="1">
|
|
||||||
|
|
||||||
<div class="@if($loop->index % 2 != 1) bg-body-tertiary @endif border-bottom py-2">
|
|
||||||
<div class="row mb-1">
|
|
||||||
<div class="row mb-2">
|
|
||||||
<div class="col-1 px-1 fw-bold text-end" style="width: 40px;">{{$loop->index+1}}</div>
|
|
||||||
<div class="col-1 px-1">
|
|
||||||
<input id="service_name_{{$key}}" type="text"
|
|
||||||
class="form-control form-control-sm m-0 @error('service_name') is-invalid @enderror"
|
|
||||||
name="service_type[]" value="{{@old('service_name')}}" placeholder="Service"
|
|
||||||
wire:change="determineAddServiceProductRow({{$loop->index}})">
|
|
||||||
</div>
|
|
||||||
<div class="col-2 px-1">
|
|
||||||
<input id="placement_{{$key}}" type="text"
|
|
||||||
class="form-control form-control-sm @error('placement') is-invalid @enderror"
|
|
||||||
name="placement[]" value="{{@old('placement')}}"
|
|
||||||
wire:change="determineAddServiceProductRow({{$loop->index}})">
|
|
||||||
</div>
|
|
||||||
<div class="col-3 px-1">
|
|
||||||
<input id="logo_name_{{$key}}" type="text"
|
|
||||||
class="form-control form-control-sm @error('logo_name') is-invalid @enderror"
|
|
||||||
name="logo_name[]" value="{{@old('logo_name')}}"
|
|
||||||
wire:change="determineAddServiceProductRow({{$loop->index}})">
|
|
||||||
</div>
|
|
||||||
<div class="col-5">
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<div class="col px-1">
|
|
||||||
<input id="setup_number_{{$key}}" type="number" min="0"
|
|
||||||
class="form-control form-control-sm @error('setup_number') is-invalid @enderror"
|
|
||||||
name="setup_amount[]" value="{{@old('setup_number')}}"
|
|
||||||
wire:change="determineAddServiceProductRow({{$loop->index}})">
|
|
||||||
</div>
|
|
||||||
<div class="col px-1">
|
|
||||||
<input id="service_width_{{$key}}" type="number" min="0"
|
|
||||||
class="form-control form-control-sm @error('service_width') is-invalid @enderror"
|
|
||||||
name="service_width[]" value="{{@old('service_width')}}"
|
|
||||||
wire:change="determineAddServiceProductRow({{$loop->index}})">
|
|
||||||
</div>
|
|
||||||
<div class="col px-1">
|
|
||||||
<input id="service_height_{{$key}}" type="number" min="0"
|
|
||||||
class="form-control form-control-sm @error('service_height') is-invalid @enderror"
|
|
||||||
name="service_height[]" value="{{@old('service_height')}}"
|
|
||||||
wire:change="determineAddServiceProductRow({{$loop->index}})">
|
|
||||||
</div>
|
|
||||||
<div class="col px-1">
|
|
||||||
<input id="service_setup_unit_{{$key}}" type="number" min="0"
|
|
||||||
class="form-control form-control-sm @error('service_setup_unit') is-invalid @enderror"
|
|
||||||
name="amount[]"
|
|
||||||
value="{{@old('service_setup_unit')}}"
|
|
||||||
wire:change="determineAddServiceProductRow({{$loop->index}})"
|
|
||||||
wire:model.live="units.{{$key}}"
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
<div class="col px-1">
|
|
||||||
<input id="service_setup_price_{{$key}}" type="text"
|
|
||||||
class="form-control form-control-sm @error('service_setup_price') is-invalid @enderror"
|
|
||||||
name="amount_price[]"
|
|
||||||
value="{{@old('service_setup_price')}}"
|
|
||||||
wire:change="determineAddServiceProductRow({{$loop->index}})"
|
|
||||||
wire:model.live="prices.{{$key}}"
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
<div class="col px-1">
|
|
||||||
<input id="service_total_{{$key}}" type="number" precision="2"
|
|
||||||
class="form-control form-control-sm px-1 @error('service_total') is-invalid @enderror"
|
|
||||||
name="service_total" readonly
|
|
||||||
wire:model.live="priceTotals.{{$key}}">
|
|
||||||
</div>
|
|
||||||
<div class="col px-1 text-end" style="width: 40px;">
|
|
||||||
@if($key > 0)
|
|
||||||
<button class="btn btn-sm" type="button"
|
|
||||||
wire:click="removeServiceInput({{$key}})">
|
|
||||||
<x-bi-trash3/>
|
|
||||||
</button>
|
|
||||||
@endif
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row mx-0 px-0">
|
|
||||||
<div class="col-1" style="width: 40px;"></div>
|
|
||||||
<div class="col-1 px-1">
|
|
||||||
<input id="service_file_name_{{$key}}" type="text"
|
|
||||||
class="form-control form-control-sm @error('service_file_name') is-invalid @enderror"
|
|
||||||
name="service_file_name[]" value="{{@old('service_file_name')}}"
|
|
||||||
placeholder="File"
|
|
||||||
wire:change="determineAddServiceProductRow({{$loop->index}})">
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="col-9 px-1">
|
|
||||||
<textarea name="contents[]" id="contents_{{$key}}" style="resize: none" rows="2"
|
|
||||||
class="form-control form-control-sm"
|
|
||||||
placeholder="Thread colors"
|
|
||||||
wire:change="determineAddServiceProductRow({{$loop->index}})"
|
|
||||||
>{{ old('contents') }}</textarea>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
@endforeach
|
|
||||||
|
|
||||||
{{-- <div class="row">--}}
|
|
||||||
<div class="d-flex flex-row gap-2 ">
|
|
||||||
<label for="total-price" class="col-form-label text-nowrap">Total Price:</label>
|
|
||||||
<input type="text" name="total-price" id="" class="col-1 form-control-plaintext" readonly
|
|
||||||
wire:model.live="totalPrice">
|
|
||||||
</div>
|
|
||||||
{{-- </div>--}}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
@ -1,6 +1,76 @@
|
|||||||
<div class="tab-pane {{$tab == 'details' ? 'active' : ''}}" id="details" role="tabpanel"
|
<div class="tab-pane {{$tab == 'details' ? 'active' : ''}}" id="details" role="tabpanel"
|
||||||
aria-labelledby="details-tab">
|
aria-labelledby="details-tab">
|
||||||
|
|
||||||
<livewire:orders-table :show-customer-column="false" order-type="active" title="Active orders"
|
<div class="row justify-content-center mb-3">
|
||||||
:customer_id="$customer->id"/>
|
<div class="col-9">
|
||||||
|
<div class="d-flex flex-row gap-2">
|
||||||
|
<div class="d-inline-flex">
|
||||||
|
<h4 class="my-auto">Active orders</h4>
|
||||||
|
</div>
|
||||||
|
<div class="mx-auto"></div>
|
||||||
|
<a href="{{route('orders.create')}}"
|
||||||
|
class="btn btn-sm btn-primary" title="Create new order..."
|
||||||
|
<x-bi-plus-circle-fill/>
|
||||||
|
Create entry
|
||||||
|
</a>
|
||||||
|
<div class="vr"></div>
|
||||||
|
|
||||||
|
<div class="d-inline-flex gap-2">
|
||||||
|
<input type="text" class="form-control form-control-sm" placeholder="Search..."
|
||||||
|
name="" id="searchText">
|
||||||
|
<button class="btn btn-sm btn-outline-primary" id="searchButton">
|
||||||
|
<x-bi-search/>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row justify-content-center">
|
||||||
|
<div class="col-9">
|
||||||
|
<table class="table table-striped table-sm table-hover">
|
||||||
|
<thead>
|
||||||
|
<tr class="border-bottom border-black">
|
||||||
|
<th scope="col">Internal PO</th>
|
||||||
|
<th scope="col">Customer PO</th>
|
||||||
|
<th scope="col">Order Date</th>
|
||||||
|
<th scope="col">Due Date</th>
|
||||||
|
<th scope="col">Status</th>
|
||||||
|
<th scope="col">Rush</th>
|
||||||
|
<th scope="col">View</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
@foreach($active_orders as $order)
|
||||||
|
<tr class="@if($today > $order->due_date) table-danger @elseif($order->rush) table-warning @endif">
|
||||||
|
<td class="fw-bold"><code>{{$order->internal_po}}</code></td>
|
||||||
|
<td class=""><code>{{$order->customer_po}}</code></td>
|
||||||
|
<td class="text-nowrap">{{$order->order_date}}</td>
|
||||||
|
<td class="text-nowrap">{{$order->due_date}}</td>
|
||||||
|
<td class="w-25">{{$order->status->value}}</td>
|
||||||
|
<td>
|
||||||
|
@if($order->rush)
|
||||||
|
<x-bi-check-lg class="text-danger"></x-bi-check-lg>
|
||||||
|
@endif
|
||||||
|
</td>
|
||||||
|
<td class="align-top">
|
||||||
|
<a class="btn btn-sm btn-outline-secondary"
|
||||||
|
href="">
|
||||||
|
<x-bi-arrow-right/>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
@endforeach
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col"></div>
|
||||||
|
<div class="col-4">
|
||||||
|
{{$active_orders->links()}}
|
||||||
|
</div>
|
||||||
|
<div class="col"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue