Crie um App de reserva de assentos para cinema.
Você já reparou como funciona o aplicativo das bilheterias dos cinemas?
Existe um mapa de assentos com as cadeirinhas para clicar e reservar, nesse vídeo vamos aprender a fazer isso com Zoho Creator, vai ser incrível!
CRIE SUA CONTA NA ZOHO:
✅ https://go.zoho.com/ueN
Se precisar dos códigos usados no vídeo, segue abaixo:
OnLoadReserva
hide assentos_selecionados; hide Assentos; input.Date_field = zoho.currentdate;
OnChangeAssentos
if(Assentos.size() > 0) { assentos_reservados = Reserva[Date_field == input.Date_field && Filme == input.Filme].Assentos.getAll(); assentos_disponiveis = assentos_reservados.intersect(input.Assentos); lista_assentos = input.Assentos; lista_assentos.removeall(assentos_disponiveis); if(lista_assentos.isEmpty()) { hide assentos_selecionados; } else { show assentos_selecionados; input.assentos_selecionados = "Assentos selecionados <a>" + lista_assentos + "</a>"; } } else { hide assentos_selecionados; }
OnChangeData e OnChangeFilme
if(input.Date_field >= zoho.currentdate && input.Filme != null) { img_assento_ocupado = "https://leoandrade.net/leoandrade.net/imagens/1.png"; img_assento_livre = "https://leoandrade.net/leoandrade.net/imagens/2.png"; img_assento_selecionado = "https://leoandrade.net/leoandrade.net/imagens/3.png"; hide assentos_selecionados; show Assentos; lista_assentos_reservados = Reserva[Date_field == input.Date_field && Filme == input.Filme].Assentos.getAll(); assentos_reservados_estilo = ""; for each umAssento in lista_assentos_reservados { assentos_reservados_estilo = assentos_reservados_estilo + "input[id$=checkboxesEl_zc-Assentos_" + umAssento + "] + label { background: url('" + img_assento_ocupado + "'); background-repeat:no-repeat;width: 40.0px;background-position: 15.0px 0.0px;} input[id$=checkboxesEl_zc-Assentos_" + umAssento + "]:checked + label {background:url(' " + img_assento_ocupado + "');background-repeat: no-repeat;width: 40.0px; height: 40px; background-position: 15.0px 0.0px;}"; } ultima_linha_assento_estilo = ""; lista_assentos_desc = thisapp.gerar_lista(40,{}); lista_assentos = lista_assentos_desc.sort(true); input.Assentos:ui.add(lista_assentos); fileiras = 4; for each umAssento in lista_assentos { if(umAssento.toLong() == fileiras) { ultima_linha_assento_estilo = ultima_linha_assento_estilo + "input[id$=checkboxesEl_zc-Assentos_" + umAssento + "]+label{margin-right:50px; }"; fileiras = fileiras + 4; } } input.assentos_estilo = "<style> .flLeft .tempContDiv .zc-Checkbox { display:block;} .form-field .tempContDiv .choice-table-row {display:none;}.form-field .tempContDiv .choice-table-cell{ display:block;float:left;padding:0px;} .customCheckbox+label, .customRadio+label{ margin-right:0 px;border:none; background:url('" + img_assento_livre + "');padding: 12px;background-repeat: no-repeat; width:40px; height: 20px; background-position: 15px 0px;} .customCheckbox:checked+label{background:none; border:none; background-image: url('" + img_assento_selecionado + "');background-repeat: no-repeat; width: 40px; height: 20px; background-position: 15px 0px;} .customCheckbox:focus+label, .customRadio:focus+label{ border:none;} .choice-label-text { display:none; } .zc_checkbox:checked + label:after {display: none;} label+label { display:none; }" + assentos_reservados_estilo + " .form-field .tempContDiv { display: table; Width:650px;} " + ultima_linha_assento_estilo + ".form-group label.zc-Assentos-label{display:none;} .choice-table-cell span { padding:5px 0 0 0;} </style>"; } else if(input.Date_field < zoho.currentdate) { Assentos.deselectall(); hide Assentos; show assentos_selecionados; input.assentos_selecionados = "<p style='color:red'>Selecione uma data futura</p>"; } else { Assentos.deselectall(); hide Assentos; show assentos_selecionados; input.assentos_selecionados = "<p style='color:red'>Selecione um filme</p>"; }
You can share this story by using your social accounts:
Comments are closed.