wip pdf
This commit is contained in:
1 parent
c9cac0903a
commit
fd40de7ff5
15 files changed
+4418
-112
No files matched your search
@@ -30,7 +30,6 @@ class CreateProjektInhaltsverzeichnis
|
||||
$inhalt->part = $value->part;
|
||||
$inhalt->seite = $value->seite;
|
||||
$inhalt->neue_seite = $value->neue_seite;
|
||||
$inhalt->seitenzahl_anzeige = $value->seitenzahl_anzeige;
|
||||
$inhalt->no_edit = $value->no_edit;
|
||||
$inhalt->textblock_name = $text->name ?? '';
|
||||
$inhalt->textblock = $text->textblock ?? '';
|
||||
|
||||
@@ -63,6 +63,7 @@ class PdfGenerator
|
||||
$mpdf = new Mpdf(
|
||||
[
|
||||
'debug' => true,
|
||||
'use_kwt' => true,
|
||||
'mode' => 'utf-8',
|
||||
'format' => 'A4-P',
|
||||
'margin_left' => 10,
|
||||
@@ -82,15 +83,13 @@ class PdfGenerator
|
||||
|
||||
$inhaltesverzeichnis = ProjektInhaltsverzeichnis::where('projekte_id', $projekte_id)->where('part', $part)->orderBy('sort')->get();
|
||||
|
||||
// dd($inhaltesverzeichnis);
|
||||
|
||||
$platzhalter = Platzhalter::load($projekte_id);
|
||||
|
||||
foreach ($inhaltesverzeichnis as $inhalt) {
|
||||
|
||||
if ($inhalt->neue_seite) {
|
||||
if ($part == 'nutzwerte') {
|
||||
$mpdf->AddPage('P', '', self::$projekt->nutzwerte_startseite);
|
||||
$mpdf->AddPage('P', '', self::$inhalt->seite);
|
||||
} else {
|
||||
$mpdf->AddPage();
|
||||
}
|
||||
@@ -148,19 +147,18 @@ class PdfGenerator
|
||||
$html .= $textblock2;
|
||||
}
|
||||
|
||||
if ($inhalt->seitenzahl_anzeige == 1) {
|
||||
if ($inhalt->seite != 0) {
|
||||
$mpdf->SetHTMLFooter('<div class="center">Seite {PAGENO} <br><br></div>');
|
||||
}
|
||||
if ($html) {
|
||||
$mpdf->WriteHTML($html, HTMLParserMode::HTML_BODY);
|
||||
}
|
||||
|
||||
ProjektInhaltsverzeichnis::where('id', $inhalt->id)->update(['seite' => $mpdf->page]);
|
||||
|
||||
}
|
||||
|
||||
if ($part == 'standard') {
|
||||
Projekte::where('id', $projekte_id)->update(['nutzwerte_startseite' => $mpdf->page]);
|
||||
$inhaltesverzeichnis = ProjektInhaltsverzeichnis::where('projekte_id', $projekte_id)->where('part', 'nutzwerte')->orderBy('sort')->first();
|
||||
$inhaltesverzeichnis->seite = $mpdf->page + 1;
|
||||
$inhaltesverzeichnis->save();
|
||||
}
|
||||
|
||||
ob_clean();
|
||||
|
||||
@@ -26,8 +26,6 @@ class InhaltsverzeichnisForm
|
||||
->schema([
|
||||
Checkbox::make('neue_seite')
|
||||
->label('Start neuer Seite'),
|
||||
Checkbox::make('seitenzahl_anzeige')
|
||||
->label('Seitenzahl angezeigen'),
|
||||
Checkbox::make('ueberschrift_verbergen')
|
||||
->label('Überschrift verbergen'),
|
||||
TextInput::make('name')
|
||||
|
||||
@@ -6,6 +6,7 @@ use Filament\Actions\DeleteAction;
|
||||
use Filament\Actions\EditAction;
|
||||
use Filament\Tables\Columns\IconColumn;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Columns\TextInputColumn;
|
||||
use Filament\Tables\Enums\FiltersLayout;
|
||||
use Filament\Tables\Filters\SelectFilter;
|
||||
use Filament\Tables\Table;
|
||||
@@ -38,15 +39,11 @@ class InhaltsverzeichnisTable
|
||||
->wrap(),
|
||||
TextColumn::make('textblock.name')
|
||||
->wrap(),
|
||||
TextColumn::make('seite')
|
||||
TextInputColumn::make('seite')
|
||||
->extraInputAttributes(['onClick' => 'this.select()'])
|
||||
->alignCenter()
|
||||
->badge()
|
||||
->color(fn ($record): string => $record->seitenzahl_anzeige ? 'primary' : 'gray')
|
||||
->getStateUsing(function ($record) {
|
||||
if ($record->seitenzahl_anzeige) {
|
||||
return $record->seite == '0' ? 'auto' : $record->seite;
|
||||
}
|
||||
}),
|
||||
->tooltip('Bei 0 wird keine Seitenzahl ausgegeben.')
|
||||
->getStateUsing(fn ($record): string => $record->seite == 0 ? '' : $record->seite),
|
||||
])
|
||||
// ->paginated(false)
|
||||
->defaultPaginationPageOption(5)
|
||||
|
||||
-3
@@ -79,9 +79,6 @@ class ProjektAllgemeinflaechensRelationManager extends RelationManager
|
||||
$livewire->dispatch('refreshProjektAllgemeinflaechen');
|
||||
}),
|
||||
])
|
||||
->filters([
|
||||
//
|
||||
])
|
||||
->headerActions([
|
||||
CreateAction::make()
|
||||
->icon('phosphor-file-plus')
|
||||
|
||||
+9
-12
@@ -27,6 +27,8 @@ use Filament\Schemas\Components\Utilities\Set;
|
||||
use Filament\Schemas\Schema;
|
||||
use Filament\Tables\Columns\IconColumn;
|
||||
use Filament\Tables\Columns\TextColumn;
|
||||
use Filament\Tables\Columns\TextInputColumn;
|
||||
use Filament\Tables\Enums\FiltersLayout;
|
||||
use Filament\Tables\Filters\SelectFilter;
|
||||
use Filament\Tables\Table;
|
||||
|
||||
@@ -52,8 +54,6 @@ class ProjektInhaltsverzeichnisRelationManager extends RelationManager
|
||||
->schema([
|
||||
Checkbox::make('neue_seite')
|
||||
->label('Start neuer Seite'),
|
||||
Checkbox::make('seitenzahl_anzeige')
|
||||
->label('Seitenzahl angezeigen'),
|
||||
// Checkbox::make('ueberschrift_verbergen')
|
||||
// ->label('Überschrift verbergen'),
|
||||
TextInput::make('name')
|
||||
@@ -334,17 +334,14 @@ class ProjektInhaltsverzeichnisRelationManager extends RelationManager
|
||||
->wrap(),
|
||||
TextColumn::make('inhaltselement.name')
|
||||
->label('Inhalts Element'),
|
||||
TextColumn::make('seite')
|
||||
TextInputColumn::make('seite')
|
||||
->extraInputAttributes(['onClick' => 'this.select()'])
|
||||
->width('2rem')
|
||||
->alignCenter()
|
||||
->badge()
|
||||
->color(fn ($record): string => $record->seitenzahl_anzeige ? 'primary' : 'gray')
|
||||
->getStateUsing(function ($record) {
|
||||
if ($record->seitenzahl_anzeige) {
|
||||
return $record->seite == '0' ? 'auto' : $record->seite;
|
||||
}
|
||||
}),
|
||||
->tooltip('Bei 0 wird keine Seitenzahl ausgegeben.')
|
||||
->getStateUsing(fn ($record): string => $record->seite == 0 ? '' : $record->seite),
|
||||
])
|
||||
->defaultPaginationPageOption(5)
|
||||
// ->defaultPaginationPageOption(5)
|
||||
->persistFiltersInSession()
|
||||
->deferFilters(false)
|
||||
->filtersFormColumns(3)
|
||||
@@ -358,7 +355,7 @@ class ProjektInhaltsverzeichnisRelationManager extends RelationManager
|
||||
'nutzwerte' => 'Nutzwerberechnung',
|
||||
'paragraph' => 'Auszug Gutachten gem. §6',
|
||||
]),
|
||||
])
|
||||
], FiltersLayout::AboveContent)
|
||||
->defaultSort('sort', direction: 'asc')
|
||||
->reorderable('sort')
|
||||
->headerActions([
|
||||
|
||||
@@ -15,24 +15,11 @@ class Inhaltsverzeichnis extends Model
|
||||
'ordnungszahl',
|
||||
'seite',
|
||||
'neue_seite',
|
||||
'seitenzahl_anzeige',
|
||||
'hilfe_titel',
|
||||
'hilfe_description',
|
||||
'hilfe_image',
|
||||
];
|
||||
|
||||
/**
|
||||
* Get the attributes that should be cast.
|
||||
*
|
||||
* @return array<string, string>
|
||||
*/
|
||||
protected function casts(): array
|
||||
{
|
||||
return [
|
||||
'seitenzahl_anzeige' => 'boolean',
|
||||
];
|
||||
}
|
||||
|
||||
public function textblock()
|
||||
{
|
||||
return $this->hasMany(Textblock::class, 'id', 'textblock_id');
|
||||
|
||||
@@ -16,7 +16,6 @@ class ProjektInhaltsverzeichnis extends Model
|
||||
'part',
|
||||
'seite',
|
||||
'neue_seite',
|
||||
'seitenzahl_anzeige',
|
||||
'textblock_name',
|
||||
'textblock',
|
||||
'textblock2',
|
||||
|
||||
Reference in new issue
Block a user