main
Ilham Wara Nugroho 2026-06-10 13:17:34 +07:00
parent 8759d8d31f
commit a125e2eb10
10 changed files with 730 additions and 493 deletions

View File

@ -50,6 +50,7 @@ class FormController implements HasMiddleware
{ {
// Fetch the form from the database based on sector and code // Fetch the form from the database based on sector and code
$form = SettingForm::rowActive()->where('sector', $sector)->where('code', $code)->first(); $form = SettingForm::rowActive()->where('sector', $sector)->where('code', $code)->first();
// dd($code);
if (!$form) { if (!$form) {
abort(404, 'Page not found'); abort(404, 'Page not found');

View File

@ -2,8 +2,11 @@
namespace App\Models; namespace App\Models;
use Illuminate\Database\Eloquent\SoftDeletes;
class SettingForm extends SigdModel class SettingForm extends SigdModel
{ {
use SoftDeletes;
protected $table = 'setting_form'; protected $table = 'setting_form';
protected $fillable = [ protected $fillable = [
'id', 'id',

View File

@ -11,6 +11,7 @@
"laravel/framework": "^11.31", "laravel/framework": "^11.31",
"laravel/tinker": "^2.9", "laravel/tinker": "^2.9",
"laravel/ui": "^4.6", "laravel/ui": "^4.6",
"phpoffice/phpword": "dev-master",
"maatwebsite/excel": "^3.1", "maatwebsite/excel": "^3.1",
"realrashid/sweet-alert": "^7.2", "realrashid/sweet-alert": "^7.2",
"yajra/laravel-datatables": "^11.0" "yajra/laravel-datatables": "^11.0"

1156
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -15,6 +15,7 @@
</div> </div>
<div class="input-group"> <div class="input-group">
<select name="instansi" id="instansi" class="form-control"> <select name="instansi" id="instansi" class="form-control">
<option value="" selected> - </option>
@if ($scope === \App\Enums\LingkupAksesData::ALL->value) @if ($scope === \App\Enums\LingkupAksesData::ALL->value)
<option value="none" @if ($instansi === null || $instansi == 'none') selected @endif>DATA <option value="none" @if ($instansi === null || $instansi == 'none') selected @endif>DATA
KONSOLIDASI</option> KONSOLIDASI</option>
@ -38,30 +39,30 @@
@include('modules.form.approve') @include('modules.form.approve')
</div> </div>
<div class="form-group mb-0 mr-2"> <div class="form-group mb-0 mr-2">
<button type="button" title="Tambah Data" class="btn btn-primary mb-2 mb-md-0" onclick="return showCreateModal()" <a title="Tambah Data" class="btn btn-primary mb-2 mb-md-0" onclick="return showCreateModal()"
{{ !$activityForm || $instansi === 'all' || $limitInternal ? 'disabled' : '' }}> {{ !$activityForm || $instansi === 'all' || $limitInternal ? 'disabled' : '' }}>
<i class="bx bx-plus"></i> <i class="bx bx-plus"></i>
</button> </a>
</div> </div>
<div class="form-group mb-0 mr-2"> <div class="form-group mb-0 mr-2">
<button type="button" class="btn btn-secondary mb-2 mb-md-0" onclick="showMetadataModal()" <a class="btn btn-secondary mb-2 mb-md-0" onclick="showMetadataModal()"
{{ !$activityForm || $instansi === 'all' || $limitInternal ? 'disabled' : '' }}> {{ !$activityForm || $instansi === 'all' || $limitInternal ? 'disabled' : '' }}>
<i class="bx bx-menu"></i> <i class="bx bx-menu"></i>
</button> </a>
</div> </div>
<div class="form-group mb-0 mr-2"> <div class="form-group mb-0 mr-2">
<button type="button" class="btn btn-info mb-2 mb-md-0" onclick="showActivityUserModal()" <a class="btn btn-info mb-2 mb-md-0" onclick="showActivityUserModal()"
{{ !$activityForm || $instansi === 'all' || $limitInternal ? 'disabled' : '' }}> {{ !$activityForm || $instansi === 'all' || $limitInternal ? 'disabled' : '' }}>
Aktivitas User Aktivitas User
</button> </a>
</div> </div>
<div class="form-group mb-0 mr-2"> <div class="form-group mb-0 mr-2">
<a href="{{ $routeExport }}" class="btn btn-success mb-2 mb-md-0">Ekspor Excel</a> <a href="{{ $routeExport }}" class="btn btn-success mb-2 mb-md-0">Ekspor Excel</a>
</div> </div>
<div class="form-group mb-0 mr-2"> <div class="form-group mb-0 mr-2">
<button type="button" class="btn btn-warning mb-2 mb-md-0" data-bs-toggle="modal" data-bs-target="#importModal"> <a class="btn btn-warning mb-2 mb-md-0" data-bs-toggle="modal" data-bs-target="#importModal">
Impor Data Aktivitas Impor Data Aktivitas
</button> </a>
</div> </div>
</div> </div>
</div> </div>

View File

@ -43,7 +43,7 @@
</div> </div>
<div class="input-group"> <div class="input-group">
<select name="instansi" id="instansi" class="form-control"> <select name="instansi" id="instansi" class="form-control">
@if ($scope === \App\Enums\LingkupAksesData::ALL->value) @if (@$scope === \App\Enums\LingkupAksesData::ALL->value)
<option value="none" @if ($instansi === null || $instansi == 'none') selected @endif>DATA <option value="none" @if ($instansi === null || $instansi == 'none') selected @endif>DATA
KONSOLIDASI</option> KONSOLIDASI</option>
@if ($agencies->isNotEmpty()) @if ($agencies->isNotEmpty())

View File

@ -9,9 +9,7 @@
$('#filterForm').submit(); $('#filterForm').submit();
}); });
$('#instansi').select2({ $('#instansi').select2().on('change', function() {
placeholder: 'Pilih Instansi',
}).on('change', function() {
$('#filterForm').submit(); $('#filterForm').submit();
}); });

View File

@ -2,6 +2,7 @@
@csrf @csrf
<input type="hidden" name="inventoryYear" value="{{ $inventoryYear }}"> <input type="hidden" name="inventoryYear" value="{{ $inventoryYear }}">
<input type="hidden" name="instansi" value="{{ $instansi }}"> <input type="hidden" name="instansi" value="{{ $instansi }}">
{{-- @if (@request()->instansi || @$instansi) --}}
<div class="table-responsive mt-3" style="overflow-x: auto;"> <div class="table-responsive mt-3" style="overflow-x: auto;">
<table class="table table-bordered table-detail"> <table class="table table-bordered table-detail">
<thead class="table-info text-white"> <thead class="table-info text-white">
@ -79,4 +80,5 @@
</div> </div>
<br /> <br />
<button type="submit" class="btn btn-primary" {{ $isLocked || $instansi === 'all' || $limitInternal ? 'disabled' : '' }}>Simpan</button> <button type="submit" class="btn btn-primary" {{ $isLocked || $instansi === 'all' || $limitInternal ? 'disabled' : '' }}>Simpan</button>
{{-- @endif --}}
</form> </form>

View File

@ -7,6 +7,41 @@ use App\Http\Controllers\AjaxController;
use App\Http\Controllers\Auth\CustomLoginController; use App\Http\Controllers\Auth\CustomLoginController;
use App\Http\Controllers\Auth\CustomRegisterController; use App\Http\Controllers\Auth\CustomRegisterController;
Route::get('testPdf',function(){
$phpWord = new \PhpOffice\PhpWord\PhpWord();
$templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor(asset('assets/dokumen_pengesahan.docx'));
$templateProcessor->setValue('tahun_dokumen', date('Y'));
$templateProcessor->setValue('tahun_data', date('Y')-1);
$templateProcessor->setValue('pengampu_data', 'BPOM');
$templateProcessor->setValue('sektor', 'Energi,Mitigasi');
$templateProcessor->setValue('jenis_data', 'Jenis Data');
$templateProcessor->setValue('sumber_data', 'Sumber Data');
$templateProcessor->setValue('kepala_pengampu_data', 'Ilham Wara Nugroho');
$templateProcessor->setValue('nama_instansi', 'BPOM');
// Simpan hasil sementara
// $tempDocx = public_path('123.docx');
// Buat file temporary
$tempFile = tempnam(sys_get_temp_dir(), 'dokumen_') . '.docx';
$templateProcessor->saveAs($tempFile);
// Nama file saat didownload
$downloadName = 'dokumen_pengesahan_' . date('YmdHis') . '.docx';
return response()
->download($tempFile, $downloadName)
->deleteFileAfterSend(true);
// convertDocxToPdf($tempDocx,public_path('123.pdf'),'123');
// dd($pdf);
});
Route::get('/',[FrontController::class,'index'])->name('index'); Route::get('/',[FrontController::class,'index'])->name('index');
Route::get('/rencana-aksi',[FrontController::class,'rencanaAksi'])->name('rencana-aksi'); Route::get('/rencana-aksi',[FrontController::class,'rencanaAksi'])->name('rencana-aksi');
Route::get('/artikel',[FrontController::class,'artikel'])->name('artikel'); Route::get('/artikel',[FrontController::class,'artikel'])->name('artikel');