update filed penilai, surveyor dan tambah buton revisi
This commit is contained in:
parent
f0d60d68d1
commit
00f568fb6d
@ -1,203 +1,213 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace Modules\Lpj\Http\Controllers;
|
namespace Modules\Lpj\Http\Controllers;
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Modules\Lpj\Http\Requests\PenilaianRequest;
|
use Modules\Lpj\Http\Requests\PenilaianRequest;
|
||||||
use Modules\Lpj\Models\JenisPenilaian;
|
use Modules\Lpj\Models\JenisPenilaian;
|
||||||
use Modules\Lpj\Models\Penilaian;
|
use Modules\Lpj\Models\Penilaian;
|
||||||
use Modules\Lpj\Models\Permohonan;
|
use Modules\Lpj\Models\Permohonan;
|
||||||
use Modules\Lpj\Models\StatusPermohonan;
|
use Modules\Lpj\Models\StatusPermohonan;
|
||||||
use Modules\Lpj\Models\Teams;
|
use Modules\Lpj\Models\Teams;
|
||||||
use Modules\Lpj\Models\TeamsUsers;
|
use Modules\Lpj\Models\TeamsUsers;
|
||||||
use Modules\Usermanagement\Models\User;
|
use Modules\Usermanagement\Models\User;
|
||||||
|
|
||||||
class PenilaianController extends Controller
|
class PenilaianController extends Controller
|
||||||
|
{
|
||||||
|
public $user;
|
||||||
|
/**
|
||||||
|
* Display a listing of the resource.
|
||||||
|
*/
|
||||||
|
public function index()
|
||||||
{
|
{
|
||||||
/**
|
$status_permohonan = StatusPermohonan::all();
|
||||||
* Display a listing of the resource.
|
|
||||||
*/
|
|
||||||
public function index()
|
|
||||||
{
|
|
||||||
$status_permohonan = StatusPermohonan::all();
|
|
||||||
|
|
||||||
return view('lpj::penilaian.index', compact('status_permohonan'));
|
return view('lpj::penilaian.index', compact('status_permohonan'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Store a newly created resource in storage.
|
* Store a newly created resource in storage.
|
||||||
*/
|
*/
|
||||||
public function store(PenilaianRequest $request)
|
public function store(PenilaianRequest $request)
|
||||||
{
|
{
|
||||||
$validatedData = $request->validated();
|
$validatedData = $request->validated();
|
||||||
|
if ($validatedData) {
|
||||||
|
try {
|
||||||
|
$penilaian = Penilaian::create($validatedData);
|
||||||
|
|
||||||
if ($validatedData) {
|
$permohonan = Permohonan::where('nomor_registrasi', $request->nomor_registrasi);
|
||||||
try {
|
$permohonan->update([
|
||||||
$penilaian = Penilaian::create($validatedData);
|
'status' => 'assign',
|
||||||
|
]);
|
||||||
|
|
||||||
$permohonan = Permohonan::findOrFail($request->permohonan_id);
|
return redirect()->route('penilaian.index')->with('success', 'Penilaian berhasil disimpan');
|
||||||
$permohonan->update([
|
} catch (Exception $e) {
|
||||||
'status' => 'assign',
|
|
||||||
]);
|
|
||||||
|
|
||||||
return redirect()->route('penilaian.index')->with('success', 'Penilaian berhasil disimpan');
|
return redirect()->route('penilaian.index')->with('error', $e->getMessage());
|
||||||
} catch (Exception $e) {
|
|
||||||
return redirect()->route('penilaian.index')->with('error', $e->getMessage());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show the form for creating a new resource.
|
* Show the form for creating a new resource.
|
||||||
*/
|
*/
|
||||||
public function create($id)
|
public function create($id)
|
||||||
{
|
{
|
||||||
return view('lpj::penilaian.form');
|
return view('lpj::penilaian.form');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update the specified resource in storage.
|
* Update the specified resource in storage.
|
||||||
*/
|
*/
|
||||||
public function update(PenilaianRequest $request, $id)
|
public function update(PenilaianRequest $request, $id)
|
||||||
{
|
{
|
||||||
$validate = $request->validated();
|
$validate = $request->validated();
|
||||||
|
if ($validate) {
|
||||||
|
try {
|
||||||
|
$penilaian = Penilaian::where('nomor_registrasi', $request->nomor_registrasi)->firstOrFail();
|
||||||
|
$penilaian->update($validate);
|
||||||
|
$permohonan = Permohonan::where('nomor_registrasi', $request->nomor_registrasi);
|
||||||
|
$permohonan->update([
|
||||||
|
'status' => 'assign',
|
||||||
|
]);
|
||||||
|
|
||||||
if ($validate) {
|
return redirect()->route('penilaian.index', $id)->with('success', 'Penilaian berhasil diubah');
|
||||||
try {
|
} catch (Exception $e) {
|
||||||
$penilaian = Penilaian::where('permohonan_id', $id)->firstOrFail();
|
return redirect()->route('penilaian.index', $id)->with('error', $e->getMessage());
|
||||||
|
|
||||||
$penilaian->update($validate);
|
|
||||||
$permohonan = Permohonan::findOrFail($id);
|
|
||||||
$permohonan->update([
|
|
||||||
'status' => 'assign',
|
|
||||||
]);
|
|
||||||
|
|
||||||
return redirect()->route('penilaian.index', $id)->with('success', 'Penilaian berhasil diubah');
|
|
||||||
} catch (Exception $e) {
|
|
||||||
return redirect()->route('penilaian.index', $id)->with('error', $e->getMessage());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show the specified resource.
|
* Show the specified resource.
|
||||||
*/
|
*/
|
||||||
public function show($id)
|
public function show($id)
|
||||||
{
|
{
|
||||||
return view('lpj::show');
|
return view('lpj::show');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for editing the specified resource.
|
||||||
|
*/
|
||||||
|
public function assignment($id)
|
||||||
|
{
|
||||||
|
$permohonan = Permohonan::with(
|
||||||
|
[
|
||||||
|
'user',
|
||||||
|
'debiture.province',
|
||||||
|
'debiture.city',
|
||||||
|
'debiture.district',
|
||||||
|
'debiture.village',
|
||||||
|
'branch',
|
||||||
|
'tujuanPenilaian',
|
||||||
|
],
|
||||||
|
)->findOrFail($id);
|
||||||
|
|
||||||
|
$jenisPenilaian = JenisPenilaian::all();
|
||||||
|
$teamPenilai = Teams::with(['regions', 'teamsUsers'])->get();
|
||||||
|
|
||||||
|
$penilaian = Penilaian::where('nomor_registrasi', $permohonan->nomor_registrasi)->first();
|
||||||
|
|
||||||
|
return view('lpj::penilaian.form', compact('permohonan', 'teamPenilai', 'jenisPenilaian', 'penilaian'));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the specified resource from storage.
|
||||||
|
*/
|
||||||
|
public function revisi(Request $request, $nomor_registrasi)
|
||||||
|
{
|
||||||
|
$validate = $request->validate([
|
||||||
|
'keterangan_revisi' => 'required',
|
||||||
|
'dokumen_revisi' => 'required|file',
|
||||||
|
]);
|
||||||
|
if ($validate) {
|
||||||
|
$permohonan = Permohonan::where('nomor_registrasi',
|
||||||
|
$nomor_registrasi);
|
||||||
|
|
||||||
|
$permohonan->update($validate);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Show the form for editing the specified resource.
|
|
||||||
*/
|
|
||||||
public function edit($id)
|
|
||||||
{
|
|
||||||
$permohonan = Permohonan::with(
|
|
||||||
[
|
|
||||||
'user',
|
|
||||||
'debiture.province',
|
|
||||||
'debiture.city',
|
|
||||||
'debiture.district',
|
|
||||||
'debiture.village',
|
|
||||||
'branch',
|
|
||||||
'tujuanPenilaian',
|
|
||||||
],
|
|
||||||
)->findOrFail($id);
|
|
||||||
|
|
||||||
$jenisPenilaian = JenisPenilaian::all();
|
|
||||||
$teamPenilai = Teams::with(['regions', 'teamsUsers'])->get();
|
|
||||||
|
|
||||||
$penilaian = Penilaian::where('permohonan_id', $id)->first();
|
|
||||||
|
|
||||||
return view('lpj::penilaian.form', compact('permohonan', 'teamPenilai', 'jenisPenilaian', 'penilaian'));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Remove the specified resource from storage.
|
|
||||||
*/
|
|
||||||
public function destroy($id)
|
|
||||||
{
|
|
||||||
//
|
|
||||||
}
|
|
||||||
|
|
||||||
public function dataForDatatables(Request $request)
|
|
||||||
{
|
|
||||||
if (is_null($this->user) || !$this->user->can('debitur.view')) {
|
|
||||||
// abort(403, 'Sorry! You are not allowed to view users.');
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
$query = Permohonan::query();
|
|
||||||
|
|
||||||
if ($request->has('search') && !empty($request->get('search'))) {
|
|
||||||
$search = $request->get('search');
|
|
||||||
$query->where(function ($q) use ($search) {
|
|
||||||
$q->where('nomor_registrasi', 'LIKE', '%' . $search . '%');
|
|
||||||
$q->orWhere('tanggal_permohonan', 'LIKE', '%' . $search . '%');
|
|
||||||
$q->orWhereRelation('user', 'name', 'LIKE', '%' . $search . '%');
|
|
||||||
$q->orWhereRelation('debiture', 'name', 'LIKE', '%' . $search . '%');
|
|
||||||
$q->orWhereRelation('tujuanPenilaian', 'name', 'LIKE', '%' . $search . '%');
|
|
||||||
$q->orWhereRelation('branch', 'name', 'LIKE', '%' . $search . '%');
|
|
||||||
$q->orWhere('status', 'LIKE', '%' . $search . '%');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// Filter to show only records with status 'register'
|
|
||||||
$query->where('status', 'register');
|
|
||||||
|
|
||||||
|
|
||||||
if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) {
|
|
||||||
$order = $request->get('sortOrder');
|
|
||||||
$column = $request->get('sortField');
|
|
||||||
$query->orderBy($column, $order);
|
|
||||||
}
|
|
||||||
|
|
||||||
$totalRecords = $query->count();
|
|
||||||
|
|
||||||
// Apply pagination if provided
|
|
||||||
if ($request->has('page') && $request->has('size')) {
|
|
||||||
$page = $request->get('page');
|
|
||||||
$size = $request->get('size');
|
|
||||||
$offset = ($page - 1) * $size; // Calculate the offset
|
|
||||||
|
|
||||||
$query->skip($offset)->take($size);
|
|
||||||
}
|
|
||||||
|
|
||||||
$filteredRecords = $query->count();
|
|
||||||
|
|
||||||
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get();
|
|
||||||
|
|
||||||
$pageCount = ceil($totalRecords / $request->get('size'));
|
|
||||||
|
|
||||||
$currentPage = $page;
|
|
||||||
|
|
||||||
|
|
||||||
return response()->json([
|
|
||||||
'draw' => $request->get('draw'),
|
|
||||||
'recordsTotal' => $totalRecords,
|
|
||||||
'recordsFiltered' => $filteredRecords,
|
|
||||||
'pageCount' => $pageCount,
|
|
||||||
'page' => $currentPage,
|
|
||||||
'totalCount' => $totalRecords,
|
|
||||||
'data' => $data,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public function getUserTeams($id)
|
|
||||||
{
|
|
||||||
$teamsUser = TeamsUsers::where('teams_id', $id)->get();
|
|
||||||
$userIds = $teamsUser->pluck('user_id');
|
|
||||||
$users = User::whereIn('id', $userIds)->get();
|
|
||||||
|
|
||||||
if ($users->isNotEmpty()) {
|
|
||||||
return response()->json($users, 200);
|
|
||||||
}
|
|
||||||
|
|
||||||
return response()->json([], 200);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function dataForDatatables(Request $request)
|
||||||
|
{
|
||||||
|
if (is_null($this->user) || !$this->user->can('debitur.view')) {
|
||||||
|
// abort(403, 'Sorry! You are not allowed to view users.');
|
||||||
|
}
|
||||||
|
|
||||||
|
$query = Permohonan::query();
|
||||||
|
|
||||||
|
if ($request->has('search') && !empty($request->get('search'))) {
|
||||||
|
$search = $request->get('search');
|
||||||
|
$query->where(function ($q) use ($search) {
|
||||||
|
$q->where('nomor_registrasi', 'LIKE', '%' . $search . '%');
|
||||||
|
$q->orWhere('tanggal_permohonan', 'LIKE', '%' . $search . '%');
|
||||||
|
$q->orWhereRelation('user', 'name', 'LIKE', '%' . $search . '%');
|
||||||
|
$q->orWhereRelation('debiture', 'name', 'LIKE', '%' . $search . '%');
|
||||||
|
$q->orWhereRelation('tujuanPenilaian', 'name', 'LIKE', '%' . $search . '%');
|
||||||
|
$q->orWhereRelation('branch', 'name', 'LIKE', '%' . $search . '%');
|
||||||
|
$q->orWhere('status', 'LIKE', '%' . $search . '%');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
$query->whereRaw('LOWER(status) = ?', ['register']);
|
||||||
|
|
||||||
|
if ($request->has('sortOrder') && !empty($request->get('sortOrder'))) {
|
||||||
|
$order = $request->get('sortOrder');
|
||||||
|
$column = $request->get('sortField');
|
||||||
|
$query->orderBy($column, $order);
|
||||||
|
}
|
||||||
|
|
||||||
|
$totalRecords = $query->count();
|
||||||
|
|
||||||
|
$size = $request->get('size', 10);
|
||||||
|
if ($size == 0) {
|
||||||
|
$size = 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($request->has('page') && $request->has('size')) {
|
||||||
|
$page = $request->get('page', 1);
|
||||||
|
$offset = ($page - 1) * $size;
|
||||||
|
|
||||||
|
$query->skip($offset)->take($size);
|
||||||
|
}
|
||||||
|
|
||||||
|
$filteredRecords = $query->count();
|
||||||
|
$data = $query->with(['user', 'debiture', 'branch', 'tujuanPenilaian'])->get();
|
||||||
|
|
||||||
|
$pageCount = ceil($totalRecords / $size);
|
||||||
|
|
||||||
|
$currentPage = max(1, $request->get('page', 1));
|
||||||
|
return response()->json([
|
||||||
|
'draw' => $request->get('draw'),
|
||||||
|
'recordsTotal' => $totalRecords,
|
||||||
|
'recordsFiltered' => $filteredRecords,
|
||||||
|
'pageCount' => $pageCount,
|
||||||
|
'page' => $currentPage,
|
||||||
|
'totalCount' => $totalRecords,
|
||||||
|
'data' => $data,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public function getUserTeams($id)
|
||||||
|
{
|
||||||
|
$teamsUser = TeamsUsers::where('teams_id', $id)->get();
|
||||||
|
$userIds = $teamsUser->pluck('user_id');
|
||||||
|
$users = User::whereIn('id', $userIds)
|
||||||
|
->with('roles')
|
||||||
|
->get();
|
||||||
|
|
||||||
|
|
||||||
|
if ($users->isNotEmpty()) {
|
||||||
|
return response()->json($users, 200);
|
||||||
|
}
|
||||||
|
|
||||||
|
return response()->json([], 200);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
@ -10,17 +10,20 @@ class PenilaianRequest extends FormRequest
|
|||||||
* Get the validation rules that apply to the request.
|
* Get the validation rules that apply to the request.
|
||||||
*/
|
*/
|
||||||
public function rules(): array
|
public function rules(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'jenis_penilaian_id' => 'required|max:255',
|
'jenis_penilaian_id' => 'required|max:255',
|
||||||
'teams_id' => 'required|max:255',
|
'teams_id' => 'required|max:255',
|
||||||
'user_id' => 'required|max:255',
|
'tanggal_kunjungan' => 'required|max:255',
|
||||||
'tanggal_kunjungan' => 'required|max:255',
|
'status' => 'required|string',
|
||||||
'status' => 'required|max:10',
|
'nomor_registrasi' => 'required|string',
|
||||||
'keterangan' => 'nullable',
|
'surveyor_id' => 'nullable|required_without:penilai_surveyor_id',
|
||||||
'permohonan_id' => 'required',
|
'penilaian_id' => 'nullable|required_without:penilai_surveyor_id',
|
||||||
];
|
'penilai_surveyor_id' => 'nullable|required_without:surveyor_id|required_without:penilaian_id',
|
||||||
}
|
'keterangan' => 'nullable',
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determine if the user is authorized to make this request.
|
* Determine if the user is authorized to make this request.
|
||||||
|
@ -19,9 +19,9 @@ return new class () extends Migration {
|
|||||||
$table->foreignIdFor(Teams::class);
|
$table->foreignIdFor(Teams::class);
|
||||||
$table->datetime('tanggal_kunjungan');
|
$table->datetime('tanggal_kunjungan');
|
||||||
$table->text('keterangan')->nullable();
|
$table->text('keterangan')->nullable();
|
||||||
$table->char('status');
|
$table->string('status')->nullable();
|
||||||
$table->foreignIdFor(Permohonan::class)->nullable();
|
$table->string('nomor_registrasi')->references('nomor_registrasi')->on(Permohonan::class)->nullable();
|
||||||
$table->integer('penilaian_id');
|
$table->integer('penilaian_id')->nullable();
|
||||||
$table->integer('surveyor_id')->nullable();
|
$table->integer('surveyor_id')->nullable();
|
||||||
$table->integer('penilai_surveyor_id')->nullable();
|
$table->integer('penilai_surveyor_id')->nullable();
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
|
13
module.json
13
module.json
@ -59,6 +59,17 @@
|
|||||||
{
|
{
|
||||||
"title": "Assignment",
|
"title": "Assignment",
|
||||||
"path": "penilaian",
|
"path": "penilaian",
|
||||||
|
"icon": "ki-filled ki-badge",
|
||||||
|
"classes": "",
|
||||||
|
"attributes": [],
|
||||||
|
"permission": "",
|
||||||
|
"roles": [
|
||||||
|
"Administrator"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Activity",
|
||||||
|
"path": "penilaian",
|
||||||
"icon": "ki-filled ki-some-files text-lg",
|
"icon": "ki-filled ki-some-files text-lg",
|
||||||
"classes": "",
|
"classes": "",
|
||||||
"attributes": [],
|
"attributes": [],
|
||||||
@ -196,7 +207,7 @@
|
|||||||
"roles": []
|
"roles": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"title": "Team Penilai",
|
"title": "Staff Appraisal",
|
||||||
"path": "basicdata.teams",
|
"path": "basicdata.teams",
|
||||||
"classes": "",
|
"classes": "",
|
||||||
"attributes": [],
|
"attributes": [],
|
||||||
|
@ -6,11 +6,15 @@
|
|||||||
|
|
||||||
@push('styles')
|
@push('styles')
|
||||||
<style>
|
<style>
|
||||||
.divider {
|
.modal {
|
||||||
border: none;
|
width: 50%;
|
||||||
height: 1px;
|
display: flex;
|
||||||
background-color: #ddd;
|
justify-content: center;
|
||||||
margin: 20px 0;
|
align-items: center;
|
||||||
|
position: fixed;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
@endpush
|
@endpush
|
||||||
@ -70,7 +74,7 @@
|
|||||||
Name
|
Name
|
||||||
</td>
|
</td>
|
||||||
<td class="py-2 text-gray-800 font-normaltext-sm">
|
<td class="py-2 text-gray-800 font-normaltext-sm">
|
||||||
{{ $permohonan->debiture->name ?? "" }}
|
{{ $permohonan->debiture->name ?? '' }}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -78,7 +82,7 @@
|
|||||||
Email
|
Email
|
||||||
</td>
|
</td>
|
||||||
<td class="py-3 text-gray-700 text-2sm font-normal">
|
<td class="py-3 text-gray-700 text-2sm font-normal">
|
||||||
{{ $permohonan->debiture->email ?? "" }}
|
{{ $permohonan->debiture->email ?? '' }}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -86,7 +90,7 @@
|
|||||||
Phone
|
Phone
|
||||||
</td>
|
</td>
|
||||||
<td class="py-3 text-gray-700 text-2sm font-normal">
|
<td class="py-3 text-gray-700 text-2sm font-normal">
|
||||||
{{ $permohonan->debiture->phone ?? "" }}
|
{{ $permohonan->debiture->phone ?? '' }}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
@ -95,7 +99,7 @@
|
|||||||
Address
|
Address
|
||||||
</td>
|
</td>
|
||||||
<td class="py-3 text-gray-700 text-sm font-normal">
|
<td class="py-3 text-gray-700 text-sm font-normal">
|
||||||
{{ $permohonan->debiture->address ?? "" }}
|
{{ $permohonan->debiture->address ?? '' }}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -103,7 +107,11 @@
|
|||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td class="py-3 text-gray-700 text-sm font-normal">
|
<td class="py-3 text-gray-700 text-sm font-normal">
|
||||||
{{ $permohonan->debiture->village->name ?? "" }}, {{ $permohonan->debiture->district->name ?? "" }}, {{ $permohonan->debiture->city->name ?? "" }}, {{ $permohonan->debiture->province->name ?? "" }} - {{ $permohonan->debiture->village->postal_code ?? "" }}
|
{{ $permohonan->debiture->village->name ?? '' }},
|
||||||
|
{{ $permohonan->debiture->district->name ?? '' }},
|
||||||
|
{{ $permohonan->debiture->city->name ?? '' }},
|
||||||
|
{{ $permohonan->debiture->province->name ?? '' }} -
|
||||||
|
{{ $permohonan->debiture->village->postal_code ?? '' }}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
@ -115,7 +123,7 @@
|
|||||||
Cabang
|
Cabang
|
||||||
</td>
|
</td>
|
||||||
<td class="py-2 text-gray-800 font-normaltext-sm">
|
<td class="py-2 text-gray-800 font-normaltext-sm">
|
||||||
{{ $permohonan->debiture->branch->name ?? "" }}
|
{{ $permohonan->debiture->branch->name ?? '' }}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -123,7 +131,7 @@
|
|||||||
CIF
|
CIF
|
||||||
</td>
|
</td>
|
||||||
<td class="py-2 text-gray-800 font-normaltext-sm">
|
<td class="py-2 text-gray-800 font-normaltext-sm">
|
||||||
{{ $permohonan->debiture->cif ?? "" }}
|
{{ $permohonan->debiture->cif ?? '' }}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -131,7 +139,7 @@
|
|||||||
Nomor Rekening
|
Nomor Rekening
|
||||||
</td>
|
</td>
|
||||||
<td class="py-3 text-gray-700 text-sm font-normal">
|
<td class="py-3 text-gray-700 text-sm font-normal">
|
||||||
{{ $permohonan->debiture->nomor_rekening ?? "" }}
|
{{ $permohonan->debiture->nomor_rekening ?? '' }}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -139,7 +147,7 @@
|
|||||||
NPWP
|
NPWP
|
||||||
</td>
|
</td>
|
||||||
<td class="py-3 text-gray-700 text-2sm font-normal">
|
<td class="py-3 text-gray-700 text-2sm font-normal">
|
||||||
{{ $permohonan->debiture->npwp ?? "" }}
|
{{ $permohonan->debiture->npwp ?? '' }}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
@ -155,8 +163,9 @@
|
|||||||
</h3>
|
</h3>
|
||||||
</div>
|
</div>
|
||||||
<div data-accordion="true">
|
<div data-accordion="true">
|
||||||
@foreach($permohonan->debiture->documents as $dokumen)
|
@foreach ($permohonan->debiture->documents as $dokumen)
|
||||||
<div class="accordion-item [&:not(:last-child)]:border-b border-b-gray-200" data-accordion-item="true" id="accordion_1_item_1">
|
<div class="accordion-item [&:not(:last-child)]:border-b border-b-gray-200" data-accordion-item="true"
|
||||||
|
id="accordion_1_item_1">
|
||||||
<button class="accordion-toggle py-4 group mx-8" data-accordion-toggle="#accordion_1_content_1">
|
<button class="accordion-toggle py-4 group mx-8" data-accordion-toggle="#accordion_1_content_1">
|
||||||
<span class="text-base text-gray-900 font-medium">
|
<span class="text-base text-gray-900 font-medium">
|
||||||
Jaminan {{ $loop->index + 1 }}
|
Jaminan {{ $loop->index + 1 }}
|
||||||
@ -173,7 +182,7 @@
|
|||||||
Pemilik Jaminan:
|
Pemilik Jaminan:
|
||||||
</h3>
|
</h3>
|
||||||
<span class="text-2sm text-gray-700">
|
<span class="text-2sm text-gray-700">
|
||||||
{{ $dokumen->pemilik->name?? "" }}
|
{{ $dokumen->pemilik->name ?? '' }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-5">
|
<div class="mb-5">
|
||||||
@ -181,7 +190,7 @@
|
|||||||
Jenis Jaminan:
|
Jenis Jaminan:
|
||||||
</h3>
|
</h3>
|
||||||
<span class="text-2sm text-gray-700">
|
<span class="text-2sm text-gray-700">
|
||||||
{{ $dokumen->jenisJaminan->name?? "" }}
|
{{ $dokumen->jenisJaminan->name ?? '' }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-5">
|
<div class="mb-5">
|
||||||
@ -189,7 +198,7 @@
|
|||||||
Hubungan Pemilik Jaminan:
|
Hubungan Pemilik Jaminan:
|
||||||
</h3>
|
</h3>
|
||||||
<span class="text-2sm text-gray-700">
|
<span class="text-2sm text-gray-700">
|
||||||
{{ $dokumen->pemilik->hubungan_pemilik->name?? "" }}
|
{{ $dokumen->pemilik->hubungan_pemilik->name ?? '' }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-5">
|
<div class="mb-5">
|
||||||
@ -197,20 +206,24 @@
|
|||||||
Alamat Pemilik Jaminan:
|
Alamat Pemilik Jaminan:
|
||||||
</h3>
|
</h3>
|
||||||
<span class="text-2sm text-gray-700">
|
<span class="text-2sm text-gray-700">
|
||||||
{{ $dokumen->pemilik->address ?? ""}},
|
{{ $dokumen->pemilik->address ?? '' }},
|
||||||
<br> {{ $dokumen->pemilik->village->name ?? "" }}, {{ $dokumen->pemilik->district->name ?? "" }}, {{ $dokumen->pemilik->city->name ?? "" }}, {{ $dokumen->pemilik->province->name ?? "" }} - {{ $dokumen->pemilik->village->postal_code ?? "" }}
|
<br> {{ $dokumen->pemilik->village->name ?? '' }},
|
||||||
|
{{ $dokumen->pemilik->district->name ?? '' }},
|
||||||
|
{{ $dokumen->pemilik->city->name ?? '' }},
|
||||||
|
{{ $dokumen->pemilik->province->name ?? '' }} -
|
||||||
|
{{ $dokumen->pemilik->village->postal_code ?? '' }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-table scrollable-x-auto pb-3">
|
<div class="card-table scrollable-x-auto pb-3">
|
||||||
<table class="table align-middle text-sm text-gray-500">
|
<table class="table align-middle text-sm text-gray-500">
|
||||||
@foreach($dokumen->detail as $detail)
|
@foreach ($dokumen->detail as $detail)
|
||||||
<tr>
|
<tr>
|
||||||
<td class="py-2 text-gray-600 font-normal max-w-[100px]">
|
<td class="py-2 text-gray-600 font-normal max-w-[100px]">
|
||||||
{{ $loop->index + 1 }}. {{ $detail->jenisLegalitasJaminan->name }}
|
{{ $loop->index + 1 }}. {{ $detail->jenisLegalitasJaminan->name }}
|
||||||
</td>
|
</td>
|
||||||
<td class="py-2 text-gray-800 font-normaltext-sm">
|
<td class="py-2 text-gray-800 font-normaltext-sm">
|
||||||
{{ $detail->name ?? "" }}
|
{{ $detail->name ?? '' }}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -218,8 +231,9 @@
|
|||||||
Dokumen Jaminan
|
Dokumen Jaminan
|
||||||
</td>
|
</td>
|
||||||
<td class="py-3 text-gray-700 text-2sm font-normal">
|
<td class="py-3 text-gray-700 text-2sm font-normal">
|
||||||
@if(isset($detail->dokumen_jaminan))
|
@if (isset($detail->dokumen_jaminan))
|
||||||
<a href="{{ route('debitur.jaminan.download',['id'=>$permohonan->debiture->id,'dokumen'=>$detail->id]) }}" class="badge badge-sm badge-outline mt-2">{{ basename($detail->dokumen_jaminan) }}
|
<a href="{{ route('debitur.jaminan.download', ['id' => $permohonan->debiture->id, 'dokumen' => $detail->id]) }}"
|
||||||
|
class="badge badge-sm badge-outline mt-2">{{ basename($detail->dokumen_jaminan) }}
|
||||||
<i class="ki-filled ki-cloud-download"></i></a>
|
<i class="ki-filled ki-cloud-download"></i></a>
|
||||||
@endif
|
@endif
|
||||||
</td>
|
</td>
|
||||||
@ -229,7 +243,7 @@
|
|||||||
Keterangan
|
Keterangan
|
||||||
</td>
|
</td>
|
||||||
<td class="py-3 text-gray-700 text-2sm font-normal">
|
<td class="py-3 text-gray-700 text-2sm font-normal">
|
||||||
{{ $detail->keterangan ?? "" }}
|
{{ $detail->keterangan ?? '' }}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@endforeach
|
@endforeach
|
||||||
@ -240,32 +254,30 @@
|
|||||||
@endforeach
|
@endforeach
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="card pb-2.5">
|
<div class="card pb-2.5">
|
||||||
<div class="card-header" id="basic_settings">
|
<div class="card-header" id="basic_settings">
|
||||||
<h3 class="card-title">
|
<h3 class="card-title">
|
||||||
Form Assignment
|
Form Assignment
|
||||||
</h3>
|
</h3>
|
||||||
<div class="flex items-center gap-2">
|
|
||||||
<a href="{{ route('penilaian.index') }}" class="btn btn-xs btn-info"><i class="ki-filled ki-exit-left"></i>
|
|
||||||
Back</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<form
|
<form
|
||||||
action="{{ isset($penilaian->permohonan_id) ? route('penilaian.update', $permohonan) : route('penilaian.store') }}"
|
action="{{ isset($penilaian->nomor_registrasi) ? route('penilaian.update', $permohonan) : route('penilaian.store') }}"
|
||||||
method="POST" class="">
|
method="POST" class="">
|
||||||
@if (isset($penilaian->permohonan_id))
|
@if (isset($penilaian->nomor_registrasi))
|
||||||
@method('PUT')
|
@method('PUT')
|
||||||
@endif
|
@endif
|
||||||
@csrf
|
@csrf
|
||||||
<div class="pl-1 lg:pl-5 xl:pl-5 grid gap-2.5 p-5">
|
<div class="pl-1 grid gap-2.5">
|
||||||
<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">
|
||||||
Penilai yang Dilakukan oleh
|
Penilai yang Dilakukan oleh
|
||||||
</label>
|
</label>
|
||||||
<input type="hidden" name="permohonan_id" value="{{ $penilaian->permohonan_id ?? $permohonan->id }}">
|
<input type="hidden" name="nomor_registrasi"
|
||||||
|
value="{{ $penilaian->nomor_registrasi ?? $permohonan->nomor_registrasi }}">
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<select
|
<select
|
||||||
class="input tomselect w-full @error('jenis_penilaian_id') border-danger bg-danger-light @enderror"
|
class="input tomselect w-full @error('jenis_penilaian_id') border-danger bg-danger-light @enderror"
|
||||||
@ -273,7 +285,7 @@
|
|||||||
<option value="">Jenis Penilaian</option>
|
<option value="">Jenis Penilaian</option>
|
||||||
|
|
||||||
@foreach ($jenisPenilaian as $item)
|
@foreach ($jenisPenilaian as $item)
|
||||||
@if (isset($penilaian->permohonan_id))
|
@if (isset($penilaian->nomor_registrasi))
|
||||||
<option value="{{ $item->id }}"
|
<option value="{{ $item->id }}"
|
||||||
{{ $penilaian->teams_id == $item->id ? 'selected' : '' }}>
|
{{ $penilaian->teams_id == $item->id ? 'selected' : '' }}>
|
||||||
{{ $item->name }}</option>
|
{{ $item->name }}</option>
|
||||||
@ -294,11 +306,11 @@
|
|||||||
</label>
|
</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<select
|
<select
|
||||||
class="input tomselect w-full @error('teams_id') border-danger bg-danger-light @enderror"
|
class="input tomselect w-full @error('teams_id') border-danger bg-danger-light @enderror"
|
||||||
name="teams_id" id="teams_id">
|
name="teams_id" id="teams_id">
|
||||||
<option value="">Pilih Tim Penilai</option>
|
<option value="">Pilih Tim Penilai</option>
|
||||||
@foreach ($teamPenilai as $item)
|
@foreach ($teamPenilai as $item)
|
||||||
@if (isset($penilaian->permohonan_id))
|
@if (isset($penilaian->nomor_registrasi))
|
||||||
<option value="{{ $item->id }}"
|
<option value="{{ $item->id }}"
|
||||||
{{ $penilaian->teams_id == $item->id ? 'selected' : '' }}>
|
{{ $penilaian->teams_id == $item->id ? 'selected' : '' }}>
|
||||||
{{ $item->regions->name }}</option>
|
{{ $item->regions->name }}</option>
|
||||||
@ -318,22 +330,14 @@
|
|||||||
Surveyor yang di tunjuk
|
Surveyor yang di tunjuk
|
||||||
</label>
|
</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<select id="user_id" name="user_id"
|
<select id="surveyor_id" name=""
|
||||||
class="input @error('user_id') border-danger bg-danger-light @enderror w-full">
|
class="input select @error('surveyor_id') border-danger bg-danger-light @enderror w-full">
|
||||||
<option value="">Pilih Penilai</option>
|
<option value="">Pilih Surveyor</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
@error('surveyor_id')
|
||||||
<label class="form-label max-w-56">
|
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||||
Surveyor dan penilai yang di tunjuk
|
@enderror
|
||||||
</label>
|
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
|
||||||
<select id="user_id" name="user_id"
|
|
||||||
class="input @error('user_id') border-danger bg-danger-light @enderror w-full">
|
|
||||||
<option value="">Pilih Penilai</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -342,13 +346,32 @@
|
|||||||
Penilai yang di tunjuk
|
Penilai yang di tunjuk
|
||||||
</label>
|
</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<select id="user_id" name="user_id"
|
<select id="penilaian_id" name="penilaian_id"
|
||||||
class="input @error('user_id') border-danger bg-danger-light @enderror w-full">
|
class="input select @error('penilaian_id') border-danger bg-danger-light @enderror w-full">
|
||||||
<option value="">Pilih Penilai</option>
|
<option value="">Pilih Penilai</option>
|
||||||
</select>
|
</select>
|
||||||
|
@error('penilaian_id')
|
||||||
|
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||||
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
|
<label class="form-label max-w-56">
|
||||||
|
Surveyor dan penilai yang di tunjuk
|
||||||
|
</label>
|
||||||
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
|
<select id="penilai_surveyor_id" name="penilai_surveyor_id"
|
||||||
|
class="input select @error('penilai_surveyor_id') border-danger bg-danger-light @enderror w-full">
|
||||||
|
<option value="">Pilih Surveyor dan Penilai</option>
|
||||||
|
</select>
|
||||||
|
@error('penilai_surveyor_id')
|
||||||
|
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<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
|
Jadwal Kunjungan
|
||||||
@ -369,42 +392,98 @@
|
|||||||
Catatan
|
Catatan
|
||||||
</label>
|
</label>
|
||||||
<div class="flex flex-wrap items-baseline w-full">
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
<textarea class="textarea @error('keterangan') border-danger bg-danger-light @enderror" rows="3" type="text"
|
<textarea class="textarea @error('keterangan') border-danger bg-danger-light @enderror" rows="3"
|
||||||
name="keterangan">{{ $penilaian->keterangan ?? '' }}</textarea>
|
type="text" name="keterangan">{{ $penilaian->keterangan ?? '' }}</textarea>
|
||||||
</div>
|
</div>
|
||||||
@error('keterangan')
|
@error('keterangan')
|
||||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||||
@enderror
|
@enderror
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex justify-end card-footer">
|
<div class="flex justify-end card-footer mt-2">
|
||||||
<button type="submit"
|
<button type="submit" class="btn btn-success">
|
||||||
@if ($permohonan->status == 'Assign') class="btn btn-success"
|
Aprove
|
||||||
@else
|
</button>
|
||||||
class="btn btn-warning" @endif>
|
|
||||||
Aproved
|
<button type="button" data-modal-toggle="#modal_revisi" class="btn btn-warning ml-3">
|
||||||
|
Revisi
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="modal" data-modal="true" id="modal_revisi">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h3 class="modal-title">
|
||||||
|
Revisi
|
||||||
|
</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('penilaian.revisi', $penilaian->nomor_registrasi ?? $permohonan->nomor_registrasi) }}" method="POST" enctype="multipart/form-data">
|
||||||
|
@csrf
|
||||||
|
@method('PUT')
|
||||||
|
|
||||||
|
<div class="pl-1 grid gap-2.5">
|
||||||
|
<input type="hidden" name="nomor_registrasi" value="{{ $penilaian->nomor_registrasi ?? $permohonan->nomor_registrasi }}">
|
||||||
|
|
||||||
|
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||||
|
<label class="form-label max-w-56">Dokumen Revisi</label>
|
||||||
|
<div class="flex flex-wrap items-baseline w-full">
|
||||||
|
<input class="file-input @error('dokumen_revisi') border-danger bg-danger-light @enderror" type="file" name="dokumen_revisi" value="">
|
||||||
|
</div>
|
||||||
|
@error('dokumen_revisi')
|
||||||
|
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<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 class="textarea @error('keterangan_revisi') border-danger bg-danger-light @enderror" rows="3" name="keterangan_revisi">{{ old('keterangan_revisi', $penilaian->keterangan ?? '') }}</textarea>
|
||||||
|
</div>
|
||||||
|
@error('keterangan')
|
||||||
|
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="modal-footer justify-end mt-2">
|
||||||
|
<div class="flex gap-4">
|
||||||
|
<button class="btn btn-light" data-modal-dismiss="true">Cancel</button>
|
||||||
|
<button class="btn btn-primary">Submit</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
|
|
||||||
@push('scripts')
|
@push('scripts')
|
||||||
<script>
|
<script>
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
let teamsSelect = document.getElementById('teams_id');
|
let teamsSelect = document.getElementById('teams_id');
|
||||||
let penilaiSelect = document.getElementById('user_id');
|
let penilaiSelect = document.getElementById('penilaian_id');
|
||||||
|
let surveyorSelect = document.getElementById('surveyor_id');
|
||||||
|
let penilaiSurveyorSelect = document.getElementById('penilai_surveyor_id');
|
||||||
|
|
||||||
// Mengambil nilai user_id dari variabel PHP
|
let selectedSurveyorId = @json($penilaian->surveyor_id ?? null);
|
||||||
let selectedUserId = @json($penilaian->user_id ?? null); // Gunakan null jika tidak ada
|
let selectedPenilaiId = @json($penilaian->penilai_id ?? null);
|
||||||
|
let selectedPenilaiSurveyorId = @json($penilaian->penilai_surveyor_id ?? null);
|
||||||
|
|
||||||
function fetchPenilai(teamId) {
|
function fetchPenilai(teamId) {
|
||||||
penilaiSelect.innerHTML = '';
|
penilaiSelect.innerHTML = '<option value="">Pilih Penilai</option>';
|
||||||
|
surveyorSelect.innerHTML = '<option value="">Pilih Surveyor</option>';
|
||||||
|
penilaiSurveyorSelect.innerHTML = '<option value="">Pilih Penilai Surveyor</option>';
|
||||||
|
|
||||||
if (teamId) {
|
if (teamId) {
|
||||||
fetch(`/penilaian/getUserTeams/${teamId}`)
|
fetch(`/penilaian/getUserTeams/${teamId}`)
|
||||||
@ -412,35 +491,60 @@
|
|||||||
.then(data => {
|
.then(data => {
|
||||||
if (data && data.length > 0) {
|
if (data && data.length > 0) {
|
||||||
data.forEach((user) => {
|
data.forEach((user) => {
|
||||||
let option = document.createElement('option');
|
let optionPenilai = document.createElement('option');
|
||||||
option.value = user.id;
|
let optionSurveyor = document.createElement('option');
|
||||||
option.text = user.name;
|
let optionPenilaiSurveyor = document.createElement('option');
|
||||||
|
|
||||||
if (selectedUserId && selectedUserId == user.id) {
|
optionPenilai.value = user.id;
|
||||||
option.selected = true;
|
optionSurveyor.value = user.id;
|
||||||
|
optionPenilaiSurveyor.value = user.id;
|
||||||
|
|
||||||
|
optionPenilai.text = user.name;
|
||||||
|
optionSurveyor.text = user.name;
|
||||||
|
optionPenilaiSurveyor.text = user.name;
|
||||||
|
|
||||||
|
// Tambahkan pengguna ke semua select
|
||||||
|
penilaiSelect.appendChild(optionPenilai);
|
||||||
|
surveyorSelect.appendChild(optionSurveyor);
|
||||||
|
penilaiSurveyorSelect.appendChild(optionPenilaiSurveyor);
|
||||||
|
|
||||||
|
// Jika dalam mode edit dan data sudah ada, set opsi yang sesuai sebagai selected
|
||||||
|
if (selectedPenilaiId && selectedPenilaiId == user.id) {
|
||||||
|
optionPenilai.selected = true;
|
||||||
|
}
|
||||||
|
if (selectedSurveyorId && selectedSurveyorId == user.id) {
|
||||||
|
optionSurveyor.selected = true;
|
||||||
|
}
|
||||||
|
if (selectedPenilaiSurveyorId && selectedPenilaiSurveyorId == user
|
||||||
|
.id) {
|
||||||
|
optionPenilaiSurveyor.selected = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
penilaiSelect.appendChild(option);
|
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
let option = document.createElement('option');
|
let noUserOption = document.createElement('option');
|
||||||
option.value = '';
|
noUserOption.value = '';
|
||||||
option.text = 'Tidak ada penilai.';
|
noUserOption.text = 'Tidak ada pengguna yang sesuai.';
|
||||||
penilaiSelect.appendChild(option);
|
penilaiSelect.appendChild(noUserOption);
|
||||||
|
surveyorSelect.appendChild(noUserOption.cloneNode(true));
|
||||||
|
penilaiSurveyorSelect.appendChild(noUserOption.cloneNode(true));
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
console.error('Error fetching team members:', error);
|
console.error('Error fetching team members:', error);
|
||||||
let option = document.createElement('option');
|
let errorOption = document.createElement('option');
|
||||||
option.value = '';
|
errorOption.value = '';
|
||||||
option.text = 'Terjadi kesalahan.';
|
errorOption.text = 'Terjadi kesalahan.';
|
||||||
penilaiSelect.appendChild(option);
|
penilaiSelect.appendChild(errorOption);
|
||||||
|
surveyorSelect.appendChild(errorOption.cloneNode(true));
|
||||||
|
penilaiSurveyorSelect.appendChild(errorOption.cloneNode(true));
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
let option = document.createElement('option');
|
let defaultOption = document.createElement('option');
|
||||||
option.value = '';
|
defaultOption.value = '';
|
||||||
option.text = 'Pilih tim terlebih dahulu.';
|
defaultOption.text = 'Pilih tim terlebih dahulu.';
|
||||||
penilaiSelect.appendChild(option);
|
penilaiSelect.appendChild(defaultOption);
|
||||||
|
surveyorSelect.appendChild(defaultOption.cloneNode(true));
|
||||||
|
penilaiSurveyorSelect.appendChild(defaultOption.cloneNode(true));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -455,4 +559,15 @@
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
|
|
||||||
|
@if($errors->any())
|
||||||
|
var modal = new Modal(document.getElementById('modal_revisi'));
|
||||||
|
modal.show();
|
||||||
|
@endif
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
@endpush
|
@endpush
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class=" card-grid min-w-full" data-datatable="false" data-datatable-page-size="5" data-datatable-state-save="false" id="permohonan-table" data-api-url="{{ route('permohonan.datatables') }}">
|
<div class=" card-grid min-w-full" data-datatable="false" data-datatable-page-size="5" data-datatable-state-save="false" id="permohonan-table" data-api-url="{{ route('penilaian.datatables') }}">
|
||||||
|
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="scrollable-x-auto">
|
<div class="scrollable-x-auto">
|
||||||
|
@ -299,9 +299,9 @@
|
|||||||
$trail->parent('basicdata');
|
$trail->parent('basicdata');
|
||||||
$trail->push('Penilaian', route('penilaian.index'));
|
$trail->push('Penilaian', route('penilaian.index'));
|
||||||
});
|
});
|
||||||
Breadcrumbs::for('penilaian.edit', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('penilaian.assignment', function (BreadcrumbTrail $trail) {
|
||||||
$trail->parent('penilaian');
|
$trail->parent('penilaian');
|
||||||
$trail->push('Buat Penilaian');
|
$trail->push('Assignment');
|
||||||
});
|
});
|
||||||
|
|
||||||
Breadcrumbs::for('authorization.index', function (BreadcrumbTrail $trail) {
|
Breadcrumbs::for('authorization.index', function (BreadcrumbTrail $trail) {
|
||||||
|
@ -268,8 +268,9 @@
|
|||||||
Route::get('/getUserTeams/{id}', [PenilaianController::class, 'getUserTeams']);
|
Route::get('/getUserTeams/{id}', [PenilaianController::class, 'getUserTeams']);
|
||||||
|
|
||||||
Route::get('/', [PenilaianController::class, 'index'])->name('index');
|
Route::get('/', [PenilaianController::class, 'index'])->name('index');
|
||||||
Route::get('{id}/edit', [PenilaianController::class, 'edit'])->name('edit');
|
Route::get('{id}/assignment', [PenilaianController::class, 'assignment'])->name('assignment');
|
||||||
Route::put('{id}', [PenilaianController::class, 'update'])->name('update');
|
Route::put('{id}', [PenilaianController::class, 'update'])->name('update');
|
||||||
|
Route::put('{nomor_registrasi}', [PenilaianController::class, 'revisi'])->name('revisi');
|
||||||
Route::post('create', [PenilaianController::class, 'create'])->name('create');
|
Route::post('create', [PenilaianController::class, 'create'])->name('create');
|
||||||
Route::post('store', [PenilaianController::class, 'store'])->name('store');
|
Route::post('store', [PenilaianController::class, 'store'])->name('store');
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user