<?= $this->extend('layout/template'); ?>
<?= $this->section('content'); ?>

<nav class="page-breadcrumb">
    <ol class="breadcrumb">
        <li class="breadcrumb-item"><?= $Breadcumb ?></li>
        <li class="breadcrumb-item active" aria-current="page">Data <?= $Breadcumb ?></li>
    </ol>
</nav>

<div class="row">
    <div class="col-md-12 grid-margin stretch-card">
        <div class="card">
            <div class="card-body">

                <div class="col-md-2 grid-margin stretch-card">
                    <a class="btn btn-primary me-2" data-bs-toggle="modal" data-bs-target="#tambahModal">Tambah Data</a>

                    <!-- <a class="btn btn-success" data-bs-toggle="modal" data-bs-target="#importModal"> Import Data</a> -->
                </div>

                <h6 class="card-title">Data <?= $Breadcumb ?></h6>

                <div class="table-responsive">
                    <table id="dataTableExample" class="table table-bordered table-hover table no-wrap">
                        <thead class="table-info text-dark">
                            <tr>
                                <th>#</th>
                                <th>Nama Pasien</th>
                                <th>Tanggal Kunjungan</th>
                                <th>Keluhan</th>
                                <th>Tekanan Darah</th>
                                <th>Denyut Nadi</th>
                                <th>Suhu Tubuh (°C)</th>
                                <th>Laju Nafas</th>
                                <th>BB / TB (kg/cm)</th>
                                <th>Gigi Dirawat</th>
                                <th>Diagnosa</th>
                                <th>Terapi</th>
                                <th>Edukasi</th>
                                <th>Aksi</th>
                            </tr>
                        </thead>
                        <tbody>
                            <?php $no = 1; ?>
                            <?php if (!empty($rekam_medis)): ?>
                                <?php foreach ($rekam_medis as $row): ?>
                                    <tr>
                                        <td><?= $no++ ?></td>
                                        <td><?= esc($row['nama_pasien']) ?></td>
                                        <td><?= date('d-m-Y H:i', strtotime($row['tanggal_kunjungan'])) ?></td>
                                        <td><?= esc($row['keluhan']) ?></td>
                                        <td><?= esc($row['tekanan_darah']) ?></td>
                                        <td><?= esc($row['denyut_nadi']) ?> bpm</td>
                                        <td><?= esc($row['suhu_tubuh']) ?> °C</td>
                                        <td><?= esc($row['laju_nafas']) ?> x/menit</td>
                                        <td><?= esc($row['berat_badan']) ?> kg / <?= esc($row['tinggi_badan']) ?> cm</td>
                                        <td><?= esc($row['gigi_yang_dirawat']) ?></td>
                                        <td><?= esc($row['diagnosa']) ?></td>
                                        <td><?= esc($row['terapi']) ?></td>
                                        <td><?= esc($row['edukasi']) ?></td>
                                        <td>
                                            <button class="btn btn-warning btn-sm" onclick="updateData('<?= $row['id_rekam_medis'] ?>')">
                                                <i data-feather="edit"></i>
                                            </button>
                                            <button class="btn btn-danger btn-sm" onclick="deleteData('<?= $row['id_rekam_medis'] ?>')">
                                                <i data-feather="trash-2"></i>
                                            </button>
                                        </td>
                                    </tr>
                                <?php endforeach; ?>
                            <?php else: ?>
                                <tr>
                                    <td colspan="14" class="text-center text-muted">Tidak ada data rekam medis.</td>
                                </tr>
                            <?php endif; ?>
                        </tbody>
                    </table>
                </div>


            </div>

        </div>
    </div>
</div>

<!-- Modal Tambah Data -->
<div class="modal fade" id="tambahModal" tabindex="-1" role="dialog" aria-labelledby="tambahModalLabel" aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="tambahModalLabel">Tambah Data <?= $Breadcumb ?></h5>

                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="btn-close"></button>
            </div>
            <div class="modal-body">
                <form id="formTambahData">
                    <div class="mb-3">
                        <label for="id_kunjungan">Nama Pasien</label>
                        <select class="form-control" id="id_kunjungan" name="id_kunjungan" required>
                            <option value="">-- Pilih Pasien --</option>
                            <?php foreach ($kunjungan as $k): ?>
                                <option value="<?= $k['id_kunjungan'] ?>">
                                    <?= esc($k['nama_pasien']) ?> - <?= date('d/m/Y', strtotime($k['tanggal_kunjungan'])) ?>
                                </option>
                            <?php endforeach; ?>
                        </select>
                    </div>

                    <div class="mb-3">
                        <label for="keluhan">Keluhan</label>
                        <textarea class="form-control" id="keluhan" name="keluhan" rows="3" required></textarea>
                    </div>

                    <div class="row">
                        <div class="col-md-6 mb-3">
                            <label for="tekanan_darah">Tekanan Darah</label>
                            <input type="text" class="form-control" id="tekanan_darah" name="tekanan_darah" placeholder="120/80" required>
                        </div>
                        <div class="col-md-6 mb-3">
                            <label for="denyut_nadi">Denyut Nadi (bpm)</label>
                            <input type="number" class="form-control" id="denyut_nadi" name="denyut_nadi" required>
                        </div>
                        <div class="col-md-6 mb-3">
                            <label for="suhu_tubuh">Suhu Tubuh (°C)</label>
                            <input type="number" step="0.1" class="form-control" id="suhu_tubuh" name="suhu_tubuh" required>
                        </div>
                        <div class="col-md-6 mb-3">
                            <label for="laju_nafas">Laju Nafas (x/menit)</label>
                            <input type="number" class="form-control" id="laju_nafas" name="laju_nafas" required>
                        </div>
                        <div class="col-md-6 mb-3">
                            <label for="berat_badan">Berat Badan (kg)</label>
                            <input type="number" step="0.01" class="form-control" id="berat_badan" name="berat_badan" required>
                        </div>
                        <div class="col-md-6 mb-3">
                            <label for="tinggi_badan">Tinggi Badan (cm)</label>
                            <input type="number" step="0.01" class="form-control" id="tinggi_badan" name="tinggi_badan" required>
                        </div>
                    </div>

                    <div class="mb-3">
                        <label for="gigi_yang_dirawat">Gigi yang Dirawat</label>
                        <input type="text" class="form-control" id="gigi_yang_dirawat" name="gigi_yang_dirawat" placeholder="Contoh: M3, P2" required>
                    </div>

                    <div class="mb-3">
                        <label for="diagnosa">Diagnosa</label>
                        <textarea class="form-control" id="diagnosa" name="diagnosa" rows="2" required></textarea>
                    </div>

                    <div class="mb-3">
                        <label for="terapi">Terapi</label>
                        <textarea class="form-control" id="terapi" name="terapi" rows="2" required></textarea>
                    </div>

                    <div class="mb-3">
                        <label for="edukasi">Edukasi</label>
                        <textarea class="form-control" id="edukasi" name="edukasi" rows="2"></textarea>
                    </div>

                    <div class="modal-footer">
                        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Batal</button>
                        <button type="submit" class="btn btn-primary">Simpan</button>
                    </div>
                </form>

            </div>
        </div>
    </div>
</div>

<!-- Modal Edit Data -->
<div class="modal fade" id="editModal" tabindex="-1" role="dialog" aria-labelledby="editModalLabel" aria-hidden="true">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="editModalLabel">Edit Data <?= $Breadcumb ?></h5>
                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="btn-close"></button>
            </div>
            <div class="modal-body">

                <form id="formEditData">
                    <input type="hidden" id="edit_id_rekam_medis" name="id_rekam_medis">

                    <div class="mb-3">
                        <label for="edit_id_kunjungan">Nama Pasien</label>
                        <select class="form-control" id="edit_id_kunjungan" name="id_kunjungan" required>
                            <option value="">-- Pilih Pasien --</option>
                            <?php foreach ($kunjungan as $k): ?>
                                <option value="<?= $k['id_kunjungan'] ?>">
                                    <?= esc($k['nama_pasien']) ?> - <?= date('d/m/Y', strtotime($k['tanggal_kunjungan'])) ?>
                                </option>
                            <?php endforeach; ?>
                        </select>
                    </div>

                    <div class="mb-3">
                        <label for="edit_keluhan">Keluhan</label>
                        <textarea class="form-control" id="edit_keluhan" name="keluhan" rows="3" required></textarea>
                    </div>

                    <div class="row">
                        <div class="col-md-6 mb-3">
                            <label for="edit_tekanan_darah">Tekanan Darah</label>
                            <input type="text" class="form-control" id="edit_tekanan_darah" name="tekanan_darah" required>
                        </div>
                        <div class="col-md-6 mb-3">
                            <label for="edit_denyut_nadi">Denyut Nadi (bpm)</label>
                            <input type="number" class="form-control" id="edit_denyut_nadi" name="denyut_nadi" required>
                        </div>
                        <div class="col-md-6 mb-3">
                            <label for="edit_suhu_tubuh">Suhu Tubuh (°C)</label>
                            <input type="number" step="0.1" class="form-control" id="edit_suhu_tubuh" name="suhu_tubuh" required>
                        </div>
                        <div class="col-md-6 mb-3">
                            <label for="edit_laju_nafas">Laju Nafas (x/menit)</label>
                            <input type="number" class="form-control" id="edit_laju_nafas" name="laju_nafas" required>
                        </div>
                        <div class="col-md-6 mb-3">
                            <label for="edit_berat_badan">Berat Badan (kg)</label>
                            <input type="number" step="0.01" class="form-control" id="edit_berat_badan" name="berat_badan" required>
                        </div>
                        <div class="col-md-6 mb-3">
                            <label for="edit_tinggi_badan">Tinggi Badan (cm)</label>
                            <input type="number" step="0.01" class="form-control" id="edit_tinggi_badan" name="tinggi_badan" required>
                        </div>
                    </div>

                    <div class="mb-3">
                        <label for="edit_gigi_yang_dirawat">Gigi yang Dirawat</label>
                        <input type="text" class="form-control" id="edit_gigi_yang_dirawat" name="gigi_yang_dirawat" required>
                    </div>

                    <div class="mb-3">
                        <label for="edit_diagnosa">Diagnosa</label>
                        <textarea class="form-control" id="edit_diagnosa" name="diagnosa" rows="2" required></textarea>
                    </div>

                    <div class="mb-3">
                        <label for="edit_terapi">Terapi</label>
                        <textarea class="form-control" id="edit_terapi" name="terapi" rows="2" required></textarea>
                    </div>

                    <div class="mb-3">
                        <label for="edit_edukasi">Edukasi</label>
                        <textarea class="form-control" id="edit_edukasi" name="edukasi" rows="2"></textarea>
                    </div>

                    <div class="modal-footer">
                        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Batal</button>
                        <button type="submit" class="btn btn-primary">Update</button>
                    </div>
                </form>


            </div>
        </div>
    </div>
</div>


<!-- untuk script untuk select2 -->
<script>
    $(document).ready(function() {
        // Ketika modal ditampilkan
        $('#tambahModal').on('shown.bs.modal', function() {
            // Inisialisasi Select2
            $('#id_kunjungan').select2({
                dropdownParent: $('#tambahModal'), // Memastikan dropdown muncul di dalam modal
                placeholder: "Silahkan Pilih",
                allowClear: true
            });
        });

        // Inisialisasi Select2 untuk modal edit
        $('#editModal').on('shown.bs.modal', function() {
            // Inisialisasi Select2
            $('#edit_id_kunjungan').select2({
                dropdownParent: $('#editModal'), // Memastikan dropdown muncul di dalam modal
                placeholder: "Silahkan Pilih",
                allowClear: true
            });
        });
    });
</script>



<!-- untuk form tambah data -->
<script>
    $(document).ready(function() {
        // Ketika form tambah data disubmit
        $('#formTambahData').submit(function(e) {
            e.preventDefault(); // Mencegah form untuk submit biasa

            var formData = $(this).serialize(); // Mengambil data form

            $.ajax({
                url: "<?= base_url('rekammedis/tambahData') ?>", // Ganti dengan URL controller untuk tambah data
                type: "POST",
                data: formData,
                dataType: "json", // Menyatakan bahwa response yang diharapkan adalah JSON
                success: function(response) {
                    // Jika berhasil menambahkan data
                    if (response.status === 'success') {
                        Swal.fire({
                            title: 'Berhasil!',
                            text: response.message,
                            icon: 'success',
                            confirmButtonText: 'OK'
                        }).then((result) => {
                            if (result.isConfirmed) {
                                // Menutup modal form
                                $('#tambahModal').modal('hide');

                                // Menyegarkan tabel data tanpa reload
                                location.reload(); // Atau panggil fungsi khusus untuk refresh tabel
                            }
                        });
                    } else if (response.status === 'error') {
                        // Jika terjadi kesalahan
                        Swal.fire({
                            title: 'Gagal!',
                            text: response.message,
                            icon: 'error',
                            confirmButtonText: 'Tutup'
                        });
                    }
                },
                error: function(xhr, status, error) {
                    // Jika terjadi error pada request
                    Swal.fire({
                        title: 'Kesalahan!',
                        text: 'Terjadi kesalahan dalam proses. Silakan coba lagi.',
                        icon: 'error',
                        confirmButtonText: 'Tutup'
                    });
                }
            });
        });
    });
</script>

<!-- Ambil Data untuk nilai Update -->
<script>
    // Fungsi untuk memuat data ke modal edit
    function updateData(id_rekam_medis) {
        $.ajax({
            url: "<?= base_url('rekammedis/getData') ?>/" + id_rekam_medis, // URL untuk mendapatkan data berdasarkan ID
            type: "GET",
            dataType: "json",
            success: function(response) {
                if (response) {
                    $('#edit_id_rekam_medis').val(response.id_rekam_medis);
                    $('#edit_id_kunjungan').val(response.id_kunjungan); // otomatis sudah mencakup pasien & dokter

                    $('#edit_keluhan').val(response.keluhan);
                    $('#edit_tekanan_darah').val(response.tekanan_darah);
                    $('#edit_denyut_nadi').val(response.denyut_nadi);
                    $('#edit_suhu_tubuh').val(response.suhu_tubuh);
                    $('#edit_laju_nafas').val(response.laju_nafas);
                    $('#edit_berat_badan').val(response.berat_badan);
                    $('#edit_tinggi_badan').val(response.tinggi_badan);
                    $('#edit_gigi_yang_dirawat').val(response.gigi_yang_dirawat);
                    $('#edit_diagnosa').val(response.diagnosa);
                    $('#edit_terapi').val(response.terapi);
                    $('#edit_edukasi').val(response.edukasi);


                    $('#editModal').modal('show'); // Tampilkan modal
                } else {
                    alert('Data tidak ditemukan!');
                }
            },
            error: function(xhr, status, error) {
                alert('Terjadi kesalahan. Silakan coba lagi.');
            }
        });
    }
</script>

<!-- // Fungsi untuk submit form update data -->
<script>
    $('#formEditData').submit(function(e) {
        e.preventDefault(); // Mencegah submit biasa

        var formData = $(this).serialize(); // Ambil data form

        $.ajax({
            url: "<?= base_url('rekammedis/updateData') ?>", // URL untuk update data
            type: "POST",
            data: formData,
            dataType: "json",
            success: function(response) {
                // Jika berhasil menambahkan data
                if (response.status === 'success') {
                    Swal.fire({
                        title: 'Berhasil!',
                        text: response.message,
                        icon: 'success',
                        confirmButtonText: 'OK'
                    }).then((result) => {
                        if (result.isConfirmed) {
                            // Menutup modal form
                            $('#tambahModal').modal('hide');

                            // Menyegarkan tabel data tanpa reload
                            location.reload(); // Atau panggil fungsi khusus untuk refresh tabel
                        }
                    });
                } else if (response.status === 'error') {
                    // Jika terjadi kesalahan
                    Swal.fire({
                        title: 'Gagal!',
                        text: response.message,
                        icon: 'error',
                        confirmButtonText: 'Tutup'
                    });
                }
            },
            error: function(xhr, status, error) {
                // Jika terjadi error pada request
                Swal.fire({
                    title: 'Kesalahan!',
                    text: 'Terjadi kesalahan dalam proses. Silakan coba lagi.',
                    icon: 'error',
                    confirmButtonText: 'Tutup'
                });
            }
        });
    });
</script>

<!-- Untuk delete -->
<script>
    function deleteData(id_rekam_medis) {
        // Konfirmasi untuk menghapus data
        Swal.fire({
            title: 'Apakah Anda yakin ingin menghapus data ini?',
            text: "Data yang dihapus tidak dapat dikembalikan.",
            icon: 'warning',
            showCancelButton: true,
            confirmButtonText: 'Iya, Hapus!',
            cancelButtonText: 'Batal',
            reverseButtons: true
        }).then((result) => {
            if (result.isConfirmed) {
                $.ajax({
                    url: "<?= base_url('rekammedis/deleteData') ?>", // Ganti dengan URL endpoint controller Anda
                    type: "POST", // Menggunakan POST karena ini adalah penghapusan data
                    data: {
                        id_rekam_medis: id_rekam_medis, // Mengirimkan ID ke server
                        // Anda bisa menambahkan parameter lain jika diperlukan
                    },
                    dataType: "json", // Menentukan format data yang diterima (JSON)
                    success: function(response) {
                        // Jika berhasil menambahkan data
                        if (response.status === 'success') {
                            Swal.fire({
                                title: 'Berhasil!',
                                text: response.message,
                                icon: 'success',
                                confirmButtonText: 'OK'
                            }).then((result) => {
                                if (result.isConfirmed) {
                                    // Menutup modal form
                                    $('#tambahModal').modal('hide');

                                    // Menyegarkan tabel data tanpa reload
                                    location.reload(); // Atau panggil fungsi khusus untuk refresh tabel
                                }
                            });
                        } else if (response.status === 'error') {
                            // Jika terjadi kesalahan
                            Swal.fire({
                                title: 'Gagal!',
                                text: response.message,
                                icon: 'error',
                                confirmButtonText: 'Tutup'
                            });
                        }
                    },
                    error: function(xhr, status, error) {
                        // Jika terjadi error pada request
                        Swal.fire({
                            title: 'Kesalahan!',
                            text: 'Terjadi kesalahan dalam proses. Silakan coba lagi.',
                            icon: 'error',
                            confirmButtonText: 'Tutup'
                        });
                    }
                });
            }
        });
    }
</script>

<!-- untuk tombol status produk -->
<script>
    function changeStatus(id_kunjungan, is_active) {
        Swal.fire({
            title: "Konfirmasi",
            text: "Apakah Anda yakin ingin mengubah status Produk ini?",
            icon: "warning",
            showCancelButton: true,
            confirmButtonColor: "#3085d6",
            cancelButtonColor: "#d33",
            confirmButtonText: "Ya, Ubah!",
            cancelButtonText: "Batal",
        }).then((result) => {
            if (result.isConfirmed) {
                // Kirim permintaan AJAX ke server
                $.ajax({
                    url: '<?= base_url('kunjungan/changeStatus') ?>', // Sesuaikan dengan route aplikasi Anda
                    type: 'POST',
                    data: {
                        id_kunjungan: id_kunjungan,
                        is_active: is_active
                    },
                    success: function(response) {
                        if (response.status === 'success') {
                            Swal.fire({
                                title: "Berhasil!",
                                text: response.message,
                                icon: "success",
                                confirmButtonText: "OK"
                            }).then(() => {
                                location.reload(); // Reload halaman setelah berhasil
                            });
                        } else if (response.status === 'error') {
                            Swal.fire({
                                title: "Gagal!",
                                text: response.message,
                                icon: "error",
                                confirmButtonText: "OK"
                            });
                        }
                    },
                    error: function() {
                        Swal.fire({
                            title: "Kesalahan!",
                            text: "Terjadi kesalahan pada server. Silakan coba lagi nanti.",
                            icon: "error",
                            confirmButtonText: "OK"
                        });
                    }
                });
            }
        });
    }
</script>


<?= $this->endSection(); ?>