Initial commit for new repo
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 1m4s

This commit is contained in:
dhanabalan
2025-12-16 17:05:04 +05:30
commit 3f0d529640
862 changed files with 141157 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
<x-filament-panels::page>
</x-filament-panels::page>

View 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>

View 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>

View File

@@ -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>

View 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>

View 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>

View 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>

View File

@@ -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>

View 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>

View File

@@ -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>

View 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>

View 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>

View 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>

View 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>

View File

@@ -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>

View 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->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>

View 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>

View File

@@ -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>

View 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>

View 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>

View 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>

View File

@@ -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>

View 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>