From 7a6e3a6800e7cd256809b8da99dfdc5b35f391b1 Mon Sep 17 00:00:00 2001 From: Nurmuhammet Allanov Date: Sat, 9 Mar 2024 17:22:40 +0500 Subject: [PATCH] Card order fields for detail --- .../Order/Card/Requisite/CardRequisite.php | 15 +-- .../Concerns/CardRequisiteFieldsForDetail.php | 93 +++++++++++++++++++ 2 files changed, 101 insertions(+), 7 deletions(-) create mode 100644 app/Nova/Resources/Order/Card/Requisite/Concerns/CardRequisiteFieldsForDetail.php diff --git a/app/Nova/Resources/Order/Card/Requisite/CardRequisite.php b/app/Nova/Resources/Order/Card/Requisite/CardRequisite.php index 8ede17f..7a0998c 100644 --- a/app/Nova/Resources/Order/Card/Requisite/CardRequisite.php +++ b/app/Nova/Resources/Order/Card/Requisite/CardRequisite.php @@ -9,6 +9,7 @@ use App\Nova\Filters\StatusFilter; use App\Nova\Nova; use App\Nova\Resource; use App\Nova\Resources\Order\Card\Concerns\CardOrderFieldsForIndex; +use App\Nova\Resources\Order\Card\Requisite\Concerns\CardRequisiteFieldsForDetail; use App\Nova\Resources\Order\Card\Requisite\Concerns\CardRequisiteFieldsForIndex; use App\Repos\Order\Card\CardOrderRepo; use App\Repos\Order\Card\CardTypeRepo; @@ -158,13 +159,13 @@ class CardRequisite extends Resource return CardRequisiteFieldsForIndex::make($this, $request); } - // /** - // * Get the fields for detail - // */ - // public function fieldsForDetail(): array - // { - // return CardOrderFieldsForDetail::make($this); - // } + /** + * Get the fields for detail + */ + public function fieldsForDetail(): array + { + return CardRequisiteFieldsForDetail::make($this); + } /** * Get the fields displayed by the resource. diff --git a/app/Nova/Resources/Order/Card/Requisite/Concerns/CardRequisiteFieldsForDetail.php b/app/Nova/Resources/Order/Card/Requisite/Concerns/CardRequisiteFieldsForDetail.php new file mode 100644 index 0000000..25b183d --- /dev/null +++ b/app/Nova/Resources/Order/Card/Requisite/Concerns/CardRequisiteFieldsForDetail.php @@ -0,0 +1,93 @@ +hide(), + Text::make(__('ID'), 'unique_id'), + + Badge::make(__('Status'), 'status') + ->map(OrderRepo::statusClasses()) + ->addTypes([ + 'primary' => 'dark:bg-gray-900 bg-gray-600 text-white', + ]) + ->labels(OrderRepo::statusValues()) + ->withIcons() + ->icons(OrderRepo::statusIcons()), + + Text::make(__('Note'), 'notes'), + + BelongsTo::make(__('Created by').': ', 'user', User::class), + + new Panel(__('Card'), [ + BelongsTo::make(__('Card type'), 'cardType', CardType::class), + + NovaInputmask::make(__('Card number'), 'card_number') + ->mask('9999 9999 9999 9999') + ->storeRawValue(), + ]), + + new Panel(__('Location'), [ + Select::make(__('Region'), 'region') + ->displayUsingLabels() + ->options(RegionRepo::values()), + + BelongsTo::make(__('Branch'), 'branch', Branch::class), + ]), + + new Panel(__('Personal data'), [ + Text::make( + __('Full Name'), + fn ($model) => sprintf( + '%s %s %s', + $model->customer_name, + $model->customer_surname, + $model->customer_patronic_name + ) + ), + + Date::make(__('Date of birth'), 'born_at') + ->toTurkmenFormat(), + + NovaInputmask::make(__('Phone'), 'phone') + ->mask('+(\\9\\93)-99-99-99-99') + ->storeRawValue(), + ]), + + new Panel(__('Passport'), [ + Select::make(__('Passport serie'), 'passport_serie') + ->displayUsingLabels() + ->options(PassportRepo::values()), + + Number::make(__('Passport id'), 'passport_id'), + + Image::make(__('Passport (page 1)'), 'passport_one'), + Image::make(__('Passport (page 2-3)'), 'passport_two'), + Image::make(__('Passport (page 8-9)'), 'passport_three'), + Image::make(__('Passport (page 32)'), 'passport_four'), + ]), + ]; + } +}