|
3 | 3 | namespace App\Nova; |
4 | 4 |
|
5 | 5 | use App\Helpers\Helper; |
| 6 | +use App\Models\KodeArsip; |
6 | 7 | use App\Models\User; |
7 | 8 | use App\Nova\Actions\ImportDaftarHonor; |
8 | 9 | use Illuminate\Database\Eloquent\Model; |
9 | 10 | use Illuminate\Http\Request; |
10 | 11 | use Laravel\Nova\Fields\BelongsTo; |
| 12 | +use Laravel\Nova\Fields\Boolean; |
11 | 13 | use Laravel\Nova\Fields\Date; |
12 | 14 | use Laravel\Nova\Fields\FormData; |
13 | 15 | use Laravel\Nova\Fields\HasMany; |
@@ -96,7 +98,7 @@ public function fields(NovaRequest $request) |
96 | 98 | ->options(Helper::$bulan) |
97 | 99 | ->filterable() |
98 | 100 | ->displayUsingLabels(), |
99 | | - Select::make('Jenis Kontrak', 'jenis_kontrak_id') |
| 101 | + Select::make('Jenis Kontrak', 'jenis_kontrak') |
100 | 102 | ->rules('required') |
101 | 103 | ->filterable() |
102 | 104 | ->displayUsingLabels() |
@@ -125,6 +127,74 @@ public function fields(NovaRequest $request) |
125 | 127 | ->readOnly(), |
126 | 128 | ]), |
127 | 129 |
|
| 130 | + Panel::make('Keterangan Surat Keputusan', [ |
| 131 | + Boolean::make('Buat Surat Keputusan (SK)', 'generate_sk') |
| 132 | + ->trueValue('Ya') |
| 133 | + ->falseValue('Tidak') |
| 134 | + ->hideFromIndex(), |
| 135 | + Date::make('Tanggal SK', 'tanggal_sk') |
| 136 | + ->hide() |
| 137 | + ->displayUsing(fn ($tanggal) => Helper::terbilangTanggal($tanggal)) |
| 138 | + ->dependsOn('generate_sk', function (Date $field, NovaRequest $request, FormData $formData) { |
| 139 | + if ($formData->generate_sk) { |
| 140 | + $field->show() |
| 141 | + ->rules('required'); |
| 142 | + } |
| 143 | + })->hideFromIndex(), |
| 144 | + Text::make('Objek SK', 'objek_sk') |
| 145 | + ->hide() |
| 146 | + ->help('Contoh: Petugas Pemeriksa Lapangan Sensus Penduduk 2020') |
| 147 | + ->dependsOn('generate_sk', function (Text $field, NovaRequest $request, FormData $formData) { |
| 148 | + if ($formData->generate_sk) { |
| 149 | + $field->show() |
| 150 | + ->rules('required'); |
| 151 | + } |
| 152 | + }) |
| 153 | + ->hideFromIndex(), |
| 154 | + |
| 155 | + ]), |
| 156 | + |
| 157 | + Panel::make('Keterangan Surat Tugas', [ |
| 158 | + Boolean::make('Buat Surat Tugas', 'generate_st') |
| 159 | + ->trueValue('Ya') |
| 160 | + ->falseValue('Tidak') |
| 161 | + ->hideFromIndex(), |
| 162 | + Date::make('Tanggal Surat Tugas', 'tanggal_st') |
| 163 | + ->hide() |
| 164 | + ->displayUsing(fn ($tanggal) => Helper::terbilangTanggal($tanggal)) |
| 165 | + ->dependsOn('generate_st', function (Date $field, NovaRequest $request, FormData $formData) { |
| 166 | + if ($formData->generate_st) { |
| 167 | + $field->show() |
| 168 | + ->rules('required'); |
| 169 | + } |
| 170 | + })->hideFromIndex(), |
| 171 | + Text::make('Uraian Tugas', 'uraian_tugas') |
| 172 | + ->hide() |
| 173 | + ->help('Contoh: Melakukan Pencacahan Lapangan Sensus Penduduk 2020') |
| 174 | + ->dependsOn('generate_st', function (Text $field, NovaRequest $request, FormData $formData) { |
| 175 | + if ($formData->generate_st) { |
| 176 | + $field->show() |
| 177 | + ->rules('required'); |
| 178 | + } |
| 179 | + }) |
| 180 | + ->hideFromIndex(), |
| 181 | + Select::make('Klasifikasi Arsip', 'kode_arsip_id') |
| 182 | + ->rules('required') |
| 183 | + ->searchable() |
| 184 | + ->hide() |
| 185 | + ->hideFromIndex() |
| 186 | + ->displayUsing(fn ($kode) => KodeArsip::cache()->get('all')->where('id', $kode)->first()->kode) |
| 187 | + ->dependsOn('generate_st', function (Select $field, NovaRequest $request, FormData $formData) { |
| 188 | + if ($formData->generate_st) { |
| 189 | + $field->show() |
| 190 | + ->rules('required') |
| 191 | + ->options(Helper::setOptions(KodeArsip::cache()->get('all'), 'id', 'detail', 'group')); |
| 192 | + } |
| 193 | + }), |
| 194 | + |
| 195 | + ]), |
| 196 | + |
| 197 | + |
128 | 198 | Panel::make('Keterangan Petugas Organik', [ |
129 | 199 | SimpleRepeatable::make('Pegawai', 'pegawai', [ |
130 | 200 | Select::make('Nama Pegawai', 'user_id') |
|
0 commit comments