- Menambahkan border dan background pada elemen card dengan class `border-agi-100` dan `bg-agi-50`. - Perubahan berlaku di berbagai file blade untuk meningkatkan konsistensi UI.
549 lines
29 KiB
PHP
549 lines
29 KiB
PHP
@extends('layouts.main')
|
|
|
|
@section('breadcrumbs')
|
|
{{-- {{ Breadcrumbs::render(request()->route()->getName()) }}
|
|
--}}
|
|
Resume
|
|
@endsection
|
|
|
|
@section('content')
|
|
@include('lpj::assetsku.includenya')
|
|
<div class="w-full grid gap-5 lg:gap-7.5 mx-auto">
|
|
<form id="form-memo" method="POST" class="w-full grid gap-5">
|
|
<div class="card">
|
|
<div class="card-header bg-agi-50">
|
|
<h3 class="card-title uppercase">
|
|
Memo Antar Kantor
|
|
</h3>
|
|
<div class="flex items-center gap-2">
|
|
<a href="{{ route('penilai.show', ['id' => $permohonan->id]) }}" class="btn btn-xs btn-info">
|
|
<i class="ki-filled ki-exit-left"></i> Back
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="card-body grid gap-5">
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
|
<label class="form-label max-w-56">Kepada</label>
|
|
<div class="flex flex-wrap items-baseline w-full">
|
|
<input type="text" name="kepada" class="input w-full" placeholder="Masukkan..."
|
|
value=" {{ $memo->kepada ?? "" }}">
|
|
</div>
|
|
</div>
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
|
<label class="form-label max-w-56">Dari</label>
|
|
<div class="flex flex-wrap items-baseline w-full">
|
|
<input type="text" name="dari" class="input w-full" placeholder="Masukkan..."
|
|
value="{{ $memo->dari ?? "" }}">
|
|
</div>
|
|
</div>
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
|
<label class="form-label max-w-56">Nomor Memo</label>
|
|
<div class="flex flex-wrap items-base line w-full">
|
|
<input type="text" name="nomor_memo" class="input w-full" placeholder="Masukkan..."
|
|
value="{{ $memo->nomor_memo ?? "" }}">
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
|
<label class="form-label max-w-56">Tanggal</label>
|
|
<div class="flex flex-wrap items-baseline w-full">
|
|
<input type="date" name="tanggal" class="input w-full" placeholder="Masukkan..."
|
|
value="{{ $memo->tanggal ?? "" }}">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
|
<label class="form-label max-w-56">Perihal</label>
|
|
<div class="flex flex-wrap items-base line w-full">
|
|
<input type="text" name="perihal" class="input w-full" placeholder="Masukkan..."
|
|
value="{{ $memo->perihal ?? "" }}">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card border border-agi-100 w-full bg-white rounded-lg shadow-md ">
|
|
<div class="card-header bg-agi-50">
|
|
<h1 class="text-md font-medium text-gray-900 uppercase">Sehubungan dengan permintaan BAGI Cabang
|
|
<b>{{ $permohonan->branch->name }}</b>, untuk dilakukan survey untuk penilaian baru/review, calon debitur/debitur an
|
|
<b>{{ $permohonan->debiture->name }}</b>,dengan deskripsi sebagai berikut :
|
|
</h1>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="grid gap-5 w-full">
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
|
<label class="form-label max-w-56">Jenis Aset</label>
|
|
|
|
<div class="flex flex-wrap items-baseline w-full">
|
|
|
|
<select id="jenis_asset_tidak_sesuai" class="input w-full" name="jenis_asset_tidak_sesuai">
|
|
<option value="">Select Jenis asset</option>
|
|
@foreach ($basicData['jenisJaminan'] as $item)
|
|
<option value="{{ $item->name }}" {{ ($memo->jenis_asset_tidak_sesuai ?? '') == $item->name ? 'selected' : '' }}>
|
|
{{ $item->name }}
|
|
</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
|
<div class="grid gap-2.5 w-full">
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
|
<label for="address" class="form-label max-w-56">Lokasi</label>
|
|
<div class="flex flex-wrap items-baseline w-full">
|
|
<input type="text" id="address" name="address" class="input w-full"
|
|
placeholder="Masukkan Jl." value="{{ $memo->address ?? old('address') }}">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
|
<label for="province_code" class="form-label max-w-56">Provinsi</label>
|
|
<div class="flex flex-wrap items-baseline w-full">
|
|
<select id="province_code" name="province_code" class="input w-full">
|
|
<option value="">Pilih Provinsi</option>
|
|
@foreach ($provinces as $item)
|
|
<option value="{{ $item->code }}" {{ ($memo->province_code ?? '') == $item->code ? 'selected' : '' }}>{{ $item->name }}</option>
|
|
@endforeach
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
|
<label for="city_code" class="form-label max-w-56">Kota/Kabupaten</label>
|
|
<div class="flex flex-wrap items-baseline w-full">
|
|
<select id="city_code" name="city_code" class="select w-full">
|
|
<option value="">Pilih Kota/Kabupaten</option>
|
|
@if(isset($cities))
|
|
@foreach ($cities as $item)
|
|
<option value="{{ $item->code }}" {{ ($memo->city_code?? '') == $item->code ? 'selected' : '' }}>{{ $item->name }}</option>
|
|
@endforeach
|
|
@endif
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
|
<label for="district_code" class="form-label max-w-56">Kecamatan</label>
|
|
<div class="flex flex-wrap items-baseline w-full">
|
|
<select id="district_code" name="district_code" class="select w-full">
|
|
<option value="">Pilih Kecamatan</option>
|
|
@if(isset($districts))
|
|
@foreach ($districts as $item)
|
|
<option value="{{ $item->code }}" {{ ($memo->district_code?? '') == $item->code ? 'selected' : '' }}>{{ $item->name }}</option>
|
|
@endforeach
|
|
@endif
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
|
<label for="village_code" class="form-label max-w-56">Kelurahan</label>
|
|
<div class="flex flex-wrap items-baseline w-full">
|
|
<select id="village_code" name="village_code" class="select w-full">
|
|
<option value="">Pilih Kelurahan</option>
|
|
@if(isset($villages))
|
|
@foreach ($villages as $item)
|
|
<option value="{{ $item->code }}" {{ ($memo->village_code ?? '') == $item->code ? 'selected' : '' }}>{{ $item->name }}</option>
|
|
@endforeach
|
|
@endif
|
|
</select>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
|
<label for="address" class="form-label max-w-56">Address</label>
|
|
<div class="flex flex-wrap items-baseline w-full">
|
|
<input type="text" id="address" name="address" class="input w-full"
|
|
placeholder="Masukkan Jl." value="{{ $memo->address ?? old('address') }}">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
|
<label for="tanggal_survey" class="form-label max-w-56">Tanggal Survey</label>
|
|
<div class="flex flex-wrap items-baseline w-full">
|
|
<input type="date" id="tanggal_survey" name="tanggal_survey" class="input w-full"
|
|
placeholder="Masukkan Tanggal Survey" value="{{ $memo->tanggal_survey ?? old('tanggal_survey') }}">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5 w-full">
|
|
<label for="penilai" class="form-label max-w-56">Penilai</label>
|
|
<div class="flex flex-wrap items-baseline w-full">
|
|
<input type="text" id="penilai" name="penilai" class="input w-full"
|
|
placeholder="Masukkan Penilai" value="{{ $memo->penilai ?? old('penilai') }}">
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="card">
|
|
<div class="card-header bg-agi-50">
|
|
<h3 class="card-title uppercase">
|
|
Dokument
|
|
</h3>
|
|
</div>
|
|
<div class="card-body grid gap-5">
|
|
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
|
<label class="form-label max-w-56">Terlampir</label>
|
|
<div id="fakta-positif-container" class="flex flex-wrap items-baseline w-full">
|
|
|
|
<div class="terlampir flex items-center gap-2 mt-2 textarea-group w-full">
|
|
<textarea class="textarea mt-2" name="terlampir[]" rows="3">{{ $memo->terlampir[0] ?? old('terlampir', '') }}</textarea>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
|
<label class="form-label max-w-56">Berdasarkan hasil survey dapat disampaikan sbb:</label>
|
|
<div id="hasil_survey" class="flex flex-wrap items-baseline w-full">
|
|
@if (!empty($memo->hasil_survey))
|
|
@foreach ($memo->hasil_survey as $index => $positif)
|
|
<div class="hasil_survey flex items-center gap-2 mt-2 textarea-group w-full">
|
|
<textarea class="textarea mt-2" name="hasil_survey[]" rows="3">{{ old("hasil_survey.$index", $positif) }}</textarea>
|
|
<button class="btn btn-danger btn-sm remove-btn" type="button"
|
|
style="display: none;">
|
|
<i class="ki-outline ki-trash"></i>
|
|
</button>
|
|
</div>
|
|
@endforeach
|
|
@else
|
|
<div class="hasil_survey flex items-center gap-2 mt-2 textarea-group w-full">
|
|
<textarea class="textarea mt-2" name="hasil_survey[]" rows="3">{{ old('hasil_survey.0', '') }}</textarea>
|
|
<button class="btn btn-danger btn-sm remove-btn" type="button"
|
|
style="display: none;">
|
|
<i class="ki-outline ki-trash"></i>
|
|
</button>
|
|
</div>
|
|
@endif
|
|
<button type="button" class="btn btn-primary btn-sm mt-5"
|
|
onclick="addClonableItem('hasil_survey', 'hasil_survey')">
|
|
<i class="ki-outline ki-plus"></i>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
|
<label class="form-label max-w-56">Kesimpulan dan saran</label>
|
|
<div id="fakta-negatif-container" class="flex flex-wrap items-baseline w-full">
|
|
@if (!empty($memo->kesimpulan_saran))
|
|
@foreach ($memo->kesimpulan_saran as $index => $negatif)
|
|
<div class="fakta_negatif flex items-center gap-2 mt-2 textarea-group w-full">
|
|
<textarea class="textarea mt-2" name="kesimpulan_saran[]" rows="3">{{ old("kesimpulan_saran.$index", $negatif) }}</textarea>
|
|
<button class="btn btn-danger btn-sm remove-btn" type="button"
|
|
style="display: none;">
|
|
<i class="ki-outline ki-trash"></i>
|
|
</button>
|
|
</div>
|
|
@endforeach
|
|
@else
|
|
<div class="kesimpulan_saran flex items-center gap-2 mt-2 textarea-group w-full">
|
|
<textarea class="textarea mt-2" name="kesimpulan_saran[]" rows="3">{{ old('kesimpulan_saran.0') }}</textarea>
|
|
<button class="btn btn-danger btn-sm remove-btn" type="button"
|
|
style="display: none;">
|
|
<i class="ki-outline ki-trash"></i>
|
|
</button>
|
|
<em id="error-kesimpulan_saran" class="alert text-danger text-sm"></em>
|
|
</div>
|
|
@endif
|
|
<button type="button" class="btn btn-primary btn-sm mt-5"
|
|
onclick="addClonableItem('fakta-negatif-container', 'kesimpulan_saran')">
|
|
<i class="ki-outline ki-plus"></i>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="card">
|
|
<div class="card-header bg-agi-50">
|
|
<h3 class="card-title uppercase">
|
|
Peta lokasi
|
|
</h3>
|
|
</div>
|
|
<div class="card-body grid gap-5">
|
|
<div class="border-t mt-5">
|
|
<div class="flex card-header border border-agi-100 bg-agi-50 justify-center" id="basic_settings">
|
|
<h3 class="card-title uppercase">
|
|
Rute Menuju Lokasi
|
|
</h3>
|
|
</div>
|
|
<div class="">
|
|
@if (isset($formPeta))
|
|
@php
|
|
$foto = ['foto_gistaru', 'foto_bhumi', 'foto_argis_region', 'foto_tempat'];
|
|
@endphp
|
|
|
|
@foreach ($foto as $item)
|
|
@if (isset($formPeta[$item]) && $formPeta[$item])
|
|
<div class="flex items-center justify-between mt-5 border-b">
|
|
<div class="grid gap-5">
|
|
<h2 class="text-gray-600 font-semibold text-xl">
|
|
{{ ucwords(str_replace('_', ' ', $item)) }}
|
|
</h2>
|
|
<div class="flex items-center mt-5">
|
|
<img src="{{ Storage::url($formPeta[$item]) }}"
|
|
alt="{{ $item }}">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endif
|
|
@endforeach
|
|
@endif
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="card">
|
|
<div class="card-header bg-agi-50">
|
|
<h3 class="card-title uppercase">
|
|
Foto jaminan
|
|
</h3>
|
|
</div>
|
|
<div class="card-body grid gap-5">
|
|
<div class="border-t mt-5">
|
|
<div class="flex card-header border border-agi-100 bg-agi-50 justify-center" id="basic_settings">
|
|
<h3 class="card-title uppercase">
|
|
Rute Menuju Lokasi
|
|
</h3>
|
|
</div>
|
|
<div class="">
|
|
@if (isset($formFoto))
|
|
@foreach ($formFoto['rute_menuju_lokasi'] as $item)
|
|
<div class="flex items-center justify-between mt-5">
|
|
<div class="grid gap-5">
|
|
<h2 class="text-gray-600 font-semibold text-xl">
|
|
{{ $item['name_rute'] . ' ' . $loop->index + 1 }}
|
|
</h2>
|
|
<div class="flex items-center">
|
|
<img src="{{ Storage::url($item['foto_rute']) }}" alt="">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endforeach
|
|
@endif
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="border-t mt-5">
|
|
<div class="flex card-header border border-agi-100 bg-agi-50 justify-center" id="basic_settings">
|
|
<h3 class="card-title uppercase">
|
|
Object Jaminan
|
|
</h3>
|
|
</div>
|
|
<div class="">
|
|
@if (isset($formFoto['object_jaminan']))
|
|
@foreach ($formFoto['object_jaminan'] as $item)
|
|
<div class="flex items-center justify-between mt-5">
|
|
<div class="grid gap-5">
|
|
<h2 class=" font-semibold text-xl">
|
|
{{ $item['name_objek'] }}
|
|
</h2>
|
|
<div class="flex items-center">
|
|
|
|
|
|
<img src="{{ Storage::url($item['foto_objek']) }}" alt="">
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@endforeach
|
|
@endif
|
|
</div>
|
|
</div>
|
|
|
|
@if (isset($formFoto['foto_basement']))
|
|
<div class="border-t mt-5">
|
|
<div class="flex card-header border border-agi-100 bg-agi-50 justify-center" id="basic_settings">
|
|
<h3 class="card-title uppercase">
|
|
Basement
|
|
</h3>
|
|
</div>
|
|
<div class="">
|
|
<div class="flex items-center justify-between mt-5">
|
|
<div class="grid gap-5">
|
|
<h2 class=" font-semibold text-xl">
|
|
Basemnt
|
|
</h2>
|
|
<div class="flex items-center">
|
|
|
|
|
|
<img src="{{ Storage::url($formFoto['foto_basement']) }}" alt="">
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
@endif
|
|
|
|
@if (isset($formFoto['foto_gerbang']))
|
|
<div class="border-t mt-5">
|
|
<div class="flex card-header border border-agi-100 bg-agi-50 justify-center" id="basic_settings">
|
|
<h3 class="card-title uppercase">
|
|
Gerbang
|
|
</h3>
|
|
</div>
|
|
<div class="">
|
|
|
|
|
|
<div class="flex items-center justify-between mt-5">
|
|
<div class="grid gap-5">
|
|
<h2 class=" font-semibold text-xl">
|
|
Gerbang
|
|
</h2>
|
|
<div class="flex items-center">
|
|
|
|
|
|
<img src="{{ Storage::url($formFoto['foto_gerbang']) }}" alt="">
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
@endif
|
|
|
|
|
|
@if (isset($formFoto['pendamping']))
|
|
<div class="border-t mt-5">
|
|
<div class="flex card-header border border-agi-100 bg-agi-50 justify-center" id="basic_settings">
|
|
<h3 class="card-title uppercase">
|
|
Pendamping
|
|
</h3>
|
|
</div>
|
|
<div class="">
|
|
|
|
|
|
<div class="flex items-center justify-between mt-5">
|
|
<div class="grid gap-5">
|
|
<h2 class=" font-semibold text-xl">
|
|
Pendamping
|
|
</h2>
|
|
<div class="flex items-center">
|
|
|
|
|
|
<img src="{{ Storage::url($formFoto['pendamping']) }}" alt="">
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
@endif
|
|
</div>
|
|
</div>
|
|
|
|
<div class="flex justify-start gap-5">
|
|
<a class="btn btn-success" onclick="saveMemo()">
|
|
SAVE
|
|
</a>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
@endsection
|
|
@include('lpj::surveyor.js.utils')
|
|
<script>
|
|
function saveMemo() {
|
|
const form = document.getElementById('form-memo');
|
|
const formData = new FormData(form);
|
|
|
|
const jsonData = {
|
|
kepada: formData.get('kepada'),
|
|
dari: formData.get('dari'),
|
|
nomor_memo: formData.get('nomor_memo'),
|
|
tanggal: formData.get('tanggal'),
|
|
perihal: formData.get('perihal'),
|
|
jenis_asset_tidak_sesuai: formData.get('jenis_asset_tidak_sesuai'),
|
|
lokasi: {
|
|
address: formData.get('address') || '',
|
|
province_code: formData.get('province_code') || '',
|
|
city_code: formData.get('city_code') || '',
|
|
district_code: formData.get('district_code') || '',
|
|
village_code: formData.get('village_code') || '',
|
|
},
|
|
terlampir: (formData.getAll('terlampir[]') || []),
|
|
hasil_survey: (formData.getAll('hasil_survey[]') || []),
|
|
kesimpulan_saran: (formData.getAll('kesimpulan_saran[]') || []),
|
|
};
|
|
|
|
showLoadingSwal('Mengirim data ke server...');
|
|
|
|
const urlParams = new URLSearchParams(window.location.search);
|
|
const permohonanId = urlParams.get('permohonanId');
|
|
const documentId = urlParams.get('documentId');
|
|
const inspeksiId = urlParams.get('inspeksiId');
|
|
|
|
const requestUrl = `{{ route('penilai.storeMemo') }}`;
|
|
$.ajax({
|
|
url: requestUrl,
|
|
type: 'POST',
|
|
data: JSON.stringify({
|
|
permohonan_id: permohonanId,
|
|
document_id: documentId,
|
|
inspeksi_id: inspeksiId,
|
|
memo: jsonData,
|
|
}),
|
|
contentType: 'application/json',
|
|
headers: {
|
|
'X-CSRF-TOKEN': '{{ csrf_token() }}'
|
|
},
|
|
success: function (response) {
|
|
hideLoadingSwal();
|
|
if (response.success) {
|
|
Swal.fire({
|
|
title: 'Berhasil!',
|
|
text: response.message,
|
|
icon: 'success',
|
|
confirmButtonText: 'OK'
|
|
}).then((response) => {
|
|
if (response.isConfirmed) {
|
|
window.location.href =
|
|
'{{ route('penilai.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]);
|
|
toastrErrorBuild(value[0]);
|
|
});
|
|
}
|
|
hideLoadingSwal();
|
|
console.log(errors);
|
|
}
|
|
});
|
|
}
|
|
</script>
|