Refactor TintoreriaProceso to Tintoreria resource and model
Renamed TintoreriaProcesoResource, model, and migration to Tintoreria, updating all related references and page classes. Added preload to Select fields for better performance in forms. This change standardizes naming and improves resource management for tintoreria processes.
This commit is contained in:
@@ -33,61 +33,62 @@ class InventarioPrendaResource extends Resource
|
||||
public static function form(Form $form): Form
|
||||
{
|
||||
return $form->schema([
|
||||
Section::make('Ingreso a Inventario')
|
||||
->schema([
|
||||
Select::make('orden_produccion_id')
|
||||
->label('Orden de Producción')
|
||||
->relationship('ordenProduccion', 'numero_orden')
|
||||
->searchable()
|
||||
->required(),
|
||||
Section::make('Ingreso a Inventario')
|
||||
->schema([
|
||||
Select::make('orden_produccion_id')
|
||||
->label('Orden de Producción')
|
||||
->relationship('ordenProduccion', 'numero_orden')
|
||||
->searchable()
|
||||
->preload()
|
||||
->required(),
|
||||
|
||||
TextInput::make('cantidad_terminada')
|
||||
->numeric()
|
||||
->required(),
|
||||
TextInput::make('cantidad_terminada')
|
||||
->numeric()
|
||||
->required(),
|
||||
|
||||
TextInput::make('cantidad_disponible')
|
||||
->disabled()
|
||||
->dehydrated(false),
|
||||
TextInput::make('cantidad_disponible')
|
||||
->disabled()
|
||||
->dehydrated(false),
|
||||
|
||||
DatePicker::make('fecha_ingreso')
|
||||
->required(),
|
||||
DatePicker::make('fecha_ingreso')
|
||||
->required(),
|
||||
|
||||
Select::make('estado')
|
||||
->options([
|
||||
'en_bodega' => 'En bodega',
|
||||
'lista_despacho' => 'Lista para despacho',
|
||||
])
|
||||
->required(),
|
||||
])
|
||||
->columns(2),
|
||||
]);
|
||||
Select::make('estado')
|
||||
->options([
|
||||
'en_bodega' => 'En bodega',
|
||||
'lista_despacho' => 'Lista para despacho',
|
||||
])
|
||||
->required(),
|
||||
])
|
||||
->columns(2),
|
||||
]);
|
||||
}
|
||||
|
||||
public static function table(Table $table): Table
|
||||
{
|
||||
return $table
|
||||
->columns([
|
||||
TextColumn::make('ordenProduccion.numero_orden')
|
||||
->label('OP')
|
||||
->searchable(),
|
||||
->columns([
|
||||
TextColumn::make('ordenProduccion.numero_orden')
|
||||
->label('OP')
|
||||
->searchable(),
|
||||
|
||||
TextColumn::make('cantidad_terminada'),
|
||||
TextColumn::make('cantidad_terminada'),
|
||||
|
||||
TextColumn::make('cantidad_disponible'),
|
||||
TextColumn::make('cantidad_disponible'),
|
||||
|
||||
TextColumn::make('fecha_ingreso')
|
||||
->date(),
|
||||
TextColumn::make('fecha_ingreso')
|
||||
->date(),
|
||||
|
||||
BadgeColumn::make('estado')
|
||||
->formatStateUsing(fn ($state) => match ($state) {
|
||||
'en_bodega' => 'En bodega',
|
||||
'lista_despacho' => 'Lista para despacho',
|
||||
})
|
||||
->colors([
|
||||
'secondary' => 'en_bodega',
|
||||
'success' => 'lista_despacho',
|
||||
]),
|
||||
])
|
||||
BadgeColumn::make('estado')
|
||||
->formatStateUsing(fn($state) => match ($state) {
|
||||
'en_bodega' => 'En bodega',
|
||||
'lista_despacho' => 'Lista para despacho',
|
||||
})
|
||||
->colors([
|
||||
'secondary' => 'en_bodega',
|
||||
'success' => 'lista_despacho',
|
||||
]),
|
||||
])
|
||||
->filters([
|
||||
//
|
||||
])
|
||||
|
||||
@@ -51,6 +51,7 @@ class ProcesoAcabadoResource extends Resource
|
||||
->label('Proveedor (opcional)')
|
||||
->relationship('proveedor', 'nombre')
|
||||
->searchable()
|
||||
->preload()
|
||||
->nullable(),
|
||||
|
||||
TextInput::make('responsable_interno')
|
||||
|
||||
+13
-9
@@ -2,9 +2,9 @@
|
||||
|
||||
namespace App\Filament\Resources;
|
||||
|
||||
use App\Filament\Resources\TintoreriaProcesoResource\Pages;
|
||||
use App\Filament\Resources\TintoreriaProcesoResource\RelationManagers;
|
||||
use App\Models\TintoreriaProceso;
|
||||
use App\Filament\Resources\TintoreriaResource\Pages;
|
||||
use App\Filament\Resources\TintoreriaResource\RelationManagers;
|
||||
use App\Models\Tintoreria;
|
||||
use Filament\Forms;
|
||||
use Filament\Forms\Form;
|
||||
use Filament\Resources\Resource;
|
||||
@@ -24,9 +24,9 @@ use Filament\Tables\Columns\{
|
||||
BadgeColumn
|
||||
};
|
||||
|
||||
class TintoreriaProcesoResource extends Resource
|
||||
class TintoreriaResource extends Resource
|
||||
{
|
||||
protected static ?string $model = TintoreriaProceso::class;
|
||||
protected static ?string $model = Tintoreria::class;
|
||||
|
||||
protected static ?string $navigationGroup = 'Administración';
|
||||
protected static ?string $navigationIcon = 'heroicon-o-rectangle-stack';
|
||||
@@ -41,15 +41,19 @@ class TintoreriaProcesoResource extends Resource
|
||||
->relationship(
|
||||
'proveedor',
|
||||
'nombre',
|
||||
fn($query) => $query->where('categoria', 'tintoreria')
|
||||
fn($query) => $query->where('categoria', 'tintoreria')
|
||||
)
|
||||
->searchable()
|
||||
->preload()
|
||||
|
||||
->required(),
|
||||
|
||||
Select::make('orden_produccion_id')
|
||||
->label('Orden de Producción')
|
||||
->relationship('ordenProduccion', 'numero_orden')
|
||||
->searchable()
|
||||
->preload()
|
||||
|
||||
->required(),
|
||||
|
||||
TextInput::make('tipo_proceso')
|
||||
@@ -126,9 +130,9 @@ class TintoreriaProcesoResource extends Resource
|
||||
public static function getPages(): array
|
||||
{
|
||||
return [
|
||||
'index' => Pages\ListTintoreriaProcesos::route('/'),
|
||||
'create' => Pages\CreateTintoreriaProceso::route('/create'),
|
||||
'edit' => Pages\EditTintoreriaProceso::route('/{record}/edit'),
|
||||
'index' => Pages\ListTintorerias::route('/'),
|
||||
'create' => Pages\CreateTintoreria::route('/create'),
|
||||
'edit' => Pages\EditTintoreria::route('/{record}/edit'),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\TintoreriaResource\Pages;
|
||||
|
||||
use App\Filament\Resources\TintoreriaResource;
|
||||
use Filament\Actions;
|
||||
use Filament\Resources\Pages\CreateRecord;
|
||||
|
||||
class CreateTintoreria extends CreateRecord
|
||||
{
|
||||
protected static string $resource = TintoreriaResource::class;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\TintoreriaResource\Pages;
|
||||
|
||||
use App\Filament\Resources\TintoreriaResource;
|
||||
use Filament\Actions;
|
||||
use Filament\Resources\Pages\EditRecord;
|
||||
|
||||
class EditTintoreria extends EditRecord
|
||||
{
|
||||
protected static string $resource = TintoreriaResource::class;
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
Actions\DeleteAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace App\Filament\Resources\TintoreriaResource\Pages;
|
||||
|
||||
use App\Filament\Resources\TintoreriaResource;
|
||||
use Filament\Actions;
|
||||
use Filament\Resources\Pages\ListRecords;
|
||||
|
||||
class ListTintorerias extends ListRecords
|
||||
{
|
||||
protected static string $resource = TintoreriaResource::class;
|
||||
|
||||
protected function getHeaderActions(): array
|
||||
{
|
||||
return [
|
||||
Actions\CreateAction::make(),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@ namespace App\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class TintoreriaProceso extends Model
|
||||
class Tintoreria extends Model
|
||||
{
|
||||
protected $fillable = [
|
||||
'proveedor_id',
|
||||
+2
-3
@@ -11,10 +11,9 @@ return new class extends Migration
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('tintoreria_procesos', function (Blueprint $table) {
|
||||
Schema::create('tintorerias', function (Blueprint $table) {
|
||||
$table->id();
|
||||
|
||||
// Relaciones
|
||||
$table->foreignId('proveedor_id')
|
||||
->constrained('proveedors')
|
||||
->cascadeOnDelete();
|
||||
@@ -48,6 +47,6 @@ return new class extends Migration
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::dropIfExists('tintoreria_procesos');
|
||||
Schema::dropIfExists('tintorerias');
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user