From f8d1373454a95d527242dc7c493c11af868a423b Mon Sep 17 00:00:00 2001 From: Welton Moura Date: Thu, 2 Jan 2025 15:17:06 -0300 Subject: [PATCH] feat: save location mesa_map --- gestaoRaul/db.sqlite3 | Bin 270336 -> 270336 bytes .../mesas/__pycache__/urls.cpython-313.pyc | Bin 414 -> 529 bytes .../mesas/__pycache__/views.cpython-313.pyc | Bin 1097 -> 1533 bytes gestaoRaul/mesas/templates/mesas_map.html | 73 +++--------------- gestaoRaul/mesas/urls.py | 1 + gestaoRaul/mesas/views.py | 9 ++- .../templates/static/mesas/css/mesas.css | 7 +- .../templates/static/mesas/js/mesas_map.js | 70 +++++++++++++++++ 8 files changed, 96 insertions(+), 64 deletions(-) create mode 100644 gestaoRaul/templates/static/mesas/js/mesas_map.js diff --git a/gestaoRaul/db.sqlite3 b/gestaoRaul/db.sqlite3 index a94319331d454872c01f1f8d8ab9c3494801e142..60b004b4ddd20a144d6931c6581c50f6c39669a0 100644 GIT binary patch delta 1165 zcmaiyOH30%7{_d%a~#C&(RkzjN+pKm7{XDR8CW$Cl2nx;%IsH{jA%e8O>yG;P4j`t z(v&Sn&zIKRs204*o2L_(`(@Oh>K^S(Um2sF7c@qC`v$rh8Ay%w46&=jQy*vSr z5kdCkbeazcaDapNU>!#dG6`)gzQsgPe9m=`#Bf^=YT(< zCcDz@QKVYe--3p%h5u0vtQZJO7!gV}Q?iEMg2uYyV`@+$=?qg$%~-)s%iC$L-5MSf zNl`J;iP=!#S)OO>@ko(08R?9e^#xwZ^UB{mF%%*Zg;E)tbp@X0dAc4?bctY0h;G&v zc#`Ld%l~-}W>9P(O+u6~RW@s^D(5+hkDW9VRU(KYs+)VP!8f3BP1rG$uqJD|oZ0dQ ze6Dihb&G?a;7j-r-g4qK0(b4;6X4&W6mrK?(=%0>g%z;Bd5gyRp(wy%cptulS-1;6 zhR2`?TbwW~ixc4zFBgfF|k>%`EXNFKT vgE~WF&f3YYFki$Hk~iQuuDq~g?jnxqMyCkjJO_Wm@3#YOo=l*PUw-im_x}^6 delta 497 zcmYk1%S!@L6o>EiYCgDmMxm0-xP-W?W*jY>2n;uE?C~E=fjyuYQIU291+~nCEHG%{ zzQ=&G)E=uA(WX_c+O#Q(Hnj-qjv2W-zaJmpIcL2ttk;DdKXw#)64-I7b`0W>o*x{G zcSZW8aK9`vDW*gtiX0t~6K{&^_r* zum(vI7Z1uzuO3gnkq`t*_9HxGOda8UcTp84N`Yhi#QQ|aeu9&_M}2i0i5fl^NXX_Z z*>8C_BV1Vx-yMGL=JpDLN4SIvx9@?qmyF|L`LNr#_{Q;R-ve@j*8(bd;Rfn(1{K(Y zZHRI0r+Y1Eu_6DMGnvZHGBLcIn$IaL923*4qb#ST`7D}q$jPa3$1gRKSz1^$u?97# z<#O7J!elcAv1w~^(yvX5{M)34ZM2U%IEOg5X0DAGp)Fh+S+L9ua uw2(4FDAJ&{WQXa&$!48`t~lNb%;Z?bS);56Bgdfm+9qM65ux{EAv PAJ{qgnHsr^_<*Vag!eRC delta 99 zcmbQpGLKpPGcPX}0}!yjEK1)7q#uJgFu)FFd`_9Dp2(rkRK%9fsmV2QlOwaACi`T4 jMzzUNjB#B2Kvj%DTx>G=5TgOl2Ud1|rbg}}UZ4;FpkNY3 diff --git a/gestaoRaul/mesas/__pycache__/views.cpython-313.pyc b/gestaoRaul/mesas/__pycache__/views.cpython-313.pyc index 363a857f8b6ed854241aa51c019d7d50a2053886..c5c23337b13a03f0ebdef3486112472c180d137f 100644 GIT binary patch delta 689 zcmX|8L2DC16rQ)U*=({&yi^S)lxS;lixdw^u?7#~!E9&|mw?dIk{x1dvKwbM!CP7> zh$js}%+af7e}xAj(Sv2Ecoc8a;8F0+)bzo8yzkAM$M?PYWdC&v^L#!_FeYCHtBB7iOfAnlHMaGdT}I}3o_@4I9l-0vv-glXW$BC#@C^q&EOQSAoKA6 z7-03MvHUQts!BL_6i@`$;yIO{N088#uqVxS!n*pgu&`Ru!SkxY?gqVWCIZ1rNDJcz z?UxFeHPxs^n3yO&e=&Nqd7%M5+=hrgUg?}QHR$-cQ65&vuF|2yH+*^nZow&AC9b)H z9*uS=Es+FCUq~Z zj&`#vbBou?6Tga=MLc2?VV@j3=U!J|Rlhl3D-oYu0@jYHNEr;hZ0 zshw&SABdjwf9F+f?048*zK-{5L1G2rHwAznWNSvYzLV8I7J=mx+kiVKSsOP#Uoyd3 H*Hiuhxig;C delta 325 zcmXYr%}T>S5XX0Rlg*l@y$Ir0rFaVzU%-zCNKk}ad$5?LL>iUZ_8~l$AU=Ty&&7xE z753suiZ`(bPl7YSf&DS_-~W94cHT^H-R;JLBL8udm0a|;^C4A_q7Vh-A_Ig>q8xB7 zbCm@cP_A|bhDAWslQ7kvJRp@`qrELHdV{vC&|c3L&rc9Gr*H^Sa|L-Ekq;Ts@)azQ zx~C2<{ynPiN;`Gf?rTqB`-?#K{!cm~&wOgnuumG$b6bQj1px12_#yh=M#Awr JHc&v@_XoX7MB4xW diff --git a/gestaoRaul/mesas/templates/mesas_map.html b/gestaoRaul/mesas/templates/mesas_map.html index ffcdae0..7b73e33 100644 --- a/gestaoRaul/mesas/templates/mesas_map.html +++ b/gestaoRaul/mesas/templates/mesas_map.html @@ -4,6 +4,8 @@ {% block 'head' %} + + {% endblock %} {% block 'title' %} @@ -12,84 +14,31 @@ RRB&C - Mapa de Mesas {% block 'body' %} - - - - - - - -
+
{% for eixo in eixosXY %}
+ top: {{eixo.x}}px;position: absolute"> +
{% endfor %} +
{% for mesa in mesas %} {% if mesa.active == True %} -
{{mesa.name}}
+
{{mesa.name}}
{% else %} -
{{mesa.name}}
+
{{mesa.name}}
{% endif %} {% endfor %} - - - {% endblock %} \ No newline at end of file diff --git a/gestaoRaul/mesas/urls.py b/gestaoRaul/mesas/urls.py index 25ffc3b..4367fef 100644 --- a/gestaoRaul/mesas/urls.py +++ b/gestaoRaul/mesas/urls.py @@ -5,6 +5,7 @@ from . import views urlpatterns = [ path('', views.mesas, name='mesas'), path('mapMesas/', views.mapMesas, name='mapMesas'), + path('locationMesa///', views.locationMesa, name='locationMesa'), diff --git a/gestaoRaul/mesas/views.py b/gestaoRaul/mesas/views.py index 9322ec0..3e61760 100644 --- a/gestaoRaul/mesas/views.py +++ b/gestaoRaul/mesas/views.py @@ -1,4 +1,6 @@ -from django.shortcuts import render,redirect +from django.shortcuts import render,redirect, HttpResponse +from django.http import JsonResponse + from mesas.models import Mesa @@ -19,6 +21,11 @@ def mapMesas(request): mesas = Mesa.objects.all() return render(request, 'mesas_map.html', {'mesas': mesas, 'eixosXY': eixosXY}) +def locationMesa(request, mesaId, location): + mesa = Mesa.objects.get(id=mesaId) + mesa.location = location + mesa.save() + return JsonResponse({'status': 'ok'}) # def onOffmesa(request): # id = request.POST.get('id-mesa') # mesa_id = int(id) diff --git a/gestaoRaul/templates/static/mesas/css/mesas.css b/gestaoRaul/templates/static/mesas/css/mesas.css index fa78942..fde5acc 100644 --- a/gestaoRaul/templates/static/mesas/css/mesas.css +++ b/gestaoRaul/templates/static/mesas/css/mesas.css @@ -27,7 +27,7 @@ box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2); text-align: center; line-height: 50px; /* Centraliza o texto verticalmente */ - font-size: 20px; + font-size: 10px; font-weight: bold; color: #333; /* position: absolute; */ @@ -54,4 +54,9 @@ .elemento { position: absolute; +} + +.espaco { + border: 0.3px solid #cccccc56; + padding: 0px; } \ No newline at end of file diff --git a/gestaoRaul/templates/static/mesas/js/mesas_map.js b/gestaoRaul/templates/static/mesas/js/mesas_map.js new file mode 100644 index 0000000..e56481b --- /dev/null +++ b/gestaoRaul/templates/static/mesas/js/mesas_map.js @@ -0,0 +1,70 @@ +document.addEventListener('dragstart', (e) => { + e.target.classList.add('dragging'); +}); + +document.addEventListener('dragover', (e) => { + e.preventDefault(); + const target = e.target; + if (target.classList.contains('column')) { + target.style.backgroundColor = ''; + } +}); + +document.addEventListener('dragend', (e) => { + e.target.classList.remove('dragging'); + document.querySelectorAll('.column').forEach(column => { + column.style.backgroundColor = ''; + }); +}); + +document.addEventListener('drop', (e) => { + e.preventDefault(); + const draggable = document.querySelector('.dragging'); + e.target.appendChild(draggable); +}); +function manipularCards() { + const cards = document.querySelectorAll('.m-card'); + + cards.forEach(card => { + const input = card.querySelector('input'); + const inputValue = input.value; + const targetElement = document.getElementById(inputValue); + + if (targetElement) { + targetElement.appendChild(card); + } else { + console.error(`Elemento com ID ${inputValue} não encontrado.`); + } + }); +} + +function saveLocal() { + const draggedElement = event.dataTransfer.getData('text/plain'); + +const mesaElement = event.target; +const targetElement = event.target.parentNode; +const mesaId = mesaElement.id + +const targetId = targetElement.id; +const url = `/mesas/locationMesa/${mesaId}/${targetId}/`; +var resposta = fetch(url, {method: 'GET', headers: {'Content-Type': 'application/json' + },}).then(response => response.json()) + .then(data => { + console.log(data); + if(data.status == 'ok'){ + alert('Mesa movida com sucesso!') + } + }) + .catch(error => { + console.error('Erro ao salvar local:', error); + }); + +} + +setTimeout(function() { + manipularCards();}, 1); + + setTimeout() + + +