pdf nutzwerte wip

This commit is contained in:
salam committed 2025-11-10 15:41:59 +01:00
1 parent 054654fb9c
commit 53cdc0413e
7 files changed
+74 -21

No files matched your search

@@ -57,7 +57,7 @@ class ProjektObjekteImDetailRelationManager extends RelationManager
->columnSpan(2),
TextInput::make('flaeche')
->suffix(new HtmlString(' m²'))
->rules(['required', 'flaeche' => 'decimal:2'])
->rules(['required'])
->label('Fläche')
->validationMessages([
'required' => 'Die Eingabe einer Fläche ist erforderlich.',
@@ -69,7 +69,6 @@ class ProjektObjekteImDetailRelationManager extends RelationManager
->columnSpan(2),
TextInput::make('faktor')
->suffixIcon('phosphor-function')
->rules(['required', 'faktor' => 'decimal:0,2'])
->afterStateUpdated(function (Component $livewire) {
$livewire->dispatch('refreshProjektObjekteImDetail');
})->validationMessages([
@@ -97,10 +96,16 @@ class ProjektObjekteImDetailRelationManager extends RelationManager
->extraInputAttributes(['onClick' => 'this.select()'])
->suffixIcon('phosphor-function')
->width('1rem')
->rules(['required', 'faktor' => 'decimal:0,2'])
->rules(['required'])
->searchable()
->afterStateUpdated(function (Component $livewire) {
->afterStateUpdated(function ($record, Component $livewire) {
$object = ProjektObjekteImDetail::find($record['id']);
$object->nutzwert = round($object->faktor * $object->flaeche, 2);
$object->save();
$livewire->dispatch('refreshProjektObjekteImDetail');
})->validationMessages([
'required' => 'Die Eingabe eines Faktors ist erforderlich.',
'decimal' => 'Für den Faktors sind zwei Dezimalstellen erforderlich.',
@@ -113,11 +118,17 @@ class ProjektObjekteImDetailRelationManager extends RelationManager
->suffix(new HtmlString(' m²'))
->width('2rem')
->alignment('right')
->rules(['required', 'flaeche' => 'decimal:2'])
->rules(['required'])
->label('Fläche')
->searchable()
->afterStateUpdated(function (Component $livewire) {
->afterStateUpdated(function ($record, Component $livewire) {
$object = ProjektObjekteImDetail::find($record['id']);
$object->nutzwert = round($object->faktor * $object->flaeche, 2);
$object->save();
$livewire->dispatch('refreshProjektObjekteImDetail');
})->validationMessages([
'required' => 'Die Eingabe einer Fläche ist erforderlich.',
'decimal' => 'Für die Fläche sind zwei Dezimalstellen erforderlich.',
@@ -131,7 +142,7 @@ class ProjektObjekteImDetailRelationManager extends RelationManager
SelectFilter::make('top_nummer')
->label('Top Nummer')
->relationship('top_nummer', 'top_nummer', fn (Builder $query) => $query->where('projekte_id', $this->getOwnerRecord()->id))
->searchable(),
->preload(),
SelectFilter::make('geschoss')
->preload()
->options(function (): array {
@@ -143,6 +154,7 @@ class ProjektObjekteImDetailRelationManager extends RelationManager
return ProjektObjekteImDetail::where('projekte_id', $this->getOwnerRecord()->id)->groupBy('raumart')->orderBy('raumart')->pluck('raumart', 'raumart')->toArray();
}),
])
->deferFilters(false)
->headerActions([
CreateAction::make()
->icon('phosphor-file-plus')
@@ -150,7 +162,8 @@ class ProjektObjekteImDetailRelationManager extends RelationManager
])
->recordActions([
EditAction::make()->iconButton()
->mutateDataUsing(function (array $data): array {
->mutateDataUsing(function ($data): array {
$data['nutzwert'] = round($data['faktor'] * $data['flaeche']);
return $data;