<?php
$api_url = 'http://localhost/jps-service/backend/routers/eqp_modelos.php';
$data = json_decode(file_get_contents($api_url), true);

// Função para formatar valores se necessário
function formatValue($value) {
    if (is_numeric($value)) {
        return number_format(floatval($value), 2, ',', '.');
    }
    return $value;
}
?>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Gestão de Eqp Modelos</title>
    <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/bs5/jq-3.6.0/dt-1.11.5/datatables.min.css"/>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <style>
        .btn-action {
            padding: 0.25rem 0.5rem;
            font-size: 0.875rem;
            line-height: 1.5;
        }
        .modal-lg-custom {
            max-width: 800px;
        }
    </style>
</head>
<body>
    <div class="container-fluid mt-4">
        <h1 class="mb-4">Gestão de Eqp Modelos</h1>
       
        <div class="card">
            <div class="card-header d-flex justify-content-between align-items-center">
                <h5 class="mb-0">Lista de Eqp Modelos</h5>
                <div>
                    <button class="btn btn-primary btn-sm" data-bs-toggle="modal" data-bs-target="#cadastrarModal">
                        <i class="fas fa-plus me-1"></i> Novo Registro
                    </button>
                </div>
            </div>
            <div class="card-body">
                <table id="dataTable" class="table table-striped table-bordered nowrap" style="width:100%">
                    <thead>
                        <tr>
                            <th>Id</th><th>Id Fabricante</th><th>Id Tipo</th><th>Id Tamanho</th><th>Nome</th><th>Foto</th><th>Fabricante Nome</th><th>Tipo Nome</th><th>Tamanho Nome</th>
                            <th>Ações</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php foreach ($data as $item): ?>
                        <tr>
                            <td><?= formatValue($item["id"]) ?></td><td><?= formatValue($item["id_fabricante"]) ?></td><td><?= formatValue($item["id_tipo"]) ?></td><td><?= formatValue($item["id_tamanho"]) ?></td><td><?= formatValue($item["nome"]) ?></td><td><?= formatValue($item["foto"]) ?></td><td><?= formatValue($item["fabricante_nome"]) ?></td><td><?= formatValue($item["tipo_nome"]) ?></td><td><?= formatValue($item["tamanho_nome"]) ?></td>
                            <td>
                                <button class="btn btn-info btn-action btn-view" data-id="<?= $item["id"] ?>">
                                    <i class="fas fa-eye"></i>
                                </button>
                                <button class="btn btn-warning btn-action btn-edit" data-id="<?= $item["id"] ?>">
                                    <i class="fas fa-edit"></i>
                                </button>
                                <button class="btn btn-danger btn-action btn-delete" data-id="<?= $item["id"] ?>">
                                    <i class="fas fa-trash"></i>
                                </button>
                            </td>
                        </tr>
                        <?php endforeach; ?>
                    </tbody>
                </table>
            </div>
        </div>
    </div>

    <!-- Modal Visualizar -->
    <div class="modal fade" id="viewModal" tabindex="-1" aria-labelledby="viewModalLabel" aria-hidden="true">
        <div class="modal-dialog modal-lg modal-lg-custom">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title" id="viewModalLabel">Detalhes</h5>
                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                </div>
                <div class="modal-body" id="viewModalBody">
                    <!-- Conteúdo será preenchido via AJAX -->
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Fechar</button>
                </div>
            </div>
        </div>
    </div>

    <!-- Modal Editar -->
    <div class="modal fade" id="editModal" tabindex="-1" aria-labelledby="editModalLabel" aria-hidden="true">
        <div class="modal-dialog modal-lg modal-lg-custom">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title" id="editModalLabel">Editar</h5>
                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                </div>
                <form id="editForm" method="POST">
                    <div class="modal-body" id="editModalBody">
                        <!-- Conteúdo será preenchido via AJAX -->
                    </div>
                    <div class="modal-footer">
                        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancelar</button>
                        <button type="submit" class="btn btn-primary">Salvar Alterações</button>
                    </div>
                </form>
            </div>
        </div>
    </div>

    <!-- Modal Excluir -->
    <div class="modal fade" id="deleteModal" tabindex="-1" aria-labelledby="deleteModalLabel" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title" id="deleteModalLabel">Confirmar Exclusão</h5>
                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                </div>
                <div class="modal-body">
                    <p>Você tem certeza que deseja excluir este registro? Esta ação não pode ser desfeita.</p>
                    <input type="hidden" id="deleteId">
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancelar</button>
                    <button type="button" class="btn btn-danger" id="confirmDelete">Excluir</button>
                </div>
            </div>
        </div>
    </div>

    <!-- Modal Cadastrar -->
    <div class="modal fade" id="cadastrarModal" tabindex="-1" aria-labelledby="cadastrarModalLabel" aria-hidden="true">
        <div class="modal-dialog modal-lg modal-lg-custom">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title" id="cadastrarModalLabel">Cadastrar Novo</h5>
                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                </div>
                <form id="cadastrarForm" method="POST">
                    <div class="modal-body">
                        <div class="row g-3">
                            
                            <div class="col-md-6">
                                <label for="id_fabricante" class="form-label">Id Fabricante</label>
                                <input type="text" class="form-control" id="id_fabricante" name="id_fabricante" required>
                            </div>
                            
                            <div class="col-md-6">
                                <label for="id_tipo" class="form-label">Id Tipo</label>
                                <input type="text" class="form-control" id="id_tipo" name="id_tipo" required>
                            </div>
                            
                            <div class="col-md-6">
                                <label for="id_tamanho" class="form-label">Id Tamanho</label>
                                <input type="text" class="form-control" id="id_tamanho" name="id_tamanho" required>
                            </div>
                            
                            <div class="col-md-6">
                                <label for="nome" class="form-label">Nome</label>
                                <input type="text" class="form-control" id="nome" name="nome" required>
                            </div>
                            
                            <div class="col-md-6">
                                <label for="foto" class="form-label">Foto</label>
                                <input type="text" class="form-control" id="foto" name="foto" required>
                            </div>
                            
                            <div class="col-md-6">
                                <label for="fabricante_nome" class="form-label">Fabricante Nome</label>
                                <input type="text" class="form-control" id="fabricante_nome" name="fabricante_nome" required>
                            </div>
                            
                            <div class="col-md-6">
                                <label for="tipo_nome" class="form-label">Tipo Nome</label>
                                <input type="text" class="form-control" id="tipo_nome" name="tipo_nome" required>
                            </div>
                            
                            <div class="col-md-6">
                                <label for="tamanho_nome" class="form-label">Tamanho Nome</label>
                                <input type="text" class="form-control" id="tamanho_nome" name="tamanho_nome" required>
                            </div>
                            
                        </div>
                    </div>
                    <div class="modal-footer">
                        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancelar</button>
                        <button type="submit" class="btn btn-primary">Cadastrar</button>
                    </div>
                </form>
            </div>
        </div>
    </div>

    <!-- jQuery, Bootstrap e DataTables JS -->
    <script type="text/javascript" src="https://cdn.datatables.net/v/bs5/jq-3.6.0/dt-1.11.5/datatables.min.js"></script>
    <!-- Excel export -->
    <script src="https://cdn.datatables.net/buttons/2.2.2/js/dataTables.buttons.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
    <script src="https://cdn.datatables.net/buttons/2.2.2/js/buttons.html5.min.js"></script>

    <script>
        $(document).ready(function() {
            // Inicialização do DataTable com botão de exportação
            var table = $('#dataTable').DataTable({
                responsive: true,
                dom: 'Bfrtip',
                buttons: [
                    {
                        extend: 'excel',
                        text: '<i class="fas fa-file-excel me-1"></i> Exportar Excel',
                        className: 'btn btn-success btn-sm',
                        title: 'Eqp Modelos',
                        exportOptions: {
                            columns: ':not(:last-child)' // Exclui a coluna de ações
                        }
                    }
                ],
                language: {
                    url: 'https://cdn.datatables.net/plug-ins/1.11.5/i18n/pt-BR.json'
                }
            });

            // Visualizar registro
            $(document).on('click', '.btn-view', function() {
                var id = $(this).data('id');
                $.ajax({
                    url: '<?= $api_url ?>?id=' + id,
                    type: 'GET',
                    dataType: 'json',
                    success: function(item) {
                        var html = '<div class="row">';
                        html += `
                            <div class="col-md-6">
                                <p><strong>Id:</strong> ${item['id'] || 'N/A'}</p>
                            </div>
                        `;html += `
                            <div class="col-md-6">
                                <p><strong>Id Fabricante:</strong> ${item['id_fabricante'] || 'N/A'}</p>
                            </div>
                        `;html += `
                            <div class="col-md-6">
                                <p><strong>Id Tipo:</strong> ${item['id_tipo'] || 'N/A'}</p>
                            </div>
                        `;html += `
                            <div class="col-md-6">
                                <p><strong>Id Tamanho:</strong> ${item['id_tamanho'] || 'N/A'}</p>
                            </div>
                        `;html += `
                            <div class="col-md-6">
                                <p><strong>Nome:</strong> ${item['nome'] || 'N/A'}</p>
                            </div>
                        `;html += `
                            <div class="col-md-6">
                                <p><strong>Foto:</strong> ${item['foto'] || 'N/A'}</p>
                            </div>
                        `;html += `
                            <div class="col-md-6">
                                <p><strong>Fabricante Nome:</strong> ${item['fabricante_nome'] || 'N/A'}</p>
                            </div>
                        `;html += `
                            <div class="col-md-6">
                                <p><strong>Tipo Nome:</strong> ${item['tipo_nome'] || 'N/A'}</p>
                            </div>
                        `;html += `
                            <div class="col-md-6">
                                <p><strong>Tamanho Nome:</strong> ${item['tamanho_nome'] || 'N/A'}</p>
                            </div>
                        `;
                        html += '</div>';
                        $('#viewModalBody').html(html);
                        $('#viewModal').modal('show');
                    },
                    error: function(xhr, status, error) {
                        alert('Erro ao carregar registro: ' + error);
                    }
                });
            });

            // Editar registro - Abrir modal
            $(document).on('click', '.btn-edit', function() {
                var id = $(this).data('id');
                $.ajax({
                    url: '<?= $api_url ?>?id=' + id,
                    type: 'GET',
                    dataType: 'json',
                    success: function(item) {
                        var html = '<input type="hidden" name="id" value="' + item.id + '">';
                        html += '<div class="row g-3">';
                        html += `
                            <div class="col-md-6">
                                <label for="edit_id_fabricante" class="form-label">Id Fabricante</label>
                                <input type="text" class="form-control" id="edit_id_fabricante" name="id_fabricante" value="${item['id_fabricante'] || ''}" required>
                            </div>
                        `;html += `
                            <div class="col-md-6">
                                <label for="edit_id_tipo" class="form-label">Id Tipo</label>
                                <input type="text" class="form-control" id="edit_id_tipo" name="id_tipo" value="${item['id_tipo'] || ''}" required>
                            </div>
                        `;html += `
                            <div class="col-md-6">
                                <label for="edit_id_tamanho" class="form-label">Id Tamanho</label>
                                <input type="text" class="form-control" id="edit_id_tamanho" name="id_tamanho" value="${item['id_tamanho'] || ''}" required>
                            </div>
                        `;html += `
                            <div class="col-md-6">
                                <label for="edit_nome" class="form-label">Nome</label>
                                <input type="text" class="form-control" id="edit_nome" name="nome" value="${item['nome'] || ''}" required>
                            </div>
                        `;html += `
                            <div class="col-md-6">
                                <label for="edit_foto" class="form-label">Foto</label>
                                <input type="text" class="form-control" id="edit_foto" name="foto" value="${item['foto'] || ''}" required>
                            </div>
                        `;html += `
                            <div class="col-md-6">
                                <label for="edit_fabricante_nome" class="form-label">Fabricante Nome</label>
                                <input type="text" class="form-control" id="edit_fabricante_nome" name="fabricante_nome" value="${item['fabricante_nome'] || ''}" required>
                            </div>
                        `;html += `
                            <div class="col-md-6">
                                <label for="edit_tipo_nome" class="form-label">Tipo Nome</label>
                                <input type="text" class="form-control" id="edit_tipo_nome" name="tipo_nome" value="${item['tipo_nome'] || ''}" required>
                            </div>
                        `;html += `
                            <div class="col-md-6">
                                <label for="edit_tamanho_nome" class="form-label">Tamanho Nome</label>
                                <input type="text" class="form-control" id="edit_tamanho_nome" name="tamanho_nome" value="${item['tamanho_nome'] || ''}" required>
                            </div>
                        `;
                        html += '</div>';
                        $('#editModalBody').html(html);
                        $('#editModal').modal('show');
                    },
                    error: function(xhr, status, error) {
                        alert('Erro ao carregar registro para edição: ' + error);
                    }
                });
            });

            // Submit do formulário de edição
            $('#editForm').submit(function(e) {
                e.preventDefault();
                var id = $('input[name="id"]').val();
                var formData = {
                    "id_fabricante": $("#edit_id_fabricante").val(), "id_tipo": $("#edit_id_tipo").val(), "id_tamanho": $("#edit_id_tamanho").val(), "nome": $("#edit_nome").val(), "foto": $("#edit_foto").val(), "fabricante_nome": $("#edit_fabricante_nome").val(), "tipo_nome": $("#edit_tipo_nome").val(), "tamanho_nome": $("#edit_tamanho_nome").val()
                };
               
                $.ajax({
                    url: '<?= $api_url ?>?id=' + id,
                    type: 'PUT',
                    contentType: 'application/json',
                    data: JSON.stringify(formData),
                    success: function(response) {
                        alert('Registro atualizado com sucesso!');
                        $('#editModal').modal('hide');
                        location.reload();
                    },
                    error: function(xhr, status, error) {
                        alert('Erro ao atualizar o registro: ' + (xhr.responseJSON?.error || error));
                    }
                });
            });

            // Excluir registro
            $(document).on('click', '.btn-delete', function() {
                var id = $(this).data('id');
                $('#deleteId').val(id);
                $('#deleteModal').modal('show');
            });

            // Confirmar exclusão
            $('#confirmDelete').click(function() {
                var id = $('#deleteId').val();
               
                $.ajax({
                    url: '<?= $api_url ?>?id=' + id,
                    type: 'DELETE',
                    success: function(response) {
                        alert('Registro excluído com sucesso!');
                        $('#deleteModal').modal('hide');
                        location.reload();
                    },
                    error: function(xhr, status, error) {
                        alert('Erro ao excluir o registro: ' + (xhr.responseJSON?.error || error));
                    }
                });
            });

            // Submit do formulário de cadastro
            $('#cadastrarForm').submit(function(e) {
                e.preventDefault();
                var formData = {
                    "id_fabricante": $("#id_fabricante").val(), "id_tipo": $("#id_tipo").val(), "id_tamanho": $("#id_tamanho").val(), "nome": $("#nome").val(), "foto": $("#foto").val(), "fabricante_nome": $("#fabricante_nome").val(), "tipo_nome": $("#tipo_nome").val(), "tamanho_nome": $("#tamanho_nome").val()
                };
               
                $.ajax({
                    url: '<?= $api_url ?>',
                    type: 'POST',
                    contentType: 'application/json',
                    data: JSON.stringify(formData),
                    success: function(response) {
                        alert('Registro cadastrado com sucesso!');
                        $('#cadastrarModal').modal('hide');
                        location.reload();
                    },
                    error: function(xhr, status, error) {
                        alert('Erro ao cadastrar o registro: ' + (xhr.responseJSON?.error || error));
                    }
                });
            });
        });
    </script>
</body>
</html>
