update kertas kerja dan column name table inspeksi
This commit is contained in:
74
app/Exports/KertasKerjaExport.php
Normal file
74
app/Exports/KertasKerjaExport.php
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Modules\Lpj\Exports;
|
||||||
|
|
||||||
|
use Maatwebsite\Excel\Concerns\FromCollection;
|
||||||
|
use Maatwebsite\Excel\Concerns\WithColumnFormatting;
|
||||||
|
use Maatwebsite\Excel\Concerns\WithHeadings;
|
||||||
|
use Maatwebsite\Excel\Concerns\WithMapping;
|
||||||
|
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
|
||||||
|
|
||||||
|
class KertasKerjaExport implements WithColumnFormatting, WithHeadings, FromCollection, WithMapping
|
||||||
|
{
|
||||||
|
protected $data;
|
||||||
|
|
||||||
|
public function __construct($data)
|
||||||
|
{
|
||||||
|
$this->data = $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function collection()
|
||||||
|
{
|
||||||
|
return collect([
|
||||||
|
[
|
||||||
|
'Pendekatan pasar',
|
||||||
|
'Nama Pemilik Aset',
|
||||||
|
'',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'Metode Perbandingan Data Pasar',
|
||||||
|
'Nama Pemberi Tugas: ',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'Tanggal Penilaian: ',
|
||||||
|
'Lokasi: ',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'No.',
|
||||||
|
'Objek Penilaian',
|
||||||
|
'Data Pembanding 1',
|
||||||
|
'Data Pembanding 2',
|
||||||
|
'Data Pembanding 3'
|
||||||
|
],
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Tambahkan method map()
|
||||||
|
public function map($row): array
|
||||||
|
{
|
||||||
|
return $row;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function headings(): array
|
||||||
|
{
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function columnFormats(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'A' => NumberFormat::FORMAT_NUMBER,
|
||||||
|
'C' => NumberFormat::FORMAT_NUMBER,
|
||||||
|
'D' => NumberFormat::FORMAT_NUMBER,
|
||||||
|
'F' => NumberFormat::FORMAT_NUMBER,
|
||||||
|
'G' => NumberFormat::FORMAT_NUMBER,
|
||||||
|
'P' => NumberFormat::FORMAT_DATE_DATETIME,
|
||||||
|
'Q' => NumberFormat::FORMAT_DATE_DATETIME
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -7,7 +7,8 @@ use Modules\Lpj\Models\Permohonan;
|
|||||||
use Modules\Lpj\Models\Inspeksi;
|
use Modules\Lpj\Models\Inspeksi;
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
use Maatwebsite\Excel\Facades\Excel;
|
||||||
|
use Modules\Lpj\Exports\KertasKerjaExport;
|
||||||
class PenilaiController extends Controller
|
class PenilaiController extends Controller
|
||||||
{
|
{
|
||||||
public $user;
|
public $user;
|
||||||
@@ -89,7 +90,7 @@ class PenilaiController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function dataForDatatables(Request $request)
|
public function dataForDatatables(Request $request)
|
||||||
{
|
{
|
||||||
if (is_null($this->user) || !$this->user->can('penilai.view')) {
|
if (is_null($this->user) || !$this->user->can('penilai.view')) {
|
||||||
//abort(403, 'Sorry! You are not allowed to view users.');
|
//abort(403, 'Sorry! You are not allowed to view users.');
|
||||||
}
|
}
|
||||||
@@ -163,8 +164,134 @@ class PenilaiController extends Controller
|
|||||||
'totalCount' => $totalRecords,
|
'totalCount' => $totalRecords,
|
||||||
'data' => $data,
|
'data' => $data,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function kertas_kerja()
|
||||||
|
{
|
||||||
|
$data = [
|
||||||
|
[
|
||||||
|
'Pendekatan pasar',
|
||||||
|
'Nama Pemilik Aset',
|
||||||
|
'',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'Metode Perbandingan Data Pasar',
|
||||||
|
'Nama Pemberi Tugas: ',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'Tanggal Penilaian: ',
|
||||||
|
'Lokasi: ',
|
||||||
|
'',
|
||||||
|
'',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'No.',
|
||||||
|
'Objek Penilaian',
|
||||||
|
'Data Pembanding 1',
|
||||||
|
'Data Pembanding 2',
|
||||||
|
'Data Pembanding 3'
|
||||||
|
],[
|
||||||
|
'1',
|
||||||
|
'Jenis Aset',
|
||||||
|
'Pembanding 1',
|
||||||
|
'Pembanding 1',
|
||||||
|
'Pembanding 1'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'2',
|
||||||
|
'Luas Tanah',
|
||||||
|
'Pembanding 2',
|
||||||
|
'Pembanding 2',
|
||||||
|
'Pembanding 2'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'3',
|
||||||
|
'Penawaran/Transaksi',
|
||||||
|
'',
|
||||||
|
'Pembanding 3',
|
||||||
|
'Pembanding 3'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'4',
|
||||||
|
'Harga penawaran/Transaksi',
|
||||||
|
'',
|
||||||
|
'Pembanding 3',
|
||||||
|
'Pembanding 3'
|
||||||
|
],[
|
||||||
|
'5',
|
||||||
|
'Nomor Telepon',
|
||||||
|
'',
|
||||||
|
'Pembanding 3',
|
||||||
|
'Pembanding 3'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'6',
|
||||||
|
'Estimasi Harga Transaksi',
|
||||||
|
'',
|
||||||
|
'Pembanding 3',
|
||||||
|
'Pembanding 3'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'7',
|
||||||
|
'Nama Nara sumber',
|
||||||
|
'',
|
||||||
|
'Pembanding 3',
|
||||||
|
'Pembanding 3'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'8',
|
||||||
|
'Status Nara sumber',
|
||||||
|
'',
|
||||||
|
'Pembanding 3',
|
||||||
|
'Pembanding 3'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'9',
|
||||||
|
'Waktu Penawaran/Transaksi',
|
||||||
|
'',
|
||||||
|
'Pembanding 3',
|
||||||
|
'Pembanding 3'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'10',
|
||||||
|
'Titik GPS',
|
||||||
|
'',
|
||||||
|
'Pembanding 3',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'11',
|
||||||
|
'Alamat',
|
||||||
|
'',
|
||||||
|
'Pembanding 3',
|
||||||
|
'Pembanding 3'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'12',
|
||||||
|
'Jarak Pembanding dengan Objek (m)',
|
||||||
|
'',
|
||||||
|
'Pembanding 3',
|
||||||
|
'Pembanding 3'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'13',
|
||||||
|
'Estimasi Rangking Tanah',
|
||||||
|
'',
|
||||||
|
'Pembanding 3',
|
||||||
|
'Pembanding 3'
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'14',
|
||||||
|
'Estimasi Rangking Bangunan',
|
||||||
|
'',
|
||||||
|
'Pembanding 3',
|
||||||
|
'Pembanding 3'
|
||||||
|
]
|
||||||
|
|
||||||
|
];
|
||||||
|
return Excel::download(new KertasKerjaExport($data), 'kertas-kerja.xlsx');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -298,10 +298,15 @@ class PenilaianController extends Controller
|
|||||||
$q->orWhere('status', 'LIKE', '%' . $search . '%');
|
$q->orWhere('status', 'LIKE', '%' . $search . '%');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
$query->whereIn('status', ['registered', 'registrasi-final']);
|
$query->whereIn('status', ['registered', 'registrasi-final']);
|
||||||
|
|
||||||
|
// Filter berdasarkan role
|
||||||
|
if (Auth::user()->roles[0]->name !== 'administrator') {
|
||||||
$query->whereHas('region.teams.teamsUsers.user', function ($q) {
|
$query->whereHas('region.teams.teamsUsers.user', function ($q) {
|
||||||
$q->where('id', Auth::user()->id);
|
$q->where('id', Auth::user()->id);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) {
|
if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) {
|
||||||
$order = $request->get('sortOrder');
|
$order = $request->get('sortOrder');
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ use Modules\Lpj\Models\PosisiKavling;
|
|||||||
use Modules\Lpj\Models\KondisiFisikTanah;
|
use Modules\Lpj\Models\KondisiFisikTanah;
|
||||||
use Modules\Lpj\Models\KetinggianTanah;
|
use Modules\Lpj\Models\KetinggianTanah;
|
||||||
use Modules\Lpj\Models\SifatBangunan;
|
use Modules\Lpj\Models\SifatBangunan;
|
||||||
|
use Modules\Lpj\Models\JenisJaminan;
|
||||||
use Modules\Lpj\Models\JenisBangunan;
|
use Modules\Lpj\Models\JenisBangunan;
|
||||||
use Modules\Lpj\Models\KondisiBangunan;
|
use Modules\Lpj\Models\KondisiBangunan;
|
||||||
use Modules\Lpj\Models\SpekBangunan;
|
use Modules\Lpj\Models\SpekBangunan;
|
||||||
@@ -57,7 +58,7 @@ use Modules\Lpj\Models\DetailDokumenJaminan;
|
|||||||
use Modules\Lpj\Models\JenisKapal;
|
use Modules\Lpj\Models\JenisKapal;
|
||||||
use Modules\Lpj\Models\JenisKendaraan;
|
use Modules\Lpj\Models\JenisKendaraan;
|
||||||
use Modules\Lpj\Models\RuteJaminan;
|
use Modules\Lpj\Models\RuteJaminan;
|
||||||
use Modules\Lpj\Models\JenisJaminan;
|
|
||||||
use Modules\Lpj\Models\HubunganPemilikJaminan;
|
use Modules\Lpj\Models\HubunganPemilikJaminan;
|
||||||
use Modules\Lpj\Models\HubunganPenghuniJaminan;
|
use Modules\Lpj\Models\HubunganPenghuniJaminan;
|
||||||
use Modules\Lpj\Models\AnalisaUnit;
|
use Modules\Lpj\Models\AnalisaUnit;
|
||||||
@@ -550,6 +551,11 @@ class SurveyorController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function storeFreeze() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private function formatDataPembanding($request)
|
private function formatDataPembanding($request)
|
||||||
{
|
{
|
||||||
$dataPembanding = [];
|
$dataPembanding = [];
|
||||||
@@ -1416,8 +1422,7 @@ class SurveyorController extends Controller
|
|||||||
'fasilitasObjek' => FasilitasObjek::all(),
|
'fasilitasObjek' => FasilitasObjek::all(),
|
||||||
'merupakanDaerah' => MerupakanDaerah::all(),
|
'merupakanDaerah' => MerupakanDaerah::all(),
|
||||||
'jenisUnit' => JenisUnit::all(),
|
'jenisUnit' => JenisUnit::all(),
|
||||||
|
'jenisJaminan' => JenisJaminan::all(),
|
||||||
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::table('inspeksi', function (Blueprint $table) {
|
||||||
|
$table->string('name')->nullable()->change();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::table('inspeksi', function (Blueprint $table) {
|
||||||
|
$table->string('name')->nullable(false)->change();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
@@ -183,10 +183,61 @@
|
|||||||
PAPARAN
|
PAPARAN
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a class="btn btn-primary" href="#">
|
<div class="dropdown" data-dropdown="true" data-dropdown-trigger="click">
|
||||||
|
<button class="dropdown-toggle btn btn-primary">
|
||||||
WORKSHEET
|
WORKSHEET
|
||||||
|
</button>
|
||||||
|
<div class="dropdown-content w-full max-w-56 py-2">
|
||||||
|
<div class="menu menu-default flex flex-col w-full">
|
||||||
|
<div class="menu-item">
|
||||||
|
<a class="menu-link" href="#">
|
||||||
|
<span class="menu-icon">
|
||||||
|
<i class="ki-outline ki-badge">
|
||||||
|
</i>
|
||||||
|
</span>
|
||||||
|
<span class="menu-title">
|
||||||
|
MEMO
|
||||||
|
</span>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="menu-item">
|
||||||
|
<a class="menu-link" href="#">
|
||||||
|
<span class="menu-icon">
|
||||||
|
<i class="ki-outline ki-profile-circle">
|
||||||
|
</i>
|
||||||
|
</span>
|
||||||
|
<span class="menu-title">
|
||||||
|
RESUME
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="menu-item">
|
||||||
|
<a class="menu-link" onclick="seletSederhanaStandart()">
|
||||||
|
<span class="menu-icon">
|
||||||
|
<i class="ki-outline ki-setting-2">
|
||||||
|
</i>
|
||||||
|
</span>
|
||||||
|
<span class="menu-title">
|
||||||
|
LPJ
|
||||||
|
</span>
|
||||||
|
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="menu-item">
|
||||||
|
<a class="menu-link" href="#">
|
||||||
|
<span class="menu-icon">
|
||||||
|
<i class="ki-outline ki-message-programming">
|
||||||
|
</i>
|
||||||
|
</span>
|
||||||
|
<span class="menu-title">
|
||||||
|
RAP
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="flex justify-end gap-5">
|
<div class="flex justify-end gap-5">
|
||||||
<a class="btn btn-success" href="#">
|
<a class="btn btn-success" href="#">
|
||||||
@@ -211,6 +262,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="modal" data-modal="true" id="modal_2">
|
<div class="modal" data-modal="true" id="modal_2">
|
||||||
<div class="modal-content modal-center-y max-w-[600px]">
|
<div class="modal-content modal-center-y max-w-[600px]">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
@@ -233,7 +285,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="form-group flex items-baseline flex-wrap">
|
<div class="form-group flex items-baseline flex-wrap">
|
||||||
|
|
||||||
<a class="btn btn-outline btn-primary w-full" href="#">Export Kertas Kerja</a>
|
<a class="btn btn-outline btn-primary w-full"
|
||||||
|
href="{{ route('penilai.export.kertas-kerja', $permohonan->id) }}">Export Kertas Kerja</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
@@ -242,3 +295,23 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function seletSederhanaStandart() {
|
||||||
|
Swal.fire({
|
||||||
|
title: 'Apakah kamu akan memilih lpj standar?',
|
||||||
|
icon: 'warning',
|
||||||
|
showDenyButton: true,
|
||||||
|
showCancelButton: false,
|
||||||
|
confirmButtonText: 'Yes',
|
||||||
|
denyButtonText: 'No',
|
||||||
|
}).then((result) => {
|
||||||
|
if (result.isConfirmed) {
|
||||||
|
|
||||||
|
} else if (result.isDenied) {
|
||||||
|
Swal.fire('Changes are not saved', '', 'info')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|||||||
@@ -254,7 +254,7 @@
|
|||||||
|
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">
|
<label class="form-label max-w-56">
|
||||||
Jadwal Kunjungan
|
Tanggal assign
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
|
|||||||
@@ -67,7 +67,7 @@
|
|||||||
alt="Uploaded Image">
|
alt="Uploaded Image">
|
||||||
<input type="file"
|
<input type="file"
|
||||||
name="foto_objek"
|
name="foto_objek"
|
||||||
class="input"
|
class="file-input"
|
||||||
accept="image/*"
|
accept="image/*"
|
||||||
onchange="previewImage(this, 'uploadedImage1')">
|
onchange="previewImage(this, 'uploadedImage1')">
|
||||||
</div>
|
</div>
|
||||||
@@ -77,7 +77,7 @@
|
|||||||
<div class="flex flex-col gap-2">
|
<div class="flex flex-col gap-2">
|
||||||
<img id="uploadedImage2" class="max-w-[200px] hidden"
|
<img id="uploadedImage2" class="max-w-[200px] hidden"
|
||||||
alt="Pembanding Image">
|
alt="Pembanding Image">
|
||||||
<input type="file" name="foto_objek_pembanding[]" class="input-file"
|
<input type="file" name="foto_objek_pembanding[]" class="file-input"
|
||||||
accept="image/*" onchange="previewImage(this, 'uploadedImage2')">
|
accept="image/*" onchange="previewImage(this, 'uploadedImage2')">
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
@@ -94,19 +94,18 @@
|
|||||||
<td class="px-4 py-2">
|
<td class="px-4 py-2">
|
||||||
<select name="jenis_aset" class="select">
|
<select name="jenis_aset" class="select">
|
||||||
<option value="">Pilih Jenis Aset</option>
|
<option value="">Pilih Jenis Aset</option>
|
||||||
<option value="Tanah"
|
@foreach ($data['jenisJaminan'] as $item)
|
||||||
{{ ($inspectionData['jenis_aset'] ?? '') == 'Tanah' ? 'selected' : '' }}>
|
<option value="{{ $item->name }}" {{ ($inspectionData['asset']['jenis_asset']['sesuai'] ?? '') == $item->name ? 'selected' : '' }}>{{ $item->name }}</option>
|
||||||
Tanah</option>
|
@endforeach
|
||||||
<option value="Bangunan"
|
|
||||||
{{ ($inspectionData['jenis_aset'] ?? '') == 'Bangunan' ? 'selected' : '' }}>
|
|
||||||
Bangunan</option>
|
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
<td class="px-4 py-2">
|
<td class="px-4 py-2">
|
||||||
<select name="jenis_aset_pembanding[]" class="select">
|
<select name="jenis_aset_pembanding[]" class="select">
|
||||||
<option value="">Pilih Jenis Aset</option>
|
<option value="">Pilih Jenis Aset</option>
|
||||||
<option value="Tanah">Tanah</option>
|
@foreach ($data['jenisJaminan'] as $item)
|
||||||
<option value="Bangunan">Bangunan</option>
|
<option value="{{ $item->name }}" {{ ($inspectionData['jenis_aset'] ?? '') == $item->name ? 'selected' : '' }}>{{ $item->name }}</option>
|
||||||
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@@ -141,8 +141,8 @@
|
|||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
@endif
|
||||||
</select>
|
</select>
|
||||||
<button type="button" class="btn btn-md btn-primary"
|
{{-- <button type="button" class="btn btn-md btn-primary"
|
||||||
onclick="updateAnalisa('jenis_asset')">Save</button>
|
onclick="updateAnalisa('jenis_asset')">Save</button> --}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<em id="error-jenis_asset" class="alert text-danger text-sm"></em>
|
<em id="error-jenis_asset" class="alert text-danger text-sm"></em>
|
||||||
@@ -161,134 +161,91 @@
|
|||||||
@endforeach
|
@endforeach
|
||||||
|
|
||||||
<div class="flex-wrap items-stretch">
|
<div class="flex-wrap items-stretch">
|
||||||
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
|
|
||||||
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
|
<div class="grid grid-cols-3 md:grid-cols-3 gap-4 mt-2">
|
||||||
<label class="form-label flex items-center gap-3 text-nowrap">
|
<label class="form-label flex items-center gap-3 text-nowrap">
|
||||||
<input
|
<input
|
||||||
onclick="toggleAlamatVisibility('alamat_sesuai', 'alamat_tidak_sesuai', 'sesuai')"
|
onclick="updateAlamatFields('sesuai')"
|
||||||
type="radio" class="radio" name="alamat_sesuai" value="sesuai"
|
type="radio"
|
||||||
|
class="radio"
|
||||||
|
name="alamat_sesuai"
|
||||||
|
value="sesuai"
|
||||||
{{ old('jenis_asset', isset($forminspeksi['asset']['alamat']['sesuai'])) ? 'checked' : '' }}>
|
{{ old('jenis_asset', isset($forminspeksi['asset']['alamat']['sesuai'])) ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Ya</span>
|
<span class="ml-2">Ya</span>
|
||||||
</label>
|
</label>
|
||||||
<label class="form-label flex items-center gap-3 text-nowrap">
|
<label class="form-label flex items-center gap-3 text-nowrap">
|
||||||
<input
|
<input
|
||||||
onclick="toggleAlamatVisibility('alamat_sesuai', 'alamat_tidak_sesuai', 'tidak sesuai')"
|
onclick="updateAlamatFields('tidak sesuai')"
|
||||||
type="radio" class="radio" name="alamat_sesuai" value="tidak sesuai"
|
type="radio"
|
||||||
|
class="radio"
|
||||||
|
name="alamat_sesuai"
|
||||||
|
value="tidak sesuai"
|
||||||
{{ old('jenis_asset', isset($forminspeksi['asset']['alamat']['tidak sesuai'])) ? 'checked' : '' }}>
|
{{ old('jenis_asset', isset($forminspeksi['asset']['alamat']['tidak sesuai'])) ? 'checked' : '' }}>
|
||||||
<span class="ml-2">Tidak</span>
|
<span class="ml-2">Tidak</span>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
|
||||||
<em id="error-alamat" class="alert text-danger text-sm"></em>
|
<em id="error-alamat" class="alert text-danger text-sm"></em>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{-- Alamat Sesuai --}}
|
<div id="alamat_form" class="grid gap-2 mt-5">
|
||||||
<div id="alamat_sesuai" class="grid gap-2 mt-5" style="{{ isset($forminspeksi['asset']['alamat']['sesuai']) ? '' : 'display: none;' }}">
|
|
||||||
@foreach ($permohonan->debiture->documents as $dokumen)
|
|
||||||
@php
|
@php
|
||||||
$fields = [
|
$fields = [
|
||||||
[
|
[
|
||||||
'label' => 'Jl.',
|
'label' => 'Jl.',
|
||||||
'value' => $dokumen->address ?? '',
|
|
||||||
'name' => 'nama_jalan',
|
'name' => 'nama_jalan',
|
||||||
|
'id' => 'nama_jalan',
|
||||||
'readonly' => false,
|
'readonly' => false,
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'label' => 'Provinsi',
|
'label' => 'Provinsi',
|
||||||
'value' => $dokumen->province->name ?? '',
|
|
||||||
'name' => 'provinsi',
|
'name' => 'provinsi',
|
||||||
'readonly' => true,
|
'id' => 'provinsi',
|
||||||
|
'type' => 'select',
|
||||||
|
'options' => $provinces,
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'label' => 'Kota/Kabupaten',
|
'label' => 'Kota/Kabupaten',
|
||||||
'value' => $dokumen->city->name ?? '',
|
|
||||||
'name' => 'kota_kabupaten',
|
'name' => 'kota_kabupaten',
|
||||||
'readonly' => true,
|
'id' => 'kota_kabupaten',
|
||||||
|
'type' => 'select',
|
||||||
|
'options' => $provinces,
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'label' => 'Kecamatan',
|
'label' => 'Kecamatan',
|
||||||
'value' => $dokumen->district->name ?? '',
|
|
||||||
'name' => 'kecamatan',
|
'name' => 'kecamatan',
|
||||||
'readonly' => true,
|
'id' => 'kecamatan',
|
||||||
|
'type' => 'select',
|
||||||
|
'options' => $provinces,
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'label' => 'Kelurahan',
|
'label' => 'Kelurahan',
|
||||||
'value' => $dokumen->village->name ?? '',
|
|
||||||
'name' => 'desa_kelurahan',
|
'name' => 'desa_kelurahan',
|
||||||
'readonly' => true,
|
'id' => 'desa_kelurahan',
|
||||||
|
'type' => 'select',
|
||||||
|
'options' => $provinces,
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
@endphp
|
@endphp
|
||||||
|
|
||||||
@foreach ($fields as $field)
|
@foreach ($fields as $field)
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">{{ $field['label'] }}</label>
|
<label class="form-label max-w-56">{{ $field['label'] }}</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<input type="text" class="input" name="{{ $field['name'] }}"
|
@if (isset($field['type']) && $field['type'] === 'select')
|
||||||
value="{{ $field['value'] }}" {{ $field['readonly'] ? 'readonly' : '' }}>
|
<select id="{{ $field['id'] }}" name="{{ $field['name'] }}" class="select w-full">
|
||||||
</div>
|
<option value="">{{ $field['label'] }}</option>
|
||||||
</div>
|
@foreach ($field['options'] as $option)
|
||||||
@endforeach
|
|
||||||
@endforeach
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{{-- Alamat Tidak Sesuai --}}
|
|
||||||
<div id="alamat_tidak_sesuai" class="grid gap-2 mt-5" style="{{ isset($forminspeksi['asset']['alamat']['tidak sesuai']) ? '' : 'display: none;' }}"">
|
|
||||||
@php
|
|
||||||
$inputDataLokasi = [
|
|
||||||
['label' => 'Jl.', 'id' => 'address', 'name' => 'address', 'type' => 'text'],
|
|
||||||
[
|
|
||||||
'label' => 'Provinsi',
|
|
||||||
'id' => 'province_code',
|
|
||||||
'name' => 'provinsi',
|
|
||||||
'type' => 'select',
|
|
||||||
'options' => $provinces,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'label' => 'Kota/Kabupaten',
|
|
||||||
'id' => 'city_code',
|
|
||||||
'name' => 'kota_kabupaten',
|
|
||||||
'type' => 'select',
|
|
||||||
'options' => $provinces,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'label' => 'Kecamatan',
|
|
||||||
'id' => 'district_code',
|
|
||||||
'name' => 'kecamatan',
|
|
||||||
'type' => 'select',
|
|
||||||
'options' => $provinces,
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'label' => 'Desa/Kelurahan',
|
|
||||||
'id' => 'village_code',
|
|
||||||
'name' => 'desa_kelurahan',
|
|
||||||
'type' => 'select',
|
|
||||||
'options' => $provinces,
|
|
||||||
],
|
|
||||||
];
|
|
||||||
@endphp
|
|
||||||
|
|
||||||
@foreach ($inputDataLokasi as $item)
|
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
|
||||||
<label class="form-label max-w-56">{{ $item['label'] }}</label>
|
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
|
||||||
@if ($item['type'] === 'text')
|
|
||||||
<input id="{{ $item['id'] }}" name="{{ $item['name'] }}" class="input">
|
|
||||||
@else
|
|
||||||
<select id="{{ $item['id'] }}" name="{{ $item['name'] }}"
|
|
||||||
class="select w-full">
|
|
||||||
<option value="">{{ $item['label'] }}</option>
|
|
||||||
@if ($item['id'] === 'province_code')
|
|
||||||
@foreach ($item['options'] as $option)
|
|
||||||
<option value="{{ $option->code }}">{{ $option->name }}</option>
|
<option value="{{ $option->code }}">{{ $option->name }}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
@endif
|
|
||||||
</select>
|
</select>
|
||||||
|
@else
|
||||||
|
<input type="text" id="{{ $field['id'] }}" name="{{ $field['name'] }}" class="input"
|
||||||
|
{{ $field['readonly'] ? 'readonly' : '' }}>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -54,6 +54,25 @@
|
|||||||
@endsection
|
@endsection
|
||||||
@push('scripts')
|
@push('scripts')
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
function updateAlamatFields(type) {
|
||||||
|
if (type === 'sesuai') {
|
||||||
|
// Update nilai form dengan data sesuai
|
||||||
|
document.getElementById('nama_jalan').value = "{{ $dokumen->address ?? '' }}";
|
||||||
|
document.getElementById('provinsi').value = "{{ $dokumen->province->code ?? '' }}";
|
||||||
|
document.getElementById('kota_kabupaten').value = "{{ $dokumen->city->code ?? '' }}";
|
||||||
|
document.getElementById('kecamatan').value = "{{ $dokumen->district->code ?? '' }}";
|
||||||
|
document.getElementById('desa_kelurahan').value = "{{ $dokumen->village->code ?? '' }}";
|
||||||
|
} else if (type === 'tidak sesuai') {
|
||||||
|
// Reset nilai form untuk input manual
|
||||||
|
document.getElementById('nama_jalan').value = '';
|
||||||
|
document.getElementById('provinsi').value = '';
|
||||||
|
document.getElementById('kota_kabupaten').value = '';
|
||||||
|
document.getElementById('kecamatan').value = '';
|
||||||
|
document.getElementById('desa_kelurahan').value = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function toggleFieldVisibility(fieldName, inputId, visibleValues = []) {
|
function toggleFieldVisibility(fieldName, inputId, visibleValues = []) {
|
||||||
const selectedValue = $(`[name="${fieldName}"]:checked`).val();
|
const selectedValue = $(`[name="${fieldName}"]:checked`).val();
|
||||||
const inputField = $(`#${inputId}`);
|
const inputField = $(`#${inputId}`);
|
||||||
@@ -127,65 +146,69 @@
|
|||||||
|
|
||||||
function submitData() {
|
function submitData() {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const loadingOverlay = document.getElementById('loadingOverlay');
|
const loadingOverlay = document.getElementById('loadingOverlay');
|
||||||
loadingOverlay.classList.remove('hidden');
|
loadingOverlay.classList.remove('hidden');
|
||||||
loadingOverlay.classList.add('flex');
|
loadingOverlay.classList.add('flex');
|
||||||
|
|
||||||
const formElement = $('#formInspeksi')[0];
|
const formElement = $('#formInspeksi')[0];
|
||||||
const formData = new FormData(formElement);
|
const formData = new FormData(formElement);
|
||||||
|
formData.forEach((value, key) => {
|
||||||
$.ajax({
|
console.log(key, value);
|
||||||
url: '{{ route('surveyor.store') }}',
|
|
||||||
type: 'POST',
|
|
||||||
data: formData,
|
|
||||||
processData: false,
|
|
||||||
contentType: false,
|
|
||||||
headers: {
|
|
||||||
'X-CSRF-TOKEN': '{{ csrf_token() }}'
|
|
||||||
},
|
|
||||||
success: function(response) {
|
|
||||||
if (response.success) {
|
|
||||||
Swal.fire({
|
|
||||||
title: 'Berhasil!',
|
|
||||||
text: response.message,
|
|
||||||
icon: 'success',
|
|
||||||
confirmButtonText: 'OK'
|
|
||||||
}).then((response) => {
|
|
||||||
if (response.isConfirmed) {
|
|
||||||
window.location.href =
|
|
||||||
'{{ route('surveyor.show', ['id' => $permohonan->id]) }}';
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
Swal.fire({
|
|
||||||
title: 'Error!',
|
|
||||||
text: response.message || 'Terjadi kesalahan',
|
|
||||||
icon: 'error',
|
|
||||||
confirmButtonText: 'OK'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
console.log(response);
|
|
||||||
},
|
|
||||||
error: function(xhr, status, error) {
|
|
||||||
let errors = xhr.responseJSON?.errors;
|
|
||||||
$('.alert').text('');
|
|
||||||
if (errors) {
|
|
||||||
$.each(errors, function(key, value) {
|
|
||||||
$(`#error-${key}`).text(value[0]);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
console.error('Terjadi error:', error); // Menampilkan pesan error di konsol
|
|
||||||
console.log('Status:', status);
|
|
||||||
console.log('Response:', xhr.responseText);
|
|
||||||
console.log(errors);
|
|
||||||
toastrErrorBuild(error);
|
|
||||||
},
|
|
||||||
complete: function() {
|
|
||||||
// Re-enable the button and hide the spinner
|
|
||||||
loadingOverlay.classList.add('hidden');
|
|
||||||
loadingOverlay.classList.remove('flex');
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
// $.ajax({
|
||||||
|
// url: '{{ route('surveyor.store') }}',
|
||||||
|
// type: 'POST',
|
||||||
|
// data: formData,
|
||||||
|
// processData: false,
|
||||||
|
// contentType: false,
|
||||||
|
// headers: {
|
||||||
|
// 'X-CSRF-TOKEN': '{{ csrf_token() }}'
|
||||||
|
// },
|
||||||
|
// success: function(response) {
|
||||||
|
// if (response.success) {
|
||||||
|
// Swal.fire({
|
||||||
|
// title: 'Berhasil!',
|
||||||
|
// text: response.message,
|
||||||
|
// icon: 'success',
|
||||||
|
// confirmButtonText: 'OK'
|
||||||
|
// }).then((response) => {
|
||||||
|
// if (response.isConfirmed) {
|
||||||
|
// window.location.href =
|
||||||
|
// '{{ route('surveyor.show', ['id' => $permohonan->id]) }}';
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// } else {
|
||||||
|
// Swal.fire({
|
||||||
|
// title: 'Error!',
|
||||||
|
// text: response.message || 'Terjadi kesalahan',
|
||||||
|
// icon: 'error',
|
||||||
|
// confirmButtonText: 'OK'
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
// console.log(response);
|
||||||
|
// },
|
||||||
|
// error: function(xhr, status, error) {
|
||||||
|
// let errors = xhr.responseJSON?.errors;
|
||||||
|
// $('.alert').text('');
|
||||||
|
// if (errors) {
|
||||||
|
// $.each(errors, function(key, value) {
|
||||||
|
// $(`#error-${key}`).text(value[0]);
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
// console.error('Terjadi error:', error); // Menampilkan pesan error di konsol
|
||||||
|
// console.log('Status:', status);
|
||||||
|
// console.log('Response:', xhr.responseText);
|
||||||
|
// console.log(errors);
|
||||||
|
// toastrErrorBuild(error);
|
||||||
|
// },
|
||||||
|
// complete: function() {
|
||||||
|
// // Re-enable the button and hide the spinner
|
||||||
|
// loadingOverlay.classList.add('hidden');
|
||||||
|
// loadingOverlay.classList.remove('flex');
|
||||||
|
// }
|
||||||
|
// });
|
||||||
}
|
}
|
||||||
|
|
||||||
function previewImage(input, previewId) {
|
function previewImage(input, previewId) {
|
||||||
@@ -260,9 +283,8 @@
|
|||||||
success: function(response) {
|
success: function(response) {
|
||||||
console.log(response);
|
console.log(response);
|
||||||
if (response.success) {
|
if (response.success) {
|
||||||
window.location.href =
|
// window.location.href =
|
||||||
'{{ route('surveyor.show', ['id' => $permohonan->id]) }}';
|
// '{{ route('surveyor.show', ['id' => $permohonan->id]) }}';
|
||||||
|
|
||||||
toastrSuccessBuild(response.message);
|
toastrSuccessBuild(response.message);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -5,7 +5,6 @@
|
|||||||
@endsection
|
@endsection
|
||||||
@section('content')
|
@section('content')
|
||||||
@push('styles')
|
@push('styles')
|
||||||
|
|
||||||
@endpush
|
@endpush
|
||||||
|
|
||||||
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
|
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
|
||||||
@@ -96,18 +95,19 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
@push('scripts')
|
@push('scripts')
|
||||||
<script>
|
<script>
|
||||||
function jadwal(id){
|
function jadwal(id) {
|
||||||
document.getElementById('ids').value = id ;
|
document.getElementById('ids').value = id;
|
||||||
}
|
}
|
||||||
</script>
|
|
||||||
<script type="module">
|
|
||||||
|
|
||||||
|
function freezeInputSurveyor(data) {
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<script type="module">
|
||||||
const element = document.querySelector('#permohonan-table');
|
const element = document.querySelector('#permohonan-table');
|
||||||
const searchInput = document.getElementById('search');
|
const searchInput = document.getElementById('search');
|
||||||
const statusFilter = document.getElementById('status-filter');
|
const statusFilter = document.getElementById('status-filter');
|
||||||
@@ -172,6 +172,11 @@ function jadwal(id){
|
|||||||
<a class="btn btn-sm btn-icon btn-clear btn-warning" href="surveyor/${data.id}/show?form=inspeksi">
|
<a class="btn btn-sm btn-icon btn-clear btn-warning" href="surveyor/${data.id}/show?form=inspeksi">
|
||||||
<i class="ki-outline ki-eye"></i>
|
<i class="ki-outline ki-eye"></i>
|
||||||
</a>
|
</a>
|
||||||
|
<button type="button" class="btn btn-sm btn-icon btn-clear btn-info" onclick="freezeInputSurveyor(${data.id})" data-modal-toggle="#modal_freeze">
|
||||||
|
<i class="ki-filled ki-arrow-circle-right"></i>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
return actionHtml;
|
return actionHtml;
|
||||||
@@ -200,11 +205,13 @@ function jadwal(id){
|
|||||||
return `${day}-${month}-${year}`;
|
return `${day}-${month}-${year}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
</script>
|
||||||
@endpush
|
@endpush
|
||||||
|
|
||||||
<div class="modal" data-modal="true" id="modal_jadwal" >
|
<div class="modal" data-modal="true" id="modal_jadwal">
|
||||||
<div class="modal-content max-w-[600px] top-[10%]">
|
<div class="modal-content modal-center-y max-w-[600px]">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h3 class="modal-title">Kunjungan</h3>
|
<h3 class="modal-title">Kunjungan</h3>
|
||||||
<button class="btn btn-xs btn-icon btn-light" data-modal-dismiss="true">
|
<button class="btn btn-xs btn-icon btn-light" data-modal-dismiss="true">
|
||||||
@@ -212,7 +219,8 @@ function jadwal(id){
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<form action="{{ route('surveyor.storeJadwal')}}" method="POST" enctype="multipart/form-data" id="revisiForm">
|
<form action="{{ route('surveyor.storeJadwal') }}" method="POST" enctype="multipart/form-data"
|
||||||
|
id="revisiForm">
|
||||||
@method('put')
|
@method('put')
|
||||||
@csrf
|
@csrf
|
||||||
<input id="ids" type="hidden" name="id">
|
<input id="ids" type="hidden" name="id">
|
||||||
@@ -231,8 +239,51 @@ function jadwal(id){
|
|||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
<label class="form-label max-w-56">Catatan</label>
|
<label class="form-label max-w-56">Catatan</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<textarea id="deskripsi_penilaian" class="textarea @error('deskripsi_penilaian') border-danger bg-danger-light @enderror"
|
<textarea id="deskripsi_penilaian"
|
||||||
rows="3" name="deskripsi_penilaian"></textarea>
|
class="textarea @error('deskripsi_penilaian') border-danger bg-danger-light @enderror" rows="3"
|
||||||
|
name="deskripsi_penilaian"></textarea>
|
||||||
|
@error('deskripsi_penilaian')
|
||||||
|
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="modal-footer justify-end mt-2">
|
||||||
|
<div class="flex gap-4">
|
||||||
|
<button type="button" class="btn btn-light" data-modal-dismiss="true">Cancel</button>
|
||||||
|
<button id="btnSubmit" type="submit" class="btn btn-primary">Submit</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="modal" data-modal="true" id="modal_freeze">
|
||||||
|
<div class="modal-content modal-center-y max-w-[600px]">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h3 class="modal-title">Freeze Surveyor</h3>
|
||||||
|
<button class="btn btn-xs btn-icon btn-light" data-modal-dismiss="true">
|
||||||
|
<i class="ki-outline ki-cross"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<form action="{{ route('surveyor.storeFreeze') }}" method="POST" enctype="multipart/form-data"
|
||||||
|
id="freezeSurveyor">
|
||||||
|
@method('put')
|
||||||
|
@csrf
|
||||||
|
<input id="ids" type="hidden" name="id">
|
||||||
|
|
||||||
|
<div class="pl-1 grid gap-2.5">
|
||||||
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
|
<label class="form-label max-w-56">Catatan</label>
|
||||||
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
|
<textarea id="deskripsi_penilaian"
|
||||||
|
class="textarea @error('deskripsi_penilaian') border-danger bg-danger-light @enderror" rows="3"
|
||||||
|
name="deskripsi_penilaian"></textarea>
|
||||||
@error('deskripsi_penilaian')
|
@error('deskripsi_penilaian')
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||||
@enderror
|
@enderror
|
||||||
|
|||||||
@@ -515,6 +515,7 @@ Route::middleware(['auth'])->group(function () {
|
|||||||
Route::post('storeDenah', [SurveyorController::class, 'storeDenah'])->name('storeDenah');
|
Route::post('storeDenah', [SurveyorController::class, 'storeDenah'])->name('storeDenah');
|
||||||
Route::put('storeJadwal', [SurveyorController::class, 'storeJadwal'])->name('storeJadwal');
|
Route::put('storeJadwal', [SurveyorController::class, 'storeJadwal'])->name('storeJadwal');
|
||||||
Route::put('storeAproved/{id}', [SurveyorController::class, 'storeAproved'])->name('storeAproved');
|
Route::put('storeAproved/{id}', [SurveyorController::class, 'storeAproved'])->name('storeAproved');
|
||||||
|
Route::put('storeFreeze', [SurveyorController::class, 'storeFreeze'])->name('storeFreeze');
|
||||||
Route::post('storeFoto', [SurveyorController::class, 'storeFoto'])->name('storeFoto');
|
Route::post('storeFoto', [SurveyorController::class, 'storeFoto'])->name('storeFoto');
|
||||||
Route::post('storeDataPembanding', [SurveyorController::class, 'storeDataPembanding'])->name('storeDataPembanding');
|
Route::post('storeDataPembanding', [SurveyorController::class, 'storeDataPembanding'])->name('storeDataPembanding');
|
||||||
Route::get('checkButtonStatus/{id}', [SurveyorController::class, 'checkButtonStatus'])->name('checkButtonStatus');
|
Route::get('checkButtonStatus/{id}', [SurveyorController::class, 'checkButtonStatus'])->name('checkButtonStatus');
|
||||||
@@ -535,6 +536,7 @@ Route::middleware(['auth'])->group(function () {
|
|||||||
Route::get('datatables', [PenilaiController::class, 'dataForDatatables'])->name('dataForTables');
|
Route::get('datatables', [PenilaiController::class, 'dataForDatatables'])->name('dataForTables');
|
||||||
|
|
||||||
Route::get('lampiran/{id}', [PenilaiController::class, 'lampiran'])->name('lampiran');
|
Route::get('lampiran/{id}', [PenilaiController::class, 'lampiran'])->name('lampiran');
|
||||||
|
Route::get('export/kertas-kerja', [PenilaiController::class, 'kertas_kerja'])->name('export.kertas-kerja');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user