D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
html
/
novonote
/
adm
/
app
/
gre
/
Views
/
Produto
/
Filename :
VieCadastrarProduto.php
back
Copy
<?php if (!defined('URL')) { header("Location: /"); exit(); } if (isset($this->Dados['form'])) { $valorForm = $this->Dados['form']; } if (isset($this->Dados['form'][0])) { $valorForm = $this->Dados['form'][0]; } ?> <div class="content"> <div class="list-group-item"> <div class="d-flex align-items-center justify-content-between"> <div class="mr-auto p-2"> <h2 class="display-4 titulo">Cadastrar Produto </h2> </div> <?php if ($this->Dados['botao']['lis_produto']) { ?> <div class="p-2"> <a href="<?php echo URLADM . 'produto/listar'; ?>" class="btn btn-outline-info btn-sm">Voltar</a> </div> <?php } ?> </div><hr> <?php if (isset($_SESSION['msg'])) { echo $_SESSION['msg']; unset($_SESSION['msg']); } ?> <form method="POST" action="" enctype="multipart/form-data"> <div class="row"> <div class="form-group col-md-3"> <label><span class="text-danger">*</span>Categoria</label> <div class="d-flex align-items-center"> <select name="categoria_id" id="categoria_id" class="form-control" required"> <option value="">Selecione</option> <?php foreach ($this->Dados['select']['cat'] as $cat) { extract($cat); echo "<option value='$id_cat'>$nome_cat</option>"; } ?> </select> <button name="CadCategoria" id="CadCategoria" value="salvar" type="button" class="btn btn-outline-warning btn-sm ms-2"> <i class="fas fa-plus" title="Cadastrar Nova Categoria"></i> </button> </div> </div> <div class="form-group col-md-3"> <label class="me-2"><span class="text-danger">*</span>Marca:</label> <div class="d-flex align-items-center"> <select name="marca_id" id="marca_id" class="form-control" required onchange="javascript:pegaModelo(this.value);"> <option value="">Selecione</option> <?php foreach ($this->Dados['select']['marca'] as $marca) { extract($marca); echo "<option value='$id_marca'>$nome_marca</option>"; } ?> </select> <button name="CadMarca" id="CadMarca" value="salvar" type="button" class="btn btn-outline-warning btn-sm ms-2"> <i class="fas fa-plus" title="Cadastrar Nova Marca"></i> </button> </div> </div> <div class="form-group col-md-2"> <label><span class="text-danger">*</span>Modelo</label> <div class="d-flex align-items-center"> <select name="modelo_id" id="modelo_id" class="form-control" required> <option value="">Selecione</option> </select> <button name="CadModelo" id="CadModelo" value="salvar" type="button" class="btn btn-outline-warning btn-sm ms-2"> <i class="fas fa-plus" title="Cadastrar Novo Modelo"></i> </button> </div> </div> </div> <div class="row"> <div class="form-group col-md-6"> <label><span class="text-danger">*</span>Descrição</label> <input name="nome" type="text" class="form-control" value="<?php if (isset($valorForm['nome'])) { echo $valorForm['nome']; } ?>"> </div> </div> <div class="row"> <div class="form-group col-md-2"> <label><span class="text-danger">*</span>Custo Médio</label> <input name="custo_medio" id="custo_medio" type="text" class="form-control" required onKeyPress="return(MascaraMoeda(this, '.', ',', event))" value="<?php if (isset($valorForm['custo_medio'])) { echo $valorForm['custo_medio']; } ?>"> </div> </div> <div class="row"> <div class="form-group col-md-6"> <label for="descricao" class="form-label">Especificações</label> <textarea class="form-control" id="descricao" name="descricao" rows="4" placeholder="Digite especificações técnicas do produto..." value="<?php if (isset($valorForm['descricao'])) { echo $valorForm['descricao']; } ?>"></textarea> </div> </div> <p> <span class="text-danger">* </span>Campo obrigatório </p> <div class="form-group col-md-1"> <button name="CadProduto" type="submit" value="Salvar" class="btn btn-warning">Salvar</button> </div> </form> </div> </div> <div class="modal fade" id="modalCadCategoria" tabindex="-1" aria-labelledby="modalCategoriaLabel" aria-hidden="true" data-bs-backdrop="static" data-bs-keyboard="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header d-flex justify-content-between align-items-center"> <h5 class="modal-title">Cadastrar Nova Categoria</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Fechar"></button> </div> <div class="modal-body modal-x2"> <form method="POST" action="" enctype="multipart/form-data"> <div class="row"> <div class="form-group col-md-6"> <label><span class="text-danger">*</span> Nome da Categoria:</label> <input type="text" name="nome" class="form-control" maxlength="20" placeholder="Nome da Categoria" required> </div> </div> <div class="row"> <div class="form-group col-md-4"> <label><span class="text-danger">*</span>Utiliza #Série ?</label> <Select name="serie" type="text" class="form-control" required> <option value="">Selecione</option> <option value="S">Sim</option> <option value="N">Não</option> </select> </div> </div> <p><span class="text-danger">*</span> Campo obrigatório</p> <div class="form-group"> <button name="CadCategoria" id="CaCategoria" value="salvar" type="submit" class="btn btn-outline-warning m-2">Salvar</button> </div> </form> </div> </div> </div> </div> <!-- Modal para Cadastro de Marca --> <div class="modal fade" id="modalCadMarca" tabindex="-1" aria-labelledby="modalMarcaLabel" aria-hidden="true" data-bs-backdrop="static" data-bs-keyboard="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header d-flex justify-content-between align-items-center"> <h5 class="modal-title">Cadastrar Nova Marca</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Fechar"></button> </div> <div class="modal-body modal-x2"> <form method="POST" action="" enctype="multipart/form-data"> <div class="row"> <div class="d-flex align-items-center"> <label id="categoria_nome_label" class="me-2">Categoria:</label> <b><span id="categoria_nome"></b></span> </div> <input type="hidden" name="categoria_id" id="categoria_id_hidden"> </div> <div class="row"> <div class="form-group col-md-6"> <label><span class="text-danger">*</span> Nome da Marca:</label> <input type="text" name="nome" class="form-control" maxlength="20" placeholder="Nome da Marca" required> </div> </div> <p><span class="text-danger">*</span> Campo obrigatório</p> <div class="form-group"> <button name="CadMarca" id="CaMarca" value="salvar" type="submit" class="btn btn-outline-warning m-2">Salvar</button> </div> </form> </div> </div> </div> </div> <!-- Modal para Cadastro de Modelo --> <div class="modal fade" id="modalCadModelo" tabindex="-1" aria-labelledby="modalModeloLabel" aria-hidden="true" data-bs-backdrop="static" data-bs-keyboard="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header d-flex justify-content-between align-items-center"> <h5 class="modal-title">Cadastrar Novo Modelo</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Fechar"></button> </div> <div class="modal-body modal-x2"> <form method="POST" action="" enctype="multipart/form-data"> <div class="row"> <div class="d-flex align-items-center"> <label id="categoria_nome_label" class="me-2">Categoria:</label> <b><span id="categoria_nome_modelo"></b></span> </div> <input type="hidden" name="categoria_id" id="categoria_id_hidden"> <div class="d-flex align-items-center"> <label id="marca_nome_label" class="me-2">Marca:</label> <b> <span id="marca_nome_valor"></b></span> </div> <input type="hidden" name="marca_id" id="marca_id_hidden"> </div> <div class="row"> <div class="form-group col-md-6"> <label><span class="text-danger">*</span> Nome do Modelo:</label> <input type="text" name="nome" class="form-control" maxlength="20" placeholder="Nome da Modelo" required> </div> </div> <p><span class="text-danger">*</span> Campo obrigatório</p> <div class="form-group"> <button name="CadModelo" id="CaModelo" value="salvar" type="submit" class="btn btn-outline-warning m-2">Salvar</button> </div> </form> </div> </div> </div> </div> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script> <script> $(document).ready(function () { $("#modelo_id").on("change", function () { var modeloId = $(this).val(); // Obtém o valor do modelo selecionado var modeloNome = $("#modelo_id option:selected").text(); // Obtém o nome do modelo if (!modeloId || modeloId === "") { console.error("Erro: Nenhum modelo válido foi selecionado."); } }); }); function pegaModelo(marca) { var obj = <?php echo json_encode($this->Dados['select']['modelo']); ?>; var element = document.getElementById("modelo_id"); if (!obj || obj.length === undefined) { alert("Erro: Dados do modelo não foram carregados corretamente."); return; } element.innerHTML = ''; // Limpa opções antigas var node = document.createElement("option"); var textnode = document.createTextNode("Selecione"); node.setAttribute("value", ""); node.appendChild(textnode); element.appendChild(node); for (var i = 0; i < obj.length; i++) { if (obj[i].id_marca == marca) { var node = document.createElement("option"); var textnode = document.createTextNode(obj[i].nome_modelo); node.setAttribute("value", obj[i].id_modelo); // Se for o modelo cadastrado, marca como selected // if (modeloCadastrado && modeloCadastrado == obj[i].id_modelo) { // node.setAttribute("selected", "selected"); // } node.appendChild(textnode); element.appendChild(node); } } console.log("Opções carregadas:", $("#modelo_id option").map(function () { return $(this).val() + " - " + $(this).text(); }).get()); // Limpa a variável de sessão após uso (para evitar seleção persistente) } function mostrarAlerta(titulo, mensagem, icone) { Swal.fire({ title: titulo, text: mensagem, icon: icone, confirmButtonText: "OK" }); } $(document).ready(function () { $("#CadCategoria").click(function () { $("#modalCadCategoria").modal("show"); // Aguarda a abertura e coloca o foco no primeiro campo do formulário setTimeout(function () { $("#modalCadCategoria").find("input[name='nome']").focus(); }, 500); }); }); $(document).ready(function () { $("#CadMarca").click(function () { var categoriaId = $("#categoria_id").val(); if (!categoriaId) { mostrarAlerta("Erro", "Nenhuma Categoria Selecionada!", "error"); // Exibe alerta $("#categoria_id").focus(); // Retorna o foco ao select return; // Impede a execução do restante do código } $("#modalCadMarca").modal("show"); var catNome = $("#categoria_id option:selected").text(); $("#categoria_id_hidden").val(categoriaId); $("#categoria_nome").text(catNome); setTimeout(function () { $("#modalCadMarca").find("input[name='nome']").focus(); }, 500); }); $("#CadModelo").click(function () { var marcaId = $("#marca_id").val(); // Captura o ID da marca var categoriaId = $("#categoria_id").val(); if (!categoriaId) { mostrarAlerta("Erro", "Nenhuma Categoria Selecionada!", "error"); // Exibe alerta $("#categoria_id").focus(); // Retorna o foco ao select return; // Impede a execução do restante do código } if (!marcaId) { mostrarAlerta("Erro", "Nenhuma Marca Selecionada!", "error"); // Exibe alerta $("#marca_id").focus(); // Retorna o foco ao select return; // Impede a execução do restante do código } var catNome = $("#categoria_id option:selected").text(); var marcaNome = $("#marca_id option:selected").text(); // Captura o nome da marca $("#marca_id_hidden").val(marcaId); $("#marca_nome_valor").text(marcaNome); $("#categoria_nome_modelo").text(catNome); $("#modalCadModelo").modal("show"); setTimeout(function () { $("#modalCadModelo").find("input[name='nome']").focus(); }, 500); }); }); </script>