From 724d0c6b020a0973d089745515bd4a0d21f99cb3 Mon Sep 17 00:00:00 2001 From: jacksonvip Date: Wed, 8 Nov 2023 11:01:35 -0300 Subject: [PATCH] =?UTF-8?q?APP=20Or=C3=A7amento=20Pessoal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/logo.png | Bin 0 -> 51310 bytes consulta.html | 175 ++++++++++++++++++++++++++++++++ css/style.css | 49 +++++++++ index.html | 145 ++++++++++++++++++++++++++ js/script.js | 263 ++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 632 insertions(+) create mode 100644 assets/logo.png create mode 100644 consulta.html create mode 100644 css/style.css create mode 100644 index.html create mode 100644 js/script.js diff --git a/assets/logo.png b/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..98748bb313f6785628bf4df10c9133d8870d6f3f GIT binary patch literal 51310 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 + + + + + Orçamento pessoal + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+

Consulta de despesas

+
+
+ +
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ +
+ +
+ +
+ + + + +
+ +
+
+ + + + + + + + + + + + + +
DataTipoDescriçãoValorAção
+
+
+
+ + + + + + + \ No newline at end of file diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000..9734820 --- /dev/null +++ b/css/style.css @@ -0,0 +1,49 @@ +/* CSS + */ + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +.table td, +.table th { + border-top: 0; +} + +th { + background-color: rgb(112, 112, 112); + color: #f1f1f1; + border-top: 0px; + border: .5px solid #e2e1e1; +} + +td { + padding: 20px; + /* border: .5px solid #c2c2c2; */ + background-color: #f1f0f0; +} + +.columnItens { + text-align: center; +} + +.fa-times { + font-size: 13px; +} + +.fa-pencil-alt { + font-size: 13px; +} + +.btn-acao { + width: 28px; + height: 28px; + padding: 0; + margin: 4px; +} + +.hide { + display: none; +} \ No newline at end of file diff --git a/index.html b/index.html new file mode 100644 index 0000000..3f5167d --- /dev/null +++ b/index.html @@ -0,0 +1,145 @@ + + + + + + Orçamento pessoal + + + + + + + + + + + + + + + + + + + + +
+
+
+

Registro de nova despesa

+
+
+ +
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ +
+ +
+
+
+ + + + + + + \ No newline at end of file diff --git a/js/script.js b/js/script.js new file mode 100644 index 0000000..d0e5805 --- /dev/null +++ b/js/script.js @@ -0,0 +1,263 @@ +class Despesa { + constructor(ano, mes, dia, tipo, descricao, valor) { + this.ano = ano + this.mes = mes + this.dia = dia + this.tipo = tipo + this.descricao = descricao + this.valor = valor + } + + validarDados() { + for (let i in this) { + if (this[i] == undefined || this[i] == '' || this[i] == null) { + return false + } + } + return true + } +} + +class Bd { + constructor() { + + if (localStorage.getItem('id') === null) { + localStorage.setItem('id', 0) + } + } + + getProximoId() { + return parseInt(localStorage.getItem('id')) + 1 + } + + gravar(d) { + const id = this.getProximoId() + localStorage.setItem(id, JSON.stringify(d)) + localStorage.setItem('id', id) + } + + recuperarTodosRegistros() { + const id = localStorage.getItem('id') + const despesas = Array() + + //Recuperar todoas as despesas cadastradas em localStrorage + for (let i = 1; i <= id; i++) { + const despesa = JSON.parse(localStorage.getItem(i)) + + //* Existe a possibilidade de haver ídicices + // que forma pulados/removidos + // nesse caso vamos pular esses índices + if (despesa === null) { + continue + } + despesa.id = i + despesas.push(despesa); + } + return despesas; + } + + pesquisar(despesa) { + let despesasFiltradas = Array() + despesasFiltradas = this.recuperarTodosRegistros() + + //ano + if (despesa.ano != '') { + despesasFiltradas = despesasFiltradas.filter(d => d.ano == despesa.ano) + // console.log(!despesa.ano == despesa.ano); + } + //mes + if (despesa.mes != '') { + despesasFiltradas = despesasFiltradas.filter(d => d.mes == despesa.mes) + } + //dia + if (despesa.dia != '') { + despesasFiltradas = despesasFiltradas.filter(d => d.dia == despesa.dia) + } + //tipo + if (despesa.tipo != '') { + despesasFiltradas = despesasFiltradas.filter(d => d.tipo == despesa.tipo) + } + //descricao + if (despesa.descricao != '') { + despesasFiltradas = despesasFiltradas.filter(d => d.descricao == despesa.descricao) + } + //valor + if (despesa.valor != '') { + despesasFiltradas = despesasFiltradas.filter(d => d.valor == despesa.valor) + } + + return despesasFiltradas + } + + remover(id) { + localStorage.removeItem(id) + } +} + +let bd = new Bd() + +function exibirMensagem(titulo, mensagem, classe) { + const modalTitulo = document.getElementById('modal_titulo'); + const divModalTitulo = document.getElementById('div_modal_titulo'); + const modalConteudo = document.getElementById('modal-conteudo'); + const modalBtn = document.getElementById('modal-btn'); + + modalTitulo.innerHTML = titulo; + divModalTitulo.className = `modal-header ${classe}`; + modalConteudo.innerHTML = mensagem; + modalBtn.innerHTML = 'Voltar'; + modalBtn.className = `btn ${classe === 'text-success' ? 'btn-success' : 'btn-danger'}`; + + $('#modalRegistraDespesa').modal('show'); +} + +function cadastrarDespesa() { + const campos = ['ano', 'mes', 'dia', 'tipo', 'descricao', 'valor']; + const valores = campos.map(campo => document.getElementById(campo).value); + const despesa = new Despesa(...valores); + + if (despesa.validarDados()) { + bd.gravar(despesa); + exibirMensagem('Registro inserido com sucesso', 'Despesa foi cadastrada com sucesso!', 'text-success'); + campos.forEach(campo => (document.getElementById(campo).value = '')); + } else { + exibirMensagem('Erro na Gravação', 'Existem campos obrigatórios que não foram preenchidos', 'text-danger'); + } +} + +function carregaListadespesas(despesas = [], filtro = false) { + //Selecionando o elemento tbady da tebela + const listaDespesas = document.getElementById('listaDespesas') + listaDespesas.innerHTML = '' + + //Só será exibido todas as despesas se: + if (despesas.length == 0 && filtro == false) { + despesas = bd.recuperarTodosRegistros(); + } + + //Pecorrer o array, listando cada despesa de forma dinâmica + despesas.forEach(function (d) { + //Criando a linha (tr) + const linha = listaDespesas.insertRow() + + //Criar as colunas (td) + linha.insertCell(0).innerHTML = `${d.dia}/${d.mes}/${d.ano}` + // ajustar o tipo + switch (d.tipo) { + case '1': d.tipo = 'Alimentação' + break; + case '2': d.tipo = 'Educação' + + break; + case '3': d.tipo = 'Lazer' + + break; + case '4': d.tipo = 'Saúde' + + break; + case '5': d.tipo = 'Transporte' + + break; + } + linha.insertCell(1).innerHTML = d.tipo + linha.insertCell(2).innerHTML = d.descricao + linha.insertCell(3).innerHTML = d.valor + + //Criar botão editar + const btnEditar = document.createElement('button') + btnEditar.className = 'btn btn-primary btn-acao' + btnEditar.innerHTML = '' + btnEditar.id = `btn_editar_${d.id}` + btnEditar.onclick = function () { + const id = this.id.replace(/\D/g, '') + editarDespesa(id) + + const btnSalvar = document.getElementById('save') + const btnCancel = document.getElementById('cancel') + const btnSearch = document.getElementById('search') + //Remover a class hide + btnSalvar.classList.remove('hide') + btnCancel.classList.remove('hide') + btnSearch.classList.add('hide') + const headerMsg = document.getElementById('headerMsg') + headerMsg.innerHTML = `Editando a Despesa » id ${id}` + } + + //Criar o botão de exclusão + const btnRemover = document.createElement('button') + btnRemover.className = 'btn btn-danger btn-acao' + btnRemover.innerHTML = '' + btnRemover.id = `id_despesa_${d.id}` + btnRemover.onclick = function () { + //Remover a despesa + const id = this.id.replace('id_despesa_', '') + bd.remover(id) + //Atualizar a página + window.location.reload() + } + + const colunaAcao = linha.insertCell(4) + colunaAcao.className = 'd-flex justify-content-around align-items-center flex-wrap' + colunaAcao.append(btnEditar, btnRemover) + }); +} + +function cancelarEdicao() { + const campos = ['ano', 'mes', 'dia', 'tipo', 'descricao', 'valor']; + //Limpando os campos do formulário + campos.forEach(campo => (document.getElementById(campo).value = '')); + + const btnSalvar = document.getElementById('save') + const btnCancel = document.getElementById('cancel') + const btnSearch = document.getElementById('search') + + btnSalvar.classList.add('hide') + btnCancel.classList.add('hide') + btnSearch.classList.remove('hide') + + const headerMsg = document.getElementById('headerMsg') + headerMsg.innerHTML = `Consulta de despesas` +} + +function pesquisarDespesa() { + const campos = ['ano', 'mes', 'dia', 'tipo', 'descricao', 'valor']; + const valores = campos.map(campo => document.getElementById(campo).value); + const despesa = new Despesa(...valores); + const despesas = bd.pesquisar(despesa); + carregaListaDespesas(despesas, true); +} + +function editarDespesa(id) { + //Despesa encontrada atrvés do ID em localStorage para + //submetermos a edição dos dados + const despesa = JSON.parse(localStorage.getItem(id)); + + const campos = ['ano', 'mes', 'dia', 'tipo', 'descricao', 'valor']; + //Preenchimento dos campos do formulário com os valores da despesa. + campos.forEach((campo, index) => (document.getElementById(campo).value = despesa[campo])); + + //Definição de ID para os dados editados + //(aplicando variável global). ex: + window.despesaEditandoId = id; +} + +function salvarEdicaoDespesa() { + const campos = ['ano', 'mes', 'dia', 'tipo', 'descricao', 'valor']; + const valores = campos.map(campo => document.getElementById(campo).value); + const despesa = new Despesa(...valores); + + if (despesa.validarDados()) { + //Atualização da despesa em localStorage usando o ID da despesa em edição. + localStorage.setItem(window.despesaEditandoId, JSON.stringify(despesa)); + + exibirMensagem('Registro atualizado com sucesso', 'Sua alteração foi concluída!', 'text-success'); + + document.getElementById('search').innerHTML = ''; + document.getElementById('search').onclick = pesquisarDespesa; + + carregaListadespesas(); + + } else { + exibirMensagem('Erro na Atualização dos Dados', 'Existem campos obrigatórios que não foram preenchidos', 'text-danger'); + } +} \ No newline at end of file