-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
112 lines (91 loc) · 4.22 KB
/
script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
// IDs válidos das cadeiras
const idsValidos = ['Cadeira 0A', 'Cadeira 1A', 'Cadeira 2A', 'Cadeira 0B', 'Cadeira 1B'];
// Recupera o histórico e o estado das cadeiras do localStorage se existir
const entregas = JSON.parse(localStorage.getItem('historico')) || [];
const cadeirasEstado = JSON.parse(localStorage.getItem('cadeirasEstado')) || {};
// Inicializa o estado das cadeiras se ainda não estiver no localStorage
idsValidos.forEach(id => {
if (!cadeirasEstado[id]) {
cadeirasEstado[id] = 'Disponível';
}
});
// Atualiza o histórico e o estado das cadeiras na tela
atualizarHistorico();
document.getElementById('form-entrega').addEventListener('submit', function(e) {
e.preventDefault();
const nome = document.getElementById('nome').value;
const cadeira = document.getElementById('cadeira').value;
const local = document.getElementById('local').value;
// Checa se a cadeira é um ID válido e está disponível
if (!idsValidos.includes(cadeira)) {
alert('ID da cadeira inválido.');
return;
}
if (cadeirasEstado[cadeira] !== 'Disponível') {
alert('A cadeira selecionada não está disponível para entrega.');
return;
}
// Adiciona nova entrega ao histórico
entregas.push({
nome,
local,
cadeira,
tipo: 'Entregue',
dataHora: new Date().toLocaleString('pt-BR', { year: 'numeric', month: 'numeric', day: 'numeric', hour: 'numeric', minute: 'numeric', second: 'numeric' })
});
// Atualiza o estado da cadeira
cadeirasEstado[cadeira] = 'Entregue';
// Salva o histórico e o estado das cadeiras no localStorage
localStorage.setItem('historico', JSON.stringify(entregas));
localStorage.setItem('cadeirasEstado', JSON.stringify(cadeirasEstado));
atualizarHistorico();
e.target.reset(); // Limpa o formulário após submissão
});
document.getElementById('form-devolucao').addEventListener('submit', function(e) {
e.preventDefault();
const cadeiraDevolucao = document.getElementById('cadeira-devolucao').value;
// Checa se o ID da devolução é válido e corresponde a uma entrega
const entregaIndex = entregas.findIndex(entrega => entrega.cadeira === cadeiraDevolucao && entrega.tipo === 'Entregue');
if (idsValidos.includes(cadeiraDevolucao) && entregaIndex !== -1) {
// Adiciona nova devolução ao histórico
entregas.push({
cadeira: cadeiraDevolucao,
tipo: 'Devolvido',
dataHora: new Date().toLocaleString('pt-BR', { year: 'numeric', month: 'numeric', day: 'numeric', hour: 'numeric', minute: 'numeric', second: 'numeric' })
});
// Atualiza o estado da cadeira
cadeirasEstado[cadeiraDevolucao] = 'Disponível';
// Remove a entrega do histórico para evitar devoluções múltiplas
entregas.splice(entregaIndex, 1);
// Salva o histórico e o estado das cadeiras no localStorage
localStorage.setItem('historico', JSON.stringify(entregas));
localStorage.setItem('cadeirasEstado', JSON.stringify(cadeirasEstado));
atualizarHistorico();
e.target.reset(); // Limpa o formulário após submissão
} else {
alert('ID de devolução inválido ou a entrega já foi devolvida.');
}
});
// Função para atualizar o histórico na tela
function atualizarHistorico() {
const historico = document.getElementById('historico');
historico.innerHTML = ''; // Limpa a lista atual
entregas.forEach(entrega => {
const li = document.createElement('li');
li.textContent = `${entrega.nome ? entrega.nome : ''} ${entrega.cadeira} ${entrega.local ? entrega.local : ''} (${entrega.tipo}) - ${entrega.dataHora}`;
historico.appendChild(li);
});
}
// Adiciona evento ao botão de limpar histórico
document.getElementById('limpar-historico').addEventListener('click', function() {
// Limpa o array de entregas e o estado das cadeiras
entregas.length = 0;
for (let id of idsValidos) {
cadeirasEstado[id] = 'Disponível';
}
// Limpa o localStorage
localStorage.removeItem('historico');
localStorage.removeItem('cadeirasEstado');
// Atualiza a lista na tela
atualizarHistorico();
});