Menyelesaikan fitur Basic Data KJPP untuk menambahkan lebih dari satu email kantor, pic reviewer, pic admin, pic marketing
This commit is contained in:
@@ -5,8 +5,6 @@ namespace Modules\Lpj\Http\Controllers;
|
||||
use Throwable;
|
||||
use Illuminate\Http\Request;
|
||||
use Modules\Lpj\Models\KJPP;
|
||||
use Illuminate\Http\Response;
|
||||
use Modules\Lpj\Models\Branch;
|
||||
use Modules\Location\Models\City;
|
||||
use Modules\Lpj\Models\IjinUsaha;
|
||||
use Modules\Lpj\Exports\KJPPExport;
|
||||
@@ -57,9 +55,80 @@ class KJPPController extends Controller
|
||||
{
|
||||
$validated = $request->validated();
|
||||
|
||||
dd($validated);
|
||||
|
||||
if ($validated) {
|
||||
$detailEmailKantor = [];
|
||||
$detailNamaPicReviewer = [];
|
||||
$detailNomorHpPicReviewer = [];
|
||||
$detailNamaPicAdmin = [];
|
||||
$detailNomorHpPicAdmin = [];
|
||||
$detailNamaPicMarketing = [];
|
||||
$detailNomorHpPicMarketing = [];
|
||||
|
||||
$emailKantor = $request->input('detail_email_kantor.email_kantor', []);
|
||||
$namaPicReviewer = $request->input('detail_nama_pic_reviewer.nama_pic_reviewer', []);
|
||||
$nomorHpPicReviewer = $request->input('detail_nomor_hp_pic_reviewer.nomor_hp_pic_reviewer', []);
|
||||
$namaPicAdmin = $request->input('detail_nama_pic_admin.nama_pic_admin', []);
|
||||
$nomorHpPicAdmin = $request->input('detail_nomor_hp_pic_admin.nomor_hp_pic_admin', []);
|
||||
$namaPicMarketing = $request->input('detail_nama_pic_marketing.nama_pic_marketing', []);
|
||||
$nomorHpPicMarketing = $request->input('detail_nomor_hp_pic_marketing.nomor_hp_pic_marketing', []);
|
||||
|
||||
foreach ($emailKantor as $value) {
|
||||
$detailEmailKantor[] = [
|
||||
'email_kantor' => $value
|
||||
];
|
||||
}
|
||||
// Encode to JSON and store
|
||||
$detailEmailKantorJson = json_encode($detailEmailKantor);
|
||||
|
||||
// Process detail_nama_pic_reviewer
|
||||
foreach ($namaPicReviewer as $value) {
|
||||
$detailNamaPicReviewer[] = [
|
||||
'nama_pic_reviewer' => $value
|
||||
];
|
||||
}
|
||||
$detailNamaPicReviewerJson = json_encode($detailNamaPicReviewer);
|
||||
|
||||
// Process detail_nomor_hp_pic_reviewer
|
||||
foreach ($nomorHpPicReviewer as $value) {
|
||||
$detailNomorHpPicReviewer[] = [
|
||||
'nomor_hp_pic_reviewer' => $value
|
||||
];
|
||||
}
|
||||
$detailNomorHpPicReviewerJson = json_encode($detailNomorHpPicReviewer);
|
||||
|
||||
// Process detail_nama_pic_admin
|
||||
foreach ($namaPicAdmin as $value) {
|
||||
$detailNamaPicAdmin[] = [
|
||||
'nama_pic_admin' => $value
|
||||
];
|
||||
}
|
||||
$detailNamaPicAdminJson = json_encode($detailNamaPicAdmin);
|
||||
|
||||
// Process detail_nomor_hp_pic_admin
|
||||
foreach ($nomorHpPicAdmin as $value) {
|
||||
$detailNomorHpPicAdmin[] = [
|
||||
'nomor_hp_pic_admin' => $value
|
||||
];
|
||||
}
|
||||
$detailNomorHpPicAdminJson = json_encode($detailNomorHpPicAdmin);
|
||||
|
||||
// Process detail_nama_pic_marketing
|
||||
foreach ($namaPicMarketing as $value) {
|
||||
$detailNamaPicMarketing[] = [
|
||||
'nama_pic_marketing' => $value
|
||||
];
|
||||
}
|
||||
$detailNamaPicMarketingJson = json_encode($detailNamaPicMarketing);
|
||||
|
||||
// Process detail_nomor_hp_pic_marketing
|
||||
foreach ($nomorHpPicMarketing as $value) {
|
||||
$detailNomorHpPicMarketing[] = [
|
||||
'nomor_hp_pic_marketing' => $value
|
||||
];
|
||||
}
|
||||
$detailNomorHpPicMarketingJson = json_encode($detailNomorHpPicMarketing);
|
||||
|
||||
|
||||
$file = $request->file('attachment');
|
||||
$filename = $file ? time() . '.' . $file->getClientOriginalExtension() : 'default.pdf';
|
||||
|
||||
@@ -71,9 +140,20 @@ class KJPPController extends Controller
|
||||
Storage::copy('public/test/default.pdf', 'public/uploads_pdf/' . $filename);
|
||||
}
|
||||
|
||||
$validated['detail_email_kantor'] = $detailEmailKantorJson;
|
||||
$validated['detail_nama_pic_reviewer'] = $detailNamaPicReviewerJson;
|
||||
$validated['detail_nomor_hp_pic_reviewer'] = $detailNomorHpPicReviewerJson;
|
||||
$validated['detail_nama_pic_admin'] = $detailNamaPicAdminJson;
|
||||
$validated['detail_nomor_hp_pic_admin'] = $detailNomorHpPicAdminJson;
|
||||
$validated['detail_nama_pic_marketing'] = $detailNamaPicMarketingJson;
|
||||
$validated['detail_nomor_hp_pic_marketing'] = $detailNomorHpPicMarketingJson;
|
||||
$validated['ijin_usaha_id'] = json_encode($validated['ijin_usaha_id']);
|
||||
$validated['jenis_aset_id'] = json_encode($validated['jenis_aset_id']);
|
||||
// Tambahkan nama file ke data yang divalidasi
|
||||
$validated['attachment'] = $filename;
|
||||
|
||||
// dd($validated);
|
||||
|
||||
// Simpan data ke database
|
||||
KJPP::create($validated);
|
||||
|
||||
@@ -100,8 +180,36 @@ class KJPPController extends Controller
|
||||
$cities = City::where('code', $kjpp->city_code)->get();
|
||||
$districts = District::where('code', $kjpp->district_code)->get();
|
||||
$villages = Village::where('code', $kjpp->village_code)->get();
|
||||
// dd($branches);
|
||||
return view('lpj::kjpp.show', compact('jenis_jaminan', 'ijin_usahas', 'ijin_usaha', 'kjpp', 'provinces', 'cities', 'districts', 'villages'));
|
||||
$detailEmailKantor = json_decode($kjpp->detail_email_kantor);
|
||||
$detailNamaPicReviewer = json_decode($kjpp->detail_nama_pic_reviewer);
|
||||
$detailNomorHpPicReviewer = json_decode($kjpp->detail_nomor_hp_pic_reviewer);
|
||||
$detailNamaPicAdmin = json_decode($kjpp->detail_nama_pic_admin);
|
||||
$detailNomorHpPicAdmin = json_decode($kjpp->detail_nomor_hp_pic_admin);
|
||||
$detailNamaPicMarketing = json_decode($kjpp->detail_nama_pic_marketing);
|
||||
$detailNomorHpPicMarketing = json_decode($kjpp->detail_nomor_hp_pic_marketing);
|
||||
|
||||
$detailJoinPicReviewer = json_encode(array_map(function ($nama, $nomor) {
|
||||
return [
|
||||
'nama_pic_reviewer' => $nama->nama_pic_reviewer,
|
||||
'nomor_hp_pic_reviewer' => $nomor->nomor_hp_pic_reviewer
|
||||
];
|
||||
}, $detailNamaPicReviewer, $detailNomorHpPicReviewer));
|
||||
|
||||
$detailJoinPicAdmin = json_encode(array_map(function ($nama, $nomor) {
|
||||
return [
|
||||
'nama_pic_admin' => $nama->nama_pic_admin,
|
||||
'nomor_hp_pic_admin' => $nomor->nomor_hp_pic_admin
|
||||
];
|
||||
}, $detailNamaPicAdmin, $detailNomorHpPicAdmin));
|
||||
|
||||
$detailJoinPicMarketing = json_encode(array_map(function ($nama, $nomor) {
|
||||
return [
|
||||
'nama_pic_marketing' => $nama->nama_pic_marketing,
|
||||
'nomor_hp_pic_marketing' => $nomor->nomor_hp_pic_marketing
|
||||
];
|
||||
}, $detailNamaPicMarketing, $detailNomorHpPicMarketing));
|
||||
|
||||
return view('lpj::kjpp.show', compact('jenis_jaminan', 'ijin_usahas', 'ijin_usaha', 'kjpp', 'provinces', 'cities', 'districts', 'villages', 'detailEmailKantor', 'detailJoinPicReviewer', 'detailJoinPicAdmin', 'detailJoinPicMarketing'));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -116,8 +224,36 @@ class KJPPController extends Controller
|
||||
$cities = City::where('province_code', $kjpp->province_code)->get();
|
||||
$districts = District::where('city_code', $kjpp->city_code)->get();
|
||||
$villages = Village::where('district_code', $kjpp->district_code)->get();
|
||||
$detailEmailKantor = json_decode($kjpp->detail_email_kantor);
|
||||
$detailNamaPicReviewer = json_decode($kjpp->detail_nama_pic_reviewer);
|
||||
$detailNomorHpPicReviewer = json_decode($kjpp->detail_nomor_hp_pic_reviewer);
|
||||
$detailNamaPicAdmin = json_decode($kjpp->detail_nama_pic_admin);
|
||||
$detailNomorHpPicAdmin = json_decode($kjpp->detail_nomor_hp_pic_admin);
|
||||
$detailNamaPicMarketing = json_decode($kjpp->detail_nama_pic_marketing);
|
||||
$detailNomorHpPicMarketing = json_decode($kjpp->detail_nomor_hp_pic_marketing);
|
||||
|
||||
return view('lpj::kjpp.create', compact('kjpp', 'ijin_usaha', 'jenis_aset', 'provinces', 'cities', 'districts', 'villages'));
|
||||
$detailJoinPicReviewer = json_encode(array_map(function ($nama, $nomor) {
|
||||
return [
|
||||
'nama_pic_reviewer' => $nama->nama_pic_reviewer,
|
||||
'nomor_hp_pic_reviewer' => $nomor->nomor_hp_pic_reviewer
|
||||
];
|
||||
}, $detailNamaPicReviewer, $detailNomorHpPicReviewer));
|
||||
|
||||
$detailJoinPicAdmin = json_encode(array_map(function ($nama, $nomor) {
|
||||
return [
|
||||
'nama_pic_admin' => $nama->nama_pic_admin,
|
||||
'nomor_hp_pic_admin' => $nomor->nomor_hp_pic_admin
|
||||
];
|
||||
}, $detailNamaPicAdmin, $detailNomorHpPicAdmin));
|
||||
|
||||
$detailJoinPicMarketing = json_encode(array_map(function ($nama, $nomor) {
|
||||
return [
|
||||
'nama_pic_marketing' => $nama->nama_pic_marketing,
|
||||
'nomor_hp_pic_marketing' => $nomor->nomor_hp_pic_marketing
|
||||
];
|
||||
}, $detailNamaPicMarketing, $detailNomorHpPicMarketing));
|
||||
|
||||
return view('lpj::kjpp.create', compact('kjpp', 'ijin_usaha', 'jenis_aset', 'provinces', 'cities', 'districts', 'villages', 'detailJoinPicReviewer', 'detailJoinPicAdmin', 'detailJoinPicMarketing', 'detailEmailKantor'));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -127,7 +263,82 @@ class KJPPController extends Controller
|
||||
{
|
||||
$validated = $request->validated();
|
||||
|
||||
// dd($validated);
|
||||
|
||||
if ($validated) {
|
||||
$detailEmailKantor = [];
|
||||
$detailNamaPicReviewer = [];
|
||||
$detailNomorHpPicReviewer = [];
|
||||
$detailNamaPicAdmin = [];
|
||||
$detailNomorHpPicAdmin = [];
|
||||
$detailNamaPicMarketing = [];
|
||||
$detailNomorHpPicMarketing = [];
|
||||
|
||||
$emailKantor = $request->input('detail_email_kantor.email_kantor', []);
|
||||
$namaPicReviewer = $request->input('detail_nama_pic_reviewer.nama_pic_reviewer', []);
|
||||
$nomorHpPicReviewer = $request->input('detail_nomor_hp_pic_reviewer.nomor_hp_pic_reviewer', []);
|
||||
$namaPicAdmin = $request->input('detail_nama_pic_admin.nama_pic_admin', []);
|
||||
$nomorHpPicAdmin = $request->input('detail_nomor_hp_pic_admin.nomor_hp_pic_admin', []);
|
||||
$namaPicMarketing = $request->input('detail_nama_pic_marketing.nama_pic_marketing', []);
|
||||
$nomorHpPicMarketing = $request->input('detail_nomor_hp_pic_marketing.nomor_hp_pic_marketing', []);
|
||||
|
||||
foreach ($emailKantor as $value) {
|
||||
$detailEmailKantor[] = [
|
||||
'email_kantor' => $value
|
||||
];
|
||||
}
|
||||
// Encode to JSON and store
|
||||
$detailEmailKantorJson = json_encode($detailEmailKantor);
|
||||
|
||||
// Process detail_nama_pic_reviewer
|
||||
foreach ($namaPicReviewer as $value) {
|
||||
$detailNamaPicReviewer[] = [
|
||||
'nama_pic_reviewer' => $value
|
||||
];
|
||||
}
|
||||
$detailNamaPicReviewerJson = json_encode($detailNamaPicReviewer);
|
||||
|
||||
// Process detail_nomor_hp_pic_reviewer
|
||||
foreach ($nomorHpPicReviewer as $value) {
|
||||
$detailNomorHpPicReviewer[] = [
|
||||
'nomor_hp_pic_reviewer' => $value
|
||||
];
|
||||
}
|
||||
$detailNomorHpPicReviewerJson = json_encode($detailNomorHpPicReviewer);
|
||||
|
||||
// Process detail_nama_pic_admin
|
||||
foreach ($namaPicAdmin as $value) {
|
||||
$detailNamaPicAdmin[] = [
|
||||
'nama_pic_admin' => $value
|
||||
];
|
||||
}
|
||||
$detailNamaPicAdminJson = json_encode($detailNamaPicAdmin);
|
||||
|
||||
// Process detail_nomor_hp_pic_admin
|
||||
foreach ($nomorHpPicAdmin as $value) {
|
||||
$detailNomorHpPicAdmin[] = [
|
||||
'nomor_hp_pic_admin' => $value
|
||||
];
|
||||
}
|
||||
$detailNomorHpPicAdminJson = json_encode($detailNomorHpPicAdmin);
|
||||
|
||||
// Process detail_nama_pic_marketing
|
||||
foreach ($namaPicMarketing as $value) {
|
||||
$detailNamaPicMarketing[] = [
|
||||
'nama_pic_marketing' => $value
|
||||
];
|
||||
}
|
||||
$detailNamaPicMarketingJson = json_encode($detailNamaPicMarketing);
|
||||
|
||||
// Process detail_nomor_hp_pic_marketing
|
||||
foreach ($nomorHpPicMarketing as $value) {
|
||||
$detailNomorHpPicMarketing[] = [
|
||||
'nomor_hp_pic_marketing' => $value
|
||||
];
|
||||
}
|
||||
$detailNomorHpPicMarketingJson = json_encode($detailNomorHpPicMarketing);
|
||||
|
||||
|
||||
$file = $request->file('attachment');
|
||||
$filename = $file ? time() . '.' . $file->getClientOriginalExtension() : null;
|
||||
|
||||
@@ -147,6 +358,16 @@ class KJPPController extends Controller
|
||||
$validated['attachment'] = $kjpp->attachment ?? 'default.pdf';
|
||||
}
|
||||
|
||||
$validated['detail_email_kantor'] = $detailEmailKantorJson;
|
||||
$validated['detail_nama_pic_reviewer'] = $detailNamaPicReviewerJson;
|
||||
$validated['detail_nomor_hp_pic_reviewer'] = $detailNomorHpPicReviewerJson;
|
||||
$validated['detail_nama_pic_admin'] = $detailNamaPicAdminJson;
|
||||
$validated['detail_nomor_hp_pic_admin'] = $detailNomorHpPicAdminJson;
|
||||
$validated['detail_nama_pic_marketing'] = $detailNamaPicMarketingJson;
|
||||
$validated['detail_nomor_hp_pic_marketing'] = $detailNomorHpPicMarketingJson;
|
||||
$validated['ijin_usaha_id'] = json_encode($validated['ijin_usaha_id']);
|
||||
$validated['jenis_aset_id'] = json_encode($validated['jenis_aset_id']);
|
||||
|
||||
// Perbarui data di database
|
||||
KJPP::where('id', $id)->update($validated);
|
||||
|
||||
|
||||
@@ -23,24 +23,24 @@ class KJPPRequest extends FormRequest
|
||||
'postal_code' => 'nullable|numeric',
|
||||
'nomor_telepon_kantor' => 'nullable|numeric|digits_between:8,15',
|
||||
'email_kantor' => 'required|email',
|
||||
'detail_email_kantor' => 'nullable|email',
|
||||
'detail_email_kantor' => 'nullable',
|
||||
'nama_pimpinan' => 'required|string|not_regex:/^\d+$/|max:255',
|
||||
'nomor_hp_pimpinan' => 'required|numeric|digits_between:10,15',
|
||||
'nama_pic_reviewer' => 'nullable|string|not_regex:/^\d+$/|max:255',
|
||||
// 'detail_nama_pic_reviewer' => 'nullable|string|not_regex:/^\d+$/|max:255',
|
||||
'detail_nama_pic_reviewer' => 'nullable',
|
||||
'nomor_hp_pic_reviewer' => 'nullable|numeric|digits_between:10,15',
|
||||
// 'detail_nomor_hp_pic_reviewer' => 'nullable|numeric|digits_between:10,15',
|
||||
'detail_nomor_hp_pic_reviewer' => 'nullable',
|
||||
'nama_pic_admin' => 'nullable|string|not_regex:/^\d+$/|max:255',
|
||||
// 'detail_nama_pic_admin' => 'nullable|string|not_regex:/^\d+$/|max:255',
|
||||
'detail_nama_pic_admin' => 'nullable',
|
||||
'nomor_hp_pic_admin' => 'nullable|numeric|digits_between:10,15',
|
||||
// 'detail_nomor_hp_pic_admin' => 'nullable|numeric|digits_between:10,15',
|
||||
'detail_nomor_hp_pic_admin' => 'nullable',
|
||||
'nama_pic_marketing' => 'nullable|string|not_regex:/^\d+$/|max:255',
|
||||
// 'detail_nama_pic_marketing' => 'nullable|string|not_regex:/^\d+$/|max:255',
|
||||
'detail_nama_pic_marketing' => 'nullable',
|
||||
'nomor_hp_pic_marketing' => 'nullable|numeric|digits_between:10,15',
|
||||
// 'detail_nomor_hp_pic_marketing' => 'nullable|numeric|digits_between:10,15',
|
||||
'ijin_usaha_id' => 'nullable|array',
|
||||
'detail_nomor_hp_pic_marketing' => 'nullable',
|
||||
'ijin_usaha_id' => 'required|array',
|
||||
'ijin_usaha_id.*' => 'exists:ijin_usaha,code',
|
||||
'jenis_aset_id' => 'nullable|array',
|
||||
'jenis_aset_id' => 'required|array',
|
||||
'jenis_aset_id.*' => 'exists:jenis_jaminan,code',
|
||||
'attachment' => 'nullable|mimes:pdf|max:1024'
|
||||
];
|
||||
@@ -81,126 +81,24 @@ class KJPPRequest extends FormRequest
|
||||
'nomor_telepon_kantor.digits_between' => 'Nomor Telepon Kantor minimum 8 digit dan maksimum 15 digit!',
|
||||
'email_kantor.required' => 'Email Kantor Wajib diisi!',
|
||||
'email_kantor.email' => 'Email Kantor tidak valid!',
|
||||
// 'detail_email_kantor.email' => 'Email Kantor tidak valid!',
|
||||
'nama_pimpinan.required' => 'Nama Pimpinan Wajib diisi!',
|
||||
'nama_pimpinan.not_regex' => 'Nama Pimpinan harus berupa huruf!',
|
||||
'nomor_hp_pimpinan.required' => 'Nomor HP Pimpinan Wajib diisi!',
|
||||
'nomor_hp_pimpinan.numeric' => 'Nomor HP Pimpinan harus berupa angka!',
|
||||
'nomor_hp_pimpinan.digits_between' => 'Nomor HP Pimpinan minimum 10 digit dan maksimum 15 digit!',
|
||||
'nama_pic_reviewer.not_regex' => 'Nama PIC Reviewer harus berupa huruf!',
|
||||
// 'detail_nama_pic_reviewer.not_regex' => 'Nama PIC Reviewer harus berupa huruf!',
|
||||
'nomor_hp_pic_reviewer.numeric' => 'Nomor HP PIC Reviewer harus berupa angka!',
|
||||
// 'detail_nomor_hp_pic_reviewer.numeric' => 'Nomor HP PIC Reviewer harus berupa angka!',
|
||||
'nomor_hp_pic_reviewer.digits_between' => 'Nomor HP PIC Reviewer minimum 10 digit dan maksimum 15 digit!',
|
||||
// 'detail_nomor_hp_pic_reviewer.digits_between' => 'Nomor HP PIC Reviewer minimum 10 digit dan maksimum 15 digit!',
|
||||
'nama_pic_admin.not_regex' => 'Nama PIC Admin harus berupa huruf!',
|
||||
// 'detail_nama_pic_admin.not_regex' => 'Nama PIC Admin harus berupa huruf!',
|
||||
'nomor_hp_pic_admin.numeric' => 'Nomor HP PIC Admin harus berupa angka!',
|
||||
// 'detail_nomor_hp_pic_admin.numeric' => 'Nomor HP PIC Admin harus berupa angka!',
|
||||
'nomor_hp_pic_admin.digits_between' => 'Nomor HP PIC Admin minimum 10 digit dan maksimum 15 digit!',
|
||||
// 'detail_nomor_hp_pic_admin.digits_between' => 'Nomor HP PIC Admin minimum 10 digit dan maksimum 15 digit!',
|
||||
'nama_pic_marketing.not_regex' => 'Nama PIC Marketing harus berupa huruf!',
|
||||
// 'detail_nama_pic_marketing.not_regex' => 'Nama PIC Marketing harus berupa huruf!',
|
||||
'nomor_hp_pic_marketing.numeric' => 'Nomor HP PIC Marketing harus berupa angka!',
|
||||
// 'detail_nomor_hp_pic_marketing.numeric' => 'Nomor HP PIC Marketing harus berupa angka!',
|
||||
'nomor_hp_pic_marketing.digits_between' => 'Nomor HP PIC Marketing minimum 10 digit dan maksimum 15 digit!',
|
||||
// 'detail_nomor_hp_pic_marketing.digits_between' => 'Nomor HP PIC Marketing minimum 10 digit dan maksimum 15 digit!',
|
||||
'ijin_usaha_id.required' => 'Ijin Usaha Wajib diisi!',
|
||||
'ijin_usaha_id.min' => 'Ijin Usaha Wajib diisi minimal satu atau lebih!',
|
||||
'jenis_aset_id.required' => 'Jenis Aset Wajib diisi!',
|
||||
'jenis_aset_id.min' => 'Jenis Aset Wajib diisi minimal satu atau lebih!',
|
||||
'attachment.mimes' => 'Attachment harus berformat pdf!',
|
||||
'attachment.max' => 'Attachment berukuran maksimum 1 MB!',
|
||||
];
|
||||
}
|
||||
|
||||
public function prepareForValidation()
|
||||
{
|
||||
$detailEmailKantor = [];
|
||||
$detailNamaPicReviewer = [];
|
||||
$detailNomorHpPicReviewer = [];
|
||||
$detailNamaPicAdmin = [];
|
||||
$detailNomorHpPicAdmin = [];
|
||||
$detailNamaPicMarketing = [];
|
||||
$detailNomorHpPicMarketing = [];
|
||||
|
||||
// Get input data with safe default values
|
||||
$emailKantor = $this->input('detail_email_kantor.email_kantor', []);
|
||||
$namaPicReviewer = $this->input('detail_nama_pic_reviewer.nama_pic_reviewer', []);
|
||||
$nomorHpPicReviewer = $this->input('detail_nomor_hp_pic_reviewer.nomor_hp_pic_reviewer', []);
|
||||
$namaPicAdmin = $this->input('detail_nama_pic_admin.nama_pic_admin', []);
|
||||
$nomorHpPicAdmin = $this->input('detail_nomor_hp_pic_admin.nomor_hp_pic_admin', []);
|
||||
$namaPicMarketing = $this->input('detail_nama_pic_marketing.nama_pic_marketing', []);
|
||||
$nomorHpPicMarketing = $this->input('detail_nomor_hp_pic_marketing.nomor_hp_pic_marketing', []);
|
||||
|
||||
foreach ($emailKantor as $value) {
|
||||
$detailEmailKantor[] = [
|
||||
'email_kantor' => $value
|
||||
];
|
||||
}
|
||||
|
||||
$this->merge([
|
||||
'detail_email_kantor' => json_encode($detailEmailKantor),
|
||||
]);
|
||||
|
||||
foreach ($namaPicReviewer as $value) {
|
||||
$detailNamaPicReviewer[] = [
|
||||
'nama_pic_reviewer' => $value
|
||||
];
|
||||
}
|
||||
|
||||
$this->merge([
|
||||
'detail_nama_pic_reviewer' => json_encode($detailNamaPicReviewer),
|
||||
]);
|
||||
|
||||
foreach ($nomorHpPicReviewer as $value) {
|
||||
$detailNomorHpPicReviewer[] = [
|
||||
'nomor_hp_pic_reviewer' => $value
|
||||
];
|
||||
}
|
||||
|
||||
$this->merge([
|
||||
'detail_nomor_hp_pic_reviewer' => json_encode($detailNomorHpPicReviewer),
|
||||
]);
|
||||
|
||||
foreach ($namaPicAdmin as $value) {
|
||||
$detailNamaPicAdmin[] = [
|
||||
'nama_pic_admin' => $value
|
||||
];
|
||||
}
|
||||
|
||||
$this->merge([
|
||||
'detail_nama_pic_admin' => json_encode($detailNamaPicAdmin),
|
||||
]);
|
||||
|
||||
foreach ($nomorHpPicAdmin as $value) {
|
||||
$detailNomorHpPicAdmin[] = [
|
||||
'nomor_hp_pic_admin' => $value
|
||||
];
|
||||
}
|
||||
|
||||
$this->merge([
|
||||
'detail_nomor_hp_pic_admin' => json_encode($detailNomorHpPicAdmin),
|
||||
]);
|
||||
|
||||
foreach ($namaPicMarketing as $value) {
|
||||
$detailNamaPicMarketing[] = [
|
||||
'nama_pic_marketing' => $value
|
||||
];
|
||||
}
|
||||
|
||||
$this->merge([
|
||||
'detail_nama_pic_marketing' => json_encode($detailNamaPicMarketing),
|
||||
]);
|
||||
|
||||
foreach ($nomorHpPicMarketing as $value) {
|
||||
$detailNomorHpPicMarketing[] = [
|
||||
'nomor_hp_pic_marketing' => $value
|
||||
];
|
||||
}
|
||||
|
||||
$this->merge([
|
||||
'detail_nomor_hp_pic_marketing' => json_encode($detailNomorHpPicMarketing),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,36 +18,5 @@ class KJPP extends Model
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*/
|
||||
protected $fillable = [
|
||||
'code',
|
||||
'name',
|
||||
'jenis_kantor',
|
||||
'nomor_ijin_usaha',
|
||||
'province_code',
|
||||
'city_code',
|
||||
'district_code',
|
||||
'village_code',
|
||||
'address',
|
||||
'postal_code',
|
||||
'nomor_telepon_kantor',
|
||||
'email_kantor',
|
||||
'detail_email_kantor',
|
||||
'nama_pimpinan',
|
||||
'nomor_hp_pimpinan',
|
||||
'nama_pic_reviewer',
|
||||
'detail_nama_pic_reviewer',
|
||||
'nomor_hp_pic_reviewer',
|
||||
'detail_nomor_hp_pic_reviewer',
|
||||
'nama_pic_admin',
|
||||
'detail_nama_pic_admin',
|
||||
'nomor_hp_pic_admin',
|
||||
'detail_nomor_hp_pic_admin',
|
||||
'nama_pic_marketing',
|
||||
'detail_nama_pic_marketing',
|
||||
'nomor_hp_pic_marketing',
|
||||
'detail_nomor_hp_pic_marketing',
|
||||
'ijin_usaha_id',
|
||||
'jenis_aset_id',
|
||||
'attachment',
|
||||
];
|
||||
protected $guarded = ['id'];
|
||||
}
|
||||
|
||||
@@ -25,14 +25,21 @@ return new class extends Migration
|
||||
$table->string('postal_code')->nullable();
|
||||
$table->string('nomor_telepon_kantor')->nullable();
|
||||
$table->string('email_kantor');
|
||||
$table->string('detail_email_kantor')->nullable();
|
||||
$table->string('nama_pimpinan');
|
||||
$table->string('nomor_hp_pimpinan');
|
||||
$table->string('nama_pic_reviewer')->nullable();
|
||||
$table->string('detail_nama_pic_reviewer')->nullable();
|
||||
$table->string('nomor_hp_pic_reviewer')->nullable();
|
||||
$table->string('detail_nomor_hp_pic_reviewer')->nullable();
|
||||
$table->string('nama_pic_admin')->nullable();
|
||||
$table->string('detail_nama_pic_admin')->nullable();
|
||||
$table->string('nomor_hp_pic_admin')->nullable();
|
||||
$table->string('detail_nomor_hp_pic_admin')->nullable();
|
||||
$table->string('nama_pic_marketing')->nullable();
|
||||
$table->string('detail_nama_pic_marketing')->nullable();
|
||||
$table->string('nomor_hp_pic_marketing')->nullable();
|
||||
$table->string('detail_nomor_hp_pic_marketing')->nullable();
|
||||
$table->string('ijin_usaha_id');
|
||||
$table->string('jenis_aset_id');
|
||||
$table->string('attachment')->nullable();
|
||||
|
||||
@@ -15,6 +15,7 @@ return new class extends Migration
|
||||
$table->id();
|
||||
$table->string('name');
|
||||
$table->string('code');
|
||||
$table->unsignedBigInteger('kategori_jenis_aset_id'); // Add this line
|
||||
$table->foreign('kategori_jenis_aset_id')->references('id')->on('kategori_jenis_aset');
|
||||
$table->boolean('status')->default(true);
|
||||
$table->char('authorized_status', 1)->nullable();
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
<?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('kjpp', function (Blueprint $table) {
|
||||
$table->string('detail_email_kantor')->nullable()->after('email_kantor');
|
||||
$table->string('detail_nama_pic_reviewer')->nullable()->after('nama_pic_reviewer');
|
||||
$table->string('detail_nomor_hp_pic_reviewer')->nullable()->after('nomor_hp_pic_reviewer');
|
||||
$table->string('detail_nama_pic_admin')->nullable()->after('nama_pic_admin');
|
||||
$table->string('detail_nomor_hp_pic_admin')->nullable()->after('nomor_hp_pic_admin');
|
||||
$table->string('detail_nama_pic_marketing')->nullable()->after('nama_pic_marketing');
|
||||
$table->string('detail_nomor_hp_pic_marketing')->nullable()->after('nomor_hp_pic_marketing');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*/
|
||||
public function down(): void
|
||||
{
|
||||
Schema::table('kjpp', function (Blueprint $table) {
|
||||
$table->dropColumn('detail_email_kantor');
|
||||
$table->dropColumn('detail_nama_pic_reviewer');
|
||||
$table->dropColumn('detail_nomor_hp_pic_reviewer');
|
||||
$table->dropColumn('detail_nama_pic_admin');
|
||||
$table->dropColumn('detail_nomor_hp_pic_admin');
|
||||
$table->dropColumn('detail_nama_pic_marketing');
|
||||
$table->dropColumn('detail_nomor_hp_pic_marketing');
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -31,6 +31,8 @@ class JenisLegalitasJaminanSeeder extends Seeder
|
||||
'code' => 'JLJ002',
|
||||
'name' => 'SHGB',
|
||||
'slug' => 'shgb',
|
||||
'custom_field' => null,
|
||||
'custom_field_type' => null,
|
||||
'status' => 1,
|
||||
'created_at' => now(),
|
||||
'updated_at' => now(),
|
||||
@@ -43,6 +45,8 @@ class JenisLegalitasJaminanSeeder extends Seeder
|
||||
'code' => 'JLJ003',
|
||||
'name' => 'Copy PBB / NJOP Tahun Terakhir (Jika Ada)',
|
||||
'slug' => 'copy-pbb-njop-tahun-terakhir-jika-ada',
|
||||
'custom_field' => null,
|
||||
'custom_field_type' => null,
|
||||
'status' => 1,
|
||||
'created_at' => now(),
|
||||
'updated_at' => now(),
|
||||
@@ -55,6 +59,8 @@ class JenisLegalitasJaminanSeeder extends Seeder
|
||||
'code' => 'JLJ004',
|
||||
'name' => 'Copy NPWP Perusahaan/Perorangan',
|
||||
'slug' => 'copy-npwp-perusahaanperorangan',
|
||||
'custom_field' => null,
|
||||
'custom_field_type' => null,
|
||||
'status' => 1,
|
||||
'created_at' => now(),
|
||||
'updated_at' => now(),
|
||||
@@ -67,6 +73,8 @@ class JenisLegalitasJaminanSeeder extends Seeder
|
||||
'code' => 'JLJ005',
|
||||
'name' => 'Siteplan',
|
||||
'slug' => 'siteplan',
|
||||
'custom_field' => null,
|
||||
'custom_field_type' => null,
|
||||
'status' => 1,
|
||||
'created_at' => now(),
|
||||
'updated_at' => now(),
|
||||
@@ -79,6 +87,8 @@ class JenisLegalitasJaminanSeeder extends Seeder
|
||||
'code' => 'JLJ006',
|
||||
'name' => 'Surat Pernyataan Kebenaran Data (Surat Representasi)',
|
||||
'slug' => 'surat-pernyataan-kebenaran-data-surat-representasi',
|
||||
'custom_field' => null,
|
||||
'custom_field_type' => null,
|
||||
'status' => 1,
|
||||
'created_at' => now(),
|
||||
'updated_at' => now(),
|
||||
|
||||
@@ -12,34 +12,34 @@ class LpjDatabaseSeeder extends Seeder
|
||||
public function run(): void
|
||||
{
|
||||
$this->call([
|
||||
// BranchSeeder::class,
|
||||
// CurrencySeeder::class,
|
||||
// JenisFasilitasKreditSeeder::class,
|
||||
// JenisLegalitasJaminanSeeder::class,
|
||||
// JenisJaminanSeeder::class,
|
||||
// JenisDokumenSeeder::class,
|
||||
// TujuanPenilaianSeeder::class,
|
||||
// NilaiPlatformSeeder::class,
|
||||
// HubunganPemilikJaminanSeeder::class,
|
||||
// HubunganPenghuniJaminanSeeder::class,
|
||||
// ArahMataAnginSeeder::class,
|
||||
// StatusPermohonanSeeder::class,
|
||||
// RegionSeeder::class,
|
||||
// TeamsSeeder::class,
|
||||
// TeamUsersSeeder::class,
|
||||
// JenisPenilaianSeeder::class,
|
||||
// TujuanPenilaianKJPPSeeder::class,
|
||||
// IjinUsahaSeeder::class,
|
||||
// JenisLaporanSeeder::class,
|
||||
// DebitureSeeder::class,
|
||||
// PermohonanSeeder::class,
|
||||
BranchSeeder::class,
|
||||
CurrencySeeder::class,
|
||||
JenisFasilitasKreditSeeder::class,
|
||||
JenisLegalitasJaminanSeeder::class,
|
||||
JenisJaminanSeeder::class,
|
||||
JenisDokumenSeeder::class,
|
||||
TujuanPenilaianSeeder::class,
|
||||
NilaiPlatformSeeder::class,
|
||||
HubunganPemilikJaminanSeeder::class,
|
||||
HubunganPenghuniJaminanSeeder::class,
|
||||
ArahMataAnginSeeder::class,
|
||||
StatusPermohonanSeeder::class,
|
||||
RegionSeeder::class,
|
||||
TeamsSeeder::class,
|
||||
TeamUsersSeeder::class,
|
||||
JenisPenilaianSeeder::class,
|
||||
TujuanPenilaianKJPPSeeder::class,
|
||||
IjinUsahaSeeder::class,
|
||||
JenisLaporanSeeder::class,
|
||||
DebitureSeeder::class,
|
||||
PermohonanSeeder::class,
|
||||
PemilikJaminanSeeder::class,
|
||||
// DokumenJaminanSeeder::class,
|
||||
// DetailDokumenJaminanSeeder::class,
|
||||
// KJPPSeeder::class,
|
||||
// PenawaranSeeder::class,
|
||||
// DetailPenawaranSeeder::class,
|
||||
// PenilaianSeeder::class,
|
||||
DokumenJaminanSeeder::class,
|
||||
DetailDokumenJaminanSeeder::class,
|
||||
KJPPSeeder::class,
|
||||
PenawaranSeeder::class,
|
||||
DetailPenawaranSeeder::class,
|
||||
PenilaianSeeder::class,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -229,20 +229,22 @@
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
<div id="detail_email_kantor" class="flex flex-wrap items-center w-full gap-2">
|
||||
<div class="flex flex-col lg:flex-row items-center w-full">
|
||||
@if (isset($kjpp->detail_email_kantor))
|
||||
@foreach (json_decode($kjpp->detail_email_kantor) as $detail)
|
||||
<input class="input @error('detail_email_kantor') border-danger @enderror"
|
||||
type="text" name="detail_email_kantor[email_kantor][]"
|
||||
value="{{ $detail->email_kantor ?? old('detail_email_kantor') }}">
|
||||
@error('detail_email_kantor')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
@if (isset($kjpp->detail_email_kantor))
|
||||
@foreach ($detailEmailKantor as $detail_email_kantor)
|
||||
<div class="flex flex-col lg:flex-row gap-2 items-baseline lg:items-center w-full">
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input class="input @error('email_kantor') border-danger @enderror"
|
||||
type="text" name="detail_email_kantor[email_kantor][]"
|
||||
value="{{ $detail_email_kantor->email_kantor ?? old('detail_email_kantor.email_kantor') }}">
|
||||
@error('email_kantor')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
<button type="button"
|
||||
class="btn btn-danger btn-xs delete-button">Hapus</button>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
class="btn btn-danger btn-xs delete-button-edit">Hapus</button>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<button type="button" id="tambah_email_kantor" class="btn btn-primary btn-xs">Tambah
|
||||
Email Kantor</button>
|
||||
@@ -297,37 +299,35 @@
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap">
|
||||
<div id="detail_nama_pic_reviewer" class="flex flex-wrap items-baseline w-full gap-2.5">
|
||||
@if (isset($kjpp->detail_nama_pic_reviewer))
|
||||
@foreach (json_decode($kjpp->detail_nama_pic_reviewer) as $detail)
|
||||
@if (isset($kjpp->detail_nama_pic_reviewer) && isset($kjpp->detail_nomor_hp_pic_reviewer))
|
||||
@foreach (json_decode($detailJoinPicReviewer) as $detail_pic_reviewer)
|
||||
<div class="flex flex-col lg:flex-row gap-2 items-baseline lg:items-center w-full">
|
||||
<label class="form-label max-w-56">
|
||||
Nama PIC Reviewer
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input
|
||||
class="input @error('detail_nama_pic_reviewer') border-danger @enderror"
|
||||
<input class="input @error('nama_pic_reviewer') border-danger @enderror"
|
||||
type="text" name="detail_nama_pic_reviewer[nama_pic_reviewer][]"
|
||||
value="{{ $detail->detail_nama_pic_reviewer ?? old('detail_nama_pic_reviewer') }}">
|
||||
@error('detail_nama_pic_reviewer')
|
||||
value="{{ $detail_pic_reviewer->nama_pic_reviewer ?? old('detail_nama_pic_reviewer.nama_pic_reviewer') }}">
|
||||
@error('nama_pic_reviewer')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
@foreach (json_decode($kjpp->detail_nomor_hp_pic_reviewer) as $detail)
|
||||
<label class="form-label max-w-56">
|
||||
Nomor HP PIC Reviewer
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input
|
||||
class="input @error('detail_nomor_hp_pic_reviewer') border-danger @enderror"
|
||||
type="text"
|
||||
name="detail_nomor_hp_pic_reviewer[nomor_hp_pic_reviewer][]"
|
||||
value="{{ $detail->nomor_hp_pic_reviewer ?? old('detail_nomor_hp_pic_reviewer') }}">
|
||||
@error('detail_nomor_hp_pic_reviewer')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
@endforeach
|
||||
<button type="button" class="btn btn-danger btn-xs delete-button">Hapus</button>
|
||||
<label class="form-label max-w-56">
|
||||
Nomor HP PIC Reviewer
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input class="input @error('nomor_hp_pic_reviewer') border-danger @enderror"
|
||||
type="text"
|
||||
name="detail_nomor_hp_pic_reviewer[nomor_hp_pic_reviewer][]"
|
||||
value="{{ $detail_pic_reviewer->nomor_hp_pic_reviewer ?? old('detail_nomor_hp_pic_reviewer.nomor_hp_pic_reviewer') }}">
|
||||
@error('nomor_hp_pic_reviewer')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
<button type="button" class="btn btn-danger btn-xs delete-button-edit">
|
||||
Hapus
|
||||
</button>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
@@ -367,35 +367,34 @@
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap">
|
||||
<div id="detail_nama_pic_admin" class="flex flex-wrap items-baseline w-full gap-2.5">
|
||||
@if (isset($kjpp->detail_nama_pic_admin))
|
||||
@foreach (json_decode($kjpp->detail_nama_pic_admin) as $detail)
|
||||
@if (isset($kjpp->detail_nama_pic_admin) && isset($kjpp->detail_nomor_hp_pic_admin))
|
||||
@foreach (json_decode($detailJoinPicAdmin) as $detail_pic_admin)
|
||||
<div class="flex flex-col lg:flex-row gap-2 items-baseline lg:items-center w-full">
|
||||
<label class="form-label max-w-56">
|
||||
Nama PIC Admin
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input class="input @error('detail_nama_pic_admin') border-danger @enderror"
|
||||
<input class="input @error('nama_pic_admin') border-danger @enderror"
|
||||
type="text" name="detail_nama_pic_admin[nama_pic_admin][]"
|
||||
value="{{ $detail->detail_nama_pic_admin ?? old('detail_nama_pic_admin') }}">
|
||||
@error('detail_nama_pic_admin')
|
||||
value="{{ $detail_pic_admin->nama_pic_admin ?? old('detail_nama_pic_admin.nama_pic_admin') }}">
|
||||
@error('nama_pic_admin')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
@foreach (json_decode($kjpp->detail_nomor_hp_pic_admin) as $detail)
|
||||
<label class="form-label max-w-56">
|
||||
Nomor HP PIC Admin
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input
|
||||
class="input @error('detail_nomor_hp_pic_admin') border-danger @enderror"
|
||||
type="text" name="detail_nomor_hp_pic_admin[nomor_hp_pic_admin][]"
|
||||
value="{{ $detail->nomor_hp_pic_admin ?? old('detail_nomor_hp_pic_admin') }}">
|
||||
@error('detail_nomor_hp_pic_admin')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
@endforeach
|
||||
<button type="button" class="btn btn-danger btn-xs delete-button">Hapus</button>
|
||||
<label class="form-label max-w-56">
|
||||
Nomor HP PIC Admin
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input class="input @error('nomor_hp_pic_admin') border-danger @enderror"
|
||||
type="text" name="detail_nomor_hp_pic_admin[nomor_hp_pic_admin][]"
|
||||
value="{{ $detail_pic_admin->nomor_hp_pic_admin ?? old('detail_nomor_hp_pic_admin.nomor_hp_pic_admin') }}">
|
||||
@error('nomor_hp_pic_admin')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
<button type="button" class="btn btn-danger btn-xs delete-button-edit">
|
||||
Hapus
|
||||
</button>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
@@ -432,37 +431,36 @@
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap">
|
||||
<div id="detail_nama_pic_marketing" class="flex flex-wrap items-baseline w-full gap-2.5">
|
||||
@if (isset($kjpp->detail_nama_pic_marketing))
|
||||
@foreach (json_decode($kjpp->detail_nama_pic_marketing) as $detail)
|
||||
@if (isset($kjpp->detail_nama_pic_marketing) && isset($kjpp->detail_nomor_hp_pic_marketing))
|
||||
@foreach (json_decode($detailJoinPicMarketing) as $detail_pic_marketing)
|
||||
<div class="flex flex-col lg:flex-row gap-2 items-baseline lg:items-center w-full">
|
||||
<label class="form-label max-w-56">
|
||||
Nama PIC Marketing
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input
|
||||
class="input @error('detail_nama_pic_marketing') border-danger @enderror"
|
||||
<input class="input @error('nama_pic_marketing') border-danger @enderror"
|
||||
type="text" name="detail_nama_pic_marketing[nama_pic_marketing][]"
|
||||
value="{{ $detail->detail_nama_pic_marketing ?? old('detail_nama_pic_marketing') }}">
|
||||
@error('detail_nama_pic_marketing')
|
||||
value="{{ $detail_pic_marketing->nama_pic_marketing ?? old('detail_nama_pic_marketing.nama_pic_marketing') }}">
|
||||
@error('nama_pic_marketing')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
@foreach (json_decode($kjpp->detail_nomor_hp_pic_marketing) as $detail)
|
||||
<label class="form-label max-w-56">
|
||||
Nomor HP PIC Marketing
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input
|
||||
class="input @error('detail_nomor_hp_pic_marketing') border-danger @enderror"
|
||||
type="text"
|
||||
name="detail_nomor_hp_pic_marketing[nomor_hp_pic_marketing][]"
|
||||
value="{{ $detail->nomor_hp_pic_marketing ?? old('detail_nomor_hp_pic_marketing') }}">
|
||||
@error('detail_nomor_hp_pic_marketing')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
@endforeach
|
||||
<button type="button" class="btn btn-danger btn-xs delete-button">Hapus</button>
|
||||
<label class="form-label max-w-56">
|
||||
Nomor HP PIC Marketing
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<input
|
||||
class="input @error('nomor_hp_pic_marketing') border-danger @enderror"
|
||||
type="text"
|
||||
name="detail_nomor_hp_pic_marketing[nomor_hp_pic_marketing][]"
|
||||
value="{{ $detail_pic_marketing->nomor_hp_pic_marketing ?? old('detail_nomor_hp_pic_marketing.nomor_hp_pic_marketing') }}">
|
||||
@error('nomor_hp_pic_marketing')
|
||||
<em class="alert text-danger text-sm">{{ $message }}</em>
|
||||
@enderror
|
||||
</div>
|
||||
<button type="button" class="btn btn-danger btn-xs delete-button-edit">
|
||||
Hapus
|
||||
</button>
|
||||
</div>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
@@ -14,6 +14,19 @@
|
||||
});
|
||||
}
|
||||
|
||||
function DeleteEditListeners() {
|
||||
document.querySelectorAll(".delete-button-edit").forEach(button => {
|
||||
button.addEventListener("click", function() {
|
||||
this.closest(
|
||||
".flex.flex-col.lg\\:flex-row.gap-2.items-baseline.lg\\:items-center.w-full"
|
||||
)
|
||||
.remove();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
DeleteEditListeners();
|
||||
|
||||
document.getElementById("tambah_email_kantor").addEventListener("click", function() {
|
||||
const newDiv = document.createElement("div");
|
||||
newDiv.className = "flex flex-col lg:flex-row gap-2 items-baseline lg:items-center w-full";
|
||||
|
||||
@@ -42,9 +42,7 @@
|
||||
<label class="form-label max-w-56">Nomor Ijin Usaha</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
@foreach ($ijin_usaha as $iu)
|
||||
{{ $iu->code }}
|
||||
@endforeach
|
||||
{{ $kjpp->nomor_ijin_usaha }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -53,22 +51,36 @@
|
||||
Alamat Kantor
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">{{ $kjpp->address }} , Kel.
|
||||
@foreach ($villages as $village)
|
||||
{{ $village->name }}
|
||||
@endforeach , Kec.
|
||||
@foreach ($districts as $district)
|
||||
{{ $district->name }}
|
||||
@endforeach ,
|
||||
@foreach ($cities as $city)
|
||||
{{ ucwords(strtolower($city->name)) }}
|
||||
@endforeach ,
|
||||
@foreach ($provinces as $province)
|
||||
{{ $province->name }}
|
||||
@endforeach, Kode Pos.
|
||||
@foreach ($villages as $village)
|
||||
{{ $village->postal_code }}
|
||||
@endforeach
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">{{ $kjpp->address }}
|
||||
@if (isset($kjpp->village_code))
|
||||
, Kel.
|
||||
@foreach ($villages as $village)
|
||||
{{ $village->name }}
|
||||
@endforeach
|
||||
@endif
|
||||
@if (isset($kjpp->district_code))
|
||||
, Kec.
|
||||
@foreach ($districts as $district)
|
||||
{{ $district->name }}
|
||||
@endforeach
|
||||
@endif
|
||||
@if (isset($kjpp->city_code))
|
||||
,@foreach ($cities as $city)
|
||||
{{ ucwords(strtolower($city->name)) }}
|
||||
@endforeach
|
||||
@endif
|
||||
@if (isset($kjpp->province_code))
|
||||
,
|
||||
@foreach ($provinces as $province)
|
||||
{{ $province->name }}
|
||||
@endforeach
|
||||
@endif
|
||||
@if (isset($kjpp->postal_code))
|
||||
, Kode Pos.
|
||||
@foreach ($villages as $village)
|
||||
{{ $village->postal_code }}
|
||||
@endforeach
|
||||
@endif
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -84,6 +96,13 @@
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">{{ $kjpp->email_kantor }}</p>
|
||||
@if (isset($kjpp->detail_email_kantor))
|
||||
@foreach (json_decode($kjpp->detail_email_kantor) as $detail_email_kantor)
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
{{ $detail_email_kantor->email_kantor }}
|
||||
</p>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
@@ -106,12 +125,26 @@
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">{{ $kjpp->nama_pic_reviewer }}</p>
|
||||
@if (isset($kjpp->detail_nama_pic_reviewer))
|
||||
@foreach (json_decode($kjpp->detail_nama_pic_reviewer) as $detail_nama_pic_reviewer)
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
{{ $detail_nama_pic_reviewer->nama_pic_reviewer }}
|
||||
</p>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<label class="form-label max-w-56">
|
||||
Nomor HP PIC Reviewer
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">{{ $kjpp->nomor_hp_pic_reviewer }}</p>
|
||||
@if (isset($kjpp->detail_nomor_hp_pic_reviewer))
|
||||
@foreach (json_decode($kjpp->detail_nomor_hp_pic_reviewer) as $detail_nomor_hp_pic_reviewer)
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
{{ $detail_nomor_hp_pic_reviewer->nomor_hp_pic_reviewer }}
|
||||
</p>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
@@ -120,12 +153,26 @@
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">{{ $kjpp->nama_pic_admin }}</p>
|
||||
@if (isset($kjpp->detail_nama_pic_admin))
|
||||
@foreach (json_decode($kjpp->detail_nama_pic_admin) as $detail_nama_pic_admin)
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
{{ $detail_nama_pic_admin->nama_pic_admin }}
|
||||
</p>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<label class="form-label max-w-56">
|
||||
Nomor HP PIC Admin
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">{{ $kjpp->nomor_hp_pic_admin }}</p>
|
||||
@if (isset($kjpp->detail_nomor_hp_pic_admin))
|
||||
@foreach (json_decode($kjpp->detail_nomor_hp_pic_admin) as $detail_nomor_hp_pic_admin)
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
{{ $detail_nomor_hp_pic_admin->nomor_hp_pic_admin }}
|
||||
</p>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
@@ -134,12 +181,26 @@
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">{{ $kjpp->nama_pic_marketing }}</p>
|
||||
@if (isset($kjpp->detail_nama_pic_marketing))
|
||||
@foreach (json_decode($kjpp->detail_nama_pic_marketing) as $detail_nama_pic_marketing)
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
{{ $detail_nama_pic_marketing->nama_pic_marketing }}
|
||||
</p>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<label class="form-label max-w-56">
|
||||
Nomor HP PIC Marketing
|
||||
</label>
|
||||
<div class="flex flex-wrap items-baseline w-full">
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">{{ $kjpp->nomor_hp_pic_marketing }}</p>
|
||||
@if (isset($kjpp->detail_nomor_hp_pic_marketing))
|
||||
@foreach (json_decode($kjpp->detail_nomor_hp_pic_marketing) as $detail_nomor_hp_pic_marketing)
|
||||
<p class="flex w-full text-gray-600 font-medium text-sm">
|
||||
{{ $detail_nomor_hp_pic_marketing->nomor_hp_pic_marketing }}
|
||||
</p>
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-baseline flex-wrap lg:flex-nowrap gap-2.5">
|
||||
|
||||
Reference in New Issue
Block a user