parfum/resources/views/livewire/studio/stock/stock-opname/index.blade.php
Yoga Pangestu 293dd7d1fd refactor: restructure stock management components and update routes
- Removed legacy stock management components including PurchaseForm, RestockForm, StockOpnameForm, and StockTransferForm.
- Updated routes to reflect new structure under 'studio.stock' namespace for better organization.
- Adjusted view files for stock management to align with the new routing and component structure.
- Modified action routes in the ViewServiceProvider to ensure proper access control and navigation.
- Cleaned up related test files to remove references to deleted components.
2026-01-09 21:57:06 +07:00

114 lines
5.8 KiB
PHP

<flux:main>
<div class="flex justify-between items-center">
<div>
<flux:heading size="xl">{{ $pageTitle }}</flux:heading>
</div>
</div>
<div class="mt-6">
<div class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-4 gap-4 mb-4 text-sm items-start" wire:ignore>
@foreach ($stockOpname as $item)
<flux:card class="h-auto" wire:key="stock-opname-{{ $item->id }}">
<div class="flex justify-between items-center mb-3">
<div>
<flux:heading>{{ $item->outlet->name }}</flux:heading>
<flux:text>{{ $item->period_month }}</flux:text>
</div>
<div class="text-right">
<flux:badge color="{{ $item->status->color() }}">
{{ $item->status->label() }}
</flux:badge>
</div>
</div>
<div class="grid grid-cols-1 gap-4 mb-3 text-sm">
<div>
<flux:text>Total Item</flux:text>
<div class="font-medium">{{ $item->total_item }}</div>
</div>
<div>
<flux:text>Progress</flux:text>
<div class="font-medium">
{{ $item->progress_filled }} / {{ $item->total_item }} |
({{ $item->progress_percent }}%)
</div>
</div>
@if ($item['note'])
<div>
<flux:text>Catatan</flux:text>
<div class="font-medium">
{{ $item['note'] }}
</div>
</div>
@endif
</div>
<flux:separator class="my-2" />
<div class="flex items-center mt-2 gap-2">
<flux:tooltip content="Lihat">
<flux:button variant="primary" color="blue" size="sm" icon="eye"
href="{{ route('studio.stock.stock_opname.show', ['stockOpname' => $item->hash]) }}"
wire:navigate>
</flux:button>
</flux:tooltip>
@if ($item->status === \App\Enums\StockOpnameStatus::PROCESS)
<flux:tooltip content="Kelola">
<flux:button variant="primary" color="yellow" size="sm" icon="document-text"
href="{{ route('studio.stock.stock_opname.manage', ['stockOpname' => $item->hash]) }}"
wire:navigate>
</flux:button>
</flux:tooltip>
@if ($item->progress_percent == 100)
<flux:modal.trigger name="delete-confirmation">
<flux:tooltip content="Ajukan Persetujuan">
<flux:button variant="primary" color="emerald" icon="document-check"
size="sm"
wire:click="$dispatch('fn:confirmAction', {
id : '{{ $item->hash }}',
message: 'Pastikan proses stock opname sudah tepat dan sesuai.',
confirmButtonText: 'Ajukan',
target: 'requestApproval',
confirmButtonColor : 'emerald'
})">
</flux:button>
</flux:tooltip>
</flux:modal.trigger>
@endif
@endif
@if ($item->status === \App\Enums\StockOpnameStatus::PENDING_APPROVAL && auth()->user()->can('approve stock opname'))
<flux:modal.trigger name="delete-confirmation">
<flux:tooltip content="Setujui">
<flux:button variant="primary" color="emerald" icon="check-circle" size="sm"
wire:click="$dispatch('fn:confirmAction', {
id : '{{ $item->hash }}',
message: 'Proses ini akan menyesuaikan kembali stok barang dengan hasil inputan dan proes tidak dapat dibatalkan, silakan periksa kembali dengan benar.',
confirmButtonText: 'Ajukan',
target: 'approveApproval',
confirmButtonColor : 'emerald'
})">
</flux:button>
</flux:tooltip>
</flux:modal.trigger>
@endif
</div>
</flux:card>
@endforeach
</div>
<livewire:datatable.manage.stock-opname-table />
</div>
@include('components.modals.confirmation', [
'modalName' => 'delete-confirmation',
'modalTitle' => 'Apakah Anda yakin?',
'modalMessage' => 'Data yang berelasi dengan data ini juga akan ikut terhapus.',
'buttonVariant' => 'primary',
'buttonColor' => 'danger',
'buttonText' => 'Ya, Hapus',
])
</flux:main>