data = $data; } public function view(): View { return view('lpj::component.kertas-kerja', [ 'data' => $this->data, ]); } // public function collection() // { // $rows = []; // $nomor = 1; // $fields = [ // 'jenis_aset' => 'Jenis Aset', // 'luas_tanah' => 'Luas Tanah (M²)', // 'luas_bangunan' => 'Luas Bangunan (M²)', // 'harga' => 'Harga Transaksi/Penawaran', // 'tanggal_penawaran' => 'Tanggal Penawaran/Transaksi', // 'diskon' => 'Diskon %', // 'esitmasi_harga' => 'Esitmasi Harga Transaksi (Rp)', // 'no_telepon' => 'Telepon Contact Person', // 'nama_nara_sumbr' => 'Nama Nara Sumber', // 'status_nara_sumbr' => 'Status Nara Sumber', // 'waktu_transaksi' => 'Waktu Transaksi/Penawaran', // 'alamat' => 'Alamat Titik Gps', // 'jalan' => 'Jalan', // 'desa' => 'Desa/Kelurahan', // 'kecamatan' => 'Kecamatan', // 'kabupaten' => 'Kabupaten', // 'provinsi' => 'Provinsi', // 'jarak_pembanding' => 'Jarak Pembanding dengan Objek', // 'elevasi' => 'Estimasi Ranking Tanah', // 'peruntukan' => 'Estiamsi Rangkin Bangunan' // ]; // foreach ($fields as $key => $label) { // $rows[] = [ // $nomor++, // $label, // $this->data['objek'][$key] ?? '', // $this->data['pembanding1'][$key] ?? '', // $this->data['pembanding2'][$key] ?? '', // $this->data['pembanding3'][$key] ?? '' // ]; // } // // B. Perhitungan Penyesuaian // $rows[] = ['']; // $rows[] = ['']; // $rows[] = ['B. Estimasi Nilai Tanah Pembanding dengan Teknik Penyisaan Tanah untuk mendapatkan per meter persegi estimasi Nilai Tanah Pembanding']; // $rows[] = ['No.','Uraian', 'Objek Penilaian', 'Data Pembanding 1', 'Data Pembanding 2', 'Data Pembanding 3']; // $nostimasi = 1; // $filedEstimasi = [ // 'estimasi' => 'Estimasi Biaya Pengganti Baru Bangunan (Rp)', // 'estimasi_spl' => 'Estimasi Biaya Pengganti Baru SPL (Rp)', // 'penyusutan' => 'Penyusutan Fisik Banguna', // 'a' => 'a. rincian ttipe bangunan (MAPPI)', // 'b' => 'b. umur ekonomis (MAPPI)', // 'c' => 'c. estimasi Tahun tahun visual dengan mempertimbangkan renovasi', // 'd' => 'd. Sehingga sisa umur efektif', // 'e' => 'e. kondisi bagunan', // 'f' => 'f.sehinggan penyusutan fisik', // 'penyusutan_fungsi' => 'Penyusutan fungsi Bangunan (%)', // 'penyusutan_ekonomi' => 'Penyusutan Ekonomi Bangunan (%)', // 'total_penyusutan' => 'Total Penyusutan (%)', // 'estimasi_nilai' => 'Estimasi Nilai Bangunan dan SPL (Rp)', // 'estimasi_tanah' => 'Estimasi Nilai Tanah Pembanding (Rp)', // 'estimasi_nilai' => 'Estimasi Nilai Tanah Pembanding (Rp)', // ]; // foreach ($filedEstimasi as $key => $label) { // $rows[] = [ // $nostimasi++, // $label, // $this->data['estimasi'][$key] ?? '', // $this->data['estimasi1'][$key] ?? '', // $this->data['estimasi2'][$key] ?? '', // $this->data['estimasi3'][$key] ?? '' // ]; // } // $row[] = ['']; // $row[] = ['']; // $rows[] = ['INDIKASI NILAI TANAHATAS OBJEK PENILAIAN']; // $indikasi=[ // 'luas_tanah' => 'Luas Tanah ', // 'indikasi_per' => 'INDIKASI TANAH PER M2 (RP/M2)', // 'indikasi_total' => 'INDIKASI TANAH TOTAL(RP)', // 'varian' => 'VARIANT(%)', // ]; // foreach ($indikasi as $key => $label) { // $rows[] = [ // $label, // $this->data['indikasi'][$key] ?? '', // ]; // } // // C. Peta Lokasi // $rows[] = ['']; // $rows[] = ['']; // $rows[] = ['C. Peta Lokasi']; // $rows[] = [$this->data['foto_objek']['foto_objek_peta'] ?? '']; // // D. Foto Objek dan Data Pembanding // $rows[] = ['']; // $rows[] = ['D. Foto Objek dan Data Pembanding']; // $rows[] = [ // $this->data['foto_objek1']['foto_objek'] ?? '', // $this->data['foto_objek2']['foto_objek'] ?? '', // '', '', '' // ]; // // E. Foto Objek // $rows[] = ['']; // $rows[] = ['E. Foto Objek']; // $rows[] = [ // $this->data['foto']['foto_objek'] ?? '', // $this->data['foto']['foto_objek'] ?? '', // '', '', '' // ]; // return collect($rows); // } // public function headings(): array // { // return [ // ['KERTAS KERJA PENILAIAN'], // ['Pendekatan Pasar'], // ['Metode Perbandingan Data Pasar'], // ['Tanggal Penilaian: ' . ($this->headerInfo['tanggal_penilaian'] ?? '')], // ['Nama Pemilik Aset: ' . ($this->headerInfo['nama_pemilik'] ?? '')], // ['Nama Pemberi Tugas: ' . ($this->headerInfo['nama_pemberi_tugas'] ?? '')], // ['Lokasi: ' . ($this->headerInfo['lokasi_lengkap'] ?? '')], // ['Nama Debitur: ' . ($this->headerInfo['nama_debitur'] ?? '')], // [''], // ['A. INFORMASI UMUM'], // ['No.','Uraian', 'Objek Penilaian', 'Data Pembanding 1', 'Data Pembanding 2', 'Data Pembanding 3'] // ]; // } // public function registerEvents(): array // { // return [ // AfterSheet::class => function (AfterSheet $event) { // // Styling untuk header utama // // Styling untuk setiap section header // $sectionRows = [10, 34, 56, 46, 52]; // Sesuaikan dengan posisi setiap section // foreach ($sectionRows as $row) { // $event->sheet->getStyle("A{$row}:F{$row}")->getFill() // ->setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID) // ->getStartColor()->setRGB('E2EFDA'); // } // // Merge cells untuk headers // $event->sheet->mergeCells('A1:E1'); // $event->sheet->mergeCells('A2:E2'); // $event->sheet->mergeCells('A4:E4'); // $event->sheet->mergeCells('A5:E5'); // $event->sheet->mergeCells('A6:E6'); // $event->sheet->mergeCells('A7:E7'); // $event->sheet->mergeCells('A8:E8'); // // Alignment // $event->sheet->getStyle('A1:E8')->getAlignment() // ->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_LEFT); // } // ]; // } // public function columnWidths(): array // { // return [ // 'A' => 5, // 'B' => 30, // 'C' => 30, // 'D' => 30, // 'E' => 30, // 'F' => 30, // ]; // } // public function styles(Worksheet $sheet) // { // return [ // // Style for the main header // // Style for section headers // 10 => ['font' => ['bold' => true]], // A. Informasi Umum // 34 => ['font' => ['bold' => true]], // B. Estimasi Nilai Tanah // 35 => ['font' => ['bold' => true]], // C. Peta Lokasi // 57 => ['font' => ['bold' => true]], // D. Foto Objek dan Pembanding // 60 => ['font' => ['bold' => true]], // E. Foto Objek // // Default styling for columns // 'A:J' => [ // 'alignment' => ['horizontal' => 'left', 'vertical' => 'center'], // 'wrapText' => true, // ], // // Style for other sections (like photo and map sections) // // Style for the other headers // 'A11:F11' => [ // 'font' => ['bold' => true], // 'fill' => ['fillType' => 'solid', 'color' => ['rgb' => 'E2EFDA']], // 'borders' => [ // 'allBorders' => [ // 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN // ] // ] // ], // 'A12:F31' => [ // 'borders' => [ // 'allBorders' => [ // 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN // ] // ] // ], // 'A35:F35' => [ // 'font' => ['bold' => true], // 'fill' => ['fillType' => 'solid', 'color' => ['rgb' => 'E2EFDA']], // 'borders' => [ // 'allBorders' => [ // 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN // ] // ] // ], // 'A35:F49' => [ // 'borders' => [ // 'allBorders' => [ // 'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN // ] // ] // ], // // end header // ]; // } }