update form inspeksi tanah dan bagunan

This commit is contained in:
majid76
2024-11-11 07:29:18 +07:00
parent edd005e132
commit 1f033a6f25
6 changed files with 945 additions and 872 deletions

View File

@@ -153,7 +153,13 @@ class SurveyorController extends Controller
public function store(Request $request)
{
dd($request);
try {
return response()->json(['status' => 200, 'message' => 'Data berhasil disimpan']);
} catch (Exception $e) {
return response()->json(['status' => 500, 'message' => 'Data gagal disimpan: ' . $e->getMessage()], 500);
}
// $validatedData = $request->validated();
@@ -523,8 +529,9 @@ class SurveyorController extends Controller
$query->whereRaw('LOWER(status) = ?', ['assign']);
$query->whereHas('region.teams.teamsUsers.user', function ($q) {
$q->where('id', Auth::user()->id);
$query->whereHas('penilaian.userPenilai', function ($q) {
$q->where('user_id', Auth::user()->id);
$q->where('role', 'surveyor');
});
@@ -549,7 +556,7 @@ class SurveyorController extends Controller
}
$filteredRecords = $query->count();
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'penilaian', 'jenisFasilitasKredit'])->get();
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian', 'jenisFasilitasKredit'])->get();
$pageCount = ceil($totalRecords / $size);
@@ -788,6 +795,7 @@ class SurveyorController extends Controller
$header = $dataMap[$type] ?? '';
$model = $modelClass::findOrFail($id);
$spekKategoriBagunan= null;
if ($type == 'spek-bangunan') {
$spekKategoriBagunan = SpekKategoritBangunan::all();

View File

@@ -29,7 +29,7 @@ class PenilaianTeam extends Model
public function penilaian(){
return $this->hasMany(Penilaian::class, 'penilaian_id', 'id');
return $this->belongsTo(Penilaian::class, 'penilaian_id', 'id');
}
protected static function newFactory(): PenilaianTeamFactory

View File

@@ -1,10 +1,9 @@
{{-- @if ($analisaType == 'tanah_bangunan') --}}
<div class="card w-full bg-white rounded-lg shadow-md overflow-hidden">
<div class="card-body">
<div class="y-4 px-6">
<div class="">
<h1 class="text-md font-medium text-gray-900">Analisa Bangunan</h1>
</div>
<div class="grid gap-5">
@@ -39,15 +38,24 @@
@if (isset($jenisBangunan))
@foreach ($jenisBangunan as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="jenis_bangunan[]" type="checkbox" value="{{$item->name}}"/>
<input class="checkbox" name="jenis_bangunan[]" type="checkbox"
value="{{ $item->name }}" />
{{ $item->name }}
</label>
@endforeach
@endif
<input type="text" name="bentuk_tanah" class="input mt-2" id="bentukTanahInput"
@if (strcasecmp($item->name, 'lainnya') == 0)
<div class="flex items-center">
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="jenis_bangunan[]" type="checkbox"
value="{{ $item->name }}" />
{{ $item->name }}
</label>
<input type="text" name="jenis_bangunan" class="input mt-2" id="bentukTanahInput"
placeholder="Masukkan Jenis Bangunan...">
</div>
@endif
@endforeach
@endif
</div>
@error('jenis_bangunan')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
@@ -63,13 +71,24 @@
@if (isset($kondisiBangunan))
@foreach ($kondisiBangunan as $item)
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="kondisi_bangunan[]" type="checkbox" value="{{$item->name}}"/>
<input class="checkbox" name="kondisi_bangunan[]" type="checkbox"
value="{{ $item->name }}" />
{{ $item->name }}
</label>
@if (strcasecmp($item->name, 'lainnya') == 0)
<div class="flex items-center">
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="kondisi_bangunan[]" type="checkbox"
value="{{ $item->name }}" />
{{ $item->name }}
</label>
<input type="text" name="kondisi_bangunan" class="input mt-2" id="bentukTanahInput"
placeholder="Masukkan Kondisi Bangunan...">
</div>
@endif
@endforeach
@endif
<input type="text" name="bentuk_tanah" class="input mt-2" id="bentukTanahInput"
placeholder="Masukkan Kondisi Bangunan...">
</div>
@@ -90,10 +109,12 @@
@foreach ($sifatBangunan as $item)
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 ">
<label class="form-label max-w-56 gap-2.5 " style="width: 500px">
<input class="checkbox" name="sifat_bangunan[]" type="checkbox" value="{{$item->name}}"/>
<input class="checkbox" name="sifat_bangunan[]" type="checkbox"
value="{{ $item->name }}" />
{{ $item->name }}
</label>
<input type="text" name="bentuk_tanah" class="input w-full" id="sifat_bangunan[]" placeholder="Masukkan {{$item->name}}...">
<input type="text" name="bentuk_tanah" class="input w-full" id="sifat_bangunan[]"
placeholder="Masukkan {{ $item->name }}...">
</div>
@endforeach
@endif
@@ -115,7 +136,6 @@
<div class="grid grid-cols-2 md:grid-cols-3 gap-4 mt-2 w-full">
@if (@isset($spekKategoriBagunan))
@foreach ($spekKategoriBagunan as $item)
<div>
<label
class="form-label flex items-center gap-3 text-nowrap">{{ $item->name }}</label>
@@ -124,7 +144,8 @@
@foreach ($spekBangunan as $spek)
@if ($spek->spek_kategori_bangunan_id == $item->id)
<label class="form-label flex items-center gap-2.5">
<input class="checkbox" name="spek_bangunan[]" type="checkbox" value="{{$spek->name}}"/>
<input class="checkbox" name="spek_bangunan[]"
type="checkbox" value="{{ $spek->name }}" />
{{ $spek->name }}
</label>
@endif
@@ -166,10 +187,12 @@
@foreach ($saranaPelengkap as $item)
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 ">
<label class="form-label max-w-56 gap-2.5 " style="width: 500px">
<input class="checkbox" name="sarana_pelengkap[]" type="checkbox" value="{{$item->name}}"/>
<input class="checkbox" name="sarana_pelengkap[]" type="checkbox"
value="{{ $item->name }}" />
{{ $item->name }}
</label>
<input type="text" name="bentuk_tanah" class="input w-full" id="bentukTanahInput" placeholder="Masukkan {{$item->name}}...">
<input type="text" name="bentuk_tanah" class="input w-full"
id="bentukTanahInput" placeholder="Masukkan {{ $item->name }}...">
</div>
@endforeach
@endif

View File

@@ -200,7 +200,7 @@
{{-- analisa fakta --}}
<div class="card bg-white rounded-lg overflow-hidden">
<div class="card-body">
<div class=" py-4 px-6">
<div class=" py-4 ">
<h1 class="text-md font-medium text-gray-900">Analisis Fakta</h1>
</div>
<div class="grid gap-5">
@@ -327,7 +327,7 @@
<div class="card-body">
<div class="py-4 px-6">
<div class="py-4">
<h1 class="text-md font-medium text-gray-900">Informasi Dinas Tata Ruang</h1>
</div>
@@ -656,30 +656,39 @@
</script>
<script>
<script type="text/javascript">
function submitData() {
// Ambil form element
const formElement = document.getElementById('formInspeksi');
const formElement = $('#formInspeksi')[0];
const formData = new FormData(formElement);
// for (let [key, value] of formData.entries()) {
// console.log(key, value);
// }
formData.forEach(function(value, key) {
console.log(key, value);
});
fetch('{{ route("surveyor.store") }}', {
method: 'POST',
$.ajax({
url: '{{ route("surveyor.store") }}',
type: 'POST',
data: formData,
processData: false,
contentType: false,
headers: {
'X-CSRF-TOKEN': '{{ csrf_token() }}'
},
body: formData
})
.then(response => response.json())
.then(data => {
console.log("Response data:", data);
})
.catch(error => {
success: function(response) {
console.log(response);
if (response.status === 200) {
alert("Data berhasil disimpan");
window.location.reload();
} else {
alert("Gagal menyimpan data: " + response.message);
}
},
error: function(xhr, status, error) {
console.error("Error:", error);
alert("Data gagal disimpan.");
}
});
}
</script>
@endpush

View File

@@ -3,12 +3,12 @@
<div class="card-body">
<div class=" text-white py-4 px-6">
<div class=" text-white py-4">
<h1 class="text-md font-medium text-gray-900">Analisis Lingkungan</h1>
</div>
<div class="grid gap-5">
<!-- Jarak dari Objek Utama -->
<div class="bg-gray-50 rounded-lg">
<div class=" rounded-lg">
<div class="grid grid-cols-2 gap-5">
<div>
<label class="block text-sm font-medium text-gray-700">Jarak Dari Jalan

View File

@@ -1,6 +1,6 @@
<div class=" card w-full bg-white rounded-lg shadow-md overflow-hidden">
<div class="card-body">
<div class="py-4 px-6">
<div class="py-4">
<h1 class="text-md font-medium text-gray-900">Order Penilaian</h1>
</div>
<div class="grid gap-5 grid-cols-2">
@@ -42,7 +42,7 @@
<label class="form-label max-w-56">Debitur/Perwakilan</label>
<div id="perwakilan" class="flex flex-wrap items-baseline w-full gap-5">
<div class="perwakilan flex flex-wrap w-full items-baseline gap-2 ">
<input type="text" class="input form-control" name="tujuan"
<input type="text" class="input form-control" name="debitur_perwakilan[]"
placeholder="Masukkan Debitur/Perwakilan" />
<button type="button" class="btn btn-danger btn-outline btn-xs delete-button"
style="display: none">Hapus</button>
@@ -80,7 +80,7 @@
<div class="card w-full bg-white rounded-lg shadow-md overflow-hidden">
<div class="card-body">
<div class="py-4 px-6">
<div class="py-4 ">
<h1 class="text-md font-medium text-gray-900">Deskripsi Aset jaminan</h1>
</div>
@@ -97,30 +97,31 @@
</div>
<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">
<input onclick="toggleJenisAsset('jenis_asset')" type="radio" class="radio" name="jenis_asset" value="sesuai">
<input onclick="toggleJenisAsset('jenis_asset')" type="radio" class="radio"
name="jenis_asset" value="sesuai">
<span class="ml-2">Ya</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input onclick="toggleJenisAsset('jenis_asset')" type="radio" class="radio" name="jenis_asset" value="tidak sesuai">
<input onclick="toggleJenisAsset('jenis_asset')" type="radio" class="radio"
name="jenis_asset" value="tidak sesuai">
<span class="ml-2">Tidak</span>
</label>
<!-- Select dropdown untuk "Tidak Sesuai" -->
<select id="jenis_asset" class="input w-full @error('hadapMataAngin') border-danger bg-danger-light @enderror"
name="hadapMataAngin" style="display: none;">
<select id="jenis_asset"
class="input w-full @error('jenis_asset_tidak_sesuai') border-danger bg-danger-light @enderror"
name="jenis_asset_tidak_sesuai" style="display: none;">
<option value="">Select Jenis asset</option>
@if (isset($arahMataAngin))
@foreach ($arahMataAngin as $item)
<option value="{{ $item->name }}"
{{ old('hadapMataAngin') == $item->name ? 'selected' : '' }}>
{{ old('jenis_asset_tidak_sesuai') == $item->name ? 'selected' : '' }}>
{{ $item->name }}
</option>
@endforeach
@endif
</select>
</div>
</div>
</div>
@@ -142,16 +143,18 @@
<div class="flex flex-wrap items-baseline w-full">
<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">
<input onclick="toggleAlamat('alamat')" type="radio" class="radio" name="alamat" value="sesuai">
<input onclick="toggleAlamat('alamat')" type="radio" class="radio" name="alamat"
value="sesuai">
<span class="ml-2">Ya</span>
</label>
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input onclick="toggleAlamat('alamat')" type="radio" class="radio" name="alamat" value="tidak sesuai">
<input onclick="toggleAlamat('alamat')" type="radio" class="radio" name="alamat"
value="tidak sesuai">
<span class="ml-2">Tidak</span>
</label>
<input type="text" name="alamat" id="alamat" class="input w-full"
placeholder="Masukan jenis asset Tanah" value="{{ old('alamat') }}"
<input type="text" name="alamat_tidak_sesuai" id="alamat" class="input w-full"
placeholder="Masukan jenis asset Tanah" value="{{ old('alamat_tidak_sesuai') }}"
style="display: none;">
</div>
</div>
@@ -165,19 +168,20 @@
<div class="card w-full bg-white rounded-lg shadow-md overflow-hidden">
<div class="card-body">
<div class="py-4 px-6">
<div class="py-4 ">
<h1 class="text-md font-medium text-gray-900">Titik Koordinat Google Maps</h1>
</div>
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
<label class="form-label max-w-56">Koordinat</label>
<div class="flex flex-wrap items-baseline w-full">
<div class="grid grid-cols-2 gap-4 items-center w-full">
<div class="grid grid-cols-3 gap-4 items-center w-full">
<input class="input" type="text" name="lat" id="lat"
value="{{ old('lat', isset($analisa->analisaFakta) ? $analisa->analisaFakta->lat : '') }}"
@readonly(true)>
<input class="input" type="text" name="lng" id="lng"
value="{{ old('lng', isset($analisa->analisaFakta) ? $analisa->analisaFakta->lng : '') }}"
@readonly(true)>
<button class="btn btn-primary">Ambil Kordinat</button>
</div>
</div>
</div>
@@ -187,41 +191,41 @@
<div class="card">
<div class="card-body">
<div class=" mx-auto bg-white rounded-lg shadow-md overflow-text">
<div class="py-4 px-6">
<div class=" mx-auto bg-white rounded-lg overflow-text">
<div class="py-4 ">
<h1 class="text-md font-medium text-gray-900">Status Kepemilikan</h1>
</div>
</div>
<div class=" mx-auto bg-white rounded-lg shadow-md overflow-hidden">
<div class="py-4 px-6">
<div class=" mx-auto bg-white rounded-lg overflow-hidden">
<div class="py-4 ">
<h1 class="text-md font-medium text-gray-900">Izin Bangunan</h1>
</div>
</div>
<div class=" mx-auto bg-white rounded-lg shadow-md overflow-hidden">
<div class="py-4 px-6">
<div class=" mx-auto bg-white rounded-lg overflow-hidden">
<div class="py-4 ">
<h1 class="text-md font-medium text-gray-900">SPPT PBB</h1>
</div>
</div>
<div class=" mx-auto bg-white rounded-lg shadow-md overflow-hidden">
<div class="py-4 px-6">
<div class=" mx-auto bg-white rounded-lg overflow-hidden">
<div class="py-4 ">
<h1 class="text-md font-medium text-gray-900">Dokument Lainnya</h1>
</div>
</div>
<div class=" mx-auto bg-white rounded-lg shadow-md overflow-hidden">
<div class="py-4 px-6">
<div class=" mx-auto bg-white rounded-lg overflow-hidden">
<div class="py-4 ">
<h1 class="text-md font-medium text-gray-900">Hubungan cadeb/debitur dengan Pemilik Jaminan</h1>
</div>
</div>
<div class=" mx-auto bg-white rounded-lg shadow-md overflow-hidden">
<div class="py-4 px-6">
<div class=" mx-auto bg-white rounded-lg overflow-hidden">
<div class="py-4 ">
<h1 class="text-md font-medium text-gray-900">Hubungan Cadeb/Debitur dengan Penghuni Jaminan</h1>
</div>
</div>
@@ -234,7 +238,7 @@
<div class="card-body">
<div class="py-4 px-6">
<div class="py-4 ">
<h1 class="text-md font-medium text-gray-900">Analisa Tanah</h1>
</div>
<div class="grid gap-5">
@@ -263,13 +267,12 @@
onclick="toggleTidakSesuai('luas')">
<span class="ml-2">Tidak Sesuai</span>
</label>
<input type="text" name="luas_tanah" id="luas_tanah" class="input w-full"
<input type="text" name="luas_tanah" id="luas_tidak_sesuai" class="input w-full"
placeholder="Masukan Luas Tanah" value="{{ old('luas_tanah') }}"
style="display: none;">
</div>
@error('bentuk_tanah')
@error('luas')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
@@ -294,13 +297,14 @@
</label>
<!-- Select dropdown untuk "Tidak Sesuai" -->
<select id="selectTidakSesuai" class="input w-full @error('hadapMataAngin') border-danger bg-danger-light @enderror"
name="hadapMataAngin" style="display: none;">
<select id="selectTidakSesuai"
class="input w-full @error('hadap_mata_angin_tidak_sesuai') border-danger bg-danger-light @enderror"
name="hadap_mata_angin_tidak_sesuai" style="display: none;">
<option value="">Select Hadap Mata Angin</option>
@if (isset($arahMataAngin))
@foreach ($arahMataAngin as $item)
<option value="{{ $item->name }}"
{{ old('hadapMataAngin') == $item->name ? 'selected' : '' }}>
{{ old('hadap_mata_angin_tidak_sesuai') == $item->name ? 'selected' : '' }}>
{{ $item->name }}
</option>
@endforeach
@@ -308,7 +312,7 @@
</select>
</div>
@error('hadapMataAngin')
@error('hadap_mata_angin_tidak_sesuai')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror
</div>
@@ -327,10 +331,21 @@
value="{{ $item->name }}" />
{{ $item->name }}
</label>
@endforeach
@if (strcasecmp($item->name, 'lainnya') == 0)
<div class="flex items-center">
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="bentuk_tanah[]" type="checkbox"
value="{{ $item->name }}" />
{{ $item->name }}
</label>
<input type="text" name="bentuk_tanah[]" class="input w-full mt-2"
id="bentukTanahInput" placeholder="Masukkan bentuk tanah...">
</div>
@endif
<input type="text" name="bentuk_tanah" class="input w-full mt-2" id="bentukTanahInput"
placeholder="Masukkan bentuk tanah...">
@endforeach
@endif
</div>
@error('bentuk_tanah')
<em class="alert text-danger text-sm">{{ $message }}</em>
@@ -420,10 +435,20 @@
value="{{ $item->name }}" />
{{ $item->name }}
</label>
@if (strcasecmp($item->name, 'lainnya') == 0)
<div class="flex items-center">
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="posisi_kavling[]" type="checkbox"
value="{{ $item->name }}" />
{{ $item->name }}
</label>
<input type="text" name="posisi_kavling[]" class="input mt-2"
id="bentukTanahInput" placeholder="Masukkan Posisi Kavling">
</div>
@endif
@endforeach
@endif
<input type="text" name="bentuk_tanah" class="input mt-2" id="bentukTanahInput"
placeholder="Masukkan Posisi Kavling">
</div>
@error('posisi_kavling')
<em class="alert text-danger text-sm">{{ $message }}</em>
@@ -491,12 +516,20 @@
value="{{ $item->name }}" />
{{ $item->name }}
</label>
@endforeach
@endif
<input type="text" name="bentuk_tanah" class="input mt-2" id="bentukTanahInput"
@if (strcasecmp($item->name, 'lainnya') == 0)
<div class="flex items-center">
<label class="form-label flex items-center gap-2.5 text-nowrap">
<input class="checkbox" name="kondisi_fisik_tanah[]" type="checkbox"
value="{{ $item->name }}" />
{{ $item->name }}
</label>
<input type="text" name="kondisi_fisik_tanah_lainnya" class="input mt-2"
placeholder="Masukkan Kondisi Fisik Tanah...">
</div>
@endif
@endforeach
@endif
</div>
@error('kondisi_fisik_tanah')
<em class="alert text-danger text-sm">{{ $message }}</em>
@enderror