Added logic in ocr create page

This commit is contained in:
dhanabalan
2025-10-27 18:26:40 +05:30
parent a126050963
commit b058bb3c8a
3 changed files with 21 additions and 7 deletions

View File

@@ -111,9 +111,11 @@ class OcrValidationResource extends Resource
->label('Captured File') ->label('Captured File')
->default(null) ->default(null)
->reactive(), ->reactive(),
Forms\Components\Hidden::make('serialNumbers') // Forms\Components\Hidden::make('serialNumbers')
->default('[]') // empty array as default // ->default('[]') // empty array as default
->dehydrated(), // ->dehydrated(),
Forms\Components\Hidden::make('serial_numbers')
->default('[]'),
Forms\Components\Actions::make([ Forms\Components\Actions::make([
// Action::make('uploadNow1') // Action::make('uploadNow1')
@@ -262,7 +264,7 @@ class OcrValidationResource extends Resource
// ]; // ];
// $hasSerial = collect($serialNumbers)->some(fn($s) => !empty($s)); // $hasSerial = collect($serialNumbers)->some(fn($s) => !empty($s));
$serialNumbersJson = $get('serialNumbers'); // input name matches hidden input $serialNumbersJson = $get('serial_numbers');
$serialNumbers = json_decode($serialNumbersJson, true) ?? []; $serialNumbers = json_decode($serialNumbersJson, true) ?? [];
dd($serialNumbers); dd($serialNumbers);

View File

@@ -11,4 +11,14 @@ class CreateOcrValidation extends CreateRecord
protected static string $resource = OcrValidationResource::class; protected static string $resource = OcrValidationResource::class;
public $photo1; public $photo1;
protected function mutateFormDataBeforeCreate(array $data): array
{
if (!empty($data['serial_numbers'])) {
$data['serial_numbers'] = json_decode($data['serial_numbers'], true);
}
return $data;
}
} }

View File

@@ -741,6 +741,8 @@ function cameraCapture() {
{{-- <input type="hidden" x-ref="serialInput" name="serialNumbers"> --}} {{-- <input type="hidden" x-ref="serialInput" name="serialNumbers"> --}}
{{-- <input type="hidden" x-model="serialNumbers" name="serialNumbers"> --}} {{-- <input type="hidden" x-model="serialNumbers" name="serialNumbers"> --}}
<input type="hidden" x-model="serialNumbers" name="serialNumbers"> <input type="hidden" x-model="serialNumbers" name="serialNumbers">
<input type="hidden" x-ref="hiddenInputSerials" name="serial_numbers">
</div> </div>
<!-- Scripts --> <!-- Scripts -->
@@ -877,7 +879,7 @@ function cameraCapture() {
// Extract serial numbers (digits only) // Extract serial numbers (digits only)
const matches = detectedText.match(/\d+/g) || []; const matches = detectedText.match(/\d+/g) || [];
this.serialNumbers = matches.slice(0, 4); // take first 4 serials this.serialNumbers = matches.slice(0, 4); // take first 4 serials
this.$refs.hiddenInputSerials.value = JSON.stringify(this.serialNumbers);
//this.$refs.serialInput.value = JSON.stringify(this.serialNumbers); //this.$refs.serialInput.value = JSON.stringify(this.serialNumbers);
alert("Serial numbers stored in hidden input:\n" + this.$refs.serialInput.value); alert("Serial numbers stored in hidden input:\n" + this.$refs.serialInput.value);
} }