@extends('layouts.main')

@section('breadcrumbs')
    {{ Breadcrumbs::render('persetujuan-penawaran') }}
@endsection

@section('content')
    <div class="grid gap-5 mx-auto w-full lg:gap-7.5">
        <div class="min-w-full border card border-agi-100 card-grid" data-datatable="false" data-datatable-page-size="10"
            data-datatable-state-save="false" id="persetujuan-penawaran-table"
            data-api-url="{{ route('persetujuan-penawaran.datatables') }}">
            <div class="flex-wrap py-5 card-header bg-agi-50">
                <h3 class="card-title">
                    Daftar Persetujuan Penawaran KJPP
                </h3>
                <div class="flex flex-wrap gap-2 lg:gap-5">
                    <div class="flex">
                        <label class="input input-sm"> <i class="ki-filled ki-magnifier"> </i>
                            <input placeholder="Search Persetujuan Penawaran" id="search" type="text" value="">
                        </label>
                    </div>
                    <div class="flex flex-wrap gap-2.5">
                        <div class="h-[24px] border border-r-gray-200"></div>
                        <a class="btn btn-sm btn-light" href="#"> Export to Excel </a>
                    </div>
                </div>
            </div>


            <div class="card-body">
                <div class="scrollable-x-auto">
                    <table class="table text-sm font-medium text-gray-700 align-middle table-auto table-border"
                        data-datatable-table="true">
                        <thead>
                            <tr>
                                <th class="w-14">
                                    <input class="checkbox checkbox-sm" data-datatable-check="true" type="checkbox" />
                                </th>
                                <th class="min-w-[150px]" data-datatable-column="nomor_registrasi">
                                    <span class="sort"> <span class="sort-label"> Nomor Registrasi </span>
                                        <span class="sort-icon"> </span> </span>
                                </th>
                                <th class="min-w-[150px]" data-datatable-column="nama_debitur">
                                    <span class="sort"> <span class="sort-label"> Nama Debitur </span>
                                        <span class="sort-icon"> </span> </span>
                                </th>
                                <th class="min-w-[150px]" data-datatable-column="nomor_proposal_penawaran">
                                    <span class="sort"> <span class="sort-label"> Nomor Proposal </span>
                                        <span class="sort-icon"> </span> </span>
                                </th>
                                <th class="min-w-[150px]" data-datatable-column="tanggal_proposal_penawaran">
                                    <span class="sort"> <span class="sort-label"> Tanggal Proposal </span>
                                        <span class="sort-icon"> </span> </span>
                                </th>
                                <th class="min-w-[150px]" data-datatable-column="dokumen_persetujuan">
                                    <span class="sort"> <span class="sort-label"> Dokumen Persetujuan </span>
                                        <span class="sort-icon"> </span> </span>
                                </th>
                                <th class="min-w-[150px]" data-datatable-column="biaya_final">
                                    <span class="sort"> <span class="sort-label"> Biaya Final </span>
                                        <span class="sort-icon"> </span> </span>
                                </th>
                                <th class="min-w-[150px]" data-datatable-column="nominal_bayar">
                                    <span class="sort"> <span class="sort-label"> Nominal Bayar </span>
                                        <span class="sort-icon"> </span> </span>
                                </th>
                                <th class="min-w-[150px]" data-datatable-column="catatan">
                                    <span class="sort"> <span class="sort-label"> Catatan </span>
                                        <span class="sort-icon"> </span> </span>
                                </th>
                                <th class="min-w-[50px] text-center" data-datatable-column="actions">Action</th>
                            </tr>
                        </thead>
                    </table>
                </div>
                <div
                    class="flex-col gap-3 justify-center font-medium text-gray-600 card-footer md:justify-between md:flex-row text-2sm">
                    <div class="flex gap-2 items-center">
                        Show
                        <select class="w-16 select select-sm" data-datatable-size="true" name="perpage"> </select> per
                        page
                    </div>
                    <div class="flex gap-4 items-center">
                        <span data-datatable-info="true"> </span>
                        <div class="pagination" data-datatable-pagination="true">
                        </div>
                    </div>
                </div>
            </div>
        </div>
    @endsection

    @push('scripts')
        <script type="text/javascript">
            function prosesData(data) {
                Swal.fire({
                    title: 'Persetujuan Penawaran',
                    text: "Apakah Anda yakin ingin menyetujui data penawaran ini?",
                    icon: 'info',
                    showCancelButton: true,
                    confirmButtonColor: '#3085d6',
                    cancelButtonColor: '#d33',
                    confirmButtonText: 'Ya',
                    cancelButtonText: 'Tidak'
                }).then((result) => {
                    if (result.isConfirmed) {
                        window.location.href = `persetujuan-penawaran/${data}/edit`;
                    } else if (result.dismiss === 'cancel') {
                        $.ajaxSetup({
                            headers: {
                                'X-CSRF-TOKEN': '{{ csrf_token() }}'
                            }
                        });

                        $.ajax(`persetujuan-penawaran/${data}`, {
                            type: 'GET',
                            data: {
                                'status': 'tender'
                            }
                        }).then((response) => {
                            swal.fire('Success!', 'Data Persetujuan telah dikembalikan untuk di kaji ulang',
                                'success').then(() => {
                                window.location.reload();
                            });
                        }).catch((error) => {
                            console.error('Error:', error);
                            Swal.fire('Error!', 'An error occurred while deleting the file.', 'error');
                        });
                    }
                })
            }
        </script>

        <script type="module">
            const element = document.querySelector('#persetujuan-penawaran-table');
            const searchInput = document.getElementById('search');

            const apiUrl = element.getAttribute('data-api-url');
            const dataTableOptions = {
                apiEndpoint: apiUrl,
                pageSize: 5,
                columns: {
                    select: {
                        render: (item, data, context) => {
                            const checkbox = document.createElement('input');
                            checkbox.className = 'checkbox checkbox-sm';
                            checkbox.type = 'checkbox';
                            checkbox.value = data.id.toString();
                            checkbox.setAttribute('data-datatable-row-check', 'true');
                            return checkbox.outerHTML.trim();
                        },
                    },
                    nomor_registrasi: {
                        title: 'Nomor Registrasi',
                    },
                    nama_debitur: {
                        title: 'Nama Debitur',
                        render: (item, data) => {
                            return `${data.debiture.name}`;
                        },
                    },
                    nomor_proposal_penawaran: {
                        title: 'Nomor Proposal',
                        render: (item, data) => {
                            return `${data.penawaran_tender.detail.no_proposal}`;
                        },
                    },
                    tanggal_proposal_penawaran: {
                        title: 'Tanggal Proposal',
                        render: (item, data) => {
                            return window.formatTanggalIndonesia(`${data.penawaran_tender.detail.tgl_proposal}`);
                        },

                    },
                    dokumen_persetujuan: {
                        title: 'Dokumen Persetujuan',
                        render: (item, data) => {
                            if (data.penawaran_tender.detail.dokumen_persetujuan) {
                                return `<a href="storage/${data.penawaran_tender.detail.dokumen_persetujuan}" download="${data.penawaran_tender.detail.dokumen_persetujuan}" target="_blank" class="badge badge-sm badge-outline">
                        Download <i class="ki-filled ki-cloud-download"></i>
                    </a>`;
                            } else {
                                return 'Tidak ada dokumen';
                            }
                        },
                    },
                    biaya_final: {
                        title: 'Biaya Final',
                        render: (item, data) => {
                            return window.formatRupiah(`${data.penawaran_tender.detail.biaya_penawaran}`);
                        },
                    },
                    nominal_bayar: {
                        title: 'Nominal Bayar',
                        render: (item, data) => {
                            return data.penawaran_tender?.persetujuan?.nominal_bayar ?
                                `${window.formatRupiah(data.penawaran_tender.persetujuan?.nominal_bayar)}` :
                                `${window.formatRupiah(data.penawaran_tender.persetujuan?.biaya_final)}`;
                        },
                    },
                    catatan: {
                        title: 'Catatan',
                        render: (item, data) => {
                            if (data.penawaran_tender.persetujuan) {
                                return data.penawaran_tender.persetujuan.catatan ?? data.approve_keterangan_bayar;
                            }
                            return '-';
                        },
                    },
                    actions: {
                        title: 'Action',
                        render: (item, data) => {
                            return `<div class="flex flex-nowrap justify-center">
                            <a class="btn btn-sm btn-outline btn-info" onclick="prosesData(${data.id})">
                                <i class="ki-filled ki-double-check"></i>
                            </a>
                        </div>`;
                        },
                    }
                },
            };

            let dataTable = new KTDataTable(element, dataTableOptions);
            // Custom search functionality
            searchInput.addEventListener('input', function() {
                const searchValue = this.value.trim();
                dataTable.search(searchValue, true);
            });
        </script>
    @endpush
