Initial commit for new repo
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 1m4s
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 1m4s
This commit is contained in:
3
resources/views/filament/pages/custom-login.blade.php
Normal file
3
resources/views/filament/pages/custom-login.blade.php
Normal file
@@ -0,0 +1,3 @@
|
||||
<x-filament-panels::page>
|
||||
|
||||
</x-filament-panels::page>
|
||||
21
resources/views/filament/pages/data-send-to-sap.blade.php
Normal file
21
resources/views/filament/pages/data-send-to-sap.blade.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<x-filament-panels::page>
|
||||
|
||||
{{ $this->form }}
|
||||
|
||||
<style>
|
||||
.align-to-input {
|
||||
align-self: center;
|
||||
margin-top: 8mm; /* or 0.3rem */
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- Label for Quality Data Table -->
|
||||
{{-- <div class="mb-4">
|
||||
<h2 class="text-xl font-semibold text-gray-800">Quality Data Table</h2>
|
||||
</div> --}}
|
||||
|
||||
<div class="bg-white shadow rounded-xl p-4 mt-6">
|
||||
<livewire:sap-data />
|
||||
</div>
|
||||
|
||||
</x-filament-panels::page>
|
||||
@@ -0,0 +1,11 @@
|
||||
<x-filament-panels::page>
|
||||
<div class="space-y-4">
|
||||
{{-- Filters form --}}
|
||||
{{ $this->filtersForm($this->form) }}
|
||||
|
||||
{{-- Chart widget --}}
|
||||
<x-filament-widgets::widgets :widgets="$this->getWidgets()" />
|
||||
|
||||
</div>
|
||||
|
||||
</x-filament-panels::page>
|
||||
@@ -0,0 +1,15 @@
|
||||
<x-filament-panels::page>
|
||||
|
||||
<div class="space-y-4">
|
||||
{{-- Render the Select form fields --}}
|
||||
<div class="space-y-4">
|
||||
{{ $this->filtersForm($this->form) }}
|
||||
</div>
|
||||
|
||||
<div class="bg-white shadow rounded-xl p-4 mt-6">
|
||||
<livewire:guard-patrol-entry-data-table />
|
||||
{{-- @livewire(\App\Filament\Widgets\InvoiceChart::class) --}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</x-filament-panels::page>
|
||||
@@ -0,0 +1,10 @@
|
||||
<x-filament-panels::page>
|
||||
<div class="space-y-4">
|
||||
{{-- Filters form --}}
|
||||
{{ $this->filtersForm($this->form) }}
|
||||
|
||||
{{-- Chart widget --}}
|
||||
<x-filament-widgets::widgets :widgets="$this->getWidgets()" />
|
||||
|
||||
</div>
|
||||
</x-filament-panels::page>
|
||||
38
resources/views/filament/pages/hourly-production.blade.php
Normal file
38
resources/views/filament/pages/hourly-production.blade.php
Normal file
@@ -0,0 +1,38 @@
|
||||
{{-- <x-filament-panels::page>
|
||||
<div class="space-y-4"> --}}
|
||||
{{-- Filters form --}}
|
||||
{{-- {{ $this->filtersForm($this->form) }} --}}
|
||||
|
||||
{{-- Chart widget --}}
|
||||
{{-- <x-filament-widgets::widgets :widgets="$this->getWidgets()" /> --}}
|
||||
|
||||
{{-- <div class="col-span-2"> --}}
|
||||
{{-- Stat widget Livewire --}}
|
||||
{{-- @livewire(\App\Filament\Widgets\ProductionQuantityStat::class)
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</x-filament-panels::page> --}}
|
||||
|
||||
<x-filament-panels::page>
|
||||
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-2 sm:gap-4 md:gap-4 p-2 md:p-4 items-start">
|
||||
{{-- Filters form --}}
|
||||
<div class="space-y-4 w-full max-w-full col-span-1">
|
||||
{{ $this->filtersForm($this->form) }}
|
||||
</div>
|
||||
|
||||
{{-- Stat widget --}}
|
||||
<div class="w-full max-w-full col-span-1 sm:col-span-1 lg:col-span-2">
|
||||
{{-- @livewire(\App\Filament\Widgets\ProductionQuantityStat::class) --}}
|
||||
@livewire(\App\Filament\Widgets\ItemOverview::class)
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</x-filament-panels::page>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
19
resources/views/filament/pages/invoice-dashboard.blade.php
Normal file
19
resources/views/filament/pages/invoice-dashboard.blade.php
Normal file
@@ -0,0 +1,19 @@
|
||||
|
||||
<x-filament-panels::page>
|
||||
<div class="space-y-4">
|
||||
{{-- Render the Select form fields --}}
|
||||
<div class="space-y-4">
|
||||
{{ $this->filtersForm($this->form) }}
|
||||
</div>
|
||||
|
||||
{{-- Render the chart widget below the form --}}
|
||||
<div class="mt-6">
|
||||
@livewire(\App\Filament\Widgets\InvoiceChart::class)
|
||||
</div>
|
||||
</div>
|
||||
</x-filament-panels::page>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
<x-filament-panels::page>
|
||||
<div class="space-y-4">
|
||||
{{-- Render the Select form fields --}}
|
||||
<div class="space-y-4">
|
||||
{{ $this->filtersForm($this->form) }}
|
||||
</div>
|
||||
|
||||
{{-- Render the chart widget below the form --}}
|
||||
<div class="mt-6">
|
||||
@livewire(\App\Filament\Widgets\InvoiceDataChart::class)
|
||||
</div>
|
||||
</div>
|
||||
</x-filament-panels::page>
|
||||
14
resources/views/filament/pages/invoice-finder.blade.php
Normal file
14
resources/views/filament/pages/invoice-finder.blade.php
Normal file
@@ -0,0 +1,14 @@
|
||||
<x-filament-panels::page>
|
||||
|
||||
<div class="space-y-4">
|
||||
{{-- Render the Select form fields --}}
|
||||
<div class="space-y-4">
|
||||
{{ $this->form }}
|
||||
</div>
|
||||
|
||||
<div class="bg-white shadow rounded-xl p-4 mt-6">
|
||||
<livewire:invoice-finder-data-table />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</x-filament-panels::page>
|
||||
@@ -0,0 +1,13 @@
|
||||
<x-filament-panels::page>
|
||||
<div class="space-y-4">
|
||||
{{-- Render the Select form fields --}}
|
||||
<div class="space-y-4">
|
||||
{{ $this->filtersForm($this->form) }}
|
||||
</div>
|
||||
|
||||
{{-- Render the chart widget below the form --}}
|
||||
<div class="mt-6">
|
||||
@livewire(\App\Filament\Widgets\InvoiceQuantity::class)
|
||||
</div>
|
||||
</div>
|
||||
</x-filament-panels::page>
|
||||
14
resources/views/filament/pages/invoice-rework.blade.php
Normal file
14
resources/views/filament/pages/invoice-rework.blade.php
Normal file
@@ -0,0 +1,14 @@
|
||||
<x-filament-panels::page>
|
||||
|
||||
<div class="space-y-4">
|
||||
{{-- Render the Select form fields --}}
|
||||
<div class="space-y-4">
|
||||
{{ $this->form }}
|
||||
</div>
|
||||
|
||||
<div class="bg-white shadow rounded-xl p-4 mt-6">
|
||||
<livewire:invoice-rework-data-table />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</x-filament-panels::page>
|
||||
77
resources/views/filament/pages/locator-validation.blade.php
Normal file
77
resources/views/filament/pages/locator-validation.blade.php
Normal file
@@ -0,0 +1,77 @@
|
||||
{{-- <x-filament-panels::page>
|
||||
|
||||
<div class="space-y-4">
|
||||
<div class="space-y-4">
|
||||
{{ $this->form }}
|
||||
</div>
|
||||
|
||||
<div class="bg-white shadow rounded-xl p-4 mt-6">
|
||||
<livewire:locator-data-table />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
window.addEventListener('focus-scan-locator-no', () => {
|
||||
const wrapper = document.getElementById('scan_locator_no');
|
||||
const input = wrapper?.querySelector('input,textarea');
|
||||
if (input) {
|
||||
input.focus();
|
||||
input.select();
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
</x-filament-panels::page> --}}
|
||||
|
||||
<x-filament-panels::page>
|
||||
|
||||
<div class="space-y-4">
|
||||
{{-- Render the Select form fields --}}
|
||||
<div class="space-y-4">
|
||||
{{ $this->form }}
|
||||
</div>
|
||||
|
||||
{{-- Add Pallet and Remove Pallet buttons --}}
|
||||
<div class="flex flex-row gap-2 mt-4">
|
||||
<button
|
||||
type="button"
|
||||
wire:click="addPallet"
|
||||
class="px-3 py-1 border border-primary-500 text-primary-600 rounded hover:bg-primary-50 hover:border-primary-700 transition text-sm"
|
||||
>
|
||||
Add Pallet /<br>Serial Number
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
wire:click="removePallet"
|
||||
class="px-3 py-1 border border-primary-500 text-primary-600 rounded hover:bg-primary-50 hover:border-primary-700 transition text-sm"
|
||||
>
|
||||
Remove Pallet /<br>Serial Number
|
||||
</button>
|
||||
{{-- <button
|
||||
type="button"
|
||||
wire:click="print"
|
||||
class="px-3 py-1 border border-primary-500 text-primary-600 rounded hover:bg-primary-50 hover:border-primary-700 transition text-sm"
|
||||
>
|
||||
Print
|
||||
</button> --}}
|
||||
</div>
|
||||
|
||||
<div class="bg-white shadow rounded-xl p-4 mt-6">
|
||||
<livewire:locator-data-table />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
window.addEventListener('focus-scan-locator-no', () => {
|
||||
const wrapper = document.getElementById('scan_locator_no');
|
||||
const input = wrapper?.querySelector('input,textarea');
|
||||
if (input) {
|
||||
input.focus();
|
||||
input.select();
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
</x-filament-panels::page>
|
||||
|
||||
51
resources/views/filament/pages/pallet-from-locator.blade.php
Normal file
51
resources/views/filament/pages/pallet-from-locator.blade.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<x-filament-panels::page>
|
||||
<div class="space-y-4">
|
||||
{{-- Render the Select form fields --}}
|
||||
<div class="space-y-4">
|
||||
{{ $this->form }}
|
||||
</div>
|
||||
<div class="flex-row gap-2 mt-4">
|
||||
<button
|
||||
type="button"
|
||||
wire:click="generatePallet"
|
||||
class="px-3 py-1 border border-primary-500 text-primary-600 rounded hover:bg-primary-50 hover:border-primary-700 transition text-sm"
|
||||
>
|
||||
Generate Pallet
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="bg-white shadow rounded-xl p-4 mt-6">
|
||||
<livewire:pallet-from-locator-data-table />
|
||||
</div>
|
||||
|
||||
{{-- <div>
|
||||
<p>Locator No: {{ $locatorNo }}</p>
|
||||
</div> --}}
|
||||
|
||||
<x-filament::modal id="confirm-process-modal">
|
||||
<x-slot name="heading">
|
||||
ADD: CONFIRMATION
|
||||
</x-slot>
|
||||
<p>Scanned locator number has locator serial numbers!<br>Do you want to store it into 'Pallet Data' table?</p>
|
||||
<x-slot name="footer">
|
||||
<x-filament::button wire:click="addToPalletValidation" x-on:click="isOpen = false" color="success">
|
||||
Yes
|
||||
</x-filament::button>
|
||||
<x-filament::button wire:click="skipAddToPalletValidation" x-on:click="isOpen = false" color="danger">
|
||||
No
|
||||
</x-filament::button>
|
||||
</x-slot>
|
||||
</x-filament::modal>
|
||||
@push('scripts')
|
||||
<script>
|
||||
window.addEventListener('open-pdf', event => {
|
||||
const url = event.detail.url;
|
||||
const win = window.open(url, '_blank');
|
||||
if (!win || win.closed || typeof win.closed == 'undefined') {
|
||||
alert('Popup blocked. Please allow popups for this site.');
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
</div>
|
||||
</x-filament-panels::page>
|
||||
22
resources/views/filament/pages/production-data-sap.blade.php
Normal file
22
resources/views/filament/pages/production-data-sap.blade.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<x-filament-panels::page>
|
||||
|
||||
{{ $this->form }}
|
||||
|
||||
<style>
|
||||
.align-to-input {
|
||||
align-self: center;
|
||||
margin-top: 8mm; /* or 0.3rem */
|
||||
}
|
||||
</style>
|
||||
|
||||
<!-- Label for Quality Data Table -->
|
||||
{{-- <div class="mb-4">
|
||||
<h2 class="text-xl font-semibold text-gray-800">Quality Data Table</h2>
|
||||
</div> --}}
|
||||
|
||||
<div class="bg-white shadow rounded-xl p-4 mt-6">
|
||||
<livewire:production-sap-data />
|
||||
</div>
|
||||
|
||||
</x-filament-panels::page>
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
<x-filament-panels::page>
|
||||
<div class="space-y-4">
|
||||
{{-- Render the Select form fields --}}
|
||||
<div class="space-y-4">
|
||||
{{ $this->filtersForm($this->form) }}
|
||||
</div>
|
||||
|
||||
{{-- Render the chart widget below the form --}}
|
||||
<div class="mt-6">
|
||||
@livewire(\App\Filament\Widgets\ProductionLineStopChart::class)
|
||||
</div>
|
||||
</div>
|
||||
</x-filament-panels::page>
|
||||
@@ -0,0 +1,14 @@
|
||||
<x-filament-panels::page>
|
||||
<div class="space-y-4">
|
||||
{{-- Render the Select form fields --}}
|
||||
<div class="space-y-4">
|
||||
{{ $this->filtersForm($this->form) }}
|
||||
</div>
|
||||
|
||||
{{-- Render the chart widget below the form --}}
|
||||
<div class="mt-6">
|
||||
@livewire(\App\Filament\Widgets\ProductionOrderChart::class)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</x-filament-panels::page>
|
||||
109
resources/views/filament/pages/production-quantity.blade.php
Normal file
109
resources/views/filament/pages/production-quantity.blade.php
Normal file
@@ -0,0 +1,109 @@
|
||||
<x-filament-panels::page>
|
||||
|
||||
<div class="space-y-4">
|
||||
{{-- Render the Select form fields --}}
|
||||
<div class="space-y-4">
|
||||
{{-- {{ $this->filtersForm($this->form) }} --}}
|
||||
{{ $this->form }}
|
||||
</div>
|
||||
|
||||
<livewire:notification-sound />
|
||||
|
||||
{{-- <input
|
||||
type="text"
|
||||
id="qr-scan-input"
|
||||
class="border border-gray-300 rounded px-4 py-2 text-sm w-full"
|
||||
placeholder="Scan QR Code & Press Enter"
|
||||
autocomplete="off"
|
||||
autofocus
|
||||
/> --}}
|
||||
{{-- <div class="mb-4">
|
||||
<label for="qr-scan-input" class="block text-sm font-medium text-gray-700 mb-2">
|
||||
SCAN QR CODE
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
id="qr-scan-input"
|
||||
class="border border-gray-300 rounded px-4 py-2 text-sm w-full"
|
||||
placeholder="Scan QR Code & Press Enter"
|
||||
autocomplete="off"
|
||||
autofocus
|
||||
/>
|
||||
</div> --}}
|
||||
{{-- <div class="mb-4">
|
||||
<label for="qr-scan-input" class="block text-sm font-medium text-gray-700 mb-2">
|
||||
SCAN QR CODE
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
id="qr-scan-input"
|
||||
class="border border-gray-300 rounded px-4 py-2 text-sm w-1/2"
|
||||
placeholder="Scan QR Code & Press Enter"
|
||||
autocomplete="off"
|
||||
autofocus
|
||||
/>
|
||||
</div> --}}
|
||||
<div class="flex gap-6 -mt-6">
|
||||
<!-- Scan QR Code -->
|
||||
<div class="w-1/2">
|
||||
<label for="qr-scan-input" class="block text-sm font-medium text-gray-700 mb-2">
|
||||
SCAN QR CODE
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
id="qr-scan-input"
|
||||
class="border border-gray-300 rounded px-4 py-2 text-sm w-full"
|
||||
placeholder="Scan QR Code & Press Enter"
|
||||
autocomplete="off"
|
||||
autofocus
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- Last Scanned QR -->
|
||||
<div class="w-1/2">
|
||||
<label for="recent-qr-input" class="block text-sm font-medium text-gray-700 mb-2">
|
||||
LAST SCANNED QR
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
id="recent-qr-input"
|
||||
class="border border-gray-300 rounded px-4 py-2 text-sm w-full bg-white-100 text-black"
|
||||
readonly
|
||||
wire:model="recent_qr"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
const scanInput = document.getElementById('qr-scan-input');
|
||||
if (!scanInput) return;
|
||||
|
||||
scanInput.addEventListener('keydown', function (event) {
|
||||
if (event.key === 'Enter') {
|
||||
event.preventDefault();
|
||||
|
||||
const value = scanInput.value.trim();
|
||||
|
||||
if (value !== '') {
|
||||
Livewire.dispatch('handleQrScan', { value: value });
|
||||
scanInput.value = '';
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
|
||||
{{-- Render the chart widget below the form --}}
|
||||
<div class="mt-6">
|
||||
@livewire(\App\Filament\Widgets\ItemOverview::class)
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</x-filament-panels::page>
|
||||
@@ -0,0 +1,73 @@
|
||||
<x-filament-panels::page>
|
||||
<div class="space-y-4">
|
||||
|
||||
{{-- Heading label --}}
|
||||
{{-- <h2 class="text-xl font-semibold text-gray-800">
|
||||
STICKER RE-PRINT
|
||||
</h2> --}}
|
||||
{{-- Render the Select form fields --}}
|
||||
<div class="space-y-4">
|
||||
{{-- {{ $this->filtersForm($this->form) }} --}}
|
||||
{{ $this->form }}
|
||||
</div>
|
||||
|
||||
{{-- <input
|
||||
type="text"
|
||||
id="qr-scan-input"
|
||||
class="border border-gray-300 rounded px-4 py-2 text-sm w-full"
|
||||
placeholder="Scan QR Code & Press Enter"
|
||||
autocomplete="off"
|
||||
autofocus
|
||||
/> --}}
|
||||
<div class="mb-4">
|
||||
<label for="qr-scan-input" class="block text-sm font-medium text-gray-700 mb-2">
|
||||
SCAN QR CODE
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
id="qr-scan-input"
|
||||
class="border border-gray-300 rounded px-4 py-2 text-sm w-full"
|
||||
placeholder="Scan QR Code & Press Enter"
|
||||
autocomplete="off"
|
||||
autofocus
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
const scanInput = document.getElementById('qr-scan-input');
|
||||
if (!scanInput) return;
|
||||
|
||||
scanInput.addEventListener('keydown', function (event) {
|
||||
if (event.key === 'Enter') {
|
||||
event.preventDefault();
|
||||
|
||||
const value = scanInput.value.trim();
|
||||
|
||||
if (value !== '') {
|
||||
Livewire.dispatch('handleQrScan', { value: value });
|
||||
scanInput.value = '';
|
||||
}
|
||||
}
|
||||
});
|
||||
window.addEventListener('open-pdf', event => {
|
||||
const pdfUrl = event.detail.url;
|
||||
const win = window.open(pdfUrl, '_blank');
|
||||
if (!win) {
|
||||
console.warn('Popup blocked. Please allow popups for this site.');
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
{{-- Render the chart widget below the form --}}
|
||||
<div class="mt-6">
|
||||
@livewire(\App\Filament\Widgets\ItemOverview::class)
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</x-filament-panels::page>
|
||||
|
||||
72
resources/views/filament/pages/sticker-reprint.blade.php
Normal file
72
resources/views/filament/pages/sticker-reprint.blade.php
Normal file
@@ -0,0 +1,72 @@
|
||||
<x-filament-panels::page>
|
||||
<div class="space-y-4">
|
||||
|
||||
{{-- Heading label --}}
|
||||
<h2 class="text-xl font-semibold text-gray-800">
|
||||
STICKER RE-PRINT
|
||||
</h2>
|
||||
{{-- Render the Select form fields --}}
|
||||
<div class="space-y-4">
|
||||
{{-- {{ $this->filtersForm($this->form) }} --}}
|
||||
{{ $this->form }}
|
||||
</div>
|
||||
|
||||
{{-- <input
|
||||
type="text"
|
||||
id="qr-scan-input"
|
||||
class="border border-gray-300 rounded px-4 py-2 text-sm w-full"
|
||||
placeholder="Scan QR Code & Press Enter"
|
||||
autocomplete="off"
|
||||
autofocus
|
||||
/> --}}
|
||||
<div class="mb-4">
|
||||
<label for="qr-scan-input" class="block text-sm font-medium text-gray-700 mb-2">
|
||||
SCAN QR CODE
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
id="qr-scan-input"
|
||||
class="border border-gray-300 rounded px-4 py-2 text-sm w-full"
|
||||
placeholder="Scan QR Code & Press Enter"
|
||||
autocomplete="off"
|
||||
autofocus
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
const scanInput = document.getElementById('qr-scan-input');
|
||||
if (!scanInput) return;
|
||||
|
||||
scanInput.addEventListener('keydown', function (event) {
|
||||
if (event.key === 'Enter') {
|
||||
event.preventDefault();
|
||||
|
||||
const value = scanInput.value.trim();
|
||||
|
||||
if (value !== '') {
|
||||
Livewire.dispatch('handleQrScan', { value: value });
|
||||
scanInput.value = '';
|
||||
}
|
||||
}
|
||||
});
|
||||
window.addEventListener('open-pdf', event => {
|
||||
const pdfUrl = event.detail.url;
|
||||
const win = window.open(pdfUrl, '_blank');
|
||||
if (!win) {
|
||||
console.warn('Popup blocked. Please allow popups for this site.');
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
{{-- Render the chart widget below the form --}}
|
||||
<div class="mt-6">
|
||||
@livewire(\App\Filament\Widgets\ItemOverview::class)
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</x-filament-panels::page>
|
||||
11
resources/views/filament/pages/trend-chart-analys.blade.php
Normal file
11
resources/views/filament/pages/trend-chart-analys.blade.php
Normal file
@@ -0,0 +1,11 @@
|
||||
<x-filament-panels::page>
|
||||
<div class="space-y-4">
|
||||
{{-- Filters form --}}
|
||||
{{ $this->filtersForm($this->form) }}
|
||||
|
||||
{{-- Chart widget --}}
|
||||
<x-filament-widgets::widgets :widgets="$this->getWidgets()" />
|
||||
|
||||
</div>
|
||||
|
||||
</x-filament-panels::page>
|
||||
10
resources/views/filament/pages/trend-line-analysis.blade.php
Normal file
10
resources/views/filament/pages/trend-line-analysis.blade.php
Normal file
@@ -0,0 +1,10 @@
|
||||
<x-filament-panels::page>
|
||||
<div class="space-y-4">
|
||||
{{-- Filters form --}}
|
||||
{{ $this->filtersForm($this->form) }}
|
||||
|
||||
{{-- Chart widget --}}
|
||||
<x-filament-widgets::widgets :widgets="$this->getWidgets()" />
|
||||
|
||||
</div>
|
||||
</x-filament-panels::page>
|
||||
@@ -0,0 +1,77 @@
|
||||
<x-filament-panels::page>
|
||||
|
||||
<div class="space-y-4">
|
||||
{{-- Render the Select form fields --}}
|
||||
<div class="space-y-4">
|
||||
{{ $this->form }}
|
||||
</div>
|
||||
<div class="flex-row gap-2 mt-4">
|
||||
<button
|
||||
type="button"
|
||||
wire:click="masterFileUpload"
|
||||
class="px-3 py-1 border border-primary-500 text-primary-600 rounded hover:bg-primary-50 hover:border-primary-700 transition text-sm"
|
||||
>
|
||||
Master File Upload
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
wire:click="addLocator"
|
||||
class="px-3 py-1 border border-primary-500 text-primary-600 rounded hover:bg-primary-50 hover:border-primary-700 transition text-sm"
|
||||
>
|
||||
Add
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
wire:click="viewLocator"
|
||||
class="px-3 py-1 border border-primary-500 text-primary-600 rounded hover:bg-primary-50 hover:border-primary-700 transition text-sm"
|
||||
>
|
||||
View
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
wire:click="deleteLocator"
|
||||
class="px-3 py-1 border border-primary-500 text-primary-600 rounded hover:bg-primary-50 hover:border-primary-700 transition text-sm"
|
||||
>
|
||||
Delete
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="bg-white shadow rounded-xl p-4 mt-6">
|
||||
<livewire:serial-locator-data-table />
|
||||
</div>
|
||||
|
||||
<x-filament::modal id="confirm-process-modal">
|
||||
<x-slot name="heading">
|
||||
UPLOAD: CONFIRMATION
|
||||
</x-slot>
|
||||
<p>Some locator numbers does not have space?<br>Do you want to skip these locators?<br>Press Yes to continue!<br>Press No to Cancel!</p>
|
||||
<x-slot name="footer">
|
||||
<x-filament::button wire:click="skipLocatorsQuestion" x-on:click="isOpen = false" color="success">
|
||||
Yes
|
||||
</x-filament::button>
|
||||
{{-- <x-filament::button x-on:click="isOpen = false" color="danger"> --}}
|
||||
<x-filament::button wire:click="cancelLocatorsQuestion" x-on:click="isOpen = false" color="danger">
|
||||
No
|
||||
</x-filament::button>
|
||||
</x-slot>
|
||||
</x-filament::modal>
|
||||
|
||||
|
||||
<x-filament::modal id="confirm-process-serial">
|
||||
<x-slot name="heading">
|
||||
UPLOAD: CONFIRMATION
|
||||
</x-slot>
|
||||
<p>Some Serial numbers are already exists in pallet table?<br>Do you want to skip the duplicate serial numbers?<br>Press Yes to continue!<br>Press No to Cancel!</p>
|
||||
<x-slot name="footer">
|
||||
<x-filament::button wire:click="skipSerialQuestion" x-on:click="isOpen = false" color="success">
|
||||
Yes
|
||||
</x-filament::button>
|
||||
{{-- <x-filament::button x-on:click="isOpen = false" color="danger"> --}}
|
||||
<x-filament::button wire:click="cancelSerialQuestion" x-on:click="isOpen = false" color="danger">
|
||||
No
|
||||
</x-filament::button>
|
||||
</x-slot>
|
||||
</x-filament::modal>
|
||||
</div>
|
||||
|
||||
</x-filament-panels::page>
|
||||
27
resources/views/filament/pages/webcam-capture.blade.php
Normal file
27
resources/views/filament/pages/webcam-capture.blade.php
Normal file
@@ -0,0 +1,27 @@
|
||||
<x-filament-panels::page>
|
||||
|
||||
{{-- <div class="space-y-4">
|
||||
{{ $this->form($this->form) }}
|
||||
</div> --}}
|
||||
|
||||
{{-- <div class="space-y-4">
|
||||
{{ $this->form }} --}}
|
||||
{{-- </div> --}}
|
||||
|
||||
{{-- Render the chart widget below the form --}}
|
||||
{{-- <div class="mt-6">
|
||||
@livewire(\App\Filament\Widgets\InvoiceChart::class)
|
||||
</div> --}}
|
||||
{{-- </div> --}}
|
||||
<div class="space-y-4">
|
||||
{{-- Render the Select form fields --}}
|
||||
<div class="space-y-4">
|
||||
{{ $this->filtersForm($this->form) }}
|
||||
</div>
|
||||
|
||||
{{-- Render the chart widget below the form --}}
|
||||
{{-- <div class="mt-6">
|
||||
@livewire(\App\Filament\Widgets\InvoiceChart::class)
|
||||
</div> --}}
|
||||
</div>
|
||||
</x-filament-panels::page>
|
||||
@@ -0,0 +1,25 @@
|
||||
|
||||
<x-filament::page>
|
||||
<form wire:submit.prevent="create" class="space-y-6">
|
||||
{{-- Form Section --}}
|
||||
<div class="filament-form space-y-6">
|
||||
{{ $this->form }}
|
||||
</div>
|
||||
|
||||
<livewire:notification-sound />
|
||||
|
||||
{{-- Livewire Component (Invoice Table) --}}
|
||||
<div class="bg-white shadow rounded-xl p-4">
|
||||
<livewire:invoice-data-table :invoice-data="$invoice_data" />
|
||||
</div>
|
||||
|
||||
{{-- Actions --}}
|
||||
<div class="filament-actions mt-6">
|
||||
<x-filament::actions>
|
||||
@foreach ($this->getFormActions() as $action)
|
||||
{{ $action }}
|
||||
@endforeach
|
||||
</x-filament::actions>
|
||||
</div>
|
||||
</form>
|
||||
</x-filament::page>
|
||||
@@ -0,0 +1,21 @@
|
||||
<x-filament::page>
|
||||
<form wire:submit.prevent="create" class="space-y-6">
|
||||
{{-- Form Section --}}
|
||||
<div class="filament-form space-y-6">
|
||||
{{ $this->form }}
|
||||
</div>
|
||||
|
||||
{{-- Livewire Component (Invoice Table) --}}
|
||||
<div class="bg-white shadow rounded-xl p-4">
|
||||
<livewire:select-plant />
|
||||
</div>
|
||||
{{-- Actions --}}
|
||||
<div class="filament-actions mt-6">
|
||||
<x-filament::actions>
|
||||
@foreach ($this->getFormActions() as $action)
|
||||
{{ $action }}
|
||||
@endforeach
|
||||
</x-filament::actions>
|
||||
</div>
|
||||
</form>
|
||||
</x-filament::page>
|
||||
@@ -0,0 +1,84 @@
|
||||
{{-- <x-filament::page>
|
||||
|
||||
<form wire:submit.prevent="create" class="space-y-6">
|
||||
{{-- Form Section --}}
|
||||
{{-- <div class="filament-form space-y-6">
|
||||
{{ $this->form }}
|
||||
</div> --}}
|
||||
|
||||
{{-- Livewire Component (Invoice Table) --}}
|
||||
{{-- <div class="bg-white shadow rounded-xl p-4">
|
||||
<livewire:locator-invoice-data-table />
|
||||
</div> --}}
|
||||
|
||||
{{-- Heading after Livewire component (optional) --}}
|
||||
{{-- <h2>hello</h2> --}}
|
||||
|
||||
{{-- Actions --}}
|
||||
{{-- <div class="filament-actions mt-6">
|
||||
<x-filament::actions>
|
||||
@foreach ($this->getFormActions() as $action)
|
||||
{{ $action }}
|
||||
@endforeach
|
||||
</x-filament::actions>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</x-filament::page> --}}
|
||||
|
||||
<!-- Test button to manually trigger the modal -->
|
||||
|
||||
<x-filament::page>
|
||||
|
||||
<form wire:submit.prevent="create" class="space-y-6">
|
||||
{{-- Form Section --}}
|
||||
<div class="filament-form space-y-6">
|
||||
{{ $this->form }}
|
||||
</div>
|
||||
|
||||
{{-- Livewire Component (Invoice Table) --}}
|
||||
<div class="bg-white shadow rounded-xl p-4">
|
||||
<livewire:locator-invoice-data-table />
|
||||
</div>
|
||||
|
||||
{{-- Actions --}}
|
||||
<div class="filament-actions mt-6">
|
||||
<x-filament::actions>
|
||||
@foreach ($this->getFormActions() as $action)
|
||||
{{ $action }}
|
||||
@endforeach
|
||||
</x-filament::actions>
|
||||
</div>
|
||||
</form>
|
||||
{{-- Modal for removing matched serials --}}
|
||||
<x-filament::modal wire:model="showRemoveSerialsModal">
|
||||
|
||||
<h1>hello</h1>
|
||||
<x-slot name="title">
|
||||
Remove Matched Serials from Pallet Validation?
|
||||
</x-slot>
|
||||
<x-slot name="content">
|
||||
<div style="color: red; font-weight: bold;">
|
||||
<!-- TEMPORARY INDICATOR -->
|
||||
MODAL IS OPENED!
|
||||
</div>
|
||||
<div>
|
||||
<p>The following serial numbers exist in both tables and will be removed from Pallet Validation if you proceed:</p>
|
||||
<ul>
|
||||
@foreach ($matchedSerialNumbersForRemoval as $serial)
|
||||
<li>{{ $serial }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
</x-slot>
|
||||
<x-slot name="footer">
|
||||
<x-filament::button wire:click="removeMatchedSerials" color="danger">
|
||||
Yes, Remove
|
||||
</x-filament::button>
|
||||
<x-filament::button wire:click="$set('showRemoveSerialsModal', false)">
|
||||
No, Cancel
|
||||
</x-filament::button>
|
||||
</x-slot>
|
||||
</x-filament::modal>
|
||||
</x-filament::page>
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
|
||||
|
||||
<x-filament::page>
|
||||
<form wire:submit.prevent="create" class="space-y-6 mt-4"> <!-- Added mt-4 (16px) -->
|
||||
<div class="filament-page-header space-y-2 mb-6">
|
||||
{{-- Breadcrumbs --}}
|
||||
<div class="filament-breadcrumbs flex items-center gap-2 text-sm">
|
||||
<a href="{{ route('filament.admin.resources.pallet-validations.index') }}"
|
||||
class="text-primary-500 hover:underline">
|
||||
Pallet Validations
|
||||
</a>
|
||||
<span class="text-gray-500"> > </span>
|
||||
<span class="text-gray-600">Create</span>
|
||||
</div>
|
||||
<h1 class="text-3xl font-bold tracking-tight">Scan Pallet</h1>
|
||||
</div>
|
||||
|
||||
<div class="filament-form space-y-6">
|
||||
{{ $this->form }}
|
||||
</div>
|
||||
|
||||
<div class="bg-white shadow rounded-xl p-4">
|
||||
<livewire:pallet-data-table />
|
||||
</div>
|
||||
|
||||
<div class="filament-actions mt-6">
|
||||
<x-filament::actions>
|
||||
@foreach ($this->getFormActions() as $action)
|
||||
{{ $action }}
|
||||
@endforeach
|
||||
</x-filament::actions>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
window.addEventListener('open-pdf', event => {
|
||||
const url = event.detail.url;
|
||||
const win = window.open(url, '_blank');
|
||||
if (!win || win.closed || typeof win.closed == 'undefined') {
|
||||
alert('Popup blocked. Please allow popups for this site.');
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
</x-filament::page>
|
||||
@@ -0,0 +1,28 @@
|
||||
<x-filament::page>
|
||||
|
||||
<form wire:submit.prevent="create" class="space-y-6">
|
||||
{{-- Form Section --}}
|
||||
<div class="filament-form space-y-6">
|
||||
{{ $this->form }}
|
||||
</div>
|
||||
|
||||
{{-- Livewire Component (Invoice Table) --}}
|
||||
<div class="bg-white shadow rounded-xl p-4">
|
||||
<livewire:invoice-rework-data-table />
|
||||
</div>
|
||||
|
||||
|
||||
{{-- Heading after Livewire component (optional) --}}
|
||||
{{-- <h2>hello</h2> --}}
|
||||
|
||||
{{-- Actions --}}
|
||||
<div class="filament-actions mt-6">
|
||||
<x-filament::actions>
|
||||
@foreach ($this->getFormActions() as $action)
|
||||
{{ $action }}
|
||||
@endforeach
|
||||
</x-filament::actions>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</x-filament::page>
|
||||
@@ -0,0 +1,24 @@
|
||||
<x-filament::page>
|
||||
<form wire:submit.prevent="create" class="space-y-6">
|
||||
{{-- Form Section --}}
|
||||
<div class="filament-form space-y-6">
|
||||
{{ $this->form }}
|
||||
</div>
|
||||
|
||||
<livewire:notification-sound />
|
||||
|
||||
{{-- Livewire Component (Invoice Table) --}}
|
||||
<div class="bg-white shadow rounded-xl p-4">
|
||||
<livewire:serial-validation-data :invoice-data="$invoice_data" />
|
||||
</div>
|
||||
|
||||
{{-- Actions --}}
|
||||
<div class="filament-actions mt-6">
|
||||
<x-filament::actions>
|
||||
@foreach ($this->getFormActions() as $action)
|
||||
{{ $action }}
|
||||
@endforeach
|
||||
</x-filament::actions>
|
||||
</div>
|
||||
</form>
|
||||
</x-filament::page>
|
||||
@@ -0,0 +1,24 @@
|
||||
<x-filament::page>
|
||||
<form wire:submit.prevent="create" class="space-y-6">
|
||||
{{-- Form Section --}}
|
||||
<div class="filament-form space-y-6">
|
||||
{{ $this->form }}
|
||||
</div>
|
||||
|
||||
{{-- <livewire:notification-sound /> --}}
|
||||
|
||||
{{-- Livewire Component (Invoice Table) --}}
|
||||
<div class="bg-white shadow rounded-xl p-4">
|
||||
<livewire:sticker-print-data :ref-data="$ref_number" />
|
||||
</div>
|
||||
|
||||
{{-- Actions --}}
|
||||
<div class="filament-actions mt-6">
|
||||
<x-filament::actions>
|
||||
@foreach ($this->getFormActions() as $action)
|
||||
{{ $action }}
|
||||
@endforeach
|
||||
</x-filament::actions>
|
||||
</div>
|
||||
</form>
|
||||
</x-filament::page>
|
||||
Reference in New Issue
Block a user