update
parent
2787e75b81
commit
e886afef4f
|
|
@ -0,0 +1,158 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Services\DashboardAdaptationService;
|
||||||
|
use App\Services\DashboardMitigationService;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use App\Models\LembarPengesahan;
|
||||||
|
|
||||||
|
class LembarPengesahanController extends Controller
|
||||||
|
{
|
||||||
|
protected $title = 'Lembar Pengesahan';
|
||||||
|
protected $template = 'modules.pengesahan';
|
||||||
|
protected $route = 'modules.pengesahan';
|
||||||
|
|
||||||
|
public function __construct(DashboardAdaptationService $adaptationService,DashboardMitigationService $mitigationService)
|
||||||
|
{
|
||||||
|
$this->adaptationService = $adaptationService;
|
||||||
|
$this->mitigationService = $mitigationService;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display a listing of the resource.
|
||||||
|
*/
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
$data['route'] = $this->route;
|
||||||
|
$data['title'] = $this->title;
|
||||||
|
|
||||||
|
return view($this->template.'.index',$data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function grid()
|
||||||
|
{
|
||||||
|
$data = LembarPengesahaan::where('tahun',date('Y'))->get();
|
||||||
|
$_data = [];
|
||||||
|
|
||||||
|
foreach ($data as $key => $row) {
|
||||||
|
|
||||||
|
$btn = '<a href="' . url('master/agency/update/').'/'.encode_id($row->id). '" class="btn btn-sm w-100 mb-1 btn-primary">Edit</a>';
|
||||||
|
$btn .= ' <form action="' . route($this->route.'.destroy', $row->id) . '" method="POST" style="display: inline;" class="delete-form">';
|
||||||
|
$btn .= csrf_field();
|
||||||
|
$btn .= method_field('DELETE');
|
||||||
|
$btn .= '<button type="button" class="btn btn-sm btn-danger delete-button remove_data">Hapus</button>';
|
||||||
|
$btn .= '</form>';
|
||||||
|
|
||||||
|
if ($row->row_status == 1) {
|
||||||
|
$status = '<span class="badge bg-success">Aktif</span>';
|
||||||
|
} else {
|
||||||
|
$status = '<span class="badge bg-danger">Tidak Aktif</span>';
|
||||||
|
}
|
||||||
|
|
||||||
|
$_data[] = [
|
||||||
|
'no' => $key+1,
|
||||||
|
'name' => $row->name,
|
||||||
|
'scope' => $row->scope,
|
||||||
|
'status' => $status,
|
||||||
|
'action' => @$btn,
|
||||||
|
];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return response()->json($_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for creating a new resource.
|
||||||
|
*/
|
||||||
|
public function create()
|
||||||
|
{
|
||||||
|
$year = (int) request()->input('adaptationYear', date('Y'));
|
||||||
|
$adaptasi = $this->adaptationService->getDashboardData($year);
|
||||||
|
$mitigasi = $this->mitigationService->getDashboardData($year);
|
||||||
|
|
||||||
|
|
||||||
|
$data['route'] = $this->route;
|
||||||
|
$data['title'] = $this->title;
|
||||||
|
$data['kegiatanAdaptasi'] = $adaptasi['tableData'];
|
||||||
|
$data['kegiatanMitigasi'] = $mitigasi['tableData'];
|
||||||
|
|
||||||
|
return view($this->template.'.form',$data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function update($id = null)
|
||||||
|
{
|
||||||
|
$keyId = decode_id($id);
|
||||||
|
$data['title'] = $this->title;
|
||||||
|
$data['route'] = $this->route;
|
||||||
|
$data['keyId'] = $id;
|
||||||
|
$data['item'] = LembarPengesahaan::where('id',$keyId)->first();
|
||||||
|
|
||||||
|
return view($this->template.'.form',$data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Store a newly created resource in storage.
|
||||||
|
*/
|
||||||
|
public function store(Request $request)
|
||||||
|
{
|
||||||
|
$request->validate([
|
||||||
|
'agency_id' => 'required',
|
||||||
|
'file' => 'required',
|
||||||
|
'type' => 'required',
|
||||||
|
]);
|
||||||
|
|
||||||
|
try {
|
||||||
|
if(@$request->secure_id){
|
||||||
|
$ag = LembarPengesahaan::find(decode_id(@$request->secure_id));
|
||||||
|
$ag->agency_id = $request->agency_id;
|
||||||
|
$ag->type = $request->type;
|
||||||
|
$ag->file = $request->file;
|
||||||
|
$ag->save();
|
||||||
|
}else{
|
||||||
|
$ag = new LembarPengesahan;
|
||||||
|
$ag->agency_id = $request->agency_id;
|
||||||
|
$ag->type = $request->type;
|
||||||
|
$ag->file = $request->file;
|
||||||
|
$ag->status = 1;
|
||||||
|
$ag->save();
|
||||||
|
}
|
||||||
|
|
||||||
|
return redirect()->route($this->route.'.index')->with('success', 'Lembar Pengesahan berhasil ditambahkan.');
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
return back()->withErrors(['error' => 'Lembar Pengesahan gagal disimpan. Silakan coba lagi. Error: ' . $e->getMessage()]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display the specified resource.
|
||||||
|
*/
|
||||||
|
public function show(string $id)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for editing the specified resource.
|
||||||
|
*/
|
||||||
|
public function edit(string $id)
|
||||||
|
{
|
||||||
|
$data['ar'] = LembarPengesahaan::find($id);
|
||||||
|
$data['route'] = $this->route;
|
||||||
|
$data['title'] = $this->title;
|
||||||
|
return view($this->template.'.form', $data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the specified resource in storage.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the specified resource from storage.
|
||||||
|
*/
|
||||||
|
public function destroy(string $id)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Models;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||||
|
|
||||||
|
class LembarPengesahan extends Model
|
||||||
|
{
|
||||||
|
use SoftDeletes;
|
||||||
|
protected $table = 'lembar_pengesahan';
|
||||||
|
protected $primaryKey = 'LembarPengesahanId';
|
||||||
|
protected $guarded = [];
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,37 @@
|
||||||
|
<?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::create('lembar_pengesahan', function (Blueprint $table) {
|
||||||
|
$table->id('LembarPengesahanId');
|
||||||
|
$table->integer('user_id');
|
||||||
|
$table->string('agency_id');
|
||||||
|
$table->year('tahun');
|
||||||
|
$table->string('type'); //Adaptasi, Mitigasi, Inventory
|
||||||
|
$table->json('sektor')->nullable();
|
||||||
|
$table->json('form_id')->nullable();
|
||||||
|
$table->string('file')->nullable();
|
||||||
|
$table->text('keterangan')->nullable();
|
||||||
|
$table->integer('status')->default(0);
|
||||||
|
$table->timestampsTz();
|
||||||
|
$table->softdeletesTz();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('lembar_pengesahans');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
@ -72,11 +72,11 @@
|
||||||
<td>{{ $a->sektor }}</td>
|
<td>{{ $a->sektor }}</td>
|
||||||
<td>{{ $a->sub_sektor }}</td>
|
<td>{{ $a->sub_sektor }}</td>
|
||||||
<td class="text-center">
|
<td class="text-center">
|
||||||
<a href="{{ route($route.'.view', $a->id) }}" class="text-secondary me-2">
|
<a href="{{ route($route.'.view', $a->id) }}" class="btn btn-warning btn-sm">
|
||||||
<i class="ti ti-eye"></i>
|
<i class="mdi mdi-eye-outline"></i>
|
||||||
</a>
|
</a>
|
||||||
<a href="{{ route($route.'.edit', $a->id) }}" class="text-secondary">
|
<a href="{{ route($route.'.edit', $a->id) }}" class="btn btn-primary btn-sm">
|
||||||
<i class="ti ti-pencil"></i>
|
<i class="bx bx-edit"></i>
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
||||||
|
|
@ -83,11 +83,11 @@
|
||||||
</td>
|
</td>
|
||||||
<td class="text-center">{{ $m->revisi ?? '--' }}</td>
|
<td class="text-center">{{ $m->revisi ?? '--' }}</td>
|
||||||
<td class="text-center">
|
<td class="text-center">
|
||||||
<a href="{{ route($route.'.view', $m->id) }}" class="text-secondary me-2">
|
<a href="{{ route($route.'.view', $m->id) }}" class="btn btn-warning btn-sm">
|
||||||
<i class="ti ti-eye"></i>
|
<i class="mdi mdi-eye-outline"></i>
|
||||||
</a>
|
</a>
|
||||||
<a href="{{ route($route.'.edit', $m->id) }}" class="text-secondary">
|
<a href="{{ route($route.'.edit', $m->id) }}" class="btn btn-primary btn-sm">
|
||||||
<i class="ti ti-pencil"></i>
|
<i class="bx bx-edit"></i>
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<br/><br/>
|
<br/><br/>
|
||||||
<form action="{{ route('adaptasi-form.update', $adaptation->id) }}" method="POST" onsubmit="return false;">
|
<form action="{{ route('modules.adaptasi-form.update', $adaptation->id) }}" method="POST" onsubmit="return false;">
|
||||||
@csrf
|
@csrf
|
||||||
|
|
||||||
<div class="ml-1 mt-4 d-flex justify-content-between align-items-center">
|
<div class="ml-1 mt-4 d-flex justify-content-between align-items-center">
|
||||||
|
|
@ -95,7 +95,7 @@
|
||||||
<input type="text" class="form-control" name="dokumen" placeholder="Masukkan Dokumen/Kebijakan" value="{{ old('dokumen', $adaptation->dokumen) }}">
|
<input type="text" class="form-control" name="dokumen" placeholder="Masukkan Dokumen/Kebijakan" value="{{ old('dokumen', $adaptation->dokumen) }}">
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-4 mb-4 text-right">
|
<div class="mt-4 mb-4 text-right">
|
||||||
<button type="button" class="btn btn-submit px-4 py-2" data-target="#collapse2">
|
<button type="button" class="btn btn-submit btn-primary px-4 py-2" data-target="#collapse2">
|
||||||
Selanjutnya
|
Selanjutnya
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -157,7 +157,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-4 mb-4 text-right">
|
<div class="mt-4 mb-4 text-right">
|
||||||
<button type="button" class="btn btn-submit px-4 py-2" data-target="#collapse3">
|
<button type="button" class="btn btn-submit btn-primary px-4 py-2" data-target="#collapse3">
|
||||||
Selanjutnya
|
Selanjutnya
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -181,7 +181,7 @@
|
||||||
<textarea class="form-control" name="detail_kegiatan" id="detail_kegiatan" rows="3" placeholder="Isi detail kegiatan di sini">{{ old('detail_kegiatan', $adaptation->detail_kegiatan) }}</textarea>
|
<textarea class="form-control" name="detail_kegiatan" id="detail_kegiatan" rows="3" placeholder="Isi detail kegiatan di sini">{{ old('detail_kegiatan', $adaptation->detail_kegiatan) }}</textarea>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-4 mb-4 text-right">
|
<div class="mt-4 mb-4 text-right">
|
||||||
<button type="submit" id="final-submit" class="btn btn-submit px-4 py-2">
|
<button type="submit" id="final-submit" class="btn btn-submit btn-primary px-4 py-2">
|
||||||
Simpan
|
Simpan
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -200,6 +200,7 @@
|
||||||
@section('js')
|
@section('js')
|
||||||
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
|
||||||
<script>
|
<script>
|
||||||
|
var base_url = '{{ url("/") }}';
|
||||||
// ------- ALOKASI AND REALISASI --------
|
// ------- ALOKASI AND REALISASI --------
|
||||||
function formatCurrency(val) {
|
function formatCurrency(val) {
|
||||||
if (!val) return '';
|
if (!val) return '';
|
||||||
|
|
@ -296,7 +297,7 @@
|
||||||
return txt.value;
|
return txt.value;
|
||||||
}
|
}
|
||||||
function loadSektor(selectedValue = null) {
|
function loadSektor(selectedValue = null) {
|
||||||
return $.get('/adaptasi/form-adaptasi-sector-dropdown', {})
|
return $.get(base_url+'/adaptasi/form-adaptasi-sector-dropdown', {})
|
||||||
.then(data => {
|
.then(data => {
|
||||||
const $dropdown = $('#sektor-dropdown').empty();
|
const $dropdown = $('#sektor-dropdown').empty();
|
||||||
$dropdown.append('<option value="">Pilih Sektor</option>')
|
$dropdown.append('<option value="">Pilih Sektor</option>')
|
||||||
|
|
@ -309,7 +310,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadSubSektor(sector, selectedValue = null) {
|
function loadSubSektor(sector, selectedValue = null) {
|
||||||
return $.get('/adaptasi/form-adaptasi-subsector-dropdown', { sector })
|
return $.get(base_url+'/adaptasi/form-adaptasi-subsector-dropdown', { sector })
|
||||||
.then(data => {
|
.then(data => {
|
||||||
const $dropdown = $('#subsektor-dropdown').empty();
|
const $dropdown = $('#subsektor-dropdown').empty();
|
||||||
$dropdown.append('<option value="">Pilih Sub-Sektor</option>');
|
$dropdown.append('<option value="">Pilih Sub-Sektor</option>');
|
||||||
|
|
@ -322,7 +323,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadKategoriAksi(sector, subSector, selectedValue = null) {
|
function loadKategoriAksi(sector, subSector, selectedValue = null) {
|
||||||
return $.get('/adaptasi/form-adaptasi-kategoriaksi-dropdown', { sub_sector: subSector, sector: sector })
|
return $.get(base_url+'/adaptasi/form-adaptasi-kategoriaksi-dropdown', { sub_sector: subSector, sector: sector })
|
||||||
.then(data => {
|
.then(data => {
|
||||||
const $dropdown = $('#kategoriaksi-dropdown').empty();
|
const $dropdown = $('#kategoriaksi-dropdown').empty();
|
||||||
$dropdown.append('<option value="">Pilih Kategori Aksi</option>');
|
$dropdown.append('<option value="">Pilih Kategori Aksi</option>');
|
||||||
|
|
@ -335,7 +336,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadJenisAksi(sector, subSector, kategori, selectedValue = null) {
|
function loadJenisAksi(sector, subSector, kategori, selectedValue = null) {
|
||||||
return $.get('/adaptasi/form-adaptasi-jenisaksi-dropdown', { sub_sector: subSector, sector: sector, kategori: kategori })
|
return $.get(base_url+'/adaptasi/form-adaptasi-jenisaksi-dropdown', { sub_sector: subSector, sector: sector, kategori: kategori })
|
||||||
.then(data => {
|
.then(data => {
|
||||||
const $dropdown = $('#jenisaksi-dropdown').empty();
|
const $dropdown = $('#jenisaksi-dropdown').empty();
|
||||||
$dropdown.append('<option value="">Pilih Jenis Aksi</option>');
|
$dropdown.append('<option value="">Pilih Jenis Aksi</option>');
|
||||||
|
|
@ -348,7 +349,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadAksi(sector, subSector, kategori, jenis, selectedValue = null) {
|
function loadAksi(sector, subSector, kategori, jenis, selectedValue = null) {
|
||||||
return $.get('/adaptasi/form-adaptasi-aksi-dropdown', { sub_sector: subSector, sector: sector, kategori: kategori, jenis: jenis })
|
return $.get(base_url+'/adaptasi/form-adaptasi-aksi-dropdown', { sub_sector: subSector, sector: sector, kategori: kategori, jenis: jenis })
|
||||||
.then(data => {
|
.then(data => {
|
||||||
const $dropdown = $('#aksi-dropdown').empty();
|
const $dropdown = $('#aksi-dropdown').empty();
|
||||||
$dropdown.append('<option value="">Pilih Aksi</option>');
|
$dropdown.append('<option value="">Pilih Aksi</option>');
|
||||||
|
|
@ -494,7 +495,7 @@
|
||||||
formData += '&adaptation_id=' + encodeURIComponent(adaptationId);
|
formData += '&adaptation_id=' + encodeURIComponent(adaptationId);
|
||||||
formData += '&_token=' + $('meta[name="csrf-token"]').attr('content');
|
formData += '&_token=' + $('meta[name="csrf-token"]').attr('content');
|
||||||
|
|
||||||
$.post("{{ route('adaptasi-form.store-part1') }}", formData)
|
$.post("{{ route('modules.adaptasi-form.store-part1') }}", formData)
|
||||||
.done(response => {
|
.done(response => {
|
||||||
if(response.success) {
|
if(response.success) {
|
||||||
$('#collapse1').one('hidden.bs.collapse', () => {
|
$('#collapse1').one('hidden.bs.collapse', () => {
|
||||||
|
|
@ -520,7 +521,7 @@
|
||||||
let formData = $('#collapse2').find('input, select, textarea').serialize();
|
let formData = $('#collapse2').find('input, select, textarea').serialize();
|
||||||
formData += '&_token=' + $('meta[name="csrf-token"]').attr('content');
|
formData += '&_token=' + $('meta[name="csrf-token"]').attr('content');
|
||||||
|
|
||||||
$.post("{{ route('adaptasi-form.store-part2') }}", formData)
|
$.post("{{ route('modules.adaptasi-form.store-part2') }}", formData)
|
||||||
.done(function(response) {
|
.done(function(response) {
|
||||||
if(response.success) {
|
if(response.success) {
|
||||||
$('#collapse2').one('hidden.bs.collapse', () => {
|
$('#collapse2').one('hidden.bs.collapse', () => {
|
||||||
|
|
@ -566,15 +567,3 @@
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
@endsection
|
@endsection
|
||||||
rror(xhr);
|
|
||||||
alert('Terjadi kesalahan saat menyimpan data.');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
@endsection
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
@endsection
|
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<br/><br/>
|
<br/><br/>
|
||||||
<form action="{{ route('mitigasi-form.update', $mitigation->id) }}" method="POST" onsubmit="return false;">
|
<form action="{{ route('modules.mitigasi-form.update', $mitigation->id) }}" method="POST" onsubmit="return false;">
|
||||||
@csrf
|
@csrf
|
||||||
|
|
||||||
<div class="ml-1 mt-4 d-flex justify-content-between align-items-center">
|
<div class="ml-1 mt-4 d-flex justify-content-between align-items-center">
|
||||||
|
|
@ -110,7 +110,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mt-4 text-right">
|
<div class="mt-4 text-right">
|
||||||
<button type="button" class="btn btn-submit px-4 py-2" data-target="#collapse2">
|
<button type="button" class="btn btn-submit btn-primary px-4 py-2" data-target="#collapse2">
|
||||||
Selanjutnya
|
Selanjutnya
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -394,7 +394,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mt-4 text-right">
|
<div class="mt-4 text-right">
|
||||||
<button type="button" class="btn btn-submit px-4 py-2" data-target="#collapse3">
|
<button type="button" class="btn btn-submit btn-primary px-4 py-2" data-target="#collapse3">
|
||||||
Selanjutnya
|
Selanjutnya
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -484,7 +484,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mt-4 text-right">
|
<div class="mt-4 text-right">
|
||||||
<button type="button" class="btn btn-submit px-4 py-2" data-target="#collapse4">
|
<button type="button" class="btn btn-submit btn-primary px-4 py-2" data-target="#collapse4">
|
||||||
Selanjutnya
|
Selanjutnya
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -523,22 +523,116 @@
|
||||||
|
|
||||||
@if (!empty($sumberDataList))
|
@if (!empty($sumberDataList))
|
||||||
@foreach ($sumberDataList as $index => $sumber)
|
@foreach ($sumberDataList as $index => $sumber)
|
||||||
<x-sumber-data-card
|
<div class="card card-box sumber-data-card mt-4 mb-4">
|
||||||
|
<div class="card-header" id="heading4-{{ $index + 1 }}">
|
||||||
|
<h6 class="mb-0">Sumber Data {{ $index + 1 }}</h6>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="card card-box">
|
||||||
|
<div class="card-header" id="heading4-{{ $index + 1 }}-1">
|
||||||
|
<h6 class="mb-0">Sumber Data</h6>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="form-group mt-4">
|
||||||
|
<label class="label-title" for="titleSourceReference{{ $index + 1 }}">
|
||||||
|
JUDUL SUMBER DATA
|
||||||
|
</label>
|
||||||
|
<input type="text" class="form-control" name="titleSourceReference[]" id="titleSourceReference{{ $index + 1 }}" value="{{ $sumber['title'] }}">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group mt-4">
|
||||||
|
<label class="label-title" for="yearSourceReference{{ $index + 1 }}">
|
||||||
|
Tahun
|
||||||
|
</label>
|
||||||
|
<select class="form-control select-button" name="yearSourceReference[]" id="yearSourceReference{{ $index + 1 }}">
|
||||||
|
<option value="">-- Pilih Tahun --</option>
|
||||||
|
@foreach($years as $year)
|
||||||
|
<option value="{{ $year }}" {{ $year == $sumber['year'] ? 'selected' : '' }}>
|
||||||
|
{{ $year }}
|
||||||
|
</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group mt-4">
|
||||||
|
<label class="label-title" for="linkSourceReference{{ $index + 1 }}">
|
||||||
|
TAUTAN URL FILE
|
||||||
|
</label>
|
||||||
|
<input type="text" class="form-control" name="linkSourceReference[]" id="linkSourceReference{{ $index + 1 }}" value="{{ $sumber['link'] }}">
|
||||||
|
<p class="text-muted mt-1" style="font-size: 10px;">
|
||||||
|
Tautan URL langsung menuju file (jika dapat diunduh)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-footer">
|
||||||
|
<button type="button" class="btn btn-danger btn-delete px-4 py-2" onclick="removeSumberData(this)">Hapus</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{-- <x-sumber-data-card
|
||||||
:number="$index + 1"
|
:number="$index + 1"
|
||||||
:title="$sumber['title'] ?? ''"
|
:title="$sumber['title'] ?? ''"
|
||||||
:yearSelected="$sumber['year'] ?? ''"
|
:yearSelected="$sumber['year'] ?? ''"
|
||||||
:link="$sumber['link'] ?? ''"
|
:link="$sumber['link'] ?? ''"
|
||||||
:years="$years"
|
:years="$years"
|
||||||
/>
|
/> --}}
|
||||||
@endforeach
|
@endforeach
|
||||||
@else
|
@else
|
||||||
<x-sumber-data-card :number="1" :years="$years" />
|
<div class="card card-box sumber-data-card mt-4 mb-4">
|
||||||
|
<div class="card-header" id="heading4-1">
|
||||||
|
<h6 class="mb-0">Sumber Data 1</h6>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="card card-box">
|
||||||
|
<div class="card-header" id="heading4-1-1">
|
||||||
|
<h6 class="mb-0">Sumber Data</h6>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="form-group mt-4">
|
||||||
|
<label class="label-title" for="titleSourceReference1">
|
||||||
|
JUDUL SUMBER DATA
|
||||||
|
</label>
|
||||||
|
<input type="text" class="form-control" name="titleSourceReference[]" id="titleSourceReference1" value="">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group mt-4">
|
||||||
|
<label class="label-title" for="yearSourceReference1">
|
||||||
|
Tahun
|
||||||
|
</label>
|
||||||
|
<select class="form-control select-button" name="yearSourceReference[]" id="yearSourceReference1">
|
||||||
|
<option value="">-- Pilih Tahun --</option>
|
||||||
|
@foreach($years as $year)
|
||||||
|
<option value="{{ $year }}">
|
||||||
|
{{ $year }}
|
||||||
|
</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group mt-4">
|
||||||
|
<label class="label-title" for="linkSourceReference1">
|
||||||
|
TAUTAN URL FILE
|
||||||
|
</label>
|
||||||
|
<input type="text" class="form-control" name="linkSourceReference[]" id="linkSourceReference1" value="">
|
||||||
|
<p class="text-muted mt-1" style="font-size: 10px;">
|
||||||
|
Tautan URL langsung menuju file (jika dapat diunduh)
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-footer">
|
||||||
|
<button type="button" class="btn btn-danger btn-delete px-4 py-2" onclick="removeSumberData(this)">Hapus</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{-- <x-sumber-data-card :number="1" :years="$years" /> --}}
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<template id="sumberDataTemplate">
|
<template id="sumberDataTemplate">
|
||||||
{!! str_replace('__INDEX__', '${index}',
|
{!! str_replace('__INDEX__', '${index}',
|
||||||
view('components.sumber-data-card', [
|
view('modules.components.sumber-data-card', [
|
||||||
'number' => '__INDEX__',
|
'number' => '__INDEX__',
|
||||||
'years' => $years,
|
'years' => $years,
|
||||||
'title' => '',
|
'title' => '',
|
||||||
|
|
@ -558,7 +652,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class="mt-4 text-right">
|
<div class="mt-4 text-right">
|
||||||
<button type="button" class="btn btn-submit px-4 py-2" data-target="#collapse5">
|
<button type="button" class="btn btn-submit btn-primary px-4 py-2" data-target="#collapse5">
|
||||||
Selanjutnya
|
Selanjutnya
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -652,7 +746,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mt-4 mb-4 text-right">
|
<div class="mt-4 mb-4 text-right">
|
||||||
<button type="button" class="btn btn-submit px-4 py-2" data-target="#collapse6">
|
<button type="button" class="btn btn-submit btn-primary px-4 py-2" data-target="#collapse6">
|
||||||
Submit
|
Submit
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -701,6 +795,7 @@
|
||||||
<script src="https://unpkg.com/leaflet.markercluster@1.4.1/dist/leaflet.markercluster.js"></script>
|
<script src="https://unpkg.com/leaflet.markercluster@1.4.1/dist/leaflet.markercluster.js"></script>
|
||||||
<script src="https://unpkg.com/leaflet-control-geocoder/dist/Control.Geocoder.js"></script>
|
<script src="https://unpkg.com/leaflet-control-geocoder/dist/Control.Geocoder.js"></script>
|
||||||
<script>
|
<script>
|
||||||
|
var base_url = '{{ url("/") }}';
|
||||||
// -------- MAP INITIALIZATION --------
|
// -------- MAP INITIALIZATION --------
|
||||||
let marker = null;
|
let marker = null;
|
||||||
let map = null;
|
let map = null;
|
||||||
|
|
@ -934,7 +1029,7 @@
|
||||||
|
|
||||||
// -------- DROPDOWN LOADING FUNCTIONS WITH PROMISE --------
|
// -------- DROPDOWN LOADING FUNCTIONS WITH PROMISE --------
|
||||||
function loadSektor(selectedValue = null) {
|
function loadSektor(selectedValue = null) {
|
||||||
return $.get('/mitigasi/form-mitigasi-sector-dropdown', {})
|
return $.get(base_url+'/mitigasi/form-mitigasi-sector-dropdown', {})
|
||||||
.then(data => {
|
.then(data => {
|
||||||
const $dropdown = $('#sektor-dropdown').empty();
|
const $dropdown = $('#sektor-dropdown').empty();
|
||||||
$dropdown.append('<option value="">Pilih Sektor</option>')
|
$dropdown.append('<option value="">Pilih Sektor</option>')
|
||||||
|
|
@ -947,7 +1042,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadSubSektor(sector, selectedValue = null) {
|
function loadSubSektor(sector, selectedValue = null) {
|
||||||
return $.get('/mitigasi/form-mitigasi-subsector-dropdown', { sector })
|
return $.get(base_url+'/mitigasi/form-mitigasi-subsector-dropdown', { sector })
|
||||||
.then(data => {
|
.then(data => {
|
||||||
const $dropdown = $('#subsektor-dropdown').empty();
|
const $dropdown = $('#subsektor-dropdown').empty();
|
||||||
$dropdown.append('<option value="">Pilih Sub-Sektor</option>');
|
$dropdown.append('<option value="">Pilih Sub-Sektor</option>');
|
||||||
|
|
@ -960,7 +1055,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadPerhitungan(sector, subSector, selectedValue = null) {
|
function loadPerhitungan(sector, subSector, selectedValue = null) {
|
||||||
return $.get('/mitigasi/form-mitigasi-perhitungan-dropdown', { sub_sector: subSector, sector: sector })
|
return $.get(base_url+'/mitigasi/form-mitigasi-perhitungan-dropdown', { sub_sector: subSector, sector: sector })
|
||||||
.then(data => {
|
.then(data => {
|
||||||
const $dropdown = $('#perhitungan-dropdown').empty();
|
const $dropdown = $('#perhitungan-dropdown').empty();
|
||||||
$dropdown.append('<option value="">Pilih Kategori/ Mode Perhitungan</option>');
|
$dropdown.append('<option value="">Pilih Kategori/ Mode Perhitungan</option>');
|
||||||
|
|
@ -973,7 +1068,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadSubAktivitas(sector, subSector, perhitungan, selectedValue = null) {
|
function loadSubAktivitas(sector, subSector, perhitungan, selectedValue = null) {
|
||||||
return $.get('/mitigasi/form-mitigasi-subaktivitas-dropdown', { sub_sector: subSector, sector: sector, activity: perhitungan })
|
return $.get(base_url+'/mitigasi/form-mitigasi-subaktivitas-dropdown', { sub_sector: subSector, sector: sector, activity: perhitungan })
|
||||||
.then(data => {
|
.then(data => {
|
||||||
const $dropdown = $('#subactivity-dropdown').empty();
|
const $dropdown = $('#subactivity-dropdown').empty();
|
||||||
$dropdown.append('<option value="">Pilih Sub-Aktivitas</option>');
|
$dropdown.append('<option value="">Pilih Sub-Aktivitas</option>');
|
||||||
|
|
@ -1008,7 +1103,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadRAD(subSector, selectedValue = null) {
|
function loadRAD(subSector, selectedValue = null) {
|
||||||
return $.get('/mitigasi/form-mitigasi-aksi-rad', { sub_sector: subSector })
|
return $.get(base_url+'/mitigasi/form-mitigasi-aksi-rad', { sub_sector: subSector })
|
||||||
.then(data => {
|
.then(data => {
|
||||||
const $dropdown = $('#rad-dropdown').empty();
|
const $dropdown = $('#rad-dropdown').empty();
|
||||||
$dropdown.append('<option value="">Tambah kegiatan di luar RAD</option>');
|
$dropdown.append('<option value="">Tambah kegiatan di luar RAD</option>');
|
||||||
|
|
@ -1021,7 +1116,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadKabupaten(selectedValue = null) {
|
function loadKabupaten(selectedValue = null) {
|
||||||
return $.get('/mitigasi/form-kabupaten', {})
|
return $.get(base_url+'/mitigasi/form-kabupaten', {})
|
||||||
.then(data => {
|
.then(data => {
|
||||||
const $dropdown = $('#kabupaten').empty();
|
const $dropdown = $('#kabupaten').empty();
|
||||||
$dropdown.append('<option value="">Pilih Kabupaten Kota</option>');
|
$dropdown.append('<option value="">Pilih Kabupaten Kota</option>');
|
||||||
|
|
@ -1034,7 +1129,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadKecamatan(kabkotId, selectedValue = null) {
|
function loadKecamatan(kabkotId, selectedValue = null) {
|
||||||
return $.get('/mitigasi/form-kecamatan', {kabkot_id: kabkotId})
|
return $.get(base_url+'/mitigasi/form-kecamatan', {kabkot_id: kabkotId})
|
||||||
.then(data => {
|
.then(data => {
|
||||||
const $dropdown = $('#kecamatan').empty();
|
const $dropdown = $('#kecamatan').empty();
|
||||||
$dropdown.append('<option value="">Pilih Kecamatan</option>');
|
$dropdown.append('<option value="">Pilih Kecamatan</option>');
|
||||||
|
|
@ -1047,7 +1142,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadKelurahan(kabkotId, kecId, selectedValue = null) {
|
function loadKelurahan(kabkotId, kecId, selectedValue = null) {
|
||||||
return $.get('/mitigasi/form-kelurahan', {kabkot_id: kabkotId, kec_id: kecId})
|
return $.get(base_url+'/mitigasi/form-kelurahan', {kabkot_id: kabkotId, kec_id: kecId})
|
||||||
.then(data => {
|
.then(data => {
|
||||||
const $dropdown = $('#kelurahan').empty();
|
const $dropdown = $('#kelurahan').empty();
|
||||||
$dropdown.append('<option value="">Pilih Kelurahan</option>');
|
$dropdown.append('<option value="">Pilih Kelurahan</option>');
|
||||||
|
|
@ -1081,7 +1176,7 @@
|
||||||
// $('#section4').show();
|
// $('#section4').show();
|
||||||
// $('#accordion-4').html('<p class="text-muted ml-1">Loading...</p>');
|
// $('#accordion-4').html('<p class="text-muted ml-1">Loading...</p>');
|
||||||
|
|
||||||
// $.get('/mitigasi/form-mitigasi-question', { mitigation_id })
|
// $.get(base_url+'/mitigasi/form-mitigasi-question', { mitigation_id })
|
||||||
// .done(data => {
|
// .done(data => {
|
||||||
// if (!data || !data.length) {
|
// if (!data || !data.length) {
|
||||||
// $('#accordion-4').html(
|
// $('#accordion-4').html(
|
||||||
|
|
@ -1306,7 +1401,7 @@
|
||||||
// ${allHtml}
|
// ${allHtml}
|
||||||
// ${multipleLayout}
|
// ${multipleLayout}
|
||||||
// <div class="mt-4 text-right">
|
// <div class="mt-4 text-right">
|
||||||
// <button type="submit" id="final-submit" class="btn btn-submit px-4 py-2">
|
// <button type="submit" id="final-submit" class="btn btn-submit btn-primary px-4 py-2">
|
||||||
// Submit
|
// Submit
|
||||||
// </button>
|
// </button>
|
||||||
// </div>
|
// </div>
|
||||||
|
|
@ -1504,7 +1599,7 @@
|
||||||
$('#section4').show();
|
$('#section4').show();
|
||||||
$('#accordion-4').html('<p class="text-muted ml-1">Loading...</p>');
|
$('#accordion-4').html('<p class="text-muted ml-1">Loading...</p>');
|
||||||
|
|
||||||
$.get('/mitigasi/form-mitigasi-question', { mitigation_id })
|
$.get(base_url+'/mitigasi/form-mitigasi-question', { mitigation_id })
|
||||||
.done(data => {
|
.done(data => {
|
||||||
if (!data || !data.length) {
|
if (!data || !data.length) {
|
||||||
$('#accordion-4').html(
|
$('#accordion-4').html(
|
||||||
|
|
@ -1736,7 +1831,7 @@
|
||||||
${allHtml}
|
${allHtml}
|
||||||
${multipleLayout}
|
${multipleLayout}
|
||||||
<div class="mt-4 text-right">
|
<div class="mt-4 text-right">
|
||||||
<button type="submit" id="final-submit" class="btn btn-submit px-4 py-2">
|
<button type="submit" id="final-submit" class="btn btn-submit btn-primary px-4 py-2">
|
||||||
Submit
|
Submit
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -2129,7 +2224,7 @@
|
||||||
formData += '&mitigation_id=' + encodeURIComponent(mitigationId);
|
formData += '&mitigation_id=' + encodeURIComponent(mitigationId);
|
||||||
formData += '&_token=' + $('meta[name="csrf-token"]').attr('content');
|
formData += '&_token=' + $('meta[name="csrf-token"]').attr('content');
|
||||||
|
|
||||||
$.post("{{ route('mitigasi-form.store-part1') }}", formData)
|
$.post("{{ route('modules.mitigasi-form.store-part1') }}", formData)
|
||||||
.done(response => {
|
.done(response => {
|
||||||
if(response.success){
|
if(response.success){
|
||||||
$('#collapse1').one('hidden.bs.collapse', () => {
|
$('#collapse1').one('hidden.bs.collapse', () => {
|
||||||
|
|
@ -2155,7 +2250,7 @@
|
||||||
let formData = $('#collapse2').find('input, select, textarea').serialize();
|
let formData = $('#collapse2').find('input, select, textarea').serialize();
|
||||||
formData += '&_token=' + $('meta[name="csrf-token"]').attr('content');
|
formData += '&_token=' + $('meta[name="csrf-token"]').attr('content');
|
||||||
|
|
||||||
$.post("{{ route('mitigasi-form.store-part2') }}", formData)
|
$.post("{{ route('modules.mitigasi-form.store-part2') }}", formData)
|
||||||
.done(function(response) {
|
.done(function(response) {
|
||||||
if (response.success) {
|
if (response.success) {
|
||||||
$('#collapse2').one('hidden.bs.collapse', () => {
|
$('#collapse2').one('hidden.bs.collapse', () => {
|
||||||
|
|
@ -2177,7 +2272,7 @@
|
||||||
let formData = $('#collapse3').find('input, select, textarea').serialize();
|
let formData = $('#collapse3').find('input, select, textarea').serialize();
|
||||||
formData += '&_token=' + $('meta[name="csrf-token"]').attr('content');
|
formData += '&_token=' + $('meta[name="csrf-token"]').attr('content');
|
||||||
|
|
||||||
$.post("{{ route('mitigasi-form.store-part3') }}", formData)
|
$.post("{{ route('modules.mitigasi-form.store-part3') }}", formData)
|
||||||
.done(function(response) {
|
.done(function(response) {
|
||||||
if (response.success) {
|
if (response.success) {
|
||||||
$('#collapse3').one('hidden.bs.collapse', () => {
|
$('#collapse3').one('hidden.bs.collapse', () => {
|
||||||
|
|
@ -2205,7 +2300,7 @@
|
||||||
|
|
||||||
formData.append('_token', document.querySelector('meta[name="csrf-token"]').getAttribute('content'));
|
formData.append('_token', document.querySelector('meta[name="csrf-token"]').getAttribute('content'));
|
||||||
|
|
||||||
fetch("{{ route('mitigasi-form.store-part4') }}", {
|
fetch("{{ route('modules.mitigasi-form.store-part4') }}", {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
|
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
|
||||||
body: formData.toString()
|
body: formData.toString()
|
||||||
|
|
@ -2232,7 +2327,7 @@
|
||||||
let formData = $('#collapse5').find('input, select, textarea').serialize();
|
let formData = $('#collapse5').find('input, select, textarea').serialize();
|
||||||
formData += '&_token=' + $('meta[name="csrf-token"]').attr('content');
|
formData += '&_token=' + $('meta[name="csrf-token"]').attr('content');
|
||||||
|
|
||||||
$.post("{{ route('mitigasi-form.store-part5') }}", formData)
|
$.post("{{ route('modules.mitigasi-form.store-part5') }}", formData)
|
||||||
.done(function(response) {
|
.done(function(response) {
|
||||||
if(response.success) {
|
if(response.success) {
|
||||||
$('#collapse5').one('hidden.bs.collapse', () => {
|
$('#collapse5').one('hidden.bs.collapse', () => {
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,168 @@
|
||||||
|
@extends('layouts.master')
|
||||||
|
@section('content')
|
||||||
|
<div class="">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header">
|
||||||
|
<i class="mdi mdi-note"></i> {{$title}}
|
||||||
|
</div>
|
||||||
|
<form action="{{route($route.'.store')}}" method="POST" class="" enctype="multipart/form-data">
|
||||||
|
{{csrf_field()}}
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<input type="hidden" name="secure_id" value="{{@$keyId}}">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-12 mb-3">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-xl-12 form-label">Jenis Pengesahan</label>
|
||||||
|
<div class="col-12 ">
|
||||||
|
<select name="type" class="form-control select2 type" id="" required>
|
||||||
|
<option value="">-- PILIH JENIS PENGESAHAN --</option>
|
||||||
|
<option {{@$item->type == 'adaptasi' ? 'selected' : ''}} value="adaptasi">Adaptasi</option>
|
||||||
|
<option {{@$item->type == 'mitigasi' ? 'selected' : ''}} value="mitigasi">Mitigasi</option>
|
||||||
|
<option {{@$item->type == 'inventory' ? 'selected' : ''}} value="inventory">Inventory</option>
|
||||||
|
</select>
|
||||||
|
@error('type')
|
||||||
|
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-12 mb-3 d-none inventory">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-xl-12 form-label">Sektor</label>
|
||||||
|
<div class="col-12 ">
|
||||||
|
<select name="sektor" class="form-control select2" id="" required>
|
||||||
|
<option value="">-- PILIH SEKTOR --</option>
|
||||||
|
</select>
|
||||||
|
@error('type')
|
||||||
|
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-12 mb-3 d-none inventory">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-xl-12 form-label">Sub Sektor</label>
|
||||||
|
<div class="col-12 ">
|
||||||
|
<select name="subsektor[]" class="form-control select2" id="" required multiple>
|
||||||
|
</select>
|
||||||
|
@error('type')
|
||||||
|
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="col-12 mb-3 d-none adaptasi">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-xl-12 form-label">Kegiatan Adaptasi</label>
|
||||||
|
<div class="col-12 ">
|
||||||
|
<select name="kegiatan_adaptasi[]" class="form-control select2" multiple id="" required>
|
||||||
|
@foreach($kegiatanAdaptasi as $a)
|
||||||
|
<option value="{{ $a->id }}">
|
||||||
|
{{ $a->nama_kegiatan }} >>
|
||||||
|
{{ $a->sektor }} >>
|
||||||
|
{{ $a->sub_sektor }}
|
||||||
|
</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
@error('kegiatan')
|
||||||
|
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-12 mb-3 d-none mitigasi">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-xl-12 form-label">Kegiatan Mitigasi</label>
|
||||||
|
<div class="col-12 ">
|
||||||
|
<select name="kegiatan_mitigasi[]" class="form-control select2" multiple id="" required>
|
||||||
|
@foreach($kegiatanMitigasi as $m)
|
||||||
|
<option value="{{ $m->id }}">
|
||||||
|
{{ Str::limit($m->nama_kegiatan, 60) }} >>
|
||||||
|
{{ $m->sektor }} >>
|
||||||
|
{{ $m->sub_sektor }}
|
||||||
|
</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
@error('kegiatan')
|
||||||
|
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-12 mb-3">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-xl-12 form-label">Keterangan (Opsional)</label>
|
||||||
|
<div class="col-12 ">
|
||||||
|
<textarea name="keterangan" class="form-control" id="" cols="10" rows="5">{{@$item->keterangan}}</textarea>
|
||||||
|
@error('keterangan')
|
||||||
|
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 mb-3">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-xl-12 form-label">File Dokumen</label>
|
||||||
|
<div class="col-12 ">
|
||||||
|
<input type="file" name="file" accept=".pdf" class="form-control" id="">
|
||||||
|
@error('file')
|
||||||
|
<span class="invalid-feedback" style="display: block!important;"><strong>{{$message}}</strong></span>
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-footer">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12 text-right">
|
||||||
|
<a href="{{route($route.'.index')}}" class="btn btn-danger"><i class="mdi mdi-cancel"></i> Batal</a>
|
||||||
|
<button type="submit" class="btn btn-success"><i class="mdi mdi-content-save-outline"></i> Simpan</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endsection
|
||||||
|
@section('js')
|
||||||
|
<script>
|
||||||
|
$('.type').on('change',function(){
|
||||||
|
var val = $(this).val();
|
||||||
|
if(val == 'inventory'){
|
||||||
|
$('.mitigasi').addClass('d-none');
|
||||||
|
$('.adaptasi').addClass('d-none');
|
||||||
|
$('.inventory').removeClass('d-none');
|
||||||
|
}else if(val == 'adaptasi'){
|
||||||
|
$('.mitigasi').addClass('d-none');
|
||||||
|
$('.adaptasi').removeClass('d-none');
|
||||||
|
$('.inventory').addClass('d-none');
|
||||||
|
}else if(val == 'mitigasi'){
|
||||||
|
$('.mitigasi').removeClass('d-none');
|
||||||
|
$('.adaptasi').addClass('d-none');
|
||||||
|
$('.inventory').addClass('d-none');
|
||||||
|
}else{
|
||||||
|
$('.mitigasi').addClass('d-none');
|
||||||
|
$('.adaptasi').addClass('d-none');
|
||||||
|
$('.inventory').addClass('d-none');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endsection
|
||||||
|
|
@ -0,0 +1,93 @@
|
||||||
|
@extends('layouts.master')
|
||||||
|
|
||||||
|
@section('css')
|
||||||
|
@endsection
|
||||||
|
@section('content')
|
||||||
|
<div class="">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<div id="toolbar">
|
||||||
|
<a href="{{route($route.'.create')}}" id="btn-add" class="btn btn-primary">
|
||||||
|
<i class="mdi mdi-plus"></i> Tambah Data
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<table class="table w-100"
|
||||||
|
data-search="true"
|
||||||
|
data-toggle="table"
|
||||||
|
data-pagination="true"
|
||||||
|
data-toolbar="#toolbar"
|
||||||
|
data-show-refresh="false"
|
||||||
|
data-url="{{route($route.'.grid')}}"
|
||||||
|
data-ajax-options='{"xhrFields": {"withCredentials": true}}'
|
||||||
|
data-sort-name="ids"
|
||||||
|
data-sort-order="desc"
|
||||||
|
data-page-size="10"
|
||||||
|
data-id-field="id"
|
||||||
|
id="grid-data">
|
||||||
|
<thead class="table-secondary text-primary">
|
||||||
|
<tr>
|
||||||
|
<th data-width="15%" class="text-center" data-field="action">#</th>
|
||||||
|
<th data-field="agency">Instansi</th>
|
||||||
|
<th data-field="type">Jenis Pengesahan</th>
|
||||||
|
<th data-field="file">File</th>
|
||||||
|
<th data-field="status">Status</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody></tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endsection
|
||||||
|
@section('js')
|
||||||
|
<script type="text/javascript">
|
||||||
|
$("#grid-data").on("click", ".remove_data", function() {
|
||||||
|
var base_url = $(this).attr('data-href');
|
||||||
|
var id = $(this).attr('data-id');
|
||||||
|
Swal.fire({
|
||||||
|
title: "Hapus Data!",
|
||||||
|
text: "Apa anda yakin ingin menghapus data ini ?",
|
||||||
|
icon: "warning",
|
||||||
|
showCancelButton: true,
|
||||||
|
confirmButtonColor: "#DD6B55",
|
||||||
|
confirmButtonText: "Ya Hapus Sekarang",
|
||||||
|
cancelButtonText: "Tidak"
|
||||||
|
}).then((result) => {
|
||||||
|
|
||||||
|
if (result.isConfirmed) {
|
||||||
|
|
||||||
|
request = $.ajax({
|
||||||
|
url: base_url,
|
||||||
|
xhrFields: {
|
||||||
|
withCredentials: true
|
||||||
|
},
|
||||||
|
type: "GET",
|
||||||
|
});
|
||||||
|
|
||||||
|
// Callback handler that will be called on success
|
||||||
|
request.done(function(response, textStatus, jqXHR){
|
||||||
|
console.log(response);
|
||||||
|
alertify.success("Berhasil Menhapus Data");
|
||||||
|
$('#grid-data').bootstrapTable('refresh');
|
||||||
|
});
|
||||||
|
|
||||||
|
// Callback handler that will be called on failure
|
||||||
|
request.fail(function (jqXHR, textStatus, errorThrown){
|
||||||
|
alertify.error("Gagal " + textStatus, errorThrown);
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
@endsection
|
||||||
|
|
@ -4,6 +4,7 @@ use App\Http\Controllers\HomeController;
|
||||||
use App\Http\Controllers\DashboardAdaptasiController;
|
use App\Http\Controllers\DashboardAdaptasiController;
|
||||||
use App\Http\Controllers\DashboardController;
|
use App\Http\Controllers\DashboardController;
|
||||||
use App\Http\Controllers\DashboardMitigasiController;
|
use App\Http\Controllers\DashboardMitigasiController;
|
||||||
|
use App\Http\Controllers\LembarPengesahanController;
|
||||||
use App\Http\Controllers\Management\UserController;
|
use App\Http\Controllers\Management\UserController;
|
||||||
use App\Http\Controllers\Management\UserSekolahController;
|
use App\Http\Controllers\Management\UserSekolahController;
|
||||||
use App\Http\Controllers\Management\RoleController;
|
use App\Http\Controllers\Management\RoleController;
|
||||||
|
|
@ -58,7 +59,11 @@ use App\Http\Controllers\Tool\LockActivityController;
|
||||||
use App\Http\Controllers\Tool\ProdusenCalculateController;
|
use App\Http\Controllers\Tool\ProdusenCalculateController;
|
||||||
|
|
||||||
Route::get('dashboard',[HomeController::class,'index'])->name('index');
|
Route::get('dashboard',[HomeController::class,'index'])->name('index');
|
||||||
|
Route::name('pengesahan.')->prefix('pengesahan')->group(function () {
|
||||||
|
Route::resource('/',LembarPengesahanController::class);
|
||||||
|
Route::get('grid',[LembarPengesahanController::class,'grid'])->name('grid');
|
||||||
|
Route::get('update/{id?}',[LembarPengesahanController::class,'update'])->name('update');
|
||||||
|
});
|
||||||
Route::name('dashboard.')->prefix('dashboard')->group(function () {
|
Route::name('dashboard.')->prefix('dashboard')->group(function () {
|
||||||
Route::name('inventory.')->prefix('inventory')->group(function () {
|
Route::name('inventory.')->prefix('inventory')->group(function () {
|
||||||
Route::resource('/',DashboardController::class);
|
Route::resource('/',DashboardController::class);
|
||||||
|
|
@ -245,8 +250,8 @@ Route::name('management.')->prefix('management')->group(function () {
|
||||||
Route::get('/form-adaptasi-sector-dropdown', [FormAdaptasiController::class, 'getSectors']);
|
Route::get('/form-adaptasi-sector-dropdown', [FormAdaptasiController::class, 'getSectors']);
|
||||||
Route::get('/form-adaptasi-subsector-dropdown', [FormAdaptasiController::class, 'getSubSectors']);
|
Route::get('/form-adaptasi-subsector-dropdown', [FormAdaptasiController::class, 'getSubSectors']);
|
||||||
Route::get('/form-adaptasi-kategoriaksi-dropdown', [FormAdaptasiController::class, 'getKategoriAksi']);
|
Route::get('/form-adaptasi-kategoriaksi-dropdown', [FormAdaptasiController::class, 'getKategoriAksi']);
|
||||||
// Route::get('/form-adaptasi-jenisaksi-dropdown', [FormAdaptasiController::class, 'getJenisAksi']);
|
Route::get('/form-adaptasi-jenisaksi-dropdown', [FormAdaptasiController::class, 'getJenisAksi']);
|
||||||
// Route::get('/form-adaptasi-aksi-dropdown', [FormAdaptasiController::class, 'getAksi']);
|
Route::get('/form-adaptasi-aksi-dropdown', [FormAdaptasiController::class, 'getAksi']);
|
||||||
|
|
||||||
// This for partial save
|
// This for partial save
|
||||||
Route::post('/store-part1', [FormAdaptasiController::class, 'storePart1'])->name('adaptasi-form.store-part1');
|
Route::post('/store-part1', [FormAdaptasiController::class, 'storePart1'])->name('adaptasi-form.store-part1');
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue